ladekreis     = new Image();
ladekreis.src = "images/ladekreis.gif";

menu_size = 6;

window.onload = function start_up() {
    if (!document.getElementById) {
        return false;
    }
    
    ie6 = detect_ie6();
    
    if (!ie6) {
        head_positions = new Array();
        init_menu_swapper();
        init_img_swapper();
    }
    else {
        document.getElementById("img_right").innerHTML = '<img id="img_right_img" src="images/bild_01.jpg" width="250" height="250" alt="" />';
    }
    
    init_viewport_switch();
    
    if (document.getElementById("newsletter")) {
        ajax0 = new ajax();
        ajax0.request("newsletter.php", "newsletter");
    }
    
    load_player(0, false);
}

load_player = function (song, play) {
    if (play) {
        autostart = 'yes';
    }
    else {
        autostart = 'no';
    }
    
    if (document.getElementById("player")) {
        document.getElementById("player").innerHTML = '\n\t\t<object onmouseout="if (this.blur) this.blur();" type="application/x-shockwave-flash" data="emff_17seconds.swf" width="84" height="50">\n\t\t\t<param name="movie" value="emff_17seconds.swf" />\n\t\t\t<param name="bgcolor" value="#999999" />\n\t\t\t<param name="FlashVars" value="playlist=playlist.xml.php?song='+song+'&amp;autostart='+autostart+'&amp;repeat=yes&amp;autoload=yes&amp;volume=80" />\n\t</object>';
    }
}

init_viewport_switch = function () {
    if (document.getElementById("menu") &&
        document.getElementById("img_right") &&
        document.getElementById("list_player")) {
        
        menu_bottom = document.getElementById("menu").offsetTop + document.getElementById("menu").offsetHeight;
    
        viewport_switch_active = false;
        viewport_switch_interval = window.setInterval("viewport_switch()", 1000);
    }
}

viewport_switch = function() {
    // try to rearrange right pane if viewport height is too small
    
    var viewport_height = get_viewport_height();
    
    if (!viewport_switch_active && viewport_height < menu_bottom-50) {
        // rearrange right pane
        document.getElementById("img_right").style.display = "none";
        document.getElementById("menu").style.top          = "75px";
        document.getElementById("list_player").style.top   = "100px";
        
        viewport_switch_active = true;
    }
    else if (viewport_height > menu_bottom) {
        document.getElementById("menu").style.top          = "300px";
        document.getElementById("list_player").style.top   = "325px";
        document.getElementById("img_right").style.display = "block";
        
        viewport_switch_active = false;
    }
}

init_img_swapper = function () {
    if (document.getElementById && document.getElementById("img_right")) {
        fade_step     = 5;    // [%]
        fade_interval = 40;   // [ms]
        fade_pause    = 2500; // [ms]
        
        images    = new Array();
        images[0] = "images/bild_1.jpg";
        images[1] = "images/bild_2.jpg";
        images[2] = "images/bild_3.jpg";
        images[3] = "images/bild_4.jpg";
        images[4] = "images/bild_5.jpg";
        images[5] = "images/bild_6.jpg";
        
        /*********************************/
        
        fade    = "out";
        opacity = 100;
        
        var preloads = new Array();
        
        for (i=0; i<images.length; i++) {
            preloads[i] = new Image();
            preloads[i].src = images[i];
        }
        
        img_number = 0;
        
        document.getElementById("img_right").style.backgroundImage = 'url("'+images[img_number]+'")';
        
        window.setTimeout("init_img_swapper_interval()", fade_pause);
    }
}

init_img_swapper_interval = function () {
    img_swapper_interval = window.setInterval("img_swapper()", fade_interval);
}

img_swapper = function () {
    if (fade == "out") {
        if (opacity > 0) {
            // fade step out
            img_swapper_fade(-fade_step);
        }
        else {
            // swap img
            if (img_number == images.length-1) {
                img_number = 0;
            }
            else {
                img_number++;
            }
            
            document.getElementById("img_right").style.backgroundImage = 'url("'+images[img_number]+'")';
            
            fade = "in";
        }
    }
    else {
        if (opacity < 100) {
            // fade step in
            img_swapper_fade(fade_step);
        }
        else {
            // fade in complete
            fade = "out";
            window.clearInterval(img_swapper_interval);
            window.setTimeout("init_img_swapper_interval()", fade_pause);
        }
    }
}

img_swapper_fade = function (step) {
    if (document.getElementById && 
        document.getElementById("img_right")) {
        
        opacity +=step;
        
        if (navigator.appName=="Microsoft Internet Explorer") {
            document.getElementById("img_right").style.filter="progid:DXImageTransform.Microsoft.Alpha(opacity="+opacity+")";
        }
        else {
            document.getElementById("img_right").style.opacity = opacity/100;
        }
    }
}

send_newsletter_form = function () {
    if (document.getElementById && 
        document.getElementById("newsletter_email") && 
        document.getElementById("newsletter_funktion_rein") && 
        document.getElementById("newsletter_funktion_raus")) {
        
        if (document.getElementById("newsletter_funktion_raus").checked == true) {
            var funktion = "raus";
        }
        else {
            var funktion = "rein";
        }
        
        
        url = 
            "newsletter.php?email=" + 
            encodeURIComponent(document.getElementById("newsletter_email").value) + 
            "&funktion=" + funktion;
        
        ajax0.request(url, "newsletter");
    }
}

init_menu_swapper = function () {
    headlines = document.getElementsByTagName("h1");
    
    h1_ids = new Array;
    
    for (i=0; i<headlines.length; i++) {
        h1_ids[i] = headlines[i].id;
    }
    
    menu_swapper_interval = window.setInterval("check_menu()", 100);
}

check_menu = function () {
    scroll_amount   = get_scroll_amount();
    viewport_height = get_viewport_height();
    page_height     = get_page_height();
    get_head_positions();
    
    if (scroll_amount + viewport_height + 5 >= page_height) {
        set_menu(menu_size-1);
        return true;
    }
    
    for (i=0; i<menu_size; i++) {
        if (head_positions[i]+5 > scroll_amount) {
            set_menu(i);
            return true;
        }
    }
}

set_menu = function (number) {
    for (i=0; i<menu_size; i++) {
        if (document.getElementById("menu_"+i)) {
            document.getElementById("menu_"+i).className = "inactive";
        }
    }
    
    if (document.getElementById("menu_"+number)) {
        document.getElementById("menu_"+number).className = "active";
    }
}

get_head_positions = function () {
    for (i=0; i<menu_size; i++) {
        if (document.getElementById(h1_ids[i])) {
            head_positions[i] = document.getElementById(h1_ids[i]).offsetTop;
        }
    }
}

get_scroll_amount = function ()
{
    if (navigator.appName=="Microsoft Internet Explorer") {
        return document.documentElement.scrollTop;
    }
    else {
        return window.pageYOffset;
    }
}

get_page_height = function () {
    if (navigator.appName=="Microsoft Internet Explorer") {
        return document.body.scrollHeight;
    }
    else {
        return document.height;
    }
}

get_viewport_height = function () {
    if (navigator.appName == "Microsoft Internet Explorer") {
        return document.documentElement.clientHeight;
    }
    else {
        return window.innerHeight
    }
}

detect_ie6 = function() {
    if (navigator.appName != 'Microsoft Internet Explorer') {
        return false;
    }
    
    var parts = navigator.appVersion.split(" ");
    
    for (i=0; i<parts.length; i++) {
        if (parts[i] == "MSIE") {
            if (parts[i+1].substr(0,1) <= 6) {
                return true;
            }
        }
        
    }
    
    return false;
}
    