/* 
* prequisits, don't change this 
*/
var ord = Math.random()*10000000000000000;
var Ads = {};

/* 
* 
* hide firebug console
*
*/
if (!window.console || !console.firebug) {
    var names = ["log", "debug", "info", "warn", "error", "assert", "dir", "dirxml", "group", "groupEnd", "time", "timeEnd", "count", "trace", "profile", "profileEnd"];
	window.console = {};
    for (var i = 0; i < names.length; ++i) window.console[names[i]] = function() {};
}

/* 
*	Object extensions 
*/
String.prototype.replaceAll = function(strTarget,strSubString){
	var strText = this;
	var intIndexOfMatch = strText.indexOf( strTarget );
	while (intIndexOfMatch != -1){
		strText = strText.replace( strTarget, strSubString );
		intIndexOfMatch = strText.indexOf( strTarget );
	}
	return( strText.toString() );
};

Date.prototype.toISO8601String = function (format, offset) {
    /* accepted values for the format [1-6]:
     1 Year:
       YYYY (eg 1997)
     2 Year and month:
       YYYY-MM (eg 1997-07)
     3 Complete date:
       YYYY-MM-DD (eg 1997-07-16)
     4 Complete date plus hours and minutes:
       YYYY-MM-DDThh:mmTZD (eg 1997-07-16T19:20+01:00)
     5 Complete date plus hours, minutes and seconds:
       YYYY-MM-DDThh:mm:ssTZD (eg 1997-07-16T19:20:30+01:00)
     6 Complete date plus hours, minutes, seconds and a decimal
       fraction of a second
       YYYY-MM-DDThh:mm:ss.sTZD (eg 1997-07-16T19:20:30.45+01:00)
    */
    if (!format) { var format = 6; }
    if (!offset) {
        var offset = 'Z';
        var date = this;
    } else {
        var d = offset.match(/([-+])([0-9]{2}):([0-9]{2})/);
        var offsetnum = (Number(d[2]) * 60) + Number(d[3]);
        offsetnum *= ((d[1] == '-') ? -1 : 1);
        var date = new Date(Number(Number(this) + (offsetnum * 60000)));
    }

    var zeropad = function (num) { return ((num < 10) ? '0' : '') + num; }

    var str = "";
    str += date.getUTCFullYear();
    if (format > 1) { str += "-" + zeropad(date.getUTCMonth() + 1); }
    if (format > 2) { str += "-" + zeropad(date.getUTCDate()); }
    if (format > 3) {
        str += "T" + zeropad(date.getUTCHours()) +
               ":" + zeropad(date.getUTCMinutes());
    }
    if (format > 5) {
        var secs = Number(date.getUTCSeconds() + "." +
                   ((date.getUTCMilliseconds() < 100) ? '0' : '') +
                   zeropad(date.getUTCMilliseconds()));
        str += ":" + zeropad(secs);
    } else if (format > 4) { str += ":" + zeropad(date.getUTCSeconds()); }

    if (format > 3) { str += offset; }
    return str;
};

/* 
* 
* this is the ZEIT namespace
* global vars are evil!
* [obviously, we can't get rid of all of them, for backcompytibility reasons]
*
*/
var ZEIT = function() {

	/* add private vars and functions here */
		
	/* these are widely acessible */
	return {
		
		/* Special functions for special pagetypes */
		activateMags: function () {
			if(jQuery(".sub-campus").length > 0) {
				jQuery(".sub-campus #logocolumn h2 a").attr("href", "http://www.zeit.de/campus/index");
				jQuery("li#nav-wissen").addClass("activated");
			}
			if(jQuery(".sub-zeit-wissen").length > 0) {
				jQuery(".sub-zeit-wissen #logocolumn h2 a").attr("href", "http://www.zeit.de/zeit-wissen/index");
				jQuery("li#nav-wissen").addClass("activated");
			}
		},
		
		/* Browser Corrections */
		correctBrowser: function() {
			if(jQuery.browser.msie) {
				jQuery("#yahoo ol").children().each(function(index) {
					var myindex = index+1;jQuery(this).prepend(myindex+".&nbsp;");
				});
			}
			if(jQuery.browser.opera) { jQuery("#sidebar").css("margin-left", "-304px"); }
			jQuery('#breadcrumbs .breadcrumbs *').eq( jQuery('#breadcrumbs .breadcrumbs *').size()-1 ).css("font-weight", "700");
			
		},
		
		hideEmptyAdPlace: function(place) {

				/* alle anderen */
				if(jQuery('#'+place+' .inner_ad img').length == 1 && jQuery("#id-videoplayer").length == 0) {
					var i = jQuery('#'+place+' .inner_ad img').attr("src");
					var s = /817-grey.gif/;
					if( i.search(s) > 0 || jQuery('#'+place+' .inner_ad img').width()==1) {
						jQuery('#'+place).hide();
					}
				}
		
		},
		
		/* initialize spec. functions for articles */
		initArticles: function() {
			
			/* init the textsize widget (which is totally useless, btw...) */
			jQuery("div.textgroesse").css("display", "block");
			jQuery("a#resizer_minus").textSmaller();
			jQuery("a#resizer_plus").textBigger();
			jQuery("a#resizer_standard").textStandard();
			jQuery("div.biga_full_inner").bigaPreview();
			/* text for social bookmarking sites */
			jQuery('a.ebm_link').showEBMLink();
			/* infobox in content */
			
			jQuery(".articletext a").externalLinks();
			
			ZEIT.placeComments();

		},
		
		isMobile: function() {
			if(RegExp("http://www.zeit.de/Mobile/").test(navigator.userAgent)) {
				return true;
			}
			return false;
		},
		
		
		marktplatzAddOns: function(){
			if(jQuery("body").height() < 600) { 
				jQuery(".back2top").empty().height(1).css({margin: "0", padding: "0"});
				jQuery("#footer").css("padding-top", "0"); 
			}
			if(jQuery("#navibox").html() == "") jQuery("#navibox").remove();
			// jQuery("#marketingnavi").children("a:last").attr("href", "http://www.zeit.de/#Angebote");
		},
		
		/* Open Popups with Cookie support */
		openPopUpFriendly: function(name, expiredays, times, zielurl, popupname, breite, hoehe, scroll_value, pos, where, popunder) {
			if(name=="") name = "zeit_popup_count";
			if(expiredays=="") expiredays = 2;
			if(times=="") times = 1; 
			if(popupname=="") popupname = 'popup';
			if(where=="") where = "all";
			show = false;
			if(where != "all") 
			{
				if(where == "homepage") {
					if(document.getElementById("id-homepage")) show = true;
				} else if(where == "centerpage") {
					if(jQuery(".class-centerpage, .class-schwerpunkt").length > 0) show = true;
				} else if(where == "artikel") {
					if(document.getElementById("id-article")) show = true;
				} else {
					show = false;
				}
			} else {
				show = true;
			}
			if(show) {
				if( !jQuery.cookie(name) ) {
					jQuery.cookie(name, 1, {expires: expiredays});
					openme(zielurl,breite,hoehe,pos,popupname,scroll_value,popunder);
				} else {
					myvalue = parseInt(jQuery.cookie(name));
					if(myvalue < times) {
						newvalue = myvalue+1;
						jQuery.cookie(name, newvalue, {expires: expiredays});
						openme(zielurl,breite,hoehe,pos,popupname,scroll_value,popunder);
					}
				}
			}
		},
		
		openme: function(zielurl, breite, hoehe, pos, name, scroll_value, popunder) {
			scroll_value = scroll_value == "yes" ? "yes" : "no";
			if (pos == "middle") {
				links = (screen.width - breite) /2;
				oben = 20;
			} else if (pos == "right") {
				links = screen.width;
				oben = 0;
			} else {
				links =  (screen.width - breite) /2 + 55;
				oben = (screen.height - hoehe) /2 - 16;
			}
			if (zielurl.indexOf(".mov") != -1 || zielurl.indexOf(".mp3") != -1) {
				hoehe = hoehe + 80;
				breite = breite;
				ziel = zielurl.indexOf("apollo.zeit.de/redirects/cc") != -1 ? zielurl.replace(/cc/,"play_mm")+"&height="+hoehe+"&width="+breite : "http://apollo.zeit.de/redirects/play_mm.php?to="+zielurl+"&height="+hoehe+"&width="+breite;
			} else {
				ziel = zielurl;
			}
			picwin=window.open(ziel,name,"toolbar=no,location=no,directories=no,status=no,menubar=no,scrollbars="+ scroll_value + ",resizable=yes,copyhistory=no,height=" + hoehe + ",width=" + breite + ",left=" + links +",top=" + oben +"");
			if(popunder==1) {
				if(picwin) {
					picwin.blur();
					window.focus();
				}
			}
			if(!popunder) {
				if(picwin) picwin.focus();      
			}
		},
		
		open_mp3: function(uri_params) {
			var whole_uri="http://audio.zeit.de/cgi-bin/mp3_popup.pl?"+uri_params;
			var pop_name="AudioPopup";
			var scroll_value = "no";
			var hoehe = 100;
			var breite = 220;
			var links = (screen.width - breite) /2;
			var oben = (screen.height - hoehe) /2;
			picwin=window.open(whole_uri,pop_name,"toolbar=no,location=no,directories=no,status=no,menubar=no,scrollbars=no,resizable=no,copyhistory=no,height=" + hoehe + ",width=" + breite + ",left=" + links +",top=" + oben +"");
		picwin.focus();
		},
		
		/* Place Comments in Content */
		placeComments: function() {
			if(document.getElementById("place_comments_here")) {
				var loc = jQuery("#place_comments_here").attr("name");
				jQuery("#place_comments_here").append(jQuery('<script type="text/javascript" charset="utf-8" src="http://hades.zeit.de/myfeeds/feedmeright.php?q='+loc+'"></script>'));
			}
		},
		
		bgSlider:function(max,obj,direction, ivw) {
			if(undefined===this[obj].current) {
				this[obj].current = 1;
			}
			var i = null			
			if(direction == "forward") i = this[obj].current + 1;
			else if(direction=="back") i = this[obj].current - 1;
			else i = direction
			
			if(i>max) i = 1;
			else if(i<1) i = max;
			
			this[obj].current = i;
			var name = "#"+obj;
			jQuery(name+"_div").hide();
			jQuery(name+"_img").attr("src", this[obj][i].img);
			jQuery(name+"_img").attr("title",this[obj][i].title);
			jQuery(name+"_bu").html(this[obj][i].bu);
			var bl = this[obj][i].byline;
			if("" != this[obj][i].bylink) {
				bl = jQuery('<a href="http://www.zeit.de/'+this[obj][i].bylink+'" class="external" target="_blank">'+this[obj][i].byline+'</a>');
			}
			jQuery(name+"_byline").html(bl);			
			jQuery(name+"_div").show();
			jQuery('#'+obj+' a.turntable-number').css('font-weight','400');
			jQuery('#' + obj + ' a.tt_' + this[obj].current).css('font-weight','700');
			ZEIT.logIVW(ivw);
 			ZEIT.logWebtrekk('bgSlider');
		},
		
		/* the new slideshow */
		slider: function(max, obj, direction) {
			if(undefined===this[obj].start) {
				this[obj].start = 1;
			}
			this[obj].start = this.sliderNext(max, this[obj].start, direction);
			jQuery('#'+obj+' a.turntable-number').css('font-weight','400');
			this.sliderShow(this[obj], obj);
			jQuery('#' + obj + ' a.tt_' + this[obj].start).css('font-weight','700');
			if(obj.search(/exklusiv/) == -1) {
				//nicht exklusivbox
				ZEIT.logIVW(obj);
				ZEIT.logWebtrekk(obj);
			}
		},
		
		logWebtrekk: function(mode) {
			var wt_kennung = false;
			if(mode.search(/video/) > -1) {
				wt_kennung = window.Z_WT_KENNUNG.replace(/\.centerpage\./g, '.videobox.');
			} else if(mode.search(/magazin/) > -1) {
				wt_kennung = window.Z_WT_KENNUNG.replace(/\.centerpage\./g, '.drehscheibe.');
			} else if(mode.search(/bgSlider/) > -1) {
				wt_kennung = window.Z_WT_KENNUNG.replace(/\.article\./g, '.bigaaufmacher.');
			} else if(mode.search(/infobox/) > -1) {
				wt_kennung = window.Z_WT_KENNUNG.replace(/\.article\./g, '.infobox.');
			}
			if(wt_kennung != false) {
				var wt_px = '<img alt="" height="1" src="http://zeit01.webtrekk.net/981949533494636/wt.pl?p=205,'+wt_kennung+'&amp;ov=&amp;cr=&amp;oi=&amp;ba=&amp;co=&amp;qn=&amp;ca=&amp;pi=&amp;st=&amp;cd=&amp;cg=&amp;zeit='+ZEIT.throwDice()+'" width="1"/>';
				jQuery("#wrapper").append(jQuery(wt_px))
			}
		},
		
		logIVW: function(id,name) {
			if("" != window.Z_IVW_RESSORT) {
				var IVWtext="http://zeitonl.ivwbox.de/cgi-bin/ivw/CP/"+window.Z_IVW_RESSORT+";";
				var ivw = "<img src=http://www.zeit.de/""+IVWtext+"?r="+escape(document.referrer)+"&amp;d="+(Math.random()*100000)+"\" width=\"1\" height=\"1\" class=\"ivw-ajax-pixel\" />";
				jQuery("#wrapper").append(jQuery(ivw));
			}
		},
		
		getQuery: function(query) {
			if(query!='') {
				var parms = query.split('&');
				return ZEIT.splitQuery(parms, "=");
			}
			return false;
		},
		
		splitQuery: function(parms, splitchar) {
			var qsParm = {};
			for (var i=0; i<parms.length; i++) {
				var pos = parms[i].indexOf(splitchar);
				if (pos > 0) {
					var key = parms[i].substring(0,pos);
					var val = parms[i].substring(pos+1);
					qsParm[key] = val;
				}
			}
			return qsParm;
		},
		
		sliderNext: function(max,start,direction) {
			if(direction=='forward') {
				direction = start+3 < max ? start+3 : 1;
			} else if(direction=='back') {
				direction = start-3 < 1 ? max-2 : start-3;
			}
			return direction;
		},
		
		sliderShow: function(obj, id) {
			var name = "#"+id+" .dia";
			var x = 1;
			for(var i=obj.start; i<obj.start+3; i++) {
				jQuery(name+x).hide();
				jQuery(name+x+" a").attr("href", obj[i].href);
				jQuery(name+x+" a").attr("title", obj[i].title+' - '+obj[i].text);
				jQuery(name+x+" img").attr("src", obj[i].img).attr("title","").attr("alt","");
				jQuery(name+x+" h3 a").html(obj[i].title);
				jQuery(name+x+" p a").html("").html(obj[i].text);
				jQuery(name+x).show();
				x++;
			}
		},
		
		submitform: function(myform) {
			var theform = eval("document." + myform);
			theform.submit();
		},
		
		imagediv: function(img, type) {
			if(type!==true) type=false;
			if(!ZEIT.isMobile()) {
				var w = jQuery(img).width();
			} else {
				var w = jQuery("#content .inner").width() || "100%";
			}
			if(!type) {
				jQuery(img).parent().css("width", w);
			} else {
				jQuery(img).parent().parent().css("width", w);
			}
		},
		
		throwDice: function() {
			return Math.random()*10000000000000000;
		}
		

	}

}();

/*
*
* "old" zeit.de functions, wrapped into namespaced functions
* to keep up the smile and to pollute the window namespace anyway...
*
*/
openme = function(zielurl, breite, hoehe, pos, name, scroll_value, popunder) { ZEIT.openme(zielurl, breite, hoehe, pos, name, scroll_value, popunder); };
open_mp3 = function(uri_params) { ZEIT.open_mp3(uri_params); };
openPopUpFriendly = function(name, expiredays, times, zielurl, popupname, breite, hoehe, scroll_value, pos, where, popunder) { ZEIT.openPopUpFriendly(name, expiredays, times, zielurl, popupname, breite, hoehe, scroll_value, pos, where, popunder); };
popunder = function(zielurl,breite,hoehe,pos,name,scroll_value) { ZEIT.openme(zielurl, breite, hoehe, pos, name, scroll_value, 1); };
submitform = function(myform) { ZEIT.submitform(myform); };
toggleTable = function(id) { jQuery('#'.id).toggleTable(); };

/* Callbackfunktion für Ajax-Comments */
ws_results = function(json) {
	var loc = jQuery("#place_comments_here").attr("name");
	if(json) {
		/* building up header and div to place comments in */
		var h2title = jQuery('.articletext h2:first').text();
		var h2text = json.comments_count > 0 ? "Leser-Kommentare ("+ json.comments_count +")" : "Leser-Kommentare";
		var header = jQuery('<h2><a href="http://kommentare.zeit.de/commentsection/url'+loc+'" title="Leser-Kommentare zu &raquo;'+h2title+'&laquo;">'+h2text+' &raquo;</a></h2>');
		var container = jQuery('<div class="innercomments"></div>');
		jQuery("#place_comments_here").append(jQuery(header)).append(jQuery(container));
		/* if there are comments, show 3 of them */
		if(json.items.length > 0) {
			for(var index=0; index<3; index++) {
				if(undefined !== json.items[index]) {
					var thetitle = json.items[index].title || "";
					var p = jQuery('<div class="clearfix"><h3><a href="http://www.zeit.de/'+json.items[index].link+'"><img class="user_image" src="http://www.zeit.de/'+json.items[index].user_image+'" /><cite>Von '+json.items[index].dc.creator+':</cite> '+thetitle+'</a></h3><p>'+json.items[index].summary+' <a href="http://www.zeit.de/'+json.items[index].link+'">[&hellip;]&raquo;</a></p></div>');
					jQuery(container).append(jQuery(p));
				}
			}
		} else {
			jQuery(container).append(jQuery("<p>Noch keine Kommentare. Er&ouml;ffnen Sie die Diskussion!</p>"));
		}
	}
};

/*
*
*	jQuery-Plugins and Extensions
*
*/
(function(jQuery){
	
	/*
	*	jQuery-Plugin: infoBox
	*	jQuery(this).infoBox();
	*/
	jQuery.fn.infoBox = function(settings) {
		
		settings = jQuery.extend({}, settings);
		
		jQuery.fn.infoBoxEvent = function() {
			jQuery(this).removeClass("hover active last tabs-hover");
			jQuery("dl", InfoBoxen).children(':visible').hide();
			jQuery("dd." + jQuery(this).attr("class"), InfoBoxen).show();
			jQuery(this).siblings().removeClass("hover active");
			jQuery(this).addClass("active");
			ZEIT.logIVW();
			ZEIT.logWebtrekk("infobox");
		};
		
		jQuery.fn.infoboxMakeNavi = function () {
			var node = jQuery('<ul class="boxnavi"></ul>');
			var last = jQuery("dt" ,this).last();
			jQuery("dt" ,this).each(function(index) {
				var myli = jQuery('<li></li>').html(jQuery(this).html()).hover(function() {
					jQuery(this).addClass("hover");
				}, function() {
					jQuery(this).removeClass("hover");
				}).click(function() {
					jQuery(this).infoBoxEvent();
				}).hover(function(){
					jQuery(this).css("cursor", "pointer");
				}, function(){}).addClass("pos"+index).addClass(index==0 ? "active" : "").appendTo(node);
				jQuery(this).hide();
			});
			jQuery(this).children(".infoboxnavi").append(node);
			jQuery("dd", this).each(function(index) {
				jQuery(this).addClass("pos"+index);
				if(index != 0) jQuery(this).css("display", "none");
			});
		};
		
		var InfoBoxen = this;
		
		return InfoBoxen.each( function() {
			jQuery(this).show();
			jQuery(this).infoboxMakeNavi();
		});
		
	};
	
	/*
	*	jQuery-Plugin: makeSearch
	*	jQuery(this).makeSearch()
	*/
	jQuery.fn.makeSearch = function(settings) {
		
		settings = jQuery.extend({}, settings);
		
		jQuery.fn.servicesubmit = function() {
			var sendval = escape(jQuery.trim(jQuery("input[type='text']", this).val()));
			var type = jQuery(this).attr("id")=="wetterform" ? "wetter" : "";
			if(type=="wetter") {
				if(sendval != "" && sendval != "Stadtname") {
					var wetterwin = window.open(jQuery(this).attr("action")+"?"+"aoStadt="+sendval, 'Wettervorhersage', 'width=425,height=211,resizable=no,menubar=no,scrollbars=no');
					wetterwin.focus();
				} else {
					alert("Bitte Stadt eingeben.");
				}
			} else {
				if(sendval != "" && sendval != "Name/WKN") {
					jQuery("input[type='text']", this).val(sendval);
					jQuery(this).submit();
				} else {
					alert("Bitte Name oder WKN eingeben.");
				}
			}
			return false;
		};
		
		var me = this;
		
		return this.each( function() {
			var that = this;
			jQuery("input[type='submit']", this).hide().next("a").show().attr("href", "").click( function() {
				jQuery(that).servicesubmit();
				return false;
			});
			jQuery("input[type='text']", this).focus( function() {
				jQuery(this).val("");
			});
			
		});
		
	};
	
	/*
	*	jQuery-Plugin: tabBox
	*	jQuery(this).tabBox()
	*/
	jQuery.fn.tabBox = function(settings) {
		
		settings = jQuery.extend({}, settings);
		
		jQuery.fn.tabs = function() {
			jQuery("li", this).hover(function() { 
				jQuery(this).addClass('tabs-hover');  
			}, function() { 
				jQuery(this).removeClass('tabs-hover');
			}).each(function(index){
				jQuery(this).click(function() {
					var mycontent = jQuery(this).parent().parent().children("div.boxcontent");
					jQuery(this).parent().children().removeClass('active');
					jQuery(mycontent).children().hide();
					jQuery(mycontent).children(":eq("+index+")").show();
					jQuery(this).addClass('active');
				});
		    });
		};

		var TabBoxen = this;
		
		return TabBoxen.each( function(index) {
			
			if(jQuery("ul.boxnavi", this).length > 0) {
				if(jQuery("ul.boxnavi", this).children().size() <= 1) {
					/* delete empty navlists (from xslt-bug), if any */
					jQuery("ul.boxnavi", this).remove();
				} else {
					//jQuery('.boxcontent', this).children(":gt(0)").not(jQuery('.ugc_content')).css("display", "none");
					jQuery("ul.boxnavi", this).tabs();
				}
			}
		});
		
	};
	
	/*
	*	jQuery-Plugin: yahooSearch
	*	jQuery(this).yahooSearch();
	*/
	jQuery.fn.yahooSearch = function(settings) {
		
		settings = jQuery.extend({}, settings);
		var me = jQuery("form", this);
		
		return this.each( function() {
			if(!ZEIT.isMobile()) {
				jQuery("form input[type='submit']", this).hide();
				jQuery("form a.search_button", this).show();
				jQuery("form input[type='text']", this).focus(function(){
					jQuery(this).val("");
				});
				jQuery("form a.search_button", this).attr("href", "").click(function() {
					jQuery(me).submit();
					return false;
				});
			}

		});
		
	};
	
	/*
	*	jQuery-Plugin: zeitMenue
	*	jQuery(this).zeitMenue()
	*/
	jQuery.fn.zeitMenue = function(settings) {
		
		settings = jQuery.extend({}, settings);
		
		var me = this;
		
		return this.each( function() {
			jQuery("a", this).attr("title", "");
			jQuery("a.home", this).attr("title", "Zur Startseite von ZEIT ONLINE");
			jQuery("ul li", this).hover(function(){
					jQuery("ul", this).show();
			}, function(){
					jQuery("ul", this).hide();
			});
		    if (jQuery.browser.msie) {
		        jQuery("#header #mainnav ul li").hoverClass("sfHover");
		    };
			jQuery("#menueleiste a").subNavi();
			jQuery("a.target_blank").targetBlank();
		});
		
	};

	
	/* 
	* extending the jQuery functions array with jQuery-related functions
	*/
	jQuery.fn.extend({
		
		authorlist: function() {
			return this.each( function(index) {
				if( window.location.href.search(/\/autoren\/index/) > -1) {
					jQuery(this).children().eq(0).children("a").addClass("active");
				}

				jQuery("li a", this).each( function() {
					if(jQuery(this).attr("href")==window.location.href) {
						jQuery(this).addClass("active");
					}
					
				})
			});
		},
		
		bereichsnavi: function() {
			return this.each( function() {
				jQuery("li a", this).each( function() {
					if(jQuery(this).attr("href")==window.location.href) {
						jQuery(this).parent().addClass("active");
					} else if (jQuery(this).attr("href") == "http://www.zeitmagazin.de" && window.location.href.search(/ZEITmagazin/) > 0) {
						jQuery(this).parent().addClass("active");
					}
				})
			});
		},
		
		bigaPreview: function() {
			return this.each( function() {
				var high = Math.max(jQuery("img", this)[0].height, Math.max(jQuery("img", this)[1].height, jQuery("img", this)[2].height));
				var low = Math.min(jQuery("img", this)[0].height, Math.min(jQuery("img", this)[1].height, jQuery("img", this)[2].height));
				if(high != low) {
					jQuery("li", this).each(function(){
						jQuery(this).width(130).height(low).css("overflow", "hidden");
					});
				}
			});
		},

		externalLinks: function() {
			return this.each( function() {
				if(jQuery(this).attr("href") != undefined && jQuery(this).attr("href").search(/http:\/\/(.*).zeit.de/) == -1) {
					if(jQuery(this).attr("href").search(/http:\/\//) > -1) {
						if(!jQuery.browser.msie) {
							jQuery(this).addClass("external");
						} else {
							var mimg = document.createElement("img");
							jQuery(mimg).attr("src", "http://images.zeit.de/bilder/site07/elements/arrows/linkpfeil.gif");
							jQuery(mimg).insertAfter(jQuery(this));
							jQuery(mimg).css("display", "inline");
							jQuery(mimg).css("padding-left", "3px");
							jQuery(mimg).css("margin-top", "5px");
							jQuery(mimg).css("margin-bottom", "4px");
							jQuery(mimg).css("vertical-align", "middle");
						}
					}
				}
			});
		},
		
		extendSearch: function() {
			
			jQuery("input").focus(function(){
				jQuery(this).select();
			});
			
			return this.each( function() {
				// first let's collect the queries
				var querystring = unescape(window.location.search.substring(1));
				var queries = ZEIT.getQuery(querystring);
				var cleanquery = "";
				// now let's check "q"
				if(queries.q) {
					if(queries['q'].search(/:/) > -1) {
						queries.q = queries['q'].replace(':+', ":").replace(/\+/g, " ");
						if(queries['q'].search(" ") > -1) {
							var splits = queries['q'].split(" ");
						
							for(var i=0; i < splits.length; i++) {
								if(splits[i].search(":") == -1) {
									if(i>0) cleanquery = cleanquery+"+";
									cleanquery = cleanquery+splits[i];								
								}
							}
						
						} else {
							cleanquery = queries.q;
						}
					
					} else {
						cleanquery = queries.q;
					}
				}
				// ok, we have all params
				
				var d = new Date();
				var t = d.getTime()/1000;
				var heuteyear = d.getYear()+1900;
				var d30 = new Date((t-(30*24*60*60))*1000);
				var d7  = new Date((t-(7*24*60*60))*1000);
				var dzulu = d.toISO8601String(5);
				var d30zulu = d30.toISO8601String(5);
				var d7zulu = d7.toISO8601String(5);
				var loc = "http://"+window.location.hostname+window.location.pathname;
				jQuery("li#se_zeitraum a.se_gesamt").attr("href", loc+"?q="+cleanquery+"&zeitraum=all&modus=se_gesamt");
				jQuery("li#se_zeitraum a.se_30").attr("href", loc+"?q="+cleanquery+"&zeitraum="+d30zulu+"&modus=se_30");
				jQuery("li#se_zeitraum a.se_7").attr("href", loc+"?q="+cleanquery+"&zeitraum="+d7zulu+"&modus=se_7");
				jQuery("li#se_zeitraum a.se_1946").attr("href", loc+"?q="+cleanquery+"+zeitraum:1946-1975&modus=se_1946");
				jQuery("li#se_zeitraum a.se_1976").attr("href", loc+"?q="+cleanquery+"+zeitraum:1976-1990&modus=se_1976");
				jQuery("li#se_zeitraum a.se_1990").attr("href", loc+"?q="+cleanquery+"+zeitraum:1990-"+heuteyear+"&modus=se_1990");
				jQuery("ul#se_ressort li a").each(function(){
					var ref = escape(jQuery(this).attr("className"));
					jQuery(this).attr("href", loc+"?q="+cleanquery+"+rubrik:"+ref+"&modus="+ref);
				});
				if(queries.modus) {
					jQuery("ul#se li a."+queries.modus).addClass("activated");
				} else {
					jQuery("ul#se li a.se_gesamt").addClass("activated");
				}
				if(queries.q) {
					jQuery(".cpformular").css("border", "none");
					jQuery(".seitenschalter_unten").css("border-bottom", "none");
					jQuery("div#searchextensions").show();
				} else {
					jQuery("#content .box_").css("height","800px");

				}
				
				jQuery("a#showhelp").toggle( function() {
					jQuery("#searchhelp").show();
					jQuery(this).html("Hilfe verbergen &raquo;");
					return false;
				}, function(){
					jQuery("#searchhelp").hide();
					jQuery(this).html("hier erfahren sie mehr &raquo;");
					return false;
				});
				
				jQuery(".extendmysearch").show().click( function() {
					var myval = jQuery("#newform_input1").val() != '' ? jQuery("#newform_input1").val() : "Suchbegriff hier eingeben";
					jQuery("#newform_input1").val("");
					jQuery("input.ft_begriff").val(myval);
					jQuery(".formzeile1, .formzeile2").hide();
					jQuery("#content .extended_search").slideDown("slow");
					return false;
				});
				
				jQuery("a.add_begriff_add").click( function() {
					var cp = jQuery("#hidden_add_begriffe").children().clone(true);
					jQuery("#fs_add_begriffe").append(cp);
				});
				
				jQuery("form#searchform").submit( function(){
					if(jQuery(".extended_search").css("display") == "block") {
						jQuery("button.ex_send").click();
						return false;
					} else {
						return true;
					}
				} );
				
				jQuery("#searchform, #searchform input").keypress(function (e) {
					if (e.which == 13) {
						if(jQuery(".extended_search").css("display") == "block") {
							jQuery("#searchform").extendSearchSubmit();
							return false;
						} else {
							return true;
						}
					}
				});

				jQuery("button.ex_send").click( function() {
					jQuery("#searchform").extendSearchSubmit();
					return false;
				});
				
			});
		},
		
		extendSearchSubmit: function() {
			var loc = "http://"+window.location.hostname+window.location.pathname;
			var zraum = false;
			//buildQuery
			if(jQuery("input.ft_begriff").val() != '') {
				var term = jQuery("input.ft_begriff").val();
				jQuery("#fs_add_begriffe .add_begriffe").each( function(){
					var adder = jQuery("select.bools", this).val();
					if(jQuery("input.inp_add_begriff", this).val() != '') {
						term = term +  " " + adder + " " + jQuery("input.inp_add_begriff", this).val();
					}
				});
				if(jQuery("input.ft_title").val() != '') {
					term = term + " " + "titel:" + jQuery("input.ft_title").val();
				}
				if(jQuery("select.finetune_select").val() != 0) {
					term = term + " " + "rubrik:" + jQuery("select.finetune_select").val();
				}
				if(jQuery("input.ft_author").val() != '') {
					term = term + " " + "autor:" + jQuery("input.ft_author").val();
				}
				if(jQuery("input.ft_year").val() != '') {
					term = term + " " + "jahr:" + jQuery("input.ft_year").val();
				}
				if(jQuery("input.ft_number").val() != '') {
					term = term + " " + "ausgabe:" + jQuery("input.ft_number").val();
				}
				if(jQuery("input.ft_bis").val() != '') {
					if(jQuery("input.ft_von").val() == "") {
						jQuery("input.ft_von").val(1946);
					}
					term = term + " " + "zeitraum:" + jQuery("input.ft_von").val() + "-" + jQuery("input.ft_bis").val();
					zraum = true;
				}
				term = term.replace(/\s+/g, '+');
				sort = jQuery("p.ft_sort input:checked").val();
				var ref = loc+"?q="+term+"&sort="+sort;
				if(!zraum) ref = ref+"&zeitraum=all";
				
				window.location.href=ref;
				
				return false;
				
			} else {
				
				return false;
			}
		},
		
		first: function() { return this.eq(0) },
		
		/* dynamic placement of gallery navigation */
		makeGalleryNav: function(pos) {
			return this.each( function() {
				if (jQuery("a", this).length > 21 ) {
					var links = jQuery("a", this);
					var diff = links.size() - 19;
					if ( pos < 21 - diff) {
						// darstellung ... hinten
						for(var i = 0; i < diff-1; i++) {
							if (i==0) {
								jQuery(links[20 - i]).replaceWith('<span>&hellip;</span>');
							} else {
								jQuery(links[20 - i]).remove();
							}
						}
					} else {
						// darstelllung ... vorne
						for(var i = 0; i < diff; i++) {
							if (i==0) {
								jQuery(links[1 + i]).replaceWith('<span>&hellip;</span>');
							} else {
								jQuery(links[1 + i]).remove();
							}
						}
					}
				}
			});
		},
		
		/* Galerie-Vorschau-Leiste */
		makeGalleryPreview: function(pos) {
			if(jQuery.browser.msie && jQuery.browser.version.substr(0,1) == 6) {
				jQuery(this).height(70);
			}
			jQuery("img", this).fadeTo("slow", 0.5).hover(function () {
				jQuery(this).fadeTo("fast", 1);
			}, function () {
				jQuery(this).fadeTo("fast", 0.5);
			});
			jQuery("a", this).each(function(index) {
				if(pos == index + 1) { 
					jQuery(this).css("background", "red");
				}
			});
			var nw = 0;
			jQuery("img", this).each(function(i) {
				nw = nw + 8 + jQuery(this).width();
			});
			if(nw > 754) {
				jQuery("div.ginner", this).width(nw+5);
			} else {
				nw = 756;
				jQuery(this).css("background", "transparent url(http://images.zeit.de/bilder/site07/site08/doppellinie_bebeb6.gif) repeat-x 0 bottom");
				jQuery(this).height(55);
				jQuery("div.ginner", this).width(nw);
			}
		},
		
		/* do more links , but not for google */
		makeSeoTeaser: function() {
			return this.each(function() {
				if(!jQuery(this).hasClass("kurzteaser") && !jQuery(this).parent().hasClass("zuender")) {
					// falsch genutztes javascript-Pseudeoprotokoll abfangen
					var set = {
						href: jQuery("h2:first a", this).attr("href") || jQuery("h3:first a", this).attr("href"),
						className: jQuery("h2:first a", this).attr("class") || jQuery("h3:first a", this).attr("class") || "",
						name: jQuery("h2:first a", this).attr("name") || jQuery("h3:first a", this).attr("name")|| "",
						title: jQuery("h2:first a", this).attr("title") || jQuery("h3:first a", this).attr("title") || ""
					};
					if(undefined !== set.href) {
						var p = jQuery(this).parent();
						jQuery("img:first", p).makeSeoClickable(set);
						jQuery(".teasertext p", this).makeSeoLink(set);
					} 
				}
			});
		},
		
		makeSeoLink: function(set) {
			return this.each(function() {
				if(jQuery("a", this).size() < 1 && !jQuery.browser.opera) {
					var myname = set['name'].substring(0, set['name'].lastIndexOf(".")) + '.text';
					jQuery(this).append('<a href="http://www.zeit.de/'%20+%20set.href%20+%20'" class="' + set.className + '" name="' + myname + '.text">&nbsp;[&hellip;] &raquo;</a>');
				}
			});
		},
		
		makeSeoClickable: function(set) {
			return this.each(function() {
				if(!jQuery.browser.opera) {
					var myname = set['name'].substring(0, set['name'].lastIndexOf(".")) + '.bild';
					var _this = jQuery(this);
					// fehlerhaftes Bild-Popup und javascript-Pseudo-Protokoll entfernen
					if(_this.parent("a").size() > 0) {
						_this.parent("a").attr("href", "");
						_this.parent("a").click(function(){
							return false;
						});
					}
					_this.attr("title", set.title)
					.attr("name", myname)
					.hover(function() {
						jQuery(this).css("cursor", "pointer");
						if(set.className == "target_blank") {
							window.status = "Neues Fenster: " + set.href;
						} else {
							window.status = set.href;
						}
					}, function() {
						window.status = "";
					})
					.click(function(){
						if(set.className == "target_blank") {
							window.open(set.href);
						} else {
							window.location.href = set.href;
						}
					});
				}
			});
		},
		
		getTextSize: function() { /* return integer font-size */
			return Number(jQuery(this).css("font-size").replace("px", ""));
		},
		
		/* change class on tab hovering */
		hoverClass: function(c) {
		    return this.each(function(){
		        jQuery(this).hover( 
		            function() { jQuery(this).addClass("sfHover");  },
		            function() { jQuery(this).removeClass(c); }
		        );
		    });
		},
		
		last: function() { return this.eq(this.size() - 1) },
		
		quiz: function() {
			return this.each(function(){
				var buttons = {
					weiter: jQuery('<img src="http://images.zeit.de/bilder/site07/site08/quiz/weiter-126.gif" alt="" />'),
					weiterHover: jQuery('<img src="http://images.zeit.de/bilder/site07/site08/quiz/weiter-over.gif" alt="" />'),
					weiterClick: jQuery('<img src="http://images.zeit.de/bilder/site07/site08/quiz/weiter-down.gif" alt="" />'),
					neu: jQuery('<img src="http://images.zeit.de/bilder/site07/site08/quiz/neu-beginnen-126.gif" alt="" />'),
					neuHover: jQuery('<img src="http://images.zeit.de/bilder/site07/site08/quiz/neu-beginnen-over.gif" alt="" />'),
					neuClick: jQuery('<img src="http://images.zeit.de/bilder/site07/site08/quiz/neu-beginnen-down.gif" alt="" />'),
					versenden: jQuery('<img src="http://images.zeit.de/bilder/site07/site08/quiz/versenden-126.gif" alt="" />'),
					versendenHover: jQuery('<img src="http://images.zeit.de/bilder/site07/site08/quiz/versenden-over.gif" alt="" />'),
					versendenClick: jQuery('<img src="http://images.zeit.de/bilder/site07/site08/quiz/versenden-down.gif" alt="" />')
				}
				
				var send = false;
				
				jQuery("input#neu").hover(function() {
					jQuery(this).attr("src","http://images.zeit.de/bilder/site07/site08/quiz/neu-beginnen-over.gif");
				}, function(){
					jQuery(this).attr("src","http://images.zeit.de/bilder/site07/site08/quiz/neu-beginnen-126.gif");
				}).mousedown(function(){
					jQuery(this).attr("src","http://images.zeit.de/bilder/site07/site08/quiz/neu-beginnen-down.gif");
					send = true;
				});
				
				jQuery("input#weiter").hover(function() {
					jQuery(this).attr("src","http://images.zeit.de/bilder/site07/site08/quiz/weiter-over.gif");
				}, function(){
					jQuery(this).attr("src","http://images.zeit.de/bilder/site07/site08/quiz/weiter-126.gif");
				}).mousedown(function() {
					jQuery(this).attr("src","http://images.zeit.de/bilder/site07/site08/quiz/weiter-down.gif");
					send = true;
				}).click(function() {
					if(jQuery(".quizform input:checked").size() < 1) {
						alert("Bitte suchen Sie eine Option aus");
						return false;
					}
				});
				
				jQuery("input#versenden").hover(function() {
					jQuery(this).attr("src","http://images.zeit.de/bilder/site07/site08/quiz/versenden-over.gif");
				}, function() {
					jQuery(this).attr("src","http://images.zeit.de/bilder/site07/site08/quiz/versenden-126.gif");
				}).mousedown(function() {
					jQuery(this).attr("src","http://images.zeit.de/bilder/site07/site08/quiz/versenden-down.gif");
					send = true;
				});
				
				jQuery(this).submit(function() {
					if(send) {
						return true;
					} else {
						return false;
					}
				});
				
			});
		},

		repairArticleImage: function() {
			return this.each( function() {
				var mywidth = jQuery("img", this)[0].clientWidth;
				//if(mywidth < 11 || mywidth > 300) jQuery(this).removeClass().addClass("image_center");
			});
		},

		showEBMLink: function() {
			return this.hover(function() {
				jQuery("#bm_infotext").append(jQuery(this).attr("title"));
			}, function() {
				jQuery("#bm_infotext").empty();
			});
		},
		
		/* Mark Subnavigational Links when active */
		subNavi: function() {
			return this.each( function() {
				var h = jQuery(this).attr("href");
				if(h.search(/zeit\.de/) > 0) {
					if(document.location.href==jQuery(this).attr("href")) {
						jQuery(this).addClass("active");
					}
				}
			});
		},
		
		targetBlank: function() {
			jQuery(this).click( function(event) {
				if (event.shiftKey || event.altKey || event.ctrlKey || event.metaKey) {
					return true;
				} else {
					var newWindow = window.open(jQuery(this).attr('href'), '_blank');
					if (newWindow) {
						if (newWindow.focus) {
							newWindow.focus();
						}
						return false;
					}
					return true;
				}				
			});
		},
		
		textBigger: function() {
			return this.attr("href", "javascript:void(0)").bind('click.textSmaller', function() {
				var mysize = jQuery("div.articlebody ").getTextSize();
				if(mysize < 20) {
					jQuery("div.articlebody").css("font-size", mysize+1)
				}
			});
		},		
		
		textSmaller: function() { /*  */
			return this.attr("href", "javascript:void(0)").bind('click.textBigger', function() {
				var mysize = jQuery("div.articlebody ").getTextSize();
				if(mysize > 9) {
					jQuery("div.articlebody").css("font-size", mysize-1)
				}
			});
		},
		
		textStandard: function() {
			return this.attr("href", "javascript:void(0)").bind('click.textStandard', function() {
				jQuery("div.articlebody").css("font-size", 12);
			});
		},
		
		toggleTable: function() {
			var display = jQuery(this).css("display") == 'none' ? "block" : "none";
			return this.css("display", display);
		}
		
	});
	
})(jQuery);


/**
*
* External Plugin: jQuery Cookie
*
*/
jQuery.cookie=function(_1,_2,_3){
	if(typeof _2!="undefined"){
		_3=_3||{};
		var _4="";
		if(_3.expires&&(typeof _3.expires=="number"||_3.expires.toGMTString)){
			var _5;
			if(typeof _3.expires=="number"){
				_5=new Date();
				_5.setTime(_5.getTime()+(_3.expires*24*60*60*1000));
			}else{
				_5=_3.expires;
			}
			_4="; expires="+_5.toGMTString();
		}
		var _6=_3.path?"; path="+_3.path:"";
		var _7=_3.domain?"; domain="+_3.domain:"";
		var _8=_3.secure?"; secure":"";
		document.cookie=[_1,"=",encodeURIComponent(_2),_4,_6,_7,_8].join("");
	}else{
		var _9=null;
		if(document.cookie&&document.cookie!=""){
			var _a=document.cookie.split(";");
			for(var i=0;i<_a.length;i++){
				var _c=jQuery.trim(_a[i]);
				if(_c.substring(0,_1.length+1)==(_1+"=")){
					_9=decodeURIComponent(_c.substring(_1.length+1));
					break;
				}
			}
		}
		return _9;
	}
};

/*
*
* Init and startscripts
*
*/

initGallery = function() {
	var req = window.location.search.replace("?", "");
	if (!req) {
		req = 1;
	}
	req = Number(req);
	// Navigationsanpassung
	jQuery(".gn-middle").makeGalleryNav(req);
	// Bildbreitenanpassung
	var imgwidth = jQuery(".img_container img").width();
	if (imgwidth == "undefined" || imgwidth < 100) {
		imgwidth = "100%";
	} else {
		imgwidth += "px"
	}
	jQuery("p.copyright, p.bu").css("width", imgwidth);
	// Galerie-Vorschau
	jQuery('.gallery-vorschau').makeGalleryPreview(req);
	ZEIT.placeComments();
};


click_list = function(my_item) {
	var list_items = document.getElementById("inneraudio").getElementsByTagName("li");
		for (var i=0; i<list_items.length; i++) {
			if(i == my_item) {
		 		list_items[i].className="audio_item_an";
		 	}
		 	else if(i != my_item){
		 		list_items[i].className="audio_item_aus";	
		 	}
		}	
}
		

function startAudio(mp3File, ivwTag, autoplay) {
	document.getElementById("audio_system").playAudio(mp3File, ivwTag, autoplay);
}


/*
* 
* real init scripts
*
*/
jQuery(document).ready(function() {
	jQuery("#mainnav").zeitMenue();
	jQuery("#searchbar").yahooSearch();
	if (jQuery("body.class-spielerahmen").size() < 1) {
		jQuery("#content div.teaser").makeSeoTeaser();
	}	
	jQuery('#box_service form').makeSearch();
	jQuery("ul.bereichsnavi").bereichsnavi();
	jQuery("ul.authorlist").authorlist();
	ZEIT.correctBrowser();
	ZEIT.activateMags();
	if(jQuery("#id-marktplatz").length > 0) ZEIT.marktplatzAddOns();
	if(document.getElementById("id-archiv") && document.getElementById("replace_leserbeitraege")) initThemenSeite();
	jQuery("#content .infobox").infoBox();
	jQuery("#searchextensions").extendSearch();
	jQuery(".quizform").quiz();
});

jQuery(window).load(function() {
	if(document.getElementById("id-article")) ZEIT.initArticles();
	jQuery("#sidebar .box").tabBox();
	if(jQuery(".class-bildergalerie").length > 0) initGallery();
	jQuery("#place_23 a").targetBlank();
	if(jQuery.browser.opera) {
		jQuery("#hintergrund_rechts").hide();
	}
});



