// jQuery Plugins for image operations FlyOut + InnerFade //

// Settings
$(function() {

	// image fading
	$('.imagefading').innerfade({
		speed: 1000,
		timeout: 7000,
		type: 'sequence',
		containerheight: 'auto'
	});

	// flyout settings
	$('#flyout a').flyout();
	$('.imagelist a').flyout({loadingSrc:'/images/loading.gif',outEase:'easeInCirc',inEase:'easeOutCirc'});
	$('a.imagelist').flyout({loadingSrc:'/images/loading.gif',outEase:'easeInCirc',inEase:'easeOutCirc'});

});

/* jQuery FlyOut - Jolyon Terwilliger, Nixbox Web Designs - http://nixboxdesigns.com/jquery.flyout.php */
$.fn.extend({flyout:function(c){var d=false;var e=false;var f;var g;var h;var i;var j;var k=new Image();var l='img';var m;this.click(function(){if(e==true){return false}if(d){putAway(this)}else{flyOut(this)}return false});var o=jQuery.extend({outSpeed:1000,inSpeed:500,outEase:'swing',inEase:'swing',loadingSrc:null,loader:'loader',loaderZIndex:500,widthMargin:40,heightMargin:40,loadingText:"Bild wird geladen...",closeTip:"Bild schließen",destPadding:20,startOffsetX:0,startOffsetY:0,startHeight:0,startWidth:0,flyOutStart:function(){},flyOutFinish:function(){},putAwayStart:function(){},putAwayFinish:function(){},shownClass:'shown'},c);function flyOut(b){e=true;f=$(b);g=$('img',b);k=new Image();sL=$(window).scrollLeft();sT=$(window).scrollTop();h=g.offset();h.left+=o.startOffsetX;h.top+=o.startOffsetY;i=(o.startHeight>0?o.startHeight:g.height());j=(o.startWidth>0?o.startWidth:g.width());$('<div></div>').attr('id',o.loader).appendTo('body').css({'position':'absolute','top':h.top,'left':h.left,'height':i,'width':j,'opacity':.5,'display':'block','z-index':o.loaderZIndex});if(o.loadingSrc){$('#'+o.loader).append($('<img/>').load(function(){$(this).css({'position':'relative','top':i/2-(this.height/2),'left':j/2-(this.width/2)}).attr('alt',o.loadingText)}).attr('src',o.loadingSrc))}else{$('#'+o.loader).css('background-color','#000').append($('<span></span>').text(o.loadingText).css({'position':'relative','top':'2px','left':'2px','color':'#FFF','font-size':'9px'}))}$(k).load(function(){imgtag=$('<img/>').attr('src',f.attr('href')).attr('title',g.attr('title')+o.closeTip).attr('alt',g.attr('alt')+o.closeTip).height(i).width(j);o.flyOutStart.call(b);if(o.destElement){var a=$(o.destElement);max_x=a.innerWidth()-(o.destPadding*2);max_y=a.innerHeight()-(o.destPadding*2)}else{max_x=$(window).width()-o.widthMargin;if($.browser.opera)wh=document.getElementsByTagName('html')[0].clientHeight;else wh=$(window).height();max_y=wh-o.heightMargin}width=k.width;height=k.height;x_dim=max_x/width;y_dim=max_y/height;if(x_dim<=y_dim){y_dim=x_dim}else{x_dim=y_dim}dw=Math.round(width*x_dim);dh=Math.round(height*y_dim);if(dw>width){dw=width}if(dh>height){dh=height}if(o.destElement){dPos=a.offset();dl=Math.round((a.outerWidth()/2)-(dw/2)+dPos.left);dt=Math.round((a.outerHeight()/2)-(dh/2)+dPos.top)}else{dl=Math.round(($(window).width()/2)-(dw/2)+sL);if($.browser.opera)wh=document.getElementsByTagName('html')[0].clientHeight;else wh=$(window).height();dt=Math.round((wh/2)-(dh/2)+sT)}$('#'+o.loader).empty().css('opacity',1).append(imgtag).width('auto').height('auto').animate({top:dt,left:dl},{duration:o.outSpeed,queue:false,easing:o.outEase});$('#'+o.loader+' '+l).animate({height:dh,width:dw},o.outSpeed,o.outEase,function(){o.flyOutFinish.call(b);d=b;f.addClass(o.shownClass);e=false;$('#'+o.loader+' '+l).click(function(){putAway(null)})})});k.src=f.attr('href')}function putAway(a){if(e==true||d==false){return false}o.putAwayStart.call(d);e=true;h=g.offset();h.left+=o.startOffsetX;h.top+=o.startOffsetY;$('#'+o.loader).animate({top:h.top,left:h.left},{duration:o.inSpeed,queue:false,easing:o.inEase});$('#'+o.loader+' '+l).animate({height:i,width:j},o.inSpeed,o.inEase,function(){$('#'+o.loader).css('display','none').remove();o.putAwayFinish.call(d);e=false;k=null;if(a&&a!=d){d=false;flyOut(a)}d=false;f.removeClass(o.shownClass)})}return this}});

/* =========================================================
// jquery.innerfade.js
// Datum: 2008-02-14
// Firma: Medienfreunde Hofmann & Baldes GbR
// Author: Torsten Baldes
// Mail: t.baldes@medienfreunde.com
// Web: http://medienfreunde.com
// based on the work of Matt Oakes http://portfolio.gizone.co.uk/applications/slideshow/
// and Ralf S. Engelschall http://trainofthoughts.org/
 *  <ul id="news">
 *      <li>content 1</li>
 *      <li>content 2</li>
 *      <li>content 3</li>
 *  </ul>
 *  $('#news').innerfade({
 *	  animationtype: Type of animation 'fade' or 'slide' (Default: 'fade'),
 *	  speed: Fading-/Sliding-Speed in milliseconds or keywords (slow, normal or fast) (Default: 'normal'),
 *	  timeout: Time between the fades in milliseconds (Default: '2000'),
 *	  type: Type of slideshow: 'sequence', 'random' or 'random_start' (Default: 'sequence'),
 *	  containerheight: Height of the containing element in any css-height-value (Default: 'auto'),
 *	  runningclass: CSS-Class which the container get’s applied (Default: 'innerfade'),
 *	  children: optional children selector (Default: null)
 *  });
// ========================================================= */
(function($) {$.fn.innerfade=function(options){return this.each(function(){$.innerfade(this,options);});};$.innerfade=function(container,options){var settings={'animationtype':'fade','speed':'normal','type':'sequence','timeout':2000,'containerheight':'auto','runningclass':'innerfade','children':null};if(options)$.extend(settings,options);if(settings.children===null)var elements=$(container).children();else var elements=$(container).children(settings.children);if(elements.length>1){$(container).css('position','relative').css('height',settings.containerheight).addClass(settings.runningclass);for(var i=0;i<elements.length;i++){$(elements[i]).css('z-index',String(elements.length-i)).css('position','absolute').hide();};if(settings.type=="sequence"){setTimeout(function(){$.innerfade.next(elements,settings,1,0);},settings.timeout);$(elements[0]).show();}else if(settings.type=="random"){var last=Math.floor(Math.random()*(elements.length));setTimeout(function(){do{current=Math.floor(Math.random()*(elements.length));}while(last==current);$.innerfade.next(elements,settings,current,last);},settings.timeout);$(elements[last]).show();}else if(settings.type=='random_start'){settings.type='sequence';var current=Math.floor(Math.random()*(elements.length));setTimeout(function(){$.innerfade.next(elements,settings,(current+1) % elements.length,current);},settings.timeout);$(elements[current]).show();}else{alert('Innerfade-Type must either be \'sequence\', \'random\' or \'random_start\'');}}};$.innerfade.next=function(elements,settings,current,last){if(settings.animationtype=='slide'){$(elements[last]).slideUp(settings.speed);$(elements[current]).slideDown(settings.speed);}else if(settings.animationtype=='fade'){$(elements[last]).fadeOut(settings.speed);$(elements[current]).fadeIn(settings.speed,function(){removeFilter($(this)[0]);});}else alert('Innerfade-animationtype must either be \'slide\' or \'fade\'');if(settings.type=="sequence"){if((current+1)<elements.length){current=current+1;last=current-1;}else{current=0;last=elements.length-1;}}else if(settings.type=="random"){last=current;while(current==last)current=Math.floor(Math.random()*elements.length);}else alert('Innerfade-Type must either be \'sequence\', \'random\' or \'random_start\'');setTimeout((function(){$.innerfade.next(elements,settings,current,last);}),settings.timeout);};})(jQuery);
function removeFilter(element){if(element.style.removeAttribute){element.style.removeAttribute('filter');}} // **** remove Opacity-Filter in ie ****

// EOF