window.addEvent('load',function(){
    if( $('InputCountry') ){
        $('InputCountry').addEvent('change',function(){
            var pars = $('InputCountry').name+'='+$('InputCountry').options[$('InputCountry').selectedIndex].value;
            if ($('InputCountry').options[$('InputCountry').selectedIndex].value != ""){
                new Ajax( '/ajax/select_province.php', {
                    method: 'post',
                    postBody: pars,
                    update: $('InputProvinceDiv')
                } ).request();
            }
        });
    }

    if ($('ShoppingCartForm') && $('same_')){
        var selects=[
        'country',
        'province'
        ];
        var fields=[
        'fname',
        'lname',
        'address',
        'city',
        'postal_code',
        'email',
        'taxid',
        'phone'
        ];

        $('same_').addEvent('click',function(){
            if($('same_').checked){
                fields.each(function(inp){	$('S_'+inp).value = $('B_'+inp).value; });
                selects.each(function(inp){
                    for(i=$('B_'+inp).options.length-1;i>=0;i--){
                        if ($('B_'+inp).options[i].selected == true){
                            $('S_'+inp).options[i].selected = true;
                        }
                    }
                });
            };
        });
    };

    if ( $('submit_clear') ){
        $('submit_clear').addEvent('click',function(evt){
            var evt = new Event(evt).stop();
            var form = $('submit_clear');
            do {
                form = form.getParent();
            } while ( form.tagName != 'FORM' && form.tagName != 'BODY' )
            if ( form.tagName != 'BODY' ){
                //get form identifier
                var formId = '#'+form.id;
                // clear form input text / password / checkbox
                $$(formId+' input[type=text]').each(function(el){ el.value = ''; });
                $$(formId+' input[type=password]').each(function(el){ el.value = ''; });
                $$(formId+' input[type=checkbox]').each(function(el){ el.checked = false; });
                // clear form select
                $$(formId+' select').each(function(el){ el.selectedIndex = 0; });
            }
        });
    }

    if ( $('ShippingCharge') ){

        $('ShippingCharge').addEvent('click',function(){
            var iPostalCodeDiv = new Element('div').setProperty('id','iPostalCodeDiv');
            var iPostalCode = new Element('input').setProperties({'type':'text','id':'iPostalCode'}).injectInside(iPostalCodeDiv);

            var subButton = new Element('input').setProperties({'class':'InputButton','type':'button','id':'btnSubPC'});
            subButton.value = 'Submit';

            var cancelButton = new Element('input').setProperties({'class':'InputButton','type':'button','id':'btnCanPC'});
            cancelButton.value = 'Go Back';
            subButton.addEvent('click', function(e){
                var pars = 'postal_code='+iPostalCode.value;
                $('ShippingCharge').setHTML(' Processing... ');
                new Ajax( '/ajax/calcShipPrice.php', {
                    method: 'post',
                    postBody: pars,
                    onComplete: function(rsp){
                        if (rsp == ''){
                            $('ShippingCharge').setHTML('Incorect Zip/Postal Code');
                        }else{
                            var par = $('ShippingCharge').getParent();;
                            par.setStyle('height','auto');
                            par.setHTML(rsp);
                            if ( $('CartShippingTotal') ){
                                var sub = $('CartSubTotal').innerHTML.replace('$','').toFloat()
                                var sht = $('CartShippingTotal').innerHTML.replace('$','').toFloat();
                                var tax = $('CartTax').innerHTML.replace('$','').toFloat();
                                var total = sub + sht + tax;
                                if ( total > 0 ){
                                    total = Math.floor( (total) * 100) / 100;
                                    $('CartTotal').setHTML('$'+total);
                                }
                            }
                            if ( $('ShippingTypeSelect') ){
                                bindShippingSelectType();
                            }
                        }
                    }
                }).request();
            });

            var boxHtml = new MooPrompt('Enter your Shipping Zip/Postal Code', iPostalCodeDiv, {
                buttons: 2,
                button1: subButton,
                button2: cancelButton,
                width: 240,
                height: 75
            });

        });
    }

    if ( $('ShippingTypeSelect') ){
        bindShippingSelectType();
    }
    bindContactEmailFields();
});

function bindContactEmailFields(){
    $$('#contactbox input[type=text], #newsletter input[type=text]').each(function(inp){
        inp.addEvent('focus',function(){ if (inp.value=='type your e-mail') inp.value=''; });
        inp.addEvent('blur',function(){ if (inp.value=='') inp.value='type your e-mail'; });
    });
}

function bindShippingSelectType(){
    $('ShippingTypeSelect').addEvent('change',function(){
        $('ShippingTypeSelect').setProperty('disabled',true);
        var coords = $('ShippingTypeSelect').getCoordinates();
        var div = new Element('div').setHTML('Processing...').setProperty('id','STProcessing').injectAfter( $('ShippingTypeSelect') );
        div.setStyles({
            'position':'absolute',
            'left' : (coords.left-3)+'px',
            'top'  : coords.top +'px',
            'width': coords.width+'px'
        });

        $('ShippingTypeSelect').setStyle('display','none');
        div.setStyle('display','');

        pars = "usecookie=1&shipping_type="+$('ShippingTypeSelect').value;
        new Ajax( '/ajax/calcShipPrice.php', {
            method: 'post',
            postBody: pars,
            onComplete: function(rsp){
                $('ShippingTypeSelect').setProperty('disabled',false);
                $('ShippingTypeSelect').setStyle('display','');
                div.setStyle('display','none');
                div.remove();

                if (rsp == ''){
                    $('CartShippingTotal').setHTML('Incorect Zip/Postal Code');
                }else{
                    $('ShippingTotal').setHTML(rsp);
                    if ( $('CartShippingTotal') ){
                        var sub = $('CartSubTotal').innerHTML.replace('$','').toFloat()
                        var sht = $('CartShippingTotal').innerHTML.replace('$','').toFloat();
                        var tax = $('CartTax').innerHTML.replace('$','').toFloat();
                        var total = sub + sht + tax;
                        if ( total > 0 ){
                            total = Math.floor( (total) * 100) / 100;
                            $('CartTotal').setHTML('$'+total);
                        }
                    }
                }
            }
        }).request();
    });
}

function orderByChange(id, query){
    var select = document.getElementById(id);
    window.location = window.location.pathname + '?' + query +
    '&order_by=' + select.options[select.selectedIndex].value;
}
