/**
* Update our product page when we select a product variation
* Set up our tab control
*/
$(document).ready(function()
{
    //$('#product-tabs').tabs();
    $('#quantity').numeric();

    $(".variation_option_definition").each(function(i){
        $("#product_"+this.name).bind("change",load_product_variation);
    });

});

/**
* Updates product variation fields on the page using Ajax with jquery
*/
function load_product_variation()
{
    //$('#availability').html('Loading...');
    $('#qty, #submit-addtoorder').attr('disabled', 'disabled');
    $('#submit-addtoorder').attr('src','/img/loading.png');

    //Currently selected variation_definition_id => variation_option_value
    var selected_variations = new Object();

    //Name of the select box we just changed
    var changed_select_name = this.name;

    //Get all the current selected variations above and including the changed one
    var above_selected_option = true;
    $(".variation_option_definition").each(function(i){

        if(above_selected_option)
        selected_variations[this.name] = escape(this.value);

        if(this.name == changed_select_name)
        above_selected_option = false;
    });

    selected_variations['product_id'] = $("#product_id").val();

    //Update all of our selection boxes with the new data
    $.post('/product/ajax_get_product_variation.html',selected_variations,function(response){

        $('variationoption',response).each(function(i)
        {
            var variation_option_name = $('name',this).text();
            var select_input = $('#product_'+variation_option_name).get(0);

            //Clear all the select options
            select_input.options.length = 0;

            //Repopulate the options
            $('option',this).each(function(select_index){
                select_input.options[select_index] = new Option($('value',this).text(),$('value',this).text());
            });

            select_input.selectedIndex = $('selectedindex',this).text();
        });

        //Update product page details
        $('#variation_id').attr('value',$('variation/id',response).text());
        $('#sku').html($('variation/sku',response).text());

        //$('#availability').html($('variation/availability',response).text());
        //$('#ship_latency').html($('variation/shiplatency',response).text());

        var retail_price = parseFloat( $('variation/retailprice',response).text() );
        $('#retail_price').html(retail_price.toFixed(2));

        var our_price = parseFloat( $('variation/ourprice',response).text() );

        var normal_price = parseFloat( $('variation/normalprice',response).text() );

        $('#retail_price_row').hide();

        if(retail_price && our_price < retail_price)
        {
            $('#retail_price').html('<del>$'+retail_price.toFixed(2)+'</del>');
            $('#retail_price_row').show();
        }

        $('#our_price').html('$'+our_price.toFixed(2));
        $('#our_price').removeClass('sale');

        if(our_price < normal_price)
        {
            $('#our_price').addClass('sale');
        }



        if(retail_price && our_price < retail_price)
        {
            var save_amount = retail_price - our_price;
            var save_percentage = (save_amount / retail_price) * 100;

            $('#save_percentage').html(' Save '+Math.round(save_percentage)+'% ');
            $('#save_percentage').get(0).style.display=''; //using jquery show() makes this display block which breaks it
        }
        else
        {
             $('#save_percentage').hide();
        }

        if($('variation/isavailable',response).text() == '1')
        {
            $('#qty, #submit-addtoorder').removeAttr('disabled');
            $('#submit-addtoorder').attr('src','/img/button-addtocart.gif');

        }
        else
        {
             $('#submit-addtoorder').attr('src','/img/button-addtocart-grey.gif');
        }

    });
}

//Disables the qty and add to cart buttons if item not available
function set_availability(is_available)
{
    if(is_available)
    {
        $('#quantity, #add-to-cart').unset('disabled');
        $('#add-to-cart').attr('src','/images/buttons/add-to-cart.png');
    }
    else
    {
        $('#quantity, #add-to-cart').attr('disabled', 'disabled');
        $('#add-to-cart').attr('src','/images/buttons/add-to-cart-off.png');
    }
}
