/*
    URL Parser 1.0.1
    Last updated: August 29, 2008 
*/
jQuery.url=function(){var segments={};var parsed={};var options={url:window.location,strictMode:false,key:["source","protocol","authority","userInfo","user","password","host","port","relative","path","directory","file","query","anchor"],q:{name:"queryKey",parser:/(?:^|&)([^&=]*)=?([^&]*)/g},parser:{strict:/^(?:([^:\/?#]+):)?(?:\/\/((?:(([^:@]*):?([^:@]*))?@)?([^:\/?#]*)(?::(\d*))?))?((((?:[^?#\/]*\/)*)([^?#]*))(?:\?([^#]*))?(?:#(.*))?)/,loose:/^(?:(?![^:@]+:[^:@\/]*@)([^:\/?#.]+):)?(?:\/\/)?((?:(([^:@]*):?([^:@]*))?@)?([^:\/?#]*)(?::(\d*))?)(((\/(?:[^?#](?![^?#\/]*\.[^?#\/.]+(?:[?#]|$)))*\/?)?([^?#\/]*))(?:\?([^#]*))?(?:#(.*))?)/}};var parseUri=function(){str=decodeURI(options.url);var m=options.parser[options.strictMode?"strict":"loose"].exec(str);var uri={};var i=14;while(i--){uri[options.key[i]]=m[i]||""}uri[options.q.name]={};uri[options.key[12]].replace(options.q.parser,function($0,$1,$2){if($1){uri[options.q.name][$1]=$2}});return uri};var key=function(key){if(!parsed.length){setUp()}if(key=="base"){if(parsed.port!==null&&parsed.port!==""){return parsed.protocol+"://"+parsed.host+":"+parsed.port+"/"}else{return parsed.protocol+"://"+parsed.host+"/"}}return(parsed[key]==="")?null:parsed[key]};var param=function(item){if(!parsed.length){setUp()}return(parsed.queryKey[item]===null)?null:parsed.queryKey[item]};var setUp=function(){parsed=parseUri();getSegments()};var getSegments=function(){var p=parsed.path;segments=[];segments=parsed.path.length==1?{}:(p.charAt(p.length-1)=="/"?p.substring(1,p.length-1):path=p.substring(1)).split("/")};return{setMode:function(mode){strictMode=mode=="strict"?true:false;return this},setUrl:function(newUri){options.url=newUri===undefined?window.location:newUri;setUp();return this},segment:function(pos){if(!parsed.length){setUp()}if(pos===undefined){return segments.length}return(segments[pos]===""||segments[pos]===undefined)?null:segments[pos]},attr:key,param:param}}(); 


/*
	Slimbox v2.02 - The ultimate lightweight Lightbox clone for jQuery
	(c) 2007-2009 Christophe Beyls <http://www.digitalia.be>
	MIT-style license.
*/
(function(w){var E=w(window),u,g,F=-1,o,x,D,v,y,L,s,n=!window.XMLHttpRequest,e=window.opera&&(document.compatMode=="CSS1Compat")&&(w.browser.version>=9.3),m=document.documentElement,l={},t=new Image(),J=new Image(),H,a,h,q,I,d,G,c,A,K;w(function(){w("body").append(w([H=w('<div id="lbOverlay" />')[0],a=w('<div id="lbCenter" />')[0],G=w('<div id="lbBottomContainer" />')[0]]).css("display","none"));h=w('<div id="lbImage" />').appendTo(a).append(q=w('<div style="position: relative;" />').append([I=w('<a id="lbPrevLink" href="#" />').click(B)[0],d=w('<a id="lbNextLink" href="#" />').click(f)[0]])[0])[0];c=w('<div id="lbBottom" />').appendTo(G).append([w('<a id="lbCloseLink" href="#" />').add(H).click(C)[0],A=w('<div id="lbCaption" />')[0],K=w('<div id="lbNumber" />')[0],w('<div style="clear: both;" />')[0]])[0]});w.slimbox=function(O,N,M){u=w.extend({loop:false,overlayOpacity:0.8,overlayFadeDuration:400,resizeDuration:400,resizeEasing:"swing",initialWidth:250,initialHeight:250,imageFadeDuration:400,captionAnimationDuration:400,counterText:"Image {x} of {y}",closeKeys:[27,88,67],previousKeys:[37,80],nextKeys:[39,78]},M);if(typeof O=="string"){O=[[O,N]];N=0}y=E.scrollTop()+((e?m.clientHeight:E.height())/2);L=u.initialWidth;s=u.initialHeight;w(a).css({top:Math.max(0,y-(s/2)),width:L,height:s,marginLeft:-L/2}).show();v=n||(H.currentStyle&&(H.currentStyle.position!="fixed"));if(v){H.style.position="absolute"}w(H).css("opacity",u.overlayOpacity).fadeIn(u.overlayFadeDuration);z();k(1);g=O;u.loop=u.loop&&(g.length>1);return b(N)};w.fn.slimbox=function(M,P,O){P=P||function(Q){return[Q.href,Q.title]};O=O||function(){return true};var N=this;return N.unbind("click").click(function(){var S=this,U=0,T,Q=0,R;T=w.grep(N,function(W,V){return O.call(S,W,V)});for(R=T.length;Q<R;++Q){if(T[Q]==S){U=Q}T[Q]=P(T[Q],Q)}return w.slimbox(T,U,M)})};function z(){var N=E.scrollLeft(),M=e?m.clientWidth:E.width();w([a,G]).css("left",N+(M/2));if(v){w(H).css({left:N,top:E.scrollTop(),width:M,height:E.height()})}}function k(M){w("object").add(n?"select":"embed").each(function(O,P){if(M){w.data(P,"slimbox",P.style.visibility)}P.style.visibility=M?"hidden":w.data(P,"slimbox")});var N=M?"bind":"unbind";E[N]("scroll resize",z);w(document)[N]("keydown",p)}function p(O){var N=O.keyCode,M=w.inArray;return(M(N,u.closeKeys)>=0)?C():(M(N,u.nextKeys)>=0)?f():(M(N,u.previousKeys)>=0)?B():false}function B(){return b(x)}function f(){return b(D)}function b(M){if(M>=0){F=M;o=g[F][0];x=(F||(u.loop?g.length:0))-1;D=((F+1)%g.length)||(u.loop?0:-1);r();a.className="lbLoading";l=new Image();l.onload=j;l.src=o}return false}function j(){a.className="";w(h).css({backgroundImage:"url("+o+")",visibility:"hidden",display:""});w(q).width(l.width);w([q,I,d]).height(l.height);w(A).html(g[F][1]||"");w(K).html((((g.length>1)&&u.counterText)||"").replace(/{x}/,F+1).replace(/{y}/,g.length));if(x>=0){t.src=g[x][0]}if(D>=0){J.src=g[D][0]}L=h.offsetWidth;s=h.offsetHeight;var M=Math.max(0,y-(s/2));if(a.offsetHeight!=s){w(a).animate({height:s,top:M},u.resizeDuration,u.resizeEasing)}if(a.offsetWidth!=L){w(a).animate({width:L,marginLeft:-L/2},u.resizeDuration,u.resizeEasing)}w(a).queue(function(){w(G).css({width:L,top:M+s,marginLeft:-L/2,visibility:"hidden",display:""});w(h).css({display:"none",visibility:"",opacity:""}).fadeIn(u.imageFadeDuration,i)})}function i(){if(x>=0){w(I).show()}if(D>=0){w(d).show()}w(c).css("marginTop",-c.offsetHeight).animate({marginTop:0},u.captionAnimationDuration);G.style.visibility=""}function r(){l.onload=null;l.src=t.src=J.src=o;w([a,h,c]).stop(true);w([I,d,h,G]).hide()}function C(){if(F>=0){r();F=x=D=-1;w(a).hide();w(H).stop().fadeOut(u.overlayFadeDuration,k)}return false}})(jQuery);

// AUTOLOAD CODE BLOCK (MAY BE CHANGED OR REMOVED)
jQuery(function($) {
  $("a[rel^='lightbox']").slimbox({
	  /* Put custom options here */
	  loop: true,
	  captionAnimationDuration: 400,
	  resizeEasing: 'swing',
	  counterText:'Bild {x} von {y}',
	  closeKeys:[27,88,83], 	//27:escape, 88:x, 67:c, 83:s
	  previousKeys:[37,90],		//37:left arrow, 80:p, 90:z
	  nextKeys:[39,87]}, null, 	//39:right arrow, 78:n, 87:w
	  function(el) {
		  return (this == el) || ((this.rel.length > 8) && (this.rel == el.rel));
  });
  
  $("a[class='thickbox']").slimbox({
	  /* Put custom options here */
	  loop: true,
	  captionAnimationDuration: 400,	
	  resizeEasing: 'swing',
	  counterText:'Bild {x} von {y}',
	  closeKeys:[27,88,83], 	//27:escape, 88:x, 67:c, 83:s
	  previousKeys:[37,90],		//37:left arrow, 80:p, 90:z
	  nextKeys:[39,87]}, null, 	//39:right arrow, 78:n, 87:w
	  function(el) {
		  return (this == el) || ((this.rel.length > 8) && (this.rel == el.rel));
  });
});




/**
 * jQuery.Preload - Multifunctional preloader
 * Copyright (c) 2008 Ariel Flesler - aflesler(at)gmail(dot)com
 * Dual licensed under MIT and GPL.
 * Date: 3/25/2009
 * @author Ariel Flesler
 * @version 1.0.8
 */
;(function($){var h=$.preload=function(c,d){if(c.split)c=$(c);d=$.extend({},h.defaults,d);var f=$.map(c,function(a){if(!a)return;if(a.split)return d.base+a+d.ext;var b=a.src||a.href;if(typeof d.placeholder=='string'&&a.src)a.src=d.placeholder;if(b&&d.find)b=b.replace(d.find,d.replace);return b||null}),data={loaded:0,failed:0,next:0,done:0,total:f.length};if(!data.total)return finish();var g=$(Array(d.threshold+1).join('<img/>')).load(handler).error(handler).bind('abort',handler).each(fetch);function handler(e){data.element=this;data.found=e.type=='load';data.image=this.src;data.index=this.index;var a=data.original=c[this.index];data[data.found?'loaded':'failed']++;data.done++;if(d.enforceCache)h.cache.push($('<img/>').attr('src',data.image)[0]);if(d.placeholder&&a.src)a.src=data.found?data.image:d.notFound||a.src;if(d.onComplete)d.onComplete(data);if(data.done<data.total)fetch(0,this);else{if(g&&g.unbind)g.unbind('load').unbind('error').unbind('abort');g=null;finish()}};function fetch(i,a,b){if(a.attachEvent&&data.next&&data.next%h.gap==0&&!b){setTimeout(function(){fetch(i,a,1)},0);return!1}if(data.next==data.total)return!1;a.index=data.next;a.src=f[data.next++];if(d.onRequest){data.index=a.index;data.element=a;data.image=a.src;data.original=c[data.next-1];d.onRequest(data)}};function finish(){if(d.onFinish)d.onFinish(data)}};h.gap=14;h.cache=[];h.defaults={threshold:2,base:'',ext:'',replace:''};$.fn.preload=function(a){h(this,a);return this}})(jQuery);


/**
* hoverIntent r5 // 2007.03.27 // jQuery 1.1.2+
* <http://cherne.net/brian/resources/jquery.hoverIntent.html>
* 
* @param  f  onMouseOver function || An object with configuration options
* @param  g  onMouseOut function  || Nothing (use configuration options object)
* @author    Brian Cherne <brian@cherne.net>
*/
(function($){$.fn.hoverIntent=function(f,g){var cfg={sensitivity:7,interval:100,timeout:0};cfg=$.extend(cfg,g?{over:f,out:g}:f);var cX,cY,pX,pY;var track=function(ev){cX=ev.pageX;cY=ev.pageY;};var compare=function(ev,ob){ob.hoverIntent_t=clearTimeout(ob.hoverIntent_t);if((Math.abs(pX-cX)+Math.abs(pY-cY))<cfg.sensitivity){$(ob).unbind("mousemove",track);ob.hoverIntent_s=1;return cfg.over.apply(ob,[ev]);}else{pX=cX;pY=cY;ob.hoverIntent_t=setTimeout(function(){compare(ev,ob);},cfg.interval);}};var delay=function(ev,ob){ob.hoverIntent_t=clearTimeout(ob.hoverIntent_t);ob.hoverIntent_s=0;return cfg.out.apply(ob,[ev]);};var handleHover=function(e){var p=(e.type=="mouseover"?e.fromElement:e.toElement)||e.relatedTarget;while(p&&p!=this){try{p=p.parentNode;}catch(e){p=this;}}if(p==this){return false;}var ev=jQuery.extend({},e);var ob=this;if(ob.hoverIntent_t){ob.hoverIntent_t=clearTimeout(ob.hoverIntent_t);}if(e.type=="mouseover"){pX=ev.pageX;pY=ev.pageY;$(ob).bind("mousemove",track);if(ob.hoverIntent_s!=1){ob.hoverIntent_t=setTimeout(function(){compare(ev,ob);},cfg.interval);}}else{$(ob).unbind("mousemove",track);if(ob.hoverIntent_s==1){ob.hoverIntent_t=setTimeout(function(){delay(ev,ob);},cfg.timeout);}}};return this.mouseover(handleHover).mouseout(handleHover);};})(jQuery);
 
function cookieResize(selector, defaultSize) 
{
	/* 
	   FONTSIZER with + and - buttons, save the current size in a cookie		
	   idea from 
	   http://onehackoranother.com/projects/jquery/jquery-grab-bag/cookie-text-size.html 
	 */    
    var lastSize = defaultSize;
    
    function cookieWrite(name, value, days) {
        var expires = "";
    	if (days) {
      		var date = new Date();
      		date.setTime(date.getTime() + (days * 86400000));
      		var expires = "; expires=" + date.toGMTString();
     	}
     	document.cookie = name + "=" + value + expires + "; path=/";
    }

    function cookieRead(name) {
     	name += "=";
     	var ca = document.cookie.split(';');
     	for(var i = 0; i < ca.length; i++) {
      		var c = ca[i];
      		while (c.charAt(0) == ' ') c = c.substring(1, c.length);
      		if (c.indexOf(name) == 0) return c.substring(name.length, c.length);
     	}
     	return null;
    }
	
	function imgOn(thisImg) {
		if(thisImg.hasClass('off')) {
			var onImg = thisImg.attr('src').replace('_off.gif', '.gif');
			// alert(onImg);
			thisImg.attr('src', onImg);
			thisImg.attr('class', 'on');
		}
	}
	function imgOff(thisImg) {
		if(thisImg.hasClass('on')) {
			var offImg = thisImg.attr('src').replace('.gif', '_off.gif');
			thisImg.attr('src', offImg);
			thisImg.attr('class', 'off');
		}
	}

    function updateSizeFromCookie() {
        $('body').removeClass('small').removeClass('medium').removeClass('large');
        lastSize = cookieRead('css-size') || defaultSize;
        $('body').addClass(lastSize);
		if(lastSize == 'small') {
			imgOff($('#minus img'));
			imgOn ($('#plus img'));
		}
		else if(lastSize == 'medium') {
			imgOn ($('#plus img'));
			imgOn ($('#minus img'));
		}
		else if(lastSize == 'large') {
			imgOff($('#plus img'));
			imgOn ($('#minus img'));
		}
    }
    
    jQuery(selector).click(function() {
		$(this).blur();
		lastSize = cookieRead('css-size') || defaultSize;
		
		var plusMinus = $(this).attr('id');
		var newSize;
		//alert(plusMinus);
		if(plusMinus == 'plus') {
			switch (lastSize) {
				case 'small':
				newSize = 'medium';
				break;				
				case 'medium':
				newSize = 'large';
				break;				
				default:
				newSize = 'large';
				break;
			}
		}
		else if(plusMinus == 'minus') {
			switch (lastSize) {				
				case 'large':
				newSize = 'medium';
				break;				
				case 'medium':
				newSize = 'small';
				break;				
				default:
				newSize = 'small';
				break;
			}
		}
		
        cookieWrite('css-size', newSize);
        updateSizeFromCookie();
    	contentHeight();    
        return false;
    });

    updateSizeFromCookie();
}

function contentHeight()
{
		// if content height should be at least maximal columnheight
	var columnHeight = ($('#leftcolumn').height() > $('#rightcolumn').height() )? $('#leftcolumn').height() : $('#rightcolumn').height();		
	var contentHeight = $('#content').height();		
	if(contentHeight < columnHeight) {
		$('#content').css('height',columnHeight+'px');
	}
}
 
 function create_icon(icon)
 {
	return '<span class="link-icon"><img src="layout/img/'+icon+'.gif" /></span>';
 }

 

 $(document).ready(function(){	
		
	// FONTSIZER with + and - buttons, save the current size in a cookie			  
	var layoutCss   = $('link[href$="style.css"]').attr('href');
	var layoutDir   = jQuery.url.setUrl(layoutCss).attr('directory');
	var plusGif     = 'plus.gif';
	var minusGif    = 'minus_off.gif';
	var plusImgSrc  = 'layout'+layoutDir+'img/'+plusGif;
	var minusImgSrc = 'layout'+layoutDir+'img/'+minusGif;
	
	$('#topmenu ul').append(
		'<li class="sizer"><a href="#" id="minus" title="Schrift kleiner"><img src="'+minusImgSrc+'" class="off" /></a></li>'+
		'<li class="sizer"><a href="#" id="plus" title="Schrift größer"><img src="'+plusImgSrc+'" class="on" /></a></li>');
	
	cookieResize('.sizer a', 'small');
    contentHeight();
	
    // show the GO TOP icon
	$('.csc-linkToTop a').append(' <img src="layout'+layoutDir+'img/go-top.gif" title="nach oben"/>');
	
	
	// typo3 helper: if the anchor is on the same page -> do not reload
	$('#content a[href*=#]').click(function(){	
		// global var url_path of the current page				
		var url_path = jQuery.url.attr('path');									 
		var link_href = jQuery(this).attr('href');
		var link_path = jQuery.url.setUrl(link_href).attr('path');
		// reset jQuery.url
		jQuery.url.setUrl(window.location);
		// console.log('url_path: %s, link_path: %s',url_path, link_path );
		if(url_path == link_path) {
		  // go to the anchor
		 location.href = link_href;
		 return false;
		}				
	});	
	
	$('.news-single-backlink a').click(function(){
	  history.back();										   
	  return false;
	});
	
    // LINK ICONS
	$('a:has(img)').addClass('img');
	$("a[href^='javascript:linkTo_UnCryptMailto']").addClass("email");
	// link icons: because of the IE multiline problem do not use css classes
	$("a[href$='.pdf']").append(create_icon('pdf'));
	$("a[href$='.rtf']").append(create_icon('doc'));
	$("a[href$='.doc']").append(create_icon('doc'));
	
	// open external links with target _blank	
	$("a[href^='http']").attr('target','_blank');
	$("a[href$='.doc']").attr('target','_blank');
	$("a[href$='.pdf']").attr('target','_blank');
	$(".search_result a[href^=http]").attr('target','_self');
	
	// blurring links
    $('a').focus(function() {this.blur();});


		
	/*
	if( $(".pagebrowser").length == 0 && $('.news-list-item').length == 0 && $('ul.themen').length == 0 ) // in section news do not prepend »
	{
		$("#content a[href]").not("[class*=img]").not("[href^=http]").not("[href^=index.php?eID]").not("[href*=#]").not("[href^='javascript:linkTo_UnCryptMailto']").not("[href$='.pdf']").not("[href$='.doc']").not("[id^='c']").not("[class*=thickbox]").prepend("» ");
	}
	*/
	
	// if ther follows a , or a . or a ) the link, img will get class link-icon2
    // IE has it's own html() 
	$("p a span.link-icon").parents('p').each(function(){
		// alert($(this).html());
        var expr = /link-icon([^>]*)><\/a>([,\.\)]{1})/gi;
		var repl = 'link-icon2$1></a>$2';
		$(this).html($(this).html().replace(expr,repl));	
	});	
	
	$("p:contains('(at)')").each(function(){
		// alert($(this).html());
		var filter = /<span> \(at\) <\/span>/ig;
		var at = "@";
		$(this).html($(this).html().replace(filter,at));	
	});		
	
		//zebra table
	//$("tr:nth-child(odd)").addClass("odd");
	$("tr:odd").addClass("odd");
	$('.news-single-imgwrap').eq(0).addClass('first-image');
	
	var showLink = "&nbsp;<a class=\"info\" title=\"Text vollständig anzeigen\">[mehr...]<\/a>";	
							
	$(".text2").hide(); 
	$(".text1").append(showLink);
	
	$(".text1 a").click(function(){	
		// $(this).parents("p").next("div").slideToggle("slow");
		$(this).parents("p").next("div").toggle();
		
		if($(this).text() == "[mehr...]")
		{	
			$(this).attr({title:"Text ausblenden"});
			$(this).text("[Text ausblenden]");	
		}
		else
		{	
			$(this).attr({title:"Text vollständig anzeigen"});
			$(this).text("[mehr...]");
		}
	});	
	
	/* 
	 * KONTAKT Formular - Erfolgsmeldung nach oben...
	 */
	if($('#mailformplus-submitted').length && $('#content .csc-firstHeader').length) {
		// console.log('test');
		// get the headline, if there is any
		var headline = '';
		var h = $('#mailformplus-submitted').parent().prev('h2,h3,h4');
		if(h.length){
			var headline = '<h2>'+h.html()+'</h2>';
			h.remove();
		}
		// get the submitted text
		var c = $('#mailformplus-submitted');
		var text = '<div id="mailformplus-submitted-top">'+ headline + c.html() + '</div>';
		// put the message on the top
		$('#content .csc-firstHeader').after(text);
		// and remove it on the bottom 
		c.remove();		
	}

	
});