function val_chk1(theForm)

	{

		

		var reason="";

		

		

		reason+=validateEmpty(theForm.form1);

		reason+=validatePhone(theForm.phone);

		reason+=validateEmail1(theForm.email);

		

		//alert(reason);

		if (reason != "")

	 	 {

    		alert("Some fields need correction:\n" + reason);

    		return false;

 	 	 }

		 else

		 {

	  		return true;

		}

		

		

	}



function validateEmpty(fld)

{

	

	var error = "";

	

	if(document.form1.name.value=="")

	{

		error="Please enter  name.\n";

		document.form1.name.style.background='Yellow';

	}

	

	else if(document.form1.name.value!="")

	{

		

		document.form1.name.style.background='#ffffff';

	}

	if(document.form1.company.value=="")

	{

		error=error+"Please enter company name.\n";

		document.form1.company.style.background='Yellow';

	}

	

	else if(document.form1.company.value!="")

	{

		

		document.form1.company.style.background='#ffffff';

	}

	if(document.form1.service.value=="")

	{

		error=error+"Please select proper category.\n";

		document.form1.service.style.background='Yellow';

	}

	

	else if(document.form1.service.value!="")

	{

		

		document.form1.service.style.background='#ffffff';

	}

	if(document.form1.work_type.value=="")

	{

		error=error+"Please select proper Work type.\n";

		document.form1.work_type.style.background='Yellow';

	}

	

	else if(document.form1.work_type.value!="")

	{

		

		document.form1.work_type.style.background='#ffffff';

	}

	if(document.form1.budget.value=="")

	{

	    error=error+"Please enter  buget.\n";

		document.form1.budget.style.background='Yellow';

		

	}

	else if(document.form1.budget.value!="")

	{

	  document.form1.budget.style.background='#ffffff';

	}

	if(document.form1.details.value=="")

	{

	    error=error+"Please enter descriptions.\n";

		document.form1.details.style.background='Yellow';

		

	}

	else if(document.form1.details.value!="")

	{

	  document.form1.details.style.background='#ffffff';

	}

	

	

	

 

	

    return error; 

}





function validateEmail1(fld)

{

	

	var error="";

	var tfld=fld.value.replace(/^\s+|\s+$/,'');

	var emailFilter=/^[^@]+@[^@.]+\.[^@]*\w\w$/;

	var illegalChars=/[\(\)\<\>\,\;\:\\\"\[\]]/ ;

	

	if(fld.value=="")

	{

		fld.style.background='Yellow';

		error="Please enter an email address.\n";

	}

	else if(!emailFilter.test(tfld))

	{

		fld.style.background='Yellow';

		error="Please enter valid email address.\n";

	}

	else if(fld.value.match(illegalChars))

	{

		fld.style.backgound='Yellow';

		error="Email address contain illegal chararacters.\n"

	}

	else

	{

		fld.style.background='#ffffff';

	}

	return error;

}

function validatePhone(fld)

{



// 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 trim(s)

{   var i;

    var returnString = "";

    // Search through string's characters one by one.

    // If character is not a whitespace, append to returnString.

    for (i = 0; i < s.length; i++)

    {   

        // Check that current character isn't whitespace.

        var c = s.charAt(i);

        if (c != " ") returnString += c;

    }

    return returnString;

}

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){

var bracket=3

strPhone=trim(strPhone)

if(strPhone.indexOf("+")>1) return false

if(strPhone.indexOf("-")!=-1)bracket=bracket+1

if(strPhone.indexOf("(")!=-1 && strPhone.indexOf("(")>bracket)return false

var brchr=strPhone.indexOf("(")

if(strPhone.indexOf("(")!=-1 && strPhone.charAt(brchr+2)!=")")return false

if(strPhone.indexOf("(")==-1 && strPhone.indexOf(")")!=-1)return false

s=stripCharsInBag(strPhone,validWorldPhoneChars);

return (isInteger(s) && s.length >= minDigitsInIPhoneNumber);

}

	

   if (fld.value == "") {

   		

			error = "Please enter a contact number.\n"

			fld.style.background = 'Yellow';

		

		

        

    }else if (checkInternationalPhone(fld.value)==false){

		error = "Please enter valid contact number.\n"

		fld.style.background = 'Yellow';

		

	}

	else

	{

		fld.style.background = '#ffffff';

		error ="";

	}

	

    return error;

}

function resetvalue()

{

	document.form1.name.style.background='#ffffff';

	document.form1.company.style.background='#ffffff';

	document.form1.service.style.background='#ffffff';

	document.form1.work_type.style.background='#ffffff';

	document.form1.budget.style.background='#ffffff';

	document.form1.details.style.background='#ffffff';

	document.form1.phone.style.background='#ffffff';

	document.form1.email.style.background='#ffffff';

}


