function LocationsObject(){this.attractions=new Object();this.places=new Object();this.events=new Object();this.eatouts=new Object();this.album=new Object()}function Place(){this.id="";this.title="";this.lat=new Object();this.lng=new Object();this.zoomlevelmin=new Object();this.zoomlevelmax=new Object()}function AttrPlacesObject(){this.clickHandler=new Object();this.map=new Object();this.lat=new Object();this.lng=new Object();this.locations=new LocationsObject();this.bounds=new Object();this.mgr=new Object();this.attraction_id=new Object();this.place=new Place();this.selectedMarker=new Object();this.markerAttached=false;this.markerGroups=new Array();this.attractionType=[];this.attractionArray=new Array();this.type="";this.currentImageId=0;this.currentFirstImage=0;this.currentLastImage=0;this.maxHeight=386;this.maxWidth=579}var attractionplaces;ctype=new Array();ctype.attraction=18;ctype.destination=14;function getIcon(b,c){var a=new GIcon(G_DEFAULT_ICON);a.image="/static/images/gicons/"+ObjectTypes[b+"-"+c].split(" ")[0].toLowerCase()+".png";a.iconSize=new GSize(29,27);a.shadow="";a.iconAnchor=new GPoint(14,25);return a}function addMarker(b,f,i,j,e,g,h,a){var d=new GMarker(new GLatLng(f,i),a);var c=ObjectTypes[g+"-"+h].split(" ")[0].toUpperCase();attractionplaces.markerGroups[c].push(d);d.disableDragging();GEvent.addListener(d,"click",function(){GoogleMapClick(g,b)});d.id=b;d.type=g;d.can_see=true;d.show();attractionplaces.mgr.addMarker(d,j,e)}$(document).ready(function(){attractionplaces=new AttrPlacesObject();attractionplaces.attraction_id=ATTRACTION_ID;attractionplaces.type="attraction";printurl=global.SERVER+"/attraction/"+attractionplaces.attraction_id+"/print/";$("#print").children("a").attr("href","#");$("#print a").click(function(){window.open(printurl+"?zoom="+attractionplaces.map.getZoom(),"Print","scrollbars=yes,width=690,height=550");return false});var c=new GIcon(G_DEFAULT_ICON);c.image="/static/images/gicons/selected_marker.png";c.iconSize=new GSize(27,9);c.shadow="";c.iconAnchor=new GPoint(13,10);var b={icon:c,draggable:false};attractionplaces.selectedMarker=new GMarker(new GLatLng(100,100),b);attractionplaces.selectedMarker.can_see=true;if(GBrowserIsCompatible()){attractionplaces.map=new GMap2(document.getElementById("dest_map"));var e=new GControlPosition(G_ANCHOR_TOP_RIGHT,new GSize(10,10));attractionplaces.map.addControl(new GSmallZoomControl3D(),e);attractionplaces.map.setCenter(new GLatLng(ATTRACTION_LAT,ATTRACTION_LNG),17);var d={borderPadding:50,maxZoom:17,trackMarkers:true};attractionplaces.mgr=new MarkerManager(attractionplaces.map,d);$("<div id='info_slideup'></div>").appendTo("#dest_map");var b={icon:getIcon("attraction",ATTRACTION_TYPE_ID),draggable:true};var a=new GMarker(new GLatLng(ATTRACTION_LAT,ATTRACTION_LNG),b);a.disableDragging();GEvent.addListener(a,"click",function(){GoogleMapClick("attraction",ATTRACTION_ID)});a.id=ATTRACTION_ID;a.type="attraction";a.can_see=true;attractionplaces.mgr.addMarker(a,11,17)}$.get(global.SERVER+"/ajax/3/destination/",processLocations)});function GoogleMapClick(a,b){attractionplaces.map.setZoom(15);if(!attractionplaces.markerAttached){attractionplaces.mgr.addMarker(attractionplaces.selectedMarker,11,17);attractionplaces.markerAttached=true}$("#info_slideup").empty();$("#close-info_slideup").unbind("click");attractionplaces.type=a;$.get(global.SERVER+"/ajax/"+a+"/"+b+"/",renderShortInfo)}function CheckFavorites(a){$favitems=$("#favorites #myfavs").children("div");found=false;$.each($favitems,function(b,c){if($(this).find(".other_info").children("div").text()==a){found=true}});return found}var renderShortInfo=function(data){data=eval(data);attractionplaces.selectedMarker.setLatLng(new GLatLng(parseFloat(data[0].lat)-0.00001,data[0].lng));attractionplaces.map.setCenter(new GLatLng(data[0].lat,data[0].lng));$("<div><span class='title'>"+data[0].title+"</span><img id='close-info_slideup' src='/static/images/close_button.gif'/></div>").appendTo("#info_slideup");var desc=data[0].description.split("<h2>")[0];desc=trimByWord(desc,55);form="<div class='favorite_form' style='display:none;'><form method='post' action='/favorite/add/' id='favoriteform-"+data[0].id+"'><input type='hidden' value='"+ctype[attractionplaces.type]+"' name='ctype_id'/><input type='hidden' value='"+data[0].id+"' name='obj_id'/><input type='hidden' value='"+document.location.pathname+"' name='next'/><input type='submit' value='Add To Favorites'/></form></div>";if(CheckFavorites(data[0].title)){if(data[0].photo){$("<div id='short_desc'><img class='photo' src='/"+ParsePhotoURL(data[0].photo,"s")+"' /><div>"+desc+"</div></div><div><a id='id-"+data[0].id+"' href='#' class='addfavorites favorite'>Add to Favorites</a><a class='readmore'>Read more</a><div>").appendTo("#info_slideup")}else{$("<div id='short_desc'><img class='photo' src='/static/images/no_image.gif' /><div>"+desc+"</div></div><div><a id='id-"+data[0].id+"' href='#' class='addfavorites favorite'>Add to Favorites</a><a class='readmore'>Read more</a><div>").appendTo("#info_slideup")}}else{if(data[0].photo){$("<div id='short_desc'><img class='photo' src='/"+ParsePhotoURL(data[0].photo,"s")+"' /><div>"+desc+"</div></div><div>"+form+"<a id='id-"+data[0].id+"' href='#' class='addfavorites'>Add to Favorites</a><a class='readmore'>Read more</a><div>").appendTo("#info_slideup")}else{$("<div id='short_desc'><img class='photo' src='/static/images/no_image.gif' /><div>"+desc+"</div></div><div>"+form+"<a id='id-"+data[0].id+"' href='#' class='addfavorites'>Add to Favorites</a><a class='readmore'>Read more</a><div>").appendTo("#info_slideup")}}$("#id-"+data[0].id).unbind("click").bind("click",AddFavoriteAjax);if(attractionplaces.type=="destination"){$("#info_slideup .readmore").attr("href",global.SERVER+"/destination/"+ReplaceSpaceWithUnderscore(data[0].title)+"/")}else{$("#info_slideup .readmore").attr("href",global.SERVER+"/destination/"+ReplaceSpaceWithUnderscore(PLACE_NAME)+"/"+ReplaceSpaceWithUnderscore(ATTRACTION_NAME)+"/")}$("#info_slideup").animate({bottom:"0px"},"normal");$("#close-info_slideup").hover(function(){$(this).attr("src","/static/images/close_button_red.gif")},function(){$(this).attr("src","/static/images/close_button.gif")});$("#close-info_slideup").click(function(){$("#info_slideup").animate({bottom:"-141px"},"normal")})};var processLocations=function(data){eval("attractionplaces.locations.places = "+data);var destlistdata="<div id='moreinfo_dplaces'><div id='accordion-menu'><label class='dest_panels_heading selected'><img src='/static/images/arrowdown.gif' /><span>Other Places</span></label><div id='result' class='accordion_panel_data'><div id='list_div'></div></div></div></div><div id='slider_div'><img src='/static/images/slider_left.gif' class='ON' id='sliderimg' /></div>";$(destlistdata).appendTo("#dest_map");$("#result").height(348);$("#result #list_div").height(314);var blueIcon=new GIcon(G_DEFAULT_ICON);blueIcon.image="/static/images/gicons/placeicon_selected.png";blueIcon.iconSize=new GSize(17,17);blueIcon.shadow="";blueIcon.iconAnchor=new GPoint(7,20);var link="<ul id='list_example'>";$.each(attractionplaces.locations.places,function(index,element){var markerOptions={icon:blueIcon,draggable:false,title:element.title};var marker=new GMarker(new GLatLng(element.lat,element.lng),markerOptions);GEvent.addListener(marker,"click",function(){GoogleMapClick("destination",element.id)});attractionplaces.mgr.addMarker(marker,11,17);attractionplaces.mgr.refresh();marker.id=element.id;marker.can_see=true;link+="<li class='list visibleqs' onclick='moveMapTo("+index+',"place",'+element.id+")'><span class='movemap'>"+element.title+"</span></li>"});link+="</ul>";$("#list_div").append(link);qsearch=$("ul#list_example li").quicksearch({position:"before",attached:"ul#list_example",loaderText:"",delay:1,labelText:"",formId:"search_form",focusOnLoad:false,onAfter:function(){if($("#search_form input").attr("value")!=""){$("#search_form div").removeClass("deactivated")}else{$("#search_form div").addClass("deactivated")}}});attractionplaces.mgr.addMarker(attractionplaces.selectedMarker,11,17);bindEvents()};function moveMapTo(a,b,c){switch(b){case"place":attractionplaces.map.panTo(new GLatLng(attractionplaces.locations.places[a].lat,attractionplaces.locations.places[a].lng));GoogleMapClick("destination",c);break;case"attraction":attractionplaces.map.panTo(new GLatLng(attractionplaces.locations.attractions[a].lat,attractionplaces.locations.attractions[a].lng));GoogleMapClick(b,c);break}};