/* DON'T EDIT THIS GENERATED FILE! Changes will be lost. */

function hide() {
    if (UserAgent.knowsDom) {
        iframeHeight = document.getElementById('smartframe').offsetHeight;
        if (iframeHeight == 600) {
            document.getElementById('smartframe').style.height = '0px';
            document.getElementById('preloader').style.display = 'block';
        }
    }
}

function searchIfTrue(formId, inputId) {
    if (document.getElementById) {
        var form = document.getElementById(formId);
        var searchterm = document.getElementById(inputId);
        }
    if (form && form.searchterm && form.searchterm.value && form.submit) {
        form.submit();
    }
}

function setFocus(formname, fieldname) {
    if (   document.forms[formname]
        && document.forms[formname].elements[fieldname]
        && document.forms[formname].elements[fieldname].focus) {
        document.forms[formname].elements[fieldname].focus();
    }
}

function setStatus(url) {
    window.status = url;
    return url;
}

function removeStatus() {
    window.status = '';
}

window.onload = function(o) { return function() {
    if (o) o();
    var lnk = document.getElementsByTagName('a');
    for (var l=0; l < lnk.length; l++) {
        if (lnk[l].onmouseover) {
            var seoURL = lnk[l].onmouseover();        
            if (seoURL && typeof(seoURL)=='string') {
                if (!(/^https?:\/\//).test(seoURL) && seoURL.indexOf('#') != 0) { seoURL = 'http://'+seoURL; }
                var redirectURL = lnk[l].href;            
                lnk[l].onclick = function(url) { return function() { return go(url); }}(redirectURL)
                document.links[l].href = seoURL;
                lnk.onmouseover = function() { return true; }
            }
        }
    }
    removeStatus();
}}(window.onload);

function qs(el, id, par) {
    if (typeof(window.RegExp) != 'undefined') {
        if (typeof(par) == 'undefined') { par = 'su'; }
        var query = '';
        if (document.getElementById && document.getElementById(id)) {
            query = encodeURIComponent(document.getElementById(id).value);
        }
        if (el.href.match(/[?&]su=/)) {
            el.href = el.href.replace(new RegExp(/su=[^&]*/), par+'='+query);
        } else {
            el.href += ((el.href.indexOf('?') == -1) ? '?' : '&') + par+'='+query;
        }
    }
    return true;
}

function getRssLink(form, linkId) {
    var link = document.getElementById(linkId);
    if (isNone(link)) { return true; }
    link.getElementsByTagName('strong')[0].innerHTML = form.searchterm.value;
    link.href = 'feed.rss?searchterm=${term}'.inReplace({'term': encodeURIComponent(form.searchterm.value)});
    return false;
}

function toggleElementsVisibility(elem) {
    var body    = document.getElementsByTagName('body')[0];
    var visible = !(body.visibilitySet || false);
    var elem   = (elem) ? elem : new Array();
    var els = document.getElementsByTagName('div');
    for (var i=0; i<els.length; ++i) {
        if ((els[i].id == 'wrMinwidth2') || (els[i].id == 'addons')) { 
            continue;
        }
        if (elem.hasValue(els[i].id)) {
            els[i].style.zIndex = 999;
        } else if (isEmpty(els[i].style.zIndex)) {
            els[i].style.zIndex = 1;
        }
    }
    var inactiveContent = document.getElementById('inactivateContent');
    if (isNone(inactiveContent)) { 
        inactiveContent = newElement('div', {'id':'inactivateContent'});
        document.getElementById('container').appendChild(inactiveContent);
    }
    if (visible) {
        inactiveContent.style.zIndex  = 998;
        inactiveContent.style.display = 'inline';
    } else {
        inactiveContent.style.zIndex  = '';
        inactiveContent.style.display = 'none';
        for (var i = 0; i < els.length; ++i) {
            if ((els[i].id != 'wrMinwidth2') && (els[i].id != 'addons')) { 
                els[i].style.zIndex = '';
            }
        }
    }
    body.visibilitySet = visible;
}

var openLayer;
function toggleRestrictedDiv(div) {
    elem = document.getElementById(div);
    if (elem.style.display == 'block') {
        elem.style.display = 'none';
    } else {
        if (openLayer) openLayer.style.display = 'none';
        elem.style.display = 'block';
        openLayer = elem;
    }    
}

var resultImages  = new Array(); 
var iPosition     = new Array(); 
var cycleVar      = new Array(); 
var looping       = new Array(); 
var fwdDelay      = 3000;
var rwdDelay      = 2000;
function toggleCycle(id) {
    var el = getElementsByClassName('play',  document.getElementById('picCycle'+id), 'li')[0];
    if (isNone(el)) {
        el = getElementsByClassName('pause', document.getElementById('picCycle'+id), 'li')[0];
    }
    if (looping[id]==0) {
        el.className = 'pause';
        looping[id]  = 1;
        cycleVar[id] = setTimeout("nextImg("+id+")", 0);
    } else {
        el.className = 'play';
        looping[id]  = 0;
        clearTimeout(cycleVar[id]); 
    }
}

function toggleIcon(mode, id) {
    var fwd = getElementsByClassName('fwd', document.getElementById('picCycle'+id), 'li')[0];
    var rwd = getElementsByClassName('rwd', document.getElementById('picCycle'+id), 'li')[0];
    if (mode==0) { 
        fwd.className = 'fwd';
        rwd.className = 'rwd';
    } 
    if (mode==1) { 
        fwd.className = 'fwd';
        rwd.className = 'rwd end';
    } 
    if (mode==2) { 
        fwd.className = 'fwd end';
        rwd.className = 'rwd';
    }
}

function nextImg(id) {
    var bild = document.getElementById("img"+id);
    if (resultImages[id].length>(iPosition[id] + 1)) {
        iPosition[id]++;
        bild.src             = resultImages[id][iPosition[id]].img;
        bild.parentNode.href = resultImages[id][iPosition[id]].link;
        if (looping[id] == 1) {
            if (resultImages[id].length>(iPosition[id] + 1)) {
                cycleVar[id] = setTimeout("nextImg("+id+")", fwdDelay);
            } else {
                iPosition[id] = -1;
                cycleVar[id] = setTimeout("nextImg("+id+")", fwdDelay);
                toggleIcon(2, id);
            }
        }
        if (iPosition[id] > -1) {
            if (resultImages[id].length>(iPosition[id] + 1)) toggleIcon(0,id); else toggleIcon(2,id);
        }
        if (iPosition[id] == 0) {
            toggleIcon(1, id);
        }
    } else {
        toggleIcon(2, id);
    }
}

function prevImg(id) {
    var bild = document.getElementById("img"+id);
    if ((iPosition[id] - 1)>=0) {
        iPosition[id]--;
        bild.src             = resultImages[id][iPosition[id]].img;
        bild.parentNode.href = resultImages[id][iPosition[id]].link;
        if ((iPosition[id] - 1)>=0) { toggleIcon(0, id); }
        else                        { toggleIcon(1, id); }
    } else {
        toggleIcon(1, id);
    }
}

function getElementsByClassName(class_name, root_element, element_name) {
    var all_obj;
    var ret_obj = new Array();
    if (isNone(root_element)) { root_element = document; }
    if (isNone(element_name)) { element_name = 'span'; }
    all_obj = root_element.getElementsByTagName(element_name);
    for (i=0; i < all_obj.length; i++) {
        if (all_obj[i].className.indexOf(class_name) != -1) {
            if (all_obj[i].className.split(" ").hasValue(class_name)) {
                ret_obj.push(all_obj[i]);
            }
        }
    }
    return ret_obj;
}

function hasClassName(obj, className) {
    return obj.className.split(' ').hasValue(className);
}

function addClassName(obj, className) {
    if (!hasClassName(obj, className)) {
       obj.className = obj.className + ' ' + className; 
    }
}

function delClassName(obj, className) {
    if (obj.className.indexOf(className) != -1) {
        var classNames = obj.className.split(' ');
        classNames.removeValue(className);
        obj.className = classNames.join(' ');
    }
}

function toggleClassName(obj, className, replaceClassName) {
    if (isSet(replaceClassName)) {
        if (hasClassName(obj, className)) { delClassName(obj, className); addClassName(obj, replaceClassName); }
        else                              { addClassName(obj, className); delClassName(obj, replaceClassName); }
    } else {
        if (hasClassName(obj, className)) { delClassName(obj, className); }
        else                              { addClassName(obj, className); }
    }
}

AbstractStateChanger = function(concreteObject) {
    this.isOpen     = false;
    this.justOpened = false;
    this.object     = null;
    this._getObject = function() {
        if (this.object == null) {
            this.object = this.getObject();
        }
        return this.object;
    }
    this.open = function() {
        this.justOpened = true;
        if (isSet(this._getObject())) {
            addClassName(this._getObject(), 'opened');
        }
        this.isOpen = true;
    }
    this.close = function() {
        if (this.justOpened) {
            return this.justOpened = false;
        }
        if (isSet(this._getObject())) {
            delClassName(this._getObject(), 'opened');
        }
        this.isOpen = false;
    }
    this.toggle = function() {
        this.isOpen ? this.close() : this.open();
    }
    for (var i in concreteObject) {
        if (isSet(Object.prototype[i])) { continue; }
        this[i] = concreteObject[i];
    }
}

NavMoreEntries = new AbstractStateChanger({
    _getObject: function() {
        return getElementsByClassName('layer', getElementsByClassName('moreEntries', document, 'li')[0], 'div')[0];
    }
});
document.documentElement.onclick = NavMoreEntries.close.bind(NavMoreEntries);
function _show(element) {
    var list = element.parentNode.parentNode;
    var count =  list.getElementsByTagName("li").length;        
    var id   = 0;
    for (var i=0;i<count;i++) {
        if (list.getElementsByTagName("li")[i].className == 'toggle') {
            id = i;
            break;
        }
    }
    list.getElementsByTagName("li")[id].style.display = 'none';
    for (i = id+1; i<count;i++) {
        list.getElementsByTagName("li")[i].style.display = 'block';
    }
    return false;
}

function _hide(element) {
    var list = element.parentNode.parentNode;
    var count =  list.getElementsByTagName("li").length;        
    var id   = 0;
    var i    = count - 1;
    while (i>0) {
        i = i - 1;
        if (list.getElementsByTagName("li")[i].className == 'toggle') {
            id = i;
            break;
        }
    }
    list.getElementsByTagName("li")[id].style.display = 'block';
    for (i = id+1; i<count;i++) {
        list.getElementsByTagName("li")[i].style.display = 'none';
    } 
    return false;
}

function searchtipsListInit(id) {
    var lists = document.getElementById(id).getElementsByTagName('ul');
    for (var i=0; i<lists.length; i++) {
        var items = lists[i].getElementsByTagName('li');
        var toggle = false;
        for (var j=0; j<items.length; j++) {
            if (toggle) {
                items[j].style.display = 'none';
            }
            if (items[j].className == 'toggle') { 
                if (!toggle) {
                    items[j].style.display = 'block';
                    toggle = true;
                }
            }
        }
    }
}

function _get(name) {
    var url = window.location.search;
    vars = new Array();
    if (url.length>2) {
        getvars = url.substring(1, url.length).split('&');
        for (i=0;i<=getvars.length-1;i++) {
            tmp    = getvars[i].split("=");
            getvar = unescape(tmp[1].replace(/\+/g," "));
            vars[tmp[0]] = getvar;
        }
    }
    return vars[name];
}

function assignclass(element, fontsize, color) {
    var elem = typeof(element)=='string' ? document.getElementsByTagName(element)[0] : element;
    if (fontsize && color) elem.className = fontsize+' '+color;
    if (fontsize && !color) elem.className = fontsize;
    if (!fontsize && color) elem.className = color;
}

checkForNumber = function(id_or_name, formname) {
    var formname = formname;
    var chars = '0123456789';
    var obj = (document.getElementById && document.getElementById(id_or_name) != null)
              ? document.getElementById(id_or_name) : ((document[formname][id_or_name] != null)
              ? document[formname][id_or_name] : '');
    if(obj.type == "text" || obj.type == "textarea") {
        obj.timer = "";
        obj.chars = chars;
        obj.onkeypress = obj.onkeydown = function() {
            var self = this;
            controll = function() {
                for(var t='',x=0; x<self.value.length; ++x) {
                    if(self.chars.indexOf(self.value.charAt(x))>-1) {
                        t += self.value.charAt(x);
                    }
                }
                self.value = t;
            };
            this.timer = setTimeout(controll,1);
        };
        obj.onkeyup = function() {
            clearTimeout(this.timer);
        };
    }
}

function setIframeHeight(iframeId) {
    try {
        var currentheight = 0;
        if (document.getElementById && document.getElementsByTagName('body')[0]) {
            currentheight = document.getElementsByTagName('body')[0].offsetHeight + 10;
        }
        if (document.getElementById && parent.document.getElementById(iframeId)) {
            parent.document.getElementById(iframeId).style.height     = currentheight+'px';
            parent.document.getElementById('preloader').style.display = 'none';
        }
    } catch(e) {
    }
}

function activatefields(el) {
    var element = document.getElementById('publishFrom');
    element.className = 'active';
    if (el.id=='publishFrom') if (element.value == 'DD.MM.YYYY') element.value= '';
    var element = document.getElementById('publishTo');
    if (el.id=='publishTo') if (element.value == 'DD.MM.YYYY') element.value= '';    
    element.className = 'active';    
}

function deactivatefields() {
    var element = document.getElementById('publishFrom');
    if (element.value == 'DD.MM.YYYY') element.className = 'inactive';
    var element = document.getElementById('publishTo');
    if (element.value == 'DD.MM.YYYY') element.className = 'inactive';
}

var musicReleaseDates = {
    'all':      ["",           "22.08.2007"],
    'week':     ["16.08.2007", "22.08.2007"],
    'month':    ["23.07.2007", "22.08.2007"],
    'semiyear': ["23.02.2007", "22.08.2007"],
    'year':     ["23.08.2006", "22.08.2007"]
};
function fillReleaseDates(selectBox) {
    var fromValue = "";
    var toValue   = "";
    var selected = selectBox.options[selectBox.selectedIndex].value;
    if (isSet(musicReleaseDates) && isSet(musicReleaseDates[selected])) {
        fromValue = musicReleaseDates[selected][0];
        toValue   = musicReleaseDates[selected][1];
    }
    document.getElementById("publishFrom").value = fromValue;
    document.getElementById("publishTo").value   = toValue;
    activatefields();
}

function prepareForBmiCalculation(){
    myForm = document.getElementById('bmiForm');
    hiddenField = myForm.su;
    hiddenField.value = 'bmi ' + myForm.sizeInput.value + ' ' + myForm.weight.value + ' ';
    hiddenField.value += myForm.age.value + ' ';
    hiddenField.value += myForm.sex.options[myForm.sex.options.selectedIndex].value;
}

function toggleInfobox(node) {
    var box = node;
    var closer = node.firstChild;
	while(!hasClassName(box, 'infobox') && box != document.documentElement) {
		box = box.parentNode;
	}
	var boxcontent = getElementsByClassName('infoboxPart', box, 'div')[0];
    if (hasClassName(box, 'infoboxClosed')) {	
        	delClassName(box, 'infoboxClosed');
            closer.innerHTML = '<span>schlie&szlig;en</span>';
            boxcontent.style.display = "block";
	} else {			
			addClassName(box, 'infoboxClosed');
            closer.innerHTML = '<span>&ouml;ffnen</span>';
            boxcontent.style.display = "none";
	}
}

