var dealerRegions;
var zipslider
window.addEvent('domready',function(){
	 
	 zipslider = new Fx.Slide('zipsearch', {duration: 1000});
	 zipslider.hide();
	 
	 document.getElement("select.countries").addEvent("change", countryChange);
	 $("btnzipsearch").addEvent("click", zipSearch);
	 
	// build regions dropdown
	var json = new Request.JSON({url: "/data.aspx", onSuccess: function(){
		var ir = 0;
		var r = eval(arguments[1]);
		var ixUS = -1;
		var snUS = "United States";
		dealerRegions = r;
		var cdd = $("main").getElement("select.countries")
		cdd.length = 1;
		for(var jc=0; jc<r.regions[ir].list.length; jc++){
			var o = new Element("option");
			o.value = r.regions[ir].list[jc].country_id;
			o.text = r.regions[ir].list[jc].name;
			cdd.options[jc+1] = o; //?
			if(o.text==snUS) ixUS = jc+1;
		}
		var strHTML = "";
		var imagepath = r.dealerImagePath;
		/*
		for(var je=0; je<r.onlineRetailers.length; je++){
			strHTML += "<div class='etailer'><a target=\"_blank\" title=\"" + r.onlineRetailers[je].name + "\" href=\"" + r.onlineRetailers[je].href + "\"><img src=\"" + imagepath + r.onlineRetailers[je].src + "\" /></a></div>";
		}
		var etailers = document.getElement("div.etailers");
		etailers.innerHTML = strHTML;
		*/
		if(ixUS>0){
			cdd.selectedIndex = ixUS;
			countryChange();
		}
	}}).get({'action': 'dealerregions'});
});

function zipSearch(){
	var zip = $("main").getElement("input.zip").value;
	var distance  = $("main").getElement("select.distance").value;
	var strHTML = "";
	var json = new Request.JSON({url: "/data.aspx", onSuccess: function(){
		var d = eval(arguments[1]);
		var ddiv = $("main").getElement("div.dealerslist");
		ddiv.innerHTML = "";
		var field = ["distance", "name", "address1", "address2", "citystatezip", "phone", "email"];
		for(var j=0; j<d.length; j++){
			var dealer = d[j];
			strHTML += "<div class=\"d\">";
			if(dealer.maplink){
				var x = dealer.maplink.replace("\"","");
				strHTML += "<a href=\"" + x + "\" target=\"_blank\" class=\"maplink\">&nbsp;</a>";
			}
			for(var jF=0; jF<field.length; jF++){
				var elm = eval("dealer."+field[jF]);
				if(elm){
					strHTML += "<p class=\"" + field[jF] + "\">" + elm + "</p>";
				}
			}
			if(dealer.website){
				var x = dealer.website.replace("\"","");
				strHTML += "<p><a href=\"" + x + "\" target=\"_blank\">" + x + "</a></p>";
			}
			strHTML += "</div>";
		}
		ddiv.innerHTML = strHTML;
	}}).get({'action': 'dealersearch','p1':'0','p2':zip,'p3':distance});
}

function countryChange(){
	var cn = $("main").getElement("select.countries");
	var zipsearch = $("main").getElement("div.zipsearch");
	if(cn.selectedIndex<1) return;
	var ddiv = $("main").getElement("div.dealerslist");
	if(dealerRegions.regions[0].list[cn.selectedIndex-1].region<=0){
		ddiv.innerHTML = "";
		zipslider.slideIn();
		return;
	}
	zipslider.slideOut();
	var countryId = cn.value;
	var strHTML = "";
	var json = new Request.JSON({url: "/data.aspx", onSuccess: function(){
		var d = eval(arguments[1]);
		var field = ["name", "address1", "address2", "citystatezip", "phone", "fax", "email"];
		for(var j=0; j<d.length; j++){
			for(var kD=0; kD<d[j].dealerList.length; kD++){
				var dealer = d[j].dealerList[kD];
				strHTML += "<div class=\"d\">";
				for(var jF=0; jF<field.length; jF++){
					var elm = eval("dealer."+field[jF]);
					if(elm){
						strHTML += "<p class=\"" + field[jF] + "\">" + elm + "</p>";
					}
				}
				if(dealer.website){
					var x = dealer.website.replace("\"","");
					strHTML += "<p><a href=\"" + x + "\" target=\"_blank\">" + x + "</a></p>";
				}
				strHTML += "</div>";
			}
		}
		ddiv.innerHTML = strHTML;
	}}).get({'action': 'dealercountry','p1':countryId});
}

