//-------------------------------------------------ATTEMPT AT DOM PARSER FOR SAFARI------------------------------------- if (typeof DOMParser == "undefined") { DOMParser = function () {} DOMParser.prototype.parseFromString = function (str, contentType) { if (typeof ActiveXObject != "undefined") { var d = new ActiveXObject("MSXML.DomDocument"); d.loadXML(str); return d; } else if (typeof XMLHttpRequest != "undefined") { var req = new XMLHttpRequest; req.open("GET", "data:" + (contentType || "application/xml") + ";charset=utf-8," + encodeURIComponent(str), false); if (req.overrideMimeType) { req.overrideMimeType(contentType); } req.send(null); return req.responseXML; } } } //-------------------------------------------------------------------------------------------------------------------------- // global request and XML document objects var xVar; function loadScript(){ //LOAD SELECT DROP DOWNS loadSel("selMake","xmlMake.asp?sql=**325265253305253105137245409397381417441221133385433381373397441365445441453393421133","make"); document.getElementById('selMake').disabled = false; } function selMakeChange(){ //document.getElementById('hdnMake').innerText=value=document.getElementById('selMake').value; var str = document.getElementById('selMake').value str = str.substring(0, str.indexOf('(')) initSel("selModel","Loading"); loadSel("selModel","xmlModel.asp?make=" + document.getElementById('selMake').value + "&sql=**325265253305253105137245409397381417441221133385433381373397441365445441453393421133&odr=ASC","model"); document.getElementById('selModel').disabled = false; //loadSel("selTrans","xmlTrans.asp?make=" + document.getElementById('selMake').value + "&sql=**325265253305253105137245409397381417441221133385433381373397441365445441453393421133","transmission"); initSel("selYrFrom","Year from"); loadSel("selYrFrom","xmlYear.asp?make=" + document.getElementById('selMake').value + "&sql=**325265253305253105137245409397381417441221133385433381373397441365445441453393421133&odr=ASC","year"); document.getElementById('selYrFrom').disabled = false; initSel("selYrTo","Year to"); loadSel("selYrTo","xmlYear.asp?make=" + document.getElementById('selMake').value + "&sql=**325265253305253105137245409397381417441221133385433381373397441365445441453393421133&odr=DESC","year"); document.getElementById('selYrTo').disabled = false; } function selModelChange(){ //loadSel("selTrans","xmlTrans.asp?make=" + document.getElementById('selMake').value + "&model=" + document.getElementById('selModel').value + "&sql=**325265253305253105137245409397381417441221133385433381373397441365445441453393421133" ,"transmission"); loadSel("selYrFrom","xmlYear.asp?make=" + document.getElementById('selMake').value + "&model=" + document.getElementById('selModel').value + "&sql=**325265253305253105137245409397381417441221133385433381373397441365445441453393421133&odr=ASC" ,"year"); loadSel("selYrTo","xmlYear.asp?ake=" + document.getElementById('selMake').value + "&model=" + document.getElementById('selModel').value + "&sql=**325265253305253105137245409397381417441221133385433381373397441365445441453393421133&odr=DESC" ,"year"); } function selTransChange(){ loadSel("selYrFrom","xmlYear.asp?make=" + document.getElementById('selMake').value + "&model=" + document.getElementById('selModel').value + "&trans=" + document.getElementById('selTrans').value + "&sql=**325265253305253105137245409397381417441221133385433381373397441365445441453393421133&odr=ASC","year"); loadSel("selYrTo","xmlYear.asp?make=" + document.getElementById('selMake').value + "&model=" + document.getElementById('selModel').value + "&trans=" + document.getElementById('selTrans').value + "&sql=**325265253305253105137245409397381417441221133385433381373397441365445441453393421133&odr=DESC","year"); } function clearValues(){ /*document.getElementById('hdnMake').value=''; document.getElementById('hdnModel').value=''; document.getElementById('hdnMake').value=''; document.getElementById('hdnMake').value=''; document.getElementById('hdnMake').value=''; */ loadScript(); document.getElementById('selTran').selectedIndex=0; document.getElementById('selPriceFrom').selectedIndex=0; document.getElementById('selPriceTo').selectedIndex=0; } function loadSel(sSel,sUrl,sTag) { var myDocument; var xmlString; var newEl = document.getElementById(sSel); var oOption; var sVal; var sChosen; var stemp; if (window.XMLHttpRequest) // branch for native XMLHttpRequest object (should handle safari & mozilla) { xVar = new XMLHttpRequest(); }else // branch for IE/Windows ActiveX version { xVar = new ActiveXObject("Microsoft.XMLHTTP"); } if(xVar){ xVar.open("GET",sUrl,false); xVar.send(""); } // branch for native XMLHttpRequest object /* if (window.DOMParser) { // Mozilla, create a new DOMParser var parser = new DOMParser(); myDocument = parser.parseFromString(xVar.responseText, "text/xml"); } else { myDocument = new ActiveXObject("Microsoft.XMLDOM") myDocument.async="false"; myDocument.loadXML(xVar.responseText); } */ var parser = new DOMParser(); myDocument = parser.parseFromString(xVar.responseText,"text/xml"); //traverse XML object nodes var x = myDocument.getElementsByTagName(sTag); //attempt to guard against issue of drop down not loading - results just crashes however becuase filter needs to be built first! if(sTag=='make' && x.length==0){ //window.alert("no makes found"); } //clear out drop down switch(sSel){ case 'selMake': initSel(sSel,"All Makes"); break; case 'selModel': initSel(sSel,"All Models"); break; } //initSel(sSel,"All " + sTag + "s"); //set correct counter for ref nodes depending on browser if (document.implementation && document.implementation.createDocument) { var ctr = 1; }else { var ctr = 0; } //loop thru data in xml file for (i=0;i=0; i--) { newEl.options[i] = null; } //create blank "select" option with value of 0 oOption = document.createElement('option') if (document.implementation && document.implementation.createDocument) { oOption.text = sTag; }else { oOption.innerText = sTag; } oOption.value = ""; newEl.appendChild(oOption); } function val(t) { //if(document.getElementById('selMake').value==''&&document.getElementById('selModel').value==''&&document.getElementById('selState').value=='') { // document.getElementById('err').style.visibility = ''; // } else { document.getElementById('t').value=t; document.forms.frmSearch.submit(); // } }