/*!
 * Collection of javascripts
 * Copyright (c) 2011 by Florian Moser @ novalab - new media engineering novalab.ch
 */
(function(a){a(function(){a("a[rel*=external]").click(function(g){window.open(this.href);g.preventDefault()});a("body").removeClass("JSdisabled").addClass("JSenabled");var e="";var b="";if(a("body").hasClass("lang_de")){b="Galerie schliessen";e="de"}else{if(a("body").hasClass("lang_en")){b="Close gallery";e="en"}}a("body").prepend('<div id="bgViewerFullContainer" style="position:absolute;left:0;top:0;height:100%;width:100%;"><div id="bgViewerMainContainer" style="height:100%;"/></div>');a("#bgViewerMainContainer").css("margin-left",a("#leftBar").width()).galleryViewer(window.obGalleryDataDefault,{language:e,galleryCloseText:b,autoplayInGalleryMode:true,verticalCenter:true,galleryHideElements:a("#nl_logo"),minImageWidth:640,minImageHeight:480});var d="";if(e=="de"){d="Fenster schliessen"}else{if(e=="en"){d="Close window"}}a(".modalWindow").modalWindow({closeText:d});a("a").css("outline",0);a("body").append(a('<div id="ajaxActivityIndicator"></div>').hide().activity({color:"#fff"}));var c="a[rel*=external]";a("body").makeRequestsAsynchronous({includeAbsolutePath:baseUrl,excludeSelector:c});var f=baseUrl.length;neonAjax.initialize(baseUrl,nonce,{onContentLoaded:function(h){document.title=a("<p/>").html(h._NEON_HTML_TITLE).text();a("body").attr({style:"font-size: "+h._NEON_FONTSIZE_VALUE+"%",id:"id_"+h._NEON_MENU_ID,"class":"p"+h._NEON_PLUGIN_ID+" p"+h._NEON_PLUGIN_ID+"c"+h._NEON_CONTENT_ID+" lang_"+h._NEON_LANGUAGE_CODE+" JSenabled"});a("#leftMenu").updateMenu(a(h._NEON_MAIN_MENU).find("a.activeNode").attr("id"));a("ul.languageSelector a[href]").each(function(){var i=a(this);var j=i.parent().attr("class");i.attr("href","/"+j+"/#/"+h._NEON_CURRENT_URL.substr(f))});a("#contentContainer").queue(function(){a("#content").html(h._NEON_HTML_CONTENT).makeRequestsAsynchronous({includeAbsolutePath:baseUrl,excludeSelector:c});a("#content").find("a[rel*=external]").click(function(i){window.open(this.href);i.preventDefault()});a("#content").find(".modalWindow").modalWindow({closeText:d});a("#mapCanvas").ossobukkoMap(mapData);a(this).animate({left:a("#leftBar").width()+"px",opacity:1},400).dequeue()});a("#content").css("visibility","visible");var g=a("#bgViewerMainContainer");if(typeof(window.obGalleryData)!="undefined"){g.trigger("gvLoadNewGallery",[window.obGalleryData]);if(window.obGalleryData.bgImages.length>0){g.trigger("gvOpenGalleryMode")}delete window.obGalleryData}else{g.trigger("gvCloseGalleryMode");g.trigger("gvLoadNewGallery",[window.obGalleryDataDefault])}},onInitComplete:function(g){if(!g){a("#content").css("visibility","visible")}},activityIndicator:a("#ajaxActivityIndicator")});a("#leftMenu li:has(ul)>a").unbind("click").click(function(g){g.preventDefault();a(this).next().stop(true).slideToggle()});a("#leftMenu>ul>li>a").click(function(){a("#leftMenu ul ul").not(a(this).next()).slideUp()});a("#leftMenu li:not(:has(ul)) a, #menuFooter a").click(function(){if(a(this).hasClass("activeNode")){return}var g=a("#contentContainer");var h="-="+g.width();g.animate({left:h,opacity:0},400)})});a.fn.ossobukkoMap=function(b){var c={latitude:46,longitude:7,mapTypeID:"Restaurant",zoom:15,mapStyleName:"Ossobukko",markerImageURL:null};b=a.extend(c,b||{});return this.each(function(){var d=new google.maps.LatLng(b.latitude,b.longitude);var f=new google.maps.Map(this,{zoom:b.zoom,center:d,mapTypeControlOptions:{mapTypeIds:[]},mapTypeId:b.mapTypeID,streetViewControl:false,mapTypeControl:false});var e=[{featureType:"all",elementType:"geometry",stylers:[{saturation:-100},{gamma:0.1},{lightness:-60}]},{featureType:"all",elementType:"labels",stylers:[{saturation:-100},{invert_lightness:true}]}];f.mapTypes.set(b.mapTypeID,new google.maps.StyledMapType(e,{name:b.mapStyleName}));if(b.markerImageURL!==null){new google.maps.Marker({map:f,position:d,icon:new google.maps.MarkerImage(b.markerImageURL)})}})};a.fn.modalWindow=function(b){var c={closeText:"close",bgPaneOpacity:0.7,bgPaneFadeDuration:400,zIndex:1000,activityIndicator:true};b=a.extend(c,b||{});if(!a("#modalWindowBgPane")[0]){a("body").append('<div id="modalWindowBgPane" style="position:fixed;left:0;top:0;width:100%;height:100%;background:#000;display:none;z-index:'+b.zIndex+'" />')}return this.each(function(){a(this).bind("click",function(e){e.preventDefault();a("#modalWindowBgPane").fadeTo(b.bgPaneFadeDuration,b.bgPaneOpacity);var f=a('<a class="modalWindowClose">'+b.closeText+"</a>").bind("click",function(){a(this).parent().remove();a("#modalWindowBgPane").fadeOut(b.bgPaneFadeDuration)});var d=a([]);if(b.activityIndicator){d=a('<div class="modalWindowActivityIndicator" style="position:absolute;left:50%;top:50%;z-index:'+(b.zIndex+2)+'"/>').activity({color:"#000"})}a("body").append(a('<div class="modalWindow" style="position:absolute;z-index:'+(b.zIndex+1)+'"><object class="modalWindowFrame" type="text/html" data="'+a(this).attr("href")+'" style="position:relative;z-index:'+(b.zIndex+3)+'"></object></div>').prepend(d).prepend(f))})})};a.fn.galleryViewer=function(d,c){if(d.bgImages.length==0){return this}var e={fadeShowInterval:10000,fadeDuration:2000,minImageWidth:100,minImageHeight:50,gallerySwitchDuration:500,galleryCloseText:"",galleryInfoFadeDuration:500,galleryHideElements:a([]),slideDuration:500,peepDuration:400,peepDistance:50,autoplayInGalleryMode:false,verticalCenter:false,language:"en",activityColor:"#fff"};this.settings=a.extend(e,c||{});var b=this;this.galleryHTMLParent=a(this);this.galleryHTMLContainer=b.galleryHTMLParent.children(".galleryViewerContainer");this.optimalSize="";this.imageRootDir="";this.currentItemNr=0;this.interval=null;this.listItems=new Array();this.isGalleryModeActive=false;this.createHelperElements=function(){b.galleryHTMLParent.append('<div class="galleryViewerContainer" style="position:relative;left:0;top:0;width:100%;height:100%;overflow:hidden;z-index:1;"><ul class="galleryViewerList" style="position:relative;left:0;top:0;width:100%;height:100%;overflow:hidden;"/><div class="galleryViewerFooterContainer" style="z-index:100;"><div class="galleryViewerFooter"><a class="galleryViewerModeArrow galleryViewerModeArrowLeft">&lt;</a><div class="galleryViewerInfo"><p class="galleryViewerDescription"></p><p class="galleryViewerImageCount"></p></div><a class="galleryViewerClose" title="'+b.settings.galleryCloseText+'">'+b.settings.galleryCloseText+'</a><a class="galleryViewerModeArrow galleryViewerModeArrowRight">&gt;</a></div></div></div>');b.galleryHTMLContainer=b.galleryHTMLParent.find(".galleryViewerContainer");b.galleryHTMLContainer.find(".galleryViewerClose").bind("click",function(){b.galleryClose()});var f=b.galleryHTMLContainer.find(".galleryViewerFooterContainer");f.data("originalHeight",f.height()).css("height",0);b.galleryHTMLContainer.append('<a class="galleryViewerArrow galleryViewerArrowLeft" style="z-index:150;"/>').append('<a class="galleryViewerArrow galleryViewerArrowRight" style="z-index:150;"/>');b.galleryHTMLContainer.append(a('<div class="galleryViewerActivityIndicator" style="z-index:200;"/>').hide().activity({color:b.settings.activityColor}));b.initializeSlideEvents();a(window).bind("resize",function(){b.resizeImages()});a(document).bind("keydown",function(g){if(g.keyCode==27&&b.isGalleryModeActive){b.galleryClose()}});b.galleryHTMLParent.bind("gvOpenGalleryMode",function(){b.galleryOpen()});b.galleryHTMLParent.bind("gvCloseGalleryMode",function(){b.galleryClose()});b.galleryHTMLParent.bind("gvLoadNewGallery",function(g,h){b.loadNewGallery(h)})};this.showActivityIndicator=function(){var f=b.galleryHTMLContainer.find(".galleryViewerActivityIndicator");f.css({left:Math.round(b.galleryHTMLContainer.width()/2-f.width()/2),top:Math.round(b.galleryHTMLContainer.height()/2-f.height()/2)}).show()};this.hideActivityIndicator=function(){b.galleryHTMLContainer.find(".galleryViewerActivityIndicator").hide()};this.loadNewGallery=function(j){if(b.imageRootDir==j.rootDir||j.bgImages.length==0){return}var h=b.galleryHTMLContainer.width();b.optimalSize=j.sizeAscOrder[0];for(var g=1;g<j.sizeAscOrder.length;g++){if(h>=(j.availSizes[j.sizeAscOrder[g]]-30)){b.optimalSize=j.sizeAscOrder[g]}}b.imageRootDir=j.rootDir;var f=b.galleryHTMLContainer.find(".galleryViewerList");f.empty();b.listItems=new Array();a.each(j.bgImages,function(k,i){b.listItems.push(a('<li style="position:absolute;left:0;top:0;z-index:10;"><img alt="'+i.lang[b.settings.language].title+'"/></li>'));f.append(b.listItems[b.listItems.length-1].data("imageData",i).data("isLoaded",false).hide())});b.resizeImages();b.setCurrentItemNr(0);b.loadImage(0,function(){b.fadeInItem(0);b.fadeShowPlay()});b.loadImage(b.getNextItemNr());b.loadImage(b.getPreviousItemNr())};this.initializeSlideEvents=function(){a(".galleryViewerModeArrowLeft.eventsEnabled").live({click:function(){b.slidePrevious()}});a(".galleryViewerModeArrowRight.eventsEnabled").live({click:function(){b.slideNext()}});a(".galleryViewerArrowLeft.eventsEnabled").live({click:function(){b.slidePrevious()},mouseenter:function(){b.peepPrevious()}});a(".galleryViewerArrowRight.eventsEnabled").live({click:function(){b.slideNext()},mouseenter:function(){b.peepNext()}});b.enableSlideEvents()};this.enableSlideEvents=function(){a(".galleryViewerModeArrowRight, .galleryViewerModeArrowLeft, .galleryViewerArrowLeft, .galleryViewerArrowRight").addClass("eventsEnabled")};this.disableSlideEvents=function(){a(".galleryViewerModeArrowRight, .galleryViewerModeArrowLeft, .galleryViewerArrowLeft, .galleryViewerArrowRight").removeClass("eventsEnabled")};this.resizeImages=function(){var j=b.galleryHTMLContainer.width();var f=b.galleryHTMLContainer.height();if(j<b.settings.minImageWidth){j=b.settings.minImageWidth}if(f<b.settings.minImageHeight){f=b.settings.minImageHeight}var p=false;if(j>f){p=true}var h,n,q,g,o,l,k;for(var m=0;m<b.listItems.length;m++){h=b.listItems[m].data("imageData").versions[b.optimalSize].width;n=b.listItems[m].data("imageData").versions[b.optimalSize].height;q=j/h;o=j;g=Math.ceil(q*n);if(g<f){q=f/n;g=f;o=Math.ceil(q*h)}l=b.listItems[m].children();l[0].width=o;l[0].height=g;if(b.settings.verticalCenter){k=Math.floor((f-g)/2);b.listItems[m].css("top",k)}}};this.getPreviousItemNr=function(){var f=0;for(var g=b.currentItemNr+b.listItems.length-1;g>b.currentItemNr;g--){f=g%b.listItems.length;if(b.isGalleryModeActive||!b.listItems[f].data("imageData").galleryOnly){return f}}return b.listItems};this.getCurrentItemNr=function(){return b.currentItemNr};this.getNextItemNr=function(){var g=0;for(var f=b.currentItemNr+1;f<=b.currentItemNr+b.listItems.length;f++){g=f%b.listItems.length;if(b.isGalleryModeActive||!b.listItems[g].data("imageData").galleryOnly){return g}}return b.currentItemNr};this.setCurrentItemNr=function(f){b.currentItemNr=f;b.galleryHTMLContainer.find(".galleryViewerList li").removeClass("activeItem");b.listItems[b.currentItemNr].addClass("activeItem")};this.hideInactiveItems=function(){b.galleryHTMLContainer.find(".galleryViewerList li[class!=activeItem]").hide()};this.loadImage=function(f,g){if(!b.listItems[f]||b.listItems[f].data("isLoaded")){return}if(g===undefined){g=a.noop}b.listItems[f].children().bind("load",function(){a(this).parent().data("isLoaded",true);g()})[0].src=b.imageRootDir+b.listItems[f].data("imageData").versions[b.optimalSize].filename};this.fadeShowPlay=function(){if(b.interval!==null||(b.isGalleryModeActive&&!b.settings.autoplayInGalleryMode)){return}b.interval=window.setInterval((function(f){return function(){f.fadeShowNext()}})(this),b.settings.fadeShowInterval)};this.fadeShowStop=function(){window.clearInterval(b.interval);b.interval=null};this.fadeShowNext=function(){if(b.listItems[b.getNextItemNr()].data("isLoaded")){b.fadeOutItem(b.getCurrentItemNr());b.fadeInItem(b.getNextItemNr());b.setCurrentItemNr(b.getNextItemNr());b.loadImage(b.getNextItemNr())}else{b.loadImage(b.getNextItemNr())}};this.fadeOutItem=function(f){b.listItems[f].fadeOut(b.settings.fadeDuration)};this.fadeInItem=function(f){b.listItems[f].css("left",0).fadeIn(b.settings.fadeDuration);b.updateGalleryInfo(f)};this.updateGalleryInfo=function(f){if(!b.listItems[f]){return}b.galleryHTMLContainer.find(".galleryViewerInfo").stop(true).fadeTo(b.settings.galleryInfoFadeDuration,0,function(){var g=b.listItems[f].data("imageData").lang[b.settings.language];b.galleryHTMLContainer.find(".galleryViewerDescription").html(g.description);b.galleryHTMLContainer.find(".galleryViewerImageCount").html(f+1+"/"+b.listItems.length);a(this).fadeTo(b.settings.galleryInfoFadeDuration,1)})};this.galleryClose=function(){if(!b.isGalleryModeActive){return}b.isGalleryModeActive=false;b.fadeShowPlay();b.galleryHTMLContainer.find(".galleryViewerFooterContainer").animate({height:0},b.settings.gallerySwitchDuration);b.settings.galleryHideElements.fadeIn(b.settings.gallerySwitchDuration)};this.galleryOpen=function(){if(b.isGalleryModeActive){return}b.fadeShowStop();b.settings.galleryHideElements.fadeOut(b.settings.gallerySwitchDuration);b.galleryHTMLContainer.find(".galleryViewerFooter").show();b.galleryHTMLContainer.find(".galleryViewerFooterContainer").animate({height:b.galleryHTMLContainer.find(".galleryViewerFooterContainer").data("originalHeight")},b.settings.gallerySwitchDuration);b.isGalleryModeActive=true};this.slideNext=function(){b.fadeShowStop();var f=b.getNextItemNr();b.disableSlideEvents();if(b.listItems[f].data("isLoaded")){b.slideFromRight(f)}else{b.showActivityIndicator();b.loadImage(f,function(){b.slideFromRight(f)})}};this.slideFromRight=function(g){b.setCurrentItemNr(g);b.updateGalleryInfo(b.getCurrentItemNr());b.loadImage(b.getNextItemNr());b.hideActivityIndicator();b.galleryHTMLContainer.find(".galleryViewerList li").css("z-index",10);b.listItems[g].stop(true);var f=b.galleryHTMLContainer.width();var h=b.listItems[g].position().left;if(h<f&&h>=(f-b.settings.peepDistance)){f=h}b.listItems[g].fadeTo(0,1).css({left:f,zIndex:20}).animate({left:0},b.settings.slideDuration,function(){b.fadeShowPlay();b.hideInactiveItems();b.enableSlideEvents()})};this.slidePrevious=function(){b.fadeShowStop();var f=b.getPreviousItemNr();b.disableSlideEvents();if(b.listItems[f].data("isLoaded")){b.slideFromLeft(f)}else{b.showActivityIndicator();b.loadImage(f,function(){b.slideFromLeft(f)})}};this.slideFromLeft=function(g){b.setCurrentItemNr(g);b.updateGalleryInfo(b.getCurrentItemNr());b.loadImage(b.getPreviousItemNr());b.hideActivityIndicator();b.galleryHTMLContainer.find(".galleryViewerList li").css("z-index",10);b.listItems[g].stop(true);var f=-1*b.listItems[g].children()[0].width;var h=b.listItems[g].position().left;if(h>f&&h<=(f+b.settings.peepDistance)){f=h}b.listItems[g].fadeTo(0,1).css({left:f,zIndex:20}).animate({left:0},b.settings.slideDuration,function(){b.fadeShowPlay();b.hideInactiveItems();b.enableSlideEvents()})};this.peepNext=function(){var f=b.getNextItemNr();if(b.listItems[f].data("isLoaded")){b.fadeShowStop();b.galleryHTMLContainer.find(".galleryViewerList li").css("z-index",11);b.listItems[f].fadeTo(0,1).css({left:b.galleryHTMLContainer.width(),zIndex:21}).animate({left:"-="+b.settings.peepDistance},b.settings.peepDuration,function(){a(this).animate({left:"+="+b.settings.peepDistance},b.settings.peepDuration,function(){b.fadeShowPlay()})})}else{b.loadImage(f)}};this.peepPrevious=function(){var f=b.getPreviousItemNr();if(b.listItems[f].data("isLoaded")){b.fadeShowStop();b.galleryHTMLContainer.find(".galleryViewerList li").css("z-index",11);b.listItems[f].fadeTo(0,1).css({left:-1*b.listItems[f].children()[0].width,zIndex:21}).animate({left:"+="+b.settings.peepDistance},b.settings.peepDuration,function(){a(this).animate({left:"-="+b.settings.peepDistance},b.settings.peepDuration,function(){b.fadeShowPlay()})})}else{b.loadImage(f)}};if(!b.galleryHTMLContainer[0]){b.createHelperElements()}b.loadNewGallery(d);return this}})(jQuery);
