//Gets the browser specific XmlHttpRequest Object 
function getXmlHttpRequestObject() {
 if (window.XMLHttpRequest) {
    return new XMLHttpRequest(); //Mozilla, Safari ...
 } else if (window.ActiveXObject) {
    return new ActiveXObject("Microsoft.XMLHTTP"); //IE
 } else {
    //Display our error message
    alert("Your browser doesn't support the XmlHttpRequest object.");
 }
}

//Our XmlHttpRequest object
var receiveReq = getXmlHttpRequestObject();

//Initiate the AJAX request
function makeRequest(url, param) {
//If our readystate is either not started or finished, initiate a new request
 if (receiveReq.readyState == 4 || receiveReq.readyState == 0) {
   //Set up the connection to captcha_test.html. True sets the request to asyncronous(default) 
   receiveReq.open("POST", url, true);
   //Set the function that will be called when the XmlHttpRequest objects state changes
   receiveReq.onreadystatechange = updatePage; 

   receiveReq.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
   receiveReq.setRequestHeader("Content-length", param.length);
   receiveReq.setRequestHeader("Connection", "close");

   //Make the request
   receiveReq.send(param);
 }   
}
function check(register){
	var password = register.txtPassword.value;
	var result = password.length;
	var confirm_pass = register.txtConfirm.value;
	var pid = register.txtId.value;
	var numID = register.txtIDHid.value;
	var arrNum = numID.split(" ");
	var lenNum = arrNum.length;
	var email = register.txtEmail.value;
	var strEmail = register.txtEmailHid.value;
	var arrEmail=strEmail.split(" ");
	var lenEmail=arrEmail.length;
	var captcha=register.txtCaptcha.value;
	var reg=/^[a-z0-9_.]+$/;
	
	for(var i=0;i<18;i++){
		box = document.forms['frmCaptcha'].elements[i];
		if (i==4 || i==5 || i==11 || i==12){
			continue;
		}
		if (!box.value || box.value == "dd" || box.value == "yyyy") {
			document.getElementById(box.name).className="txtInvalid";
			//alert('You haven\'t filled in ' + box.name + '!');
			box.focus();
		}
		else{
			document.getElementById(box.name).className="";
		}		
	}
	for(var l=0;l<lenNum;l++){
		if(pid==""){
			document.getElementById("txtId").className="txtInvalid";
			break;
		}		
		else if(pid==arrNum[l]){
			alert("Your ID is invalid! Please type again!");
			document.getElementById("txtId").className="txtInvalid";
			break;
		}
		else{
			document.getElementById("txtId").className="";
		}
	}
	for(var j=0;j<lenEmail;j++){
		if(email==""){
			document.getElementById("txtEmail").className="txtInvalid";
			break;
		}
		else if(reg.test(email)==false){
			alert("Your E-mail is invalid! Please type again!");
			document.getElementById("txtEmail").className="txtInvalid";
			break;
		}
		else if(email==arrEmail[j]){
			alert("Your E-mail is exist! Please type again!");
			document.getElementById("txtEmail").className="txtInvalid";
			break;
		}
		else{
			document.getElementById("txtEmail").className="";
		}
	}
	if(password != confirm_pass || result < 6){
		alert("Passwords does not match or are invalid! Please type again!");
		document.getElementById("txtPassword").className="txtInvalid";
		document.getElementById("txtConfirm").className="txtInvalid";
	}
	else{
		document.getElementById("txtConfirm").className="";
		document.getElementById("txtPassword").className="";
	}
	document.getElementById("txtCaptcha").className="txtInvalid";
		getParam(document.frmCaptcha);	
}
//Called every time our XmlHttpRequest objects state changes  
function updatePage() {
 //Check if our response is ready
 if (receiveReq.readyState == 4) {
	 var test = receiveReq.responseText;
	 var str=test.substring(2,3);
	 if (str==3){
		 
	 document.getElementById('check').innerHTML=receiveReq.responseText;
	 }
	 else{		 
	 	document.getElementById('result').innerHTML='Congragulation';
	 
	 if (receiveReq.responseText!= ""){
		var homeurl=document.frmCaptcha.txtServer.value;
		/*document.getElementById('formregister').style.display = 'none';
		document.getElementById('formshow').style.display = 'inline'; 
		document.getElementById('print_form_register').style.display = 'none';*/
				
		document.getElementById('lbldcu1').innerHTML=document.getElementById('dcu').value;
		document.getElementById('lblFName').innerHTML=document.getElementById('txtFName').value; 
		document.getElementById('lblLName').innerHTML=document.getElementById('txtLName').value; 
		document.getElementById('lblSex').innerHTML=document.getElementById('sex').value;
		document.getElementById('lblId').innerHTML=document.getElementById('txtId').value;
		document.getElementById('lblPosition').innerHTML=document.getElementById('position').value;	
		document.getElementById('lblRank').innerHTML=document.getElementById('rank').value;
		document.getElementById('lbldcu').innerHTML=document.getElementById('dcu').value; 
		document.getElementById('lblHouse').innerHTML=document.getElementById('txtHouse').value; 
		document.getElementById('lblStreet').innerHTML=document.getElementById('txtStreet').value; 
		document.getElementById('lblGroup').innerHTML=document.getElementById('txtGroup').value; 
		document.getElementById('lblCommune').innerHTML=document.getElementById('txtCommune').value; 
		document.getElementById('lblCity').innerHTML=document.getElementById('txtCity').value; 
		document.getElementById('lblCapital').innerHTML=document.getElementById('txtCapital').value; 
		document.getElementById('lblPhone').innerHTML=document.getElementById('txtPhone').value; 
		document.getElementById('lblEmail').innerHTML=document.getElementById('txtEmail').value; 
		
		//Clickheretoprint();		
		window.location = homeurl+"/?congragulation&print_id="+receiveReq.responseText;
		document.getElementById('txtFName').value='';
		document.getElementById('txtLName').value='';
		document.getElementById('sex').value='';
		document.getElementById('dcu').value='';
		document.getElementById('txtId').value='';
		document.getElementById('rank').value='';
		document.getElementById('position').value='';
		document.getElementById('month').value='';
		document.getElementById('txtDay').value='dd';
		document.getElementById('txtYear').value='yyyy';
		document.getElementById('txtHouse').value='';
		document.getElementById('txtStreet').value='';
		document.getElementById('txtGroup').value='';
		document.getElementById('txtCommune').value='';
		document.getElementById('txtCity').value='';
		document.getElementById('txtCapital').value='';
		document.getElementById('txtPhone').value='';
		document.getElementById('txtEmail').value='';
		document.getElementById('txtPassword').value='';
		document.getElementById('txtConfirm').value='';
		document.getElementById('txtCaptcha').value='';
		
		
	 	}
	 }
   //Get a reference to CAPTCHA image
   img = document.getElementById('imgCaptcha'); 
   //Change the image
   var homeurl=document.frmCaptcha.txtServer.value;
   img.src = homeurl+'/content/plugins/registration/securimage_show.php?' + Math.random();
 }	
}


//Called every time when form is perfomed
function getParam(theForm) {
	
 //Set the URL
 var homeurl=theForm.txtServer.value;
 var url = homeurl+'/content/plugins/registration/captcha.php';
 //Set up the parameters of our AJAX call
 var postStr = theForm.txtCaptcha.name + "=" + theForm.txtCaptcha.value + "&" + theForm.txtFName.name + "=" + theForm.txtFName.value + "&" + theForm.txtLName.name + "=" + theForm.txtLName.value + "&" + theForm.sex.name + "=" + theForm.sex.value + "&" + theForm.dcu.name + "=" + theForm.dcu.value + "&" + theForm.txtId.name + "=" + theForm.txtId.value + "&" + theForm.rank.name + "=" + theForm.rank.value + "&" + theForm.position.name + "=" + theForm.position.value + "&" + theForm.month.name + "=" + theForm.month.value + "&" + theForm.txtDay.name + "=" + theForm.txtDay.value + "&" + theForm.txtYear.name + "=" + theForm.txtYear.value + "&" + theForm.txtHouse.name + "=" + theForm.txtHouse.value + "&" + theForm.txtStreet.name + "=" + theForm.txtStreet.value + "&" + theForm.txtGroup.name + "=" + theForm.txtGroup.value + "&" + theForm.txtCommune.name + "=" + theForm.txtCommune.value + "&" + theForm.txtCity.name + "=" + theForm.txtCity.value + "&" + theForm.txtCapital.name + "=" + theForm.txtCapital.value + "&" + theForm.txtPhone.name + "=" + theForm.txtPhone.value + "&" + theForm.txtEmail.name + "=" + theForm.txtEmail.value + "&" + theForm.txtPassword.name + "=" + theForm.txtPassword.value + "&" + theForm.txtConfirm.name + "=" + theForm.txtConfirm.value;
 //Call the function that initiate the AJAX request
 makeRequest(url, postStr);
}

