(function($){$.traminobox=function(data,klass,title,prev,next,zusatz,scroll){$.traminobox.settings.scroll=scroll;$.traminobox.loading(title,prev,next,zusatz,klass);$.traminobox.settings.url=null;if(typeof(data)=="string"&&data.match(/#/)){filltraminoboxFromHref(data);}else{if(data.ajax){filltraminoboxFromAjax(data.ajax);}else{if(data.image){filltraminoboxFromImage(data.image);}else{if(data.div){filltraminoboxFromHref(data.div);}else{if($.isFunction(data)){data.call($);}else{$.traminobox.reveal(data,klass);}}}}}};$.extend($.traminobox,{settings:{opacity:0.5,overlay:true,url:null,loadingImage:"http://s1.tramino.de/gfx/loading.gif",closeImage:null,imageTypes:["png","jpg","jpeg","gif"],dict:{zurueck:"zurück",weiter:"weiter"},traminoboxHtml:'    <div id="traminobox" style="display:none;">       <div class="popup"> 	<table class="modal"> 	  <tbody> 	    <tr> 	      <td class="modal_tl"><img src="http://s1.tramino.de/gfx/spacer.gif" width="15" height="15"/></td><td class="modal_t">					<div class="modal_info">					</div>						<div class="modal_menu">						<a href="javascript:void(0);" class="prev" style="display:none;" >zurück</a> 						<a href="javascript:void(0);" class="next" style="display:none;" >weiter</a> 						<a href="javascript:void(0);" class="close">&nbsp;</a> 					</div>		</td><td class="modal_tr"><img src="http://s1.tramino.de/gfx/spacer.gif" width="15" height="15"/></td> 	    </tr> 	    <tr> 	      <td class="modal_l"></td> 	      <td class="body"> 	        <div class="content"> 	        </div> 	      </td> 	      <td class="modal_r"></td> 	    </tr> 	    <tr> 	      <td class="modal_bl"><img src="http://s1.tramino.de/gfx/spacer.gif" width="15" height="15"/></td><td class="modal_b">&nbsp;</td><td class="modal_br"><img src="http://s1.tramino.de/gfx/spacer.gif" width="15" height="15"/></td> 	    </tr> 	  </tbody> 	</table>       </div>     </div>'},loading:function(title,prev,next,zusatz,klass){init();if($("#traminobox .loading").length==1){return true;}showOverlay();$("#traminobox .modal_info").empty();$("#traminobox .modal_info").append(title);$("#traminobox .modal_info2").remove();if(typeof(zusatz)=="object"){for(var i=0;i<zusatz.length;i++){$("#traminobox td.modal_t").append('<div class="modal_info2">'+zusatz[i]+"</div>");}}else{$("#traminobox td.modal_t").append('<div class="modal_info2">'+zusatz+"</div>");}$("#traminobox .content").empty();$("#traminobox .body").removeClass().addClass("body").addClass(klass);$("#traminobox .body").children().hide().end().append('<div class="loading"><img src="'+$.traminobox.settings.loadingImage+'"/></div>');$("#traminobox").css({top:getPageScroll()[1]+(getPageHeight()/20),left:385.5}).show();$(document).bind("keydown.traminobox",function(e){if(e.keyCode==27){$.traminobox.close();}return true;});$(document).trigger("loading.traminobox");$("#traminobox .modal_menu .next").html($.traminobox.settings.dict.weiter);$("#traminobox .modal_menu .prev").html($.traminobox.settings.dict.zurueck);if(next&&eval(next+"(1);")){$("#traminobox .modal_menu .next").removeClass("hidden");$("#traminobox .modal_menu .next").show();$("#traminobox .modal_menu .next").unbind("click");$("#traminobox .modal_menu .next").click(function(){eval(next+"();");});}else{if(next){$("#traminobox .modal_menu .next").unbind("click");$("#traminobox .modal_menu .next").show();$("#traminobox .modal_menu .next").addClass("hidden");}else{$("#traminobox .modal_menu .next").hide();}}if(prev&&eval(prev+"(1);")){$("#traminobox .modal_menu .prev").removeClass("hidden");$("#traminobox .modal_menu .prev").show();$("#traminobox .modal_menu .prev").unbind("click");$("#traminobox .modal_menu .prev").click(function(){eval(prev+"();");});}else{if(prev){$("#traminobox .modal_menu .prev").addClass("hidden");$("#traminobox .modal_menu .prev").show();$("#traminobox .modal_menu .prev").unbind("click");}else{$("#traminobox .modal_menu .prev").hide();}}return 1;},reveal:function(data,klass){$(document).trigger("beforeReveal.traminobox");if(klass){$("#traminobox .content").addClass(klass);}$("#traminobox .content").append(data);$("#traminobox .loading").remove();$("#traminobox .body").children().show();$("#traminobox").css("left",$(window).width()/2-($("#traminobox table").width()/2));$(document).trigger("reveal.traminobox").trigger("afterReveal.traminobox");},close:function(){$(document).trigger("close.traminobox");return false;}});$.fn.traminobox=function(settings){init(settings);function clickHandler(){$.traminobox.loading(true);var klass=this.rel.match(/traminobox\[?\.(\w+)\]?/);if(klass){klass=klass[1];}filltraminoboxFromHref(this.href,klass);return false;}return this.click(clickHandler);};function init(settings){if($.traminobox.settings.inited){return true;}else{$.traminobox.settings.inited=true;}$(document).trigger("init.traminobox");makeCompatible();var imageTypes=$.traminobox.settings.imageTypes.join("|");$.traminobox.settings.imageTypesRegexp=new RegExp("."+imageTypes+"$","i");if(settings){$.extend($.traminobox.settings,settings);}if($("#traminoboxnode").length>0){$("#traminoboxnode").append($.traminobox.settings.traminoboxHtml);}else{$("body").append($.traminobox.settings.traminoboxHtml);}var preload=[new Image(),new Image()];preload[0].src=$.traminobox.settings.closeImage;preload[1].src=$.traminobox.settings.loadingImage;$("#traminobox").find(".b:first, .bl, .br, .tl, .tr").each(function(){preload.push(new Image());preload.slice(-1).src=$(this).css("background-image").replace(/url\((.+)\)/,"$1");});$("#traminobox .close").click($.traminobox.close);$("#traminobox .close_image").attr("src",$.traminobox.settings.closeImage);return 1;}function getPageScroll(){var xScroll,yScroll;if(self.pageYOffset){yScroll=self.pageYOffset;xScroll=self.pageXOffset;}else{if(document.documentElement&&document.documentElement.scrollTop){yScroll=document.documentElement.scrollTop;xScroll=document.documentElement.scrollLeft;}else{if(document.body){yScroll=document.body.scrollTop;xScroll=document.body.scrollLeft;}}}return new Array(xScroll,yScroll);}function getPageHeight(){var windowHeight;if(self.innerHeight){windowHeight=self.innerHeight;}else{if(document.documentElement&&document.documentElement.clientHeight){windowHeight=document.documentElement.clientHeight;}else{if(document.body){windowHeight=document.body.clientHeight;}}}return windowHeight;}function makeCompatible(){var $s=$.traminobox.settings;$s.loadingImage=$s.loading_image||$s.loadingImage;$s.closeImage=$s.close_image||$s.closeImage;$s.imageTypes=$s.image_types||$s.imageTypes;$s.traminoboxHtml=$s.traminobox_html||$s.traminoboxHtml;}function filltraminoboxFromHref(href,klass){if(href.match(/#/)){var url=window.location.href.split("#")[0];var target=href.replace(url,"");$.traminobox.reveal($(target).clone().show(),klass);$.traminobox.settings.url=$(target).parent();$(target).remove();}else{if(href.match($.traminobox.settings.imageTypesRegexp)){filltraminoboxFromImage(href,klass);}else{filltraminoboxFromAjax(href,klass);}}}function filltraminoboxFromImage(href,klass){var image=new Image();image.onload=function(){$.traminobox.reveal('<div class="image"><img src="'+image.src+'" /></div>',klass);};image.src=href;}function filltraminoboxFromAjax(href,klass){$.get(href,function(data){$.traminobox.reveal(data,klass);});}function skipOverlay(){return $.traminobox.settings.overlay==false||$.traminobox.settings.opacity===null;}function showOverlay(){if(skipOverlay()){return 1;}if($("traminobox_overlay").length==0){$("body").append('<div id="traminobox_overlay" class="traminobox_hide"></div>');}if($.traminobox.settings.scroll){$("body").css("overflow","hidden");}$("#traminobox_overlay").hide().addClass("traminobox_overlayBG").css("opacity",$.traminobox.settings.opacity).click(function(){$(document).trigger("close.traminobox");}).show();return false;}function hideOverlay(){if(skipOverlay()){return 1;}$("#traminobox_overlay").hide();$("#traminobox_overlay").removeClass("traminobox_overlayBG");$("#traminobox_overlay").addClass("traminobox_hide");$("#traminobox_overlay").remove();if($.traminobox.settings.scroll){$("body").css("overflow","auto");}return false;}$(document).bind("close.traminobox",function(){$(document).unbind("keydown.traminobox");$("#traminobox").hide();$("#traminobox .content").removeClass().addClass("content");hideOverlay();$("#traminobox .loading").remove();if($.traminobox.settings.url){$($.traminobox.settings.url).append($("#traminobox .content").children());}});})(jQuery);
