// decrypt helper function
function decryptCharcode(n, start, end, offset){
    n = n + offset;
    if (offset > 0 && n > end) {
        n = start + (n - end - 1);
    }
    else 
        if (offset < 0 && n < start) {
            n = end - (start - n - 1);
        }
    return String.fromCharCode(n);
}

// decrypt string
function decryptString(enc, offset){
    var dec = "";
    var len = enc.length;
    for (var i = 0; i < len; i++) {
        var n = enc.charCodeAt(i);
        if (n >= 0x2B && n <= 0x3A) {
            dec += decryptCharcode(n, 0x2B, 0x3A, offset); // 0-9 . , - + / :
        }
        else 
            if (n >= 0x40 && n <= 0x5A) {
                dec += decryptCharcode(n, 0x40, 0x5A, offset); // A-Z @
            }
            else 
                if (n >= 0x61 && n <= 0x7A) {
                    dec += decryptCharcode(n, 0x61, 0x7A, offset); // a-z
                }
                else {
                    dec += enc.charAt(i);
                }
    }
    return dec;
}

// decrypt spam-protected emails
function linkTo_UnCryptMailto(s){
    location.href = decryptString(s, -1);
}

sfHover = function() {
	var sfEls = document.getElementById("nav").getElementsByTagName("li");
	for (var i=0; i<sfEls.length; i++) {
		sfEls[i].onmouseover=function() {
			this.className+=" sfhover";
			//_Layer_fixIEListboxBug(this);
		}
		sfEls[i].onmouseout=function() {
			this.className=this.className.replace(new RegExp(" sfhover\\b"), "");
			//_Layer_fixIEListboxBug();
		}
	}
}
if (window.attachEvent) window.attachEvent("onload", sfHover);

fixIEListboxBug = function _Layer_fixIEListboxBug(el) {  
    if(document.all && !window.opera) {  
        var content = el.div.innerHTML;  
        el.div.innerHTML = '<iframe frameborder="0" style="position:absolute; left:0; top:0; width:100%; height:100%; margin:0; padding:0; background:transparent; filter:alpha(opacity=0);"></iframe>';  
 
        el.iframe = el.div.firstChild;  
 
        child = document.createElement('DIV');  
        el.div.appendChild(child);  
        child.style.position = 'absolute';  
        child.style.left = '0px';  
        child.style.top = '0px';  
        child.style.width = '100%';  
        child.style.height = '100%';  
        child.innerHTML = content;  
 
        child.className = this.div.className;  
        el.div.className = '';  
 
        return child;  
 
    }  
    else {  
        return el.div;  
    }  
} 



/*#################################################################
 * Beginn Toggle
 *################################################################*/
function show (id) {
  if(document.getElementById){
    document.getElementById(id).style.display = "block";
  }
}
function hide (id) {
  if(document.getElementById){
    document.getElementById(id).style.display = "none";
  }
}

function toggle(id){
   if(document.getElementById){
       if (document.getElementById(id).style.display == 'none' || document.getElementById(id).style.display == '') {
           show(id);
       } else {
           hide(id);
       }
   } 
} 

function toggle_close(id){
   if(document.getElementById){
       if (document.getElementById(id).style.display == 'none' || document.getElementById(id).style.display == '') {
           show(id);
       } else {
           hide(id);
       }
   } 
}

function makeArrow(id) {
   if(document.getElementById(id)){
       if (document.getElementById(id).className == "arrow-down") {
    		document.getElementById(id).className = "";	          
       } else {
    		document.getElementById(id).className = "arrow-down";		   
       }
   } 
}

/*#################################################################
 * Ende Toggle
 *################################################################*/

/*#################################################################
 * Firefox Schlagschatten-Hack
 * FF kann kein text-shadow und kennt keine Filter. Daher wird der 
 * Content der übergebenen ID verdoppelt und per CSS passend 
 * übereinander gelegt.
 *################################################################*/
var createDropShadow = function(myId) {
	var isGecko = getIsGecko();
	var el;
	var origText;
	var shadowedText;
	
	if (isGecko == true){
		el = document.getElementById(myId);
		
		if (el != undefined) {
			origText = el.innerHTML;
			shadowedText = "<div class='headwrapper'><div class='letters'>" + origText + "</div><div class='shadow'>" + origText + "</div></div>";
			el.innerHTML = shadowedText;
			
		} else {
			// nichts zu tun. Element nicht gefunden.
			// throw "Element '" + myId + "' not found.";
		}
		
	} else {
		// Nichts zu tun. 
	}
}

// Gecko und Safari unterscheiden
var getIsGecko = function() {
	var isGecko, isLikeGecko, containsGecko;
	(navigator.userAgent.search(/Gecko/) >= 0) ? containsGecko = true : containsGecko = false;
	(navigator.userAgent.search(/like Gecko/) >= 0) ? isLikeGecko = true : isLikeGecko = false;
	
	if (containsGecko == true && isLikeGecko == false) {
		isGecko = true;
	} else {
		isGecko = false;
	}
	return isGecko;
}

// Wrapper für alle nötigen Calls.
var createAllDropShadows = function() {
	createDropShadow('teaserheadtop');
	createDropShadow('teaserheadbottom');
}

window.onload = createAllDropShadows;

/*#################################################################
 * Ende Firefox Schlagschatten-Hack
 *################################################################*/


