
//
// Langevin & Forest
//

// safely init global namespace
if (window.langevin == null) {
    langevin = {};
}
if (window.langevin.magento == null) {
    langevin.magento = {};
}

// onload domready event
Event.observe(window,'load',function(){

    $$('.summary-details').each(function(el){el.show();});
    $$('.summary-total').each(function(el){el.hide();});

    var tabs = $$('.langevin-tabs');
    //langevin.magento.tabs = [];

    tabs.each(function(tab,i){

        var buttons = $A(tab.select('.langevin-tabs-buttons .langevin-tabs-button'));
        var pages = $A(tab.select('.langevin-tabs-pages .langevin-tabs-page'));

        buttons.each(function(button,j){

            var a = $A(button.select('a')).first();

            if (a != null) {

                a.href = 'javascript:;';

                a.observe('click',function(){

                    pages.each(function(page,k){
                        page.removeClassName('selected');
                    });

                    var page = pages[j];
                    if (page != null) {
                        page.addClassName('selected');
                    }

                    buttons.each(function(button,k){
                        button.removeClassName('selected');
                    });

                    button.addClassName('selected');
                });
            }

            if (j==0) {
                button.addClassName('selected');
                pages.first().addClassName('selected');
            }
        });

    });
    
},false);

VarienForm.addMethods({
    // add functions to extend form object
})


if (window.Product == null) {
    Product = {};
}
if (window.Product.Super == null) {
    Product.Super = {};
}
Product.Super.Grouped = Class.create();
Product.Super.Grouped.prototype = {

    initialize : function(table){
        this.table = $(table);
        this.registerObservers();
        document.observe("dom:loaded", this.onDomLoaded.bind(this));
    },

    registerObservers: function(onload) {
        
        var radios = this.table.select('input[type=radio]');

        radios.each(function(el){
            Event.observe(el, 'click', this.updateSuperQuantity.bind(this));
        }.bind(this));

        return this;
    },

    onDomLoaded: function() {
        this.registerObserversOnLoad();
        this.updateSuperQuantity();
    },

    registerObserversOnLoad: function(onload) {

        //var qty = $('super_group_qty');
        var qty = $('qty');
        if (qty != null) {
            Event.observe(qty, 'change', this.updateSuperQuantity.bind(this));
        }
    },

    updateSuperQuantity: function(){

        var radios = this.table.select('input[type=radio]');
        var radio = null;

        radios.each(function(el){
            if (el.checked) {
                radio = el;
            }
        }.bind(this));

        //var qty = $('super_group_qty');
        var qty = $('qty');
        var qties = this.table.select('input.qty');
        
        qties.each(function(el){
            var pfx = 'super_group';
            var id = el.id.substr(pfx.length);
            
            if (radio != null && radio.value == id) {
                el.value = qty==null ? '1' : qty.value;
            }
            else {
                el.value = '0';
            }
        }.bind(this));        
    }
}
