/**
* logic.js
*
* program logic of the webpresentation from Zeitz Flu&uuml;siggas GmbH 
*
* @version 0.0.1 
* @author Thomas Pr�ger 
*/

/**********************
* GLOBAL
**********************/

/* we will start with page 1 */
var sel_page = "ueuns";

// preloading images

var buttons = new Object();

//ueuns_*.png
buttons["ueuns"] = new Object();
buttons["ueuns"]["norm"] = new Image(144,18);
buttons["ueuns"]["norm"].src =  "images/ueuns_norm.png";
buttons["ueuns"]["act"] = new Image(144,18);
buttons["ueuns"]["act"].src =  "images/ueuns_act.png";
buttons["ueuns"]["sel"] = new Image(144,18);
buttons["ueuns"]["sel"].src =  "images/ueuns_sel.png";

// fluegas_*.png
buttons["fluegas"] = new Object();
buttons["fluegas"]["norm"] = new Image(144,18);
buttons["fluegas"]["norm"].src =  "images/fluegas_norm.png";
buttons["fluegas"]["act"] = new Image(144,18);
buttons["fluegas"]["act"].src =  "images/fluegas_act.png";
buttons["fluegas"]["sel"] = new Image(144,18);
buttons["fluegas"]["sel"].src =  "images/fluegas_sel.png";

// tanks_*.png
buttons["tanks"] = new Object();
buttons["tanks"]["norm"] = new Image(144,18);
buttons["tanks"]["norm"].src =  "images/tanks_norm.png";
buttons["tanks"]["act"] = new Image(144,18);
buttons["tanks"]["act"].src =  "images/tanks_act.png";
buttons["tanks"]["sel"] = new Image(144,18);
buttons["tanks"]["sel"].src =  "images/tanks_sel.png";

// service_*.png
buttons["service"] = new Object();
buttons["service"]["norm"] = new Image(144,18);
buttons["service"]["norm"].src =  "images/service_norm.png";
buttons["service"]["act"] = new Image(144,18);
buttons["service"]["act"].src =  "images/service_act.png";
buttons["service"]["sel"] = new Image(144,18);
buttons["service"]["sel"].src =  "images/service_sel.png";

// kontakt_*.png
buttons["kontakt"] = new Object();
buttons["kontakt"]["norm"] = new Image(144,18);
buttons["kontakt"]["norm"].src =  "images/kontakt_norm.png";
buttons["kontakt"]["act"] = new Image(144,18);
buttons["kontakt"]["act"].src =  "images/kontakt_act.png";
buttons["kontakt"]["sel"] = new Image(144,18);
buttons["kontakt"]["sel"].src =  "images/kontakt_sel.png";

// we need this function since javascript can't access an array via array[stringvariable] so in this
// example we can't just say 'buttons[name]' :( .
function getButtonByName(name) {

    switch(name) {
        case "ueuns": return buttons["ueuns"];
        case "fluegas": return buttons["fluegas"];
        case "tanks": return buttons["tanks"];
        case "service": return buttons["service"];
        case "kontakt": return buttons["kontakt"];
        default: break;
    }

 }

/* mouse enters a button with onmouseover */
function mouseOverButton(name) {

    // no change on selected button
    if(sel_page == name) {
        return;
    }
           
    document.getElementsByName(name)[0].src = getButtonByName(name).act.src;
    
}

/* mouse leaves a button with onmouseout */
function mouseOutButton(name) {

    // no change on selected button
    if(sel_page == name) {
        return;
    }
    
    document.getElementsByName(name)[0].src = getButtonByName(name).norm.src;
}

function mouseClickButton(name) {

    // no action on selected button
    if(sel_page == name) {
        return;
    }
    
    /* disable old div */
    document.getElementById(sel_page + "_div").style.display = "none";    
    /* enable new div */
    document.getElementById(name+ "_div").style.display = "block";
    
    //alert("sel_page: " + sel_page + "\nname: " + name);
    
    /* disable old button if and only if the current page is not the imprint !!*/
    if(sel_page != "impressum") {
        document.getElementsByName(sel_page)[0].src = getButtonByName(sel_page).norm.src;
    }
     /* enable new button if and only if the current page is not the imprint*/
    if(name != "impressum") {
        document.getElementsByName(name)[0].src = getButtonByName(name).sel.src;
    }
    
    /* set current page */
    sel_page = name;
}

/* Testing stuff */
function show_imprint() {

    /* Strategie for calculating geometry of visible of page content:
     *
     * compare innerWidth/offsetWidth and innerHeight/offsetHeight
     * and in each case take the maximum value.
     */

    /*
    var width = Math.max(window.innerWidth, document.body.offsetWidth);
    var height = Math.max(window.innerHeight, document.body.offsetHeight);
    */

    var width = window.innerWidth;
    var height = window.innerHeight + window.pageYOffset;
        
    var posX = window.pageXOffset;
    var posY = window.pageYOffset;

    /*
    var posX = 0;
    var posY = 0;
    */

    //    document.getElementById('shade_div').style.top = posY + "px";
    //    document.getElementById('shade_div').style.left = posX + "px";       
    document.getElementById("shade_div").style.width = width + "px";
    document.getElementById("shade_div").style.height = height + "px";
    
    document.getElementById("shade_div").style.display = "block";

    alert("offsetHeight: " + document.body.offsetHeight + "/offsetWidth: " + document.body.offsetWidth
          + "\ninnerHeight: " + window.innerHeight + "/innerWidth: " + window.innerWidth
          + "\noffsetLeft: " + document.getElementById('shade_div').offsetLeft
          + "/offsetTop: " + document.getElementById('shade_div').offsetTop
          + "\npageXOffset: " + posX + "/pageYOffset: " + posY
          );
}

function hide_imprint() {

    document.getElementById('shade_div').style.display = "none";

}

