var tooltipId;
var x, y;
document.onmousemove = fetchCoords;

var isIE;
if(navigator.appName.indexOf('Explorer') > 0 && navigator.appVersion.indexOf('6.0') < 0) isIE = true;

function fetchCoords(e)
{
    x = (e != null) ? (e.pageX-140) : window.event.x + document.body.scrollLeft+20;
    y = (e !=null) ? (e.pageY-60) : window.event.y + document.body.scrollTop+20;

    //if((e == null) && x > 

    if(document.getElementById(tooltipId) != null)
    {
        if(x > 80)
        {
            y+=20;
        }

        var i = 0;
        while(x > 80 && i < 3)
        {
            x -= 80;
            i++;
        }

        document.getElementById(tooltipId).style.left = x + "px";
        document.getElementById(tooltipId).style.top = y + "px";
        document.getElementById(tooltipId).style.marginLeft = "0px";
    }

}


/**
 * Wechselt zur ersten Seite einer Ausgabe mit bestimmtem Ressorttitel
 */
function goToRessort(ressort){

    if(ressortsInSelectField[ressort] > 0)
    {
	ressortIndex = ressortsInSelectField[ressort];
        eval(document.getElementById('ressorts')[ressortIndex].value);
    }
}

/**
 * Wechselt zu einer Seite der aktuellen Ausgabe
 */
function goToPage(page)
{
    document.getElementById('previewLink_' + page).onclick();
}


var lastClickedArticle;

/**
 * Aktualisiert die Anzeige in der Seitenansicht fuer die Artikelansicht
 */
var showPreview = function(picture,numbersite,numbersites,epaperid,ausgabeseiteid,editiondate,edition,sitename,ressort) {
	lastClickedArticle = 0;

	if(actDate && actDate != editiondate)
	{
	    reloadThumbsLeft(numbersite,epaperid,editiondate,edition,sitename);
	    actDate = editiondate;
	    return;
	}
	actDate = editiondate;
		
	if(document.getElementById('ress_' + numbersite) != null)
	    var ch_ressort = document.getElementById('ress_' + numbersite).innerHTML;
	if(ch_ressort != undefined)
	    ressort = ch_ressort;

	if(ressortsInSelectField[ressort] || ressort == 'Titelseite')
	    document.getElementById('ressorts').selectedIndex = ressortsInSelectField[ressort];

	checkThumb("thumb_"+numbersite);
	scrollToPage(numbersite);

	var param  = "picture="+picture+"&numbersite="+numbersite+"&numbersites="+numbersites;
		param += "&epaper_id="+epaperid+"&editiondate="+editiondate+"&edition="+edition;
		param += "&sitename="+sitename+"&ressort="+ressort+"&ausgabe_seite_id="+ausgabeseiteid;
	var myAjax = new Ajax.Updater(
		"preview",
		"epaper/showPreview.php",
		{
			evalScripts: true,
			parameters: param,
			requestHeaders:['Content-Type', 'application/x-www-form-urlencoded; charset=iso-8859-1','Cache-Control', 'no-cache, must-revalidate'],
			onFailure:showError,
			onLoading:function(){changeDisplayOver("loading")},
			onComplete:function(){changeDisplayOut("loading")}
		}
	);
}


var scrollToPage = function(numbersite) {
	if( ! document.getElementById('thumb_'+numbersite) )
	{
	    return;
	}

	var thumbTop = document.getElementById('thumb_'+numbersite).offsetTop;	
	var faktor = document.getElementById('thumb_1').offsetTop;
	var scrollTo = thumbTop-faktor;
	
	var thumbs = document.getElementById('thumbs');
	var top = thumbs.scrollTop;
	if(scrollTo < top || scrollTo > (top+450))thumbs.scrollTop =  scrollTo;	

}


/**
 * Aktualisiert die Anzeige in der Seitenansicht fuer die Suche
 */
var showSearchResult = function(searchword,editiondate,countresult,firstresult,firstpageid,order) {
	if(searchword == "")
		word = document.getElementById("search_input").value;
	else
		word = searchword;
		
	//console.log(word);
		
	var param  = "word="+encodeURI(word)+"&editiondate="+editiondate+"&countresult="+countresult;
		param += "&firstresult="+firstresult+"&firstpageid="+firstpageid+"&order="+order;
	var myAjax = new Ajax.Updater(
		"preview",
		"epaper/showSearchResult.php",
		{
			evalScripts: true,
			method: 'post',
			requestHeaders:['Content-Type', 'application/x-www-form-urlencoded; charset=iso-8859-1','Cache-Control', 'no-cache, must-revalidate'],
			postBody: param,
			onFailure:showError,
			onLoading:function(){changeSearchStatus},
			onComplete:function(){changeSearchStatus}
		}
	);
}

/**
 * Aktualisiert die Anzeige in der Seitenansicht fuer die Erweiterte Suche
 */
var showAdvancedSearchResult = function(searchword,ressort,von,bis,titel,countresult,firstresult,firstpageid,order,editiondate) {
	
	if(searchword == "")
		word = document.getElementById("advancedsearch_text").value;
	else
		word = searchword;
		
	if(ressort == "")
    	    ressort = document.getElementById("advancedsearch_ressort").value;

	if(von == "")
		von = document.getElementById("advancedsearch_ausgabe_von").value;
	
	if(bis == "")
		bis = document.getElementById("advancedsearch_ausgabe_bis").value;
	
	
	var boxes = new Array("ELI", "EME", "EPA", "OMI", "ONO", "ONC", "ONM", "ONR", "ONW", "OMM", "OMN", "OMO", "OMW");


	if(titel == "")
        {
	
		for(var i = 0; i < boxes.length; i++)
		{
		
		    if(i > 0){
			titel += ","
		    }
		    titel += boxes[i] + "=>" + document.getElementById(boxes[i]).checked;
		
		}
        }
	
		
		
	var searchtype = document.getElementById('searchtype').value;
	
	var param  = "word="+encodeURI(word)+"&ressort="+ressort+"&von="+von;
		param += "&bis="+bis+"&titel="+titel+"&order="+order+"&countresult="+countresult;
		param += "&firstresult="+firstresult+"&firstpageid="+firstpageid+"&editiondate="+editiondate;
		param += "&searchtype=" + searchtype;

	var myAjax = new Ajax.Updater(
		"preview",
		"epaper/showAdvancedSearchResult.php",
		{
			evalScripts: true,
			method: 'post',
			requestHeaders:['Content-Type', 'application/x-www-form-urlencoded; charset=iso-8859-1','Cache-Control', 'no-cache, must-revalidate'],
			postBody: param,
			onFailure:showError,
			onLoading:function(){changeSearchStatus},
			onComplete:function(){changeSearchStatus}
		}
	);
	document.getElementById("search_input").value = word;
}


/**
 * Alle Checkboxen
 */

function mark(check,praefix) { //Alle Elemente, die mit praefix beginnen werden auf check gesetzt.
	var fields = document.forms["f"].elements;
	for(i=0;i<fields.length;i++) {
			var field = fields[i];
			if((field.name.substr(0,praefix.length) == praefix) && (field.type == 'checkbox')) {
				
				    
				    if(check !== true && check !==false)
				    {
					if(field.checked==true)field.checked = false;
					else field.checked = true;
				    }	
				    else field.checked = check;
			}
	}
	document.getElementById('abo').checked = false;
	document.getElementById('all').checked = check;
}

function test(feld,praefix) { //Das Feld feld ist genau dann geckeckt, wenn ale Elemente, die mit praefix beginnen, gechekt sind.
	var allchecked = true;
	var fields = document.forms["f"].elements;
	for(i=0;i<fields.length;i++) {
			var field = fields[i];
			if((field.name.substr(0,praefix.length) == praefix) && (field.type == 'checkbox')) {
					if(!field.checked) {
							allchecked = false;
					}
			}
	}
	document.getElementById(feld).checked = allchecked;
}

   
/**
 * Erweiterte Suche anzeigen
 */
var showAdvancedSearch = function(suchwort,editiondate,countresult,firstresult,firstpageid,order) {
	if(suchwort == '')
		suchwort = document.getElementById("search_input").value;
	
	var param  = "suchwort="+encodeURI(suchwort)+"&editiondate="+editiondate+"&countresult="+countresult;
		param += "&firstresult="+firstresult+"&firstpageid="+firstpageid+"&order="+order;
	
	var myAjax = new Ajax.Updater(
		"preview",
		"epaper/advancedSearch.php",
		{
			evalScripts: true,
			method: 'post',
			requestHeaders:['Content-Type', 'application/x-www-form-urlencoded; charset=iso-8859-1','Cache-Control', 'no-cache, must-revalidate'],
			postBody: param,
			onFailure:showError,
			onLoading:changeSearchStatus,
			onComplete:changeSearchStatus
		}
	);
}

var searchStatus = false;

var changeSearchStatus = function() {
	if(searchStatus == false) {
		searchStatus = true;
		document.getElementById("edition").disabled=true;
		document.getElementById("ressorts").disabled=true;
		document.getElementById("editionDate").disabled=true;
		changeDisplayOver("loading");
	} else if(searchStatus == true) {
		searchStatus = false;
		document.getElementById("edition").disabled=false;
		document.getElementById("ressorts").disabled=false;
		document.getElementById("editionDate").disabled=false;
		changeDisplayOut("loading");
	}
}

/**
 * Prueft, ob der Enter Button gedrueckt wurde
 */
var checkEnter = function(e,editiondate) {
	if(e.keyCode=='13')
		showSearchResult('',editiondate,-1,0,'');
	else
		return false;
}

/**
 * Prueft, ob der Enter Button in Erweiterte gedrueckt wurde
 */
var checkAdvancedEnter = function(e,editiondate) {
	if(e.keyCode=='13')
		showAdvancedSearchResult('','','','','','-1','0','','',editiondate);
	else
		return false;
}

/**
 * Aktualisiert den Footer in der Mitte
 */
var reloadFootCenter = function(pagename,editiondate) {
	var param  = "pagename="+pagename+"&editiondate="+editiondate;
	var myAjax = new Ajax.Updater(
		"foot_center",
		"epaper/footCenter.php",
		{
			parameters: param,
			onFailure:showError,
			requestHeaders:['Cache-Control', 'no-cache, must-revalidate']
		}
	);
}

/**
 * Aktualisiert die Anzeige in der Artikelansicht fuer die Anzeigen
 */

var showAnnounce = function(anzeigenkompaktpositionid,editiondate,seiteid) {
	var param = "anzeigen_kompakt_position_id="+anzeigenkompaktpositionid+"&editiondate="+editiondate+"&seite_id="+seiteid;
	var options = {
		evalScripts: true,
		method: 'post',
		requestHeaders:['Content-Type', 'application/x-www-form-urlencoded; charset=iso-8859-1','Cache-Control', 'no-cache, must-revalidate'],
		parameters: param,
		onFailure:showError,
		onLoading:function(){changeDisplayOver("loading")},
		onComplete:function(){scrollToTop();changeDisplayOut("loading");}
	}
	var myAjax = new Ajax.Updater(
		"showarticle",
		"epaper/showAnnounces.php",
		options
	);
	var tmp = lastClickedArticle;
	lastClickedArticle ='announce' +  anzeigenkompaktpositionid;
	changeBorderOverGreen('announce' + anzeigenkompaktpositionid);
	changeLayerReaded(tmp, 6);
	changeBorderOut(tmp);
}

/**
 * Aktualisiert die Anzeige in der Artikelansicht fuer die Artikel
 */
var showArticle = function(artikelid,editiondate,searchword) {
	reloadETracker();
	var param = "artikel_id="+artikelid+"&editiondate="+editiondate+"&searchword="+searchword;
	var options = {
		evalScripts: true,
		method: 'post',
		requestHeaders:['Content-Type', 'application/x-www-form-urlencoded; charset=iso-8859-1','Cache-Control', 'no-cache, must-revalidate'],
		parameters: param,
		onFailure:showError,
		onLoading:function(){changeDisplayOver("loading");},
		onComplete:function(){scrollToTop();changeDisplayOut("loading");}
	}
	var myAjax = new Ajax.Updater(
		"showarticle",
		"epaper/showArticle.php",
		options
	);
	var tmp = lastClickedArticle;
	lastClickedArticle = artikelid;
	changeBorderOverGreen(artikelid);
	changeLayerReaded(tmp, 3);
	changeBorderOut(tmp);
}

var showFehler = function(fehlertext) {
	var param = "fehler="+fehlertext;
	var options = {
		evalScripts: true,
		method: 'post',
		requestHeaders:['Content-Type', 'application/x-www-form-urlencoded; charset=iso-8859-1','Cache-Control', 'no-cache, must-revalidate'],
		parameters: param,
		onFailure:showError,
		onLoading:changeDisplayOver("loading"),
		onComplete:scrollToTop()
	}
	var myAjax = new Ajax.Updater(
		"showarticle",
		"epaper/showFehler.php",
		options
	);
}

/**
 * Aktualisiert die Anzeige in der Artikelansicht fuer die Artikel
 */
var showAnnounceResult = function(anzeigeid,editiondate,searchword,anzeigenkompaktpositionid,seite_id) {
	var param  = "anzeige_id="+anzeigeid+"&editiondate="+editiondate+"&searchword="+searchword;
		param += "&anzeigen_kompakt_position_id="+anzeigenkompaktpositionid+"&seite_id="+seite_id;
	var options = {
		evalScripts: true,
		method: 'post',
		requestHeaders:['Content-Type', 'application/x-www-form-urlencoded; charset=iso-8859-1','Cache-Control', 'no-cache, must-revalidate'],
		parameters: param,
		onFailure:showError,
		onLoading:changeDisplayOver("loading"),
		onComplete:scrollToTop()
	}
	var myAjax = new Ajax.Updater(
		"showarticle",
		"epaper/showAnnouceAsText.php",
		options
	);
}

/**
 * Scrollt den scroller bis nach oben in der Artikelansicht
 */
var scrollToTop = function() {
	changeDisplayOut("loading");
	document.getElementById("showarticle").scrollTop=0;
}

/**
 * Aktualisiert die Anzeige im Footer Rechts fuer Artikel
 */
var reloadFootRight = function(artikelid,editiondate) {
	var param  = "artikelid="+artikelid+"&editiondate="+editiondate;
	var myAjax = new Ajax.Updater(
		"foot_right",
		"epaper/footRight.php",
		{
			evalScripts: true,
			method: 'post',
			requestHeaders:['Content-Type', 'application/x-www-form-urlencoded; charset=iso-8859-1','Cache-Control', 'no-cache, must-revalidate'],
			parameters: param,
			onFailure:showError,
			onLoading:changeDisplayOver("loading"),
			onComplete:changeDisplayOut("loading")
		}
	);
}

/**
 * Aktualisiert die Anzeige im Footer Rechts fuer Anzeigen
 */
var reloadFootRightAnnounce = function(anzeigenkompaktpositionid,editiondate,seiteid) {
	var param  = "anzeigen_kompakt_position_id="+anzeigenkompaktpositionid+"&editiondate="+editiondate;
		param += "&seite_id="+seiteid;
	var myAjax = new Ajax.Updater(
		"foot_right",
		"epaper/footRight.php",
		{
			evalScripts: true,
			method: 'post',
			requestHeaders:['Content-Type', 'application/x-www-form-urlencoded; charset=iso-8859-1','Cache-Control', 'no-cache, must-revalidate'],
			parameters: param,
			onFailure:showError,
			onLoading:changeDisplayOver("loading"),
			onComplete:changeDisplayOut("loading")
		}
	);
}

/**
 * Aktualisiert die Anzeige im Footer Rechts fuer Artikel
 */
var reloadFootRightPicture = function(picturename,editiondate,smallbig) {
	var param  = "picturename="+picturename+"&editiondate="+editiondate+"&smallbig="+smallbig;
	var myAjax = new Ajax.Updater(
		"foot_right",
		"epaper/footRight.php",
		{
			parameters: param,
			onFailure:showError,
			onLoading:changeDisplayOver("loading"),
			onComplete:changeDisplayOut("loading")
		}
	);
}

/**
 * Aktualisiert die Anzeige fuer Bilder in der Artikelansicht (wird wohl nicht mehr genutzt)
 */
var showPicture = function(picturename,editiondate,smallbig) {
	var param = "picturename="+picturename+"&editiondate="+editiondate+"&smallbig="+smallbig;
	var options = {
		evalScripts: true,
		method: 'post',
		requestHeaders:['Cache-Control', 'no-cache, must-revalidate'],
		parameters: param,
		onFailure:showError,
		onLoading:changeDisplayOver("loading"),
		onComplete:changeDisplayOut("loading")
	}
	var myAjax = new Ajax.Updater(
		"showarticle",
		"epaper/showPicture.php",
		options
	);
}

/**
 * Aktualisiert die Anzeige fuer Bilder in der Artikelansicht (wird wohl nicht mehr genutzt)
 */

var showArticlePicture = function(id,picturename,picturesignature,smallbig,ct,editiondate) {
	var param = "picturename="+picturename+"&picturesignature="+picturesignature+"&smallbig="+smallbig+"&ct="+ct+"&editiondate="+editiondate;
	var options = {
		method: 'post',
		requestHeaders:['Cache-Control', 'no-cache, must-revalidate'],
		postBody: param,
		onFailure:showError,
		onLoading:changeDisplayOver("loading"),
		onComplete:changeDisplayOut("loading")
	}
	var myAjax = new Ajax.Updater(
		id,
		"epaper/showArticlePicture.php",
		options
	);
}

/**
 * Aktualisiert die Anzeige im ePaper fuer die ausgewaehlte Ausgabe oder
 * wenn auf weiter geklcikt wurde, wird man zur Registrierungsseite der NOZ geschickt
 */
var changeEdition = function(s,editiondate,httpLink,zvkey) {
    location.href = "epaper.php?edition="+s.value+"&editiondate="+editiondate+"&gross="+zvkey;
}

/**
 * Aktualisiert die Anzeige im ePaper fuer die ausgewaehlte Ausgabedatum
 */
var changeEditionDate = function(s,edition) {
	document.location.href = "epaper.php?edition="+edition+"&editiondate="+s.value + size;
}

/**
 * Aktualisiert die Anzeige fuer das ausgewaehlte Ressort in der Seitenansicht und Uebersicht
 */
var evaluateRessort = function(sel) {
	eval(sel.value);
}

/**
 * Oeffnet ein Popupfenster in der das zu druckende Artikel angezeigt wird (wird nicht mehr genutzt)
 */
var printArticle = function(artikelid,editiondate) {
	popup = window.open("epaper/showArticleForPrint.php?artikel_id="+artikelid+"&editiondate="+editiondate,"printarticle","width=600,height=400,scrollbars=yes,menubar=yes,resizable=yes");
	popup.focus();
}

/**
 * Oeffnet ein Popupfenster in der das zu druckende Artikelbild angezeigt wird (wird nicht mehr genutzt)
 */
var printArticlePicture = function(picturename,editiondate,smallbig) {
	popup = window.open("epaper/showPictureForPrint.php?picturename="+picturename+"&editiondate="+editiondate+"&smallbig="+smallbig,"printarticlepicture","width=600,height=400,scrollbars=yes,menubar=yes,resizable=yes");
	popup.focus();
}

/**
 * Zeigt die Fehler, die waehrend der Javascript ausfuehrung passieren
 */
var showError = function(r) {
	alert("ERROR: "+r.status+"/t"+r.statusText);
}

/**
 * Ermittelt die Hoehe und die Breite des zu sehenden Fensterbereiches
 */
var getBrowserInnerSize = function() {
	var breite;
	var hoehe;
	var innerSizeArray = new Array();
	if (self.innerHeight) {
		breite = self.innerWidth;
		hoehe = self.innerHeight;
	}
	else if (document.documentElement && document.documentElement.clientHeight) {
		breite = document.documentElement.clientWidth;
		hoehe = document.documentElement.clientHeight;
	}
	else if (document.body) {
		breite = document.body.clientWidth;
		hoehe = document.body.clientHeight;
	}
	innerSizeArray[0] = breite;
	innerSizeArray[1] = hoehe;
	var innerSizeArray2 = new Array(breite,hoehe);
	return innerSizeArray2;
}

/**
 * Zeigt an, ob das Overlay aktiviert ist
 */
var overlayEnabled = false;

/**
 * Aktualisiert die Anzeige im Overlay
 */
var showOverlayPicture = function(picturename,signature,sm,editiondate) {
	var innerSizeArray = getBrowserInnerSize();
		
	var param  = "breite="+innerSizeArray[0]+"&hoehe="+innerSizeArray[1];
		param += "&picturename="+picturename+"&signature="+signature+"&sm="+sm+"&editiondate="+editiondate;
	var options = {
		method: 'post',
		requestHeaders:['Cache-Control', 'no-cache, must-revalidate'],
		evalScripts: true,
		postBody: param,
		onFailure:showError,
		onLoading:changeDisplayOver("loading"),
		onComplete:openOverlay()
	}
	d = new Date();
	var myAjax = new Ajax.Updater(
		"overlayPicture",
		"epaper/showOverlayPicture.php?time="+d.getTime(),
		options
	);
}

/**
 * Oeffnet das Overlay und zeigt es an
 */
var openOverlay = function() {
	changeDisplayOut("loading");
	
	overlayEnabled = true;
	enableOverlay();
}

/**
 * Aktiviert das Overlay
 */
var enableOverlay = function() {
	document.getElementById("edition").disabled=true;
	document.getElementById("ressorts").disabled=true;
	document.getElementById("editionDate").disabled=true;
	if(overlayEnabled)
		document.getElementById("overlayPicture").style.display="block";
	document.getElementById("overlay").style.display="block";
}

/**
 * Deaktiviert das Overlay
 */
var disableOverlay = function() {
	document.getElementById("edition").disabled=false;
	document.getElementById("ressorts").disabled=false;
	document.getElementById("editionDate").disabled=false;
	document.getElementById("overdisplay").src = "pics/ePaper/blank.gif";
	document.getElementById("overlay").style.display="none";
	document.getElementById("overlayPicture").style.display="none";
	overlayEnabled = false;
}

/**
 * Zeigt ein div mit gruenem Rand an
 */
var changeBorderOverGreen = function(id) {
	if(document.getElementById(id)) {
		var element = document.getElementById(id);
		element.style.border="2px solid #00a000";
		element.style.background = "none";
		if(element.filters)
		{
		    element.style.zoom = 1;
		    element.style.filter = "Alpha(opacity=100)";
		}
		else element.style.opacity = "1.0";
		//changeDisplayOver(id);
	}
}


/**
 * Zeigt einen Layer ueber einem Artikel
 */
var changeLayerReaded = function (id, wert) {
	if(document.getElementById(id)) {
	
	    var element = document.getElementById(id);
	    element.style.backgroundColor = "#999999";
	    if(element.filters)
	    {
		element.style.zoom = 1;
		element.style.filter = "Alpha(opacity=" + wert + "0)";
	    }
	    else element.style.opacity = "0." + wert;
	}	
}


/**
 * Zeigt ein div mit roten Rand an
 */
var changeBorderOver = function(id) {
	if(document.getElementById(id)) {
		if(id != lastClickedArticle)document.getElementById(id).style.border="2px solid #cd0000";//#FE0000
		changeDisplayOver(id);
	}
}

/**
 * Entfernt von einem Div den Rand
 */
var changeBorderOut = function(id) {

	if(document.getElementById(id)) {
		if(id != lastClickedArticle)document.getElementById(id).style.border="0";
		changeDisplayOut(id);
	}
}

/**
 * Aktualisiert die Anzeige einer ID fuer mouseOver Effekt
 */
var changeDisplayOver = function(id) {


	tooltipId = '';
	if(id == "show_zoom")
		document.getElementById("show_zoom").style.display="block";
	else if(document.getElementById("show_zoom_"+id))
		document.getElementById("show_zoom_"+id).style.display="block";
	else if(document.getElementById("articlepreview_"+id)) {
		tooltipId = "articlepreview_"+id;
		document.getElementById("articlepreview_"+id).style.display="block";
		if(document.getElementById("frame_"+id)) {

			document.getElementById("frame_"+id).style.display="block";
			document.getElementById("frame_"+id).style.height = GetElementHeight(document.getElementById("articlepreview_"+id));
		}
	} else if(id == "loading") {
		if(document.getElementById("loading"))
			document.getElementById("loading").style.display="block";
	} 
}

/**
 * Aktualisiert die Anzeige einer ID fuer mouseOut Effekt
 */
var changeDisplayOut = function(id) {
	if(id == "show_zoom")
		document.getElementById("show_zoom").style.display="none";
	else if(document.getElementById("show_zoom_"+id))
		document.getElementById("show_zoom_"+id).style.display="none";
	else if(document.getElementById("articlepreview_"+id)) {
		document.getElementById("articlepreview_"+id).style.display="none";
		if(document.getElementById("frame_"+id))
			document.getElementById("frame_"+id).style.display="none";
	} else if(id == "loading") {
		if(document.getElementById("loading"))
			document.getElementById("loading").style.display="none";
	}
}

/**
 * Ermittelt die Hoehe eines bestimmten Elementes
 */
var GetElementHeight = function(elm) {
	if(!elm)
		return 0;

	if(document.layers) {
    	if(!elm.height)
    		elm.height = elm.clip.height;
    	return elm.height;
  	} else if(typeof(elm.style && elm.style.height) == 'number') {
		return elm.style.height;
	} else if(typeof(elm.style && elm.style.height) == 'string' && !isNaN(parseInt(elm.style.height))) {
    	return parseInt(elm.style.height);
	} else if(elm.offsetHeight) {
		return elm.offsetHeight;
	} else if(typeof(elm.style && elm.style.pixelHeight) == 'number') {
		return elm.style.pixelHeight;
	} else if(elm.clientHeight) {
		return elm.clientHeight;
	}

	return 0;
}

/**
 * Variable fuer die Schriftgroesse
 */
var n = 1;

/**
 * Aendert die Schriftgroesse in der Artikelansicht
 */
var changeSize = function(typ) {
	sizeh1 = new Array('18px','20px','22px');
	sizeh2 = new Array('16px','18px','20px');
	sizeh3 = new Array('14px','16px','18px');
	sizecaption = new Array('9px','11px','13px');
	sizeartikeltext = new Array('10px','12px','14px');

	if(typ=="+") {
		if(n != 2)
			n = n + 1;
		else
			return;
	} else if(typ=="-") {
		if(n != 0)
			n = n - 1;
		else
			return;
	} else {
		n = typ;
	}
	changeFontSize("H1","h1",sizeh1[n]);
	changeFontSize("H2","h2",sizeh2[n]);
	changeFontSize("H3","h3",sizeh3[n]);
	changeFontSize("DIV","caption",sizecaption[n]);
	changeFontSize("DIV","artikeltext",sizeartikeltext[n]);
	changeFontSize("DIV","vorspann",sizeartikeltext[n]);
	changeFontSize("DIV","anzeige_text",sizeartikeltext[n]);
	changeFontSize("DIV","kamm_text",sizeartikeltext[n]);
	changeFontSize("DIV","kamm_text_td",sizeartikeltext[n]);
	changeFontSizeTable(sizeartikeltext[n]);
}

/**
 * Aendert die Schriftgroesse aller Div's in der Artikelansicht
 */
var changeFontSize = function(el,cl,size) {
	var divs=document.getElementsByTagName(el);
	for (var i=0;i<divs.length;i++)
		if (divs[i].className==cl)
			divs[i].style.fontSize = size; 
}

/**
 * Aendert die Schriftgroesse in allen tabellen in der Artikelansicht
 */
var changeFontSizeTable = function(size) {
	var divs=document.getElementsByTagName("TABLE");
	for (var i=0;i<divs.length;i++)
			divs[i].style.fontSize = size; 
}

/**
 * Markiert im input suchen den Text
 */
var checkInsert = function(input) {
	input.focus();
	input.select();
}

/**
 * Besorgt sich alle Stylesheet informationen zum bestimmten Element
 */
var getStyleSheet = function(name) {
	if(!name || !document.styleSheets) return null;
	var i = document.styleSheets.length;
	while(i--) {
		var rules = document.styleSheets[i].rules ? document.styleSheets[i].rules :
		document.styleSheets[i].cssRules;
		var j = rules.length;
		while(j--) { 
			if(rules[j].selectorText == name) {
				return rules[j]; 
			}
		}
	}
	return null;
}

/**
 * Setzt das Stylesheet zum bestimmten Element
 */
var setStyle = function(name, attr, value) {
    var rule = getStyleSheet(name);
    if(!rule) return null;
    if(value) rule.style[attr] = value;
    return rule.style[attr];
}

/**
 * Aktualisiert die Anzeige fuer Artikelemail
 */
var sendArticleToMailform = function(artikelid,editiondate) {
    var myAjax = new Ajax.Request(
    	'epaper/mailform.php?artikelid='+artikelid+'&editiondate='+editiondate,
    	{
    		evalScripts: true,
    		onComplete:showResponseForMailform,
    		onFailure:showError
    	}
    );
}

/**
 * Aktualisiert die Anzeige fuer Anzeigeemail
 */
var sendAnnounceToMailform = function(anzeigenkompaktpositionid,editiondate,seiteid) {
    var myAjax = new Ajax.Request(
    	'epaper/mailform.php?anzeigenkompaktpositionid='+anzeigenkompaktpositionid+'&editiondate='+editiondate+'&seiteid='+seiteid,
    	{
    		evalScripts: true,
    		onComplete:showResponseForMailform,
    		onFailure:showError
    	}
    );
}

/**
 * Aktualisiert die Anzeige zum email versenden
 */
var sendPictureToMailform = function(picturename,editiondate,smallbig) {
    
    var myAjax = new Ajax.Request(
    	'epaper/mailform.php?picturename='+picturename+'&editiondate='+editiondate+'&smallbig='+smallbig,
    	{
    		evalScripts: true,
    		onComplete:showResponseForMailform,
    		onFailure:showError
    	}
    );
}

/**
 * zeigt an, ob das email Overlay angezeigt wird
 */
var overlayForEmailEnabled = false;

/**
 * Zeigt die Antwort zum emailverschicken an
 */
var showResponseForMailform = function(r){
	enableOverlay();
	overlayForEmailEnabled = true;
	
	$('overlay').style.zIndex = '100009';
	
	var foutput;

	if(window.pageYOffset)
		foutput = window.pageYOffset;
	else if(document.documentElement.scrollTop)
		foutput = document.documentElement.scrollTop;
	else if(document.body.scrollTop)
		foutput = document.body.scrollTop;
	else
		foutput = 0;

	var leftPosition = document.body.scrollWidth / 2 - 210;
	
	if(leftPosition < 0)
		leftPosition = 0;
	var topPosition = 200 + foutput;

	body = document.getElementsByTagName('body')[0];
	div = document.createElement('div');
	div.style.zIndex = '100010';
	div.style.position = 'absolute';
	div.style.left = leftPosition+'px';
	div.style.top = topPosition+'px';
	div.innerHTML = r.responseText;
	div.id = 'mailform';
	body.appendChild(div);
}

/**
 * Sendet eine Post fuer die emailversendung
 */
function sendAsPost(url,formobj){
	var sendit = true;
	
	if($('mail')) {
		if($('mail').value == '') {
			$('mail_label').style.color = 'red';
			sendit = false;
		} else if(window.RegExp) {
  			var reg = new RegExp("^[A-Za-z0-9]+(([\.]|[_]|[-])([A-Za-z0-9]+))*@[A-Za-z0-9]+(([_]|[-])([A-Za-z0-9]+))*([\.])([A-Za-z]{2,4})$", "g");
  			if (!reg.test($('mail').value)) {
    			$('mail_label').style.color = 'red';
				sendit = false;
  			}
		} else 
			$('mail_label').style.color = '#3E5587';
	}
	if($('betreff'))
		if($('betreff').value == '') {
			$('betreff_label').style.color = 'red';
			sendit = false;
		} else 
			$('betreff_label').style.color = '#3E5587';
	
	if(sendit) {
		var myOptions = {
			method: 'post',
			evalScripts: true,
			postBody: createPostBody(formobj),
			onComplete:showMessage,
			onLoading:changeDisplayOver("loading"),
			onFailure:showError				
		}
		
		var myRequest = new Ajax.Request(url,myOptions);
	}
	return false;
}

/**
 * Zeigt den Response bei der Emailversendung
 */
var showMessage = function(r){
	changeDisplayOut("loading");
	$('displayarea').innerHTML = r.responseText;
} 

/**
 * Erstellt den Postbody fuer die Emailversendung
 */
function createPostBody(fobj){
    var params = new Array();

	for (var i=0; i< fobj.elements.length; i++)
	if(fobj.elements[i].name && fobj.elements[i].value) {
		var myText = fobj.elements[i].value;
	                      while(myText.indexOf('+') > -1)
	                      
		myText = encodeURIComponent(myText);
		params[i] =  fobj.elements[i].name+'='+myText;
	} else if(fobj.elements[i].name && fobj.elements[i].text) {
		var myText = fobj.elements[i].text;
	         
		myText = encodeURIComponent(myText);
		params[i] =  fobj.elements[i].name+'='+myText;
	}
	return params.join('&');
}

/**
 * Schließt das Mailform
 */
var closeMailform = function(){
	document.getElementsByTagName('body')[0].removeChild($('mailform'));
	overlayForEmailEnabled = false;
	$('overlay').style.zIndex = '100000';
	if(!overlayEnabled) {
		$('overlay').style.display="none";
		document.getElementById("edition").disabled=false;
		document.getElementById("ressorts").disabled=false;
		document.getElementById("editionDate").disabled=false;
	}
}

/**
 * Variable fuer die Anzeige des Rahmens der Thumbs in der Uebersicht
 */
var checkedThumb = '';

/**
 * zeigt den Thumd mit der id mit Roten Rahmen an
 */
var enableThumb = function(id) {
	if(id!=checkedThumb)
		$(id).style.border = "2px solid #cd0000";//#FE0000
}

/**
 * zeigt den Thumd mit der id mit gruenem Rahmen an
 */
var enableThumbGreen = function(id) {
	if(id!=checkedThumb)
		$(id).style.border = "2px solid #00a000";//#FE0000
}

/**
 * Entfernt den roten Rahmen von einem Thumb
 */
var disableThumb = function(id) {
    if(! $(id) )
    {
	return;
    }
    if(id!=checkedThumb)
	$(id).style.border = "2px solid white";
}

/**
 * Aktualisiert die Anzeige des ausgewaehlten Thumbs
 */
var checkThumb = function(id) {
	var oldCheckThumb = '';
	
	if(checkedThumb != '') {
		oldCheckThumb = checkedThumb;
		enableThumbGreen(id);
		checkedThumb = id;
		disableThumb(oldCheckThumb);
	} else {
		enableThumbGreen(id);
		checkedThumb = id;
	}
	
}

var aboOnly = function(){
    var fields = document.forms["f"].elements;
    
    for(i = 0; i < fields.length; i++)
    {
	fields[i].checked = false;
	for(ii = 0; ii < abAusgaben.length; ii++)
	{
	    if(fields[i].value == abAusgaben[ii])fields[i].checked = true;
	}
    }
    if(ii == 12)
    {
	document.getElementById('all').checked = true;
    }    
    document.getElementById('abo').checked = true;

}


/**
 * Aktualisiert die linke Ansicht der Thumbs zu einem bestimmten Datum einer Ausgabe
 */
var reloadThumbsLeft = function(numbersite,epaperid,editiondate,edition,pagename) {

	var param  = "edition="+edition+"&editionDate="+editiondate+"&epaper_id="+epaperid+"&goToPage=" + numbersite+"&pagename="+pagename;
	var myAjax = new Ajax.Updater(
		"thumbs",
		"epaper/selectSite.php",
		{
			evalScripts: true,
			parameters: param,
			onFailure:showError,
			requestHeaders:['Cache-Control', 'no-cache, must-revalidate']
		}
	);
}

var reloadRessorts = function(text, editiondate){
    $('ressorts').innerHTML = text;

    var dateOptions = $('editionDate').getElementsByTagName('option');
    for(i = 0; i < dateOptions.length; i++)
    {
	if(dateOptions[i].value == editiondate + size)
	{
	    dateOptions[i].selected = "selected";
	    break;
	}
    }    
        
}

var getExternalLink = function(ressort){


        var param = "ressort="+ressort;
        var myAjax = new Ajax.Updater(
                "externalLink",
                "epaper/externalLink.php",
                {
                        parameters: param
                }
        );

}


var reloadETracker = function()
{
    if(document.getElementById("eTrackerIFrame"))
    {
	document.getElementById("eTrackerIFrame").src = "etracker.php";
    }
}
    
