﻿$(document).ready(function () {

    $('a.product-add').click(function () {
        var product_id = $(this).attr('rel');

        $.ajax({
            type: "POST",
            url: "/resources/ajax/product_add.aspx",
            data: "product_id=" + product_id,
            success: function (msg) {
                var itemdata = msg.split('|');
                if ($('ul#cart-top li a[rel=' + itemdata[0] + ']').size() > 0) {
                    var row = $('ul#cart-top li a[rel=' + itemdata[0] + ']');
                    row.parent().find('.quantity').html(itemdata[2] + "X");
                }
                else {
                    var newrow = "";
                    newrow += "			<li>";
                    newrow += "				<div style=\"width:40px;float:left;\"><a href=\"#\"><img src=\"" + itemdata[6] + "\" style=\"max-height:40px;max-width:40px;\" alt=\"image description\" /></a></div>";
                    newrow += "				<strong>";
                    newrow += "					<em class=\"quantity\">" + itemdata[2] + "X</em>";
                    newrow += "					<a href=\"#\">" + itemdata[1] + "</a>";
                    newrow += "				</strong>";
                    newrow += "				<a href=\"#\" class=\"delete product-delete\" rel=\"" + itemdata[0] + "\">Delete</a>";
                    newrow += "             <div style=\"clear:both\"></div>";
                    newrow += "			</li>";

                    $('ul#cart-top').append(newrow);
                    addEvent();
                }
                $('#cart-subtotal').html(formatNumber(itemdata[4]));
                $('#cart-count').html(itemdata[5]);
                $('#cart-summary-details').show();
                $('.backet-box').addClass('active');

            },
            error: function (xhr, ajaxOptions, thrownError) {
                alert(xhr.status);
                alert(thrownError);
            }
        });

        return false;
    });

    addEvent();

    $('.preview-list a').click(function () {
        $('#product-photo').attr('src', $(this).attr('href'));
        return false;
    });

    $('#checkout .highlight input').bind('focus blur', function () {
        $(this).parent().toggleClass('highlight-blue');
    });

    $(".datepicker").datepicker({ dayNamesMin: ['Sun', 'Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat'], dateFormat: 'dd.mm.yy', minDate: 1 });

    $('a.checkout-delete').click(function () {
        var basket_item_id = $(this).attr('rel');
        var element = $(this).parent().parent();

        $.ajax({
            type: "POST",
            url: "/resources/ajax/product_delete.aspx",
            data: "basket_item_id=" + basket_item_id,
            success: function (msg) {
                var itemdata = msg.split('|');
                element.remove();
                $('#cart-subtotal').html(formatNumber(itemdata[0]));
                $('#cart-count').html(itemdata[1]);
                $('#checkout-subtotal').html(formatNumber(itemdata[0]));

                var topitem = $('#cart-top a[rel=' + basket_item_id + ']');
                topitem.parent().remove();
            },
            error: function (xhr, ajaxOptions, thrownError) {
                alert(xhr.status);
                alert(thrownError);
            }
        });

        return false;
    });

    $('a.cart-delete').click(function () {
        var basket_item_id = $(this).attr('rel');
        var element = $(this).parent().parent();

        $.ajax({
            type: "POST",
            url: "/resources/ajax/product_delete.aspx",
            data: "basket_item_id=" + basket_item_id,
            success: function (msg) {
                var itemdata = msg.split('|');
                element.remove();
                $('#cart-subtotal').html(formatNumber(itemdata[0]));
                $('#cart-count').html(itemdata[1]);
                $('#checkout-subtotal').html(formatNumber(itemdata[0]));

                var topitem = $('#cart-top a[rel=' + basket_item_id + ']');
                topitem.parent().remove();
            },
            error: function (xhr, ajaxOptions, thrownError) {
                alert(xhr.status);
                alert(thrownError);
            }
        });

        return false;
    });

    $('a.checkout-update').click(function () {
        var basket_item_id = $(this).attr('rel');
        var element = $(this).parent().parent();

        if (element.find('.count').val() != '') {
            var count = parseInt(element.find('.count').val());
            if (count > 0) {
                $.ajax({
                    type: "POST",
                    url: "/resources/ajax/product_update.aspx",
                    data: "basket_item_id=" + basket_item_id + "&count=" + count,
                    success: function (msg) {
                        var itemdata = msg.split('|');
                        element.find('.subtotal').html(formatNumber(itemdata[2]));
                        $('#cart-subtotal').html(formatNumber(itemdata[0]));
                        $('#cart-count').html(itemdata[1]);
                        $('#checkout-subtotal').html(formatNumber(itemdata[0]));

                        var topitem = $('#cart-top a[rel=' + basket_item_id + ']');
                        topitem.parent().find('.quantity').html(count + "X");

                    },
                    error: function (xhr, ajaxOptions, thrownError) {
                        alert(xhr.status);
                        alert(thrownError);
                    }
                });
            }
            else {
                $.ajax({
                    type: "POST",
                    url: "/resources/ajax/product_delete.aspx",
                    data: "basket_item_id=" + basket_item_id,
                    success: function (msg) {
                        var itemdata = msg.split('|');
                        element.remove();
                        $('#cart-subtotal').html(formatNumber(itemdata[0]));
                        $('#cart-count').html(itemdata[1]);
                        $('#checkout-subtotal').html(formatNumber(itemdata[0]));

                        var topitem = $('#cart-top a[rel=' + basket_item_id + ']');
                        topitem.parent().remove();
                    },
                    error: function (xhr, ajaxOptions, thrownError) {
                        alert(xhr.status);
                        alert(thrownError);
                    }
                });

            }
        }

        return false;
    });

    $('#arrival').click(function () {
        if ($(this).is(':checked')) {
            $('input#departure').attr('checked', false);
        }
    });

    $('#departure').click(function () {
        if ($(this).is(':checked')) {
            $('input#arrival').attr('checked', false);
        }
    });


    $('a#checkout').click(function () {
        var name = $('#name').val();
        var ssn = $('#ssn').val();
        var phone = $('#phone').val();
        var email = $('#email').val();
        var flight = $('#flight').val();
        var date = $('#date').val();

        var arrival = $('#arrival:checked').val();
        var departure = $('#departure:checked').val();

        var phone_confirm = $('#phone-confirm:checked').val();
        var mailinglist = $('#mailinglist:checked').val();

        var message = '';
        if (name == 'Fullt nafn' || name == 'Full name' || name == '') {
            message += messages[0] + '!\n';
        }
        if (ssn == 'Kennitala' || ssn == 'Social Security Number' || ssn == '') {
            //message += 'Please enter Kennitala!\n';
            //optional
        }
        if (phone == 'GSM númer' || phone == 'Mobile Number' || phone == '') {
            //message += 'Please enter GSM númer!\n';
            //optional
        }
        if (email == 'Tölvupóstfang' || email == 'Email' || email == '') {
            message += messages[1] + '!\n';
        }
        else if (!isValidEmail(email)) {
            message += messages[3] + '!!\n';
        }

        if (flight == 'Flugnúmer' || flight == 'Flight number' || flight == '') {
            message += messages[4] + '!\n';
        }
        if (date == 'Dagsetning flugs þegar vörur eru sóttar' || date == 'Date of flight when products are picked up' || date == '') {
            message += messages[5] + '!\n';
        }
        if (arrival == undefined && departure == undefined) {
            message += messages[2] + '\n';
        }

        if (message != '') {
            alert(message);
        }
        else {
            $('#checkout').submit();
            /*$('#overlay').show();

            $.ajax({
            type: "POST",
            url: "/resources/ajax/order_confirm.aspx",
            data: "name=" + name + "&ssn=" + ssn + "&phone=" + phone + "&email=" + email + "&flight=" + flight + "&date=" + date + "&arrival=" + arrival + "&departure=" + departure + "&phone_confirm=" + phone_confirm + "&mailinglist=" + mailinglist,
            success: function (msg) {
            $('#overlay').find('.c').html(msg);
            },
            error: function (xhr, ajaxOptions, thrownError) {
            alert(xhr.status);
            alert(thrownError);
            }
            });*/
        }

        return false;
    });
});

var messages = new Array();
var setTranslation = function (number, value) {
    messages[number] = value;
}

function addEvent() {
    $('a.product-delete').click(function () {
        var basket_item_id = $(this).attr('rel');
        var element = $(this).parent();

        $.ajax({
            type: "POST",
            url: "/resources/ajax/product_delete.aspx",
            data: "basket_item_id=" + basket_item_id,
            success: function (msg) {
                var itemdata = msg.split('|');
                element.remove();
                $('#cart-subtotal').html(formatNumber(itemdata[0]));
                $('#cart-count').html(itemdata[1]);
                $('#checkout-subtotal').html(formatNumber(itemdata[0]));

                var topitem = $('.checkout a[rel=' + basket_item_id + ']');
                topitem.parent().parent().remove();

                var cartview = $('.basket-view a[rel=' + basket_item_id + ']');
                cartview.parent().parent().remove();
            },
            error: function (xhr, ajaxOptions, thrownError) {
                alert(xhr.status);
                alert(thrownError);
            }
        });

        return false;
    });
}

function isValidEmail(strEmail) {
    validRegExp = /^[^@]+@[^@]+.[a-z]{2,}$/i;

    // search email text for regular exp matches
    if (strEmail.search(validRegExp) == -1) {
        return false;
    }
    return true;
}

function formatNumber(number) {
    if (number.length > 3) {
        var formattedNumber = '';

        do {
            formattedNumber = '.' + number.substr(number.length - 3, 3) + formattedNumber;
            number = number.substr(0, number.length - 3);

        } while (number.length > 3);
        formattedNumber = number + formattedNumber;
        return formattedNumber;
    }
    else {
        return number;
    }
}
