// temp mailing function
var mailto = "phphnguyen@gmail.com";
var sc = "tempmailing.php";
var frm = "frm_online_appointment";
var validChars="zxcvbnmasdfghjklqwertyuiopZXCVBNMASDFGHJKLQWERTYUIOP";

function toggleIsNewUserSection(targ){
	if(targ.checked){
		document.getElementById('addressinformation').className='reveal';	
		}else{
		document.getElementById('addressinformation').className='hidden';
		}
}

//validating form
function validateEmail(email) {
   if(!email || email=="")
   		return false;
   var regStr = /^([A-Za-z0-9_\-\.])+\@([A-Za-z0-9_\-\.])+\.([A-Za-z]{2,4})$/;
   if(regStr.test(email) == false) {
      return false;
   }else return true;
}
function validatePhoneNumber(num){
	var strPhoneNum = num + "";
	if(strPhoneNum.length!=10) return false;
	try{
		var intPhoneNum = parseInt(strPhoneNum);
		return true;
	}catch(e){
		return false;
	}
}


function stripInvalidCharsFrom(text){
	var newText = text + "";
	var invalidChars = "':\"*&^%$#@!~`|}{][\\";
	for(var i=0;i<invalidChars.length;i++)
		newText.replace(invalidChars[i],"");
	return newText;
}
function runSubmit(){
	var fname = stripInvalidCharsFrom(document.getElementById("firstname").value);
	var lname = stripInvalidCharsFrom(document.getElementById("lastname").value);
	var dayphone1 = document.getElementById("dayphonenumber1").value;
	var dayphone2 = document.getElementById("dayphonenumber2").value;
	var dayphone3 = document.getElementById("dayphonenumber3").value;
	var evephone1 = document.getElementById("evephonenumber1").value;
	var evephone2 = document.getElementById("evephonenumber2").value;
	var evephone3 = document.getElementById("evephonenumber3").value;	
	var isnewcustomer = document.getElementById("isnewcustomer").value;
	var streetname = stripInvalidCharsFrom(document.getElementById("streetname").value);
	var city = stripInvalidCharsFrom(document.getElementById("city").value);
	var state = document.getElementById("state").value;
	var zipcode = document.getElementById("zipcode").value;
	var email = stripInvalidCharsFrom(document.getElementById("email").value);
	var methodofcontact = document.getElementById("contactmethod").value;
	var surveyquestion = document.getElementById("surveyquestion").value;
	var howdidyouhear1 = stripInvalidCharsFrom(document.getElementById("extendsurveyquestion").value);
	var vehicleyear = document.getElementById("car_year").value;
	var vehiclemake = document.getElementById("car_make").value;
	var vehiclemodel = document.getElementById("car_model").value;
	var enginesize = document.getElementById("car_engine_size").value;
	var dateprefer = document.getElementById("date").value;
	var hour = document.getElementById("hour").value;
	var minute = document.getElementById("minute").value;
	var ampm = document.getElementById("ampm").value;
	var serviceprefer = document.getElementById("service").value;
	var desc = stripInvalidCharsFrom(document.getElementById("description").value);
	var noemailing = document.getElementById("20_optout_emails").value;
	//validate form here.value
	var errmsg = "Please assist us with some information below:\n";
	var errCount = 0;
	if(!fname || fname==""){
		errCount++;
		errmsg+=errCount + ". First Name \n";
	}
	if(!lname || lname==""){
		errCount++;
		errmsg+=errCount + ". Last Name \n";
	}
	if(!validatePhoneNumber(dayphone1+dayphone2+dayphone3) ||
		!validatePhoneNumber(evephone1+evephone2+evephone3)){
		errCount++;
		errmsg+=errCount + ". Day phone number of evening phone number \n";	
	}
	if(!validateEmail(email)){
		errCount++;
		errmsg+=errCount + ". Email \n";		
	}
	if(!dateprefer || dateprefer==""){
		errCount++;
		errmsg+=errCount + ". Date Preference \n";		
	}
	
	if(!isPositiveNumber(vehicleyear)){
		errCount++;
		errmsg+=errCount + ". Vehicle\'syear\n";
	}
	if(!vehiclemake ||vehiclemake==""){
		errCount++;
		errmsg+=errCount+". Vehicle\'s make.\n";
	}
	if(!vehiclemodel||vehiclemodel==""){
		errCount++;
		errmsg+=errCount+". Vehicle\'s model.\n";
	}
	if(errCount > 0){
		alert(errmsg);
		return false;
	}
	
	var params = "fname=" + fname + "&" +
				"lname=" + lname + "&" +
				"dayphone=(" + dayphone1 +")"+dayphone2+"-"+dayphone3+"&" +
				"eveningphone=(" + evephone1 +")"+evephone2+"-"+evephone3+"&" +
				"streetname=" + streetname + "&" +
				"city=" + city + "&" +
				"state=" + state +"&" +
				"zipcode=" + zipcode +"&" +
				"email=" + email + "&" +
				"methodofcontact=" + methodofcontact +"&" +
				"howdidyouhear=" + surveyquestion +"&" +
				"howdidyouhear1=" + howdidyouhear1 +"&" +
				"vehicleyear=" + vehicleyear + "&" +
				"vehiclemake=" + vehiclemake +"&" +
				"vehiclemodel=" + vehiclemodel + "&" +
				"enginesize=" + enginesize +"&" +
				"dateprefer=" + dateprefer +"&" +
				"timeprefer=" + hour+":"+ minute+ampm +"&" +
				"serviceprefer=" + serviceprefer +"&" +
				"desc=" + desc + "&" +
				"noemailing=" + noemailing + "&" + 
				"mailto=" + mailto;
	
	var xmlHttp = createXMLHttpObject();
	if(xmlHttp){
		xmlHttp.open("GET",sc + "?" + params ,true);
		xmlHttp.onreadystatechange = function(){
				if(xmlHttp.readyState==4){
					hideLoader();
					if(xmlHttp.status==200){
						if(xmlHttp.responseText=='ok')
							loadPage('thanks.html',frm);
						else{
							alert('Our server is currently busy. Please try again.');
							return false;
						}
					}else{
						alert('Error: ' + xmlHttp.status);	
						return false;
					}
				}else{
					showLoader();
				}
			};
		xmlHttp.setRequestHeader("Content-Type","application/x-www-form-urlencoded;charset=UTF-8");
		xmlHttp.send(null);
	}else{
		alert("Error: Browser doesn't support this function");
		return false;
	}
}


function createXMLHttpObject(){
	var xmlHttpObj;
	try{
		xmlHttpObj = XMLHttpRequest();	
	}catch(e){
		//ie
		var xmlHttpVersions = new Array("MSXML2.XMLHTTP.6.0",
										"MSXML2.XMLHTTP.5.0",
										"MSXML2.XMLHTTP.4.0",
										"MSXML2.XMLHTTP.3.0",
										"MSXML2.XMLHTTP",
										"Microsoft.XMLHTTP");
		for(var i=0; i<xmlHttpVersions.length && !xmlHttpObj;i++){
			try{
				xmlHttpObj = new ActiveXObject(xmlHttpVersions[i]);	
			}catch(e){}
		}
	}
	if(xmlHttpObj) return xmlHttpObj;
	else{
		return null;
	}
}

function loadPage(page,elContainer){
	var accXmlHttp = createXMLHttpObject();
	if(accXmlHttp){
		accXmlHttp.open("GET",page,true);
		accXmlHttp.onreadystatechange = function(){
			if(accXmlHttp.readyState==4){
				hideLoader();
				if(accXmlHttp.status==200){
					document.getElementById(elContainer).innerHTML = accXmlHttp.responseText;
				}else{
					alert("There was a problem opening the request:\n" + accXmlHttp.statusText);
					document.getElementById(elContainer).innerHTML = "Sorry that the file you requested no longer exists. Please check back later.";
				}	
			}else{
				showLoader();
			}
		};
		accXmlHttp.setRequestHeader("Content-Type","application/x-www-form-urlencoded;charset=UTF-8");
		accXmlHttp.send(null);
	}else{
		throw("Error: Function not supported");	  
	}
}

function showLoader(){
	if(loader=document.getElementById('econolube_loader'))
		loader.style.display = "block";	
}
function hideLoader(){
	if(loader=document.getElementById('econolube_loader'))
		loader.style.display = "none";	
}

//test valid alphas
function isValidChar(val){
	return validChars.indexOf(val)!=-1;
}
function isPositiveNumber(str){
	return !isNaN(parseInt(stripInvalidCharsFrom(str)));
}


