var xmlHttp; 
var objTarget;

function ExecuteAjax(sender, url, target, clear) { 
	if (sender.value != "") {
				try { 
						objTarget = document.getElementById(target);
						
						xmlHttp = GetXmlHttpObject(FillTarget); 
						SendXmlHttpRequest(xmlHttp, BuildRequest(sender, url, target));
						
						// Clear unused drop downs
						for (var i = 0; i < clear.length; i++) {
							  var ddl = document.getElementById(clear[i]);
								ClearTarget(ddl, "");
								ddl.disabled = true;
						}
				} catch(e) {}
		} else {
				var ddl = document.getElementById(target);
				ClearTarget(ddl, "");
				ddl.disabled = true;
		}
} 

function SelectVehicle(sender, url, allUrl) {
		if (sender.value != "") {
			  if (sender.text.toUpperCase().indexOf("ALL") > 0) url = allUrl;
				
			  var astrValues = sender.value.split(",");
			  url = url.replace("[value0]", astrValues[0]);
				url = url.replace("[value1]", astrValues[1]);

				window.location = url;
		}
}

function BuildRequest(sender, url, target) {
		if (target.indexOf("ddlTrim") > 0) {
			  url = url.replace("[value0]", ExtractVehicleID(sender.value));
				return url.replace("[value1]", sender.text);
		} else {
				return url.replace("[value]", sender.value);
		}
}

function ExtractVehicleID(value) {
		return value.substring(0, value.indexOf(","));
}

// Callback Methods
function FillTarget() { 
    try {
        // readyState of 4 or 'complete' represents 
        // that data has been returned 
        if (xmlHttp.readyState == 4 || xmlHttp.readyState == 'complete') {
            var response = xmlHttp.responseText; 
            if (response.length > 0) {
								ClearTarget(objTarget);
							
								var astrResponse = response.split("|");
							  for (var i = 0; i < astrResponse.length; i++) {
										var astrNameValue = astrResponse[i].split("~");
										objTarget.options[objTarget.length] = new Option(astrNameValue[1], astrNameValue[0]);
								}
								objTarget.disabled = false;
            } 
        }
    } catch(e) { }
}

function ClearTarget(target, text) {
		if (text == undefined || text == null)
				text = "[Choose:]";
				
		for (var i = target.length; i >= 0; i--) {
			target.options[i] = null;
		}
		
		// Add the default
		target.options[0] = new Option(text, "");
}
