﻿// JScript File
var ToggleControl = Class.create();

ToggleControl.prototype = {
    initialize: function (arrayOfToogleControlData, options)
    {
        this.__data = arrayOfToogleControlData;
        var THIS = this;
        var I = 0;
        this.__data.each(function (tc) {tc.__bind(I++,THIS); });

        this.__options = {disablePageControlState:true};
        if (options) Object.extend(this.__options,options);
        
        var selindex = 0;
        if (!this.__options.disablePageControlState)
        {
            this.__pcskey = "TJOHO";
            var state = PageControlState.getControlState(this.__pcskey);
            if ((state) && ("si" in state))
            {
                selindex = state["si"];
                //alert(selindex);
            }
        }
        if (selindex > this.__data.length) selindex = 0;
        if (selindex < this.__data.length) this.__select(selindex);
    },
    __select: function (idx)
    {
        for (var i = 0; i < this.__data.length; ++i)
        {
            this.__data[i].__setVisibility(i != idx);
        }
        if (!this.__options.disablePageControlState)
        {
            var state = PageControlState.getControlState(this.__pcskey);
            if (state == null) state = {};
            state["si"] = idx;
            PageControlState.setControlState(this.__pcskey,state);
        }
    }
};

var ToggleControlData = Class.create();

ToggleControlData.prototype = 
{
    initialize: function (cl, el1, el2, el3, etc)
    {
        this.__cl = cl;
        this.__els = [];
        for (var i = 1; i < arguments.length; ++i)
        {
            this.__els.push(arguments[i]);
        }
    },
    __bind: function(i,tc)
    {
        this.__i = i;
        this.__tc = tc;
        Event.observe($(this.__cl),"click",this.__onclick.bindAsEventListener(this));
    },
    __setVisibility: function (visible)
    {
        if (visible)
            this.__els.each(function (el) {Element.show(el);});
        else
            this.__els.each(function (el) {Element.hide(el);});
    },
    __onclick: function ()
    {
        this.__tc.__select(this.__i);
    }
}

