/*  Prototabs
 *  (c) 2007 James Starmer
 *
 *  Prototabs is freely distributable under the terms of an MIT-style license.
 *  For details, see the web site: http://www.jamesstarmer.com/prototabs
 *
/*--------------------------------------------------------------------------*/

var ProtoTabs = Class.create();
ProtoTabs.prototype = {

    initialize: function(element, options) {
        this.options = Object.extend({
            defaultPanel: '',
            ajaxUrls:             {},
            ajaxLoadingText:     'Loading...'
        }, options || {});

        this.currentTab = '';

        this.element = $(element);
        this.listElements = $A(this.element.getElementsByTagName('LI'));

        //loop over each list element
        for(i = 0; i < this.listElements.length; i++) {

            //get the tabs
            tabLI = this.listElements[i];
            var itemLinks = tabLI.getElementsByTagName('A');
            tabLI.itemId = itemLinks[0].href.split("#")[1];
            tabLI.linkedPanel = $(tabLI.itemId);
            tabLI.linkedPanel.style.clear = "both";        //firefox hack

            //check for the intially active tab
            if((this.options.defaultPanel != '') && (this.options.defaultPanel == tabLI.itemId)){
                this.openPanel(tabLI);
            }else{
                $($(tabLI).linkedPanel).hide();
            }

            // watch for clicked
            $(itemLinks[0]).observe('click', function(event){
                    element = Event.findElement(event, 'LI');
                    this.openPanel(element);
                    Event.stop(event); // like return false;
            }.bind(this));
        }

    },

    openPanel: function(tab){

        tab = $(tab); // ie hack

        if(this.currentTab != ''){
            this.currentTab.linkedPanel.hide();
            this.currentTab.removeClassName('selected');
        }

        //set the currently open panel to the new panel
        this.currentTab = tab;

        tab.linkedPanel.show();
        tab.addClassName('selected');
        if(document.getElementById('all_1') != null){
            var akcija = document.getElementById('all_1').className;
            var m1_a = document.getElementById('m1_a');
            var m2_a = document.getElementById('m2_a');
            var m3_a = document.getElementById('m3_a');
            var new2 = document.getElementById('all_2').className;
            var m1_n = document.getElementById('m1_n');
            var m2_n = document.getElementById('m2_n');
            var m3_n = document.getElementById('m3_n');
            var visi = document.getElementById('all_3').className;
            var m1_v = document.getElementById('m1_v');
            var m2_v = document.getElementById('m2_v');
            var m3_v = document.getElementById('m3_v');
            if(akcija=="selected") {
            m1_a.className='pav1';
            m2_a.className='pav2';
            m3_a.className='pav3';
        }
        else{
            m1_a.className='pav4';
            m2_a.className='pav5';
            m3_a.className='pav6';
        }
        if(new2=="selected") {
            m1_n.className='pav1';
            m2_n.className='pav2';
            m3_n.className='pav3';
        }
        else{
            m1_n.className='pav4';
            m2_n.className='pav5';
            m3_n.className='pav6';
        }
        if(visi=="selected") {
            m1_v.className='pav1';
            m2_v.className='pav2';
            m3_v.className='pav3';
        }
        else{
            m1_v.className='pav4';
            m2_v.className='pav5';
            m3_v.className='pav6';
        }

        }
        if(document.getElementById('survey')!= null){
            var ap1 = document.getElementById('ap_1').className;
            var m1_b = document.getElementById('m1_b');
            var m2_b = document.getElementById('m2_b');
            var m3_b = document.getElementById('m3_b');
            var ap2 = document.getElementById('ap_2').className;
            var m1_r = document.getElementById('m1_r');
            var m2_r = document.getElementById('m2_r');
            var m3_r = document.getElementById('m3_r');

        if(ap1=="selected") {
            m1_b.className='pav1';
            m2_b.className='pav2';
            m3_b.className='pav3';
        }
        else{
            m1_b.className='pav4';
            m2_b.className='pav5';
            m3_b.className='pav6';
        }
        if(ap2=="selected") {
            m1_r.className='pav1';
            m2_r.className='pav2';
            m3_r.className='pav3';
        }
        else{
            m1_r.className='pav4';
            m2_r.className='pav5';
            m3_r.className='pav6';
        }
        }
        var url = this.options.ajaxUrls[tab.itemId];

        // if there is an ajax url defined update the panel with ajax
        if(url != undefined){
            tab.linkedPanel.update(this.options.ajaxLoadingText);
            new Ajax.Request(url,{
                onComplete: function(transport) {
                    tab.linkedPanel.update(transport.responseText);
                }
            });
        }

    }
};