// JavaScript Document


function validateForm(contact)
{
  var str = document.contact.email.value;
  var str2 = document.contact.name.value;
  var info = document.contact.information.value;
  var cinfo = document.contact.curl.value;
  var regex = /^(\w+(?:\.\w+)*)@((?:\w+\.)*\w[\w-]{0,66})\.([a-z]{2,6}(?:\.[a-z]{2})?)$/i;
  var regex3 = /^[0-9a-zA-Z]+([0-9a-zA-Z\ \.])*$/;
  var regexp2 = /(ftp|http|https):\/\/(\w+:{0,1}\w*@)?(\S+)(:[0-9]+)?(\/|\/([\w#!:.?+=&%@!\-\/]))?/;

  	if(!regex3.test(str2))
  	{
    alert( "Please enter your valid name." );
    contact.name.value = "";
    contact.name.focus();
    return false ;
  	}
	
		
   	else if(!regex.test(str))
  	{
    alert( "Please enter your valid Email address." );
    contact.email.value = "";
    contact.email.focus();
    return false ;
  	}
	
	else if(!isValidPhoneNumber(contact.phone.value))
	{
	alert("Enter Valid Phone No." );
	contact.phone.value = "";
	contact.phone.focus();
	return false;
	}
  
  	else if(!(contact.phone.value.length >= 10)) 
	{
	alert("Enter Valid Contact Number !" );
    contact.phone.focus();
    return false ;	
	}
	
  	else if(!contact.checkbox1.checked && !contact.checkbox2.checked && !contact.checkbox3.checked && !contact.checkbox4.checked && !contact.checkbox5.checked && !contact.checkbox6.checked && !contact.checkbox7.checked && !contact.checkbox8.checked && !contact.checkbox9.checked && !contact.checkbox10.checked && !contact.checkbox11.checked && !contact.checkbox12.checked)
  	{
	alert("Please select atleast one service.");
	return false; 
	}
  
   	else if(contact.information.value == "") 
  	{
    alert( "Please enter your information." );
    contact.information.focus();
    return false ;
  	}
	
	else if(regexp2.test(info))
  	{
    alert( "URL can not be enter in the msg." );
    contact.information.focus();
    return false ;
	}
	
	else if(contact.cap.value == "") 
  	{
    alert( "Please Enter Code." );
    //contact.cap.value = "fill here";
    contact.cap.focus();
    return false ;
  	}
  
    else if(!contact.accept.checked)
  	{
	alert("Please select Terms and Conditions.");
	return false; 
	}
	
	
	
	else if (contact.information.value != "") 
  	{
		if(regexp2.test(info))
		{
	  	if (contact.information.value.indexOf(info) != -1) 
  		{
    	alert( "URL can not be enter in the msg." );
		contact.information.focus();
	    return false;
  		}
		}
	}
	
	else if(cinfo != "")
	{
	if(!regexp2.test(cinfo))
  	{
    alert( "URL can be entered starting with http://" );
    contact.curl.value = "";
    contact.curl.focus();
    return false ;
	}
	}
	
	
}

function isValidPhoneNumber(TheNumber) 
	{
		var valid = 1
		var GoodChars = "0123456789()-+ "
		var i = 0
		if (TheNumber=="") {
			// Return false if number is empty
			valid = 0
		}
		for (i =0; i <= TheNumber.length -1; i++) {
			if (GoodChars.indexOf(TheNumber.charAt(i)) == -1) {
				valid = 0
			} // End if statement
		} // End for loop
		return valid
	}	
	
function isUrl(s) 
{
var regexp = /(ftp|http|https):\/\/(\w+:{0,1}\w*@)?(\S+)(:[0-9]+)?(\/|\/([\w#!:.?+=&%@!\-\/]))?/
return regexp.test(s);
}
	
function IsEmail(oObject) {
	var emailStr=oObject;
	var emailPat=/^(.+)@(.+)$/;
	var specialChars="\\(\\)<>@,;:\\\\\\\"\\.\\[\\]";
	var validChars="\[^\\s" + specialChars + "\]";
	var quotedUser="(\"[^\"]*\")";
	var ipDomainPat=/^\[(\d{1,3})\.(\d{1,3})\.(\d{1,3})\.(\d{1,3})\]$/;
	var atom=validChars + '+';
	var word="(" + atom + "|" + quotedUser + ")";
	var userPat=new RegExp("^" + word + "(\\." + word + ")*$");
	var domainPat=new RegExp("^" + atom + "(\\." + atom +")*$");
	var matchArray=emailStr.match(emailPat);
	if (matchArray==null) {
		alert("Email address seems incorrect (check @ and .'s)");
		return false;
	}
	var user=matchArray[1];
	var domain=matchArray[2];
	if (user.match(userPat)==null) {
		alert("The username doesn't seem to be valid. Please check or register fresh");
		return false;
	}
	var IPArray=domain.match(ipDomainPat);
	if (IPArray!=null) {
		for (var i=1;i<=4;i++) {
			if (IPArray[i]>255) {
				alert("Destination IP address is invalid!");
				return false;
			}
		}
		return true;
	}
	var domainArray=domain.match(domainPat);
	if (domainArray==null) {
		alert("The domain name doesn't seem to be valid.");
		return false;
	}
	var atomPat=new RegExp(atom,"g");
	var domArr=domain.match(atomPat);
	var len=domArr.length;
	if (domArr[domArr.length-1].length<2 || domArr[domArr.length-1].length>4) {
		alert("The address must end in a three-letter domain, or two letter country.");
		return false;
	}
	if (len<2) {
		var errStr="This address is missing a hostname!";
		alert(errStr);
		return false;
	}
	return true;
}

	
