var goodpic = '<img src="graphics/good.png" style="width:16px;height:16px;" />';
var badpic = '<img src="graphics/bad.png" style="width:16px;height:16px;" />';

function checkgender()
{
	var currentgender = document.getElementById('gender').value;
	if(currentgender == 'man' || currentgender == 'woman' || currentgender == 'couple_man_and_woman' || currentgender == 'couple_2_man' || currentgender == 'couple_2_woman' || currentgender == 'group' || currentgender == 'ts_tv_tg')
	{document.getElementById('rezu_gender').innerHTML = goodpic;}
	else
	{document.getElementById('rezu_gender').innerHTML = badpic;}


	if(currentgender == 'couple_man_and_woman' || currentgender == 'couple_2_man' || currentgender == 'couple_2_woman' || currentgender == 'group')
	{
		document.getElementById('age_header').innerHTML = "the birthdate of the youngest partner or member is:";
		document.getElementById('age_diff_div').style.display = "inline";
	}
	else
	{
		document.getElementById('age_header').innerHTML = "my birth date is:";
		document.getElementById('age_diff_div').style.display = "none";
	}



}

function checkbd_d()
{
	var currentbd_d = document.getElementById('bd_d').value;
	if(currentbd_d == '?')
	{document.getElementById('rezu_bd_d').innerHTML = badpic;}
	else
	{document.getElementById('rezu_bd_d').innerHTML = goodpic;}	
}
function checkbd_m()
{
	var currentbd_m = document.getElementById('bd_m').value;
	if(currentbd_m == '?')
	{document.getElementById('rezu_bd_m').innerHTML = badpic;}
	else
	{document.getElementById('rezu_bd_m').innerHTML = goodpic;}	
}
function checkbd_y()
{var t=setTimeout(exec_checkbd_y,10);}
function exec_checkbd_y()
{
	var currentbd_y = document.getElementById('bd_y').value;
	if(currentbd_y < 2010 && currentbd_y > 1800)
	{document.getElementById('rezu_bd_y').innerHTML = goodpic;}
	else
	{document.getElementById('rezu_bd_y').innerHTML = badpic;}	
}
function checkwant()
{
	var want_man = document.getElementById('want_man').checked;
	var want_woman = document.getElementById('want_woman').checked;
	var want_couple_man_and_woman = document.getElementById('want_couple_man_and_woman').checked;
	var want_couple_2_man = document.getElementById('want_couple_2_man').checked;
	var want_couple_2_woman = document.getElementById('want_couple_2_woman').checked;
	var want_group = document.getElementById('want_group').checked;
	var want_ts_tv_tg = document.getElementById('want_ts_tv_tg').checked;
	if(want_man == false && want_woman == false && want_couple_man_and_woman == false && want_couple_2_man == false && want_couple_2_woman == false && want_group == false && want_ts_tv_tg == false)
	{document.getElementById('rezu_want').innerHTML = badpic;}
	else
	{document.getElementById('rezu_want').innerHTML = goodpic;}	
}
function checkscreen_name()
{var t=setTimeout(exec_checkscreen_name,10);}
function exec_checkscreen_name()
{
	var screen_name = document.getElementById('screen_name').value;
	var screen_name_length = screen_name.length;
	if(screen_name_length<2)
	{document.getElementById('rezu_screen_name').innerHTML = badpic + " too short";}
	else
	{
		//ajax check if screen_name is available!!
		checkname(screen_name);
	}
}


var nameisavailable = "ok";
function checkname(name)
{
	var urlz = "xmlcheckname?name=" + name;
	loadXMLDoccheckname(urlz);
}
var reqcheckname;
function loadXMLDoccheckname(url)
{
	if (window.XMLHttpRequest)
	{
		// branch for native XMLHttpRequest object
		reqcheckname = new XMLHttpRequest();
		reqcheckname.onreadystatechange = processReqcheckname;
		reqcheckname.open("GET", url, true);
		reqcheckname.send(null);
	}
	else if (window.ActiveXObject)
	{
		// branch for IE/Windows ActiveX version
		reqcheckname = new ActiveXObject("Microsoft.XMLHTTP");
		if (reqcheckname)
		{
			reqcheckname.onreadystatechange = processReqcheckname;
			reqcheckname.open("GET", url, true);
			reqcheckname.send();
		}
	}
}
function processReqcheckname() 
{
	if (reqcheckname.readyState == 4)
	{
		if (reqcheckname.status == 200)
		{
			var response = reqcheckname.responseXML.documentElement;
			var result = response.getElementsByTagName("result")[0].firstChild.data;
			if(result=='ok')
			{
				document.getElementById('rezu_screen_name').innerHTML = goodpic;
				nameisavailable = "ok";
			}
			else if(result=='taken')
			{
				document.getElementById('rezu_screen_name').innerHTML = badpic + " this name is already taken";
				nameisavailable = "no";
			}
			else
			{
				document.getElementById('rezu_screen_name').innerHTML = '';
				nameisavailable = "no";
			}
		}
		else
		{
			alert("There was a problem retrieving the XML data:\n" + reqcheckname.statusText);
		}
	}
}
function checkabout_me()
{var t=setTimeout(exec_checkabout_me,10);}
function exec_checkabout_me()
{
	var about_me = document.getElementById('about_me').value;
	var about_me_length = about_me.length;
	if(about_me_length<10)
	{document.getElementById('rezu_about_me').innerHTML = badpic + " too short";}
	else
	{document.getElementById('rezu_about_me').innerHTML = goodpic;}
}

var recheckison = 0;
function startconstant_recheck_ofemail()
{
	if(recheckison == 0)
	{
		recheckison = 1;
		var t=setTimeout(recheckemailallthetime,3000);
	}
}
function recheckemailallthetime()
{
	checkemail();
	var t=setTimeout(recheckemailallthetime,3000);
}

function checkemail()
{var t=setTimeout(exec_checkemail,10);}
function exec_checkemail()
{
	var zemail = document.getElementById('email').value;
	if(echeck(zemail) == false)
	{document.getElementById('rezu_email').innerHTML = badpic + " invalid email";}
	else
	{
		//ajax check if email is available!!
		jaxcheckemail(zemail);
	}
}

function jaxcheckemail(zemail)
{
	var urlz = "xmlcheckemail?email=" + zemail;
	loadXMLDoccheckemail(urlz);
}
var reqcheckemail;
function loadXMLDoccheckemail(url)
{
	if (window.XMLHttpRequest)
	{
		// branch for native XMLHttpRequest object
		reqcheckemail = new XMLHttpRequest();
		reqcheckemail.onreadystatechange = processReqcheckemail;
		reqcheckemail.open("GET", url, true);
		reqcheckemail.send(null);
	}
	else if (window.ActiveXObject)
	{
		// branch for IE/Windows ActiveX version
		reqcheckemail = new ActiveXObject("Microsoft.XMLHTTP");
		if (reqcheckemail)
		{
			reqcheckemail.onreadystatechange = processReqcheckemail;
			reqcheckemail.open("GET", url, true);
			reqcheckemail.send();
		}
	}
}
function processReqcheckemail() 
{
	if (reqcheckemail.readyState == 4)
	{
		if (reqcheckemail.status == 200)
		{
			var response = reqcheckemail.responseXML.documentElement;
			var result = response.getElementsByTagName("result")[0].firstChild.data;
			if(result=='ok')
			{document.getElementById('rezu_email').innerHTML = goodpic;}
			else if(result=='taken')
			{document.getElementById('rezu_email').innerHTML = badpic + " this email is already registered";}
			else
			{document.getElementById('rezu_email').innerHTML = '';}
		}
		else
		{
			alert("There was a problem retrieving the XML data:\n" + reqcheckemail.statusText);
		}
	}
}


function checkpassword()
{var t=setTimeout(exec_checkpassword,10);}
function exec_checkpassword()
{
	var zpassword = document.getElementById('password').value;
	var zpassword_length = zpassword.length;
	if(zpassword_length<6)
	{document.getElementById('rezu_password').innerHTML = badpic + " too short";}
	else
	{
		//check password for badchars
		
		var gotabadchar = 0;

		var arrValidChars=new Array("a", "b", "c", "d", "e", "f", "g", "h", "i", "j", "k", "l", "m", "n", "o", "p", "q", "r", "s", "t", "u", "v", "w", "x", "y", "z", "A", "B", "C", "D", "E", "F", "G", "H", "I", "J", "K", "L", "M", "N", "O", "P", "Q", "R", "S", "T", "U", "V", "W", "X", "Y", "Z", "0", "1", "2", "3", "4", "5", "6", "7", "8", "9", "_");
		var arracyofcharsinnewpassword = zpassword.split("");
		for(x in arracyofcharsinnewpassword)
		{
			var thechar = arracyofcharsinnewpassword[x];
			var thischarisinthearrayofgoodchars = 0;
			for(xu in arrValidChars)
			{
				var thevalidchar = arrValidChars[xu];
				if(thechar == thevalidchar)
				{thischarisinthearrayofgoodchars = 1;}
			}
			if(thischarisinthearrayofgoodchars == 0)
			{
				gotabadchar = 1;
				if(thechar == ' ')
				{document.getElementById('rezu_password').innerHTML = badpic + " the password cannot contain any spaces";}
				else
				{document.getElementById('rezu_password').innerHTML = badpic + 'the password cannot contain the character "<span style="color:blue;">' + thechar + '</span>"';}
			}
		}


		if(gotabadchar == 0)
		{document.getElementById('rezu_password').innerHTML = goodpic;}



	}
}


function checkretype_password()
{var t=setTimeout(exec_checkretype_password,10);}
function exec_checkretype_password()
{
	var zpassword = document.getElementById('password').value;
	var retype_password = document.getElementById('retype_password').value;
	if(zpassword == retype_password)
	{document.getElementById('rezu_retype_password').innerHTML = goodpic;}
	else
	{document.getElementById('rezu_retype_password').innerHTML = badpic;}
}


function checkimver()
{var t=setTimeout(exec_checkimver,10);}
function exec_checkimver()
{
	var numba = document.getElementById('numba').value;
	if(numba == '')
	{document.getElementById('rezu_imver').innerHTML = badpic;}
	else
	{
		var urlz = "xmlcheckimver?numba=" + numba;
		loadXMLDoccheckimver(urlz);
	}
}
var reqcheckimver;
function loadXMLDoccheckimver(url)
{
	if (window.XMLHttpRequest)
	{
		// branch for native XMLHttpRequest object
		reqcheckimver = new XMLHttpRequest();
		reqcheckimver.onreadystatechange = processReqcheckimver;
		reqcheckimver.open("GET", url, true);
		reqcheckimver.send(null);
	}
	else if (window.ActiveXObject)
	{
		// branch for IE/Windows ActiveX version
		reqcheckimver = new ActiveXObject("Microsoft.XMLHTTP");
		if (reqcheckimver)
		{
			reqcheckimver.onreadystatechange = processReqcheckimver;
			reqcheckimver.open("GET", url, true);
			reqcheckimver.send();
		}
	}
}
function processReqcheckimver() 
{
	if (reqcheckimver.readyState == 4)
	{
		if (reqcheckimver.status == 200)
		{
			var response = reqcheckimver.responseXML.documentElement;
			var result = response.getElementsByTagName("result")[0].firstChild.data;
			if(result=='ok')
			{document.getElementById('rezu_imver').innerHTML = goodpic;}
			else if(result=='bad')
			{document.getElementById('rezu_imver').innerHTML = badpic;}
			else
			{document.getElementById('rezu_imver').innerHTML = '';}
		}
		else
		{
			alert("There was a problem retrieving the XML data:\n" + reqcheckimver.statusText);
		}
	}
}


/**
 * DHTML email validation script. Courtesy of SmartWebby.com (http://www.smartwebby.com/dhtml/)
 */
function echeck(str) {

		var at="@"
		var dot="."
		var lat=str.indexOf(at)
		var lstr=str.length
		var ldot=str.indexOf(dot)
		if (str.indexOf(at)==-1){
		   return false
		}

		if (str.indexOf(at)==-1 || str.indexOf(at)==0 || str.indexOf(at)==lstr){
		   return false
		}

		if (str.indexOf(dot)==-1 || str.indexOf(dot)==0 || str.indexOf(dot)==lstr){
		    return false
		}

		 if (str.indexOf(at,(lat+1))!=-1){
		    return false
		 }

		 if (str.substring(lat-1,lat)==dot || str.substring(lat+1,lat+2)==dot){
		    return false
		 }

		 if (str.indexOf(dot,(lat+2))==-1){
		    return false
		 }
		
		 if (str.indexOf(" ")!=-1){
		    return false
		 }

 		 return true					
	}





