var sidebar_top_pos       = 182;
var sidebar_slide_duration  = 300;
var $PBP = {}

$PBP.selOpts = {
    cover_type: "",
    cover_style: "",
    book_size: "",
    cover_style_option: "",
    page_count: "",
    cover_material: "",
    spine_material: "",
    end_paper: "",
    paper: "",
    accessories: "",
    design_type: "",
    foil_stamping_check: "",
    text: {
        cover_type: "",
        cover_style: "",
        book_size: "",
        cover_style_option: "",
        page_count: "",
        cover_material: "",
        spine_material: "",
        end_paper: "",
        paper: "",
        accessories: "",
        design_type: "",
        foil_stamping_check: "",
        foil_stamping_line_1: "",
        foil_stamping_line_2: ""
    },
    update: function() {
        this.cover_type = $("input[name='cover_type']:checked").val();
        this.text.cover_type = $("input[name='cover_type']:checked").next().text();

        this.cover_style = $(".selected_cover_style").parent().attr('id');
        this.text.cover_style = $(".selected_cover_style").attr('alt');

        this.book_size = $("input[name=book_size]:checked").val();
        this.text.book_size = "Book Size: " + $("input[name=book_size]:checked").val();

        this.cover_style_option = $("input[name='cover_style']:checked").val();
        this.text.cover_style_option = $("input[name='cover_style']:checked").next().text();

        this.page_count = $("#page_count_slider").slider("value");
        this.text.page_count = "Number of Pages: " + $("#page_count_slider").slider("value");

        this.cover_material = $(".selected_material_style").parent().attr('id');
        this.text.cover_material = "Cover: " + $(".selected_material_style").attr('alt');

        this.spine_material = $(".selected_spine_material_style").parent().attr('id');
        this.text.spine_material = "Spine: " + $(".selected_spine_material_style").attr('alt');

        this.end_paper = $(".selected_end_papers_style").parent().attr('id');
        this.text.end_paper = "End Paper: " + $(".selected_end_papers_style").attr('alt');

        this.paper = $(".selected_papers_style").parent().attr('id');
        this.text.paper = "Paper: " + $(".selected_papers_style").attr('alt');

        this.accessories = $(".selected_accessories_style").parent().attr('id');
        this.text.accessories = "Accessory: " + $(".selected_accessories_style").attr('alt');

        this.foil_stamping_check = $("input[name='foil_stamping_check']:checked").val();
        this.text.foil_stamping_check = $("input[name='foil_stamping_check']:checked").next().text();
        this.text.foil_stamping_line_1 = $("input[name='foil_stamping_line_1']").val();
        this.text.foil_stamping_line_2 = $("input[name='foil_stamping_line_2']").val();
    },

    update_sidebar: function() {
        this.update();
        //Null out certain text:
        $("#sidebar_cover_style").text("");
        $("#sidebar_cover_style_option").text("");
        $("#sidebar_cover_material").text("");
        $("#sidebar_spine_material").text("");
        $("#sidebar_end_papers").text("");

        $("#sidebar_accessories").text(this.text.accessories);

        $("#sidebar_cover_type").text(this.text.cover_type);
        $("#sidebar_number_pages").text(this.text.page_count);
        $("#sidebar_book_size").text(this.text.book_size);
        $("#sidebar_papers").text(this.text.paper);

        //All Hardcover book options follow:
        if (this.cover_type != 'soft_glued') {
            $("#sidebar_cover_style").text(this.text.cover_style);
            $("#sidebar_end_papers").text(this.text.end_paper);
            if (this.foil_stamping_check == "include_foil") {
                $("#sidebar_foil_stamping").text("Foil Stamp: ");
                $("#sidebar_foil_stamping_line_1").text(this.text.foil_stamping_line_1);
                $("#sidebar_foil_stamping_line_2").text(this.text.foil_stamping_line_2);
            } else {
                $("#sidebar_foil_stamping").text("Foil Stamp: None Selected.");
                $("#sidebar_foil_stamping_line_1").text("");
                $("#sidebar_foil_stamping_line_2").text("");
            }

            if (this.cover_style == "one_piece") {
                $("#sidebar_cover_material").text(this.text.cover_material);
                $("#sidebar_cover_style").text("1 Piece Cover");
            } else if (this.cover_style == "deboss") {
                $("#sidebar_cover_material").text(this.text.cover_material);
                if (this.cover_style_option == "2_piece") {
                    $("#sidebar_cover_style").text("Debossed Graphic Cover - Landscape");
                } else {
                    $("#sidebar_cover_style").text("Debossed Graphic Cover - Portrait");
                }
            } else if (this.cover_style == "graphic") {
                $("#sidebar_cover_style").text("1 Piece Cover with Graphic");
            } else if (this.cover_style == "graphic_contrasting_spine") {
                $("#sidebar_spine_material").text(this.text.spine_material);
                if (this.cover_style_option == "2_piece") {
                    $("#sidebar_cover_style").text("2 Piece Cover with Graphic Contrasting Spine");
                } else {
                    $("#sidebar_cover_style").text("3 Piece Cover with Graphic Contrasting Spine");
                }
            } else {
                $("#sidebar_cover_material").text(this.text.cover_material);
                $("#sidebar_spine_material").text(this.text.spine_material);
                if (this.cover_style_option == "2_piece") {
                    $("#sidebar_cover_style").text("2 Piece Cover with Contrasting Spine");
                } else {
                    $("#sidebar_cover_style").text("3 Piece Cover with Contrasting Spine");
                }
            }
        }
    }
};
$PBP.pricing = {
    start_price: "",
    added_options: "",
    subtotal: "",
    copy_price: "",
    update_sidebar: function() {
        $("#sidebar_start_price").text(convert_to_currency(this.start_price));
        $("#sidebar_options_price").text(convert_to_currency(this.added_options));
        $("#sidebar_subtotal_price").text(convert_to_currency(this.subtotal));
        $("#sidebar_additional_price").text(convert_to_currency(this.copy_price));
    },
    update: function() {
        $PBP.selOpts.update_sidebar();
        //Zero out values:
        $cover_material_base = 0;
        $cover_material_copy = 0;
        $spine_material_base = 0;
        $spine_material_copy = 0;
        $3_piece_spine_material = 0;

        $end_paper_base = 0;
        $end_paper_copy = 0;
        $setup_fee_base = 0;
        $setup_fee_copy = 0;
        $prep_fee_base = 0;
        $prep_fee_copy = 0;
        $extra_sig_fee = 0;
        $2_piece_graphic_cover_fee = 0;
        $deboss_fee = 0;
        $3_piece_graphic_fee = 0;
        $foil_stamping = 0;

        $accessory_price = $PRICE.accessory["a_" + $PBP.selOpts.accessories];

        //customer price = (((page count x price per page) + set up price + option(s) price(s)) x quantity of books) x discount
        //get width
        $width = $PBP.selOpts.book_size.split('x');
        $width = $width[0];
        //page price based on width
//        console.log("$width " + $width);
        $price_per_page = $PRICE.page[$width];
        //page count from Slider
        $page_count = $PBP.selOpts.page_count;

        $paper_base = $PRICE.material["b_" + $PBP.selOpts.paper];
        $paper_copy = $PRICE.material["c_" + $PBP.selOpts.paper];

        $setup_fee_base = $PRICE.constructionFee["b_" + $PBP.selOpts.cover_type];
        $setup_fee_copy = $PRICE.constructionFee["c_" + $PBP.selOpts.cover_type];
        
        $prep_fee_base = $PRICE.constructionFee["prep_" + $PBP.selOpts.cover_type];
        $prep_fee_copy = $PRICE.constructionFee["prep_copy_" + $PBP.selOpts.cover_type];

        if ($PBP.selOpts.cover_type != 'soft_glued') {
            $extra_sig_fee = $PRICE.constructionFee["extra_sig_" + $PBP.selOpts.cover_type];

            $cover_material_base = $PRICE.material["b_" + $PBP.selOpts.cover_material];
            $cover_material_copy = $PRICE.material["c_" + $PBP.selOpts.cover_material];

            $end_paper_base = $PRICE.material["b_" + $PBP.selOpts.end_paper];
            $end_paper_copy = $PRICE.material["c_" + $PBP.selOpts.end_paper];

            if ($PBP.selOpts.foil_stamping_check == 'include_foil') {
                $foil_stamping = $PRICE.constructionFee["foil_stamping_" + $PBP.selOpts.cover_type];
            }

            if ($PBP.selOpts.cover_style == "one_piece") {

            } else if ($PBP.selOpts.cover_style == "deboss") {
                if ($PBP.selOpts.cover_style_option == "2_piece") {
                    $deboss_fee = $PRICE.constructionFee["deboss_landscape_" + $PBP.selOpts.cover_type];
                } else {
                    $deboss_fee = $PRICE.constructionFee["deboss_portrait_" + $PBP.selOpts.cover_type];
                }
            } else if ($PBP.selOpts.cover_style == "graphic") {
                if ($PBP.selOpts.cover_style_option == "2_piece") {
                    $2_piece_graphic_cover_fee = $PRICE.constructionFee["graphic_cover_" + $PBP.selOpts.cover_type];
                } else {
                    $3_piece_graphic_fee = $PRICE.constructionFee["three_piece_cover_" + $PBP.selOpts.cover_type];
                    $3_piece_spine_material = $PRICE.material["three_" + $PBP.selOpts.spine_material];
                }

                $cover_material_base = 0;
                $cover_material_copy = 0;
            } else if ($PBP.selOpts.cover_style == "graphic_contrasting_spine") {
                if ($PBP.selOpts.cover_style_option == "2_piece") {
                    $2_piece_graphic_cover_fee = $PRICE.constructionFee["graphic_cover_" + $PBP.selOpts.cover_type];
                } else {
                    $3_piece_graphic_fee = $PRICE.constructionFee["three_piece_cover_" + $PBP.selOpts.cover_type];
                    $3_piece_spine_material = $PRICE.material["three_" + $PBP.selOpts.spine_material];
                }

                $cover_material_base = 0;
                $cover_material_copy = 0;
                $spine_material_base = 0;
                $spine_material_copy = 0;
            } else if (($PBP.selOpts.cover_style == "contrasting_spine") && ($PBP.selOpts.cover_style_option == "3_piece")) {
                $3_piece_graphic_fee = $PRICE.constructionFee["three_piece_cover_" + $PBP.selOpts.cover_type];
                $3_piece_spine_material = $PRICE.material["three_" + $PBP.selOpts.spine_material];

                $cover_material_base = 0;
                $cover_material_copy = 0;
                $spine_material_base = 0;
                $spine_material_copy = 0;
            } else {
                $spine_material_base = $PRICE.material["b_" + $PBP.selOpts.spine_material];
                $spine_material_copy = $PRICE.material["c_" + $PBP.selOpts.spine_material];
            }
        }

        //only hard_smyth books have the sig fee.
        if ($page_count > 36) {
            $sigs = Math.ceil(($page_count - 36) / 12);
            $extra_sig_fee = $extra_sig_fee * $sigs; // 1 free sig
        } else {
            $extra_sig_fee = 0;
        }


        //float multiplication fix
        $page_price = Math.round(($price_per_page * $page_count)*10)/10;
        
        this.added_options = $cover_material_base + $spine_material_base + $end_paper_base + $paper_base + $2_piece_graphic_cover_fee + $deboss_fee + $3_piece_graphic_fee + $3_piece_spine_material + $accessory_price + $foil_stamping;
        $copy_options_price = $cover_material_copy + $spine_material_copy + $end_paper_copy + $paper_copy + $2_piece_graphic_cover_fee + $deboss_fee + $3_piece_graphic_fee + $3_piece_spine_material + $accessory_price + $foil_stamping;
        
        this.start_price = $page_price + $extra_sig_fee + $setup_fee_base + $prep_fee_base;
        $base_copy_price = $page_price + $extra_sig_fee + $setup_fee_copy + $prep_fee_copy;

        //calculate discount for more than 1 book.
        $discount = $PRICE.discounts['discount_tier_1'];
        $base_copy_price = $base_copy_price - ($base_copy_price * ($discount / 100));
//        console.log("$cover_material_base " + $cover_material_base);
//        console.log("$spine_material_base " + $spine_material_base);
//        console.log("$cover_material_copy " + $cover_material_copy);
//        console.log("$spine_material_copy " + $spine_material_copy);
//        console.log("$price_per_page " + $price_per_page);
//        console.log("$page_count " + $page_count);
//        console.log("$setup_fee_base " + $setup_fee_base);
//        console.log("$prep_fee_base " + $prep_fee_base);
//        console.log("$setup_fee_copy " + $setup_fee_copy);
//        console.log("$prep_fee_copy " + $prep_fee_copy);

        this.subtotal = this.start_price + this.added_options;
        this.copy_price = $base_copy_price + $copy_options_price;
        this.update_sidebar();
    }
};
$PBP.pageSize = {
    val: 36,
    min: 36,
    max: 264,
    inc: 12
};

$PBP.slider =  {
    top_pos: 182,
    slide_duration: 300,
    update: function (min, max, increment, value) {
        $("#page_count_slider").slider('option', 'min', min);
        $("#page_count_slider").slider('option', 'max', max);
        $("#page_count_slider").slider('option', 'value', value);
        $("#page_count_slider").slider('option', 'step' , increment);
        $("#page_counter").text($("#page_count_slider").slider("value") + " Pages");
    }
};

//$PBP.pricing = {
//    test: "test"
//}

$(window).scroll(function() {
    if(!($.browser.msie && $.browser.version=="6.0")) {
        offset = $(document).scrollTop() - sidebar_top_pos;
        if(offset < 5)
            offset = 5;
//        if(offset < 0) {
//            $('#sidebar_floater').css('top', sidebar_top_pos - $(document).scrollTop());
//        } else if (offset > 0) {
//            $('#sidebar_floater').css('top', 5);
//        }

        $('#sidebar_floater').stop().animate({
            top:offset
        },{
            duration:sidebar_slide_duration,
            queue:false
        });
    }
});

$(document).ready(function() {

    /* Book Cover Controls */
    $("input[name=cover_type]:radio").click(function(){
        update_display();
    });

    $("input[name=cover_style]:radio").click(function(){
        //$PBP.selOpts.update_sidebar();
        $PBP.pricing.update();
    });

    $("input[name=book_size]:radio").click(function(){
        //$PBP.selOpts.update_sidebar();
        $PBP.pricing.update();
    });

    /* Cover Type Controls */
    $('.cover_style_link').click(function(event) {
        $('#cover_style_options li img').addClass('non_active_cover_style').removeClass('selected_cover_style');
        $(this).children().removeClass('non_active_cover_style');
        $(this).children().addClass('selected_cover_style');
        
        update_display();
        event.preventDefault();
    });

    /* Cover Material Controls */
    $('.cover_material_link').click(function(event) {
        $('#cover_material_options li img').addClass('non_active_material_style').removeClass('selected_material_style');
        $(this).children('img').removeClass('non_active_material_style');
        $(this).children('img').addClass('selected_material_style');

        //$PBP.selOpts.update_sidebar();
        $PBP.pricing.update();
        event.preventDefault();
    });

    /* Spine Material Controls */
    $('.spine_material_link').click(function(event) {
        $('#spine_material_options li img').addClass('non_active_spine_material_style').removeClass('selected_spine_material_style');
        $(this).children('img').removeClass('non_active_spine_material_style');
        $(this).children('img').addClass('selected_spine_material_style');

        //$PBP.selOpts.update_sidebar();
        $PBP.pricing.update();
        event.preventDefault();
    });

    /* End Paper Controls */
    $('.end_papers_link').click(function(event) {
        $('#end_papers_options li img').addClass('non_active_end_papers_style').removeClass('selected_end_papers_style');
        $(this).children('img').removeClass('non_active_end_papers_style');
        $(this).children('img').addClass('selected_end_papers_style');

        //$PBP.selOpts.update_sidebar();
        $PBP.pricing.update();
        event.preventDefault();
    });

    /* End Paper Controls */
    $('.papers_link').click(function(event) {
        $('#papers_options li img').addClass('non_active_papers_style').removeClass('selected_papers_style');
        $(this).children('img').removeClass('non_active_papers_style');
        $(this).children('img').addClass('selected_papers_style');

        //$PBP.selOpts.update_sidebar();
        $PBP.pricing.update();
        event.preventDefault();
    });

    /* Accessories Controls */
    $('.accessories_link').click(function(event) {
        $('#accessories_options li img').addClass('non_active_accessories_style').removeClass('selected_accessories_style');
        $(this).children('img').removeClass('non_active_accessories_style');
        $(this).children('img').addClass('selected_accessories_style');

        //$PBP.selOpts.update_sidebar();
        $PBP.pricing.update();
        event.preventDefault();
    });

    $("input[name=foil_stamping_check]:radio").click(function(){
        if ($(this).val() == 'include_foil') {
            $('#foil_stamping_options').show();
        } else {
            $('#foil_stamping_options').hide();
        }
        $PBP.pricing.update();
    });

    $(".foil_stamping_input").keyup(function() {
        $PBP.selOpts.update_sidebar();
    });

    $("#page_count_slider").slider({
        range: "min",
        value:$PBP.pageSize.val,
        min:$PBP.pageSize.min,
        max:$PBP.pageSize.max,
        step:$PBP.pageSize.inc,
        slide: function(event, ui) {
            $("#page_counter").text(ui.value + " Pages");
        },
        stop: function() {
            //$PBP.selOpts.update_sidebar();
            $PBP.pricing.update();
        }

    });

    //submitted from design tool
    if ($TOOL.options != null ) {
        update_from_tool();
        
    }

    //page refresh
    if($SUBMITTED.options !=null) {
        update_from_refresh();
    }

    $("#page_counter").text($("#page_count_slider").slider("value") + " Pages");

    $PBP.pricing.update();

    $(".sidebar_continue_button").fancybox({
        'padding'                   : 10,
        'overlayShow'               : true,
        'overlayOpacity'            : '0.8',
        'overlayColor'              : '#666',
        'scrolling'                 : 'no',
        'transitionIn'              : 'elastic',
        'autoScale'                 : 'false',
        'transitionOut'             : 'none',
        'frameWidth'                : '1000',
        'frameHeight'               : '1000',
        'hideOnOverlayClick'        : true,
        hideOnContentClick	: false
    });

    $('.design_type_submit').click(function() {
        $.fancybox.showActivity();
        $PBP.selOpts.design_type = $(this).attr('id');
        $PBP.selOpts.update();

        $('#customize_book_form').submit();

        //        $.ajax({
        //            type	: "POST",
        //            cache	: false,
        //            url	: "/customize-my_book/save_selected_options",
        //            data	: data,
        //            success: function(data) {
        //                $.fancybox(data);
        //            }
        //        });
        //$(this).hide();

        return false;
    });

    $('.sidebar_add_to_cart_button').click(function() {
        $PBP.selOpts.design_type = 'Design Tool Software';
        $PBP.selOpts.update();
        $('#customize_book_form').submit();
        return false;
    });
    $("#customize_book_form").submit(function() {
        $('input[name=cover_style_type]').val($PBP.selOpts.cover_style);
        $('input[name=page_count]').val($PBP.selOpts.page_count);
        $('input[name=cover_material]').val($PBP.selOpts.cover_material);
        $('input[name=spine_material]').val($PBP.selOpts.spine_material);
        $('input[name=end_paper]').val($PBP.selOpts.end_paper);
        $('input[name=paper]').val($PBP.selOpts.paper);
        $('input[name=accessory]').val($PBP.selOpts.accessories);
        $('input[name=design_type]').val($PBP.selOpts.design_type);
        //Foil Stamping Options
        $('input[name=foil_check]').val($PBP.selOpts.foil_stamping_check);
        $('input[name=foil_line_1]').val($PBP.selOpts.text.foil_stamping_line_1);
        $('input[name=foil_line_2]').val($PBP.selOpts.text.foil_stamping_line_2);
        $('input[name=foil_placement]').val($("input[name=foil_stamping_placement]:radio").val());
        $('input[name=foil_letters]').val($("input[name=foil_stamping_letters]:radio").val());
        $('input[name=foil_color]').val($("input[name=foil_stamping_color]:radio").val());
        
        return true;
    });
});

function update_from_refresh() {

    $('#' + $SUBMITTED.options.cover_type).attr('checked', true);

    $('#cover_style_options li img').addClass('non_active_cover_style').removeClass('selected_cover_style');
    $('#' + $SUBMITTED.options.cover_style_type).children('img').addClass('selected_cover_style').removeClass('non_active_cover_style');

    $('#cover_material_options li img').addClass('non_active_material_style').removeClass('selected_material_style');
    $('#' + $SUBMITTED.options.cover_material).children('img').addClass('selected_material_style').removeClass('non_active_material_style');

    $('#spine_material_options li img').addClass('').removeClass('selected_spine_material_style');
    $('#' + $SUBMITTED.options.spine_material).children('img').addClass('selected_spine_material_style').removeClass('non_active_spine_material_style');

    $('#end_papers_options li img').addClass('non_active_end_papers_style').removeClass('selected_end_papers_style');
    $('#' + $SUBMITTED.options.end_paper).children('img').addClass('selected_end_papers_style').removeClass('non_active_end_papers_style');

    $('#papers_options li img').addClass('non_active_papers_style').removeClass('selected_papers_style');
    $('#' + $SUBMITTED.options.paper).children('img').addClass('selected_papers_style').removeClass('non_active_papers_style');

    $('#accessories_options li img').addClass('non_active_accessories_style').removeClass('selected_accessories_style');
    $('#' + $SUBMITTED.options.accessories).children('img').addClass('selected_accessories_style').removeClass('non_active_accessories_style');

    update_display();
    $PBP.selOpts.update();
    update_cover_style($PBP.selOpts.cover_type, $PBP.selOpts.cover_style);
    $('#' + $SUBMITTED.options.cover_style).attr('checked', true);

    if ($SUBMITTED.options.cover_type == "soft_glued") {
        $PBP.slider.update(20, 120, 2, $SUBMITTED.options.page_count);
    } else if ($SUBMITTED.options.cover_type == "hard_glued") {
        $PBP.slider.update(20, 120, 2, $SUBMITTED.options.page_count);
    } else {
        $PBP.slider.update(36, 264, 12, $SUBMITTED.options.page_count);
    }
    $('#' + $SUBMITTED.options.book_size).attr('checked', true);
    $PBP.pricing.update();
}

function update_from_tool() {
    $('#book_size_box').slideUp();
    $('#page_count_box').slideUp();

    $PBP.selOpts.book_size = $TOOL.options.style_size;
    //$TOOL.options.style_cover_type = "softcover"
    if ($TOOL.options.style_cover_type == "softcover") {
        $('#soft_glued').attr('checked', true);
        update_display();
        //$PBP.selOpts.cover_type = "soft_glued";
        $PBP.slider.update(20, 120, 2, $TOOL.options.page_count);
        if (($TOOL.options.page_count % 12) !== 0) {
          $('#hard_smyth').attr('disabled', 'true');
        }
        
    } else {
        $PBP.selOpts.cover_type = "hard_smyth";
        $PBP.slider.update(36, 264, 12, $TOOL.options.page_count);
        $('#cover_style_options li img').addClass('non_active_cover_style').removeClass('selected_cover_style');
        $('#cover_style_options li img[alt="' + $TOOL.options.style_cover_format + '"]').addClass('selected_cover_style').removeClass('non_active_cover_style');
        $PBP.selOpts.update();
        update_cover_style($PBP.selOpts.cover_type, $PBP.selOpts.cover_style);
    }
    $('#' + $TOOL.options.style_size).attr('checked', true);
    $PBP.pricing.update();
}

function update_display() {
    $PBP.selOpts.update();
    //$PBP.selOpts.update_sidebar();


    $cover_type = $PBP.selOpts.cover_type;
    $cover_style = $PBP.selOpts.cover_style;

    if ($TOOL.options == undefined) {
        if ($cover_type == "soft_glued") {
            $PBP.slider.update(20, 120, 2, 20);
            $('#page_size_inc').text(2);
            $('#9x9').attr('checked', true);
        } else if ($cover_type == "hard_glued") {
            $PBP.slider.update(20, 264, 2, 20);
            $('#page_size_inc').text(2);
            $('#9x9').attr('checked', true);
        } else {
            $PBP.slider.update(36, 264, 12, 36);
            $('#page_size_inc').text(12);
            $('#9x9').attr('checked', true);
        }
    }

    if ($cover_type == "soft_glued") {
        $('#cover_style_box').slideUp();
        $('#cover_material_box').slideUp();
        $('#spine_material_box').slideUp();
        $('#end_papers_box').slideUp();
        $('#accessories_box').slideUp();
        $('#foil_stamping_box').slideUp();
        $('.hardcover_sizes').hide();
    } else {
        $('#cover_style_box').slideDown();
        $('#end_papers_box').slideDown();
        $('#accessories_box').slideDown();
        $('#foil_stamping_box').slideDown();
        $('.hardcover_sizes').show();
        if ($cover_style == "one_piece") {
            $('#cover_material_box').slideDown();
            $('#spine_material_box').slideUp();
        } else if ($cover_style == "deboss") {
            $('#spine_material_box').slideUp();
            $('#cover_material_box').slideDown();
        } else if ($cover_style == "graphic") {
            $('#spine_material_box').slideUp();
            $('#cover_material_box').slideUp();
        } else if ($cover_style == "graphic_contrasting_spine") {
            $('#spine_material_box').slideDown();
            $('#cover_material_box').slideUp();
        } else {
            $('#cover_material_box').slideDown();
            $('#spine_material_box').slideDown();
        }
    }

    if ($cover_style == "contrasting_spine") {
        $('.cover_material_leather').hide();
        $('#cover_material_options li img').addClass('non_active_material_style').removeClass('selected_material_style');
        $('.cover_material_fabric:first').children('a').children('img').addClass('selected_material_style').removeClass('non_active_material_style');
    } else {
        $('.cover_material_leather').show();
        $('#cover_material_options li img').addClass('non_active_material_style').removeClass('selected_material_style');
        $('.cover_material_leather:first').children('a').children('img').addClass('selected_material_style').removeClass('non_active_material_style');
    }

    update_cover_style($cover_type, $cover_style);


    $PBP.pricing.update();
}

function update_cover_style(cover_type, cover_style) {
     if (cover_type == 'hard_glued' || cover_type == 'hard_smyth') {
        if (cover_style == "one_piece") {
            $('#1_piece').attr('checked', true);
            $('#cover_style_label_1').text('1 piece construction - front, back, and spine are made of one type of material.');
            $('#cover_style_extras_2').slideUp();
            $('#cover_style_extras_1').slideDown();
        } else if (cover_style == "deboss") {
            $('#2_piece').attr('checked', true);
            $('#cover_style_label_2').text('Debossed graphic - landscape orientation.');
            $('#cover_style_label_3').text('Debossed graphic - portrait orientation.');
            $('#cover_style_extras_1').slideUp();
            $('#cover_style_extras_2').slideDown();
        } else if (cover_style == "graphic") { 
            $('#1_piece').attr('checked', true);
            $('#cover_style_label_1').text('1 piece construction - custom graphic for front, spine, and back of book.');
            $('#cover_style_extras_2').slideUp();
            $('#cover_style_extras_1').slideDown();
        } else {
            $('#2_piece').attr('checked', true);
            $('#cover_style_label_2').text('2 piece construction - front of book is one material, spine and back of book are a contrasting material.');
            $('#cover_style_label_3').text('3 piece construction - front and back of book are one type of material, spine is a contrasting material.');
            $('#cover_style_extras_1').slideUp();
            $('#cover_style_extras_2').slideDown();
       }
    }
}

function convert_to_currency(Amount) {
    var DecimalSeparator = Number("1.2").toLocaleString().substr(1,1);

    var AmountWithCommas = Amount.toLocaleString();
    var arParts = String(AmountWithCommas).split(DecimalSeparator);
    var intPart = arParts[0];
    var decPart = (arParts.length > 1 ? arParts[1] : '');
    decPart = (decPart + '00').substr(0,2);

    return '$' + intPart + DecimalSeparator + decPart;
}