

// JavaScript Document
function ajaxObject(url, callbackFunction) {
var that=this; 
this.updating = false;
this.abort = function() {
if (that.updating) {
that.updating=false;
that.AJAX.abort();
that.AJAX=null;
}
}
this.update = function(passData,postMethod) { 
if (that.updating) { return false; }
that.AJAX = null; 
if (window.XMLHttpRequest) { 
that.AJAX=new XMLHttpRequest(); 
} else { 
that.AJAX=new ActiveXObject("Microsoft.XMLHTTP");
} 
if (that.AJAX==null) { 
return false; 
} else {
that.AJAX.onreadystatechange = function() { 
if (that.AJAX.readyState==4) { 
that.updating=false; 
that.callback(that.AJAX.responseText,that.AJAX.status,that.AJAX.responseXML); 
that.AJAX=null; 
} 
} 
that.updating = new Date(); 
if (/post/i.test(postMethod)) {
var uri=urlCall+'?'+that.updating.getTime();
that.AJAX.open("POST", uri, true);
that.AJAX.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
that.AJAX.setRequestHeader("Content-Length", passData.length);
that.AJAX.send(passData);
} else {
var uri=urlCall+'?'+passData+'&timestamp='+(that.updating.getTime()); 
that.AJAX.open("GET", uri, true); 
that.AJAX.send(null); 
} 
return true; 
} 
}
var urlCall = url; 
this.callback = callbackFunction || function () { };
}


// JavaScript Document
// JavaScript Document
function validate()
{
	var usernamelength=document.getElementById('txtusername').value.length;
	var passwordlength=document.getElementById('txtpassword').value.length;
	var illegalChars = /\W/;
	if(document.signupbox.txtfirstname.value=="")
	{
		alert('Please enter firstname');
		document.signupbox.txtfirstname.focus();
	//	return false;
	}else if(document.signupbox.txtlastname.value=="")
	{
		alert('Please enter lastname');
		document.signupbox.txtlastname.focus();
		//return false;
	}else if(document.signupbox.txtemail.value=="")
	{
		alert('Please enter email');
		document.signupbox.txtemail.focus();
		//return false;
	}else if(/^\w+([\.-]?\w+)*@\w+([\.-]?\w+)*(\.\w{2,3})+$/.test(signupbox.txtemail.value)==false)
	{
		alert('Invalid E-mail Address! Please re-enter');
		document.signupbox.txtemail.focus();
	}
else if(document.signupbox.txtusername.value=="")
	{
		alert('Please enter username');
		document.signupbox.txtusername.focus();
		//return false;
	}else if(usernamelength <= 2 || usernamelength >= 17)
	{
		alert('username must be 3 to 16 charecters long');
		document.signupbox.txtusername.focus();
		//return false;
	}else if(illegalChars.test(document.signupbox.txtusername.value))
	{
		alert("The username contains illegal characters. \n It can only contain letters,numbers and underscore.");
		document.signupbox.txtusername.focus();
		//return false;
	}
	else if(document.signupbox.txtpassword.value=="")
	{
		alert('Please enter passoword');
		document.signupbox.txtpassword.focus();
		//return false;
	}else if(document.signupbox.txtretypepassword.value=="")
	{
		alert('Please enter retype passoword');
		document.signupbox.txtretypepassword.focus();
		//return false;
	}else if(passwordlength <= 5 || passwordlength >= 17)
	{
		alert('password must be 6 to 16 charecters long');
		document.signupbox.txtpassword.focus();
		//return false;
	}else if(document.signupbox.txtpassword.value!=document.signupbox.txtretypepassword.value)
	{
			alert("Passwords do not match.");
			document.signupbox.txtretypepassword.focus();
			//return false;
	}else if(illegalChars.test(document.signupbox.txtpassword.value))
	{
		alert("The password contains illegal characters. \n It can only contain letters,numbers and underscore.");
		document.signupbox.txtpassword.focus();
		//return false;
	}else if(document.signupbox.txtusername.value==document.signupbox.txtpassword.value)
	{
		alert("Username and password can not be same");
		document.signupbox.txtpassword.value="";
		document.signupbox.txtretypepassword.value="";
		document.signupbox.txtpassword.focus();
	}
	else if(document.signupbox.txtzipcode.value=="" && document.getElementById('txtcountry').value=="United States")
	{
			alert('Please enter zipcode');
			document.signupbox.txtzipcode.focus();
	}else if(document.signupbox.txtcountry.value=="")
	{
		alert('Please enter country');
		document.signupbox.txtcountry.focus();
		//return false;
	}else if(document.signupbox.txtcity.value=="" && document.getElementById('txtcountry').value!="United States")
	{
			alert('Please enter city');
			document.signupbox.txtcity.focus();
	}
	else
	{
		document.getElementById('grey').style.display='block';
		document.getElementById('processor').style.display='block';
		
		var username=document.signupbox.txtusername.value;
		var email=document.signupbox.txtemail.value;
		if(document.getElementById('txtcountry').value=="United States")
		{
			var zipcode=document.signupbox.txtzipcode.value;
		}else{
			var zipcode="";
		}
		var myRequest = new ajaxObject('ajax/signups/dosignupcheck.php');
		var sendString="username="+username+"&email="+email+"&zipcode="+zipcode;
			myRequest.update(sendString,'get');
			myRequest.callback = function(responseText)
			{
				if(responseText=="1")
				{
					alert("username already exist");
					document.getElementById('processor').style.display='none';
					document.getElementById('grey').style.display='none';
					document.signupbox.txtusername.focus();
				}else if(responseText=="2")
				{
					alert("Email already exist");
					document.getElementById('processor').style.display='none';
					document.getElementById('grey').style.display='none';
					document.signupbox.txtemail.focus();
				}else if(responseText=="3")
				{
					alert("Please enter valid Zipcode");
					document.getElementById('processor').style.display='none';
					document.getElementById('grey').style.display='none';
					document.signupbox.txtzipcode.focus();
				}else{
					document.signupbox.submit();
				}
			}
	}
	
}
function checkcountry()
{
	if(document.getElementById('txtcountry').value!="United States")
	{
		document.getElementById('txtzipcode').value="";
		document.getElementById('zipcode').style.display='block';
		document.getElementById('city').style.display='block';
	}else if((document.getElementById('txtcountry').value=="United States"))
	{
		document.getElementById('txtcity').value="";
		document.getElementById('city').style.display='none';
		document.getElementById('zipcode').style.display='block';
	}

}
