function disable_fields(selectedField)
{
	var selected=ge(selectedField);
	if(selected.value==0)
	{
		$('demographics_income').disabled=false;
		$('demographics_age').disabled=false;
		$('demographics_gender').disabled=false;
		$('demographics_country').disabled=false;
	}
	else
	{
		$('demographics_income').disabled=(selectedField != 'demographics_income');
		$('demographics_age').disabled=(selectedField != 'demographics_age');
		$('demographics_gender').disabled=(selectedField != 'demographics_gender');
		$('demographics_country').disabled=(selectedField != 'demographics_country');
	}
		
	return true;
}

function expand_answers_a()
{
	var a1=ge("answer_1");
	var a2=ge("answer_2");
	var a3=ge("answer_3");
	var a4=ge("answer_4");
	var a5=ge("answer_5");
	
	if(a1 != null && a1.value!='')
	{
		show(ge("answerrow_2"));
		if(a2 != null && a2.value!='')
		{
			show(ge("answerrow_3"));
			if(a3 != null && a3.value!='')
			{
				show(ge("answerrow_4"));
				if(a4 != null && a4.value!='')
				{
					show(ge("answerrow_5"));
				}
			}
		}
	}
}

function show()
{
	for(var i=0;i<arguments.length;i++)
	{
		var element=ge(arguments[i]);
		if(element&&element.style)element.style.display='';
	}

	return false;
}	

function ge(id)
{
	if(typeof(id)=='undefined')
	{
		Util.error('Tried to get an undefined element!');
		return null;
	}

	var obj;
	if(typeof(id)=='string')
	{
		obj=document.getElementById(id);
		
		if(!(ua.ie()>=7))
		{
			return obj;
		}

		if(!obj)
		{
			return null;
		}
		else if(typeof(obj.id)=='string'&&obj.id==id)
		{
			return obj;
		}
		else
		{
			var candidates=document.getElementsByName(id);
			if(!candidates||!candidates.length)
			{
				return null;
			}

			var maybe=[];
			for(var ii=0;ii<candidates.length;ii++)
			{
				var c=candidates[ii];
				if(!c.id&&id)
				{
					continue;
				}
				
				if(typeof(c.id)=='string'&&c.id!=id)
				{
					continue;
				}

				maybe.push(candidates[ii]);
			}

			if(maybe.length!=1)
			{
				Util.error('ge() failed in a bizarre complicated edge case. Check comments.');
				return null;
			}

			return maybe[0];
		}
	}
	else
	{
		return id;
	}

	return null;
}	

var ua={
	ie:function(){return this._ie;},
	firefox:function(){return this._firefox;},
	opera:function(){return this._opera;},
	safari:function(){return this._safari;},
	windows:function(){return this._windows;},
	osx:function(){return this._osx;},
	populate:function()
	{
		var agent=/(?:MSIE.(\d+\.\d+))|(?:(?:Firefox|GranParadiso).(\d+\.\d+))|(?:Opera.(\d+\.\d+))|(?:AppleWebKit.(\d+(?:\.\d+)?))/.exec(navigator.userAgent);
		var os=/(Mac OS X;)|(Windows;)/.exec(navigator.userAgent);
		if(agent)
		{
			ua._ie=agent[1]?parseFloat(agent[1]):NaN;
			ua._firefox=agent[2]?parseFloat(agent[2]):NaN;
			ua._opera=agent[3]?parseFloat(agent[3]):NaN;
			ua._safari=agent[4]?parseFloat(agent[4]):NaN;
		}
		else
		{
			ua._ie=ua._firefox=ua._opera=ua._safari=NaN;
		}

		if(os)
		{
			ua._osx=!!os[1];
			ua._windows=!!os[2];
		}
		else
		{
			ua._osx=ua._windows=false;
		}
	},
	adjustBehaviors:function()
	{
		onloadRegister(addSafariLabelSupport);
		if(ua.ie()<7)
		{
			try
			{
				document.execCommand('BackgroundImageCache',false,true);
			}
			catch(ignored){}
		}
	}
};

function default_text(defaultText)
{
	var element=ge("poll_question");
	if(element.value==defaultText)
	{
		element.value="";
	}
	else if(element.value=="")
	{
		element.value=defaultText;
	}
}
