
var map;var geo;var gdir;var gmarkers=[];var htmls=[];var to_htmls=[];var from_htmls=[];function createMarker(point,type){var marker=new GMarker(point,customIcons[type]);return marker;}
function setupMap(){if(GBrowserIsCompatible()){map=new GMap2(document.getElementById("map_canvas"));map.addControl(new GOverviewMapControl());map.setUIToDefault();geo=new GClientGeocoder();gdir=new GDirections(map,document.getElementById("directions"));GEvent.addListener(gdir,"load",onGDirectionsLoad);GEvent.addListener(gdir,"error",handleErrors);var iconDealer=new GIcon();iconDealer.image='./templates/core/img/dealer.png';iconDealer.printImage='./templates/core/img/printDealer.gif';iconDealer.mozPrintImage='./templates/core/img/mozPrintDealer.gif';iconDealer.iconSize=new GSize(43,50);iconDealer.shadow='./templates/core/img/dealer-shadow.png';iconDealer.transparent='./templates/core/img/dealer-transparent.png';iconDealer.shadowSize=new GSize(68,50);iconDealer.printShadow='./templates/core/img/dealer-printShadow.gif';iconDealer.iconAnchor=new GPoint(22,50);iconDealer.infoWindowAnchor=new GPoint(22,0);iconDealer.imageMap=[27,2,36,3,37,4,39,5,39,6,40,7,40,8,40,9,41,10,41,11,41,12,41,13,41,14,41,15,41,16,41,17,41,18,41,19,41,20,41,21,41,22,41,23,41,24,41,25,41,26,41,27,41,28,41,29,41,30,41,31,41,32,41,33,40,34,40,35,40,36,39,37,38,38,37,39,35,40,32,41,30,42,28,43,27,44,25,45,19,45,17,44,16,43,15,42,13,41,10,40,8,39,6,38,5,37,5,36,4,35,4,34,4,33,4,32,4,31,4,30,4,29,4,28,4,27,3,26,3,25,3,24,3,23,3,22,3,21,3,20,3,19,3,18,3,17,4,16,4,15,4,14,4,13,4,12,4,11,4,10,4,9,4,8,5,7,5,6,6,5,7,4,9,3,18,2];var iconDealership=new GIcon();iconDealership.image='./templates/core/img/gmap_blue_pointer.png';iconDealership.shadow='./templates/core/img/gmap_pointer_shadow.png';iconDealership.iconSize=new GSize(12,20);iconDealership.shadowSize=new GSize(22,20);iconDealership.iconAnchor=new GPoint(6,20);iconDealership.infoWindowAnchor=new GPoint(5,1);var iconRed=new GIcon();iconRed.image='./templates/core/img/gmap_red_pointer.png';iconRed.shadow='./templates/core/img/gmap_pointer_shadow.png';iconRed.iconSize=new GSize(12,20);iconRed.shadowSize=new GSize(22,20);iconRed.iconAnchor=new GPoint(6,20);iconRed.infoWindowAnchor=new GPoint(5,1);customIcons=[];customIcons["dealer"]=iconDealer;customIcons["dealership"]=iconDealership;customIcons["kurnia"]=iconRed;reasons=[];reasons['G_GEO_SUCCESS']="Success";reasons['G_GEO_MISSING_ADDRESS']="Missing Address: The address was either missing or had no value.";reasons['G_GEO_UNKNOWN_ADDRESS']="Unknown Address:  No corresponding geographic location could be found for the specified address.";reasons['G_GEO_UNAVAILABLE_ADDRESS']="Unavailable Address:  The geocode for the given address cannot be returned due to legal or contractual reasons.";reasons['G_GEO_BAD_KEY']="Bad Key: The API key is either invalid or does not match the domain for which it was given";reasons['G_GEO_TOO_MANY_QUERIES']="Too Many Queries: The daily geocoding quota for this site has been exceeded.";reasons['G_GEO_SERVER_ERROR']="Server error: The geocoding request could not be successfully processed.";}
else{alert("Sorry, the Google Maps API is not compatible with this browser");}}
function initializeGmap(){if(GBrowserIsCompatible()){setupMap();var point=new GLatLng(parseFloat($('#lat').val()),parseFloat($('#lng').val()));map.setCenter(point,14);var marker=createMarker(point,'dealer');map.addOverlay(marker);}}
function locateDirections(){if(isEmpty($("#saddr").val()))
{var search=$('#fromAddress').val();}
else
{var search=$("#saddr").val();var tmp=$("#daddr").val();tmp=tmp.replace("(","");tmp=tmp.replace(")","");$('#tmp_point').val(tmp);}
var msg='';geo.getLocations(search,function(result)
{if(result.Status.code==G_GEO_SUCCESS)
{if(result.Placemark.length>1){msg="<span class='bold'>Did you mean: </span>";for(var i=0;i<result.Placemark.length;i++){var p=result.Placemark[i].Point.coordinates;msg+="<br />"+(i+1)+": <a href='javascript:getDirections("+p[1]+","+p[0]+");'>"+result.Placemark[i].address+"<\/a>";$('#dir').show();$('#directions').html(msg);}}
else
{msg="";if(different(search,result.Placemark[0].address))
{msg="<span class='bold'>Did you mean: </span>";var p=result.Placemark[0].Point.coordinates;msg+="<br /><a href='javascript:getDirections("+p[1]+","+p[0]+");'>"+result.Placemark[0].address+"</a>";$('#dir').show();$('#directions').html(msg);}
else
{var p=result.Placemark[0].Point.coordinates;getDirections(p[1],p[0]);}}
$('#printDirectButton').hide("slow");}
else{var reason="Code "+result.Status.code;if(reasons[result.Status.code]){reason=reasons[result.Status.code]}
alert('Could not find "'+search+'" '+reason);}});}
function different(a,b){var c=b.split(",");b=c[0];a=a.toLowerCase();b=b.toLowerCase();a=a.replace(/'/g,"");b=b.replace(/'/g,"");a=a.replace(/\W/g," ");b=b.replace(/\W/g," ");a=a.replace(/\s+/g," ");b=b.replace(/\s+/g," ");awords=a.split(" ");bwords=b.split(" ");var reply=false;for(var i=0;i<bwords.length;i++){if(awords[i]!=bwords[i]){reply=true}}
return(reply);}
function handleErrors(){var msg;if(gdir.getStatus().code==G_GEO_UNKNOWN_ADDRESS){msg=results[gdir.getStatus().code];}
else if(gdir.getStatus().code==G_GEO_SERVER_ERROR){msg=results[gdir.getStatus().code];}
else if(gdir.getStatus().code==G_GEO_BAD_REQUEST){msg=results[gdir.getStatus().code];}
else{msg='We could not calculate directions from `'+$('#fromAddress').val()+'`.';}
if(msg){$('#printDirectButton').hide("slow");}}
function onGDirectionsLoad(){$("#dir").show("slide",{direction:"right"},1000);showPrint('printDirectButton');}
function gMapModal()
{var param="";$.ajax({type:"POST",url:"index.php?mod=gmap_ajax",data:param,success:function(data){$.blockUI({message:data,css:{top:($(window).height()-600)/2+"px",left:($(window).width()-935)/2+"px",width:'935px',backgroundColor:"#fff","-webkit-border-radius":"10px","-moz-border-radius":"10px"},overlayCSS:{backgroundColor:'#000'}});$('.blockUI').click(function(e){var $t=$(e.target);if($t.is('.blockUI')&&!$t.is('.blockMsg'))
$.unblockUI();}).attr('title','');return;},dataType:"html"});}
function closeGmap(){$.unblockUI({});}
function loadBrowseDealers(lat,lnt,zoom){if(isEmpty(lat))var lat='3.5134210456400443';if(isEmpty(lng))var lng='107.9296875';if(isEmpty(zoom))var zoom='5';var url='index.php?mod=gmap_ajax';var state=$('#dealerByState').val();var browseID=(isEmpty(state)||state=='-1')?'1':'2';var poststr='&browse='+browseID+'&page='+$('#selectedPage').val()+'&view='+$('#selectedView').val()+'&state='+state;if(GBrowserIsCompatible())
{setupMap();map.setCenter(new GLatLng(parseFloat(lat),parseFloat(lng)),parseInt(zoom));$.ajax({type:"POST",url:url,data:poststr,beforeSend:function(XMLHttpRequest){openLoadingWin();},success:function(data){var _data=eval(data);for(var i=0;i<_data.length;i++){if(isNotEmpty(_data[i].total))var _total=_data[i].total;var _id=_data[i].id;if(isNotEmpty(_data[i].name))var _name=_data[i].name;if(isNotEmpty(_data[i].city))var _city=_data[i].city;var _state=_data[i].state;var _type=_data[i].type;var _img=_data[i].img;if(isNotEmpty(_data[i].lat)&&isNotEmpty(_data[i].lng))
{var point=new GLatLng(parseFloat(_data[i].lat),parseFloat(_data[i].lng));if(isNotEmpty(_city)&&isNotEmpty(_name))
var marker=createDealerMarker(point,_id,_name,_city,_state,_type,_img);else
var marker=createOverViewMarker(point,_id,_state,_total,_type);map.addOverlay(marker);}
if(isNotEmpty(_data[i].statelat)&&isNotEmpty(_data[i].statelng)&&isNotEmpty(_data[i].zoom)&&isNotEmpty(_data[i].count))
{var statelat=_data[i].statelat;var statelng=_data[i].statelng;var zoom=_data[i].zoom;$('#dealer_count').html(_data[i].count);map.setCenter(new GLatLng(parseFloat(statelat),parseFloat(statelng)),parseInt(zoom));}}},complete:function(XMLHttpRequest,textStatus){closeLoadingWin();},dataType:"json"});}}
function createOverViewMarker(point,_id,_state,_total,_type){var marker=new GMarker(point,customIcons[_type]);var i=gmarkers.length;var html="<a href=\"javascript:FindDealerByState('"+_id+"');\"><b>"+_state+"</b></a>";html+="<br /><br />Number of dealers listed in "+_state+": <br /><a href=\"javascript:FindDealerByState('"+_id+"');\">"+_total+"</a>";GEvent.addListener(marker,'click',function(){marker.openInfoWindowHtml(html);});gmarkers.push(marker);return marker;}
function createDealerMarker(point,_id,_name,_city,_state,_type,_img){var marker=new GMarker(point,customIcons[_type]);var i=gmarkers.length;var _img='';var html=_img+"<b>"+_name+"</b><br />"+_city+", "+_state;to_htmls[i]=html+'<br /><br />Directions: <b>To here</b> - <a href="javascript:fromhere('+i+');">From here</a>'+'<br>Start address:<form action="javascript:locateDirections();">'+'<input type="text" size="40" maxlength="40" name="saddr" id="saddr" value="" /><br />'+'<input value="Get Directions" type="submit"><br />'+'Walk <input type="checkbox" name="walk" id="walk" onchange="javascript:waytohere();"/> &nbsp; Avoid Highways <input type="checkbox" name="highways" id="highways" onchange="javascript:waytohere();" />'+'<input type="hidden" id="daddr" value="'+point+'"/>';from_htmls[i]=html+'<br /><br />Directions: <a href="javascript:tohere('+i+');">To here</a> - <b>From here<\/b>'+'<br>End address:<form action="javascript:locateDirections();">'+'<input type="text" size="40" maxlength="40" name="daddr" id="daddr" value="" /><br />'+'<input value="Get Directions" type="submit"><br />'+'Walk <input type="checkbox" name="walk" id="walk" onchange="javascript:waytohere();" /> &nbsp; Avoid Highways <input type="checkbox" name="highways" id="highways" onchange="javascript:waytohere();" />'+'<input type="hidden" id="saddr" value="'+point+'"/>';html+="<br /><br /><a href='index.php?mod=dealerinfo&id="+_id+"'>View Dealership</a>";html+="<br /><a href='index.php?mod=search_inventory&tbl=4232d9bc3f5786e248cf58f8e98b10f8&id="+_id+"&start=0'>Dealership Inventory</a>";html+='<br /><br /><a href="javascript:tohere('+i+');"><b>Get Directions</b></a>';GEvent.addListener(marker,'click',function(){marker.openInfoWindowHtml(html);});gmarkers.push(marker);return marker;}
function myclick(i){gmarkers[i].openInfoWindowHtml(htmls[i]);}
function tohere(i)
{gmarkers[i].openInfoWindowHtml(to_htmls[i]);}
function fromhere(i)
{gmarkers[i].openInfoWindowHtml(from_htmls[i]);}
function waytohere()
{if(document.getElementById("highways").checked)
$('#tmp_highways').val('1');else
$('#tmp_highways').val('0');if(document.getElementById("walk").checked)
$('#tmp_walk').val('1');else
$('#tmp_walk').val('0');}
function getDirections(lat,lng){var point=new GLatLng(lat,lng);map.setCenter(point,14);$("#directions").html('');if(isEmpty($("#saddr").val()))
{var locale='en_US';var toAddress=parseFloat($('#lat').val())+","+parseFloat($('#lng').val())
gdir.load("from: "+point+" to: "+toAddress,{"locale":locale});}
else
{var opts={};if($("#tmp_walk").val()=='1'){opts.travelMode=G_TRAVEL_MODE_WALKING;}
if($("#tmp_highways").val()=='1'){opts.avoidHighways=true;}
var toAddress=$('#tmp_point').val();gdir.load("from: "+point+" to: "+toAddress,opts);}}
