// JavaScript Document

var myRegxp = /^([a-zA-Z0-9_-]+)$/; 

var myRegxp_email = /^.+\@.+\..+$/;

var myRegxp_city = /^([\sa-zA-Z0-9_-]+)$/; 

var valid={"user_id": false, "pw1": false, "pw2": false, "user_firstname": false, "user_lastname": false, "user_email": false, "user_city": false, "user_country": false, "user_state": false, "user_dob": false, "tos_accepted": false, "privacy_accepted": false}



function validate_all(){

	validate(document.forms[0].user_id, 3, 16);

	validate(document.forms[0].pw1, 6, 32);

	validate_pass(document.forms[0].pw2);

	validate(document.forms[0].user_firstname, 2, 32);

	validate(document.forms[0].user_lastname, 2, 32);

	validate_email(document.forms[0].user_email);

	validate_city(document.forms[0].user_city);

	validate_country(document.forms[0].user_country);

	validate_state(document.forms[0].user_state);

	validate_dob();

	validate_privacy();

	//validate_tos();

}





function validate(input, mini, maxi){

	if (input.value.length>=mini && input.value.length<=maxi && myRegxp.test(input.value)){

		document.getElementById('valid_'+input.name).innerHTML="<img src=\"log_inc2/img/valid.jpg\" />";

		valid[input.name]=true;

	}

	else{

		document.getElementById('valid_'+input.name).innerHTML="<img src=\"log_inc2/img/invalid.jpg\" />";

		valid[input.name]=false;

	}

}



function validate_pass(input){

	if (input.value==document.forms[0].pw1.value && input.value.length>=6){

		document.getElementById('valid_'+input.name).innerHTML="<img src=\"log_inc2/img/valid.jpg\" />";

		valid[input.name]=true;

	}

	else{

		document.getElementById('valid_'+input.name).innerHTML="<img src=\"log_inc2/img/invalid.jpg\" />";

		valid[input.name]=false;

	}

}





function validate_country(input){

	if (input.value!="false"){

		document.getElementById('valid_'+input.name).innerHTML="<img src=\"log_inc2/img/valid.jpg\" />";

		valid[input.name]=true;

		if (input.value!='United States')

			valid["user_state"]=true;

	}

	else{

		document.getElementById('valid_'+input.name).innerHTML="<img src=\"log_inc2/img/invalid.jpg\" />";

		valid[input.name]=false;

	}

}



function validate_state(input){

	if (input){

		if (input.value!="false"){

			document.getElementById('valid_'+input.name).innerHTML="<img src=\"log_inc2/img/valid.jpg\" />";

			valid[input.name]=true;

		}

		else{

			document.getElementById('valid_'+input.name).innerHTML="<img src=\"log_inc2/img/invalid.jpg\" />";

			valid[input.name]=false;

		}

	}

}



function validate_city(input){

	if (input.value.length>=2 && input.value.length<=64 && myRegxp_city.test(input.value)){

		document.getElementById('valid_user_city').innerHTML="<img src=\"log_inc2/img/valid.jpg\" />";

		valid[input.name]=true;

	}

	else{

		document.getElementById('valid_user_city').innerHTML='<img src="log_inc2/img/invalid.jpg" />';

		valid[input.name]=false;

	}

}



function validate_email(input){

	if (input.value.length>=4 && input.value.length<=88 && myRegxp_email.test(input.value)){

		document.getElementById('valid_'+input.name).innerHTML="<img src=\"log_inc2/img/valid.jpg\" />";

		valid[input.name]=true;

	}

	else{

		document.getElementById('valid_'+input.name).innerHTML="<img src=\"log_inc2/img/invalid.jpg\" />";

		valid[input.name]=false;

	}

}



function validate_tos(){

	if (document.forms[0].tos_accepted.checked){

		document.getElementById('valid_tos_accepted').innerHTML="<img src=\"log_inc2/img/valid.jpg\" />";

		valid['tos_accepted']=true;

	}

	else{

		document.getElementById('valid_tos_accepted').innerHTML="<img src=\"log_inc2/img/invalid.jpg\" />";

		valid['tos_accepted']=false;

	}

}



function validate_privacy(){

	if (document.forms[0].privacy_accepted.checked){

		document.getElementById('valid_privacy_accepted').innerHTML="<img src=\"log_inc2/img/valid.jpg\" />";

		valid['privacy_accepted']=true;

	}

	else{

		document.getElementById('valid_privacy_accepted').innerHTML="<img src=\"log_inc2/img/invalid.jpg\" />";

		valid['privacy_accepted']=false;

	}

}



function validate_dob(){

	var month=document.forms[0].user_DOB_month.value;

	var day=document.forms[0].user_DOB_day.value;

	var year=document.forms[0].user_DOB_year.value;

	var user_date=new Date();

	var minDate= new Date();



	user_date.setFullYear(year, month-1, day);

	minDate.setYear(minDate.getYear()-14);	



	if (year=="" || day=="" || month==""){

		document.getElementById('user_dob').innerHTML="<img src=\"log_inc2/img/invalid.jpg\" />";

		valid["user_dob"]=false;

	}

	else if (user_date>minDate){

		document.getElementById('user_dob').innerHTML="<img src=\"log_inc2/img/invalid.jpg\" />";

		valid["user_dob"]=false;

	}

	else{

		document.getElementById('user_dob').innerHTML="<img src=\"log_inc2/img/valid.jpg\" />";

		valid["user_dob"]=true;

	}

}

function checkFields(){

	var err='';

	var p;

	if (valid["user_id"]==false)

		err+="- You have entered an invalid username.  Usernames must be between 2 and 16 alphanumeric characters.  Dashes and underscores are allowed, for the sake of making constantly annoyed faces:  -_-\n\n";

	if (valid["pw1"]==false)

		err+="- You have entered an invalid password.  Passwords must be between 6 and 32 alphanumeric characters.  You can use dashes and underscores, too, because long-strings-of-connected-words-are-always-fun.\n\n";

	if (valid["pw2"]==false)

		if (document.forms[0].pw2.value.length>0)

			err+="- Your passwords do not match.  Please reenter your password in both boxes.  Allen Ludden would be so ashamed.  (If you get that reference, your password should be IAMOLDASDIRT.)\n\n";

	if (valid["user_firstname"]==false)

		err+="- The first name you have entered cannot be used.  Names can only contain alphanumeric characters, spaces, hyphens, or dashes.  We're sorry your parents named you $e@n**%.\n\n";

	if(valid["user_lastname"]==false)

		err+="- The last name you have entered cannot be used.  Names can only contain alphanumeric characters, spaces, hyphens, or dashes.  That's pretty lenient, since we doubt your name is Mr. Sm_i_t-h.\n\n";

	if (valid["user_email"]==false)

		err+="- The email address you've given us is invalid.  Emails must be written in a name@host.domain format.  thisisarealemail@seriously.forreal.\n\n";

	if (valid["user_city"]==false)

		err+="- The city you've entered cannot be used.  Cities can only contain alphanumeric characters, spaces, hyphens, or dashes.  F@k3 T0\/\/N doesn't exist.  We checked.\n\n";

	if (valid["user_country"]==false)

		err+="- Please select a country from the drop-down menu.  So we can creepily taunt \"We know where you live.\"\n\n";

	if (valid["user_state"]==false)

		err+="- Please select a state from the drop-down menu.  Not \"content\" or \"nervous.\"\n\n";

	if (valid["user_dob"]==false)

		err+="- You must be at least 14 years old to register.  We haven't caught the elusive Pedobear yet, and must take precautions.\n\n";

/*	if (valid["tos_accepted"]==false)

		err+="Terms and Conditions must be read and accepted.\n\n";*/

	if (valid["privacy_accepted"]==false)

		err+="- Please acknowledge that you have read and accepted the Terms and Conditions and the Privacy Policy (there is a checkbox to indicate you have done so).\n\n";

	

	return err;

		

}



function createRequestObject(){

	var request_o; //declare the variable to hold the object.

	var browser = navigator.appName; //find the browser name

	if(browser == "Microsoft Internet Explorer"){

		/* Create the object using MSIE's method */

		request_o = new ActiveXObject("Microsoft.XMLHTTP");

	}else{

		/* Create the object using other browser's method */

		request_o = new XMLHttpRequest();

	}

	return request_o; //return the object

}



function checkID(name){

	http.open('get', 'checkID.php?name='+name);

	http.onreadystatechange = warnit; 

}



function warnit(){

	alert(http.responseText);	

}