function isValidZip(value) {
   var re = /^\d{5}([\-]\d{4})?$/;
   return (re.test(value));
}

function ensureZip() {
	var zip = document.getElementById('zip').value;	
	
	if(isValidZip(zip)) {
		return true;
	} else {				
		document.getElementById('zip').style.border = "1px solid #ff0000";
		alert("Your zip code is a required field.");
		return false;
	}
}

function ensureRefinedZip() {
	var zip = document.getElementById('refinedZip').value;
	
	if(zip == "" || isValidZip(zip)) {
		return true;
	} else {
		alert("Please provide a valid zip code.");
		return false;
	}
}

var http_request = false;

function getModelsForMake(make) {
	document.getElementById('model').disabled = true;
	http_request = false;
	if (window.XMLHttpRequest) { // Mozilla, Safari,...
		http_request = new XMLHttpRequest();
		if (http_request.overrideMimeType) {
			// set type accordingly to anticipated content type
	        //http_request.overrideMimeType('text/xml');
	        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('There was a problem acquiring the appropriate models');
	     return false;
	}
	http_request.onreadystatechange = updateModels;
	http_request.open('GET', "get.models.php?make=" + make, true);
	http_request.send(null);
}

function updateModels() {
	if (http_request.readyState == 4) {
		if (http_request.status == 200) {
	        result = http_request.responseText;
	       //document.getElementById('model').innerHTML = result;
	       
	       var select = document.getElementById('model');
	       var options = select.getElementsByTagName("option");
	       var i;
	       for(i=options.length-1; i>0;i--) {
				select.removeChild(options[i]);
	       }
	       
		   var newVals = result.split("|");
		   var optn, optnArray, optnTxt, optnVal;
		   for(i=0;i<newVals.length-1;i++) {
		   		optnArray = newVals[i].split(",");
		   		optnVal = optnArray[0];
		   		optnTxt = optnArray[1];
		   		optn = document.createElement("OPTION");
		   		optn.text = optnTxt;
		   		optn.value = optnVal;
		   		select.options.add(optn);
		   }
	       
	       document.getElementById('model').disabled = false;
	     } else {
			alert('There was a problem acquiring the appropriate models');
	     }
	}
}

function makeRequest(url, parameters) {
	http_request = false;
	if (window.XMLHttpRequest) { // Mozilla, Safari,...
		http_request = new XMLHttpRequest();
		if (http_request.overrideMimeType) {
			// set type accordingly to anticipated content type
            //http_request.overrideMimeType('text/xml');
            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('Your email was unable to be sent at this time, please try again later.');
         return false;
	}
	http_request.onreadystatechange = alertContents;
	http_request.open('GET', url + parameters, true);
	http_request.send(null);
}

function alertContents() {
	if (http_request.readyState == 4) {
		if (http_request.status == 200) {
			//alert(http_request.responseText);
            result = http_request.responseText;
            document.getElementById('dealerEmailForm').innerHTML = result;            
         } else {
			alert('Your email was unable to be sent at this time, please try again later.');
         }
	}
}

function get(obj, url) {
	var getstr = "?";			
	for (i=0; i<obj.getElementsByTagName("input").length; i++) {
		if (obj.getElementsByTagName("input")[i].type == "text") {
			getstr += obj.getElementsByTagName("input")[i].name + "=" + obj.getElementsByTagName("input")[i].value + "&";
        }
        if (obj.getElementsByTagName("input")[i].type == "checkbox") {
			if (obj.getElementsByTagName("input")[i].checked) {
				getstr += obj.getElementsByTagName("input")[i].name + "=" + obj.getElementsByTagName("input")[i].value + "&";
           } else {
				getstr += obj.getElementsByTagName("input")[i].name + "=&";
           }
        }
        if (obj.getElementsByTagName("input")[i].type == "radio") {
			if (obj.getElementsByTagName("input")[i].checked) {
				getstr += obj.getElementsByTagName("input")[i].name + "=" + obj.getElementsByTagName("input")[i].value + "&";
			}
		}  
		if (obj.getElementsByTagName("input")[i].tagName == "SELECT") {
			var sel = obj.getElementsByTagName("input")[i];
			getstr += sel.name + "=" + sel.options[sel.selectedIndex].value + "&";
		}	
		if (obj.getElementsByTagName("input")[i].type == "hidden") {
			getstr += obj.getElementsByTagName("input")[i].name + "=" + obj.getElementsByTagName("input")[i].value + "&";
		}	     
	}			
				
	for (i=0; i<obj.getElementsByTagName("textarea").length; i++) {			
		getstr += obj.getElementsByTagName("textarea")[i].name + "=" + obj.getElementsByTagName("textarea")[i].value + "&";
	}			
	//makeRequest('email-dealer.php', getstr);
	makeRequest(url, getstr);
}