/* Spam protection
------------------------------------------------------------------------------------------------ */

function getAdr(prefix, postfix, text) {
    document.write('<a href="mailto:' + prefix + '@' + postfix + '">' + (text ? text.replace(/&quot;/g, '"').replace(/%EMAIL%/, prefix + '@' + postfix) : prefix + '@' + postfix) + '</a>');
}

/*function getAdr(prefix, postfix, text) {
        document.write('<a href="mailto:' + prefix + '@' + postfix + '">' + (text ? text : prefix + '@' + postfix) + '</a>');
}*/

cookie_pairs = new Object();
cookie_expiration = new Date(2099,1,1,1,1,1,1);
css_rules = new Object();
css_rules_exceptions = new Object();
css_rules_exceptions.fontsizes = new Object();
css_rules_exceptions.fontsizes['#nav *'] = new Object();
css_rules_exceptions.fontsizes['#nav'] = new Object();
css_rules_exceptions.fontsizes['#bottom *'] = new Object();
css_rules_exceptions.fontsizes['#bottom'] = new Object();

fontsizes_default = new Object();
window_loaded = false;
js_init();

window.onload = js_onload;
function js_init () {

    js_fontsizes_init();
    
    if (js_browser_accepts_cookies()) {
        js_cookie_init();

        if (cookie_pairs.fontsizefactor!=0){
            js_fontsize_change(cookie_pairs.fontsizefactor);
        }
    }
    
}


function js_browser_accepts_cookies () {
    return navigator.cookieEnabled;
}



function js_cookie_init () {

    if (!document.cookie){
        document.cookie = "fontsizefactor=0; path=/; expires=" + cookie_expiration.toGMTString();
    }
    
    cookie_vals = document.cookie.split(";")[0];
    cookie_pairs_arr = cookie_vals.split(",");
    for (pair in cookie_pairs_arr){
        pair_arr = cookie_pairs_arr[pair].split("=");
        cookie_pairs[pair_arr[0]] = pair_arr[1];
    }

    if (cookie_pairs.fontsizefactor){
        parseInt(cookie_pairs.fontsizefactor);
        if (isNaN(cookie_pairs.fontsizefactor)){
            cookie_pairs.fontsizefactor = 0;
        }
    }
    else {
        cookie_pairs.fontsizefactor = 0;
    }
    
    document.cookie = "fontsizefactor=" + cookie_pairs.fontsizefactor + "; path=/; expires=" + cookie_expiration.toGMTString();
}


function js_fontsizes_init() {
    obj_stylesheet = document.styleSheets[1];
    if (obj_stylesheet.rules){
        arr_css_rules = obj_stylesheet.rules;
    }
    else {
        arr_css_rules = obj_stylesheet.cssRules;
    }

    for (i=0;i<arr_css_rules.length;i++){
        rule_name = arr_css_rules[i].selectorText.toLowerCase();

        if (arr_css_rules[i].style.fontSize && arr_css_rules[i].style.fontSize.length > 0){
            
            size = parseInt(arr_css_rules[i].style.fontSize);
            if (size>1){
                css_rules[rule_name] = arr_css_rules[i];                
                fontsizes_default[rule_name] = size;
            }
        }
    }
    
}

function js_fontsize_change_click(factor){
    js_fontsize_change(factor);
    js_fontsize_save(factor);
}

function js_fontsize_change(factor) {
    for (rule in css_rules){
        if (css_rules[rule].style.fontSize && css_rules[rule].style.fontSize.length > 0){
            size = parseInt(css_rules[rule].style.fontSize);
            if (size>1){
                doit = true;
                if (css_rules_exceptions.fontsizes[rule.toLowerCase()]){
                doit = false
                }

                if (doit){
                    size_new = size + parseInt(factor);
                    css_rules[rule].style.fontSize = size_new + 'px';
                }
            }
        }
    }

    if (window_loaded){
        js_content_rerender();
    }

    js_resize();
}



function js_fontsize_reset() {

    for (rule in fontsizes_default){
        css_rules[rule].style.fontSize = fontsizes_default[rule] + 'px';
    }
    
    if (js_browser_accepts_cookies()) {

        cookie_pairs.fontsizefactor = 0;
        document.cookie = "fontsizefactor=" + cookie_pairs.fontsizefactor + "; path=/; expires=" + cookie_expiration.toGMTString();
    }
    

    if (window_loaded){
        js_content_rerender();
    }
    

    js_resize();
}


function js_fontsize_save(factor){
    if (js_browser_accepts_cookies()) {
        if (!cookie_pairs.fontsizefactor) {
            cookie_pairs.fontsizefactor = factor;
        }
        cookie_pairs.fontsizefactor = parseInt(cookie_pairs.fontsizefactor) + parseInt(factor);
        document.cookie = "fontsizefactor=" + cookie_pairs.fontsizefactor + "; path=/; expires=" + cookie_expiration.toGMTString();
    }
}

function js_content_rerender(){
    document.body.innerHTML = document.body.innerHTML;
}


function js_onload(){
    window_loaded = true;
    window.onresize = js_resize;
    js_resize();
}

function Fensterweite() {
  if (window.innerWidth) {
    return window.innerWidth;
  } else if (document.body && document.body.offsetWidth) {
    return document.body.offsetWidth;
  } else {
    return 0;
  }
}

function Fensterhoehe() {
  if (window.innerHeight) {
    return window.innerHeight;
  } else if (document.body && document.body.offsetHeight) {
    return document.body.offsetHeight;
  } else {
    return 0;
  }
}

function js_resize() {
    if (window_loaded){
        var array = new Array("functions_rechts");
        var obj;
    
        if (document.body.offsetWidth < 850) {
            for(i = 0; i < array.length; i++) {
                obj = document.getElementById(array[i])
                if(obj)
                    obj.style.display = 'none';
            }
        } else {
            for(i = 0; i < array.length; i++) {
                obj = document.getElementById(array[i])
                if(obj)
                    obj.style.display = '';
            }
        }

    }
}


function open_function(url,width,height,options)
  {
    self.msgWindow = open(url,"Fenster","width=" + width + ",height=" + height
      + ",screenX=" + (screen.width-width)/2
      + ",screenY=" + (screen.height-height)/2
      + ",dependent=yes"
      + ",left=" + (screen.width-width)/2
      + ",top=" + (screen.height-height)/2
      + options
      );
    self.msgWindow.focus();
    if (self.msgWindow.opener == null) self.msgWindow.opener = self;
  }

function OpenWindow(url, breite, hoehe, scrollbars, menue) {
    Y = (screen.height - hoehe) / 2;
    X = (screen.width - breite) / 2;
    window.open(url, 'w', 'height=' + hoehe + ',width=' + breite + ',top=' + Y + ',left=' + X + ',scrollbars=' + scrollbars + ',menu=' + menue + '');
}
