/**
 * Products Mediabox Event Handler
 * Dependencies: Mootools v1.1+
 * @author Kevin Dew <kev@dewsolutions.co.uk>
 * @copyright Copyright Kevin Dew, 2007
 */

window.addEvent('domready', function()
{
        if($('submit_continue'))
        {
                $('submit_continue').addEvent('click', function(e)
                {
                        if(typeof parent.Mediabox != 'undefined')
                        {
                                new Event(e).stop();
                                parent.Mediabox.close();
                        }
                        else if($('val_form'))
                                $('val_form').removeEvents('submit');
                });
        }
        
        function customiseChange()
        {
                if(!$('customise_design') || !$('customiseDetailsCont'))
                        return;
                
                $('customiseDetailsCont').setStyle('display', ($('customise_design').checked) ? '' : 'none');
        }
        
        if($('customise_design') && $('customiseDetailsCont'))
        {
                $('customise_design').addEvent('click', customiseChange);
                customiseChange();
        }
        
        if(!$('val_form'))
                return;
        
        var validator = new Validation(validationRules, validationTop, 'error', 'val_form');
        var scroll = new Fx.Scroll(window, {wait: false, duration: 250, transition: Fx.Transitions.Quad.easeInOut});
        
        
        $('val_form').addEvent('submit', function(e)
        {
                validator.clearErrors();
                validator.test();
                
                if($('customise_design') && $('customise_details') && $('customise_design').checked && ($('customise_details').getValue() == ''))
                        validator.addError('customise_details', 'Please enter details of your customisation');
                
                var anyZero = false;
                        
                $each($ES('select[id^=product_options]'), function(select)
                {
                        if(select.getValue() == 0)
                        {
                                anyZero = true;
                                select.addClass('error');
                        }
                });
                
                if(anyZero)
                        validator.addError('', 'Please select all options');
                                
                if(validator.hasErrors())
                {
                        validator.makeErrorList();
                        scroll.toElement('val_form_errors');
                        new Event(e).stop();
                }
        });
});
