/*
 * JW nbsp GmbH
 * 
 * 02.04.2009
 * 
 * Javascript fuer little Helpers in der Navigation
*/
var tmpclass = 'specialedition';

/*
 * Funktion fuer setzen des cookies
 * ################################
*/
function setCookie(name, value) 
{
	var expiration = new Date();
	var sevenDays = expiration.getTime() + (7 * 24 * 60 * 60 * 1000);
	expiration.setTime(sevenDays);
	var curCookie = name + "=" + escape(value) + ";expires=" + escape(expiration.toGMTString()) + ";path=/";
	document.cookie = curCookie;
}

/*
 * Cookie auslesen wenn gebraucht
 * ##############################
*/
function getCookie(name) {
	var dc = document.cookie;
	var prefix = name + "=";
	var begin = dc.indexOf("; " + prefix);
	if (begin == -1) {
		begin = dc.indexOf(prefix);
		if (begin != 0) return null;
	} else {
		begin += 2;
	}
	var end = document.cookie.indexOf(";", begin);
	if (end == -1) end = dc.length;
	return unescape(dc.substring(begin + prefix.length, end));
}

/*
 * Funktion fuer Bookmark je nach Browser
 * ######################################
*/
function CreateBookmarkLink(title,url) {

 	if (window.sidebar) 
	{ // Mozilla Firefox Bookmark
		window.sidebar.addPanel(title, url,"");
	} else if( window.external ) 
	{ // IE Favorite
		window.external.AddFavorite( url, title); }
	else if(window.opera && window.print) 
	{ // Opera Hotlist
		return true; }
 }

/*
 * Funktion fuer Schriftart vergroessern
 * #####################################
*/ 
function increaseFontsize() {
	value = getCookie("fontsize");
	
	if(value == 6){
		Ext.get('plus').dom.style.display = 'none';
	}else if(value == 1){
		Ext.get('minus').dom.style.display = '';
	}else{
		Ext.get('plus').dom.style.display = '';
	}
	
	if (value) {
		if (value < 7 && value >= 1) {
			value++;
		}
	} else {
		version = navigator.appVersion;
		if (version.toLowerCase().indexOf("mac")!=-1) {
			value = 1;
		} else {
			value = 1;
		}
	}
	setCookie("fontsize",value);
	
	var idelement = document.getElementById("ffontsize");
	idelement.className = tmpclass + ' font'+value;
}

/*
 * Schriftart initalisieren
 * ########################
*/
function initFontsize() {
	
	value = getCookie("fontsize");
	
	if (!value) {
		version = navigator.appVersion;
		if (version.toLowerCase().indexOf("mac")!=-1) {
			value = 4;
		} else {
			value = 4;
		}
	}
	var idelement = document.getElementById("ffontsize");
		
	if (idelement) {
		if (value != 4) {			
			idelement.className = tmpclass + ' font' + value;
		}
		else {
			idelement.className = tmpclass;
			Ext.get('minus').dom.style.display = '';
			Ext.get('plus').dom.style.display = '';
			
			setCookie("fontsize",4);
		}
	}
	
	
	
}	

/*
 * Funktion fuer Schriftart verkleinern
 * ####################################
*/ 
function decreaseFontsize(){
	value = getCookie("fontsize");
	
	if(value == 2){
		Ext.get('minus').dom.style.display = 'none';
	}else if(value == 7){
		Ext.get('plus').dom.style.display = '';
	}else{
		Ext.get('minus').dom.style.display = '';
	}
	
	if (value) {
		if (value > 1 && value <= 7) {
			value--;			
		}
	}
	else {
		version = navigator.appVersion;
		if (version.toLowerCase().indexOf("mac") != -1) {
			value = 1;
		}
		else {
			value = 1;
		}
	}
	setCookie("fontsize", value);
	
	
	var idelement = document.getElementById("ffontsize");
	idelement.className = tmpclass + ' font'+value;
}
/*
 * Funktion fuer normale Schriftgroesse
 * ####################################
*/
function normalFontsize() {
	var idelement = document.getElementById("ffontsize");
	idelement.className = tmpclass+ ' font4';
	setCookie("fontsize",4);
}

/*
 * Popup
*/

function popup(url, name, wdt, hgt)
{
	window.open(url, name, "width="+ wdt +",height=" + hgt + ",scrollbars=yes,menubar=no,resizable=true");
}

/*
 * Funktion fuer versenden
 * ####################################
*/
function suggestArticle(path){
	var url = "/index.cfm?event=cmp.cst.documents.suggestArticle&path=" + path;
	var name = "send";
	
	popup(url, name, 700, 500);
}


/*
 * Funktion fuer Artikel drucken
 * ####################################
*/
function printArticle(cid,aid){
	
	if (aid > 0) {
		var url = "/index.cfm?event=cmp.cst.documents.print&cid=" + cid + "&documents.id=" + aid;
	}else
	{
		var url = "/index.cfm?event=cmp.cst.documents.print&cid=" + cid;
	}
	var name = "print";
	
	popup(url, name, 700, 800);
}

/*
 * Funktion fuer ueberpruefung Werte Leserbrief
 * ####################################
*/

	function checkthisfields(form){
		var filter = /^([a-zA-Z0-9_.-])+@(([a-zA-Z0-9-])+.)+([a-zA-Z0-9]{2,3})|(aero|coop|info|museum|name)+$/;
		var send = true;

		if (form.firstname.value == ''){
			var errormessage1 = 'Bitte geben Sie Ihren Vornamen ein!';
			document.getElementById('error1').innerHTML = errormessage1;
			send = false;
		}else{document.getElementById('error1').innerHTML = '';}

		if (form.lastname.value == ''){
			var errormessage2 = 'Bitte geben Sie Ihren Nachnamen ein!';
			document.getElementById('error2').innerHTML = errormessage2;
			send = false;
		}else{document.getElementById('error2').innerHTML = '';}

		if (!filter.test(form.email.value)) {
			var errormessage3 = 'Bitte geben Sie eine korrekte E-Mail Adresse ein!';
			document.getElementById('error3').innerHTML = errormessage3;
			send = false;
		}else{document.getElementById('error3').innerHTML = '';}

		if (form.comment.value == ''){
			var errormessage4 = 'Bitte geben Sie einen Inhalt ein!';
			document.getElementById('error4').innerHTML = errormessage4;
			send = false;
		}else{document.getElementById('error4').innerHTML = '';}
		
		if (form.check.value == ''){
			var errormessage6 = 'Bitte geben Sie den Inhalt aus der Grafik ein!';
			document.getElementById('error6').innerHTML = errormessage6;
			send = false;
		}else{document.getElementById('error6').innerHTML = '';}
				
		if (form.accept.checked == false){
			var errormessage5 = 'Sie m&uuml;ssen die Bedingungen aktzeptieren!';
			document.getElementById('error5').innerHTML = errormessage5;
			send = false;
		}else{document.getElementById('error5').innerHTML = '';}

	return send;
	} 
	
/*
 * Formular validierung fuer Gewinnspiel
 * 
*/
	
	function checklotteryfields(form){
		var filter 		= /^([a-zA-Z0-9_.-])+@(([a-zA-Z0-9-])+.)+([a-zA-Z0-9]{2,3})|(aero|coop|info|museum|name)+$/;
		var send 		= true;
		var radio 		= 0;
		var radiocheck 	= form.answer.length;
		
		for(var i=0;i<radiocheck;i++){
			if(form.answer[i].checked == true){
				break;
			}
			else{
				radio = radio + 1;
			}			
		}
		
		if(radio == radiocheck){
			var errormessage1 = 'Bitte geben Sie eine Antwort an!';
			document.getElementById('error1').innerHTML = errormessage1;
			send = false;
		}else{document.getElementById('error1').innerHTML = '';}
		
		if (form.name.value == ''){
			var errormessage2 = 'Bitte geben Sie Ihren Namen ein!';
			document.getElementById('error2').innerHTML = errormessage2;
			send = false;
		}else{document.getElementById('error2').innerHTML = '';}

		if (!filter.test(form.email.value)) {
			var errormessage3 = 'Bitte geben Sie eine korrekte E-Mail Adresse ein!';
			document.getElementById('error3').innerHTML = errormessage3;
			send = false;
		}else{document.getElementById('error3').innerHTML = '';}

		if (form.check.value == ''){
			var errormessage4 = 'Bitte geben Sie den Wert aus der Grafik ein!';
			document.getElementById('error4').innerHTML = errormessage4;
			send = false;
		}else{document.getElementById('error4').innerHTML = '';}		

	return send;		
		
	}
	
/*
 * Funktion fuer ueberpruefung Werte Kommentar
 * ####################################
*/

	function checkcommentsfields(form){
		var filter = /^([a-zA-Z0-9_.-])+@(([a-zA-Z0-9-])+.)+([a-zA-Z0-9]{2,3})|(aero|coop|info|museum|name)+$/;
		var send = true;

		if (form.name.value == ''){
			var errormessage1 = 'Bitte geben Sie Ihren Namen ein!';
			document.getElementById('error1').innerHTML = errormessage1;
			send = false;
		}else{document.getElementById('error1').innerHTML = '';}

		if (!filter.test(form.email.value)) {
			var errormessage2 = 'Bitte geben Sie eine korrekte E-Mail Adresse ein!';
			document.getElementById('error2').innerHTML = errormessage2;
			send = false;
		}else{document.getElementById('error2').innerHTML = '';}

		if (form.comment.value == ''){
			var errormessage3 = 'Bitte geben Sie einen Inhalt ein!';
			document.getElementById('error3').innerHTML = errormessage3;
			send = false;
		}else{document.getElementById('error3').innerHTML = '';}
		
		if (form.check.value == ''){
			var errormessage4 = 'Bitte geben Sie den Inhalt aus der Grafik ein!';
			document.getElementById('error4').innerHTML = errormessage4;
			send = false;
		}else{document.getElementById('error4').innerHTML = '';}
				

	return send;
	} 
	
	// AF / 20.04.2010 / Verschlüsselung von Mail Adressen 
	
	function CryptMailto()
    {
        var n = 0;
        var r = "";
        var s = "mailto:"+document.forms[0].emailField.value;
        var e = document.forms[0].emailField.value;

        e = e.replace( /@/, " [at] ");
        e = e.replace( /\./g, " [dot] ");

        for( var i=0; i < s.length; i++ )
        {
            n = s.charCodeAt( i );
            if( n >= 8364 )
            {
                n = 128;
            }
            r += String.fromCharCode(n+1);
        }
        document.forms[0].cyptedEmailField.value = r;
        document.forms[0].HTMLCyptedEmailField.value = "<a href=\"javascript:linkTo_UnCryptMailto('"+ r +"');\">"+ e +"</a>";
    }

	
	function UnCryptMailto( s )
    {
        var n = 0;
        var r = "";
        for( var i = 0; i < s.length; i++)
        {
            n = s.charCodeAt( i );
            if( n >= 8364 )
            {
                n = 128;
            }
            r += String.fromCharCode( n - 1 );
        }
        return r;
    }

    function linkTo_UnCryptMailto( s )
    {
        location.href=UnCryptMailto( s );
    }    
    
    // AF / 20.04.2010 / Verschlüsselung von Mail Adressen ENDE


    function changeRowNumbers(url) {
    	
    	location.href = url.replace(/{{ROWNUMBERS}}/gi, document.getElementById('rownumbers').options[document.getElementById('rownumbers').selectedIndex].value);
    	
    }
    
    function removeEmptyText(field, text)
    {
    	if(field && field.value == text)
    	{
    		field.style.color = 'black';
    		field.value = '';
    	}
    }
    function addEmptyText(field, text)
    {
    	if(field && field.value == '' || field.value == text)
    	{
    		field.style.color = 'gray';
    		field.value = text;
    	}
    }
    /*
     * US / 18.08.2010 / nbsp / Anzeige eines Ext-Popup-Windows mit titel und msg parameter
     */
    function displayExtWindow(t,m){
    	Ext.Msg.show({
    		title: t,
    		msg: m,
    		buttons: Ext.Msg.OK,
    		animEl: 'elId',
    		cls: 'msgbox'
    	});
    }
    
/*
 * Funktion fuer scrollbaren Skyscraper
 * ####################################
*/

    if (window.addEventListener)
    {
    	window.addEventListener('scroll',chk,false);
    }
    else
    {
    	window.attachEvent('onscroll',chk);
    }

    var lowestTravel=5900, highestTravel=104, startPoint=10; // global travel limits
    var currentOffset=10, newOffset=0, boxObj=null, slideStarted=false;

    function chk()
    {
    	
    	var body = Ext.getBody();
    	var positionY = '';
    	
    	if (navigator.appName == "Microsoft Internet Explorer")
        {
    		positionY = document.documentElement.scrollTop;
        }
    	else
    		positionY = window.scrollY;

    	if(body && typeof body.scrollTop !="undefined")
    	{
    		newOffset=body.scrollTop;
    	}
    	else
    	{
    		if(body && typeof positionY !="undefined")
    		{
    			newOffset= positionY;
    		}
    	}

    	if(slideStarted || newOffset>startPoint)
    	{
    		slideStarted=true;

    		currentOffset=newOffset;
    		Ext.get('bannersky').dom.style.top = ((currentOffset<=highestTravel)?highestTravel : (currentOffset>lowestTravel)?lowestTravel : currentOffset+2)+"px";
    	}
    }

    
