/* DON'T EDIT THIS GENERATED FILE! Changes will be lost. */

AdvConfig.ivwUrl = '//img.web.de/ivw/${type}/gmx_hp/homepage/${path}?ts=${now}';
function qs(el) {
    if (!UserAgent.knowsDom) { return true; }
    if (isSet(RegExp)) {
        var mc = 'hp@suche.suche@home';
        if (el.href.match(/[?&]mc=([^&]*)/)) {
            mc = RegExp.$1;
            el.href = el.href.replace(/[?&]mc=([^&]*)/, '');
        }
        var query = encodeURIComponent(document.forms['formSearch'].elements['su'].value);
        if (el.href.match(/[?&]su=/)) {
            el.href = el.href.replace(new RegExp(/su=[^&]*/), 'su='+query+'&mc='+mc);
        } else {
            el.href += ((el.href.indexOf('?') == -1) ? '?' : '&') + 'su='+query+'&mc='+mc;
        }
    }
    var items = el.parentNode.parentNode.getElementsByTagName('li');
    for (var i=0; i<items.length; i++) {
        if (items[i].getElementsByTagName('a')[0]==el) {
            items[i].className += ' active';
        } else {
            items[i].className = items[i].className.replace(/\bactive\b/g, '');
        }
    }
    return false;
}

function setAdvActive(advId) {
    if (!UserAgent.knowsDom) { return false; }
    var el = document.getElementById(advId);
    if (isNone(el)) { return; }
    if (el.getElementsByTagName('div').length == 0) { return false; }
    el.className = el.className.replace(/\bdynamicLoad\b/, '');
}

function addNgUserId() {
    if (isSet(window['UI_nguserid'])) {
        for (var i=1; i<=3; i++) {
            if (isSet(document.forms['login'+i]) && isSet(document.forms['login'+i].uinguserid)) {
                document.forms['login'+i].uinguserid.value = UI_nguserid;
            }
        }
    } else {
        window.setTimeout(addNgUserId, 1000);
    }
}

function homepageInit() {
    var stat = Params.get('status');
    var activate = null;
    if (isSet(stat)) {
        var msgBox = document.getElementById('msgBox');
        if (isSet(msgBox)) {
            var boxes = getElementsByClassName('modulePart', msgBox, 'div');
            for (var i=0; i<boxes.length; i++) {
                if (!boxes[i].className.split(' ').hasValue('status-'+stat)) { continue; }
                msgBox.style.display = 'block';
                boxes[i].className += ' active';
            }
            if (isSet(document.getElementById('cybercreative'))) {
                var css = newElement('style', {'type': 'text/css'});
                document.getElementsByTagName('head')[0].appendChild(css);
                var lastSheet = document.styleSheets[document.styleSheets.length-1];
                var offset    = msgBox.offsetHeight + 20;
                var cssRules  = [
                    'body, #allServicesLayer, #advCyberCreative .advCyberPart, #advCyberCreativeFullLayer { margin-top: '+offset+'px !important; }',
                    '#navPortal { margin-top: '+(offset+parseInt(getStyle(document.getElementById('navPortal'), 'margin-top')))+'px !important; }',
                ];
                for (var i=0; i<cssRules.length; i++) {
                    var cssRule = cssRules[i];
                    if (isSet(lastSheet.insertRule)) {
                        lastSheet.insertRule(cssRule, lastSheet.cssRules.length);
                    } else {
                        lastSheet.cssText += cssRule;
                    }
                }
            }
        }
    }
    if (stat == 'login-failed') {
        document.body.className += ' loginFailedMessage';
        var cookie = Cookies.getAsString('fm07_setLaunchSettings', '').split('|');
        if (cookie.length>1 && cookie[1]=='true') {
            var tempWin = window.open('about:blank', 'GMXMail2007');
            if (tempWin && !tempWin.closed && tempWin.close) {
                tempWin.close();
            }
        }
    }
    if (isSet(activate) && isSet(activate.onclick)) {
        activate.onclick();
    }
    if (UserAgent.knowsDom) {
        window.addOnload(function() {
            var js = document.createElement('script');
            js.setAttribute('type', 'text/javascript');
            js.setAttribute('src',  '//fips.uimserv.net/ngvar.js');
            var head = document.getElementsByTagName('head')[0];
            head.insertBefore(js, head.firstChild);
            window.setTimeout(addNgUserId, 100);
        });
    }
    var visits = Cookies.increase('visits', 0, '1y');
    initLogin();
    return;
}

function homepageDidLogin() {
    var logins = Cookies.increase('logins', 0, '1y');
}

function initLogin() {
    if (!document.getElementById('formLogin')) { return; }
    window.setTimeout(initLogin.check, 500);
    window.addOnload(function() { initLogin.stop = true; });
    if (UserAgent.isOpera) {
        document.getElementById('formLogin').onsubmit = function() {
            initLogin.check();
            return false;
        }
    }
}
initLogin.checked = 0;
initLogin.stop = false;
initLogin.check = function() {
    var source = document.getElementById('formLogin');
    if (source.username.value == '') {
        if (!initLogin.stop || ++initLogin.checked < 5) {
            return window.setTimeout(initLogin.check, 500);
        }
        return;
    }
    var targetIds = ['formLoginFreemail', 'formLoginPromail', 'formLoginTopmail'];
    for (var i=0; i<targetIds.length; i++) {
        var target = document.getElementById(targetIds[i]);
        if (!target) { continue; }
        if (target.elements['id'].value != target.elements['id'].defaultValue) { continue; }
        if (target.elements['p' ].value != target.elements['p' ].defaultValue) { continue; }
        target.elements['id'].value = source.elements['id'].value;
        target.elements['p' ].value = source.elements['p' ].value;
    }
}

MoveinData = function() {
    this.viewed = 0;
    this.closed = false;
    this.latest = null;
    this.pickle = function() { return this._pickle('MoveinData'); }
}

function MoveinTemplate(browser) {
    var seoUrl = '//service.gmx.net/de/cgi/g.fcgi/products/browser',
        redirectUrl = (browser == 'IE' ?
            'http://r.ui-portal.de/f/gmx_hp/home%40topper%40IE_direkt/t/gmx_produkte/browser/u/c2VydmljZS5nbXgubmV0L2RlL2NnaS9nLmZjZ2kvcHJvZHVjdHMvYnJvd3Nlcj9tYz1nbXhfaHBAaG9tZUB0b3BwZXJASUVfZGlyZWt0LmdteF9wcm9kdWt0ZUBicm93c2Vy/c/nb$FQHIcDuee' :
            'http://r.ui-portal.de/f/gmx_hp/home%40topper%40FF_direkt/t/gmx_produkte/browser/u/c2VydmljZS5nbXgubmV0L2RlL2NnaS9nLmZjZ2kvcHJvZHVjdHMvYnJvd3Nlcj9tYz1nbXhfaHBAaG9tZUB0b3BwZXJARkZfZGlyZWt0LmdteF9wcm9kdWt0ZUBicm93c2Vy/c/JcleNAQ0Sf6C'),
        popupUrl = (browser == 'IE' ?
            'http://r.ui-portal.de/f/gmx_hp/home%40topper%40IE_hint/t/gmx_produkte/browser/u/c2VydmljZS5nbXgubmV0L2RlL2NnaS9nLmZjZ2kvcHJvZHVjdHMvYnJvd3Nlcj9tYz1nbXhfaHBAaG9tZUB0b3BwZXJASUVfaGludC5nbXhfcHJvZHVrdGVAYnJvd3Nlcg__/c/puGZ994TtK7W' :
            'http://r.ui-portal.de/f/gmx_hp/home%40topper%40FF_hint/t/gmx_produkte/browser/u/c2VydmljZS5nbXgubmV0L2RlL2NnaS9nLmZjZ2kvcHJvZHVjdHMvYnJvd3Nlcj9tYz1nbXhfaHBAaG9tZUB0b3BwZXJARkZfaGludC5nbXhfcHJvZHVrdGVAYnJvd3Nlcg__/c/$+4X1EFy3TJP'),
        browserName = (browser == 'IE' ? 'Internet Explorer' : 'Mozilla Firefox');        
    return '<div class="topper-content">'+
           '    <div class="message">'+
           '        <p id="topper-close">' +
           '            <a href="'+seoUrl+'" onclick="if (this.retain) { return false; }; return go(\''+redirectUrl+'\');">'+
           '                Sie surfen mit einer &auml;lteren Browser-Version. <strong>Besser und schneller im Web mit dem neuen '+browserName+' - <span>Jetzt downloaden!</span></strong>'+
           '                <span id="topperClose" title="Benachrichtigung schlie&szlig;en" onclick="this.parentNode.retain = true;"></span>'+
           '                <span id="topperLater" title="Benachrichtigung schlie&szlig;en - Browser-Informationen im Hintergrund &ouml;ffnen" onclick="this.parentNode.retain = true; var infowin = window.open(\''+popupUrl+'\',\'info\',\'width=860,height=600,dependent=no,location=yes,menubar=yes,resizable=yes,scrollbars=yes,status=yes,toolbar=yes\'); infowin.blur();"></span>'+
           '            </a>'+
           '        </p>'+
           '    </div>'+
           '</div>';
}

function homepageMoveinClose() {
    return;
    var data = Cookies.unpickle('moveinBrowser');
    data.closed = true;
    Cookies.set('moveinBrowser', data, '3m');
}
function homepageMoveinAllowed() {
    if (!UserAgent.knowsAjax || !UserAgent.isWin || UserAgent.isIe.gte(8) || UserAgent.isFirefox.gte(3.5)) { return false; }
    if (UserAgent.isSafari)                                                                              { return false; }
    //if (isSet(document.getElementById('buster')))                                                        { return false; }
    if (isSet(document.getElementById('sitebar')))                                                       { return false; }
    if (isSet(document.getElementById('cybercreative')))                                                 { return false; }
    if (isSet(window.advNoTopper) && isTrue(window.advNoTopper))                                         { return false; }
    var now  = new Date();
    var date = now.getFullYear()+'.'+('0'+(now.getMonth()+1)).substr(('0'+(now.getMonth()+1)).length-2)+'.'+('0'+now.getDate()).substr(('0'+now.getDate()).length-2);
    if (date>='2007.05.01' && date<='2007.05.07') { return false; }
    if (date>='2007.05.28' && date<='2007.06.04') { return false; }
    return true;
}
function homepageMovein() {
    if (!homepageMoveinAllowed()) { return; }
    var data = Cookies.unpickle('moveinBrowser');
    if (isSet(data)) {
        if (data.override)       { return; }
    } else {
        data = new MoveinData();
    }
    var body = document.getElementsByTagName('body')[0];
    var version = Math.floor(Math.random()*2);
    var el   = newElement('div', {'id':(version == 0 ? 'advMovein' : 'topper')});
    var ua   = (UserAgent.isIe && (UserAgent.isWin['xp-sp2']||UserAgent.isWin['vista']||UserAgent.isIe[7]) && !UserAgent.isIe[8]) ? 'IE' : 'Firefox';
    var uri  = ((ua == 'IE') ? '/movein_ie.htm' : '/movein_ff.htm').replace(/movein/, (version == 0 ? 'movein' : 'topper'));
    if (version == 0) {
        var obj = new LayerAjaxObject(el, uri, new HtmlRenderer({'postRendering':new Array(createCloseButton)}), new HtmlOutput(), new MoveinEffect(el, {'nextObjId':'container', 'checkBuster':true, 'steps':3, 'timeout':50}), {'module':'advTopper', 'closerId':'advMoveinClose', 'postClose': homepageMoveinClose, 'loadingMessage':''});
    } else {
        el.innerHTML = MoveinTemplate(ua);
        var obj = {
            options: { 
                ivwPath: ['advtopper', 'browser_neu', (ua == 'IE' ? 'ie' : 'mff')]
            },
            register: function(el) {
                var topperFX;
                document.getElementById('topper-close').onclick = function(e) {
                    stopEventPropagation(e);
                    topperFX.run(1);
                };
                topperFX = new MoveinEffect(el, {'nextObjId':'container', 'checkBuster':true, 'steps':3, 'timeout':50});                
                topperFX.register(document.getElementById('topper'));
                topperFX.run(0);
            },
            activate: function() {
                if (isSet(this.options['ivwPath'])) {
                    createIvwCounter(this.options['ivwPath'], true);
                }
            }
        };
    }
    body.insertBefore(el, body.firstChild);
    obj.register(el);
    el.getText = (ua == 'IE')
               ? function() { return 'browser/ie'; }
               : function() { return 'browser/mff'; }
    data.latest = new Date();
    data.viewed++;
    Cookies.set('moveinBrowser', data, '3m');
    obj.activate();
}

window.addOnload(function() { window.setTimeout(homepageMovein, 2000); });

var GetClientStats = new function() {
    this.benchmarkUrl = 'http://service.gmx.net/de/cgi/g.fcgi/misc/mailclient/performance';
    this.checkBrowserType = function() {
        switch (UserAgent.name) {
            case 'Mozilla':
            case 'Firefox':
            case 'Opera':
            case 'Safari':
            case 'Konqueror':
                return UserAgent.name;
            case 'Seamonkey':
                return 'Mozilla';
            case 'MSIE':
                if (UserAgent.isIe[6]) { return 'MSIE6'; }
                if (UserAgent.isIe[7]) { return 'MSIE7'; }
                return 'MSIE';
        }
        return 'unknown';
    }
    this.checkBrowserSupported = function() {
        return UserAgent.isFirefox.gte(1) || UserAgent.isIe.gte(6);
    }
    this.setHtmlValues = function(browserType, javascript) {
        browserSupported = this.checkBrowserSupported();
        javascript       = javascript  || 'true';
        this.createInputElement('browsersupported', browserSupported);
        this.createInputElement('jsenabled',        javascript);
    }
    this.createInputElement = function(name, value) {
        for (var i=1; i<=3; i++) {
            var form = document.forms['login'+i];
            if (!form) { continue; }
            if (UserAgent.isIe) {
                form.appendChild(document.createElement('<input type="hidden" name="' + name + '" value="' + value + '" />'));
            } else {
                form.appendChild(newElement('input', {'type':'hidden', 'name':name, 'value':value}));
            }
        }
    }
    this.modifyLoginForm = function() {
        var e = document.getElementById('inpLoginSubmit');
        e.onclick = this.openClientWindow.bind(this);
    }
    this.openClientWindow = function() {
        this.clientWindow = window.open('about:blank', 'GMXMail2007', 'width=1024,height=768,resizable=yes,scrollbars=yes,status=no');
        this.clientWindow.blur();
        self.focus();
    }
    this.checkPerformance = function() {
        this.setHtmlValues(this.checkBrowserType());
        var cookie = Cookies.getAsString('fm07_setLaunchSettings', '').split('|');
        if (cookie.length>1 && cookie[1]=='true') {
            this.modifyLoginForm();
        }
    }
}
window.addOnload(GetClientStats.checkPerformance.bind(GetClientStats));
popit_checkUrl = function(url) {
    var isFreeMailer = function() {
        return false;
    }
    var usesTabbedBrowsing = function() {
        return popit.getNgCount('tabber');
    }
    if (usesTabbedBrowsing()) { return false; }
    if (url == null)          { return true; }
    if (['sudoku.gmx.de', 'www.gmx.net', 'gmx.de', 'gmx.net', 'www.gmx.de'].hasValue(url.host)) { return true; }
    if (url.host == 'portal.gmx.net') {
        var path = url.path.split('/');
        if (path[2]=='produkte') { return false; }
        return true;
    }
    if (url.host == 'service.gmx.net') { return isFreeMailer(); }
    return false;
}

var Variants = {};
Variants.search = function() {
    var root = document.getElementById('contentBoxSearchGMX').getElementsByTagName('div')[0];
    var rnd  = Math.floor(Math.random()*10000)/100;
    var variant = ['a', 'b'][rnd<50 ? 1 : 0];
    root.className += ' variant-'+variant;
    var mc     = {a:'hp@suche@test.suche@home', b:'hp@suche@testgoogle.suche@home'}[variant];
    var origin = {a:'HP',                       b:'software'                      }[variant];
    window.setTimeout(function() {
        document.getElementById('formSearch').elements['mc'].value     = mc;
        document.getElementById('formSearch').elements['origin'].value = origin;
    }, 1);
    var links = document.getElementById('selectSearchType').getElementsByTagName('a');
    for (var i=0; i<links.length; i++) {
        var mclocal = mc;
        if (/\bmore\b/.test(links[i].parentNode.className)) { mclocal = mclocal.replace('.', '@mehr.'); }
        if (links[i].href.indexOf('?') < 0) { links[i].href += '?'; }
        links[i].href = (links[i].href.replace(/([?&])mc=([^&]*)/, '$1')+'&mc='+mclocal).replace(/\borigin=[^&]*/, 'origin='+origin).replace(/([?&])&/, '$1');
    }
    createIvwCounter(['suche', 'variante', 'total'], true);
    createIvwCounter(['suche', 'variante', variant], true);
}

var NavRunner = new function() {
    this.navObject = null;
    this.open = function(obj) {
        select(obj, false);
        this.getNavObject().open(true);
        if (!this.navObject.positionSet) {
            var navPos = getElementPosition(document.getElementById('navBuster'));
            var boxPos = getElementPosition(document.getElementById('contentBoxSearchGMX').getElementsByTagName('div')[0]);
            if (UserAgent.isIe) {
                document.getElementById('navBuster').style.paddingTop = Math.max(0, boxPos.y - navPos.y) + 'px';
                document.getElementById('navBuster').style.top        = '-2px';
            } else {
                document.getElementById('navBuster').style.marginTop = (boxPos.y - navPos.y) + 'px';
            }
            this.navObject.positionSet = true;
        }
        obj.getElementsByTagName('a')[0].blur();
        obj.style.width = '155px';
        return false;
    }
    this.close = function(obj) {
        this.getNavObject().close();
        obj.getElementsByTagName('a')[0].blur();
        return false;
    }
    this.getNavObject = function() {
        if (this.navObject) { return this.navObject; }
        this.navObject = document.getElementById('nav').fxObject;
        this.navObject.originalClose = this.navObject.close;
        this.navObject.close = function() {
            select(document.getElementById('contentBoxSearchGMXSearch'), false);
            document.getElementById('contentBoxSearchGMX').getElementsByTagName('li')[0].style.width = 'auto';
            this.originalClose(true);
        }.bind(this.navObject);
        return this.navObject;
    }
}

function getTab(pos) {
    var spotlighttabs = document.getElementById('moduleSpotlight').getElementsByTagName('ol')[0].getElementsByTagName('li');
    if (typeof(pos) == 'number') {
        return spotlighttabs[pos-1];
    } else if (typeof(pos) == 'string') {
        if (pos == 'last') {
            return spotlighttabs[spotlighttabs.length-1];
        } else {
            for (var t=0; t<spotlighttabs.length; t++) {
                if (spotlighttabs[t].innerHTML.replace(/\<[^\>]*\>/g,'') == pos) {
                    return spotlighttabs[t];
                }
            }
        }
    }
    return pos;
}

function getContent(pos) {
    var spotlightcontentchilds = document.getElementById('moduleSpotlight').getElementsByTagName('ol')[1].childNodes;
    var spotlightcontent = [];
    for (var c=0; c<spotlightcontentchilds.length; c++) {
        if (spotlightcontentchilds[c].nodeName && spotlightcontentchilds[c].nodeName.toLowerCase() == 'li') {
            spotlightcontent.push(spotlightcontentchilds[c]);
        }
    }
    if (typeof(pos) == 'number') {
        return spotlightcontent[pos-1];
    } else if (typeof(pos) == 'string') {
        if (pos == 'last') {
            return spotlightcontent[spotlightcontent.length-1];
        } else {
            return getCorrespondingLi(getTab(pos));
        }
    }
}

function replaceTab(newtab, newcontent, oldtab, oldcontent) {
    var spotlight = document.getElementById('moduleSpotlight');
    var spotlighttabs = spotlight.getElementsByTagName('ol')[0];
    var spotlightcontent = spotlight.getElementsByTagName('ol')[1];
    spotlightcontent.replaceChild(newcontent, oldcontent);
    spotlighttabs.replaceChild(newtab, oldtab);
}

function insertTab(newtab, newcontent, pos) {
    var spotlight = document.getElementById('moduleSpotlight');
    var spotlighttabs = spotlight.getElementsByTagName('ol')[0];
    var spotlightcontent = spotlight.getElementsByTagName('ol')[1];
    spotlightcontent.insertBefore(newcontent, getContent(pos));
    spotlighttabs.insertBefore(newtab, getTab(pos));
}

function addSpotlightErotic(data) {
    var newsflash=document.getElementById('moduleSpotlight').getElementsByTagName('ol')[1].getElementsByTagName('li')[0].getElementsByTagName('div')[0];
    var mittagspause = newsflash;
    while (mittagspause = mittagspause.nextSibling) { if (mittagspause.className == 'moduleFooter') {
        mittagspause.style.display = 'none'; mittagspause = false; }
    }
    newsflash.innerHTML += data.teaserline;
    var erotiktab = document.createElement('li');
    var erotikcontent = document.createElement('li');
    if (data.slot) {
        replaceTab(getTab(data.slot), getCorrespondingLi(getTab(data.slot)), getTab('last'), getCorrespondingLi(getTab('last')));
        insertTab(erotiktab, erotikcontent, data.slot);
    } else {
        replaceTab(erotiktab, erotikcontent, getTab('last'), getCorrespondingLi(getTab('last')));
    }
    erotiktab.className = 'erotikFlash';
    erotiktab.innerHTML = '<a href="http://portal.gmx.net/de/themen/lifestyle/erotik/index.html"><span>Erotik</span></a>';
    erotikcontent.className = 'teaser erotikFlash';
    setAjaxFunc = function (tab) { return function() {
        var ajaxFunc = new DynAjaxObject(tab, data.contentURL, new HtmlRenderer(), new HtmlOutput(), null, {'module ':'teaser erotikFlash', 'approxHeight':data.contentHeight, 'nedstat':'homepage.startseite.link.content.erotik.reiter'});
        ajaxFunc.register(tab);
    }}(erotiktab);
    ajaxInt = window.setInterval(function() {
        if (window.DynAjaxObject) {
            setAjaxFunc();
            window.clearInterval(ajaxInt);
        }
    }, 245);
}

function spotlightErotic(data) {
    if (window.activateSpotlight && activateSpotlight.stopped !== true) {
        var oldFunc = activateSpotlight.stopLoading;
        activateSpotlight.stopLoading = function() {
            oldFunc();
            addSpotlightErotic(data);
        }
    } else {
        addSpotlightErotic(data);
    }
}

new function() {
    var cname  = 'globvar2';
    var vtype  = 'type2';
    if (!UserAgent.isFirefox.gte(3) && !UserAgent.isIe.gte(7)) {
        createIvwCounter(['globvar', vtype, 'wrongbrowser', UserAgent.name, UserAgent.version], true);
        return;
    }
    var ppv    = 2.9;// Percent Per Variant
    var vcount = 5;// Number of variants (the default is not a variant)
    var cookie = Cookies.getAsString(cname, null);
    var newone = false;
    var doit   = false;
    var now    = new Date();
    var date   = now.getFullYear()+'.'+('0'+(now.getMonth()+1)).substr(('0'+(now.getMonth()+1)).length-2)+'.'+('0'+now.getDate()).substr(('0'+now.getDate()).length-2);
    if (date>='2009.08.18' && date<='2009.08.18') { doit = true; }
    if (doit) {
        if (cookie===null || cookie==0) {
            var rnd = Math.random()*100;
            cookie = rnd < ppv*vcount ? Math.floor(rnd/ppv)+1 : 0;
            newone = true;
            Cookies.set(cname, ''+cookie, '1m');
        }
    }
    if (+cookie>0) {
        function sitestat(u){var d=document;ns_pixelUrl=u+"&ns__t="+(new Date().getTime());u=ns_pixelUrl+"&ns_c="+((d.characterSet)?d.characterSet:d.defaultCharset)+"&ns_ti="+escape(d.title)+"&ns_jspageurl="+escape(d.URL)+"&ns_referrer="+escape(d.referrer);(d.images)?new Image().src=u:d.write('<img src="'+u+'" height="1" width="1" alt="*">');};
        sitestat('//wa.ui-portal.de/gmx/gmx-test/s?homepage_1.beta.'+cookie);
    }
    if (newone) {
        createIvwCounter(['globvar', vtype, 'new', +cookie ? 'variant'+cookie : (cookie===null ? 'notset' : 'default')], true);
    } else {
        createIvwCounter(['globvar', vtype, 'old', +cookie ? 'variant'+cookie : (cookie===null ? 'notset' : 'default')], true);
    }
}

