
var innerScrollBarMode=false;var FILTER_BGCOLOR_ON="#35E5C0";var FILTER_BGCOLOR_OFF="#F0F0FF";var filterHint=document.getElementById("filterHint");var searchTitle=document.getElementById("searchTitle");var filterUsed=false;var filterHintShown=false;var filterHintShowing=false;var initialPageTimeout=1250;var pageTimeout=4000;var hideDivOr=false;var resultsOnPage=false;var isRemDupes=true;function debug(text){var tst=new Date();document.debugForm.console.value=document.debugForm.console.value+"\n"+""+tst.getTime()+"   "+text;}
function swapFrames(totalNumberOfRequests){var newUrl=updateUrl+"&getSummary="+returnSummary;noOfRequests++;if((noOfRequests>totalNumberOfRequests)&&(!userStopped)){noOfRequests=0;getSummary();}
else{if((currentFrame=="one")&&(!frame2Loading)){window.frames['frame2'].location.replace(newUrl+"&frame=frame2");currentFrame="two";frame2Loading=true;}
else if((currentFrame=="two")&&(!frame1Loading)){window.frames['frame1'].location.replace(newUrl+"&frame=frame1");currentFrame="one";frame1Loading=true;}}}
function showFrame1(){frame1Loading=false;var frame=window.frames['frame1'];if(!frame)frame=document.getElementById('frame1');if(!frame1FirstCalled){frame1FirstCalled=true;}
if(hideDivOr){hideEl(document.getElementById("processingImage"));hideEl(document.getElementById("divOR"));hideDivOr=false;}
if(!initialWaitingFinished){var now=new Date();var diff=now-start;initialWaitingFinished=true;frame2FirstCalled=true;if(frame.hasResults&&(diff<(initialWait))){setTimeout("showFrame1()",(initialWait)-diff);}
else{showFrame1();}}
else{if((frame.hasResults||frame.noFilteredResults||frame.noResultsFound)&&!queueFilter){showDiv(div1);hideDiv(div2);div1.style.visibility="visible";setIframeHeight("frame1");}
else{currentFrame="two";}
updateInfo(frame);}}
function showFrame2(){frame2Loading=false;if(!frame2FirstCalled){start=new Date();Dframe2FirstCalled=true;}
if(hideDivOr){hideEl(document.getElementById("processingImage"));hideEl(document.getElementById("divOR"));hideDivOr=false;}
var frame2var=window.frames['frame2'];if(!frame2var)frame2var=document.getElementById('frame2');if((frame2var.hasResults||frame2var.noFilteredResults)&&!queueFilter){showDiv(div2);hideDiv(div1);div2.style.visibility="visible";setIframeHeight("frame2");}
else{currentFrame="one";}
updateInfo(frame2var);}
var filterDocument=document;function updateFilters(frame,priceOnly,filters){var filtArray;if(filters){filtArray=filters;}
else{filtArray=frame.filters;}
var clearedAttrs=false;if(filtArray){var arrLength=filtArray.length;var boolOpts="";for(var i=0;i<arrLength;i++){var aFilter=filtArray[i];var filterObj=filterDocument.getElementById(aFilter[0]+"_in");if(filterObj&&!priceOnly){switch(filterObj.type){case"select-one":if(aFilter.length<=2){hideEl(filterDocument.getElementById("filterRow_"+aFilter[0]));}
else if(aFilter[aFilter.length-1].indexOf(">")!=-1){show(filterDocument.getElementById("filterRow_"+aFilter[0]));filterObj.options[0]=new Option("-------- FILTER OFF -------");if(countOccurances(aFilter[aFilter.length-1],">")==aFilter.length-2&&aFilter[aFilter.length-1]==typeVal){hideEl(filterDocument.getElementById("filterRow_"+aFilter[0]));}
else{var count=1;for(var x=1;x<aFilter.length;x++){if(aFilter[x].length>=typeVal.length){filterObj.options[count]=new Option(aFilter[x],aFilter[x]);count++;}}}}
else{show(filterDocument.getElementById("filterRow_"+aFilter[0]));filterObj.options[0]=new Option("------- FILTER OFF -------");filterObj.options.length=1;for(var x=1;x<aFilter.length;x++){var name=aFilter[x];var val=aFilter[x];if(aFilter[0]=='type'){nameVal=aFilter[x].split(":");name=nameVal[0];val=nameVal[1];}
filterObj.options[x]=new Option(val,name);}}
break;case"select-multiple":for(var x=1;x<filter.length;x++){filterObj.options[x-1]=new Option(aFilter[x],aFilter[x]);}
break;case"text":filterObj.value=aFilter[1];break;case"hidden":if(aFilter[0]!="Content provider"){var holder=filterDocument.getElementById(aFilter[0]+"_in_holder")
if(holder){for(var x=1;x<aFilter.length;x++){holder.innerHTML+="<tr><td><input type=checkbox name='f"+aFilter[x]+"' id='"+aFilter[0]+"_in'  onclick=\"filterResults();\"></td><td class=vendorLink>"+aFilter[x]+"</td></tr>";}}}
break;case"textarea":}}
else if(aFilter[0].substr(0,3)=="cl_"){var typeFilterDiv=filterDocument.getElementById("typeFilterDiv");var opts="";if(!clearedAttrs){clearedAttrs=true;typeFilterDiv.innerHTML="";}
if(aFilter[1]==" "){var labelVal=aFilter[2].split(":");opts="<div class=attrFlt><input type=checkbox class=chkbox onclick='";if(explorerInFrame)opts+="window.parent.";opts+="filterResults()' value='"+labelVal[0]+"' id='"+aFilter[0]+"'>"+labelVal[1]+"</div>";boolOpts+=opts;}
else if(aFilter.length>3){opts=aFilter[1]+" ";opts+="<select onmousewheel='return false;' onchange='";if(explorerInFrame)opts+="window.parent.";opts+="filterResults();return false;' class=filterSelect style='background-color: #F0F0FF' id='"+aFilter[0]+"'>";opts+="<option value='-1'>------- FILTER OFF ----</option>";for(var x=2;x<aFilter.length;x++){var optVal=aFilter[x];if(isSafari())optVal=optVal.replace('"',"safariQuote")
optVal=optVal.replace("&","&amp;")
opts+="<option value='"+optVal+"'>"+aFilter[x]+"</option>";}
opts+="</select><br>";typeFilterDiv.innerHTML=typeFilterDiv.innerHTML+opts;}}
else if(!filterObj){if(explorerInFrame)slider=window.frames['filtSecFrame'].sliders[aFilter[0]];else slider=sliders[aFilter[0]];if(slider){var lower=Math.floor(aFilter[1]);var upper=Math.floor(parseFloat(aFilter[2])+0.5);if((aFilter[1].indexOf(":")!=-1)&&!priceOnly){if(slider.setMinVal){slider.setMinVal(aFilter[1]);slider.setMaxVal(aFilter[2]);slider.setMinVal2(aFilter[1]);slider.setMaxVal2(aFilter[2]);slider.drawInto("slider_"+aFilter[0]);}}
else if(isNaN(lower)||isNaN(upper)||(lower==0&&upper==0)){if(explorerInFrame){window.frames['filtSecFrame'].sliders[aFilter[0]]=null;window.frames['filtSecFrame'].sliders.splice(aFilter[0],1);}
else{sliders[aFilter[0]]=null;sliders.splice(aFilter[0],1);}
hideEl(filterDocument.getElementById(aFilter[0]+"_row1"));hideEl(filterDocument.getElementById(aFilter[0]+"_row2"));hideEl(filterDocument.getElementById(aFilter[0]+"_row3"));}
else if(aFilter[1].indexOf(":")==-1){if(!slider.isPreset){slider.minVal=lower;slider.maxVal=upper;slider.minVal2=lower;slider.maxVal2=upper;}
else{lower=slider.minVal;upper=slider.maxVal;slider.minVal2=lower;slider.maxVal2=upper;}
if(priceOnly){if(!slider.lowerAtMin){var sliderhtml=filterDocument.getElementById("vtslider_"+aFilter[0]);var displayedLower=parseInt(sliderhtml.innerHTML);if(sliderhtml)lower=Math.max(slider.selectedLower,lower);if(lower>upper)lower=upper;}
if(!slider.upperAtMax){var sliderhtml=filterDocument.getElementById("vtslider_"+aFilter[0]+"2");var displayedUpper=parseInt(sliderhtml.innerHTML);if(sliderhtml)upper=Math.min(slider.selectedUpper,upper);}}
slider.valueDefault=lower;slider.valueDefault2=upper;slider.drawInto("slider_"+aFilter[0]);if(slider.kSlider){updateLabelsK(slider,lower,lower,1);updateLabelsK(slider,upper,upper,2);}
else{filterDocument.getElementById("vtslider_"+aFilter[0]).innerHTML=lower;filterDocument.getElementById("vtslider_"+aFilter[0]+"2").innerHTML=upper;}}}}}
if(boolOpts!=""){var typeFilterDiv=filterDocument.getElementById("typeFilterDiv");typeFilterDiv.innerHTML=typeFilterDiv.innerHTML+boolOpts;}
initialiseTimeSliders();}
filtersCleared=false;}
function updateInfo(frame,setFilterDoc){if(queueFilter){filterResults();}
else{var numClients;var mainDoc;if(setFilterDoc){numClients=noOfClients;mainDoc=frame.document;filterDocument=frame.document;}
else{numClients=frame.noOfClients;mainDoc=document;}
var respondedClients=frame.respondedClients;var totalResults=0;if((!userStopped)&&(numClients)){if((numClients>0)&&(initialWaitingFinished)&&(!finished)){clearTimeout(pollTimeout);pollTimeout=setTimeout("swapFrames(totalNumberOfRequests)",initialPageTimeout);}
percentComplete=(100/(totalClients*2))*(((totalClients*2)+1)-(numClients*2));}
setInnerHtmlEl(filterDocument.getElementById("filTot"),"");hideEl(filterDocument.getElementById("total_of"));if(respondedClients){if(filter)clearAllVendorFiltTots();var clientSec;var numSec;var numResults;var numFilteredResults;var elSuffix;var totalFilteredResults=0;var respClLen=respondedClients.length;for(var i=0;i<respClLen;i++){numResults=respondedClients[i][1];numFilteredResults=respondedClients[i][2];var respClientId=respondedClients[i][0].replace(/ /g,"_");clientSec=filterDocument.getElementById("p"+respClientId);clientSec2=filterDocument.getElementById("p"+respClientId+"2");numSec=filterDocument.getElementById("p"+respClientId+"_no");numSec2=filterDocument.getElementById("p"+respClientId+"_no2");numSecFil2=filterDocument.getElementById("p"+respClientId+"_fil");clientRow=filterDocument.getElementById("p"+respClientId+"_row2");clientWaitRow=filterDocument.getElementById("p"+respClientId+"_row");if(numResults>0){if(clientSec)clientSec.className="respondedClient";if(clientSec2)clientSec2.className="respondedClient";if(!filter&&numSec)numSec.innerHTML=numResults;if(!filter&&numSec2)numSec2.innerHTML="&nbsp;"+numResults+"";if(filter&&numSecFil2){numSecFil2.innerHTML=numFilteredResults;show(numSecFil2);show(filterDocument.getElementById("p"+respClientId+"_of"));}
if(finished&&!filter){hideEl(numSecFil2);hideEl(filterDocument.getElementById("p"+respClientId+"_of"));}
totalResults+=parseInt(numResults);totalFilteredResults+=parseInt(numFilteredResults);show(clientRow);}
else if(!finished){hide(clientWaitRow);}}
if(!filter){setInnerHtmlEl(filterDocument.getElementById("total_no"),totalResults);setInnerHtmlEl(filterDocument.getElementById("total_no2"),totalResults);}
var iframeRes=frame.document.getElementById("iframeRes");if(iframeRes)iframeRes.innerHTML=totalResults;if(!filter)noOfResultsSpan.innerHTML=totalResults;if(filter)setInnerHtmlEl(filterDocument.getElementById("filTot"),totalFilteredResults);}
if((totalResults>0)&&(!userStopped)){var el=mainDoc.getElementById("stopButton");if(el)el.disabled=false;}
if(frame.numberOfResults){if(filter){setInnerHtmlEl(mainDoc.getElementById("filTot"),"&nbsp;"+frame.numberOfResults+"");show(mainDoc.getElementById("total_of"));}
else{setInnerHtmlEl(mainDoc.getElementById("total_no"),frame.numberOfResults);}}
if(filter){totalPages=frame.numberOfPages;noOfPagesSpan.innerHTML=totalPages;noOfFilterResultsSpan.innerHTML=frame.numberOfResults;show(filterResultsRow);if(undoFiltersButtonID)undoFiltersButtonID.disabled=false;}
else{totalPages=totalPagesUnfiltered;noOfPagesSpan.innerHTML=totalPages;hideEl(filterResultsRow);if(undoFiltersButtonID)undoFiltersButtonID.disabled=true;}
if((!finished)&&((numClients==0)||userStopped)){var disSortSec=frame.document.getElementById("disabledSortSection");var sortSec=frame.document.getElementById("sortSection");if(!sortSec){if(currentFrame=="one"){sortSec=window.frames['frame1'].document.getElementById("sortSection");disSortSec=window.frames['frame1'].document.getElementById("disabledSortSection");}
else{sortSec=window.frames['frame2'].document.getElementById("sortSection");disSortSec=window.frames['frame2'].document.getElementById("disabledSortSection");}}
if(sortSec&&sortSec.style.visibility=="hidden"){show(sortSec);hideEl(disSortSec);}
if(percentHtml){percentHtml.innerHTML=100;prog.width=100;}
noOfResultsSpan.innerHTML=frame.numberOfResults;noOfPagesSpan.innerHTML=frame.numberOfPages;totalPages=frame.numberOfPages;totalPagesUnfiltered=totalPages;if((frame.numberOfResults!=0)||(userStopped)){show(mainDoc.getElementById("filteringSection"));hideEl(mainDoc.getElementById("searchingSection"));}
if(!noVendors&&!(totalPages==0)){updateFilters(frame,false);}
var fraDoc;if(currentFrame=="two"){fraDoc=window.frames['frame2'].document;}else{fraDoc=window.frames['frame1'].document;}
if(fraDoc.getElementById("totalPagesSpan"))fraDoc.getElementById("totalPagesSpan").innerHTML=totalPages;if(fraDoc.getElementById("nextPageSpan")&&totalPages>1){showEl(fraDoc.getElementById("nextPageSpan"));if(fraDoc.getElementById("nextPageSpanOff"))hideEl(fraDoc.getElementById("nextPageSpanOff"));}
var frameNoNext=fraDoc.getElementById("frameNoNext");var frameNext=fraDoc.getElementById("frameNext");finished=true;if(mapPresent)updateMap(true);historyList[historyPos]=frame.location.href+"&finished=true";saveState();var el=document.getElementById("stopButton");if(el)el.disabled=true;}
else if(finished){currentPageSpan.innerHTML=currentPageNumber;if((filter&&!priceSliderUsed)||filtersCleared)updateFilters(frame,false);if(mapPresent)updateMap(false);}
showHidePageButtons();if(queueGetSummary&&!finished)getSummary();if(finished&&!resultsOnPage){if(isFirefox()||isSafari()){setFrameWidth("frame1");setFrameWidth("frame2");}
priceSliderUsed=false;movingForward=true;var ajaxUrl;ajaxUrl="/ajax/frame.html?pos="+historyPos;var ajLoc;var ajFrame=window.frames['ajaxFrame'];if(!isSafari()&&ajFrame)ajLoc=ajFrame.location;if(ajLoc)ajLoc.href=ajaxUrl;}}}
function increaseProgress(){progWidth=prog.width;if(progWidth<(percentComplete)){prog.width=prog.width+1;if(previousPercentage!=Math.floor(prog.width)){percentHtml.innerHTML=Math.floor(prog.width);}}
if(!finished)setTimeout("increaseProgress()",110);previousPercentage=Math.floor(prog.width);}
function replaceFrame(url){if((currentFrame=="one")&&(!frame1Loading)){frame2Loading=true;show(window.frames['frame1'].document.getElementById("processingImage"),false,document.body.scrollTop+200);window.frames['frame2'].location.replace(url+"&frame=frame2");currentFrame="two";}
else if((currentFrame=="two")&&(!frame2Loading)){frame1Loading=true;show(window.frames['frame2'].document.getElementById("processingImage"),false,document.body.scrollTop+200);window.frames['frame1'].location.replace(url+"&frame=frame1");currentFrame="one";}}
function getSummary(){if(frame1Loading||frame2Loading){queueGetSummary=true;}
else{userStopped=true;clearTimeout(pollTimeout);returnSummary=true;var el=document.getElementById("stopButton");if(el)el.disabled=false;swapFrames(totalNumberOfRequests);}}
function pageForward(jumpToTop){if(currentPageNumber<totalPages){currentPageNumber++;currentPageSpan.innerHTML=currentPageNumber;getPage();if(jumpToTop)
moveToTop();}
showHidePageButtons();showFilterHint();}
function pageBack(jumpToTop){if(currentPageNumber>1){currentPageNumber--;currentPageSpan.innerHTML=currentPageNumber;getPage();if(jumpToTop)
moveToTop();}
showHidePageButtons();}
function showHidePageButtons(){if(currentPageNumber<totalPages){show(forwardButton);hideEl(forwardButtonOff);}
else{show(forwardButtonOff);hideEl(forwardButton);}
if(currentPageNumber>1){show(backButton);hideEl(backButtonOff);}
else{show(backButtonOff);hideEl(backButton);}}
function showFilterHint(){return;if((!filterUsed)&&(!filterHintShown)){show(filterHint);hideEl(searchTitle);filterHintShown=true;filterHintShowing=true;}}
function hideFilterHint(){return;if(filterHintShowing){show(searchTitle);hideEl(filterHint);filterHintShowing=false;}}
function filterResults(){filterResults(false);}
function filterResults(filteredOnType){if(filteredOnType){var typeFilterDiv=filterDocument.getElementById("typeFilterDiv");if(typeFilterDiv){typeFilterDiv.innerHTML="";}}
filterUsed=true;if(frame1Loading||frame2Loading){queueFilter=true;}
else{hideFilterHint();queueFilter=false;filterString="";if(!filter)pageNoBeforeFilter=currentPageNumber;currentPageNumber=1;var form=filterDocument.getElementById("filterForm");var fields=form.elements;var field;var id="";var previousId="";var fieldsLength=fields.length;for(i=0;i<fieldsLength;i++){field=fields[i];previousId=""+id;id=getFieldId(field.id);switch(field.type){case"select-one":if(field.selectedIndex>0){var val=urlEncode(field.options[field.selectedIndex].value);if(isSafari())val=val.replace("safariQuote",'"');var startsWith=id.substr(0,4);if(startsWith=="LOW_"){id=id.substr(4);var otherVal=filterDocument.getElementById(field.id.replace("LOW_","UPP_")).value;if(otherVal=="-1")otherVal="";val=val+"|"+otherVal;}
else if(startsWith=="UPP_"){id=id.substr(4);var otherVal=filterDocument.getElementById(field.id.replace("UPP_","LOW_")).value;if(otherVal=="-1")otherVal="";val=otherVal+"|"+val;}
filterString+="&"+id+"=";filterString+=val;if(field.selectedIndex!=0)field.style.backgroundColor=FILTER_BGCOLOR_ON;}
else field.style.backgroundColor=FILTER_BGCOLOR_OFF;break;case"select-multiple":filterString+="&"+id+"=";for(var x=1;x<field.options.length;x++){filterString+=field.options[x].value+"|";}
break;case"text":var val=urlEncode(field.value);if(val&&val!=""){if(id!=previousId){filterString+="&"+id+"=";filterString+=val;}
else{filterString+="|"+val;}
field.style.backgroundColor=FILTER_BGCOLOR_ON;}
else{field.style.backgroundColor=FILTER_BGCOLOR_OFF;}
break;case"checkbox":var value=field.name.substring(1,field.name.length);if(id=="PUBLICID")value=value.replace(/_/g," ");if(id!=previousId){filterString+="&"+id+"=";if(field.checked)filterString+=urlEncode(value)+"|";}
else{if(field.checked)filterString+=urlEncode(value)+"|";}
break;case"hidden":if(id!=previousId){filterString+="&"+id+"=";}
break;case"textarea":break;}}
if(sliderKeys.length>0){var sliderField1;var sliderField2;var key;var slider;var slidersArray;if(explorerInFrame)slidersArray=window.frames['filtSecFrame'].sliders;else slidersArray=sliders;var keysLength=sliderKeys.length;for(i=0;i<keysLength;i++){key=sliderKeys[i];slider=slidersArray[key];sliderVal1="";sliderVal2="";if(slider&&slider.isActive){if(slider.hasLowerChanged()||slider.hasLowerSet()){sliderVal1=slider.selectedLower;}
if(slider.hasUpperChanged()||slider.hasUpperSet()){sliderVal2=slider.selectedUpper;}
filterString+="&"+sliderKeys[i]+"="+sliderVal1+"|"+sliderVal2;}}}
if(!priceSliderUsed)filterString+="&filterUpdate=price|handsetPrice|monthlyTariff";if(filteredByList&&filteredByList.length>0){filterString+="&filByList=";for(i=0;i<filteredByList.length;i++){filterString+="|"+filteredByList[i];}}
filter=true;getPage();}}
function getFieldId(id){if(id.indexOf("PUBLICID")==0){return"PUBLICID";}
else{return id.substring(0,id.length-3);}}
function clearSelects(){var form=filterDocument.getElementById("filterForm");var fields=form.elements;var field;for(i=0;i<fields.length;i++){field=fields[i];switch(field.type){case"select-one":field.selectedIndex=0;field.style.backgroundColor=FILTER_BGCOLOR_OFF;break;case"text":field.style.backgroundColor=FILTER_BGCOLOR_OFF;break;}}}
function sortBy(sortKey){if(sortKey==sortedBy){if(order=="ASC"){order="DESC";}
else{order="ASC";}}
else{order="ASC";}
sortKey2=sortedBy;sortedBy=sortKey;currentPageNumber=1;getPage();}
function getPage(){clearTimeout(getPageTimeout);if(frame1Loading||frame2Loading){getPageTimeout=setTimeout("getPage()",200);}
else{var newUrl=pageUrl+"&pageNo="+currentPageNumber+"&totalPages="+totalPages+"&sortBy="+sortedBy+"&sortBy2="+sortKey2+"&order="+order+"&filter="+filter+"&finished="+finished;if(filterString)newUrl+=filterString;newUrl+="&sqMake="+sqMake+"&sqModel="+sqModel+"&sqProfile="+sqProfile+"&sqIsSuperModel="+sqIsSuperModel;if(!isRemDupes)newUrl+="&isRemDupes="+isRemDupes;historyPos++;historyList[historyPos]=newUrl;saveState();if(resultsOnPage){show(document.getElementById("processingImage"),false,document.body.scrollTop+250);}
replaceFrame(newUrl);filteredByList=new Array();if(resultsOnPage){hideDivOr=true;resultsOnPage=false;}}}
function startPolling(){pollTimeout=setTimeout("swapFrames(totalNumberOfRequests)",initialPageTimeout);initialPageTimeout=pageTimeout;increaseProgress();}
function filterToggleDupes(){isRemDupes=!isRemDupes;getPage();if(!isRemDupes){filterUsed=true;filter=true;showId("hideDupe");hideId("showDupe");}
else{hideId("hideDupe");showId("showDupe");}}
