var http_request = false;
var arrFields = [];
var curFormType;

var sMake = "";
var sModel;
var sYear;
var sMileage;
var sFN;
var sLN;
var sPhone;
var sEmail;

// get GA Info
var EQ="__utmz=";
var ca=document.cookie.split(";");

for(var i=0;i<ca.length;i++){
	var c=ca[i];
	while(c.charAt(0)==" "){
		c=c.substring(1,c.length);
	}
	if(c.indexOf(EQ)==0){
		var t=new Date;
		var e=new Date(t.getTime()+2592000000);
		s=c.substring(EQ.length,c.length);
		break;
	}
}
	
function getModels(){
   	document.getElementById('model').disabled = true;
	cb = returnModels;	
	params = "mk=" +document.forms.form1.make.value;
//	alert(params);
	makePOSTRequest("/scripts/get_models.php", params, cb);
}

function getStep(curStep){
	params = "step="+curStep
	switch(curStep){
		case 2:
			strAlert = "";
			if ((document.forms.form1.year.value == "enter a year") || (document.forms.form1.year.value == "")){
				strAlert += "Please enter a year.\n";
			}
			if ((document.forms.form1.mileage.value == "enter mileage") || (document.forms.form1.mileage.value == "")){
				strAlert += "Please enter mileage.\n";
			}
			if (document.forms.form1.make.value == ""){
				strAlert += "Please select a make.\n";
			}
			if (document.forms.form1.model.value == ""){
				strAlert += "Please select a model.\n";
			}
			
			if (strAlert != ""){
				alert(strAlert);
				return false;
			}
			else{
				sMake = document.forms.form1.make.value;
				sModel = document.forms.form1.model.value;
				sYear = document.forms.form1.year.value;
				sMileage = document.forms.form1.mileage.value;
				
				params += "&make="+document.forms.form1.make.value+"&year="+document.forms.form1.year.value;
	//			alert(params);
				cb = returnStep;	
	//			document.forms.form1.action = "/quote.php";
	//			document.forms.form1.submit();
				makePOSTRequest("/scripts/step.php", params, cb);
			}
			break;
			
		case 4:
			frm = document.forms.form1;
			strAlert = "";
			if (frm.first_name.value == ""){
				strAlert += "First Name\n";
			}
			if (frm.last_name.value == ""){
				strAlert += "Last Name\n";
			}
			if (frm.phone_number.value == ""){
				strAlert += "Phone Number\n";
			}
			if (frm.email.value == ""){
				strAlert += "Email Address\n";
			}
			else
			{
				if (!isEmail(frm.email.value)){
					strAlert += "VALID Email Address\n";
				}
			}
			if (strAlert != ""){
				alert("The following information is required:\n\n"+strAlert);
			}
			else{
				sFN = frm.first_name.value;
				sLN = frm.last_name.value;
				sPhone = frm.phone_number.value;
				sEmail = frm.email.value;
				// validate phone number
		//		frm.action = "submitQuote.php";
		//		frm.submit();
				checkPhoneNumber(frm.phone_number.value);
			}
			break;
			
		default:
			cb = returnStep;	
//			document.forms.form1.action = "/quote_finder";
//			document.forms.form1.submit();
			makePOSTRequest("/scripts/step.php", params, cb);
			break;
	}
}

function isEmail(email) {
   var reg = /^[A-Z0-9._%+-]+@[A-Z0-9.-]+\.(?:[A-Z]{2}|com|org|net|gov|mil|biz|info|mobi|name|aero|jobs|museum)$/i;
   if(reg.test(email) == false) {
      return false;
   }
   else{
   	return true;
   }
}

function returnStep(){
 	if (http_request.readyState == 4) {
	  if (http_request.status == 200) {
	     result = http_request.responseText;
	     if (result != ""){
	     	document.getElementById("home_dd").innerHTML = result;
	     }
	  }
 	}
}

function gotoNextStep(){
	
}

function returnModels(){
 	if (http_request.readyState == 4) {
	  if (http_request.status == 200) {
	     result = http_request.responseText;
	     if (result != ""){
	     	document.getElementById('model').options.length=1;
	     	arrResult = result.split("|")
	     	for (i=0;i<arrResult.length;i++){
	     	var elOptNew = document.createElement('option');
			  elOptNew.text = arrResult[i];
			  elOptNew.value = arrResult[i];
			  var elSel = document.getElementById('model');			
			  try {
			    elSel.add(elOptNew, null); // standards compliant; doesn't work in IE
			  }
			  catch(ex) {
			    elSel.add(elOptNew); // IE only
			  }
	     	}
	     	document.getElementById('model').disabled = false;
	     }
	  }
 	}
}

function makePOSTRequest(url, parameters, cbFxn) {
      http_request = false;
      if (window.XMLHttpRequest) { 
         http_request = new XMLHttpRequest();
         if (http_request.overrideMimeType) {
            http_request.overrideMimeType('text/html');
         }
      } else if (window.ActiveXObject) { // IE
         try {
            http_request = new ActiveXObject("Msxml2.XMLHTTP");
         } catch (e) {
            try {
               http_request = new ActiveXObject("Microsoft.XMLHTTP");
            } catch (e) {}
         }
      }
      if (!http_request) {
         alert('Cannot create XMLHTTP instance');
         return false;
      }
      
      http_request.onreadystatechange = cbFxn;
      http_request.open('POST', url, true);
      http_request.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
      http_request.setRequestHeader("Content-length", parameters.length);
      http_request.setRequestHeader("Connection", "close");
      http_request.send(parameters);
}

function returnThankYou(){
 	if (http_request.readyState == 4) {
	  if (http_request.status == 200) {
	     result = http_request.responseText;
	     if (result != ""){
	     	if (result == 1)
	     	{
			window.location.href="/thank-you";
	     	}
	     }
	  }
 	}
}

function returnPhoneNumber(){
 	if (http_request.readyState == 4) {
	  if (http_request.status == 200) {
	     result = http_request.responseText;
	     if (result != ""){
	     	if (result == 1)
	     	{
	     		cb = returnThankYou;
	     		if (sMake != ""){
		     		document.forms.form1.make.value = sMake;
		     		document.forms.form1.model.value = sModel;
		     		document.forms.form1.year.value = sYear;
		     		document.forms.form1.mileage.value = sMileage;
	     		}
//	     		document.forms.form1.site_name.value = "PayMyRepairBills";

				// Add GA info
				arrS = s.split("|");
				
				for (a=0;a<arrS.length;a++){
					eqSign = arrS[a].indexOf("=");
					varStart = eqSign-6;
					varName = arrS[a].slice(varStart,varStart+6);
					varValue = arrS[a].slice(varStart+7);
					
					var di=document.createElement("input");di.setAttribute("type","hidden");
					di.setAttribute("id",varName);
					di.setAttribute("name",varName);
					di.setAttribute("value",varValue);
					document.forms.form1.appendChild(di);
				}

	     		document.forms.form1.action = "http://www.paymyrepairbills.com/submitQuote.php"
	     		document.forms.form1.submit();
	     	} else {
	     		alert("The phone number you entered is invalid. Please enter your valid phone number to continue.");
				document.getElementById("checking").innerHTML = "";
	     	}

	     }
	  }
 	}
}
 	
function checkPhoneNumber(pn){
	//document.getElementById("checking").innerHTML = "Submitting request...";
	var params = "p="+pn;
	cb = returnPhoneNumber;	
	makePOSTRequest("/scripts/cdyne/phone/checkphone.php", params, cb);
}

function clearDefaultVal(ele,val){
	if (document.getElementById(ele).value == val){
		document.getElementById(ele).value = "";
	}
}
