var f=100;var FG="480px";var a=1;var e=2;var A2=3;var eN=4;var p=5;var OQ=6;var Q=7;var P_ID=0;var N=1;var X=2;var O=3;var z=4;var F=5;var g=6;var q=7;var S=8;var Fz=9;var U=10;var W=11;var fA=12;var LR=0;var Mb=1;var uQ=2;var Qh=3;var dc=4;var fk=5;var c_=6;var fJ=7;var I=8;var MZ=9;function mapInit(){mapDataPrep();}var D=0;var K=0;function mapDataPrep(){if(D<point_array.length){setTimeout('getAddress("'+O0(D)+'",mapDataPrep)',f);D++;}else{if(K<point_array.length){if(!K){for(h=0;h<point_array.length;h++){if(point_array[h][U]==-2){if(!h&&!pquerytype==e){alert("No valid geographical coordinates for Point of Interest "+point_array[gN][N]);}else{deleteRow(h);}}}}if(pquerytype!=a&&pquerytype!=e){for(h=0;h<point_array.length;h++){uE(mapDataPrep);K++;}}else{K=point_array.length;}mapDataPrep();}else{if(pquerytype!=a&&pquerytype!=e){for(h=0;h<point_array.length;h++){if(point_array[h][W]>pdist){if(h){deleteRow(h);}}}}mapControl();}}}function O0(v){var G="";if(!((pquerytype==Q||pquerytype==p)&&v==0)){if(point_array[v][z]){if(point_array[v][F]){G=point_array[v][X]+", "+point_array[v][O]+", "+point_array[v][z]+" "+point_array[v][F];}else{G=point_array[v][X]+", "+point_array[v][O]+", "+point_array[v][z];}}else{if(point_array[v][F]){G=point_array[v][X]+", "+point_array[v][O]+", "+point_array[v][F];}else{G=point_array[v][X]+", "+point_array[v][O];}}}else{if(pquerytype==Q){G=point_array[v][O];if(point_array[v][z]){G+=", "+point_array[v][z];}}else{G=point_array[v][P_ID];}}G=G+", "+point_array[v][g];return G;}var o=[];o[G_GEO_SUCCESS]="Success";o[G_GEO_MISSING_ADDRESS]="Missing Address: The address was either missing or had no value.";o[G_GEO_UNKNOWN_ADDRESS]="Unknown Address:  No corresponding geographic location could be found for the specified address.";o[G_GEO_UNAVAILABLE_ADDRESS]="Unavailable Address:  The geocode for the given address cannot be returned due to legal or contractual reasons.";o[G_GEO_BAD_KEY]="Bad Key: The API key is either invalid or does not match the domain for which it was given";o[G_GEO_TOO_MANY_QUERIES]="Too Many Queries: The daily geocoding quota for this site has been exceeded.";o[G_GEO_SERVER_ERROR]="Server error: The geocoding request could not be successfully processed.";o[403]="Error 403: Probably an incorrect error caused by a bug in the handling of invalid JSON.";var Xj=new GClientGeocoder();function getAddress(m,Y){var c=D-1;var H="";var A="";var r="";var v="";var B="";var J="";var k="";var w="";var G="";var C="";Xj.getLocations(m,function(G){H=G.Status.code;if(H==G_GEO_SUCCESS){C=G.Placemark[0].AddressDetails.Accuracy;w=G.Placemark[0].Point.coordinates[1];G=G.Placemark[0].Point.coordinates[0];try{A=G.Placemark[0].AddressDetails.d.AdministrativeArea.Locality.Thoroughfare.ThoroughfareName;}catch(v){A="";}try{r=G.Placemark[0].AddressDetails.d.AdministrativeArea.Locality.LocalityName;}catch(v){r="";}try{v=G.Placemark[0].AddressDetails.d.AdministrativeArea.SubAdministrativeArea.SubAdministrativeAreaName;}catch(v){v="";}try{B=G.Placemark[0].AddressDetails.d.AdministrativeArea.AdministrativeAreaName;}catch(v){B="";}try{J=G.Placemark[0].AddressDetails.d.AdministrativeArea.Locality.ZC.PostalCodeNumber;}catch(v){J="";}try{k=G.Placemark[0].AddressDetails.d.C7;}catch(v){k="";}var H=false;if(C==fJ||C==I||C==MZ){if(pquerytype!=Q||c>0){H=true;}}else{if(C==dc){if(pquerytype==Q&&c==0){H=true;}}}if(H==true){if(A){point_array[c][X]=A;}if(r){point_array[c][O]=r;}if(B){point_array[c][z]=B;}if(J){point_array[c][F]=J;}}point_array[c][U]=C;point_array[c][g]=k;point_array[c][q]=w;point_array[c][S]=G;}else{if(G.Status.code==G_GEO_TOO_MANY_QUERIES){D--;f++;}else{if(point_array[c][q]==0||point_array[c][q]<=-90||point_array[c][q]>=90||point_array[c][S]==0||point_array[c][S]<=-180||point_array[c][S]>=180){point_array[c][U]=-2;}else{point_array[c][U]=-1;}if(!(G.Status.code==G_GEO_UNKNOWN_ADDRESS||G.Status.code==G_GEO_UNAVAILABLE_ADDRESS)&&!c){alert(o[G.Status.code]);}}}Y();});}function deleteRow(G){point_array.splice(G,1);}function uE(G){var H=K;var v=0;if(H){v=Rq(point_array[0][q],point_array[0][S],point_array[H][q],point_array[H][S]);}point_array[H][W]=v;}function Rq(H,J,v,r){var A=(6371*0.621371192);var B=j((v-H));var G=j((r-J));var w=Math.sin(B/2)*Math.sin(B/2)+Math.cos(j(H))*Math.cos(j(v))*Math.sin(G/2)*Math.sin(G/2);var C=2*Math.atan2(Math.sqrt(w),Math.sqrt(1-w));var Y=Math.round(((A*C)*100))/100;return Y;}function j(G){return(G/180)*Math.PI;}function M6(H,v){var G=parseFloat(H[W]);var A=parseFloat(v[W]);return((G<A)?-1:((G>A)?1:0));}var mapAction=0;function mapControl(){if(mapAction==2){Hr();}else{Bp();}}var t=0;var ha=0;var T="";var L="";var V="";var M="";var i="";var XV="";var _C="";var KR="";function Hr(){var G="";var H="";T=document.getElementById("address").value;L=document.getElementById("city").value;V=document.getElementById("state").value;M="";i=document.getElementById("country").value;_C="";KR="";var v='<div id="mapCanvasDiv" style="width: 68%; height: 480px; float:left; border: 1px solid #C0C0C0; margin-top: 10px; outline:none;"></div><div id="mapRouteDiv" style="width: 30%;  float:right; outline:none;"></div>';document.getElementById("mapBodyDiv").innerHTML=v;b=new GMap2(document.getElementById("mapCanvasDiv"));t=document.getElementById("mapRouteDiv");b.setCenter(new GLatLng(point_array[0][q],point_array[0][S]),15);ha=new GDirections(b,t);G=T+", "+L;if(V){G=G+", "+V;}if(M){G=G+" "+M;}if(i){G=G+", "+i;}if(point_array[0][U]==I||point_array[0][U]==fJ){if(point_array[0][X]){H=H+point_array[0][X];}if(point_array[0][O]){H=H+", "+point_array[0][O];}if(point_array[0][z]){H=H+", "+point_array[0][z];}if(point_array[0][F]){H=H+" "+point_array[0][F];}if(point_array[0][g]){H=H+", "+point_array[0][g];}}else{H=point_array[0][q]+", "+point_array[0][S];}ha.load(G+" to "+H);}var Z=0;function Bp(){L1='<div id="mapCanvasDiv" style="width: 100%;  height: '+FG+'; border: 1px solid #C0C0C0;"></div>';document.getElementById("mapBodyDiv").innerHTML=L1;b=new GMap2(document.getElementById("mapCanvasDiv"));b.addControl(new GLargeMapControl());b.addControl(new GMapTypeControl());if(pquerytype==a){document.getElementById("mapFormDiv").style.display="block";b.setCenter(new GLatLng(point_array[0][q],point_array[0][S]),11);}else{b.addControl(new P());document.getElementById("mapFormDiv").style.display="none";var H=new GLatLngBounds();for(h=0;h<point_array.length;h++){H.extend(new GLatLng(point_array[h][q],point_array[h][S]));}var v=H.toSpan().lat();b.setCenter(H.getCenter(),b.getBoundsZoomLevel(H));var A=b.getBounds();var G=A.toSpan().lat();if(v/G>0.9){b.zoomOut();}}Z=0;for(h=0;h<point_array.length;h++){_[h]=new GLatLng(point_array[h][q],point_array[h][S]);qi(h);b.addOverlay(l[h]);}if(pquerytype!=a){s.innerHTML=VE;}}var s;function P(){}P.prototype=new GControl();P.prototype.initialize=function(G){s=document.createElement("div");s.style.overflow="auto";s.style.backgroundColor="#ecf9ee";s.style.border="1px solid black";s.style.width="150px";s.style.paddingLeft="5px";s.style.fontFamily="verdana";s.style.fontSize="11px";s.style.padding="2px";G.getContainer().appendChild(s);return s;};P.prototype.getDefaultPosition=function(){return new GControlPosition(G_ANCHOR_TOP_RIGHT,new GSize(7,33));};var _=new Array();var l=new Array();function qi(r){if(r==0){if(pquerytype==A2||pquerytype==eN||pquerytype==p||pquerytype==OQ||pquerytype==Q){Z++;var A='<img border="0" src="/images/attractions_marker.gif" width="9" height="10">';var H=new GIcon(G_DEFAULT_ICON,"http://maps.google.com/mapfiles/dd-start.png");H.printImage="http://maps.google.com/mapfiles/dd-startie.gif";H.mozPrintImage="http://maps.google.com/mapfiles/dd-startff.gif";}else{var A=String.fromCharCode("A".charCodeAt(0)+(gmarkers.length-Z));var H=new GIcon(G_DEFAULT_ICON,"http://www.google.com/mapfiles/marker"+A+".png");H.printImage="http://maps.google.com/mapfiles/marker"+A+"ie.gif";H.mozPrintImage="http://maps.google.com/mapfiles/marker"+A+"ff.gif";try{document.getElementById(point_array[r][P_ID]+"_L").innerHTML='<span class="hotels_info_text"><b><a class="links_for_hotels" href="javascript:myclick('+r+')" onclick="window.location=\'#getmap\'">('+A+")</a></b></span>";}catch(G){}}}else{var A=String.fromCharCode("A".charCodeAt(0)+(gmarkers.length-Z));var H=new GIcon(G_DEFAULT_ICON,"http://www.google.com/mapfiles/marker"+A+".png");H.printImage="http://maps.google.com/mapfiles/marker"+A+"ie.gif";H.mozPrintImage="http://maps.google.com/mapfiles/marker"+A+"ff.gif";try{document.getElementById(point_array[r][P_ID]+"_L").innerHTML='<span class="hotels_info_text"><b><a class="links_for_hotels" href="javascript:myclick('+r+')" onclick="window.location=\'#getmap\'">('+A+")</a></b></span>";}catch(G){}}l[r]=new GMarker(_[r],{icon:H,title:point_array[r][N]});GEvent.addListener(l[r],"error",function(){getError(l[r]);});var v=rv(r);GEvent.addListener(l[r],"click",function(){l[r].openInfoWindowHtml(v);});if(pquerytype!=a){gmarkers.push(l[r]);VE+="<b>"+A+'</b> <a class="gmnoprint" href="javascript:myclick('+(gmarkers.length-1)+')">'+point_array[(gmarkers.length-1)][N].substring(0,19)+"</a><br>";}}var _=new Array();var l=new Array();function rv(H){var v="";var G="";if(pquerytype>=eN&&H==0){var v='<span class="general_text"><strong>'+point_array[H][N]+"</strong><br>";}else{var v='<span class="general_text"><b><a class="balloon_hotels" href="'+point_array[H][Fz]+'">'+point_array[H][N]+"</a></b><br>";}if((pquerytype!=p&&pquerytype!=Q)||H){if(point_array[H][X]){v+=point_array[H][X]+"<br>";}if(point_array[H][O]){G+=point_array[H][O];}if(point_array[H][z]){G+=", "+point_array[H][z];}if(point_array[H][F]){G+=" "+point_array[H][F];}if(!point_array[H][z]){G+=", "+point_array[H][g];}if(G){v+=G+"<br>";}}v+=EJ(point_array[H][q],point_array[H][S])+"<br>";if(point_array[H][W]){v+=" ("+point_array[H][W]+" mi / "+(Math.round(((point_array[H][W]/0.621371192)*100))/100)+" km)";}return v;}function EJ(k,H){if(k<0){R="S";k=k*-1;}else{R="N";}if(H<0){V4="W";H=H*-1;}else{V4="E";}var c=Math.floor(k);var A=Math.floor(H);var B=((k%1)*60);var m=((H%1)*60);var v=Math.floor(B);var Y=Math.floor(m);var w=((B%1)*60);var G=((m%1)*60);var J=Math.round(w);var C=Math.round(G);var Rh=R+c+"\xb0"+" "+v+"' "+J+'"';var r=V4+A+"\xb0"+" "+Y+"' "+C+'"';return "GPS "+Rh+", "+r;}var VE="";var gmarkers=[];function myclick(G){GEvent.trigger(gmarkers[G],"click");}

