var idFirst = 'inlineFirst'; var idSecond = 'inlineSecond'; var idThird = 'inlineThird'; var idFourth = 'inlineFourth'; var isInlineAd = (layoutMode == 'inlineResInlineAd') || (layoutMode == 'newPageResNewPageAd'); var storedDropDownURL = null; var storedResultsURL = null; var storedFormData = null; var uvlDynamicFieldIds = new Array('searched_channel', 'make', 'model', 'colour', 'transmissionid', 'fuelid', 'bodyid', 'min_mileage', 'max_mileage', 'min_pr', 'max_pr', 'min_age', 'max_age'); var uvlExtraFieldIds = new Array('modelexact', 'source', 'searchsrc', 'pagesize', 'additionalKeywords', 'approved', 'lid', 'ccappr', 'variant', 'keywords', 'max_records', 'photo', 'miles', 'postcode', 'sort', 'categorysort'); //inline advert params var largeIds = new Array(); var id = 0; var large_url = ''; var nvsDynamicFieldIds = new Array('make', 'model', 'min_pr', 'max_pr', 'variant', 'bodyid', 'fuelid', 'derivative', 'doors', 'transmissionid'); var nvsExtraFieldIds = new Array('searchform', 'lid', 'photo', 'state', 'sort', 'pagesize', 'hassearched', 'searchtype', 'include_prereg', 'isadealer', 'postcode'); var ID_CT_VALUE_32145632; var ID_dcode_15243615; var ID_CT_ID_32145632; var ID_tt_15243615 = 'k'; var ID_uid_15243615 = '22923'; function tagOnSearch() { ID_CT_ID_32145632 = '142'; ID_dcode_15243615 = ''; ID_CT_VALUE_32145632 = getSearchParams(); peformTag(); } function tagOnPopup() { ID_CT_ID_32145632 = '143'; ID_dcode_15243615 = ''; ID_CT_VALUE_32145632 = "" + document.getElementById("adTitle").innerHTML; peformTag(); } function getSearchParams(){ var params = ""; if(document.getElementById("queryString") != null) { params = cleanParams("" + trimWhite(document.getElementById("queryString").value)); } params += " [Results=" + addResults() + "]"; return params; } function addResults() { var results = "None found"; if(document.getElementById("resultsFound") != null) { results = "" + document.getElementById("resultsFound").innerHTML; } if(results.length == 0 || results.indexOf("div") != -1 || results.indexOf("found") == -1) { results = "None found"; } else { if (results.indexOf("of") != -1) { results = results.substring(results.indexOf("of") + 3, results.indexOf("found") - 1); } else { results = results.substring(results.indexOf("-") + 2, results.indexOf("found") - 1); } } return results; } function trimWhite(str) { return str.replace(/^\s*([\S\s]*?)\s*$/, '$1'); } function cleanParams(params) { var removeList = "currentaction|groupid|sort|max_records|dropdowntype|configfile|searchsrc|partner|categorytype|modelexact|lid|source|csslocation|did|e2w"; var cleaned = ""; if (params != null) { var split_params = params.split("&"); split_params.sort(); var i = 0; var param = ""; var key = ""; var sep = ""; while (i < split_params.length) { param = split_params[i]; key = param; if (key.indexOf("=") > 0) { key = param.split("=")[0]; if (removeList.indexOf(key) == -1) { cleaned += sep + param; sep = ", "; } } i += 1; } } return cleaned; } function peformTag() { var evastr0000 = ""; if (!ID_dcode_15243615){ID_dcode_15243615 = "";} if (!ID_tt_15243615){ID_tt_15243615 = "k";} evastr0000="&rq="+escape(document.location); evastr0000+="&dc="+escape(ID_dcode_15243615); evastr0000+="&userid="+escape(ID_uid_15243615); evastr0000+="&tt="+escape(ID_tt_15243615); //get keydata values if (!ID_CT_ID_32145632){ID_CT_ID_32145632 = "";} if (!ID_CT_VALUE_32145632){ID_CT_VALUE_32145632 = "";} evastr0000+="&userid="+escape(ID_uid_15243615); evastr0000+="&tt="+escape(ID_tt_15243615); evastr0000+="&ctid="+escape(ID_CT_ID_32145632); evastr0000+="&ctval="+escape(ID_CT_VALUE_32145632); var now = new Date; var thetimeid = now.getTime(); evastr0000+="&tc="+thetimeid; //check for https requests var mysslchecktext = document.URL; var mysslcheckurl = /(\https:\/\/)/ var httpresult = mysslchecktext.match(mysslcheckurl); var myhttp = "http"; if (httpresult != null) { myhttp = "https"; } var scriptTag = document.createElement("img"); scriptTag.setAttribute("border", "0"); scriptTag.setAttribute("alt", "eVisit"); scriptTag.setAttribute("width", "1"); scriptTag.setAttribute("height", "1"); scriptTag.setAttribute("src", myhttp+"://extra.evisitanalyst.com/at/tagkd.php?"+evastr0000); document.body.appendChild(scriptTag); } var flash2Installed = false; var flash3Installed = false; var flash4Installed = false; var flash5Installed = false; var flash6Installed = false; var maxVersion = 6; var actualVersion = 0; var jsVersion = 1; var isIE = (navigator.appVersion.indexOf("MSIE") != -1) ? true : false; var isWin = (navigator.appVersion.indexOf("Windows") != -1) ? true : false; jsVersion = 1.1; var evastr0000 = ""; if (!ID_section_15243615) { var ID_section_15243615 = ""; } if (!EGOV_section_15243615) { var EGOV_section_15243615 = ""; } if (!ID_intfilter_15243615) { var ID_intfilter_15243615 = ""; } if (!ID_tt_15243615) { var ID_tt_15243615 = "t"; } text54321 = escape(document.location); thehash54321 = "#"; text254321 = text54321.replace(thehash54321, "&"); evastr0000 = "&rq=" + text254321; evastr0000 += "&rf=" + escape(document.referrer); evastr0000 += "&pt=" + escape(document.title); evastr0000 += "&es=" + escape(ID_section_15243615); evastr0000 += "&esg=" + escape(EGOV_section_15243615); evastr0000 += "&ifilter=" + escape(ID_intfilter_15243615); evastr0000 += "&userid=" + escape(ID_uid_15243615); evastr0000 += "&tt=" + escape(ID_tt_15243615); evastr0000 += "&lg=" + escape(navigator.userLanguage); var now = new Date; var thetimeid = now.getTime(); evastr0000 += "&tc=" + thetimeid; var rannum = Math.random() * 1234567; rannum = Math.round(rannum); var pc = thetimeid; pc *= rannum; var rannum = Math.random() * 1765432; rannum = Math.round(rannum); var sc = thetimeid; sc *= rannum; evastr0000 += "&sz=" + screen.width + "X" + screen.height; evastr0000 += "&cl=" + escape(screen.colorDepth); evastr0000 += "&jv=" + escape(navigator.javaEnabled()); evastr0000 += "&cks=" + escape(navigator.cookieEnabled); var excookie = getCookie_eVA_62178982349824("evap" + ID_uid_15243615); var excookies = getCookie_eVA_62178982349824("evas" + ID_uid_15243615); var excookiev = getCookie_eVA_62178982349824("evav" + ID_uid_15243615); if (excookie) { setCookie_eVA_62178982349824("evap" + ID_uid_15243615, excookie, "365", "86400000", "/"); pc = excookie; cooktrue = "true"; } else { setCookie_eVA_62178982349824("evap" + ID_uid_15243615, pc, "365", "86400000", "/"); var cooktrue = "flase"; var ctrue = getCookie_eVA_62178982349824("evap" + ID_uid_15243615); if (ctrue) { cooktrue = "true"; } } if (excookies) { setCookie_eVA_62178982349824("evas" + ID_uid_15243615, excookies, "1800", "1000", "/"); sc = excookies; } else { setCookie_eVA_62178982349824("evas" + ID_uid_15243615, sc, "1800", "1000", "/"); if (excookiev) { excookiev++; setCookie_eVA_62178982349824("evav" + ID_uid_15243615, excookiev, "365", "86400000", "/"); } else { excookiev = 1; setCookie_eVA_62178982349824("evav" + ID_uid_15243615, excookiev, "365", "86400000", "/"); } } evastr0000 += "&ckp=" + cooktrue; evastr0000 += "&pcookie=" + pc; evastr0000 += "&scookie=" + sc; evastr0000 += "&vcookie=" + excookiev; var fv = findflash(); evastr0000 += "&fv=" + fv; var evastr0000_key = ""; if (!ID_CT_ID_32145632) { var ID_CT_ID_32145632 = ""; } if (!ID_CT_VALUE_32145632) { var ID_CT_VALUE_32145632 = ""; } evastr0000_key += "&userid=" + escape(ID_uid_15243615); evastr0000_key += "&tt=" + escape(ID_tt_15243615); evastr0000_key += "&pcookie=" + pc; evastr0000_key += "&scookie=" + sc; evastr0000_key += "&ctid=" + escape(ID_CT_ID_32145632); evastr0000_key += "&ctval=" + escape(ID_CT_VALUE_32145632); var evastr0000_ecom = ""; if (!ID_productcode_15243615) { var ID_productcode_15243615 = ""; } if (!ID_productname_15243615) { var ID_productname_15243615 = ""; } if (!ID_productprice_15243615) { var ID_productprice_15243615 = ""; } if (!ID_productcategory_15243615) { var ID_productcategory_15243615 = ""; } if (!ID_productsubcategory_15243615) { var ID_productsubcategory_15243615 = ""; } if (!ID_productgroup_15243615) { var ID_productgroup_15243615 = ""; } if (!ID_productqty_15243615) { var ID_productqty_15243615 = ""; } if (!ID_ordernum_15243615) { var ID_ordernum_15243615 = ""; } evastr0000_ecom += "&userid=" + escape(ID_uid_15243615); evastr0000_ecom += "&tt=" + escape(ID_tt_15243615); evastr0000_ecom += "&pcookie=" + pc; evastr0000_ecom += "&scookie=" + sc; evastr0000_ecom += "&ID_productcode_15243615=" + escape(ID_productcode_15243615); evastr0000_ecom += "&ID_productname_15243615=" + escape(ID_productname_15243615); evastr0000_ecom += "&ID_productprice_15243615=" + escape(ID_productprice_15243615); evastr0000_ecom += "&ID_productcategory_15243615=" + escape(ID_productcategory_15243615); evastr0000_ecom += "&ID_productsubcategory_15243615=" + escape(ID_productsubcategory_15243615); evastr0000_ecom += "&ID_productgroup_15243615=" + escape(ID_productgroup_15243615); evastr0000_ecom += "&ID_productqty_15243615=" + escape(ID_productqty_15243615); evastr0000_ecom += "&ID_ordernum_15243615=" + escape(ID_ordernum_15243615); var mysslchecktext = document.URL; var mysslcheckurl = /(\https:\/\/)/; var httpresult = mysslchecktext.match(mysslcheckurl); var myhttp = "http"; if (httpresult != null) { myhttp = "https"; } function setCookie_eVA_62178982349824(name, value, myexpires, myexpires2, path, domain, secure) { var date = new Date(); date.setTime(date.getTime() + (myexpires * myexpires2)); var expires = "; expires=" + date.toGMTString(); document.cookie = name + "=" + escape(value) + ((expires) ? "; expires=" + expires : "") + ((path) ? "; path=" + path : "") + ((domain) ? "; domain=" + domain : "") + ((secure) ? "; secure" : ""); } function getCookie_eVA_62178982349824(name) { var dc = document.cookie; var prefix = name + "="; var begin = dc.indexOf("; " + prefix); if (begin == -1) { begin = dc.indexOf(prefix); if (begin != 0) { return null; } } else { begin += 2; } var end = document.cookie.indexOf(";", begin); if (end == -1) { end = dc.length; } return unescape(dc.substring(begin + prefix.length, end)); } function findflash() { if (navigator.plugins) { if (navigator.plugins["Shockwave Flash 2.0"] || navigator.plugins["Shockwave Flash"]) { var isVersion2 = navigator.plugins["Shockwave Flash 2.0"] ? " 2.0" : ""; var flashDescription = navigator.plugins["Shockwave Flash" + isVersion2].description; var flashVersion = parseInt(flashDescription.charAt(flashDescription.indexOf(".") - 1)); flash2Installed = flashVersion == 2; flash3Installed = flashVersion == 3; flash4Installed = flashVersion == 4; flash5Installed = flashVersion == 5; flash6Installed = flashVersion >= 6; } } for (var i = 2; i <= maxVersion; i++) { if (eval("flash" + i + "Installed") == true) { actualVersion = i; } } return actualVersion; } function getInlineServlet(dropDownType) { return 'http://nvs.autotrader.co.uk/js/' + dropDownType + '/InlineServlet.js'; } function getPreviousSearch(dropDownType) { if (storedDropDownURL != null) { headScript(storedDropDownURL); } else { resetDropDowns(dropDownType); } } function getPreviousResults(doClearTabFlags) { if (storedResultsURL != null) { if (doClearTabFlags) { clearTabFlags(); } headScript(storedResultsURL); } } function updateInline(dropDownType, dataTypes) { var url = constructURL(dropDownType, dataTypes); storeURL(dropDownType, dataTypes, url); headScript(url); } function inlineResultsPage(dropDownType, queryString, page) { var url = getInlineServlet(dropDownType) + '?'; url += queryString; url += '&page=' + page; url += '&action=searchresults'; storeURL(dropDownType, new Array('searchresultspage'), url); headScript(url); } function inlineResults(dropDownType, postcode, queryString) { var url = mainURL(dropDownType); url = appendPostcode(url, postcode); url += queryString; url += '&action=searchresults'; storeURL(dropDownType, new Array('searchresults'), url); headScript(url); } function inlineRawResults(dropDownType, toggleLogo, hideLinks, hideCapLink, hidePagination, hideNumberOfAds, queryString) { var url = mainURL(dropDownType); url = resultsViews(url, false, toggleLogo, hideLinks, hideCapLink, true, hidePagination, hideNumberOfAds); url += queryString; url += '&action=searchresults'; storeURL(dropDownType, new Array('searchresults'), url); headScript(url); } function inlineResultsView(dropDownType, showTopInfo, toggleLogo, hideLinks, hideCapLink, hideSort, hidePagination, hideNumberOfAds) { var url = constructURL(dropDownType, new Array('searchresults')); url = resultsViews(url, showTopInfo, toggleLogo, hideLinks, hideCapLink, hideSort, hidePagination, hideNumberOfAds); url += '&action=searchresults'; storeURL(dropDownType, new Array('searchresults'), url); headScript(url); } function resultsViews(url, showTopInfo, toggleLogo, hideLinks, hideCapLink, hideSort, hidePagination, hideNumberOfAds) { url += showTopInfo ? '&showtopinfo=true' : ''; url += toggleLogo ? '&togglelogo=true' : ''; url += hideLinks ? '&hidelinks=true' : ''; url += hideCapLink ? '&hidecaplink=true' : ''; url += hideSort ? '&hidesort=true' : ''; url += hidePagination ? '&hidepagination=true&pagesize=99999' : ''; url += hideNumberOfAds ? '&hidenumberofads=true' : ''; return url; } function inlineFeaturedResult(dropDownType, postcode) { var url = mainURL(dropDownType); url = appendPostcode(url, postcode); url += '&action=featuredresult'; headScript(url); } function inlineAdvert(dropDownType, id, distance) { var url = constructURL(dropDownType, new Array('advert')); url += '&id=' + id; url += '&distance=' + distance; headScript(url); } function storeURL(dropDownType, dataTypes, url) { if (contains(dataTypes, 'dropdowndata')) { storedDropDownURL = url; } if (!contains(dataTypes, 'searchform') && contains(dataTypes, 'dropdowndata')) { storedDropDownURL += '&action=searchform'; } if (contains(dataTypes, 'searchresults') || contains(dataTypes, 'defaultresults')) { storedResultsURL = url; storeFieldData(dropDownType); } else if (contains(dataTypes, 'searchresultspage')) { storedResultsURL = url; } } function storeFieldData(dropDownType) { var index = 0; var dynamicFieldIds = getDynamicFieldIds(dropDownType); var extraFieldIds = getExtraFieldIds(dropDownType); storedFormData = new Array(dynamicFieldIds.length + extraFieldIds.length); for (var i = 0; i < dynamicFieldIds.length; i++) { var dropDownField = document.getElementById(dynamicFieldIds[i]); if (dropDownField != null) { storedFormData[index++] = new Array(dynamicFieldIds[i], getSelectedDDValue(dropDownField)); } } for (var j = 0; j < extraFieldIds.length; j++) { var extraField = document.getElementById(extraFieldIds[j]); if (extraField != null) { var value = extraField.type != 'checkbox' || extraField.checked ? extraField.value : ''; storedFormData[index++] = new Array(extraFieldIds[j], value); } } } function hasDropDownData(dropDownType) { var hasDropDownData = false; var dynamicFieldIds = getDynamicFieldIds(dropDownType); for (var i = 0; i < dynamicFieldIds.length; i++) { var field = document.getElementById(dynamicFieldIds[i]); if (field != null && (field.length > 1 || field.value != '')) { hasDropDownData = true; break; } } return hasDropDownData; } function contains(dataTypes, dataType) { for (var i = 0; i < dataTypes.length; i++) { if (dataTypes[i] == dataType) { return true; } } return false; } function headScript(url) { headElement = document.getElementsByTagName("head").item(0); var scriptTag = document.createElement("script"); scriptTag.setAttribute("id", "JSONDynamic"); scriptTag.setAttribute("type", "text/javascript"); scriptTag.setAttribute("src", url); headElement.appendChild(scriptTag); } function constructURL(dropDownType, dataTypes) { var dynamicFieldIds = getDynamicFieldIds(dropDownType); var extraFieldIds = getExtraFieldIds(dropDownType); var url = mainURL(dropDownType); for (var i = 0; i < dataTypes.length; i++) { if (dataTypes[i] == 'defaultresults') { url += '&action=searchresults'; url = appendPostcode(url, ''); } else { url += '&action=' + dataTypes[i]; } if (dataTypes[i] == 'searchresults') { url = appendFieldsWithAnyCheck(dynamicFieldIds, url); url = appendFields(extraFieldIds, url); } if (dataTypes[i] == 'dropdowndata') { url = appendFields(dynamicFieldIds, url); } if (dataTypes[i] == 'featuredresult') { url = appendPostcode(url, ''); } if (dataTypes[i] == 'requiresselected' && location.search.length > 0) { url += '&' + location.search.substring(1); } } return url; } function mainURL(dropDownType) { var startQueryString = '?'; var url = getInlineServlet(dropDownType) + startQueryString; url += (startQueryString == '?' ? '' : '&') + 'dropdowntype=' + dropDownType; url = appendPartner(url, 'aol'); return url; } function appendFields(dynamicFieldIds, url) { for (var i = 0; i < dynamicFieldIds.length; i++) { url = appendField(url, document.getElementById(dynamicFieldIds[i])); } return url; } function appendField(url, field) { if (field != null && field.value != '' && (field.type != 'checkbox' || field.checked)) { url += '&' + field.name + '=' + field.value; } return url; } function appendPostcode(url, postcode) { var pc = postcode != '' ? postcode : ''; if (pc != '') { url += '&postcode=' + pc; } return url; } function appendPartner(url, partner) { if (partner != '') { url += '&partner=' + partner; } return url; } function appendFieldsWithAnyCheck(dynamicFieldIds, url) { for (var i = 0; i < dynamicFieldIds.length; i++) { var field = document.getElementById(dynamicFieldIds[i]); if (field != null) { if ('ANY' == getSelectedDDValue(field) && field.length > 1) { url += '&' + field.name + '=' + getConfigAnyValue(field); } else if ('ALL' == getSelectedDDValue(field)) { } else { url = appendField(url, field); } } } return url; } function getConfigAnyValue(field) { var multiValue = ''; if (field.name.indexOf('min_') == 0) { multiValue = '0'; } else if (field.name.indexOf('max_') == 0) { var greatestVal = 0; for (var i = 0; i < field.length; i++) { if (field[i].value > greatestVal) { greatestVal = field[i].value; } } multiValue = greatestVal; } else { for (var j = 0; j < field.length; j++) { if (j != field.selectedIndex) { multiValue = multiValue + "," + field[j].value; } } } return multiValue; } function isFieldDisplayed(fieldId) { var field = document.getElementById(fieldId); if (field != null && field.style.display == 'block') { return true; } return false; } function resetDropDown(fieldId) { var dropDownField = document.getElementById(fieldId); if (dropDownField != null) { dropDownField.selectedIndex = -1; emptyStoredFieldData(fieldId); } } function emptyStoredFieldData(fieldId) { if (storedFormData != null) { for (var i = 0; i < storedFormData.length; i++) { if (storedFormData[i] != null && storedFormData[i][0] == fieldId) { storedFormData[i][1] = ''; } } } } function resetDropDowns(dropDownType) { storedFormData = null; var dynamicFieldIds = getDynamicFieldIds(dropDownType); for (var i = 0; i < dynamicFieldIds.length; i++) { resetDropDown(dynamicFieldIds[i]); } var url = mainURL(dropDownType); url += '&action=dropdowndata'; headScript(url); } function getDynamicFieldIds(dropDownType) { var dynamicFieldIds = null; if (dropDownType == 'uvl') { dynamicFieldIds = uvlDynamicFieldIds; } else if (dropDownType == 'nvs') { dynamicFieldIds = nvsDynamicFieldIds; } return dynamicFieldIds; } function getExtraFieldIds(dropDownType) { var extraFieldIds = null; if (dropDownType == 'uvl') { extraFieldIds = uvlExtraFieldIds; } else if (dropDownType == 'nvs') { extraFieldIds = nvsExtraFieldIds; } return extraFieldIds; } function populateUVLSearch(searchForm, dropDownData, searchResults, advert, featuredresult) { decideLayout(); if (searchForm.searchform != null) { document.getElementById(idFirst).innerHTML = searchForm.searchform; populateExtraFields('uvl'); } if (dropDownData != null) { populateDropDown(dropDownData.searched_channel, 'searched_channel'); populateDropDown(dropDownData.make, 'make'); populateDropDown(dropDownData.model, 'model'); populateDropDown(dropDownData.colour, 'colour'); populateDropDown(dropDownData.transmissionid, 'transmissionid'); populateDropDown(dropDownData.fuelid, 'fuelid'); populateDropDown(dropDownData.bodyid, 'bodyid'); populateDropDown(dropDownData.min_mileage, 'min_mileage'); populateDropDown(dropDownData.max_mileage, 'max_mileage'); populateDropDown(dropDownData.min_pr, 'min_pr'); populateDropDown(dropDownData.max_pr, 'max_pr'); populateDropDown(dropDownData.min_age, 'min_age'); populateDropDown(dropDownData.max_age, 'max_age'); } if (searchResults.searchresults != null) { document.getElementById(idSecond).innerHTML = searchResults.searchresults; tagOnSearch(); } if (advert.advert != null) { document.getElementById(idThird).innerHTML = advert.advert; handleInlineAdParams(); tagOnPopup(); hide(); } if (featuredresult.featuredresult != null) { document.getElementById(idFourth).innerHTML = featuredresult.featuredresult; } handleInlineLinks(); } function populateNVSSearch(searchForm, dropDownData, requiresSelected, searchResults) { if (searchForm.searchform != null) { document.getElementById(idFirst).innerHTML = searchForm.searchform; populateExtraFields('nvs'); } if (dropDownData != null) { populateDropDown(dropDownData.make, 'make'); populateDropDown(dropDownData.model, 'model'); populateDropDown(dropDownData.variant, 'variant'); populateDropDown(dropDownData.derivative, 'derivative'); } if (requiresSelected != null && requiresSelected) { setSelectedData(); } handleNVSDisplay(); if (searchResults.searchresults != null) { document.getElementById(idSecond).innerHTML = searchResults.searchresults; handleResultsSizing(); } } function decideLayout() { if (layoutMode == 'newPageResPopupAd' || layoutMode == 'newPageResNewPageAd') { idSecond = idFirst; } if (layoutMode == 'inlineResInlineAd' || layoutMode == 'newPageResNewPageAd') { idThird = idSecond; } } function handleInlineLinks() { toggleLink('backToSearch', true, new Array('newPageResPopupAd', 'newPageResNewPageAd')); toggleLink('backToResults', true, new Array('inlineResInlineAd', 'newPageResNewPageAd')); toggleLink('closeLink', false, new Array('inlineResInlineAd', 'newPageResNewPageAd')); scroll(0, 0); } function toggleLink(linkName, show, layoutModes) { var link = document.getElementsByName(linkName); if (link != null && link.length && contains(layoutModes, layoutMode)) { for (var i = 0; i < link.length; i++) { link[i].style.display = (show ? 'block' : 'none'); } } } function handleInlineAdParams() { var imageIds = document.getElementsByName('imageIds'); if (imageIds != null) { largeIds = new Array(); for(var i = 0; i -1) { selected = dropDownField[dropDownField.selectedIndex].value; } else { selected = getStoredValue(dropDownField.id); } return selected; } function getStoredValue(fieldId) { if (storedFormData == null) { return ''; } for (var i = 0; i < storedFormData.length; i++) { if (storedFormData[i] != null && storedFormData[i][0] == fieldId) { return storedFormData[i][1]; } } return ''; } function clearDropDown(dropDownField) { while (dropDownField.options.length) { dropDownField.options[0] = null; } } function setSelectedData(dropDownType) { if (location.search.length < 1) { return; } var queryString = location.search.substring(1); queryString = unescape(queryString); queryString = queryString.replace(/\+/g, ' '); var params = queryString.split('&'); for (var i = 0; i < params.length; i++) { var param = params[i].split('='); var field = document.getElementById(param[0]) if (field != null) { for (var j = 0; j < field.length; j++) { if (field[j].value == param[1]) { field.selectedIndex = j; } } } } } function handleNVSDisplay() { var model = document.getElementById('model'); if (model != null) { var hasModelValue = model.value != ''; setDisplay('bodyid', !hasModelValue); setDisplay('variant', hasModelValue); } var variant = document.getElementById('variant'); if (variant != null) { var hasVariantValue = variant.value != ''; setDisplay('doors', !hasVariantValue); setDisplay('derivative', hasVariantValue); } } function setDisplay(fieldId, show) { var field = document.getElementById(fieldId); if (field != null) { field.style.display = show ? 'inline' : 'none'; } } function handleResultsSizing() { //to be overridden } function banner(fieldId, page, width, height) { var field = document.getElementById(fieldId); if (field != null && page != '') { field.innerHTML = ''; } } function updateSearch(theForm) { if(checkKeywords(theForm)) { updateInline('nvs', new Array('searchresults')); } } function handleLocalDealer() { var postcodeContainer = document.getElementById('postcodeContainer'); var postcodeField = document.getElementById('postcode'); var dealerCheckbox = document.getElementById('isadealer'); var sortResultsBy = document.getElementById('sortResultsBy'); var distanceText = ' by distance'; if (postcodeContainer != null) { postcodeContainer.style.display = dealerCheckbox.checked ? 'block' : 'none'; } if (postcodeField != null) { postcodeField.value = dealerCheckbox.checked ? 'full postcode' : ''; } if (sortResultsBy != null) { for (var i = 0; i < sortResultsBy.length; i++) { sortResultsBy[i].text = dealerCheckbox.checked ? sortResultsBy[i].text + distanceText : sortResultsBy[i].text.replace(distanceText, ''); } } } function URLDecode(psEncodeString) { // Create a regular expression to search all +s in the string var lsRegExp = /\+/g; // Return the decoded string return unescape(String(psEncodeString).replace(lsRegExp, " ")); } function qstringvars(name) { querystring = location.search.substring(1); startsearch = querystring.indexOf(name + '='); if (startsearch != -1) { startpos = querystring.indexOf("=", startsearch)+1; endpos = querystring.indexOf('&', startpos); if (endpos != -1) { ret_value = querystring.substring(startpos, endpos); } else { ret_value = querystring.substring(startpos); } return (URLDecode(ret_value)); } else { return (""); } } function goToPage(pageNo) { if (layoutMode != 'none') { var field = document.getElementById("queryString"); inlineResultsPage('nvs', field.value, pageNo); document.location = '#top'; } else { window.location="cars_search?page=" + pageNo + "¤taction=searchresultsjs&partner=aol&categorytype=cars&dropdowntype=nvs"; } } bannerParams = 'CAR_MAKES=/CAR_MODELS=' + '/ord=' + Math.random() + new Date().getMilliseconds() + '/DOB=' + (getcookieField('DOB') ? getcookieField('DOB') : '') + '/G=' + (getcookieField('G') ? getcookieField('G') : '') + '/MIN_PRICE=' + '/MAX_PRICE=' + '/FUEL=' + '/TRANSMISSON=' + '/DOORS=' + '/PAGEID=' + Math.round(Math.random() * 100000000); if (cookieParams) { bannerParams = bannerParams + cookieParams; } var populated=0; function more_info(adID,dist,cat,pos,popName,Width,Height) { popURL="CARS_popup?currentaction=searchresultsjs&partner=aol&categorytype=cars&dropdowntype=nvs&start=" + pos + "&distance=" + dist + "&adcategory=" + cat + "&channel=CARS&id=" + adID; pop_up(popURL,popName,Width,Height); } // Adds the epi2 value onto the TradeDoubler URL before opening it in a new window function requestAdvertPage(url, redirectUrl, name) { var date = new Date(); var fromHour = date.getHours(); var toHour = fromHour + 1; if (redirectUrl.indexOf('http') == -1) { redirectUrl = 'http://' + redirectUrl; } if (fromHour < 10) { fromHour = "0"+fromHour; } if (toHour < 10) { toHour = "0"+toHour; } var newurl = url + "&epi2=" + fromHour + ":00 - " + toHour + ":00" + "&url=" + redirectUrl; window.open(newurl, name, ''); } //form input validation // Used by the NVS search forms on main website // Alerts user if all mandatory fields have not been entered // frm: The form object // category: The category the search was made from // Return Value: true if all mandatory fields have been entered in search form, false otherwise function validateNVSMandatoryFields(frm, category) { var minpricePopulated = true; var maxpricePopulated = true; var makePopulated = true; if(category != 'CARS') { return false; } if(frm.min_pr.value=='' || frm.min_pr.value=='75' || frm.min_pr.value=='0') { minpricePopulated = false; } if(frm.max_pr.value=='') { maxpricePopulated = false; } if(frm.make.value == '') { makePopulated = false; } if (!minpricePopulated && !maxpricePopulated && !makePopulated) { alert('Please enter a make or a max or min price'); return false; } return true; } //Gets currently selected form values and sends user to used car search function goToUCSAdvanced(theForm, url) { var searchservlet = '/www/cars/search/N-0/search.action'; var nosearchservlet = '/www/cars/search_form.action'; var frm_make = document.getElementById('make').value; var frm_model = document.getElementById('model').value; var frm_sortby = document.getElementById('sort').value; var user_postcode = getcookieField('PC'); //convert sort values for used car search if(frm_sortby != null && frm_sortby != '') { if(frm_sortby == '6') { frm_sortby = '5'; } else { frm_sortby = '3'; } } if(user_postcode == null) { user_postcode = ''; } var querystring = "?legacy_url=Y&make="+escape(frm_make)+"&model="+escape(frm_model)+"&modelexact=1&hassearched=Y&sort="+escape(frm_sortby)+"&miles=1500"+"&postcode="+escape(user_postcode); var nosearch = "&nosearch=true"; var hassearched = qstringvars("hassearched"); //check if a search has been done if(hassearched == 'Y') { var qry_make = qstringvars("make"); var qry_model = qstringvars("model"); var dosearch = true; //if make is empty, it was a price-only search, so don't do a used search if(frm_make == '') { dosearch = false; } //compare form values with query values - if they're the same, send request to used car search, else to 'no search' servlet if(frm_make != null && frm_make != '' && qry_make != '') { if(frm_make != qry_make) { dosearch = false; } } if(frm_model != null && frm_model != '' && qry_model != '') { if(frm_model != qry_model) { dosearch = false; } } if(dosearch) { location.href = url + searchservlet + querystring; } else { location.href = url + nosearchservlet + querystring + nosearch; } } else { location.href = url + nosearchservlet + querystring + nosearch; } } function checkKeywords(theForm) { if (!validateNVSMandatoryFields(theForm, 'CARS')) { return false; } document.getElementById('hassearched').value = "Y"; var sortByField = document.getElementById('sortResultsBy'); if (sortByField != null && sortByField.selectedIndex > -1) { document.getElementById('sort').value = sortByField[sortByField.selectedIndex].value; } if (theForm.isadealer.checked) { if ((theForm.postcode.value == 'full postcode')||(theForm.postcode.value == '')) { alert('Please enter a postcode'); return false; } } else if (theForm.isadealer.checked == false) { theForm.postcode.value=""; } return true; } function submitSort(theForm) { var sortByField = document.getElementById('sortResultsBy'); if (sortByField != null && sortByField.selectedIndex > -1) { document.getElementById('sort').value = sortByField[sortByField.selectedIndex].value; if(checkKeywords(theForm)) { if (layoutMode != 'none') { updateInline('nvs', new Array('searchresults')); } else { theForm.submit(); return false; } } } } function popupCapTechSpec(id, partner, hideLinks) { var baseUrl = 'http://nvs.autotrader.co.uk/CapTechSpec?advertid=' + id; var partnerParam = '&partner=' + partner; var hideLinksParam = hideLinks != '' ? '&hidelinks=' + hideLinks : ''; var url = baseUrl + partnerParam + hideLinksParam; var capTechSpec = window.open(url, id, 'directories=no,location=no,menubar=no,scrollbars=yes,status=no,toolbar=no,resizable=yes,width=714,height=670,screenX=15,screenY=15,top=15,left=15'); capTechSpec.focus(); }