// JavaScript Document



// inicjalizacja listy dla obiektow
var buttons = new Array();
// inicjalizacja zmiennych globalnych
var Timer;
// inicjalizacja zmienych konfiguracyjnych
var FIRST_ELEMENT, TIME_DELAY;


function random_val() {
    // modulo przez ilosc elementow w tablicy adress
    return Math.round(Math.round(Math.random()*10)) % 7;
}

adress = new Array();
adress["#witamy"]           = 0;
adress["#domeny"]           = 1;
adress["#serwery"]          = 2;
adress["#poczta"]           = 3;
adress["#e-commerce"]       = 4;
adress["#e-marketing"]      = 5;
adress["#bezpieczenstwo"]   = 6;

function menu_on_main() {
    var nr, item, tmp_tag;
    var main_obj        = $("tabsMenu");
    var main_obj_length = $("tabsMenu").getElementsByTagName("li").length;
    
    // dla kazdego elementu li w glownym elemencie ul
    for (item = 0; item < main_obj_length ; ++ item) {
        // jezeli element li posiada link, a link ten w koncu id ma numer odpowiadajacy jakiemus elementowi 'contentXX'
        if ( $("tabsMenu").getElementsByTagName("li")[item].getElementsByTagName("a").length ) {
                tmp_tag = $("tabsMenu").getElementsByTagName("li")[item].getElementsByTagName("a")[0];
                nr      = tmp_tag.id.match(/[\d]+$/);

                if ($("content" + nr)) {
                    // tworzenie instancji obiektu odpowiadajacej linkowi w menu
                    buttons[parseInt(nr)] = new menu_btn(nr, tmp_tag.id);
                }
        }
    }


    // ustawienie zmiennej konfiguracyjnej wg hasha w adresie
    if (location.hash && ! isNaN(adress[location.hash])) {
        FIRST_ELEMENT = adress[location.hash];
    }

// validacja zmiennych konfiguracyjnych
    // jezeli nie istnieje
    if (! FIRST_ELEMENT && isNaN(FIRST_ELEMENT)) {
        buttons[0].activation();
    }
    // jezeli jest liczba
    else if (! isNaN(FIRST_ELEMENT) && buttons[FIRST_ELEMENT] instanceof menu_btn) {
        buttons[FIRST_ELEMENT].activation();
    }
    // jezeli jest liczba w postaci stringu
    else if (/^[\d]+$/.test(FIRST_ELEMENT) && buttons[parseInt(FIRST_ELEMENT)] instanceof menu_btn) {
        buttons[parseInt(FIRST_ELEMENT)].activation();
    }
    // jezeli nie jest liczba (bo dopuszczamy wpisanie id palucha, albo warstwy z contentem)
    else if(isNaN(FIRST_ELEMENT) && buttons[parseInt(FIRST_ELEMENT.match(/[\d]+$/))] instanceof menu_btn) {
        buttons[parseInt(FIRST_ELEMENT.match(/[\d]+$/))].activation();
    }
    // jezeli nie zalapalo sie do zadnego z powyzszych
    else {
        buttons[0].activation();
    }

    // jezeli jest liczba zapisana w postaci stringu
    if (isNaN (TIME_DELAY) && /^[\d]+$/.test(TIME_DELAY)) {
        TIME_DELAY = parseInt(TIME_DELAY);
    }
    // jezeli zmienna jest mniejsza niz 0, albo wieksza niz 5 sekund
    else if(TIME_DELAY < 0 || TIME_DELAY > 5000) {
        TIME_DELAY = 400;
    }
    // jezeli zmienna bedzie pusta
    else if (! TIME_DELAY && isNaN (TIME_DELAY) ) {
        TIME_DELAY = 400;
    }

}
// glowna funkcja do tworzenia obiektow dla lewego menu
function menu_btn (nr, id) {
    this.nr               = nr;
    this.btn              = $(id);
    this.id               = id;
    this.content_box      = $("content" + this.nr);
    // aktywuje przycisk/link i odpowiednie pole z trescia strony,
    // wywoluje deaktywacje wszystkich do tej chwili aktywnych przyciskow/linkow oraz pol z trescia
    this.activation       = function () {
        var item;
        var nr             = parseInt(this.id.match(/[\d]+$/));
        var buttons_length = buttons.length;
        var act_btn        = buttons[nr].btn;

        for (item = 0; item < buttons_length; ++item ) {
            buttons[item].deactivation();
        }

        addClassName (buttons[nr].content_box, "active");

        if (hasClassName (act_btn, "tabTopMenuParent")) {
            removeClassName (act_btn, "tabTopMenuParent");
            addClassName (act_btn, "tabTopMenuActive");
        }
        else if (hasClassName (act_btn, "tab")) {
            removeClassName (act_btn, "tab");
            addClassName (act_btn, "tabActive");
        }
    }
    // aktywuje przycisk/link i odpowiednie pole z trescia strony
    this.deactivation     = function () {
        var nr      = parseInt(this.id.match(/[\d]+$/));
        var act_btn = buttons[nr].btn;

        removeClassName (buttons[nr].content_box, "active");

        if (hasClassName (act_btn, "tabTopMenuActive")) {
            removeClassName (act_btn, "tabTopMenuActive");
            addClassName (act_btn, "tabTopMenuParent");
        }
        else if (hasClassName (act_btn, "tabActive")) {
            removeClassName (act_btn, "tabActive");
            addClassName (act_btn, "tab");
        }
    }
    // dziala po najechaniu kursorem na link/przycisk
    // wywoluje funkcje aktywujaca
    // wlacza Timer - dziala z opoznieniem czasowym zgodnym z konfiguracja
    this.btn.onclick = function () {
        var nr = parseInt(this.id.match(/[\d]+$/));
        Timer  = setTimeout("buttons[" + nr + "].activation()", TIME_DELAY);
    }
    // dziala po opuszczaniu kursora linku/przycisku
    // deaktywuje odliczanie Timera
    this.btn.onmouseout   = function () {
        clearInterval(Timer);
    }
}

// funkcja robi z boksow linki

function link_on_box () {
    var item, nr, link;
    var content = $("mainContent").getElementsByTagName('div');
    var item2 = content.length;
    
    // sprawdzam wszystkie div'y w zawartosci strony z cms-a
    for (item = 0; item < item2; ++item) {
        // jezeli znajde div'a z id zaczynajacym sie od offerItem
        if (content[item].id.indexOf("offerItem") == 0) {
            link = $("offerLink" + content[item].id.match(/[\d]+$/));
            //sprawdzam czy na stronie istnieje link o id offerLinkXXX, gdzie XXX to numer taki sam jak w id powyzszego div
            if (link) {
                // tworze akcje onclick i dodane klase tworzaca pointer z kursora
                content[item].onclick    = function () {location.href = $("offerLink" + this.id.match(/[\d]+$/)).href;}
                content[item].className += " pointer";
            }
        }
    }
}



