	function trimString (str) {
		str = this != window? this : str;
		return str.replace(/^\s+/g, '').replace(/\s+$/g, '');
	}
	String.prototype.trim = trimString;

	function validate(){
		var frm =  document.getElementById('quote');
		if(frm.last_name.value.trim().length == 0){
			alert("Full Name can't be empty");
			return false;
		}
		if(!emailCheck(frm.emailAddress0.value.trim())){
			alert("Enter a valid email");
			return false;
		}
		var phonePattern = /[+\d()-]+/;
		frm.phone_mobile.value = frm.phone_mobile.value.trim();
		if(!phonePattern.test(frm.phone_mobile.value)){
			alert("Enter valid phone number");
			return false;
		}
		if(frm.description.value.trim().length == 0){
			alert("Message can't be empty");
			return false;
		}
		if(frm.nda.checked){
			frm.nda_sent_c.value = "Yes";
		}else{
			frm.nda_sent_c.value = "No";
		}
		return true;


	}


	function emailCheck(emailStr) {
			
		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) {
			return false;
		}
		var user=matchArray[1];
		var domain=matchArray[2];
		if (user.match(userPat)==null) {
			return false;
		}
		var IPArray=domain.match(ipDomainPat)
		if (IPArray!=null) {
			for (var i=1;i<=4;i++) {
				if (IPArray[i]>255) {
					return false;
				}
			}
			return true;
		}
		var domainArray=domain.match(domainPat)
		if (domainArray==null) {
			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) {
			return false;
		}
		if (len<2) {
			return false;
		}
		return true;
	}

	function validate_fullForm(){
		
		var frm = document.getElementById('detailsForm');
		var validated = true;
		
		if(frm.fullName.value.trim().length == 0){
			document.getElementById('fullNameErr').style.display = "inline";
			validated = false;
		}else{
			document.getElementById('fullNameErr').style.display = "none";
		}

		if(frm.designation.value.trim().length == 0){
			document.getElementById('designationErr').style.display = "inline";
			validated = false;
		}else{
			document.getElementById('designationErr').style.display = "none";
		}

		if(frm.company.value.trim().length == 0){
			document.getElementById('companyErr').style.display = "inline";
			validated = false;
		}else{
			document.getElementById('companyErr').style.display = "none";
		}

		if(!emailCheck(frm.email.value.trim())){
			document.getElementById('emailErr').style.display = "inline";
			validated = false;
		}else{
			document.getElementById('emailErr').style.display = "none";
		}

		var phonePattern = /[+\d()-]+/;
		frm.phone.value = frm.phone.value.trim();
		if(!phonePattern.test(frm.phone.value)){
			document.getElementById('phoneErr').style.display = "inline";
			validated = false;
		}else{
			document.getElementById('phoneErr').style.display = "none";
		}
		if(frm.idea.value.trim().length == 0){
			document.getElementById('ideaErr').style.display = "inline";
			validated = false;
		}else{
			document.getElementById('ideaErr').style.display = "none";
		}
		
		if(!document.getElementById('firstAppY').checked){
			if(frm.prevAppDesc.value.trim().length == 0){
				document.getElementById('prevAppErr').style.display = "inline";
				validated = false;
			}else{
				document.getElementById('prevAppErr').style.display = "none";
			}
		}else{
			document.getElementById('prevAppErr').style.display = "none";
		}

		if(document.getElementById('similarAppY').checked){
			if(frm.similarAppDesc.value.trim().length == 0){
				document.getElementById('similarAppErr').style.display = "inline";
				validated = false;
			}else{
				document.getElementById('similarAppErr').style.display = "none";
			}
		}else{
			document.getElementById('similarAppErr').style.display = "none";
		}

		if(frm.budget.value.trim().length == 0){
			document.getElementById('budgetErr').style.display = "inline";
			validated = false;
		}else{
			document.getElementById('budgetErr').style.display = "none";
		}

		if(validated == true){
			return true;
		}else{
			document.getElementById('errorMsg').style.display = "block";
			window.scrollTo(0,0);
			return false;
		}

	}

	
