function dp(price)
{
    string = "" + price;
    number = string.length - string.indexOf('.');
    if (string.indexOf('.') == -1)
        return string + '.00';
    if (number == 1)
        return string + '00';
    if (number == 2)
        return string + '0';
    if (number > 3)
        return string.substring(0,string.length-number+3);
    return string;
}

function clear_form()
{
    document.forms['calcform'].book_total_cost.value = 0;
    document.forms['calcform'].kit_total_cost.value = 0;
    document.forms['calcform'].book_and_kit_total_cost.value = 0;
    document.forms['calcform'].grand_total_cost.value = 0;
    document.getElementById('display_error').innerHTML = "";
    display_costs();
    document.getElementById('calcform').reset();
}

function copy_address()
{
    document.forms['calcform'].shipping_name.value = document.forms['calcform'].billing_name.value;
    document.forms['calcform'].shipping_address.value = document.forms['calcform'].billing_address.value;
    document.forms['calcform'].shipping_city.value = document.forms['calcform'].billing_city.value;
    document.forms['calcform'].shipping_state.value = document.forms['calcform'].billing_state.value;
    document.forms['calcform'].shipping_zip.value = document.forms['calcform'].billing_zip.value;
}

function calculate()
{
        document.getElementById('preview_div').style.display = 'none';
    if ((parseInt(document.forms['calcform'].kits_ordered.value) >= 1) && (parseInt(document.forms['calcform'].books_ordered.value) >= parseInt(document.forms['calcform'].kits_ordered.value)))
    {
        var num_extra_books_and_kits;
        if ((parseInt(document.forms['calcform'].books_and_kits_ordered.value) + parseInt(document.forms['calcform'].kits_ordered.value)) >= 26)
        {
            num_extra_books_and_kits = 25 - parseInt(document.forms['calcform'].books_and_kits_ordered.value);
        }
        else
        {
            num_extra_books_and_kits = parseInt(document.forms['calcform'].kits_ordered.value);
        }
        document.forms['calcform'].books_and_kits_ordered.value = (parseInt(document.forms['calcform'].books_and_kits_ordered.value) + parseInt(num_extra_books_and_kits)) ;
        document.forms['calcform'].books_ordered.value = (parseInt(document.forms['calcform'].books_ordered.value) - parseInt(num_extra_books_and_kits));
        document.forms['calcform'].kits_ordered.value = (parseInt(document.forms['calcform'].kits_ordered.value) - parseInt(num_extra_books_and_kits)) ;
    }
    else if ((parseInt(document.forms['calcform'].books_ordered.value) >= 1) && (parseInt(document.forms['calcform'].kits_ordered.value) >= parseInt(document.forms['calcform'].books_ordered.value)))
  {
    var num_extra_books_and_kits;
    if ((parseInt(document.forms['calcform'].books_and_kits_ordered.value) + parseInt(document.forms['calcform'].books_ordered.value)) >= 26)
    {
       num_extra_books_and_kits = 25 - parseInt(document.forms['calcform'].books_and_kits_ordered.value);
    }
    else
    {
       num_extra_books_and_kits = parseInt(document.forms['calcform'].books_ordered.value);
    }
    document.forms['calcform'].books_and_kits_ordered.value = parseInt(document.forms['calcform'].books_and_kits_ordered.value) + parseInt(num_extra_books_and_kits) ;
    document.forms['calcform'].kits_ordered.value = parseInt(document.forms['calcform'].kits_ordered.value) - parseInt(num_extra_books_and_kits);
     document.forms['calcform'].books_ordered.value = parseInt(document.forms['calcform'].books_ordered.value) - parseInt(num_extra_books_and_kits) ;
  }
    document.forms['calcform'].book_total_cost.value = dp((((document.forms['calcform'].book_price.value * 1000) * (document.forms['calcform'].books_ordered.value)) + (book_shipping_cost(document.forms['calcform'].books_ordered.value) * 1000)) / 1000);
    document.forms['calcform'].kit_total_cost.value = dp((((document.forms['calcform'].kit_price.value * 1000) * (document.forms['calcform'].kits_ordered.value)) + (kit_shipping_cost(document.forms['calcform'].kits_ordered.value) * 1000)) / 1000);
    document.forms['calcform'].book_and_kit_total_cost.value = dp((((document.forms['calcform'].book_and_kit_price.value * 1000) * (document.forms['calcform'].books_and_kits_ordered.value)) + (book_and_kit_shipping_cost(document.forms['calcform'].books_and_kits_ordered.value) * 1000)) / 1000);
    document.forms['calcform'].grand_total_cost.value = dp(parseFloat(document.forms['calcform'].book_total_cost.value) + parseFloat(document.forms['calcform'].kit_total_cost.value) + parseFloat(document.forms['calcform'].book_and_kit_total_cost.value)) ;
    display_costs();
}

function display_costs()
{
    document.getElementById('display_kit_shipping_cost').innerHTML = '$' + dp(kit_shipping_cost(document.forms['calcform'].kits_ordered.value));
    document.getElementById('display_kit_total_cost').innerHTML = '$' + document.forms['calcform'].kit_total_cost.value;
    document.getElementById('display_book_shipping_cost').innerHTML = '$' + dp(book_shipping_cost(document.forms['calcform'].books_ordered.value));
    document.getElementById('display_book_total_cost').innerHTML = '$' + document.forms['calcform'].book_total_cost.value;
    document.getElementById('display_book_and_kit_shipping_cost').innerHTML = '$' + dp(book_and_kit_shipping_cost(document.forms['calcform'].books_and_kits_ordered.value));
    document.getElementById('display_book_and_kit_total_cost').innerHTML = '$' + document.forms['calcform'].book_and_kit_total_cost.value;
    document.getElementById('display_grand_total_cost').innerHTML = '$' + document.forms['calcform'].grand_total_cost.value;
}

function fill_preview()
{
    document.getElementById('preview_books_ordered').innerHTML = document.forms['calcform'].books_ordered.value;
    document.getElementById('preview_kits_ordered').innerHTML = document.forms['calcform'].kits_ordered.value;
    document.getElementById('preview_books_and_kits_ordered').innerHTML = document.forms['calcform'].books_and_kits_ordered.value;
    document.getElementById('preview_book_total_cost').innerHTML = '$' + document.forms['calcform'].book_total_cost.value;
    document.getElementById('preview_card_type').innerHTML = document.forms['calcform'].card_type.value;
    document.getElementById('preview_kit_total_cost').innerHTML = '$' + document.forms['calcform'].kit_total_cost.value;
    document.getElementById('preview_card_number').innerHTML = document.forms['calcform'].card_number.value;
    document.getElementById('preview_card_security_number').innerHTML = document.forms['calcform'].card_security_number.value;
    document.getElementById('preview_book_and_kit_total_cost').innerHTML = '$' + document.forms['calcform'].book_and_kit_total_cost.value;
    document.getElementById('preview_expiration_month').innerHTML = document.forms['calcform'].expiration_month.value;
    document.getElementById('preview_expiration_year').innerHTML = document.forms['calcform'].expiration_year.value;
    document.getElementById('preview_grand_total_cost').innerHTML = '$' + document.forms['calcform'].grand_total_cost.value;
    document.getElementById('preview_shipping_name').innerHTML = document.forms['calcform'].shipping_name.value;
    document.getElementById('preview_shipping_address').innerHTML = document.forms['calcform'].shipping_address.value;
    document.getElementById('preview_shipping_city').innerHTML = document.forms['calcform'].shipping_city.value;
    document.getElementById('preview_shipping_state').innerHTML = document.forms['calcform'].shipping_state.value;
    document.getElementById('preview_shipping_zip').innerHTML = document.forms['calcform'].shipping_zip.value;
    document.getElementById('preview_phone_number').innerHTML = document.forms['calcform'].phone_number.value;
    document.getElementById('preview_email_address').innerHTML = document.forms['calcform'].email_address.value;
    document.getElementById('preview_billing_name').innerHTML = document.forms['calcform'].billing_name.value;
    document.getElementById('preview_billing_address').innerHTML = document.forms['calcform'].billing_address.value;
    document.getElementById('preview_billing_city').innerHTML = document.forms['calcform'].billing_city.value;
    document.getElementById('preview_billing_state').innerHTML = document.forms['calcform'].billing_state.value;
    document.getElementById('preview_billing_zip').innerHTML = document.forms['calcform'].billing_zip.value;
    document.getElementById('preview_comments').innerHTML = document.forms['calcform'].comments.value;
}

function preview_form()
{
    if (validate())
    {
       fill_preview();
        document.getElementById('preview_div').style.display = 'block';
        document.getElementById('order_div').style.display = 'none';
    }
}

function un_preview_form()
{
    document.getElementById('order_div').style.display = 'block';
    document.getElementById('preview_div').style.display = 'none';
}

function order_submit()
{
    if (validate())
    {
        document.forms['calcform'].submit();
    }
}

function validate()
{
    if ((document.forms['calcform'].grand_total_cost.value == null) ||
        (document.forms['calcform'].grand_total_cost.value == 0))
    {
	document.getElementById('display_error').innerHTML = "No products are being ordered";
        return (false) ;
    }
    if (((document.forms['calcform'].shipping_name.value == null) ||
         (document.forms['calcform'].shipping_name.value == "")) ||
        ((document.forms['calcform'].shipping_address.value == null) ||
         (document.forms['calcform'].shipping_address.value == "")) ||
        ((document.forms['calcform'].shipping_city.value == null) ||
         (document.forms['calcform'].shipping_city.value == "")) ||
        ((document.forms['calcform'].shipping_state.value == null) ||
         (document.forms['calcform'].shipping_state.value == "")) ||
        ((document.forms['calcform'].shipping_zip.value == null) ||
         (document.forms['calcform'].shipping_zip.value == "")))
    {
	document.getElementById('display_error').innerHTML = "Shipping Address is incomplete";
        return (false) ;
    }
    if (((document.forms['calcform'].billing_name.value == null) ||
         (document.forms['calcform'].billing_name.value == "")) ||
        ((document.forms['calcform'].billing_address.value == null) ||
         (document.forms['calcform'].billing_address.value == "")) ||
        ((document.forms['calcform'].billing_city.value == null) ||
         (document.forms['calcform'].billing_city.value == "")) ||
        ((document.forms['calcform'].billing_state.value == null) ||
         (document.forms['calcform'].billing_state.value == "")) ||
        ((document.forms['calcform'].billing_zip.value == null) ||
         (document.forms['calcform'].billing_zip.value == "")))
    {
	document.getElementById('display_error').innerHTML = "Billing Address is incomplete";
        return (false) ;
    }
    if (((document.forms['calcform'].card_number.value == null) ||
         (document.forms['calcform'].card_number.value == "")) ||
        ((document.forms['calcform'].card_security_number.value == null) ||
         (document.forms['calcform'].card_security_number.value == "")))
    {
	document.getElementById('display_error').innerHTML = "Please Enter a Credit Card Number<br/>Security Number is 3 or 4 digits on back of card";
        return (false) ;
    }
    if (((document.forms['calcform'].email_address.value == null) ||
         (document.forms['calcform'].email_address.value == "")) &&
        ((document.forms['calcform'].phone_number.value == null) ||
         (document.forms['calcform'].phone_number.value == "")))
    {
	document.getElementById('display_error').innerHTML = "Please Enter Contact Information (Email or Phone Number)";
        return (false) ;
    }
    document.getElementById('display_error').innerHTML = "";
    return (true);
}

function book_shipping_cost(quantity)
{
    if (quantity < 1)
    {
        return 0.0;
    }
    else if (quantity < 2)
    {
        return 3.5;
    }
    else if (quantity < 6)
    {
        return 5.5;
    }
    else if (quantity < 11)
    {
        return 7.5;
    }
    else if (quantity < 17)
    {
        return 10.5;
    }
    else
    {
        return 14.0;
    }
}

function kit_shipping_cost(quantity)
{
    if (quantity < 1)
    {
        return 0.0;
    }
    else if (quantity < 2)
    {
        return 3.5;
    }
    else if (quantity < 11)
    {
        return 5.5;
    }
    else if (quantity < 21)
    {
        return 9.0;
    }
    else
    {
        return 11.0
    }
}

function book_and_kit_shipping_cost(quantity)
{
    if (quantity < 1)
    {
        return 0.0;
    }
    else if (quantity < 2)
    {
        return 3.5;
    }
    else if (quantity < 5)
    {
        return 7.0;
    }
    else if (quantity < 9)
    {
        return 10.5;
    }
    else if (quantity < 15)
    {
        return 13.5;
    }
    else if (quantity < 21)
    {
        return 16.5;
    }
    else
    {
        return 20.0
    }
}


