/*
    telkkucom_base.js
    Jadecon Oy, 2000-2007
*/


var Defaults = {
    defaultInputValues: {        
        fi : {
            "login"    : "Käyttäjä",
            "password" : "Salasana",
            "search"   : "Haku"
        },        
        en : {
            "login"    : "Login",
            "password" : "Password",
            "search"   : "Search"
        }        
    },
    
    footerAds : [ 'silverScreenSlot', 'tickerBanner', 'spotlight' ]
    
}


var Application = {


    init: function(lang) {
        var usernameInput = document.getElementById('username');
        var passwordInput = document.getElementById('password');
        var searchInput   = document.getElementById('hakusana');
        
        if (usernameInput) {
            usernameInput.onfocus = function() { Application.clearInput(this,   Defaults.defaultInputValues[lang]["login"]); };
            usernameInput.onblur  = function() { Application.defaultInput(this, Defaults.defaultInputValues[lang]["login"]); };
        }
        if (passwordInput) {
            passwordInput.onfocus = function() { Application.clearInput(this,   Defaults.defaultInputValues[lang]["password"]); };
            passwordInput.onblur  = function() { Application.defaultInput(this, Defaults.defaultInputValues[lang]["password"]); };
        }
        if (searchInput) {
            searchInput.onfocus   = function() { Application.clearInput(this,   Defaults.defaultInputValues[lang]["search"]); };
            searchInput.onblur    = function() { Application.defaultInput(this, Defaults.defaultInputValues[lang]["search"]); };        
        }
    },


    clearInput: function(inputField, defaultValue) {
        if (inputField.value == defaultValue) {
            inputField.value = '';
        }
    },


    defaultInput: function(inputField, defaultValue) {
        if (inputField.value == '') {
            inputField.value = defaultValue;
        }
    },


    /**
     *  hideElement 
     *
     *  arguments:
     *    elementId - id of element to be hidden
     *    type      - "display" or "visibility" (optional, defaults to display)
     */
    hideElement: function(elementId, type) {
        var element = document.getElementById(elementId);
        
        if (element) {
            if ((arguments.length < 2) || (type == "display")) {
                element.style.display = 'none';
            }
            else {            
                element.style.visibility = 'hidden';
            }
        }
    },


    /**
     *  showElement 
     *
     *  arguments:
     *    elementId - id of element to show
     *    type      - "display" or "visibility" (optional, defaults to display)
     */
    showElement: function(elementId, type) {
        var element = document.getElementById(elementId);
        
        if (element) {
            if ((arguments.length < 2) || (type == "display")) {
                element.style.display = '';
            }
            else {            
                element.style.visibility = 'visible';
            }    
        }
    },

    hideFooterAds: function() {    
        for (var i = 0; i < Defaults.footerAds.length; i++) {
            this.hideElement(Defaults.footerAds[i], "visibility");
        }
    },

    showFooterAds: function() {
        for (var i = 0; i < Defaults.footerAds.length; i++) {
            this.showElement(Defaults.footerAds[i], "visibility");
        }
    },

    /**
     * Assigns onclick events for the links in the program table.
     */
    assignProgramTableOnclicks: function() {
        var programTable = document.getElementById('ohjelmataulu');
        if (programTable) {
            var links = programTable.getElementsByTagName("a");
            for (var i = 0; i < links.length; i++) {                
                if (links[i].href.indexOf("tiedot") != -1) {
                    links[i].onclick = function() {
                        popup(this.href);
                        return false;
                    }
                }
            }
        }
    } 

}

