﻿$(document).ready(function () {
    //  example on dropdownlist: class="addbasket product_1 visitor_2"
    $('.changePrice').keypress(function (event) {
        if (event.keyCode == '13') {
            //alert('Enter geklikt');
            event.preventDefault();
            event.stopPropagation();
        }
    });
    $('.changePrice').change(function () {
        var selected = $(this.parentNode.parentNode).find('select:first option:selected').val();
        var className = $(this.parentNode.parentNode).find('select:first')[0].className;
        if (selected != '0')
            AddBasket(className, selected);
    });

    $('.addbasket').change(function () {
        AddBasket(this.className, this.value);
    });
    $(".propagate").bind("mouseover", function () {
        setDropdowns(this, false);
    });
    $(".propagate").bind("focus", function () {
        setDropdowns(this, false);
    });
    $(".propagateDefaultzero").bind("mouseover", function () {
        setDropdowns(this, true);
    });
    $(".propagateDefaultzero").bind("focus", function () {
        setDropdowns(this, true);
    });
    function setDropdowns(dd, zeroDefault) {
        var splitCount = 4;

        if (dd.className.indexOf('done') > -1) return;
        var split = dd.className.split(' ');
        var steps = parseInt(split[splitCount].split('_')[1]);
        var selected = $(dd).val();

        if ((selected == undefined || selected == 0) && zeroDefault == false)
            selected = steps;

        var max = 100 * steps;
        $(dd).html('');
        for (index = 0; index < max; index = index + steps) {
            if (selected != index)
                $('<option value="' + index + '">' + index + '</option>').appendTo(dd);
            else
                $('<option value="' + index + '" selected="selected">' + index + '</option>').appendTo(dd);
        }
        dd.className += ' done';
    }
    $('.changebasket').change(function () {
        if (this.value == '0') {
            $(this.parentNode.parentNode).remove();
            ReZebra();
        }
        AddBasket(this.className, this.value);

    });
    $('.removebasket').click(function () {
        $(this.parentNode.parentNode).remove();
        ReZebra();
        var className = $(this.parentNode.parentNode).find('select:first')[0].className;
        AddBasket(className, -1);
    });
    function ReZebra() {
        $("table.Bestellijst tbody tr:even").removeClass('odd').removeClass('even').addClass('odd');
        $("table.Bestellijst tbody tr:odd").removeClass('odd').removeClass('even').addClass('even');
    }
    function AddBasket(classname, quantity) {
        var split = classname.split(' ');
        var visitor = split[2].split('_')[1];
        var product = split[1].split('_')[1];
        var priceperpiece = $('#priceperpiece_' + product).val();
        var amount = quantity;

        var theData = "visitor=" + visitor + "&product=" + product + "&quantity=" + amount + "&priceperpiece=" +
            (priceperpiece == undefined ? '' : priceperpiece);

        $.ajax({
            type: "POST",
            url: (location.href.indexOf('localhost') > -1 ? "/tristar_2010" : "") + "/service/AddBasket.ashx",
            data: theData,
            success: function (returnObj) {

                if (returnObj.ItemPrice == '0' || returnObj.ItemPrice == '€ 0,00')
                    $('#price_' + product).text('');
                else
                    $('#price_' + product).text(returnObj.ItemPrice);

                if (returnObj.TotalPrice == '0')
                    $('#totalprice').text('€ 0,00');
                else
                    $('#totalprice').text(returnObj.TotalPrice);

                $('#totalquantity').text(returnObj.Quantity);
                //alert($('#uxShopButBlue'));

                if (returnObj.ExtraItemDeleted != 0) {
                    //                    var deleteNode = $('#price_' + returnObj.ExtraItemDeleted);
                    //                    alert(deleteNode.val());
                    //                    deleteNode.parentNode.parentNode.remove()
                    //                    ReZebra();
                    window.location.reload()
                }
                if (returnObj.Quantity > 0) {
                    $('#uxShopButBlue').addClass('hidden');
                    $('#uxShopButGreen').removeClass('hidden');
                    $('#uxShopButGreen2').removeClass('hidden');

                }
                else {
                    $('#uxShopButGreen').addClass('hidden');
                    $('#uxShopButGreen2').addClass('hidden');
                    $('#uxShopButBlue').removeClass('hidden');
                }
            }
        });
        return false;
    }
});
