var find_loc=new Object();
find_loc.name="find_loc";
find_loc.acc_id="meet_the_cars";
find_loc.loc_id="locations";
find_loc.spc_id="locations_spacer";
find_loc.intro_id="meet_cars_intro";
find_loc.type_intro_id="meet_cars_type_intro";
find_loc.form_id="filter-by-type";
find_loc.filter_id="btn-type-filter";
find_loc.clear_id="btn-type-clear";
find_loc.cur_loc=0;
find_loc.map="zipmap";
find_loc.in_progress=0;
find_loc.o_prefix="l";
find_loc.c_prefix="c";
find_loc.pin_prefix="l";
find_loc.counts=new Array();
find_loc.search=new Object();
find_loc.home_marker=new Object();
find_loc.retry_count=0;
find_loc.retry=0;
var ZOOM_LOC=13;
var zipmarker_youarehere,zipmarker_nomatch,zipmarker_expanded,zipmarker_unknown;
var glfm;
var ldg=document.createElement("div");
$(ldg).addClass("loc_name");
ldg.appendChild(document.createTextNode("loading..."));
function resetLoc(){
clearForm(find_loc);
refreshAccordion(find_loc);
}
function findLoc(){
if(find_loc.form_id){
glfm=document.getElementById("new-type-filter");
if(glfm!=null&&glfm.style.display=="block"){
$("#new-type-filter").slideToggle(300,function(){
refreshAccordion(find_loc);
});
}else{
refreshAccordion(find_loc);
}
}else{
refreshAccordion(find_loc);
}
}
function refreshAccordion(f){
if(f.in_progress>0){
return;
}
f.in_progress=1;
if(f.map&&checkAccordion(f)){
countCars(f);
resetFilterButtons();
f.in_progress=0;
return;
}
countCars(f);
resetFilterButtons();
fillAccordion(f);
}
function fillAccordion(f){
var e,l,_5,_6,_7,_8,_9,_a,_b,_c,_d;
var _e,_f;
l=document.getElementById(f.loc_id);
_9="even";
$(l).slideToggle(300,function(){
while(l.hasChildNodes()){
_a=l.removeChild(l.firstChild);
}
l.scrollTop=0;
_d=0;
for(i=0;i<locs.length;i++){
if(f.counts["loc"+locs[i][0]][0]>0){
_d++;
_5=document.createElement("div");
$(_5).attr("id",f.c_prefix+locs[i][0]);
$(_5).addClass("loc_closed "+_9);
$(_5).click(function(){
showLoc(f,this);
});
_6=document.createElement("div");
$(_6).attr("id",f.o_prefix+locs[i][0]);
$(_6).addClass("loc_open");
_7=document.createElement("strong");
_7.appendChild(document.createTextNode(URLDecode(locs[i][1])));
_5.appendChild(_7);
_5.appendChild(document.createElement("br"));
l.appendChild(_5);
l.appendChild(_6);
if(f.counts["loc"+locs[i][0]][0]==1){
_b=" vehicle";
}else{
_b=" vehicles";
}
_5.appendChild(document.createTextNode(f.counts["loc"+locs[i][0]][0]+_b));
if(locs[i][0]==f.cur_loc){
e=document.getElementById(f.o_prefix+f.cur_loc);
if(e!=null){
e.appendChild(ldg);
$("#"+f.c_prefix+f.cur_loc).hide();
$(e).show();
$.get(meet_loc_url,{location_id:f.cur_loc,name:f.name,make_id:f.search.make_id,model_id:f.search.model_id,lg_id:f.search.lg_id,amenity_id:f.search.amenity_ids,style_id:f.search.style_ids,corporate_plan_key:plan_key},function(_10){
$(e).html(_10);
},"html");
}
}
if(_9=="even"){
_9="odd";
}else{
_9="even";
}
if(f.map){
try{
zip_pins[f.pin_prefix+locs[i][0]].setImage(img_zipmarker);
}
catch(err){
}
}
}else{
if(f.counts["loc"+locs[i][0]][1]>0){
if(f.map){
try{
zip_pins[f.pin_prefix+locs[i][0]].setImage(img_nomatch);
}
catch(err){
}
}
}
}
}
if(_d>0){
f.retry_count=0;
f.retry=0;
_8=document.createElement("div");
$(_8).attr("id",f.spc_id);
l.appendChild(_8);
if(f.cur_loc>0){
e=document.getElementById(f.o_prefix+f.cur_loc);
if(!e){
if(f.map){
if(f.counts["loc"+f.cur_loc][0]>0){
try{
zip_pins[f.pin_prefix+f.cur_loc].setImage(img_zipmarker);
}
catch(err){
}
}else{
try{
zip_pins[f.pin_prefix+f.cur_loc].setImage(img_nomatch);
}
catch(err){
}
}
}
f.cur_loc=0;
}else{
if(f.map){
try{
zip_pins[f.pin_prefix+f.cur_loc].setImage(img_expanded);
}
catch(err){
}
}
spacer(f,e,1);
scrollbar(e.nextSibling);
}
}
}else{
if(f.map&&f.cur_loc>0){
if(f.counts["loc"+f.cur_loc][0]>0){
try{
zip_pins[f.pin_prefix+f.cur_loc].setImage(img_zipmarker);
}
catch(err){
}
}else{
try{
zip_pins[f.pin_prefix+f.cur_loc].setImage(img_nomatch);
}
catch(err){
}
}
f.cur_loc=0;
}
if(f.retry>0){
f.retry_count++;
if(f.retry_count>3){
f.retry_count=0;
f.retry=0;
}
}
if(f.retry_count==0){
_e=document.createElement("a");
$(_e).click(function(){
setZoom(getZoom()-1);
});
_e.appendChild(document.createTextNode("zooming out"));
_c=document.createElement("p");
$(_c).addClass("no-results");
_c.appendChild(document.createTextNode("We couldn't find any vehicles that matched your criteria. try "));
_c.appendChild(_e);
if(activeFilters(f)&&visibleLocations(f)){
_c.appendChild(document.createTextNode(", "));
_f=document.createElement("a");
$(_f).click(function(){
resetLoc();
});
_f.appendChild(document.createTextNode("removing your filter"));
_c.appendChild(_f);
}
_c.appendChild(document.createTextNode(" or entering a different address"));
l.appendChild(_c);
}
}
$(l).slideToggle(300,function(){
if(e){
scrollbar(e);
}else{
l.scrollTop=0;
}
f.in_progress=0;
if(f.retry_count>0&&f.retry>0&&getZoom()>ZOOM_LOC){
setZoom(getZoom()-1);
}
});
});
}
function showLoc(f,e){
if(e!=null&&typeof e=="object"){
if(f.in_progress==1){
return;
}
f.in_progress=1;
var id=String(e.id).substr(1);
if(f.cur_loc==id){
f.in_progress=0;
return;
}
if(f.cur_loc>0){
hideLocById(f,f.cur_loc);
}
if(f.map){
zip_pins[f.pin_prefix+id].setImage(img_expanded);
}
var _14=200;
spacer(f,e,0);
scrollbar(e);
_14=f.counts["loc"+id][0]*150;
if(!e.nextSibling.innerHTML){
$(e).hide();
e.nextSibling.appendChild(ldg);
$(e.nextSibling).show();
$.get(meet_loc_url,{location_id:id,name:f.name,make_id:f.search.make_id,model_id:f.search.model_id,lg_id:f.search.lg_id,amenity_id:f.search.amenity_ids,style_id:f.search.style_ids,corporate_plan_key:plan_key},function(_15){
$(e.nextSibling).html(_15);
$(e.nextSibling).hide();
$(e.nextSibling).slideToggle(_14,function(){
spacer(f,this,1);
scrollbar(e.nextSibling);
f.cur_loc=id;
f.in_progress=0;
});
},"html");
}else{
$(e).hide();
$(e.nextSibling).slideToggle(_14,function(){
spacer(f,this,1);
scrollbar(e.nextSibling);
f.cur_loc=id;
f.in_progress=0;
});
}
}
}
function map_cb(){
var _16;
var _17=17;
var _18=13;
var _19=10;
for(i=0;i<locs.length;i++){
_16=createMarker(eval(find_loc.map),new GLatLng(locs[i][2],locs[i][3]),zipmarker,"l"+locs[i][0],"","window.parent.toggleLocById("+locs[i][0]+");",1,_18,_17,1);
}
for(i=0;i<loc_grps.length;i++){
_16=createMarker(eval(find_loc.map),new GLatLng(loc_grps[i][1],loc_grps[i][2]),ziphood,"lg"+loc_grps[i][0],"","window.parent.showLocGrp("+loc_grps[i][0]+");",1,_19,_18-1,1);
}
for(i=0;i<fleets.length;i++){
_16=createMarker(eval(find_loc.map),new GLatLng(fleets[i][2],fleets[i][3]),ziphood,fleets[i][1],"","window.location.href='find-cars?zipfleet_id="+fleets[i][0]+"';",1);
}
addListener(eval(find_loc.map),"moveend",function(){
findLoc(find_loc);
});
zipmarker_youarehere=createIcon(img_youarehere,[20,34],img_shadow,[37,34],[10,34],[10,1]);
zipmarker_nomatch=createIcon(img_nomatch,[20,34],img_shadow,[37,34],[10,34],[10,1]);
zipmarker_expanded=createIcon(img_expanded,[20,34],img_shadow,[37,34],[10,34],[10,1]);
$("#find-cars-location-trigger").click(function(){
findCars("location");
});
$("#find-cars-type-trigger").click(function(){
findCars("type");
});
searchInit(find_loc);
if(typeof local_cb=="function"){
local_cb();
}
findLoc(find_loc);
}
function searchInit(f){
f.search.make_id="";
f.search.model_id="";
f.search.lg_id="";
f.search.style_ids=new Array();
f.search.amenity_ids=new Array();
}
function place_home(lat,lng){
find_loc.home_marker=createMarker(eval(find_loc.map),new GLatLng(lat,lng),zipmarker_youarehere,"home","","",0,13,17,0);
}
function showLocGrp(id){
find_loc.in_progress=1;
find_loc.retry=1;
var s=document.getElementById("location_group_id");
for(i=0;i<loc_grps.length;i++){
if(loc_grps[i][0]==id){
place_home(loc_grps[i][1],loc_grps[i][2]);
recenter(eval(find_loc.map),loc_grps[i][1],loc_grps[i][2],loc_grps[i][3],0);
if(s&&s.options[s.selectedIndex].value!=id){
s.selectedIndex=i+1;
}
}
}
$("#new-type-filter").hide();
find_loc.in_progress=0;
refreshAccordion(find_loc);
}
function toggleLocById(id){
if(find_loc.cur_loc==id){
hideLocById(find_loc,id);
}else{
showLocById(find_loc,id);
}
}
function countCars(f){
var _21=checkAccordion(f);
var _22,_23,_24,_25,_26;
if(f.form_id){
glfm=document.getElementById(f.form_id);
if(glfm!=null){
f.search.make_id="";
f.search.model_id="";
make_model_id=glfm.make_or_model_id[glfm.make_or_model_id.selectedIndex].value;
for(var m=0;m<mks_mos.length;m++){
if(make_model_id==mks_mos[m][0]){
if(mks_mos[m][1]>0){
f.search.make_id=mks_mos[m][0];
f.search.model_id="";
}else{
f.search.make_id="";
f.search.model_id=mks_mos[m][0];
}
break;
}
}
if(!f.map){
f.search.lg_id=glfm.location_group_id[glfm.location_group_id.selectedIndex].value;
}else{
f.search.lg_id="";
}
f.search.amenity_ids=new Array();
for(var a=0;a<amenities.length;a++){
if(eval("glfm.am"+amenities[a]).checked){
f.search.amenity_ids.push(amenities[a]);
}
}
f.search.style_ids=new Array();
for(var s=0;s<styles.length;s++){
if(eval("glfm.s"+styles[s]).checked){
f.search.style_ids.push(styles[s]);
}
}
}else{
f.search.make_id="";
f.search.model_id="";
f.search.lg_id="";
f.search.amenity_ids=new Array();
f.search.style_ids=new Array();
}
}
if(f.map){
_24=getBoundsNE();
_25=getBoundsSW();
}
resetLocCounts(f);
for(var i=0;i<vehicles.length;i++){
if(f.map){
_23=getCoords(vehicles[i][2]);
if(_23.lat<_25[0]||_23.lat>_24[0]||_23.lng<_25[1]||_23.lng>_24[1]){
continue;
}
f.counts["loc"+vehicles[i][2]][1]++;
}
if(f.search.make_id&&vehicles[i][0]!=f.search.make_id){
continue;
}
if(f.search.model_id&&vehicles[i][1]!=f.search.model_id){
continue;
}
if(f.search.style_ids&&f.search.style_ids.length>0){
_22=false;
for(var s=0;s<f.search.style_ids.length;s++){
for(var j=0;j<stylemap.length;j++){
if(stylemap[j][0]==vehicles[i][1]&&stylemap[j][1]==f.search.style_ids[s]){
_22=true;
break;
}
}
if(_22){
break;
}
}
if(!_22){
continue;
}
}
if(f.search.amenity_ids&&f.search.amenity_ids.length>0){
for(var am=0;am<f.search.amenity_ids.length;am++){
_22=false;
for(var j=0;j<vehicles[i][3].length-1;j++){
if(vehicles[i][3][j]==f.search.amenity_ids[am]){
_22=true;
break;
}
}
if(!_22){
break;
}
}
if(!_22){
continue;
}
}
if(!f.map&&f.search.lg_id){
_22=false;
for(var l=0;l<lgmap.length;l++){
if(lgmap[l][0]==vehicles[i][2]&&lgmap[l][1]==f.search.lg_id){
_22=true;
break;
}
}
if(!_22){
continue;
}
}
f.counts["loc"+vehicles[i][2]][0]++;
}
}
function checkAccordion(f){
var z,i,c;
if(f.map){
z=eval(f.map).getZoom();
i=document.getElementById(f.intro_id);
a=document.getElementById(f.acc_id);
$("#"+f.type_intro_id).hide();
if(z>=ZOOM_LOC&&i.style.display!="none"){
$(i).hide();
$("#"+f.acc_id).show();
return false;
}else{
if(z<ZOOM_LOC&&a.style.display!="none"){
$(a).hide();
$(i).show();
return true;
}else{
return false;
}
}
}else{
$("#"+f.intro_id).hide();
$("#"+f.type_intro_id).hide();
$("#"+f.acc_id).show();
return false;
}
}
function showLocById(f,id){
if(f.cur_loc==id){
return;
}
showLoc(f,document.getElementById(f.c_prefix+id));
}
function hideLocById(f,id){
hideLoc(f,document.getElementById(f.o_prefix+id));
}
function hideLoc(f,e){
if(e!=null&&typeof e=="object"){
$(e).hide();
$(e.previousSibling).show();
var id=String(e.id).substr(1);
if(f.map){
zip_pins[f.pin_prefix+id].setImage(img_zipmarker);
}
if(f.cur_loc==id){
f.cur_loc=0;
}
spacer(f,e,1);
}
}
function resetLocCounts(f){
for(var i=0;i<locs.length;i++){
f.counts["loc"+locs[i][0]]=[0,0];
}
}
function resetFilterButtons(b){
var e=document.getElementById("new-type-filter");
var a=activeFilters(find_loc);
var _3e;
if(e!=null){
if(e.style.display=="block"){
_3e=false;
}else{
_3e=true;
}
if(b!=null&&b){
_3e=!_3e;
}
if(_3e){
if(a){
$("#"+find_loc.filter_id).addClass("adjust-filters");
$("#"+find_loc.filter_id).removeClass("active");
$("#"+find_loc.filter_id).removeClass("adjust-filters-active");
$("#"+find_loc.clear_id).show();
}else{
$("#"+find_loc.filter_id).removeClass("active");
$("#"+find_loc.filter_id).removeClass("adjust-filters");
$("#"+find_loc.filter_id).removeClass("adjust-filters-active");
$("#"+find_loc.clear_id).hide();
}
}else{
if(a){
$("#"+find_loc.filter_id).addClass("adjust-filters-active");
$("#"+find_loc.filter_id).removeClass("active");
$("#"+find_loc.filter_id).removeClass("adjust-filters");
$("#"+find_loc.clear_id).show();
}else{
$("#"+find_loc.filter_id).addClass("active");
$("#"+find_loc.filter_id).removeClass("adjust-filters");
$("#"+find_loc.filter_id).removeClass("adjust-filters-active");
$("#"+find_loc.clear_id).hide();
}
}
if(!_3e){
$("#"+find_loc.type_intro_id).show();
$("#"+find_loc.intro_id).hide();
$("#"+find_loc.acc_id).hide();
}else{
if(getZoom()>=ZOOM_LOC){
$("#"+find_loc.type_intro_id).hide();
$("#"+find_loc.intro_id).hide();
$("#"+find_loc.acc_id).show();
}else{
$("#"+find_loc.type_intro_id).hide();
$("#"+find_loc.intro_id).show();
$("#"+find_loc.acc_id).hide();
}
}
}
}
function activeFilters(f){
if(f.search.make_id!=""||f.search.model_id!=""||f.search.lg_id!=""||f.search.style_ids.length>0||f.search.amenity_ids>0){
return true;
}
return false;
}
function visibleLocations(f){
if(f.map){
for(var i=0;i<locs.length;i++){
if(f.counts["loc"+locs[i][0]][1]>0){
return true;
}
}
}
return false;
}
function toggleLocFilter(){
toggleFilterByName("new-type-filter");
}
function toggleFilterByName(s){
var e=document.getElementById(s);
toggleFilter(e);
}
function toggleFilter(e){
if(e!=null){
resetFilterButtons(true);
$(e).slideToggle(300);
}
}
function findCars(_45){
var e=document.getElementById("new-type-filter");
if(_45=="type"){
$("#find-cars-type-trigger").addClass("active");
$("#find-cars-location-trigger").removeClass("active");
if(e!=null&&e.style.display!="block"){
toggleFilter(e);
}
}else{
$("#find-cars-location-trigger").addClass("active");
$("#find-cars-type-trigger").removeClass("active");
if(e!=null){
$("#new-type-filter").hide();
resetFilterButtons();
}
}
}
function spacer(f,e,_49){
var s=document.getElementById(f.spc_id);
var _4b=460;
var _4c=0;
var _4d=e.parentNode.scrollHeight-s.scrollHeight-_4b;
if(_49==0){
_4d=_4d-e.scrollHeight;
}
var _4e=e.offsetTop-e.parentNode.offsetTop;
if(_4e>_4d){
_4c=(_4e-_4d);
if(_49==0){
_4c=_4c+e.scrollHeight;
}
}
s.style.height=_4c+"px";
}
function scrollbar(e){
e.parentNode.scrollTop=e.offsetTop-e.parentNode.offsetTop;
}
function getCoords(l){
var c=new Object();
for(var i=0;i<locs.length;i++){
if(locs[i][0]==l){
c.lat=locs[i][2];
c.lng=locs[i][3];
return c;
}
}
}
function clearForm(f){
if(f.form_id){
glfm=document.getElementById(f.form_id);
glfm.make_or_model_id.selectedIndex=0;
for(var s=0;s<f.search.style_ids.length;s++){
eval("glfm.s"+f.search.style_ids[s]).checked=false;
}
for(var a=0;a<f.search.amenity_ids.length;a++){
eval("glfm.am"+f.search.amenity_ids[a]).checked=false;
}
}
}
function URLDecode(s){
s=s.replace(/\+/g," ");
s=s.replace(/%26/g,"&");
s=s.replace(/%2f/g,"/");
s=s.replace(/%3a/g,":");
s=s.replace(/%23/g,"#");
s=s.replace(/%2c/g,",");
s=s.replace(/%40/g,"@");
return decodeURI(s);
}

