//mosne fecit
//www.mosne.it
jQuery.easing['jswing']=jQuery.easing['swing'];jQuery.extend(jQuery.easing,{def:'easeOutQuad',swing:function(x,t,b,c,d){return jQuery.easing[jQuery.easing.def](x,t,b,c,d);},easeInQuad:function(x,t,b,c,d){return c*(t/=d)*t+b;},easeOutQuad:function(x,t,b,c,d){return-c*(t/=d)*(t-2)+b;},easeInOutQuad:function(x,t,b,c,d){if((t/=d/2)<1)return c/2*t*t+b;return-c/2*((--t)*(t-2)-1)+b;},easeInCubic:function(x,t,b,c,d){return c*(t/=d)*t*t+b;},easeOutCubic:function(x,t,b,c,d){return c*((t=t/d-1)*t*t+1)+b;},easeInOutCubic:function(x,t,b,c,d){if((t/=d/2)<1)return c/2*t*t*t+b;return c/2*((t-=2)*t*t+2)+b;},easeInQuart:function(x,t,b,c,d){return c*(t/=d)*t*t*t+b;},easeOutQuart:function(x,t,b,c,d){return-c*((t=t/d-1)*t*t*t-1)+b;},easeInOutQuart:function(x,t,b,c,d){if((t/=d/2)<1)return c/2*t*t*t*t+b;return-c/2*((t-=2)*t*t*t-2)+b;},easeInQuint:function(x,t,b,c,d){return c*(t/=d)*t*t*t*t+b;},easeOutQuint:function(x,t,b,c,d){return c*((t=t/d-1)*t*t*t*t+1)+b;},easeInOutQuint:function(x,t,b,c,d){if((t/=d/2)<1)return c/2*t*t*t*t*t+b;return c/2*((t-=2)*t*t*t*t+2)+b;},easeInSine:function(x,t,b,c,d){return-c*Math.cos(t/d*(Math.PI/2))+c+b;},easeOutSine:function(x,t,b,c,d){return c*Math.sin(t/d*(Math.PI/2))+b;},easeInOutSine:function(x,t,b,c,d){return-c/2*(Math.cos(Math.PI*t/d)-1)+b;},easeInExpo:function(x,t,b,c,d){return(t==0)?b:c*Math.pow(2,10*(t/d-1))+b;},easeOutExpo:function(x,t,b,c,d){return(t==d)?b+c:c*(-Math.pow(2,-10*t/d)+1)+b;},easeInOutExpo:function(x,t,b,c,d){if(t==0)return b;if(t==d)return b+c;if((t/=d/2)<1)return c/2*Math.pow(2,10*(t-1))+b;return c/2*(-Math.pow(2,-10*--t)+2)+b;},easeInCirc:function(x,t,b,c,d){return-c*(Math.sqrt(1-(t/=d)*t)-1)+b;},easeOutCirc:function(x,t,b,c,d){return c*Math.sqrt(1-(t=t/d-1)*t)+b;},easeInOutCirc:function(x,t,b,c,d){if((t/=d/2)<1)return-c/2*(Math.sqrt(1-t*t)-1)+b;return c/2*(Math.sqrt(1-(t-=2)*t)+1)+b;},easeInElastic:function(x,t,b,c,d){var s=1.70158;var p=0;var a=c;if(t==0)return b;if((t/=d)==1)return b+c;if(!p)p=d*.3;if(a<Math.abs(c)){a=c;var s=p/4;}else var s=p/(2*Math.PI)*Math.asin(c/a);return-(a*Math.pow(2,10*(t-=1))*Math.sin((t*d-s)*(2*Math.PI)/p))+b;},easeOutElastic:function(x,t,b,c,d){var s=1.70158;var p=0;var a=c;if(t==0)return b;if((t/=d)==1)return b+c;if(!p)p=d*.3;if(a<Math.abs(c)){a=c;var s=p/4;}else var s=p/(2*Math.PI)*Math.asin(c/a);return a*Math.pow(2,-10*t)*Math.sin((t*d-s)*(2*Math.PI)/p)+c+b;},easeInOutElastic:function(x,t,b,c,d){var s=1.70158;var p=0;var a=c;if(t==0)return b;if((t/=d/2)==2)return b+c;if(!p)p=d*(.3*1.5);if(a<Math.abs(c)){a=c;var s=p/4;}else var s=p/(2*Math.PI)*Math.asin(c/a);if(t<1)return-.5*(a*Math.pow(2,10*(t-=1))*Math.sin((t*d-s)*(2*Math.PI)/p))+b;return a*Math.pow(2,-10*(t-=1))*Math.sin((t*d-s)*(2*Math.PI)/p)*.5+c+b;},easeInBack:function(x,t,b,c,d,s){if(s==undefined)s=1.70158;return c*(t/=d)*t*((s+1)*t-s)+b;},easeOutBack:function(x,t,b,c,d,s){if(s==undefined)s=1.70158;return c*((t=t/d-1)*t*((s+1)*t+s)+1)+b;},easeInOutBack:function(x,t,b,c,d,s){if(s==undefined)s=1.70158;if((t/=d/2)<1)return c/2*(t*t*(((s*=(1.525))+1)*t-s))+b;return c/2*((t-=2)*t*(((s*=(1.525))+1)*t+s)+2)+b;},easeInBounce:function(x,t,b,c,d){return c-jQuery.easing.easeOutBounce(x,d-t,0,c,d)+b;},easeOutBounce:function(x,t,b,c,d){if((t/=d)<(1/2.75)){return c*(7.5625*t*t)+b;}else if(t<(2/2.75)){return c*(7.5625*(t-=(1.5/2.75))*t+.75)+b;}else if(t<(2.5/2.75)){return c*(7.5625*(t-=(2.25/2.75))*t+.9375)+b;}else{return c*(7.5625*(t-=(2.625/2.75))*t+.984375)+b;}},easeInOutBounce:function(x,t,b,c,d){if(t<d/2)return jQuery.easing.easeInBounce(x,t*2,0,c,d)*.5+b;return jQuery.easing.easeOutBounce(x,t*2-d,0,c,d)*.5+c*.5+b;}});


jQuery.fn.extend({everyTime:function(interval,label,fn,times,belay){return this.each(function(){jQuery.timer.add(this,interval,label,fn,times,belay);});},oneTime:function(interval,label,fn){return this.each(function(){jQuery.timer.add(this,interval,label,fn,1);});},stopTime:function(label,fn){return this.each(function(){jQuery.timer.remove(this,label,fn);});}});jQuery.extend({timer:{guid:1,global:{},regex:/^([0-9]+)\s*(.*s)?$/,powers:{'ms':1,'cs':10,'ds':100,'s':1000,'das':10000,'hs':100000,'ks':1000000},timeParse:function(value){if(value==undefined||value==null)return null;var result=this.regex.exec(jQuery.trim(value.toString()));if(result[2]){var num=parseInt(result[1],10);var mult=this.powers[result[2]]||1;return num*mult;}else{return value;}},add:function(element,interval,label,fn,times,belay){var counter=0;if(jQuery.isFunction(label)){if(!times)times=fn;fn=label;label=interval;}interval=jQuery.timer.timeParse(interval);if(typeof interval!='number'||isNaN(interval)||interval<=0)return;if(times&&times.constructor!=Number){belay=!!times;times=0;}times=times||0;belay=belay||false;if(!element.$timers)element.$timers={};if(!element.$timers[label])element.$timers[label]={};fn.$timerID=fn.$timerID||this.guid++;var handler=function(){if(belay&&this.inProgress)return;this.inProgress=true;if((++counter>times&&times!==0)||fn.call(element,counter)===false)jQuery.timer.remove(element,label,fn);this.inProgress=false;};handler.$timerID=fn.$timerID;if(!element.$timers[label][fn.$timerID])element.$timers[label][fn.$timerID]=window.setInterval(handler,interval);if(!this.global[label])this.global[label]=[];this.global[label].push(element);},remove:function(element,label,fn){var timers=element.$timers,ret;if(timers){if(!label){for(label in timers)this.remove(element,label,fn);}else if(timers[label]){if(fn){if(fn.$timerID){window.clearInterval(timers[label][fn.$timerID]);delete timers[label][fn.$timerID];}}else{for(var fn in timers[label]){window.clearInterval(timers[label][fn]);delete timers[label][fn];}}for(ret in timers[label])break;if(!ret){ret=null;delete timers[label];}}for(ret in timers)break;if(!ret)element.$timers=null;}}}});if(jQuery.browser.msie)jQuery(window).one("unload",function(){var global=jQuery.timer.global;for(var label in global){var els=global[label],i=els.length;while(--i)jQuery.timer.remove(els[i],label);}});


(function($){$.extend($.fx.step,{backgroundPosition:function(fx){if(fx.state===0&&typeof fx.end=='string'){var start=$.curCSS(fx.elem,'backgroundPosition');start=toArray(start);fx.start=[start[0],start[2]];var end=toArray(fx.end);fx.end=[end[0],end[2]];fx.unit=[end[1],end[3]];}var nowPosX=[];nowPosX[0]=((fx.end[0]-fx.start[0])*fx.pos)+fx.start[0]+fx.unit[0];nowPosX[1]=((fx.end[1]-fx.start[1])*fx.pos)+fx.start[1]+fx.unit[1];fx.elem.style.backgroundPosition=nowPosX[0]+' '+nowPosX[1];function toArray(strg){strg=strg.replace(/left|top/g,'0px');strg=strg.replace(/right|bottom/g,'100%');strg=strg.replace(/([0-9\.]+)(\s|\)|$)/g,"$1px$2");var res=strg.match(/(-?[0-9\.]+)(px|\%|em|pt)\s(-?[0-9\.]+)(px|\%|em|pt)/);return[parseFloat(res[1],10),res[2],parseFloat(res[3],10),res[4]];}}});})(jQuery);




/* init */

$(document).ready(function(){
						   
/* fit screen */						   
	if (top.frames.length!=0)
    top.location=self.document.location;
    self.moveTo(0,0)
    self.resizeTo(screen.availWidth,screen.availHeight);

/* global vars */

   $.scrollTo.defaults.axis = 'x';
   
   var $paneTarget = $('#outerbox');	
   var globalspeed = 900;
   var thex = 670;
   var halfw = ($(window).width()/2);	
   var theAvalue= halfw;
   
   var options = {
        resizeLgImages:     true,
        displayNav:         true,
		overlayColor:		"#000",
		loadingImage:		"images/lb/lb.gif",
		overlayBgImage: 	"images/lb/overlay-85.png",
		overlayOpacity:		0.75,
        handleUnsupported:  'remove',
        keysClose:          ['c', 27] // c or esc
    };
  Shadowbox.init(options);
  
  
  if ($.browser.safari) {
  
  $("#gallerytitle").css({"marginTop":"238px"});
  
  }
  
  if ($.browser.msie) {
  if ( (parseInt($.browser.version))<7){
				
				//alert ("6");
				
				$("#goleft").css({"position":"absolute"});
				  $('#padbox').css({height:470});
				
				$("#goright").css({"position":"absolute"});
				//$('#smartscroll').css({"position":"absolute"});
				$('#gallerytitle').css({"position":"absolute"});
				$('#outerbox').css({"width":$(window).width(),
								   height:$(window).height()});
				
				$(document).pngFix();
				};
   }//msie
       
	  
    
/* functions */


	$("#padbox img").each(function(i){
		
		var curr = $(this).parents(".resizeme");
		var currimg = $(this);
		var the_src= $(currimg).attr("src");
		var img = new Image();					
		
		$(curr).addClass("imgloading");
							
		$(img).load(function () {
	       
	        $(currimg).css({"opacity":0}).css("visibility","visible");
	        $(currimg).attr("src", the_src);
	        
			$(currimg).animate({"opacity":1},3000,"easeOutQuart",function(){
	        	
				$(curr).removeClass("imgloading");
	        
			});
	    
	    }).attr("src",the_src);	
	    
	
	});	



	function getthere(moo){
		
		var thepanew= $('#outerbox').width();
        var mxoff= parseInt((thepanew-thex)/2);
    	var posix= $(moo).position();
		var thevalue = parseInt(posix.left-mxoff);
		if (thevalue <0){thevalue=0;};
		$paneTarget.stop().scrollTo(thevalue,globalspeed,{easing:"easeOutQuart"});
	   
	  
	}
	
	
	
	
	function onBefore(isNext, zeroBasedSlideIndex, slideElement) {
		
		var desc = "#"+ $(slideElement).parent().parent().attr("id")+"_desc";
		var thisout = $(desc).find(".output");
		var thisout2 = $(desc).find(".outputdue");
		var zoomy = $(desc).find(".zoom");
		var total =  $(slideElement).parent().find("img").length;
		var good = ".zommer a.hide:nth-child("+(zeroBasedSlideIndex+1)+")";
		
		
		$(thisout2).html($(slideElement).attr("target")); 
		$(thisout).html((zeroBasedSlideIndex+1)+"/"+total); 
		
		$(slideElement).parent().parent().find(".zommer a.hide").css({"display":"none"});
		$(slideElement).parent().parent().find(good).css({"display":"block"});
		
	} 
	
	
	function expander(avalue){
		
		
		
		
		$('#status').css({display:"block"});
	
		var dove = $(avalue).attr("rel");
		var cosa = $(avalue).attr("target");
		var cosaClose = $(avalue).attr("rel")+"_close";
		var original = $(avalue).attr("rel")+"_open";
		var desc = $(avalue).attr("rel")+"_desc";
		var center = original;
		
		location = dove;
		
		$(dove).animate({width : "670px"}, globalspeed);
		
    	
		
		$(original).find("img").css({"visibility":"hidden"});
		
		$(avalue).click(function (){ });
		
		getthere($(original));
		
		
		setTimeout(
		function () {
    		$(dove).load(cosa,function (){  
				
				
				 
				 
				
				var thisnext = $(dove).find(".next");
				var thisprev = $(dove).find(".prev");
				var thisstop = $(desc).find(".stop");
    			var thispane = $(dove).find(".pics");
				
				
				$(thispane).cycle({ 
    				fx:     'scrollinVert', 
    				speed:  550, 
    				timeout: 0, 
					easing:"easeOutQuart",
					slideExpr: 'img',
    				next: $(thispane),
					prev: $(thisprev),
					prevNextClick:  onBefore
				});
				
				$(thispane).find("img").click(
					
					function (){ 
					
						getthere($(center)); 
					
					}
				);
				
				$(thispane).find("img").hover(
					
					function (){ 
					
						$(thisnext).show();
						
					
					},
					
					function (){ 
					
						$(thisnext).hide();
						
					
					}
					
				);
				
				
				
				$(thispane).SlideInLeft();
				$(thisprev).show();
				$(desc).show();
				
				Shadowbox.setup($(dove).find("a.hide"),{
									skipSetup: true, 
									resizeLgImages:     false,
									displayNav:         true,
									assetURL:			"/FM/themes/fm08-backup/",
									handleLgImages:		"resize"
									  
									  });
				
				
				
				$(dove).find("a.hide:nth-child(0)").css({"display":"block"});
				
				var thisout2 = $(dove).parent().find(".outputdue");
				var firstitle = $(dove).find(".pics img:eq(0)").attr("target");
				$(thisout2).html(firstitle); 
				
				$(dove).find(".pics img").each(function () {
				$(this).css({"left":"23px"});
        
     			});
				$('#status').css({display:"none"});
			
				}
			);
		}, (globalspeed));
		
		
	};
	
	
	


	function fit(){
		
		setTimeout(function () {
	
	    var afit = $('#wrapper').width()+"px";
		$('#padbox').width(afit);
		}, (globalspeed+100));
	 }

/* mouse and keyboard bindings */
    
	
	
	$('#userAgent').html(navigator.userAgent);
	$('body').mousewheel(function(event, delta) {
										 
			
		
		
		    var thepanew= $('#outerbox').width();
			var theAvalue= halfw;
			var xoff ="+="+theAvalue+"px";
		    var themegawrapper = $("#wrapper").width();
	        var them = (themegawrapper/theAvalue);
		    var unpercent = (thepanew/100);
		    var pixels = parseInt(thepanew/them);
			
			
		
		if (delta > 0){
	
			var deltapix = "-="+parseInt(halfw)+"px";
			$paneTarget.stop().scrollTo(deltapix,globalspeed,{easing:"easeOutQuart"});
		//	event.stopPropagation();
		//	event.preventDefault();
		        
		}else if (delta < 0){
			
			var deltapix = "+="+parseInt(halfw)+"px";
			$paneTarget.stop().scrollTo(deltapix,globalspeed,{easing:"easeOutQuart"});
		//	event.stopPropagation();
		//	event.preventDefault();
			
			
			}
	});
		
	$().mousemove(function(e){
     
	  $('#status').css({left: (e.pageX+16),
					    top: (e.pageY-16)
						});
   });	
	
	
   $(window).keydown(function(event) {
							  
        var halfw = ($(window).width()/2);	
		
			
		
		if (event.keyCode == 78 || event.keyCode == 39){
           
			
			
			var deltapix = "+="+parseInt(halfw)+"px";
			$paneTarget.stop().scrollTo(deltapix,globalspeed,{easing:"easeOutQuart"});
			event.stopPropagation();
			event.preventDefault();
		
		}else if (event.keyCode == 80 || event.keyCode == 37){
         
		    var deltapix = "-="+parseInt(halfw)+"px";
			$paneTarget.stop().scrollTo(deltapix,globalspeed,{easing:"easeOutQuart"});
			event.stopPropagation();
			event.preventDefault();
		};
	});
	
	
/* buttons */	
	
	
	
	
	$("#goleft").mouseover(
		function () {
		    
			var xoff ="-="+theAvalue+"px"; 
		   
			 $paneTarget.stop().scrollTo(xoff,globalspeed,{easing:"easeOutQuart"});
		
		}
	);
	
	$("#goright").mouseover(
		function () {
			
			var xoff ="+="+theAvalue+"px";
		   
		    $paneTarget.stop().scrollTo(xoff,globalspeed,{easing:"easeOutQuart"});
			
			
		
		}
	);
	$("#goleft").click(
		function () {
			
			
			var xoff ="-="+theAvalue+"px";
			
		    $paneTarget.stop().scrollTo(xoff,globalspeed,{easing:"easeOutQuart"});
			
		}
	);
	
	$("#goright").click(
		function () {
			
			var xoff ="+="+theAvalue+"px";
		    
		
		    $paneTarget.stop().scrollTo(xoff,globalspeed,{easing:"easeOutQuart"});
			
		}
	);
	
    

     
	$(".deep, .albumdesc").click(
		function () {
			
			var avalue = $(this);
			expander(avalue);
		
		 });
	
	
	/*
	$(".deep").hover(
		function () {
			
			$(this).parent().parent().find(".albumdesc").stop().animate({"marginTop":"-9px"});
		
		 },
		 function () {
			
			$(this).parent().parent().find(".albumdesc").stop().animate({"marginTop":"-27px"});
		
		 });
	
	$(".loading").hover(
		function () {
			
			$(this).parent().parent().find(".albumdescweb").stop().animate({"marginTop":"-9px"});
		
		 },
		 function () {
			
			$(this).parent().parent().find(".albumdescweb").stop().animate({"marginTop":"-27px"});
		
		 });
	
	*/
	
	
	
	$(".loading").click(
		function () {
			
			var avalue = $(this);
			getthere(avalue);
		
		 });
	
	
	$(".expand").click(
		function () {
			
			var avalue = $(this);
			var original = $(avalue).attr("rel")+"_open";
			getthere($(original));
			
			setTimeout(function(){ 
			$(original).trigger("click");
			}, 1500 ); 
		
		 });
	
		
	 
	 
    
	$("#gallerytitle li a.move").hover(
		function () {
			
		$(this).stop().animate({
						  'color':'#f06',
						  'paddingBottom':'10px',
						  'cursor':'pointer'
						  },500);
		},
		
		function () {
		
		$(this).stop().animate({
						   color:'#eee',
						  'paddingBottom':'18px'
						  },500);
		
		});
	
	
	
if( location.hash ){

	setTimeout(function(){ 
	getthere(location.hash+"_open");
	}, 900 ); 
	setTimeout(function(){ 
		$(location.hash+"_open").trigger("click");
	}, 2300 ); 

}else{
	
   $paneTarget.stop().scrollTo(350,0);
   $paneTarget.scrollTo(0,globalspeed,{easing:"easeOutQuart"});
  
};
	
 
 }); // end of global scope
/*
$(document).load(function(){
						  
						  $('#wrapper').find(".deep").each(function () {
				              $(this).css({"border":"#f00"});
        
     						});
						  
						  });
*/
