// Copyright (C) 2008 Giorgos Pontikakis (www.thessaloniki360.com), All Rights Reserved

t360.ui.map.click=function(){return function(overlay,latlng,overlaylatlng){};};t360.Location.prototype.makeCallback=function(){return function(viewnum){var activeLocation=t360.locations.active;if(activeLocation!==undefined){activeLocation.deactivateMarker();}
t360.locations.active=this;this.activateMarker();if(this.totalviews>0){t360.ui.balloon.hide();t360.ui.showcase.build(this,viewnum);t360.ui.showcase.show();}else{t360.ui.showcase.hide();t360.ui.balloon.build(this);t360.ui.balloon.show();}
t360.ui.map.gmap.setCenter(this.marker.point);t360.ui.map.gmap.setZoom(this.zoom);t360.ui.shareBox.hide();};};t360.Marker.prototype.makeCallback=function(location){return function(){location.clickfn();};};t360.ui.views.click=function(location,viewnum){return function(){t360.ui.fsbutton.build(location,viewnum);t360.ui.fsbutton.show();t360.ui.sharebutton.build(location,viewnum);t360.ui.sharebutton.show();t360.ui.movie.build(location.basename,viewnum);t360.locations.active.activeView=viewnum;};};t360.ui.search.results.click=function(loc){var self=this;return function(){loc.clickfn();self.hide();};};t360.ui.navigation={elementID:"#navigation",displayed:true,click:function(locarr){return function(){t360.ui.spotlist.build(locarr);t360.ui.spotlist.show();};},build:function(){var locations=t360.locations.taxonomy;for(var c in locations){if(t360.info.area==="halkidiki"){var k=c+"-beach";var fn=this.click(locations[c].sub[k].locarr);t360.utils.makePush($("#"+c),fn,"category","categoryactive");}else{for(var k in locations[c].sub){var fn=this.click(locations[c].sub[k].locarr);t360.utils.makePush($("#"+k),fn,"subcategory","subcategoryactive");}}}
if(t360.info.area!=="halkidiki"){$("#accordion").accordion({header:"a.category",active:false,autoHeight:false,collapsible:true});}},open:function(location){$(this.elementID).show();$("#accordion").accordion("activate","a#"+location.category);$(".subcategoryactive").removeClass("subcategoryactive");$("#"+location.subcategory).addClass("subcategoryactive");},show:function(){$(this.elementID).show();},hide:function(){$(this.elementID).hide();}};t360.ui.showcase={elementID:"#showcase",init:function(){$("#showcase-header > img.closebutton").click(function(){t360.ui.showcase.hide();});t360.utils.preventMapScrollOnHover(this.elementID);},build:function(location,viewnum){$("#showcase-title").empty();$("#showcase-title").html(location.title);t360.ui.views.build(location);t360.ui.views.show(viewnum);if(location.gallery===true){t360.ui.gallerybutton.build(location);t360.ui.gallerybutton.show();}else{t360.ui.gallerybutton.hide();}
t360.ui.dirbutton.build(location);t360.ui.dirbutton.show();$("#extras").show();var cardURL=t360.paths.locations+location.basename+"/"+t360.info.lang+"/"+location.basename+".html";$("#card-content").empty();$.ajax({url:cardURL,dataType:"html",success:function(text){$("#card").show();$("#card-content").html(text);},error:function(){$("#card").hide();}});},show:function(){$(this.elementID).show();t360.ui.filters.hide();},hide:function(){$(this.elementID).hide();}};t360.ui.balloon={build:function(location){var point=new GLatLng(location.latitude,location.longitude);var infoURL=t360.paths.locations+location.basename+"/"+t360.info.lang+"/"+location.basename+".html";var callback=function(){var html="<div class='infowindowcontent'>"+request.responseText+"</div>";t360.ui.map.gmap.openInfoWindowHtml(point,html,{noCloseOnClick:true});};var request=$.get(infoURL,callback);},show:function(){t360.ui.map.gmap.getInfoWindow().show();},hide:function(){t360.ui.map.gmap.getInfoWindow().hide();}};t360.ui.spotlist={elementID:"#spotlist-content-inner",displayed:false,init:function(){$("#spotlist-header > img.closebutton").click(function(){t360.ui.spotlist.hide();});t360.utils.preventMapScrollOnHover(this.elementID);},click:function(loc){var self=this;return function(){loc.clickfn();self.hide();};},hover:function(){return function(){$(this).addClass("spothover");};},unhover:function(){return function(){$(this).removeClass("spothover");};},show:function(){$("#spotlist").show();t360.ui.map.gmap.checkResize();this.displayed=true;},hide:function(){$("#spotlist").hide();t360.ui.map.gmap.checkResize();this.displayed=false;},build:function(locarr){var ul=$("<ul></ul>");var len=locarr.length;for(var i=0;i<len;i++){var loc=locarr[i];var fn=this.click(loc);var thumb=new Image();thumb.src=locarr[i].thumbnail;thumb.width="300";thumb.height="95";var thumbarea=$("<div />");thumbarea.append(thumb);var title=locarr[i].title;var link=$("<div class='spot'></div>");var par="<p>"+title+"</p>";link.append(thumbarea);link.append(par);t360.utils.makePush(link,fn,"spot","spotactive");$(link).hover(this.hover(),this.unhover());var li=$("<li></li>").append(link);ul.append(li);}
$(this.elementID).empty();$(this.elementID).append(ul);}};t360.ui.fsbutton={elementID:"#fsbutton",makeURI:function(location,viewnum){var subdir;if(t360.info.lang==="gr"){subdir="";}else{subdir=t360.info.lang+"/";}
var ctg=location.category;var qstr;if(viewnum>0){qstr="?view="+(viewnum+1);}else{qstr="";}
var uri=t360.paths.fs+location.basename+qstr;return uri;},build:function(location,viewnum){var uri=this.makeURI(location,viewnum);$("#fsbutton").attr("href",uri);},show:function(){$(this.elementID).show();},hide:function(){$(this.elementID).hide();}};t360.ui.dirbutton={elementID:"#dirbutton",click:function(location){return function(){var lang=(t360.info.lang==="gr"?"":"en/");var area=(t360.info.area==="thessaloniki"?"":"halkidiki/");var url="/"+lang+"directions/"+area+location.basename;window.location=url;};},build:function(location){var fn=this.click(location);$(this.elementID).unbind();$(this.elementID).click(fn);},show:function(){$(this.elementID).show();},hide:function(){$(this.elementID).hide();}};