//Function to create an XMLHttp Object.
function getxmlhttp (){
	//Create a boolean variable to check for a valid microsoft active X instance.
	var xmlhttp = false;
	
	//Check if we are using internet explorer.
	try {
		//If the javascript version is greater than 5.
		xmlhttp = new ActiveXObject("Msxml2.XMLHTTP");
	} catch (e) {
		//If not, then use the older active x object.
		try {
			//If we are using internet explorer.
			xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
		} catch (E) {
			//Else we must be using a non-internet explorer browser.
			xmlhttp = false;
		}
	}
	
	//If we are using a non-internet explorer browser, create a javascript instance of the object.
	if (!xmlhttp && typeof XMLHttpRequest != 'undefined') {
		xmlhttp = new XMLHttpRequest();
	}
	
	return xmlhttp;
}

function check_validity_mainform (serverPage, obj, str, mainform){		
	//Run the validate script.
	if (valid_mainform_doc(mainform)){
		xmlhttp = getxmlhttp();
		xmlhttp.open("POST", serverPage, true);
		xmlhttp.setRequestHeader("Content-Type","application/x-www-form-urlencoded; charset=UTF-8");
		xmlhttp.onreadystatechange = function() {
			if (xmlhttp.readyState == 4 && xmlhttp.status == 200) {
				document.getElementById(obj).innerHTML = xmlhttp.responseText;
			}
		}
		xmlhttp.send(str);
	}
}

function trim(inputString) {
   // Removes leading and trailing spaces from the passed string. Also removes
   // consecutive spaces and replaces it with one space. If something besides
   // a string is passed in (null, custom object, etc.) then return the input.
   if (typeof inputString != "string") { return inputString; }
   var retValue = inputString;
   var ch = retValue.substring(0, 1);
   while (ch == " ") { // Check for spaces at the beginning of the string
	  retValue = retValue.substring(1, retValue.length);
	  ch = retValue.substring(0, 1);
   }
   ch = retValue.substring(retValue.length-1, retValue.length);
   while (ch == " ") { // Check for spaces at the end of the string
	  retValue = retValue.substring(0, retValue.length-1);
	  ch = retValue.substring(retValue.length-1, retValue.length);
   }
   while (retValue.indexOf("  ") != -1) { // Note that there are two spaces in the string - look for multiple spaces within the string
	  retValue = retValue.substring(0, retValue.indexOf("  ")) + retValue.substring(retValue.indexOf("  ")+1, retValue.length); // Again, there are two spaces in each of the strings
   }
   return retValue; // Return the trimmed string back to the user
} // Ends the "trim" function			


//Functions to submit a form.
function getformvalues (fobj){
	
	var str = "";
			
	//Run through a list of all objects contained within the form.
	for(var i = 0; i < fobj.elements.length; i++){
		str += fobj.elements[i].name + "=" + escape(fobj.elements[i].value) + "&";
	}
	//Then return the string values.
	return str;
}

	//Function to validate email addresses
function validEmail(email){
	invalidChars = " /:,;";
	var str=""; 
	
	if (email == ""){
		return str;
	}
	
	for (i=0; i<invalidChars.length; i++){
		badChar = invalidChars.charAt(i);
		if (email.indexOf(badChar,0) > -1){
			return str;
		}
	}
	atPos = email.indexOf("@",1);
	if (atPos == -1){
		return str;
	}
	if (email.indexOf("@",atPos+1) > -1){
		return str;
	}
	periodPos = email.indexOf(".",atPos);
	if (periodPos+3 > email.length){
		return str;
	}
	return email;
}

//Function to validate the form mailvarify.
function valid_mainform_doc (mainform){

//Name
if (trim (mainform.Name.value) == ""){
alert ("Please insert your name.");
mainform.Name.focus();
return false;
}

//Father
if (trim (mainform.Father.value) == ""){
alert ("Please insert your father name.");
mainform.Father.focus();
return false;
}


//Mother
if (trim (mainform.Mother.value) == ""){
alert ("Please insert your mother name.");
mainform.Mother.focus();
return false;
}

//Address
if (trim (mainform.Address.value) == ""){
alert ("Please insert Address.");
mainform.Address.focus();
return false;
}

//Contact No

if (trim (mainform.Contact.value) == ""){
alert ("Please insert your Contact Number.");
mainform.Contact.focus();
return false;
}

//National ID Card


if (trim (mainform.NationalID.value) == ""){
alert ("Please insert your National ID Card No.");
mainform.NationalID.focus();
return false;
}

//Date Of Birth

if (trim (mainform.DateOfBirth.value) == ""){
alert ("Please insert your Date of Birth.");
mainform.DateOfBirth.focus();
return false;
}

//UserName
if (trim (mainform.username.value) == ""){
alert ("Please insert your UserName.");
mainform.username.focus();
return false;
}

//Password

if (trim (mainform.password.value) == ""){
alert ("Please insert your password.");
mainform.password.focus();
return false;
}



//Mail
	
if (validEmail (trim (mainform.Mail.value)) == ""){
alert ("Please insert valid e-maill address.");
mainform.Mail.focus();
return false;
}

//Confrimation
if(!confirm("Are you sure you want to submit your\nvalid information for registration?")){
return false;
}
return true;


}

