/**
 * @author Sebastian Schreiber
 * @version $Id: general_shared.js 1272 2011-06-20 09:09:09Z ssh-712109 $
 */
var Misc = {
    start : function() {
        Misc.checkoldnew();
        Misc.checkStripeTable();
        Misc.checkToTop();
        Misc.checkDropDownMenu();        
    },

    checkIFrame : function() {
        f = $('childframe');
        if(f) {
            f.style.height = parseInt(f.contentWindow.document.body.scrollHeight + 20) + "px";
            allLinks = f.contentWindow.document.body.getElementsByTagName("a");
            for ( var i = 0; i < allLinks.length; i++) {
                var el = allLinks[i];
                if($(el).hasClass('internal-link')) {
                    allLinks[i].setAttribute('target', '_parent');
                }
            }
        }
    },

    checkStripeTable : function() {
        tables = $$('table.zebra');
        if (tables) {
            tables.each(function(el, i) {
                Misc.stripeTable(el);
            }, this);
        }
    },

    checkoldnew : function() {
        $$("input.checkoldnew").each(function(f) {
            if (f.value != "") {
                var old = f.value;
                
                f.addEvent("focus", function() {
                    if (f.value == old)
                        f.value = old;
                });
                f.addEvent("blur", function() {
                    if (f.value == "")
                        f.value = old;
                });
            }
        });
        $$("input#searchterm").each(function(f) {
            if (f.value != "") {
                var old = f.value;

                f.addEvent("focus", function() {
                    if (f.value == old)
                        f.value = "";
                });
                f.addEvent("blur", function() {
                    if (f.value == "")
                        f.value = old;
                });
            }
        });
    },

    stripeTable : function(el) {

        var even = false;

        var evenClass = arguments[1] ? arguments[1] : "even";
        var oddClass = arguments[2] ? arguments[2] : "odd";
        var table = el;
        if (!table) {
            return;
        }

        var tbodies = table.getElementsByTagName("tbody");

        for ( var h = 0; h < tbodies.length; h++) {

            var trs = tbodies[h].getElementsByTagName("tr");

            for ( var i = 0; i < trs.length; i++) {
                var className = even ? evenClass : oddClass;
                trs[i].addClass(className);
                even = !even;
            }
        }
    },

    checkToTop : function() {
        var totopLinks = $$('a.totop')
        if (totopLinks) {
            totopLinks.each(function(el, i) {
                el.addEvent('click', function() {
                    var myFx = new Fx.Scroll(window).toTop();
                });
            }, this);
        }
    },
	
    checkDropDownMenu: function() {
        var menuItems = $$('#navigation li.first_level');
        if (menuItems) {
            menuItems.each(function(el, i){
                Misc.createOver(el, i);
            }, this);
        }      
    },
    createOver: function(el, i){
        el.addEvent('mouseenter', function(e){
            el.addClass('over');
        });
        el.addEvent('mouseleave', function(e){
            el.removeClass('over');
        });
    }
}

// window.addEvent('load', Misc.start);
window.addEvent('domready', Misc.start);
window.addEvent('load', Misc.checkIFrame);

/* TYPO3 - Decrypt-Function for Mails */
var browserName = navigator.appName;
var browserVer = parseInt(navigator.appVersion);
var version = "";
var msie4 = (browserName == "Microsoft Internet Explorer" && browserVer >= 4);
if ((browserName == "Netscape" && browserVer >= 3) || msie4
    || browserName == "Konqueror" || browserName == "Opera") {
    version = "n3";
} else {
    version = "n2";
}
function blurLink(theObject) {
    if (msie4) {
        theObject.blur();
    }
}
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);
}
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);
        } else if (n >= 0x40 && n <= 0x5A) {
            dec += decryptCharcode(n, 0x40, 0x5A, offset);
        } else if (n >= 0x61 && n <= 0x7A) {
            dec += decryptCharcode(n, 0x61, 0x7A, offset);
        } else {
            dec += enc.charAt(i);
        }
    }
    return dec;
}
function linkTo_UnCryptMailto(s) {
    location.href = decryptString(s, -2);
}




