/* Group One Auto Zip Code Search JS v0.1 by Josh Lizarraga */
/* Copyright 2009 Autofusion.com */

(function(){

var zipSearch = function(e){
	YAHOO.util.Event.stopPropagation(e);
	YAHOO.util.Event.preventDefault(e);
	var oTarget = YAHOO.util.Event.getTarget(e);
	var validate = {
		zip: function(pInput){
			if(isNaN(parseInt(pInput.value)) == false){
				if(pInput.value.length == 5){
					return true;
				} else {
					return "Please enter a numeric 5-digit zip code.";
				}
			} else {
				return "Please enter a numeric 5-digit zip code.";
			}
		},
		number: function(pInput){
			if(isNaN(parseInt(pInput.value)) == false){
				return true;
			} else {
				return "Please enter a numeric search distance.";
			}
		}
	};
	var oValid = true;
	var oInputs = [document.getElementById("goa_ZipInput"), document.getElementById("goa_Distance")];
	var oBroken = false;
	for(var i=0; i<oInputs.length; i++){
		if(oBroken == false){
			switch(oInputs[i].id){
				case "goa_ZipInput":
					oValid = validate.zip(oInputs[i]);
					if(oValid != true){
						oBroken = true;
					}
					break;
				case "goa_Distance":
					// Do nothing.
					break;
				default:
					oValid = "Unknown error.";
			}
		}
	}
	if(oValid == true){
		var oInventory = false;
		if(typeof(YAHOO.AUTOFUSION) != "undefined"){
			if(typeof(YAHOO.AUTOFUSION.items) != "undefined"){
				if(typeof(YAHOO.AUTOFUSION.items.MM3Inventory) != "undefined"){
					oInventory = true;
				}
			}
		}
		if(oInventory) {
			YAHOO.AUTOFUSION.items.MM3Inventory.params["Zip"] = oInputs[0].value;
			YAHOO.AUTOFUSION.items.MM3Inventory.params["MaxDistance"] = oInputs[1].options[oInputs[1].selectedIndex].value;
			YAHOO.AUTOFUSION.items.MM3Inventory.compileURL();
		} else {
			document.location.href = "/inventory.php?Zip=" + oInputs[0].value + "&MaxDistance=" + oInputs[1].options[oInputs[1].selectedIndex].value;
		}
	} else {
		alert(oValid);
	}
}; // zipSearch()

YAHOO.util.Event.onDOMReady(function(){
	YAHOO.util.Event.removeListener("goa_ZipGo", "click");
	YAHOO.util.Event.addListener("goa_ZipGo", "click", zipSearch);
});

})();
