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 nameValidate(fld){
	var alphaExp = /^[a-zA-Z\- ]+$/ ;
	if(!fld.value.match(alphaExp) || fld.value.length < 2){ 
		document.quick_feedback.name.style.border="2px solid red";
	}else{
		document.quick_feedback.name.style.border='';
	}
}


function validateOnSubmit(fld) {
	
	var tfld = trim(document.quick_feedback.email.value);  // value of field with whitespace trimmed off
    var emailFilter = /^[^@]+@[^@.]+\.[^@]*\w\w$/ ;
    var illegalChars= /[\(\)\<\>\,\;\:\\\"\[\]]/ ;	
	
	var stripped = document.quick_feedback.phone.value.replace(/[\(\)\.\-\ ]/g, ''); 
	
	var alphaExp = /^[a-zA-Z\- ]+$/ ;
		
	if(document.quick_feedback.name){
		
		if(document.quick_feedback.name.value.length < 2){
			document.quick_feedback.name.style.border="2px solid red";
			return false;	
		} else if(!document.quick_feedback.name.value.match(alphaExp)){
			document.quick_feedback.name.style.border="2px solid red";
			alert("Only letters, dashes, and spaces allowed in your name");
			return false;


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

		} else if (isNaN(parseInt(stripped))) {
			document.quick_feedback.phone.style.border="2px solid red";
			return false;
		} else if (stripped.length < 10){
			alert('Your phone number must be atleast 10 digits');
			document.quick_feedback.phone.style.border="2px solid red";
			return false;
			 

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

			
			sendEmail(comment, question_one, question_two, question_three, question_four, question_five, location, date, po, wo, 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-3j4ho17o4p"; //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 += "&wo=" + escape(d.wo.value);
	url += "&po=" + escape(d.po.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 += "&question_five=" + escape(get_radio_value(d.question_five));
	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.quick_feedback.comment.style.border='';
	document.quick_feedback.location.style.border='';
	document.quick_feedback.date.style.border='';
	document.quick_feedback.po.style.border='';
	document.quick_feedback.wo.style.border='';
	*/
	document.quick_feedback.email.style.border='';
	document.quick_feedback.phone.style.border='';
	document.quick_feedback.company.style.border='';
	document.quick_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, question_five, location, date, po, wo, 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_feedback.php";
	url=url+"?name="+document.quick_feedback.name.value+"&company="+document.quick_feedback.company.value+"&phone="+document.quick_feedback.phone.value+"&email="+document.quick_feedback.email.value+"&wo="+document.quick_feedback.wo.value+"&po="+document.quick_feedback.po.value+"&date="+document.quick_feedback.date.value+"&location="+document.quick_feedback.location.value+"&question_five="+question_five+"&question_four="+question_four+"&question_three="+question_three+"&question_two="+question_two+"&question_one="+question_one+"&comment="+document.quick_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.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);
}