
var pointsOnMap=new Hash();var Map=Class.create({initialize:function(){$$("a.clsShowMap").invoke("observe","click",this.getCategoryCoordinates.bindAsEventListener(this));$$("a.clsHideMap").invoke("observe","click",this.hideMap.bindAsEventListener(this));},getCategoryCoordinates:function(event){event.stop();$$(".clsHideForMap").invoke("addClassName","clsDisplayNone");$$(".clsShowForMap").invoke("removeClassName","clsDisplayNone");this.points=new Array();this.currentBounds=new GLatLngBounds();this.map=new GMap2($("idMap"));this.map.addControl(new GLargeMapControl());this.map.addControl(new GMapTypeControl());this.map.setCenter(new GLatLng(56.664895,16.636477),7);pointsOnMap.each(function(objectPoints){objectPoints[1].points.each(function(point){this.addPoint(point);}.bind(this));}.bind(this));this.points.each(function(point){this.addPointOnMap(point);}.bind(this));if(this.points.size()==1){this.map.setCenter(new GLatLng(parseFloat(this.points[0].get("latitude")),parseFloat(this.points[0].get("longitude"))),parseInt(this.points[0].get("zoomlevel")));}else if(this.points.size()>1){this.map.setCenter(this.currentBounds.getCenter(),this.map.getBoundsZoomLevel(this.currentBounds));}},addPoint:function(point){var found=false;var pointHash=$H(point);this.points.each(function(oldPoint,index){if(oldPoint.get("latitude")==pointHash.get("latitude")&&oldPoint.get("longitude")==pointHash.get("longitude")){found=true;oldPoint.set("objectid",oldPoint.get("objectid")+","+pointHash.get("objectid"));}}.bind(this));if(!found)this.points.push($H(point));},addPointOnMap:function(markerConfig){var icon=new GIcon();icon.image=markerConfig.get("icon");icon.iconSize=new GSize(32,37);icon.iconAnchor=new GPoint(16,37);icon.infoWindowAnchor=new GPoint(16,0);var markerPoint=new GLatLng(parseFloat(markerConfig.get("latitude")),parseFloat(markerConfig.get("longitude")));var marker=new GMarker(markerPoint,{draggable:false,icon:icon});this.currentBounds.extend(markerPoint);this.map.addOverlay(marker);GEvent.addListener(marker,"click",function(){this.openInfoWindow(marker,markerConfig);}.bindAsEventListener(this));},openInfoWindow:function(marker,markerConfig){this.currentContent="<h2>"+markerConfig.get("address")+"</h2>";var ids=markerConfig.get("objectid").split(",");ids.each(function(objectid,index){new Ajax.Request("http://localhost/basic-updater/index.php?action=get_template&template=EvenemangInfoWindow&id="+markerConfig.get("objectid")+"&options[category]="+markerConfig.get("category"),{onComplete:function(response){this.currentContent=this.currentContent+response.responseText+((ids.size()>1&&index<ids.size()-1)?"<hr />":"");if(index==ids.size()-1)marker.openInfoWindowHtml(this.currentContent);}.bind(this)});}.bind(this));},hideMap:function(event){event.stop();$$(".clsShowForMap").invoke("addClassName","clsDisplayNone");$$(".clsHideForMap").invoke("removeClassName","clsDisplayNone");}});$(document).observe("dom:loaded",function(){var map=new Map();});
var LinkTargetBlank=Class.create({initialize:function(){$$(".newWindow1").invoke("observe","click",function(event){event.stop();var element=(event.element().tagName=="A")?event.element():event.element().up("a");var href=element.readAttribute("href");var newWindow=window.open(href,'_blank');newWindow.focus();});}});$(document).observe("dom:loaded",function(){var linkTargetBlank=new LinkTargetBlank();});
var PopupMenu=Class.create({initialize:function(menuId){this.menuId=menuId;$$("#"+menuId+">li").invoke("observe","mousemove",this.showSubMenu.bindAsEventListener(this));var subSearch=" li ul";while((subMenus=$$("#"+menuId+subSearch)).size()>0){subMenus.invoke("hide");subSearch=subSearch+subSearch;}
$(document).observe("mousemove",this.checkPopup.bindAsEventListener(this));this.activeItem=null;this.activeMenu=null;},showSubMenu:function(event){if(this.activeMenu==null){this.activeItem=event.element().up("li");this.activeMenu=event.element().up("li").down("ul");if(this.activeMenu){this.activeItem.addClassName("clsCurrent");this.activeMenu.setStyle({position:"absolute",zIndex:"1",opacity:0.9});this.activeMenu.show();}}},checkPopup:function(event){if(!this.mouseInSubMenu(event.pointerX(),event.pointerY()))this.hideSubMenu();},hideSubMenu:function(){if(this.activeMenu){this.activeItem.removeClassName("clsCurrent");this.activeMenu.hide();this.activeItem=null;this.activeMenu=null;}},mouseInSubMenu:function(x,y){if(this.activeMenu!=null){var left=this.activeItem.cumulativeOffset().left;var top1=this.activeItem.cumulativeOffset().top;var top2=this.activeMenu.cumulativeOffset().top;var right1=this.activeItem.cumulativeOffset().left+this.activeItem.getWidth();var right2=this.activeMenu.cumulativeOffset().left+this.activeMenu.getWidth();var bottom=this.activeMenu.cumulativeOffset().top+this.activeMenu.getHeight();if((x>=left&&y<=bottom)&&((y>=top1&&x<=right1)||(y>=top2&&x<=right2)))return true;}
return false;}});$(document).observe("dom:loaded",function(){var popup=new PopupMenu("idMenuMain");});
var TellAFriend=Class.create({initialize:function(){if($("idTellAFriend")){this.tellAFriendBox=$("idTellAFriend").up("#idShare").down(".clsTellaFriend");$("idTellAFriend").observe("click",function(event){event.stop();this.tellAFriendBox.setStyle({left:(event.pointerX()-120)+"px",top:(event.pointerY()-130)+"px"});Effect.Appear(this.tellAFriendBox,{duration:0.6});}.bind(this));if($("idTellAFriendClose")!=null){$("idTellAFriendClose").observe("click",function(event){event.stop();Effect.Fade(this.tellAFriendBox,{duration:0.6});}.bind(this));}
if($("idTellAFriendSend")!=null){$("idTellAFriendSend").observe("click",function(event){event.stop();$("idFormTellAFriend").request({parameters:{site:window.location.href},onComplete:function(response){$(document.body).insert(response.responseText);Effect.Fade(this.tellAFriendBox,{duration:0.6});}.bind(this)});}.bind(this));}}}});$(document).observe("dom:loaded",function(){var tellAFriend=new TellAFriend();});
Effect.Squish=function(element){return new Effect.Scale(element,window.opera?1:0,Object.extend({restoreAfterFinish:true,beforeSetup:function(effect){effect.element.makeClipping(effect.element);},afterFinishInternal:function(effect){effect.element.hide(effect.element);effect.element.undoClipping(effect.element);}},arguments[1]||{}));}
var Gallery=Class.create({initialize:function(galleryElement,galleryConfig){this.galleryElement=galleryElement;this.galleryConfig=galleryConfig;this.list=this.galleryElement.select("li");if(this.list.size()>0){this.galleryElement.up(".clsGalleryWrapper").setStyle({display:"block"});}
this.iterator=0;this.effect=galleryConfig.down("input#idGalleryEffect")?galleryConfig.down("input#idGalleryEffect").value:"fade";this.effects=new Array("fade","blind","slide","fold","drop","puff","shrink","squish");this.changing=false;},change:function(){if(!this.changing){this.changing=true;var direction=($A(arguments).size()>1)?$A(arguments)[1]:null;var stopPe=($A(arguments).size()>2)?$A(arguments)[2]:null;if(stopPe)this.pe.stop();var current=this.iterator;this.list[current].setStyle({zIndex:"2"});if(direction=="prev")this.iterator=(this.iterator-1<0)?this.list.size()-1:this.iterator-1;else this.iterator=(this.iterator+1>=this.list.size())?0:this.iterator+1;this.list[this.iterator].setStyle({display:"block",zIndex:"1"});var effect=(this.effect!="random")?this.effect:this.effects[Math.ceil(Math.random()*this.effects.size())-1];switch(effect){case"fade":new Effect.Fade(this.list[current],{afterFinish:function(){this.changing=false;}.bind(this)});break;case"blind":new Effect.BlindUp(this.list[current],{afterFinish:function(){this.changing=false;}.bind(this)});break;case"slide":new Effect.SlideUp(this.list[current],{afterFinish:function(){this.changing=false;}.bind(this)});break;case"fold":new Effect.Fold(this.list[current],{afterFinish:function(){this.changing=false;}.bind(this)});break;case"drop":new Effect.DropOut(this.list[current],{afterFinish:function(){this.changing=false;}.bind(this)});break;case"puff":new Effect.Puff(this.list[current],{afterFinish:function(){this.changing=false;}.bind(this)});break;case"shrink":new Effect.Shrink(this.list[current],{afterFinish:function(){this.changing=false;}.bind(this)});break;case"squish":new Effect.Squish(this.list[current],{afterFinish:function(){this.changing=false;}.bind(this)});break;default:new Effect.Fade(this.list[current],{afterFinish:function(){this.changing=false;}.bind(this)});break;}}},changeToIndex:function(index){if(!this.changing){if(this.iterator!=index){this.changing=true;var current=this.iterator;this.list[current].setStyle({zIndex:"2"});this.iterator=index;this.list[this.iterator].setStyle({display:"block",zIndex:"1"});var effect=(this.effect!="random")?this.effect:this.effects[Math.ceil(Math.random()*this.effects.size())-1];switch(effect){case"fade":new Effect.Fade(this.list[current],{afterFinish:function(){this.changing=false;}.bind(this)});break;case"blind":new Effect.BlindUp(this.list[current],{afterFinish:function(){this.changing=false;}.bind(this)});break;case"slide":new Effect.SlideUp(this.list[current],{afterFinish:function(){this.changing=false;}.bind(this)});break;case"fold":new Effect.Fold(this.list[current],{afterFinish:function(){this.changing=false;}.bind(this)});break;case"drop":new Effect.DropOut(this.list[current],{afterFinish:function(){this.changing=false;}.bind(this)});break;case"puff":new Effect.Puff(this.list[current],{afterFinish:function(){this.changing=false;}.bind(this)});break;case"shrink":new Effect.Shrink(this.list[current],{afterFinish:function(){this.changing=false;}.bind(this)});break;case"squish":new Effect.Squish(this.list[current],{afterFinish:function(){this.changing=false;}.bind(this)});break;default:new Effect.Fade(this.list[current],{afterFinish:function(){this.changing=false;}.bind(this)});break;}}}}});var GalleryAutoChange=Class.create(Gallery,{initialize:function($super,galleryElement,galleryConfig){$super(galleryElement,galleryConfig);this.startIntervall=this.galleryConfig.down("input#idGalleryStartIntervall")?this.galleryConfig.down("input#idGalleryStartIntervall").value:2;this.changeIntervall=this.galleryConfig.down("input#idGalleryChangeIntervall")?this.galleryConfig.down("input#idGalleryChangeIntervall").value:2;if(this.list.size()>1){new PeriodicalExecuter(function(pe){new PeriodicalExecuter(this.change.bind(this),this.changeIntervall);this.change();pe.stop();}.bind(this),this.startIntervall);}}});var GalleryClickChange=Class.create(Gallery,{initialize:function($super,galleryElement,galleryConfig){$super(galleryElement,galleryConfig);this.nextElement=this.galleryElement.up(".clsGalleryWrapper").down(".clsNext");this.prevElement=this.galleryElement.up(".clsGalleryWrapper").down(".clsPrev");if(this.list.size()>1&&this.nextElement&&this.prevElement){this.nextElement.observe("click",this.change.bindAsEventListener(this,"next"));this.prevElement.observe("click",this.change.bindAsEventListener(this,"prev"));}}});var GalleryAutoClickChange=Class.create(Gallery,{initialize:function($super,galleryElement,galleryConfig){$super(galleryElement,galleryConfig);this.nextElement=this.galleryElement.up(".clsGalleryWrapper").down(".clsNext");this.prevElement=this.galleryElement.up(".clsGalleryWrapper").down(".clsPrev");this.startIntervall=this.galleryConfig.down("input#idGalleryStartIntervall")?this.galleryConfig.down("input#idGalleryStartIntervall").value:2;this.changeIntervall=this.galleryConfig.down("input#idGalleryChangeIntervall")?this.galleryConfig.down("input#idGalleryChangeIntervall").value:2;if(this.list.size()>1){this.pe=new PeriodicalExecuter(function(pe){this.pe=new PeriodicalExecuter(this.change.bind(this),this.changeIntervall);this.change();pe.stop();}.bind(this),this.startIntervall);}
if(this.list.size()>1&&this.nextElement&&this.prevElement){this.nextElement.observe("click",this.change.bindAsEventListener(this,"next",true));this.prevElement.observe("click",this.change.bindAsEventListener(this,"prev",true));}}});var GalleryThumbChange=Class.create(Gallery,{initialize:function($super,galleryElement,galleryConfig){$super(galleryElement,galleryConfig);this.thumbs=galleryElement.previous(".clsGalleryThumbs").select(".clsThumb");this.thumbs.each(function(thumb,index){this.thumbs[index].setStyle({opacity:0.6,cursor:"pointer"});this.thumbs[index].observe("mouseover",function(event){this.thumbs[index].setStyle({opacity:1});}.bind(this));this.thumbs[index].observe("mouseout",function(event){this.thumbs[index].setStyle({opacity:0.6});}.bind(this));this.thumbs[index].observe("click",function(event){this.changeToIndex(index);}.bind(this));}.bind(this));}});var GalleryController=Class.create({initialize:function(selectorClass){this.galleryElements=$$("ul."+selectorClass);this.galleries=new Array();this.galleryElements.each(function(gallery){var galleryConfig=gallery.previous(".clsGalleryConfig");var galleryInstance=null;var galleryType=galleryConfig.down("input#idGalleryType")?galleryConfig.down("input#idGalleryType").value:"";switch(galleryType){case"autoChange":galleryInstance=new GalleryAutoChange(gallery,galleryConfig);break;case"clickChange":galleryInstance=new GalleryClickChange(gallery,galleryConfig);break;case"autoClickChange":galleryInstance=new GalleryAutoClickChange(gallery,galleryConfig);break;case"thumbChange":galleryInstance=new GalleryThumbChange(gallery,galleryConfig);break;default:galleryInstance=new GalleryAutoChange(gallery,galleryConfig);break;}
this.galleries.push(galleryInstance);}.bind(this));}});
