	var checked_ary = new Array();
	
	checked_ary["bday_day"] 	= false;
	checked_ary["bday_month"] 	= false;	
	checked_ary["bday_year"] 	= false;
	
	checked_ary["country"] 		= false;
	checked_ary["region"] 		= false;	
	checked_ary["city"] 		= false;
	
	
	
	//show loading img
	function loadingImg(targetdiv)
	{
		$(targetdiv).update(' <img src="/images/loaders/ajax-loader_snake.gif" alt="loading..." />');
		new Ajax.Updater($(targetdiv));
	}
	
	
	//help function to let php like code work...
	function empty(input)
	{
		return (input == '') ? true : false;
	}
	
	//help function 	
	function inArray(value)
	{
		for (i=0; i < checked_ary.length; i++) 
		{	
			if (this[i] == value) 
			{
				return true;
			}
		}
		return false;
	}
	
	function fieldCheckedOne(targetdiv, fieldname, value)//checks only one field
	{
		String(fieldname);
		
		if(value == '')
		{	$(targetdiv).update(' <img src="/images/icon_oknot.gif" alt="invalid"' + 'id="' + targetdiv + '_img" />'+ ERROR_NO_VALUE);
			return;
		}
		
		$(targetdiv).update(' <img src="/images/icon_ok.gif" alt="valid"' + 'id="' + targetdiv + '_img" /> ');
		return;
	}
	
	
	
	function fieldChecked(targetdiv, fieldname, value)//checks combination of fields, works with checked_ary declared above
	{
		String(fieldname);

		if(value == '' || value == '0')
		{	checked_ary[fieldname] = false;
			//$(targetdiv).update('');
			$(targetdiv).update(' <img src="/images/icon_oknot.gif" alt="invalid"' + 'id="' + targetdiv + '_img" /> ' + ERROR_INCOMPLETE);
			return;
		}
		else
		{	checked_ary[fieldname] = true;
		}
		
		if(fieldname == 'country')
		{ 	
			if ($('validate_zipcode').value) {
				validateZipcode('validate_zipcode', $('zipcode').value);
			}

			checked_ary['region'] = false;
			checked_ary['city'] = false;

			//$(targetdiv).update('');
			$(targetdiv).update(' <img src="/images/icon_oknot.gif" alt="invalid"' + 'id="' + targetdiv + '_img" /> ' + ERROR_INCOMPLETE);
			
			return;
		}
		
		if(fieldname == 'region')
		{ 	checked_ary['city'] = false;
			
			//$(targetdiv).update('');
			$(targetdiv).update(' <img src="/images/icon_oknot.gif" alt="invalid"' + 'id="' + targetdiv + '_img" /> '+ ERROR_INCOMPLETE);			
			
			return;
		}
				
		if(fieldname == 'city' )
		{
			if (checked_ary['country'] == true && checked_ary['region'] == true && checked_ary['city'] == true )
			{
				$(targetdiv).update(' <img src="/images/icon_ok.gif" alt="valid"' + 'id="' + targetdiv + '_img" /> ');
				return;
			}
			else 
			{
				//$(targetdiv).update('');
				$(targetdiv).update(' <img src="/images/icon_oknot.gif" alt="invalid"' + 'id="' + targetdiv + '_img" /> '+ ERROR_INCOMPLETE);
				return;
			}

		}
		else if(fieldname == 'bday_day' || 'bday_month' || 'bday_year' )
		{ 
			if (checked_ary['bday_day'] == true && checked_ary['bday_month'] == true && checked_ary['bday_year'] == true )
			{
				$(targetdiv).update(' <img src="/images/icon_ok.gif" alt="valid"' + 'id="' + targetdiv + '_img" /> ');
				return;
			}
			else 
			{
				//$(targetdiv).update('');
				$(targetdiv).update(' <img src="/images/icon_oknot.gif" alt="invalid"' + 'id="' + targetdiv + '_img" />'+ ERROR_INCOMPLETE);				
				return;
			}

		}

	}
	
	
	function validateMatch(inputvar, targetdiv, matchvar)
	{
		if(inputvar == '')
		{	$(targetdiv).update(' <img src="/images/icon_oknot.gif" alt="invalid"' + 'id="' + targetdiv + '_img" />' + ERROR_NO_VALUE);
			return;
		}
		
		if (inputvar == matchvar)
		{	$(targetdiv).update(' <img src="/images/icon_ok.gif" alt="valid"' + 'id="' + targetdiv + '_img" /> ');
			return; 
		}
		else
		{
			$(targetdiv).update(' <img src="/images/icon_oknot.gif" alt="invalid"' + 'id="' + targetdiv + '_img" />' + ERROR_NOT_EQUAL);
			return; 
		}
	}
	
	
	/**
	* Validate Number
	*/
	function validateNum(num, targetdiv, minimum, maximum)
	{
		
		var numcheck= /^(([1-9]{1}[0-9]{0,1})?)([0-9]{1})(\.[0-9])?(\,[0-9])?$/;		
		var isnum = numcheck.test(num);

		if (empty(num))
		{	$(targetdiv).update(' <img src="/images/icon_oknot.gif" alt="invalid"' + 'id="' + targetdiv + '_img" />'+ ERROR_NO_VALUE);
			return;
		}
		
		if (isnum){
			if (num < minimum)
			{	$(targetdiv).update(' <img src="/images/icon_oknot.gif" alt="invalid"' + 'id="' + targetdiv + '_img" /> ' + ERROR_HIGHER_NUMBER);
				return;
			}
			else if (num > maximum)
			{	$(targetdiv).update(' <img src="/images/icon_oknot.gif" alt="invalid"' + 'id="' + targetdiv + '_img" /> ' + ERROR_LOWER_NUMBER);
				return;
			}
			
			$(targetdiv).update(' <img src="/images/icon_ok.gif" alt="valid"' + 'id="' + targetdiv + '_img" />');		
			return;
		}
		$(targetdiv).update(' <img src="/images/icon_oknot.gif" alt="invalid"' + 'id="' + targetdiv + '_img" />' + ERROR_INVALID_VALUE);
	}
	
		
	/**
	* Validate String
	*/
	function validateString(string, targetdiv, minimum, maximum, nodigitsallowed)
	{
		if (empty(string))
		{	
			if(targetdiv == 'validate_screenname')
			{
				$(targetdiv).update('');
			} 
			else{
				$(targetdiv).update(' <img src="/images/icon_oknot.gif" alt="invalid"' + 'id="' + targetdiv + '_img" /> '+ ERROR_NO_VALUE);
			}
			return;
		}
		
		//if password changes, check if the matched password still matches
		if(targetdiv == 'validate_new_password')
		{
			if ($('password_confirm').value) {
				validateMatch($('password_confirm').value, 'validate_password_confirm', $('new_password').value);
			}
		}
		
		var reg = /^[a-zA-Z]+([a-zA-Z]+( )?)+([a-zA-Z]+(-)?)*$/;			

		/* old code, distinction made between first and last names
		if(targetdiv == 'validate_lastname')
		{
			var reg = /^[a-zA-Z]+([a-zA-Z]+( )?)*$/;
		} 
		else 
		{
			var reg = /^[a-zA-Z]+$/;
		}
		*/
		
		var hasnodigits;

		if (nodigitsallowed)
		{	hasnodigits = reg.test(string);
			
			if (!hasnodigits)
			{	
				$(targetdiv).update(' <img src="/images/icon_oknot.gif" alt="invalid"' + 'id="' + targetdiv + '_img" /> ' + ERROR_WRONG_INPUT);
				return;
			}
		}

		if (string.length < minimum)
		{	$(targetdiv).update(' <img src="/images/icon_oknot.gif" alt="invalid"' + 'id="' + targetdiv + '_img" />' + ERROR_TOO_FEW_CHARS);
			return;
		}
		else if (string.length > maximum)
		{	$(targetdiv).update(' <img src="/images/icon_oknot.gif" alt="invalid"' + 'id="' + targetdiv + '_img" /> ' + ERROR_TOO_MANY_CHARS);
			return;
		}
		
		$(targetdiv).update(' <img src="/images/icon_ok.gif" alt="valid"' + 'id="' + targetdiv + '_img" /> ');
		return;
	}

	
	function validatecity(targetdiv)
	{
		if(document.getElementById("city").value=='')
		{
		$(targetdiv).update(' <img src="/images/icon_oknot.gif" alt="invalid"' + 'id="' + targetdiv + '_img" />');
		return;
		}
		else
		{
		$(targetdiv).update(' <img src="/images/icon_ok.gif" alt="valid"' + 'id="' + targetdiv + '_img" /> ');
		return;
		}
	}
	

	/**
	* Validate Zipcode
	*/
	function validateZipcode(targetdiv, input)
	{
		if (empty(input))
		{	$(targetdiv).update('');
			return;
		}
		
		var zipcheck;
		
		if ($('country').value=='NL'){
			zipcheck = /^\W*[1-9]{1}[0-9]{3}\W*[a-zA-Z]{2}\W*$/;
		}else if ($('country').value=='BE'){
			zipcheck = /^[1-9]{1}[0-9]{3}$/;
		}else if($('country').value==''){
			$(targetdiv).update(' <img src="/images/icon_oknot.gif" alt="invalid"' + 'id="' + targetdiv + '_img" />' + ERROR_CHOOSE_LOCATION);
		}
		
		var correct = zipcheck.test(input);
		
		if(correct)
		{	$(targetdiv).update(' <img src="/images/icon_ok.gif" alt="valid"' + 'id="' + targetdiv + '_img" /> ');
			return;
		}
		else
		{	$(targetdiv).update(' <img src="/images/icon_oknot.gif" alt="invalid"' + 'id="' + targetdiv + '_img" />' + ERROR_WRONG_ZIPCODE);
			return;
		}
	}

	function validateAgreement(targetdiv, input)
	{
		
		if(input)
		{	$(targetdiv).update(' <img src="/images/icon_ok.gif" alt="valid"' + 'id="' + targetdiv + '_img" /> ');
			return;
		}
		else
		{	$(targetdiv).update(' <img src="/images/icon_oknot.gif" alt="invalid"' + 'id="' + targetdiv + '_img" /> ' + ERROR_ACCEPT_TERMS);
			return;
		}
	}

	function validateField(targetdiv, url)
	{	
		
		$(targetdiv).update(' <img src="/images/loaders/ajax-loader_snake.gif" alt="loading..." />');
		new Ajax.Updater($(targetdiv), url);	
			
	}
	
	
	//function not used, since it generates errors
	/*
	function checkAllFields()
	{
		var returnValue = true;
		
		
		var field_ary = new Array();
		field_ary[0] 	= 'surname';
		field_ary[1] 	= 'lastname';
		field_ary[2] 	= 'screenname';
		field_ary[3] 	= 'username';	
		field_ary[4] 	= 'email';
		field_ary[5] 	= 'email_confirm';		
		field_ary[6] 	= 'new_password';
		field_ary[7] 	= 'password_confirm';
		field_ary[8] 	= 'lang';
		field_ary[9] 	= 'tz';
		field_ary[10] 	= 'length';	
		field_ary[11] 	= 'weight';
		field_ary[12] 	= 'bday';
		field_ary[13] 	= 'bday_day';
		field_ary[14] 	= 'bday_month';
		field_ary[15] 	= 'bday_year';		
		field_ary[16] 	= 'gender';
		field_ary[17] 	= 'location';
		field_ary[18] 	= 'country';
		field_ary[19] 	= 'region';
		field_ary[20] 	= 'city';		
		field_ary[21] 	= 'zipcode';

		
		for (var i=0; i < field_ary.length ; i++)
		{
			
			if($(field_ary[i]))
			{
			    $(field_ary[i]).focus();
				$(field_ary[i]).blur();
			}
			
			if (field_ary[i] == 'location' || field_ary[i] == 'bday' )
			{
				if ($('validate_' + field_ary[i]).innerHTML == '')
				{
					$('validate_' + field_ary[i]).innerHTML = '<img src="/images/icon_oknot.gif" alt="invalid"' + 'id="' + 'validate_' + field_ary[i] + '_img" /> Incompleet';
					returnValue = false;
				}
			}
			
		}

		return returnValue;

	}
	*/
	
