//Globale Variablen
var globalVideo = "";
var globalBreite = "";
var globalHoehe = "";
var globalExtra = "false";
var globalListe = "false";

//Browserermittlung
//wird eigentlich nicht mehr benoetigt
if(document.ids) {browser='nc4';}
else if( document.all && !document.getElementById ) {browser='ie4';}
else if( window.opera && !document.createElement ) {browser='op5';}
else if( window.opera && window.getComputedStyle )  {
	if(document.createRange) {browser='op8';}
	else if(window.navigate) {browser='op7.5';}
	else {browser='op7.2';}
}
else if( window.opera && document.compatMode ) {browser='op7';}
else if( window.opera && document.releaseEvents ) {browser='op6';}
else if( document.contains && !window.opera ) {browser='kq3';}
else if(window.pkcs11&&window.XML) {browser='f15';}
else if( window.getSelection && window.atob ) {browser='moz';}
else if( window.getSelection && !document.compatMode ) {browser='nn6';}
else if( window.clipboardData && document.compatMode ) {browser='ie6';}
else if( window.clipboardData ){
	browser='ie5';
	if( !document.createDocumentFragment ) {x+='.5';}
	if( document.doctype && !window.print ) {x+='m';}
}
else if( document.getElementById && !document.all ) {browser='op4';}
else if( document.images && !document.all ) {browser='nn3';}
else if(document.clientWidth&&!window.RegExp) {browser='kq2';}
else {browser='???';}

//Funktion fuer Scrollwerte (Array mit x,y- werten)
//Corecode - quirksmode.org
function getPageScroll(){
	var yScroll;
	if (self.pageYOffset) {
		yScroll = self.pageYOffset;
	} else if (document.documentElement && document.documentElement.scrollTop){	 
		//Explorer 6 Strict
		yScroll = document.documentElement.scrollTop;
	} else if (document.body) {
		//alle anderen Internet Explorer
		yScroll = document.body.scrollTop;
	}
	arrayPageScroll = new Array('',yScroll) 
	return arrayPageScroll;
}
//Funktion fuer Seitengroesse (Array mit page width, height und window width, height)
//Corecode - quirksmode.org
function getPageSize(){
	var xScroll, yScroll;	
	if (window.innerHeight && window.scrollMaxY) {	
		xScroll = document.body.scrollWidth;
		yScroll = window.innerHeight + window.scrollMaxY;
	} else if (document.body.scrollHeight > document.body.offsetHeight){ // all but Explorer Mac
		xScroll = document.body.scrollWidth;
		yScroll = document.body.scrollHeight;
	} else { 
		//Explorer Mac...wuerde auch in Explorer 6 Strict, Mozilla und Safari funktionieren
		xScroll = document.body.offsetWidth;
		yScroll = document.body.offsetHeight;
	}	
	var windowWidth, windowHeight;
	if (self.innerHeight) {	
		//alle Browser ausser Internet Explorer
		windowWidth = self.innerWidth;
		windowHeight = self.innerHeight;
	} else if (document.documentElement && document.documentElement.clientHeight) { 
		//Internet Explorer 6  im Strict Modus
		windowWidth = document.documentElement.clientWidth;
		windowHeight = document.documentElement.clientHeight;
	} else if (document.body) { 
		//andere Internet Explorer
		windowWidth = document.body.clientWidth;
		windowHeight = document.body.clientHeight;
	}		
	//fuer kleine Seiten mit einer kleineren Hoehe als der sichtbare Bereich
	if(yScroll < windowHeight){
		pageHeight = windowHeight;
	} else { 
		pageHeight = yScroll;
	}
	//fuer kleine Seiten mit einer totalen Breite kleiner als der sichtbare Bereich
	if(xScroll < windowWidth){	
		pageWidth = windowWidth;
	} else {
		pageWidth = xScroll;
	}
	arrayPageSize = new Array(pageWidth,pageHeight,windowWidth,windowHeight) 
	return arrayPageSize;
}
//Funktionen fuer Flashvideos auf einer Extraebene
function placeVideo(breite,hoehe){
	var arrayPageSize = getPageSize();
	var arrayPageScroll = getPageScroll();
	if(breite < 430){
		breite = 430;
	}
	document.getElementById("video").style.top = (arrayPageScroll[1] + ((arrayPageSize[3] - hoehe) / 2) + 'px');
	document.getElementById("video").style.left = (((arrayPageSize[0] - breite) / 2) + 'px');
	//setTimeout("placeVideo(" + breite + "," + hoehe + ")", 50);
}
function openVideo(video,breite,hoehe){
	globalVideo = video;
	globalBreite = breite;
	globalHoehe = hoehe;	
	globalExtra = "false";
	initVideo(video,breite,hoehe);
	var arrayPageSize = getPageSize();
	var arrayPageScroll = getPageScroll();
	document.getElementById("video").style.display = "block";
	document.getElementById("abdeckung").style.height = (arrayPageSize[1] + 'px');
	document.getElementById("abdeckung").style.width = ((arrayPageSize[0]-16) + 'px');
	document.getElementById("abdeckung").style.display = "block";	
	placeVideo(breite,hoehe);
}
function closeVideo(){
	document.getElementById("video").style.display = "none";
	document.getElementById("abdeckung").style.display = "none";
	miniEmpfehlen();
}

//Funktionen zur allgemeinen Darstellung einer Extra-Ebene
function openExtraebene(bereich){
	var breite = 430;
	var hoehe = 300;	
	var arrayPageSize = getPageSize();
	var arrayPageScroll = getPageScroll();
	globalExtra = "true";
	document.getElementById("abdeckung").style.height = (arrayPageSize[1] + 'px');
	document.getElementById("abdeckung").style.width = ((arrayPageSize[0]-16) + 'px');
	document.getElementById("abdeckung").style.display = "block";	
	document.getElementById("extraebene").style.display = "block";
	document.getElementById("extraebene").style.top = (arrayPageScroll[1] + ((arrayPageSize[3] - hoehe) / 2) + 'px');
	document.getElementById("extraebene").style.left = (((arrayPageSize[0] - breite) / 2) + 'px');
	if(bereich == "empfehlen"){
		initEmpfehlen('extraebene');
	} else if(bereich == "linktipp"){
		initLinktipp();
	} else if(bereich == "newsletter"){
		initNewsletter();
	} else if(bereich == "archiv"){
		initArchiv('');
	}
}
function closeExtraebene(){
	globalExtra == "false";
	document.getElementById("extraebene").style.display = "none";
	document.getElementById("abdeckung").style.display = "none";
}

//Funktion zur Darstellung des Archivs
function initArchiv(date){
	if(date != ""){
		date = "?date="+date;
	}
	var urlInsert = 'ajax_archiv.php'+date;
	var container = 'extraebene';
	new Ajax.Updater(container, urlInsert,{
		onComplete: function(transport) {}
	});
}

//Funktion zur Darstellung der letzten Ausgaben
function initListe(){
	if(globalListe == "false"){
		/*$('liste').update('<div style="padding:15px 9px;background:#2C5286 url(/bilder/styles/teddy/bg_news.jpg) repeat-x scroll 0 0;width:100%;"><img src="/bilder/styles/teddy/ajax-loader.gif" alt="" style="vertical-align:middle;" />&nbsp;&nbsp;Lade...</div>').show();*/
		$('liste').show();
		//document.getElementById("liste").style.display = "block";
		var urlInsert = 'ajax_liste.php';
		var container = 'liste';
		new Ajax.Updater(container, urlInsert);		
		globalListe = "true";
	} else{
		document.getElementById("liste").style.display = "none";
		globalListe = "false";
	}	
}

//Funktion zum Zentrieren des Layout-Divs, da dieser mit z-index versehen ist
function centerContent(){
	var arrayPageSize = getPageSize();
	var width_screen = ((arrayPageSize[0]-16)/2)-450;
	if(width_screen < 0){
		width_screen = 0;
	}
	document.getElementById("layout").style.left = width_screen+"px";
	window.setTimeout("centerContent()", 1000);
}

//Funktion zur Ueberpruefung der validitaet von E-Mailadressen
function mailPruefung(str){
	var at = "@";
	var dot = ".";
	var lat = str.indexOf(at);
	var lstr = str.length;
	var ldot = str.indexOf(dot);
	if (str.indexOf(at)==-1){
	   return false;
	}
	if (str.indexOf(at)==-1 || str.indexOf(at)==0 || str.indexOf(at)==lstr){
	   return false;
	}
	if (str.indexOf(dot)==-1 || str.indexOf(dot)==0 || str.indexOf(dot)==lstr){
	    return false;
	}
	if (str.indexOf(at,(lat+1))!=-1){
	    return false;
	}
	if (str.substring(lat-1,lat)==dot || str.substring(lat+1,lat+2)==dot){
		return false;
	}
	if (str.indexOf(dot,(lat+2))==-1){
		return false;
	}
	if (str.indexOf(" ")!=-1){
		return false;
	}
	return true;				
}


// png-fix
function correctPNG(){
	for(var i=0; i<document.images.length; i++){
		var img = document.images[i];
		var imgName = img.src.toUpperCase();
		if(imgName.substring(imgName.length-3, imgName.length) == "PNG"){
			var imgID = (img.id) ? "id='" + img.id + "' " : ""
			var imgClass = (img.className) ? "class='" + img.className + "' " : ""
			var imgTitle = (img.title) ? "title='" + img.title + "' " : "title='" + img.alt + "' "
			var imgStyle = "display:inline-block;" + img.style.cssText 
			if (img.align == "left") imgStyle = "float:left;" + imgStyle
			if (img.align == "right") imgStyle = "float:right;" + imgStyle
			if (img.parentElement.href) imgStyle = "cursor:hand;" + imgStyle		
			var strNewHTML = "<span " + imgID + imgClass + imgTitle
			+ " style=\"" + "width:" + img.width + "px; height:" + img.height + "px;" + imgStyle + ";"
			   + "filter:progid:DXImageTransform.Microsoft.AlphaImageLoader"
			+ "(src=\'" + img.src + "\', sizingMethod='scale');\"></span>" 
			img.outerHTML = strNewHTML
			i = i-1
		}
	}
}





//Funktion zum Unterdruecken des Focusierrechtecks und zum Laden des PNG-Fixes
window.onload = function() {
	centerContent();
	var a = document.links;
	for(var i = 0; i < a.length; i++) {
		a[i].onfocus = function(){
			this.blur();
		}
	}
	var section = location.hash;
	var section = section.match(/[^#|^.]+/)
	if(section){
		switch(section[0]){
			case "newsletter": openExtraebene('newsletter');
			break;
		}
	}
	correctPNG();
}


/**
 * full story view
 * by mglass@3pc.de
 */
var Viewport = {
	height: function() {
	
		if(typeof window.innerHeight != 'undefined') return window.innerHeight;
		else if(typeof document.documentElement != 'undefined' && typeof document.documentElement.clientHeight != 'undefined' && document.documentElement.clientHeight != 0)
			return document.documentElement.clientHeight;
		else return document.getElementsByTagName('body')[0].clientHeight

	},
	width: function() {
	
		if(typeof window.innerWidth != 'undefined') return window.innerWidth;
		else if(typeof document.documentElement != 'undefined' && typeof document.documentElement.clientWidth != 'undefined' && document.documentElement.clientWidth != 0)
			return document.documentElement.clientWidth;
		else return document.getElementsByTagName('body')[0].clientWidth
	
	},
	dimensions: function() {
		return {width: Viewport.width(), height: Viewport.height()};
	}
}
var Layer = {
	open: function(id) {
		var breite = 430;
		var hoehe = 300;
		var arrayPageSize = getPageSize();
		var arrayPageScroll = getPageScroll();
		globalExtra = "true";
        $('abdeckung').setStyle({
			height: (arrayPageSize[1] + 'px'),
			//width: ((arrayPageSize[0]-16) + 'px')
			width: '100%'
		}).show();
		Layer.position();
	},
	load: function(url) {
		$('extraebene').update('<img src="/bilder/styles/teddy/ajax-loader.gif" alt="" style="vertical-align:middle;" />&nbsp;&nbsp;Loading...');
		Layer.position();
		new Ajax.Request(url, {
			method: 'get',
			onSuccess: function(xhr) {
				$('extraebene').update(xhr.responseText);
			},
			onFailure: function(xhr) {
				$('extraebene').update('Fehler');
			},
			onComplete: function() {
				Layer.limitHeight();
				Layer.position();
			}
		});
	},
	close: function() {
		$('extraebene', 'abdeckung').invoke('hide');
		$('extraebene').setStyle({height: null, overflowY: null});
	},
	limitHeight: function() {
		var h = $('extraebene').getHeight();
		if(h > Viewport.height()) $('extraebene').setStyle({height: Viewport.height()-(180)+'px', overflowY: 'scroll'});
	},
	position: function() {
		$('extraebene').setStyle({
			top: Math.max((getPageScroll()[1]+Viewport.height()/2) - $('extraebene').getHeight()/2, 0) + 'px',
			left: Viewport.width()/2 - $('extraebene').getWidth()/2 + 'px'
		}).show();		
	}
}


