//variables

var locationArr=window.location.href.toString().split("/");
//alert(locationArr);
var reg_location=locationArr[locationArr.length-1];
//alert(reg_location);

var cname;
var pwd;
var cpwd;
var year;
var gender = "Male";
var userAge;
var email;
var cemail;
var tnc;
var ReferalID=null;
var ReferalURL=null;
var ChiRecMailType=null;
var AgreeEmail=null;
var ParentMail=null;
var sidX;

String.prototype.trim = function () {
    return this.replace(/^\s*/, "").replace(/\s*$/, "");
}

function registerMe1(){
	
	var err=0;
	cname=document.getElementById('textfield2');
	pwd=document.getElementById('pwd');
	cpw=document.getElementById('cpwd');
	year=document.getElementById('date1y').value;
	var df=document.forms['formReg1'].elements['radioset1'];
		for(var i = 0; i < df.length; i++) {
			if(df[i].checked) {
				var cd=df[i].value;
			}
		}
	if(cd=="2"){
	gender="Female"
	}
	document.getElementById('errUserName').innerHTML="";	
	document.getElementById('errUserPWD').innerHTML="";	
	document.getElementById('errUserCPWD').innerHTML="";	
	document.getElementById("errAprroveOver13").innerHTML= "";
	document.getElementById("errRegOne").innerHTML="";
	
	errStyle(document.getElementById('errUserName'));
	errStyle(document.getElementById('errUserPWD'));
	errStyle(document.getElementById("errRegOne"));
										
	if(isEmpty(cname, "User name should not be empty")==true){
			document.getElementById("errRegOne").innerHTML="User ID should not be empty";	
			//document.getElementById('errUserName').innerHTML=	"User name should not be empty";	
			document.getElementById('imagefield').value="";
			setTimeout('getImage();',10);
			err =1;return;					
		}else if(lengthRestriction(cname, 3, 12, "username")==false){
			document.getElementById("errRegOne").innerHTML="User ID should be b/w " +3+" and "+12+" characters";	
			//document.getElementById('errUserName').innerHTML="Enter b/w " +3+" and "+12+" characters";	
			document.getElementById('imagefield').value="";
			setTimeout('getImage();',10);
			err =1;return;							
		}else if(isAlphanumericL(cname, "username should only contain numbers or lowercase letters")==false){
			document.getElementById("errRegOne").innerHTML="User ID should only contain numbers or lowercase letters";	
			//document.getElementById('errUserName').innerHTML=	"username should only contain numbers or lowercase letters";	
			document.getElementById('imagefield').value="";
			setTimeout('getImage();',10);
			err =1;return;					
		}
				
		if(isEmpty(pwd, "Password should not be empty")==true){
			document.getElementById("errRegOne").innerHTML="Password should not be empty";	
			//document.getElementById('errUserPWD').innerHTML="Password should not be empty";				
			document.getElementById('imagefield').value="";
			setTimeout('getImage();',10);
			err =1;return;					
			}else if(lengthRestriction(pwd, 6, 12, "password")==false){
			document.getElementById("errRegOne").innerHTML = "Password should be b/w " +6+" and "+12+" characters";	
			//document.getElementById('errUserPWD').innerHTML=   "Enter b/w " +6+" and "+12+" characters";	
			document.getElementById('imagefield').value="";
			setTimeout('getImage();',10);
			err =1;return;				
			}else if(isSpecChar(pwd, "password should not contain spl chars")==false){
			document.getElementById("errRegOne").innerHTML="password should not contain spl chars";	
			//document.getElementById('errUserPWD').innerHTML=	"password should not contain spl chars";	
			document.getElementById('imagefield').value="";
			setTimeout('getImage();',10);
			err =1;return;					
			}else if(document.getElementById('pwd').value!==document.getElementById('cpwd').value){
			errStyle(document.getElementById('errUserCPWD'));
			document.getElementById("errRegOne").innerHTML="Password and confirm password does not match";	
			//document.getElementById('errUserCPWD').innerHTML="Password does not match";	
			document.getElementById('imagefield').value="";
			setTimeout('getImage();',10);
			err =1;return;					
		}
				
		var refurl="none";
		if (document.referrer&&document.referrer!="")
   		refurl=document.referrer;
		refurl=parser(refurl);

	if(err==0){
		xmlHttp=GetXmlHttpObject()
		if (xmlHttp==null){
			alert ("Your browser does not support AJAX!");
			return;
		}
		d = new Date();
		var timeUnique = d.getTime();
		var url="CheckUserExistance.jsp";
		url=url+"?username="+cname.value+"&charname="+cname.value+"&t="+timeUnique; 
		xmlHttp.onreadystatechange=registerOneResponse;  
		xmlHttp.open("GET",url,true);
		xmlHttp.send(null);
				
	} 
			
}

function registerOneResponse(){ 
	if (xmlHttp.readyState==4){ 
		var  result=xmlHttp.responseText;
		result=result.substring(result.indexOf("&"));		
		result=result.substring(8,14);	
		//username
		if (result.toUpperCase()=="OBJ609"){
			document.getElementById('imagefield').value="";
			setTimeout('getImage();',10);
			document.getElementById("errRegOne").innerHTML="User ID already exists.";
			//document.getElementById("errCharName").innerHTML= "char name already exists.";
		}
		else if (result.toUpperCase()=="OBJ602"){
		document.getElementById('imagefield').value="";
			setTimeout('getImage();',10);
			document.getElementById("errRegOne").innerHTML="User ID already exists.";
			//	document.getElementById("errUserName").innerHTML= "username already exists.";
			}
			else if (result=="reserved"){
			document.getElementById('imagefield').value="";
			setTimeout('getImage();',10);
			document.getElementById("errRegOne").innerHTML="User ID contains reserved word.";
			//			document.getElementById("errUserName").innerHTML= "username contains reserved word.";
			}
			else if (result=="charReserved"){
			document.getElementById('imagefield').value="";
			setTimeout('getImage();',10);
				//errStyle(document.getElementById('errCharName'));
				document.getElementById("errRegOne").innerHTML="User ID contains reserved word.";
			//document.getElementById("errCharName").innerHTML= "character name contains reserved word.";
			}
			else{
				document.getElementById("errCharName").innerHTML=" ";
				document.getElementById("errUserName").innerHTML=" ";
				document.getElementById("errRegOne").innerHTML="";
				//validateAge();
				getUserAge();
			}
			
  	}
}
	
function getUserAge(){



var d=new Date();
	var currentYear=d.getFullYear();
	userAge=currentYear-year;
	if (userAge<13){
		document.getElementById("errDOB").innerHTML= "";
		getImage2();
		openUnder13RegForm();
	}else if (userAge>=13){
		document.getElementById("errDOB").innerHTML= "";
		regOver13Validation();
	}
		
}

function regOver13Validation(){	
		var err=0;
		email=document.getElementById('textfield8');
		cemail=document.getElementById('textfield9');
		document.getElementById('errRegOne').innerHTML="";	
		errStyle(document.getElementById('erremail1'));
				
		if(isEmpty(email, "-----------")==true){
			document.getElementById("errRegOne").innerHTML="Email address should not be empty";		
			//document.getElementById('erremail1').innerHTML="Email address should not be empty";					
			
			document.getElementById('imagefield').value="";
			setTimeout('getImage();',10);err =1;return;
			} else if(emailValidator(email, "Enter a valid email address")==false){
			//errStyle(document.getElementById('erremail1'));
			document.getElementById("errRegOne").innerHTML="Enter a valid email address";
			document.getElementById('imagefield').value="";
			setTimeout('getImage();',10);
			//document.getElementById('erremail1').innerHTML="Enter a valid email address";			
			err =1;return;					
			}else if(email.value!= cemail.value){
			errStyle(document.getElementById('erremail2'));			
			
			document.getElementById('imagefield').value="";
			setTimeout('getImage();',10);
			document.getElementById("errRegOne").innerHTML="Email and confirm email should be same.";
			//document.getElementById("erremail2").innerHTML= "Both Email should be same.";
			err =1;return;
			}
						
			if(err==0){
			document.getElementById("errRegOne").innerHTML="";
			document.getElementById("erremail2").innerHTML="";
			document.getElementById('erremail1').innerHTML=""
			//------------------------------------------------------
			//resultRadio=getCheckedValue2(document.forms['formReg1'].elements['radioRegAdult']);
			var df=document.forms['formReg1'].elements['radioRegAdult'];
			for(var i = 0; i < df.length; i++) {
			if(df[i].checked) {
				RecMailType=df[i].value;
			}
		}
		
		//validateCheck4(document.forms['formReg1'].elements['over13check']);			
		if (document.forms['formReg1'].elements['over13check'].checked==true){
			tnc="Y";
			submitRegistrationForm();		
			} else{
			errStyle(document.getElementById('errAprroveOver13'));
			document.getElementById("errAprroveOver13").innerHTML= "You must agree our terms and condition to register.";
			}
				  	  
		}
}

function getCode(){
	var a = new Array("I","R","F","D", "L");
	str="";
	for(i=0;i<a.length;++i){
	var range=4;
	var randomnumber=(Math.floor(Math.random()*99999))%range+1;
	str+= a[i]+""+randomnumber;
	}
	return str;
} 

var key= readCookie("acclaim");
var s;                       
ReferalID=readCookie("refid");
var isReferalID=((ReferalID)?true:false);
  if(isReferalID==false)
        ReferalID="none";                          
ReferalURL=readCookie("refurl");
var isReferalURL=((ReferalURL)?true:false);
  if(isReferalURL==false)
      ReferalURL="none";
           
function RefreshRegister(){
		document.getElementById('textfield2').value="";
		document.getElementById('pwd').value="";
		document.getElementById('cpwd').value="";
		
		//-----  error feilds
		document.getElementById('errUserName').innerHTML="";	
		document.getElementById('errUserPWD').innerHTML="";	
		document.getElementById('errUserCPWD').innerHTML="";	
		document.getElementById('errCharName').innerHTML="";
		document.getElementById('errDOB').innerHTML="";
 

		document.getElementById('textfield8').value="";
		document.getElementById('textfield9').value="";
		document.getElementById('textfield12').value="";

 }


function submitRegistrationForm(){

	document.getElementById('regBtn').disabled=true;
	document.getElementById('regBtn').style.cursor="wait";
	document.getElementById('regBtn13').disabled=true;
	document.getElementById('regBtn13').style.cursor="wait";
	document.body.style.cursor="wait";
	
	d = new Date();
	var timeUnique = d.getTime();
	var url	
	var variation= readCookie("variation");

	if(variation==null || variation==-1 || variation=="undefined" ){
	gc=getCode();   
	variation=gc;
	createCookie("variation",gc,90);
	}

				url="?cname="+cname.value;
				url=url+"&pwd="+pwd.value;
				url=url+"&tnc="+tnc;
				url=url+"&zip1="+"";
				url=url+"&gender="+gender;
				url=url+"&day="+31;
				url=url+"&month="+12;
				url=url+"&year="+year;
				url=url+"&secretque="+variation;
				url=url+"&secretans="+"";
				if(AgreeEmail=="Y")
				url=url+"&email="+email;
				else url=url+"&email="+email.value;
				url=url+"&country="+"";
				url=url+"&ReferalID="+ReferalID;
				url=url+"&ReferalURL="+ReferalURL;
				url=url+"&AgreeEmail="+AgreeEmail;
				url=url+"&ParentMail="+ParentMail;
				url=url+"&RecMailType="+RecMailType;
				url=url+"&character="+cname.value;
				url=url+"&ChiRecMailType="+ChiRecMailType;
				url=url+"&t="+timeUnique;
				url=url+"&key="+img;

			//alert("AgreeEmail:"+AgreeEmail+":::"+"RecMailType"+RecMailType+"::ChiRecMailType"+ChiRecMailType);
				
				//alert(url);
				if(userAge<13){
					url=url+"&value="+document.getElementById('imagefield2').value;
				}else url=url+"&value="+document.getElementById('imagefield').value;
				


			
				xmlHttp=GetXmlHttpObject()
				if (xmlHttp==null){
					alert ("Your browser does not support AJAX!");
					return;
				} 
							  
				url="Register_img.jsp"+url; 
				xmlHttp.onreadystatechange=submitRegistrationFormResponse; 							
				xmlHttp.open("GET",url,true);
				xmlHttp.send(null);
} 		

function submitRegistrationFormResponse(){ 
		
	if (xmlHttp.readyState==4){ 
				
		var  result4=xmlHttp.responseText;
		//alert(result4);	
		var result2_1;		
		result1=result4.split("&");
		result2=result1[1].split("result=");
		result=result2[1];	
		if (result=="success"){
			callSuccessJsp();

			login(cname.value,pwd.value);	
		}else if (result=="Fail"){
			document.getElementById('regBtn').disabled=false;
			document.getElementById('regBtn').style.cursor="default";
			document.getElementById('regBtn13').disabled=false;
			document.getElementById('regBtn13').style.cursor="default";
			document.body.style.cursor="default";
			document.getElementById('imagefield').value="";
			setTimeout('getImage();',10);
			document.getElementById('imagefield2').value="";
			setTimeout('getImage2();',10);
			errStyle(document.getElementById('errRegOne'));
			document.getElementById("errRegOne").innerHTML= "Registration Failed. Please Try again.";
			document.getElementById("errAprrove").innerHTML= "Registration Failed. Please Try again.";
		}else if (result=="143"){
			document.getElementById('regBtn').disabled=false;
			document.getElementById('regBtn').style.cursor="default";
			document.getElementById('regBtn13').disabled=false;
			document.getElementById('regBtn13').style.cursor="default";
			document.body.style.cursor="default";
			if(userAge<13){
			errStyle(document.getElementById('errImgVerify2'));
			document.getElementById("errAprrove").innerHTML="Image text not matched.Try again";
			//document.getElementById("errImgVerify2").innerHTML= "Image text not matched.Try again";
			document.getElementById('imagefield2').value="";
			setTimeout('getImage2();',10);
			}else {
			errStyle(document.getElementById('errImgVerify'));
			document.getElementById("errRegOne").innerHTML="Image text not matched.Try again";
			//document.getElementById("errImgVerify").innerHTML= "Image text not matched.Try again";
			document.getElementById('imagefield').value="";
			setTimeout('getImage();',10);
			}
		}
	}
}
		

function registerMe2(){
				var err=0;

				document.getElementById('errEmailPar').innerHTML="";
				document.getElementById("errChildEmail").innerHTML= "";
				document.getElementById("errAprrove").innerHTML= "";
				
				errStyle(document.getElementById('errEmailPar'));
				errStyle(document.getElementById('errChildEmail'));
				errStyle(document.getElementById('errAprrove'));
												
				// text feild vlaidations
				var emailChk=document.getElementById('parentEmailID1');
				var cemailChk=document.getElementById('parentEmailID2');
				var childemaillChk=document.getElementById('chilEmaildId');
						
						
				//document.getElementById('errID').innerHTML="";	
				//var emailChk=document.getElementById('inputID_ID');		
							
				if(isEmpty(emailChk, "-----------")==true){
				document.getElementById("errAprrove").innerHTML="Parent email address should not be empty";		
				//document.getElementById('errEmailPar').innerHTML="Email address should not be empty";	
				document.getElementById('imagefield2').value="";
				setTimeout('getImage2();',10);
				err =1;return;					
				}else if(emailValidator(emailChk, "Enter a valid email address")==false){
				//errStyle(document.getElementById('errEmailPar'));
				document.getElementById("errAprrove").innerHTML="Enter a valid parent email address";	
				//document.getElementById('errEmailPar').innerHTML="Enter a valid email address";			
				document.getElementById('imagefield2').value="";
				setTimeout('getImage2();',10);
				err =1;return;				
				}else if(emailChk.value!=cemailChk.value){
				//errStyle(document.getElementById('errEmailPar'));			
				document.getElementById("errAprrove").innerHTML="Email and confirm email should be same.";
				//document.getElementById("errEmailPar").innerHTML= "Email should be same.";
				document.getElementById('imagefield2').value="";
				setTimeout('getImage2();',10);
				err =1;return;				
				}
				// if the user choose to go for child email
				if (document.forms['formReg1'].elements['childCheck'].checked==true){
					if(isEmpty(childemaillChk, "-----------")==true){
					document.getElementById("errAprrove").innerHTML="Child Email address should not be empty.";
					//document.getElementById("errChildEmail").innerHTML= "Child Email address should not be empty.";			
				document.getElementById('imagefield2').value="";
				setTimeout('getImage2();',10);
				err =1;return;
					}else if(emailValidator(childemaillChk, "Enter a valid email address")==false){	
					//errStyle(document.getElementById('errChildEmail));
					document.getElementById("errAprrove").innerHTML="Enter a valid child email address";
					//document.getElementById('errChildEmail').innerHTML="Enter a valid email address";			
				document.getElementById('imagefield2').value="";
				setTimeout('getImage2();',10);
				err =1;return;					
					}else if(emailChk.value==childemaillChk.value){	
					//errStyle(document.getElementById('errChildEmail'));
					document.getElementById("errAprrove").innerHTML="Parent and child email must be different";
					//document.getElementById('errChildEmail').innerHTML="Parent and child email must be different";			
				document.getElementById('imagefield2').value="";
				setTimeout('getImage2();',10);
				err =1;return;				
					}
														
			}
				

		//--------------------radio check and check box check
		if (err==0){
		
			email=childemaillChk.value;
		 	ParentMail=emailChk.value;	
			cemail=ParentMail;
			var df=document.forms['formReg1'].elements['numberX'];
			for(var i = 0; i < df.length; i++) {
			if(df[i].checked) {
				RecMailType=df[i].value;
				}
			}						
			if (document.forms['formReg1'].elements['childCheck'].checked==true){// check child email radios options
			var df=document.forms['formReg1'].elements['numberY'];
			for(var i = 0; i < df.length; i++) {
			if(df[i].checked) {
				ChiRecMailType=df[i].value;
				} 
			}
			}else {
				ChiRecMailType="";
			}
			//validateCheck3(document.forms['formReg1'].elements['agreeU13']);
			if (document.forms['formReg1'].elements['agreeU13'].checked==true){
				tnc="Y";
				submitRegistrationForm();
			} else {
			errStyle(document.getElementById('errAprrove'));
			document.getElementById("errAprrove").innerHTML= "You must agree our terms and condition to register.";	
			}
		}
	
}

		
function callSuccessJsp(){
	d = new Date();
	var timeUnique = d.getTime();
	var url="success.jsp?t="+timeUnique+"&uname="+cname.value;
	xmlHttp=GetXmlHttpObject()				
	xmlHttp.open("GET",url,true);
	xmlHttp.send(null);
} 

function login(cname,pwd){
//alert("login"+cname+pwd);
		d = new Date();
		var timeUnique = d.getTime();
		// to skip the below statements when it is called after successful registration
		xmlHttp=GetXmlHttpObject()		
		if (xmlHttp==null){
			alert ("Your browser does not support AJAX!");
			return;
		} 
			var url="BotsLogin.jsp?username="+cname+"&pwd="+pwd+"&t="+timeUnique;
			xmlHttp.onreadystatechange=loginResponse;  
			xmlHttp.open("GET",url,true);
			xmlHttp.send(null);
} 
			
function loginResponse(){ 
		if (xmlHttp.readyState==4){ 
		
			var  resultStr=xmlHttp.responseText;
			//alert("LOG::"+resultStr);
			var caX = resultStr.split('&');				
			var j=0;
			var b 
			var mycars =new Array
				for(var i=1;i <caX.length;i++){
					b= caX[i].split('=');
					mycars[j]=b[1];  
					j++
				}
					  result=mycars[0];
					  sidX=mycars[1]
					  userIDX=mycars[2]
					  gstatusX=mycars[3]
					  vCodeX=mycars[4]
					  ActivationStateX=mycars[5]
					  AgeX=mycars[6]
					  EmailX=mycars[7]
					  CharNameX=mycars[8]
								
				if (result=="0"){ 
						strs = cname.value+","+sidX+","+userIDX+","+gstatusX+","+vCodeX+","+ActivationStateX+","+AgeX+","+EmailX+","+CharNameX;
						createCookie("acclaim",strs,90);
						
						InsertToken();


						}else if (result=="1"){
						document.getElementById("errLoginPW").innerHTML= "User ID or Password is incorrect";
						}else if (result=="2"){
						document.getElementById("errLogin2").innerHTML= "You must enter a User ID and a Password";
						}else if (result=="4"){
						document.getElementById("errLogin2").innerHTML= "Status not active.";
						}
		}
}
	
function openUnder13RegForm(){

		toggleBox('apDivRegistration3',1);	
		
		//toggleBox('RegForm',0);		
		toggleBox('RegBox',0);		
		//toggleBox('Layer1',0);		
		//toggleBox('emailContact',0);			
			
		toggleBox('apDivRegnote2',1);	
		toggleBox('apDivReg3Sub4',1);		
		toggleBox('apDivReg3Sub3',1);
		
		document.getElementById('errEmailPar').innerHTML="";
		document.getElementById("errChildEmail").innerHTML= "";	
		document.getElementById("errAprrove").innerHTML= "";			
		document.getElementById('parentEmailID1').value="";
		document.getElementById('parentEmailID2').value="";
		document.getElementById('chilEmaildId').value="";
		document.forms['formReg1'].elements['childCheck'].checked=false;
		document.forms['formReg1'].elements['agreeU13'].checked=false;
}

function checkChildOption(obj){
	if(!obj.checked){
			AgreeEmail="N";
			closeRadiogroup2();
			}else {
			openRadiogroup2();
			AgreeEmail="Y"
			}
	}
function openRadiogroup2(){
toggleBox('apDivRegistration3Sub',1);
}

function closeRadiogroup2(){
	toggleBox('apDivRegistration3Sub',0);
}
function regMainPage(){

	toggleBox('apDivReg3Sub4',0);
	toggleBox('apDivRegistration3',0);
	toggleBox('apDivReg3Sub3',0);
	toggleBox('apDivRegnote2',0);
	toggleBox('RegBox',1);
	toggleBox('apDivRegistration3Sub',0);
	toggleBox('emailContact',1);
	toggleBox('Layer1',1);
	toggleBox('RegForm',1);	
}
function errStyle(element){
	element.style.backgroundColor="red";
}


function InsertToken(){
			
			
			xmlHttpPlay=GetXmlHttpObject()		
			if (xmlHttpPlay==null)
			{
			alert ("Your browser does not support AJAX!");
			return;
			} 
			//cookieUserId taken from cookie

			var url="InsertToken.jsp?UserID="+cname.value+"&sesID="+sidX;
			
			xmlHttpPlay.onreadystatechange=InsertTokenResponse;  
			xmlHttpPlay.open("GET",url,true);
			xmlHttpPlay.send(null);
			} 





function InsertTokenResponse(){ 
			// alert(xmlHttpPlay.readyState);
			if (xmlHttpPlay.readyState==4){   // ajax return value on the process status. 4 is success.
											
					var  resultStr=xmlHttpPlay.responseText;
					
					
				if(resultStr=="-1"){
					window.location="http://www.knightsblood.com/";
				}else {
					window.location="http://www.knightsblood.com/login.php?token="+new String(resultStr).trim();
				}



					
			}		
					
			
}