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

    prefix: 'subscribe',


    initialize: function() {
        this.observe();
    },


    observe: function() {
        var tabs = $$('.' + this.prefix + '_tab');
        if (tabs) {
            tabs.each(function (element) {
                element.observe('click', function() {
                    this.updateTabs();
                }.bind(this));
            }.bind(this));
        }

        $(this.prefix + '_diff_address').observe('click', function(event) {
            var element = Event.element(event);
            var display = (element.checked == true) ? 'block' : 'none';
            $(this.prefix + '_diff_address_block').setStyle({
               'display':  display
            });
        }.bind(this));
    },


    updateTabs: function() {
        var tabs = $$('.' + this.prefix + '_tab');
        if (tabs) {
            tabs.each(function (element) {
                var tab = this.getTab(element.id);
                if(element.id == "jur" && element.checked==true){
                    $("facture").checked = true;
                    $("facture_block").setStyle({display:"none"});
                    $("facture_msg_block").setStyle({display:"block"});
                }else{
                    $("facture").checked = false;
                    $("facture_block").setStyle({display:"block"});
                    $("facture_msg_block").setStyle({display:"none"});
                }
                var display = (element.checked === true) ? 'block' : 'none';

                
                $$("#tab_"+element.id+" input").each(function(item, index){
                    item.disabled = (this==true ? false : true);
                }.bind(element.checked));
                
                
                $$("#tab_"+element.id+" select").each(function(item, index){
                    item.disabled = (this==true ? false : true);
                }.bind(element.checked));

                tab.setStyle({
                   'display':  display
                });

            }.bind(this));
        }
    },


    getTab: function(name) {
        return $('tab_' + name);
    }

};

var prenumeratos = new Class.create();
prenumeratos.prototype = {
    selected: null,
    table: null,
    initialize: function(table){
        this.table = $$("table#"+table + " tr");
        var i = 1;
        this.table.each(function(item, index){
            if($("pre_" + (index + 1)).checked == true){
                item.addClassName("pr_active");
            }
            item.observe('mouseover', function(e){
                this.item.addClassName("pr_over");
            }.bind({'item':item}));

            item.observe('mouseout', function(e){
                this.item.removeClassName("pr_over");
            }.bind({'item':item}));

            item.observe('mouseout', function(e){
                this.item.removeClassName("pr_over");
            }.bind({'item':item}));

            item.observe('click', function(e){
                $("pre_" + (this.index + 1)).checked = true;
                $$("table#"+table+" .pr_active").each(function(item){
                    item.removeClassName("pr_active");
                });
                this.item.addClassName("pr_active");
            }.bind({'item':item,'index':index,'table':table}));
        });
    }
};
