// JavaScript Document
var months=new Array(13);
months[1]="Jan";
months[2]="Feb";
months[3]="Mar";
months[4]="Apr";
months[5]="May";
months[6]="Jun";
months[7]="Jul";
months[8]="Aug";
months[9]="Sep";    
months['01']="Jan";
months['02']="Feb";
months['03']="Mar";
months['04']="Apr";
months['05']="May";
months['06']="Jun";
months['07']="Jul";
months['08']="Aug";
months['09']="Sep";
months[10]="Oct";
months[11]="Nov";  
months[12]="Dec";


function trim(stringToTrim) {
	
	return stringToTrim.replace(/^\s+|\s+$/g,"");
}

function isAlphabetic(val)
{
	if (val.match(/^[a-zA-Z' ']+$/))
	{
		return true;
	}
	else
	{
		return false;
	} 
}


function checkAge(ageDay, ageMonth, ageYear)
{
	var min_age = 18;

	/* change "age_form" to whatever your form has for a name="..." */
	var year = parseInt(ageYear);
	var month = parseInt(ageMonth) - 1;
	var day = parseInt(ageDay);

	var theirDate = new Date((year + min_age), month, day);
	var today = new Date;

	if ( (today.getTime() - theirDate.getTime()) < 0) {
		return false;
	}
	else {
		return true;
	}
}



function loop(dname, name, start, end, select, reverse){
	monthPattern = /month/i;

    ret = '<SELECT name='+name+' id='+name+' onchange=ajaxuser(0)>'; 
    ret += '<OPTION value="">'+dname;
	if(reverse){
		for(i=end;i>=start;i--){
			ret += '<OPTION value="'
			if (i < 10) ret += '0';
			ret += i + '"';
			if (i == select) {
				ret += ' selected';
			}
			ret += '>';

			if (monthPattern.test(name)) {
				ret += months[i]
			}
			else {
				if (i < 10) ret += '0';
				ret += i;
			}
		}
	}else{
		for(i=start;i<=end;i++){
			ret += '<OPTION value="'
			if (i < 10) ret += '0';
			ret += i + '"';
			if (i == select) {
				ret += ' selected';
			}
			ret += '>';

			if (monthPattern.test(name)) {
				ret += months[i]
			}
			else {
				if (i < 10) ret += '0';
				ret += i;
			}
		}
	}
    
    ret += '</SELECT>';
    return ret;
}


function isNumeric(elem){
	var numericExpression = /^[0-9]+$/;
	if(elem.match(numericExpression))
	{
		return true;
	}
	else{
		return false;
	}
}

function isAlphanumeric(elem)
{
	var alphaExp = /^[0-9a-zA-Z]+$/;
	if(elem.match(alphaExp))
	{
	return true;
	}
	else
	{
	return false;
	}
}


function validreg()
{
//debugger; 
var str="";
var txtfirstname=document.registration.firstname;
var txtlastname=document.registration.lastname;
var txtusername=document.registration.usernames;
var txtday=document.registration.day;
var txtmonth=document.registration.month;
var txtyear=document.registration.year;
var txtpass=document.registration.pass;
var txtrepass=document.registration.repass;
var txtzipcode=document.registration.zipcode;
var txtstate=document.registration.state;
var txtcity=document.registration.city;
var txtemail=document.registration.email;
var txtreemail=document.registration.reemail;
var txtmobileno=document.registration.mobileno;
var txtcouponname=document.registration.couponname;
var txtterms=document.registration.terms2;
var txtprivacy=document.registration.privacy2;

//return false;

if(trim(txtfirstname.value)=="")
{
str+="- Please enter your first name<br>";
}

if(trim(txtfirstname.value).indexOf('<')==-1 && trim(txtfirstname.value).indexOf('>')==-1)
{
}
else
{
str+="- Please enter your real first name<br>";
}


if(trim(txtlastname.value)=="")
{
str+="- Please enter your last name<br>";
}

if(trim(txtlastname.value).indexOf('<')==-1 && trim(txtlastname.value).indexOf('>')==-1)
{
}
else
{
str+="- Please enter your real last name<br>";
}


if(trim(txtusername.value)=="")
{
str+="- Please enter a Username<br>";
}
if(trim(txtusername.value)!="")
{
	if(isAlphanumeric(txtusername.value))
	{
		
	}
	else
	{
	str+="- Please only use alphanumeric characters without spaces in Username<br>";	
	}
	
}
if(trim(txtusername.value)!="")
{
		if(txtusername.value.length>=4)
		{
		}
		else
		{
		str+="- Username must be at least 4 characters long<br>";
		}
}

if(trim(txtusername.value)!="" && txtusername.value.length>=4)
{
		if(txtusername.value.length>=4 && txtusername.value.length<=15)
		{		
		}
		else
		{
		str+="- Username can´t be longer than 15 characters<br>";
		}
}

//if(ajaxuser(1))
//{
//	str+="- UserName Already Exists.<br>";
//}

if(trim(txtday.value)=="")
{
str+="- Please enter birth date<br>";

}
else
{
}
if(trim(txtmonth.value)=="")
{
str+="- Please enter birth month<br>";
}

if(trim(txtyear.value)=="")
{
str+="- Please enter birth year<br>";
}


var min_age = 18;

var year = parseInt(txtday.value);
var month = parseInt(txtmonth.value) - 1;
var day = parseInt(txtyear.value);


if (!checkAge(txtday.value, txtmonth.value, txtyear.value)) 
{
	str+="- You must be older than 18 years old.<br>";
}



if(trim(txtpass.value)=="")
{
str+="- Please enter a Password<br>";
}
if(trim(txtpass.value).indexOf('<')==-1 && trim(txtpass.value).indexOf('>')==-1)
{
}
else
{
str+="- Please enter a valid Password<br>";
}


if(trim(txtpass.value)!="" && txtpass.value.length<6)
{
	str+="- Password must be at least 6 characters long<br>";
}


if(trim(txtrepass.value)=="")
{
	str+="- Please retype your password<br>";
}


if(trim(txtrepass.value).indexOf('<')==-1 && trim(txtrepass.value).indexOf('>')==-1)
{
}
else
{
str+="- Please retype your password correctly<br>";
}


if(trim(txtpass.value)!="")
{
if(trim(txtrepass.value)!="")
{

if(txtpass.value!=txtrepass.value)
{
	str+="- Please retype your password correctly<br>";
}

}

}

if(trim(txtusername.value)!="")
{
if(trim(txtpass.value)!="")
{
	if(trim(txtusername.value)==trim(txtpass.value))
	{
	str+="- Username can\'t be same as password<br>";

	}
	
}

}
	

if(trim(txtzipcode.value)=="")
{
str+="- Please enter your Zip Code<br>";
}

if(trim(txtzipcode.value)!="")
{
if(isNumeric(txtzipcode.value))
{
}
else
{
str+="- Please enter a correct Zip Code (numbers only)<br>";

}
}
//debugger;
//alert(txtstate);
//alert(txtstate.value);

if(txtstate == null || txtstate.value == null || txtstate.value == "")
{
	str+="- Please select your state<br>";
}

if(trim(txtcity.value)=="")
{
str+="- Please enter your city<br>";
}
if(trim(txtcity.value).indexOf('<')==-1 && trim(txtcity.value).indexOf('>')==-1)
{
}
else
{
str+="- Please enter a valid city name<br>";
}

if(!isAlphabetic(txtcity.value))
{
	str+="- Please enter a valid city name.<br/>";	
}


if(trim(txtemail.value)=="")
{
str+="- Please enter your email address<br>";
}

if(trim(txtemail.value).indexOf('<')==-1 && trim(txtemail.value).indexOf('>')==-1)
{
}
else
{
str+="- Please enter a valid email address<br>";
}

if(trim(txtemail.value)!="")
{
//var pattern2=/^[a-zA-Z\d\_\.]+@[a-zA-Z\d]+\.(([a-zA-Z]{2}.[a-zA-Z]{2})|[a-zA-Z]{2,3})$/;		
var pattern2=/^([0-9a-zA-Z]([-.\w]*[0-9a-zA-Z])*@([0-9a-zA-Z][-\w]*[0-9a-zA-Z]\.)+[a-zA-Z]{2,9})$/;
		var matchval=txtemail.value.match(pattern2);
		if(matchval==null)
		{
			str+="- Please enter a valid email address<br>";
			
			
		}

}

if(trim(txtreemail.value)=="")
{
str+="- Please retype your email!<br>";
}


if(trim(txtreemail.value).indexOf('<')==-1 && trim(txtreemail.value).indexOf('>')==-1)
{
}
else
{
str+="- Please retype your email correctly!<br>";
}


if(trim(txtemail.value)!="")
{
if(trim(txtreemail.value)!="")
{

if(txtemail.value!=txtreemail.value)
{
str+="- Please retype your password correctly<br>";
}

}

}


if(trim(txtmobileno.value)=="")
{
str+="- Please enter your phone number<br>";
}

if(trim(txtmobileno.value)!="")
{
//if(isNumeric(txtmobileno.value))
var mobilepattern=/^[0-9-]+$/;
if(txtmobileno.value.match(mobilepattern))
{
}
else
{
str+="- Please enter a valid phone number (numbers only)<br>";

}
}

if(txtcouponname != null && trim(txtcouponname.value)!="")
{
	if(trim(txtcouponname.value).indexOf('<')==-1 && trim(txtcouponname.value).indexOf('>')==-1)
	{

	}
	else
	{
		str+="- Please enter a valid coupon code or leave it empty<br>";
	}
}



if(!txtterms.checked)
{
	str+="- Please Accept the Terms & Conditions<br>";
}
else
{
	if(!txtterms.checked)
	{
		str+="- Please Accept the Terms & Conditions<br>";
	}
}

if(!txtprivacy.checked)
{
	str+="- Please Accept the Privacy statement<br>";
}
else
{
	if(!txtprivacy.checked)
	{
		str+="- Please Accept the Privacy statement<br>";
	}
}
//debugger;
	if(str!="")
	{
		//alert("hede");
		//document.registration.error").style.display='block';
		str = "Some error(s) occured. Please check and verify them:<br/>" + str;
		document.getElementById("information_box").innerHTML=str;
		scroll(0,0);
		return false;
		
	}
	else
	{
		//alert("hödö");
		document.registration.submit();
		return true;
		
	}
}


function ajaxuser(error_check)
{
	var txtusername=document.getElementById("usernames");
	name=txtusername.value;
	if(name!="")
	{
		xmlHttp=GetXmlHttpObject()
		var url="checkuser.php";
		url=url+"?username="+name;
		if(error_check == 0)
		{
			xmlHttp.onreadystatechange=stateChanged1
		}
		else
		{
			xmlHttp.onreadystatechange=stateChanged2
		}
		xmlHttp.open("GET",url,true);
		//xmlHttp.setRequestHeader('Content-Type','application/x-www-form-urlencoded');
		xmlHttp.send(null);
	   // loader(0);
		return false;
	}
}



function stateChanged1() 
{ 
	if (xmlHttp.readyState==4 || xmlHttp.readyState=="complete")
	{ 
		//loader(1); 
		result=xmlHttp.responseText;
		if(result=="true")
		{
					document.getElementById("user_ajaxid").innerHTML="UserName Already Exists";

		}
		else
		{
				//document.getElementById("user_ajaxid").innerHTML="UserName Avaliable";
				document.getElementById("user_ajaxid").innerHTML="";
		}
	} 
} 

function stateChanged2() 
{ 
	if (xmlHttp.readyState==4 || xmlHttp.readyState=="complete")
	{ 
		//loader(1); 
		result=xmlHttp.responseText;
		if(result=="true")
		{
			return true;
		}
		else
		{
			return false;
		}
	} 
} 
/*function loader(status)
{
	if(status==0)
	{
		document.getElementById("loading").style.visibility="visible";
	}
	else
	{
	 document.getElementById("loading").style.visibility="hidden";
	 }
	
}	
*/
function loader(status)
{
	if(status==0)
	{
		document.getElementById("loading").style.visibility="visible";
	}
	else
	{
	 document.getElementById("loading").style.visibility="hidden";
	 }
	
}	

function validate_ajaxlogin()
{
	
	usern=document.loginfrm.username.value;
	passn=document.loginfrm.password.value;
if(document.loginfrm.username.value=="")
	{
		alert("Enter your User Name");
		document.loginfrm.username.focus();
		return false;
	}	
	
	
	if(document.loginfrm.password.value=="")
	{
		alert("Enter your Password");
		document.loginfrm.password.focus();
		return false;
	}	
	
	xmlHttp=GetXmlHttpObject()
	var url="login.php";
	url=url+"?username="+usern+"&password="+passn;
	xmlHttp.onreadystatechange=stateChanged2
	xmlHttp.open("GET",url,true);
    //xmlHttp.setRequestHeader('Content-Type','application/x-www-form-urlencoded');
	xmlHttp.send(null);
    loader(0);
	return false;
	
	
	

}

function stateChanged2() 
{ 
	if (xmlHttp.readyState==4 || xmlHttp.readyState=="complete")
	{ 
		loader(1); 
		result=xmlHttp.responseText;
		if(result=="true")
		{
		window.location.href="index.php";
		}
		else
		{
		document.getElementById("user").innerHTML=result;
		xmlHttp=null;	
		}
		
	} 
} 
function GetXmlHttpObject()
{
var xmlHttp=null;
try
  {
  // Firefox, Opera 8.0+, Safari
  xmlHttp=new XMLHttpRequest();
  }
catch (e)
  {
  // Internet Explorer
  try
    {
    var aVersions = [ "MSXML2.XMLHttp.5.0",
        "MSXML2.XMLHttp.4.0","MSXML2.XMLHttp.3.0",
        "MSXML2.XMLHttp","Msxm12.XMLHTTP","Microsoft.XMLHttp"];

    for (var i = 0; i < aVersions.length; i++) 
	 {
        try {
            var xmlHttp = new ActiveXObject(aVersions[i]);
            return xmlHttp;
            } 
		catch (oError) 
		   {
            //Do nothing
           }
    }
    }
  catch (e)
    {
    }
  }
  if (xmlHttp==null)
  {
  alert ("Your browser does not support AJAX!");
  return;
  } 
return xmlHttp;
}

