function trim(s)
{
  return s.replace(/^\s+|\s+$/, '');
}

function emailValidate(fld) {
    var tfld = trim(fld.value);  // value of field with whitespace trimmed off
    var emailFilter = /^[^@]+@[^@.]+\.[^@]*\w\w$/ ;
    var illegalChars= /[\(\)\<\>\,\;\:\\\"\[\]]/ ;
   
    if (fld.value == "") {
        fld.style.border="2px solid red";
    } else if (!emailFilter.test(tfld)) {
        fld.style.border="2px solid red";
    } else if (fld.value.match(illegalChars)) {
        fld.style.border="2px solid red";
    } else {
        fld.style.border='';
    }
}


function phoneValidate(fld) { 
	var stripped = fld.value.replace(/[\(\)\.\-\ ]/g, ''); 
	if (isNaN(parseInt(stripped))) { 
		fld.style.border="2px solid red"; 
	} else if (stripped.length < 10) {  
		fld.style.border="2px solid red"; 
	} else {
		fld.style.border=''; 
	}
} 
/*
function phoneValidate(fld) {
  	//regular expression for phone number format (xxx-xxx-xxxx)
 	var phoneFilter = /^[0-9]{3}-[0-9]{3}-[0-9]{4}$/ ;
 	if (!fld.value.match(phoneFilter)) {
		document.supplier_feedback.phone.style.border="2px solid red"; 
	}else{ 
		document.supplier_feedback.phone.style.border='';
	}
}
*/
function nameValidate(fld){
	var alphaExp = /^[a-zA-Z\- ]+$/ ;
	if(!fld.value.match(alphaExp)){ 
		document.supplier_feedback.name.style.border="2px solid red";
	}else{
		document.supplier_feedback.name.style.border='';
	}
}

function companyValidate(fld){
	if (fld.value==null || fld.value.length == 0){
		document.supplier_feedback.company.style.border="2px solid red";
	}else{
		document.supplier_feedback.company.style.border='';
	}
} 

/*
function commentValidate(entered){
	// Emptyfield Validate by Henrik Petersen / NetKontoret
	// Explained at www.echoecho.com/jsforms.htm
	// Please do not remove this line and the two lines above.
	with (entered){
		if (value==null || value.length < 2){
			document.supplier_feedback.comment.style.border="2px solid red";
			return false;
		}
		else {
			document.supplier_feedback.comment.style.border='';
		}
	}
} 

function poValidate(fld){
	if (isNaN(fld.value)){
		fld.style.border="2px solid red";	
	}else{
		fld.style.border='';	
	}
}

function quoteValidate(fld){
	if (isNaN(fld.value)){
		fld.style.border="2px solid red";	
	}else{
		fld.style.border='';	
	}
}

function dateValidate(fld){
	if (fld.length < 1){
		fld.style.border="2px solid red";	
	}else{
		fld.style.border='';	
	}
}

function locationValidate(fld){
	if (fld.length < 1){
		fld.style.border="2px solid red";	
	}else{
		fld.style.border='';	
	}
}
*/

function validateOnSubmit(fld) {
	
	var tfld = trim(document.supplier_feedback.email.value);  // value of field with whitespace trimmed off
    var emailFilter = /^[^@]+@[^@.]+\.[^@]*\w\w$/ ;
    var illegalChars= /[\(\)\<\>\,\;\:\\\"\[\]]/ ;	
	
	var stripped = document.supplier_feedback.phone.value.replace(/[\(\)\.\-\ ]/g, ''); 
	
	var alphaExp = /^[a-zA-Z\- ]+$/ ;
	
	/* checkbox validation omission
	var error1 = 0;
	var error2 = 0;
	var error3 = 0;
	var error4 = 0;
		
	for (var j = 0; j < 3; j++){
		if(document.supplier_feedback.question_one[j].checked == false){
		  error1++;
		}
	}
	if(error1 == 2){
		var error1 = 0;	
	}
	for (var k = 0; k < 3; k++){
		if(document.supplier_feedback.question_two[k].checked == false){
		  error2++;
		}
	}
	if(error2 == 2){
		var error2 = 0;	
	}
	for (var l = 0; l < 3; l++){
		if(document.supplier_feedback.question_three[l].checked == false){
		  error3++;
		}
	}
	if(error3 == 2){
		var error3 = 0;	
	}
	for (var m = 0; m < 3; m++){
		if(document.supplier_feedback.question_four[m].checked == false){ 
		  error4++;
		}
	}
	if(error4 == 2){
		var error4 = 0;	
	}
	*/
		
	if(document.supplier_feedback.name){
		
		if(document.supplier_feedback.name.value.length < 2){
			document.supplier_feedback.name.style.border="2px solid red";
			return false;	
		} else if(!document.supplier_feedback.name.value.match(alphaExp)){
			document.supplier_feedback.name.style.border="2px solid red";
			alert("Only letters, dashes, and spaces allowed in your name");
			return false;


		} else if(document.supplier_feedback.company.value.length == null || document.supplier_feedback.company.value.length == 0){
			document.supplier_feedback.company.style.border="2px solid red";
			return false;
			
			
		} else if(document.supplier_feedback.email.value == "") {
			document.supplier_feedback.email.style.border="2px solid red";
			return false;
		} else if(!emailFilter.test(tfld)) {
			document.supplier_feedback.email.style.border="2px solid red";
			alert("Please enter a valid email address");
			return false;
		} else if(document.supplier_feedback.email.value.match(illegalChars)) {
			document.supplier_feedback.email.style.border="2px solid red";
			alert("The email address contains illegal characters");
			return false;
						

		} else if (isNaN(parseInt(stripped))) {
			document.supplier_feedback.phone.style.border="2px solid red";
			return false;
		} else if (stripped.length < 10){
			alert('Your phone number must be atleast 10 digits');
			document.supplier_feedback.phone.style.border="2px solid red";
			return false;
			
		/*
		} else if(isNaN(document.supplier_feedback.po.value)){
			document.supplier_feedback.po.style.border="2px solid red";
			alert("The P.O. # must be numbers only.");
			return false;
		} else if(document.supplier_feedback.po.value.length < 1){
			document.supplier_feedback.po.style.border="2px solid red";
			return false;


		} else if(isNaN(document.supplier_feedback.quote.value)){
			document.supplier_feedback.quote.style.border="2px solid red";
			alert("The Quote # must be numbers only.");
			return false;
		} else if(document.supplier_feedback.quote.value.length < 1){
			document.supplier_feedback.quote.style.border="2px solid red";
			return false;
			

		} else if(document.supplier_feedback.date.value.length < 1){
			document.supplier_feedback.date.style.border="2px solid red";
			return false;
			
			
		} else if(document.supplier_feedback.location.value.length < 1){
			document.supplier_feedback.location.style.border="2px solid red";
			return false;
			

		} else if(error1 != 0 || error2 != 0 || error3 != 0 || error4 != 0){
			alert("Please answer all of the questions, or select '?' if you are not sure");
			return false;
			

		} else if(document.supplier_feedback.comment.value.length == 0 || document.supplier_feedback.comment.value.length < 2){
			document.supplier_feedback.comment.style.border="2px solid red";
			return false;
		*/

		} else {
			insitePost();
			document.supplier_feedback.email.style.border='';
			document.supplier_feedback.phone.style.border='';
			document.supplier_feedback.company.style.border='';
			document.supplier_feedback.name.style.border='';
			/*
			document.supplier_feedback.comment.style.border='';
			document.supplier_feedback.location.style.border='';
			document.supplier_feedback.date.style.border='';
			document.supplier_feedback.po.style.border='';
			document.supplier_feedback.quote.style.border='';
			*/
			
			var comment = encodeURIComponent(document.supplier_feedback.comment.value);
			for (var i = 0; i < 3; i++){
				if(document.supplier_feedback.question_one[i].checked == true){
					var question_one = document.supplier_feedback.question_one[i].value;
				}
				if(document.supplier_feedback.question_two[i].checked == true){
					var question_two = document.supplier_feedback.question_two[i].value;
				}
				if(document.supplier_feedback.question_three[i].checked == true){
					var question_three = document.supplier_feedback.question_three[i].value;
				}
				if(document.supplier_feedback.question_four[i].checked == true){
					var question_four = document.supplier_feedback.question_four[i].value;
				}	
			}
			var location = encodeURIComponent(document.supplier_feedback.location.value);
			var date = encodeURIComponent(document.supplier_feedback.date.value);
			var po = encodeURIComponent(document.supplier_feedback.po.value);
			var quote = encodeURIComponent(document.supplier_feedback.quote.value);
			var email = document.supplier_feedback.email.value;
			var phone = document.supplier_feedback.phone.value;
			var company = encodeURIComponent(document.supplier_feedback.company.value);
			var name = encodeURIComponent(document.supplier_feedback.name.value);
			
			sendEmail(comment, question_one, question_two, question_three, question_four, location, date, po, quote, email, phone, company, name);
		} 
	}
}

function insitePost(fld) {
	d = document.forms[0];
	//save the action to insite metrics for tracking
	url = "http://www.topfloortech.com/insitemetrics/uRMJ/uniformv2.php";
	url += "?actk=cweavw-3jgs743hvl"; //unique action key
	url += "&imReferrerField=" + escape(document.referrer);
	url += "&name=" + escape(d.name.value);
	url += "&company=" + escape(d.company.value);
	url += "&imEmailField=" + escape(d.email.value);
	url += "&phone=" + escape(d.phone.value);
	url += "&po=" + escape(d.po.value);
	url += "&quote=" + escape(d.quote.value);
	url += "&date=" + escape(d.date.value);
	url += "&location=" + escape(d.location.value);
	url += "&question_one=" + escape(get_radio_value(d.question_one));
	url += "&question_two=" + escape(get_radio_value(d.question_two));
	url += "&question_three=" + escape(get_radio_value(d.question_three));
	url += "&question_four=" + escape(get_radio_value(d.question_four));
	url += "&comment=" + escape(d.comment.value);
	img = new Image(0,0);
 	setTimeout(function(){img.src = url;},500);
}
function get_radio_value(el){
for (var i=0; i < el.length; i++)
   if (el[i].checked) return el[i].value;
}

function resetStyles(){
	/*
	document.supplier_feedback.comment.style.border='';
	document.supplier_feedback.location.style.border='';
	document.supplier_feedback.date.style.border='';
	document.supplier_feedback.po.style.border='';
	document.supplier_feedback.quote.style.border='';
	*/
	document.supplier_feedback.email.style.border='';
	document.supplier_feedback.phone.style.border='';
	document.supplier_feedback.company.style.border='';
	document.supplier_feedback.name.style.border='';		
}

function GetXmlHttpObject(){
	var xmlHttp=null;
	try{xmlHttp=new XMLHttpRequest();// Firefox, Opera 8.0+, Safari
	}catch (e){
		try{// Internet Explorer
			xmlHttp=new ActiveXObject("Msxml2.XMLHTTP");
		}catch (e){
			xmlHttp=new ActiveXObject("Microsoft.XMLHTTP");
		}
	}
	return xmlHttp;
}

function sendEmail(comment, question_one, question_two, question_three, question_four, location, date, po, quote, email, phone, company, name){
	document.getElementById('feedback_form').innerHTML = '<span class="loader"><img src="images/loader.gif" height="15" width="128" alt=""></span>'; 
	xmlHttp=GetXmlHttpObject();
	if (xmlHttp==null){
		//alert("Your browser does not support AJAX!");
		document.getElementById('feedback_form').innerHTML = '<p class="mailFailed" style="font-size:10pt">Your browser does not support AJAX</p>'; 
		return;
	}
	var url="forms/send_supplier_feedback.php";
	url=url+"?name="+document.supplier_feedback.name.value+"&company="+document.supplier_feedback.company.value+"&phone="+document.supplier_feedback.phone.value+"&email="+document.supplier_feedback.email.value+"&po="+document.supplier_feedback.po.value+"&quote="+document.supplier_feedback.quote.value+"&date="+document.supplier_feedback.date.value+"&location="+document.supplier_feedback.location.value+"&question_four="+question_four+"&question_three="+question_three+"&question_two="+question_two+"&question_one="+question_one+"&comment="+document.supplier_feedback.comment.value;
	url=url+"&rand="+Math.random();
	xmlHttp.onreadystatechange=function(){
		if (xmlHttp.readyState == 4 || xmlHttp.readyState == "complete") {
			if (xmlHttp.status == 200) {
				mailSent=xmlHttp.responseText;
				if(mailSent==true){
					window.location = "thankyou_feedback_survey.php";
				}
			} else {
				mailSent='<p class="mailFailed" style="font-size:10pt">* Submission error. Please try again.</p>';
				document.getElementById('feedback_form').innerHTML = mailSent;
			}
		}
	}
	xmlHttp.open("GET",url,true);
	xmlHttp.send(null);
}