// JavaScript Document


function validate()
{	
	var validate = false;
	validate = CheckNull('Name', 'Name');
	if(!validate)

	{	
		return validate;
	}

	
//	validate = CheckNull('email', 'Email');

//	if(!validate)

//	{	

//		return validate;

//	}

	validate = CheckNull('Company', 'Company');

	if(!validate)

	{	
		return validate;
	}
	

	validate = CheckNull('phone', 'Work Phone');

	if(!validate)

	{	
		return validate;
	}
	

	validate = CheckPhoneX('phone', 'Work Phone');
	if(!validate)

	{	
		return validate;
	}
	

	validate = CheckPhoneX('cellphone', 'Cell Phone');
	if(!validate)

	{	
		return validate;
	}
	

	validate = CheckEmail('email');
	if(!validate)

	{	
		return validate;
	}

	
	return validate;

}



function trim(a){

	var tmp=new Array();

	for(j=0;j<a.length;j++)

		if(a[j]!=' ')

			tmp[tmp.length]=a[j];

	a.length=tmp.length;

	for(j=0;j<tmp.length;j++)

		a[j]=tmp[j];

	return a;

}


//=================check Zip

function CheckZip(zipID) {

var zip=document.getElementById(zipID);

var zipValue = zip.value;

var valid = "0123456789-";

var hyphencount = 0;



if ((zipValue.length!=5) && (zipValue.length!=10)) {

alert("Invalid Zip/Postal code3243.");

zip.value = "";

zip.focus();

return false;

}

for (var i=0; i < zipValue.length; i++) {

temp = "" + zipValue.substring(i, i+1);

if (temp == "-") hyphencount++;

if (valid.indexOf(temp) == "-1") {

alert("Invalid Zip/Postal code.");

zip.value = "";

zip.focus();

return false;

}

if ((hyphencount > 1) || ((zipValue.length==10) && ""+zipValue.charAt(5)!="-")) {

alert("The hyphen character should be used with a properly formatted 5 digit+four zip code, like '12345-6789'.   Please try again.");

zip.value = "";

zip.focus();

return false;

   }

}

return true;

}

//==================end check Zip



//================check null

function CheckNull(objID, msg){

	var obj=document.getElementById(objID);

	var text = obj.value;

	text = text.replace(/^\s*|\s*$/g,"");

//	alert('==' + text + '==');

	if ((text==null)||(text=="")){

		alert(msg + " cannot be empty.")

		obj.focus()

		return false

	}

	return true;

}



function CheckNullMulti(objID1,objID2,objID3, msg){

	var obj1=document.getElementById(objID1);

	var obj2=document.getElementById(objID2);

	var obj3=document.getElementById(objID3);

	

	var text1 = obj1.value;

	text1 = text1.replace(/^\s*|\s*$/g,"");

	

	var text2 = obj2.value;

	text2 = text2.replace(/^\s*|\s*$/g,"");

	

	var text3 = obj3.value;

	text3 = text3.replace(/^\s*|\s*$/g,"");	

	

	if( ((text1==null)||(text1=="")) && ((text2==null)||(text2=="")) && ((text3==null)||(text3=="")) ){

		alert(msg + " cannot be empty.")

		obj1.focus()

		return false

	}

	return true;

}



//================end check null



//================check address

function CheckAddress(addr01ID, addr02ID){



	var addr01=document.getElementById(addr01ID);

	var addr02=document.getElementById(addr02ID);

	if ((addr01.value==null)||(addr01.value=="")){

		if((addr02.value==null)||(addr02.value==""))

		{

			alert("Address cannot be empty.")

			addr01.focus()

			return false

		}

		else

		{

			return true;

		}

	}

	return true;

}

//================end check address



//=======================================email validation

function echeck(str) {

		var at="@"

		var dot="."

		var lat=str.indexOf(at)

		var lstr=str.length

		var ldot=str.indexOf(dot)

		if (str.indexOf(at)==-1){

		   alert("Invalid Email address.");

		   return false

		}



		if (str.indexOf(at)==-1 || str.indexOf(at)==0 || str.indexOf(at)==lstr){

		   alert("Invalid Email address.");

		   return false

		}



		if (str.indexOf(dot)==-1 || str.indexOf(dot)==0 || str.indexOf(dot)==lstr){

		    alert("Invalid Email address.");

		    return false

		}



		 if (str.indexOf(at,(lat+1))!=-1){

		    alert("Invalid Email address.");

		    return false

		 }



		 if (str.substring(lat-1,lat)==dot || str.substring(lat+1,lat+2)==dot){

		    alert("Invalid Email address.");

		    return false

		 }



		 if (str.indexOf(dot,(lat+2))==-1){

		    alert("Invalid Email address.");

		    return false

		 }

		

		 if (str.indexOf(" ")!=-1){

		    alert("Invalid Email address.");

		    return false

		 }



 		 return true					

	}



function CheckEmail(email){

	var emailID=document.getElementById(email);

	var text = emailID.value;

	text = text.replace(/^\s*|\s*$/g,"");

	

	if ((text==null)||(text=="")){

		alert("Email address cannot be empty.")

		emailID.focus()

		return false

	}

	if (echeck(text)==false){

		emailID.value=""

		emailID.focus()

		return false

	}

	return true

 }

//===================================end email validation



//===================================phone validation

// Declaring required variables

var digits = "0123456789";

// non-digit characters which are allowed in phone numbers

var phoneNumberDelimiters = "()- ";

// characters which are allowed in international phone numbers

// (a leading + is OK)

var validWorldPhoneChars = phoneNumberDelimiters + "+";

// Minimum no of digits in an international phone no.

var minDigitsInIPhoneNumber = 10;



function isInteger(s)

{   var i;

    for (i = 0; i < s.length; i++)

    {   

        // Check that current character is number.

        var c = s.charAt(i);

        if (((c < "0") || (c > "9"))) return false;

    }

    // All characters are numbers.

    return true;

}



function stripCharsInBag(s, bag)

{   var i;

    var returnString = "";

    // Search through string's characters one by one.

    // If character is not in bag, append to returnString.

    for (i = 0; i < s.length; i++)

    {   

        // Check that current character isn't whitespace.

        var c = s.charAt(i);

        if (bag.indexOf(c) == -1) returnString += c;

    }

    return returnString;

}



function checkInternationalPhone(strPhone){

	s=stripCharsInBag(strPhone,validWorldPhoneChars);

	return (isInteger(s) && s.length >= minDigitsInIPhoneNumber);

}



function CheckPhone(phone, msg){

	var Phone=document.getElementById(phone);

	var text = Phone.value;

	text = text.replace(/^\s*|\s*$/g,"");

	

	if ((text==null)||(text=="")){

		alert(msg + " cannot be empty");

		Phone.focus()

		return false

	}

	if (checkInternationalPhone(text)==false){

		alert("Invalid " + msg);

		Phone.value=""

		Phone.focus()

		return false

		

	}

	return true

}



function CheckPhoneX(phone, msg){

	var Phone=document.getElementById(phone);

	var text = Phone.value;

	text = text.replace(/^\s*|\s*$/g,"");

	

	if ((text==null)||(text=="")){

		return true;

	}

	if (checkInternationalPhone(text)==false){

		alert("Invalid " + msg);

		Phone.value=""

		Phone.focus()

		return false

	}

	return true

}


//=====================================end phone validation

