/* 
 * Cart manipulation
 */
function initJS() {
    $('a.delBtn').bind('click', function(ev) {
        var prodId = this.id.substring(4);
        if (confirm('Θέλετε να διαγράψετε το προϊόν;')) {
            updateItem(prodId, 0);
        }
        ev.preventDefault();
    });
    $('a.addBtn').bind('click', function(ev) {
        var prodId = this.id.substring(2);
        var qty = new Number($('#quantity_'+prodId).val());
        qty += 1;
        updateItem(prodId, qty);
        ev.preventDefault();
    });
    $('a.subBtn').bind('click', function(ev) {
        var prodId = this.id.substring(2);
        var qty = new Number($('#quantity_'+prodId).val());
        qty -= 1;
        if (qty > 0 || (qty < 1 && confirm('Θέλετε να διαγράψετε το προϊόν;'))) {
            updateItem(prodId, qty);
        }
        ev.preventDefault();
    });

    $("#ajaxAction").ajaxStart(function(){
            $(this).show();
        }).ajaxStop(function(){
            $(this).hide();
        });

}

function updateItem(prod_id, prod_qty) {
    var data = {"id": prod_id, "quantity": prod_qty, "objectClass": $('#class_'+prod_id).val() };
    $.getJSON(MySettings.ajaxURL, data, handleJSONResponse);
}

function handleJSONResponse(jdata, textStatus) {
    if ('success' == textStatus && "NOTOK" != jdata.status) {
        //if ((typeof jdata.delItem) != "undefined") { sucks!!!
        if ("del" == jdata.status) {
            $('#p_' + jdata.delItem).remove();
            $('#phr_' + jdata.delItem).remove();
            if (0 == jdata.grandTotal) {
                $('#cart').replaceWith('<div class="cartEmpty">Το καλάθι αγορών είναι άδειο!</div>'+
                    '<div><a href="/eshop/index">'+
                        '<img alt="Συνέχεια αγορών" title="Συνέχεια αγορών"'+
                        ' src="/images/buttons/continueshopping.gif" /></a></div>'
                        );
            } else {
                $('#gtotal').text(jdata.grandTotal);
            }
        } else {
            $('#quantity_'+jdata.id).val(jdata.itemQty);
            $('#qty_'+jdata.id).text(jdata.itemQty);
            $('#itot_'+jdata.id).html(jdata.itemTotal);
            $('#gtotal').text(jdata.grandTotal);
        }
        $("#cartNItems").text(jdata.gItems);
        $("#cartCValue").text(jdata.grandTotal);
    }
    else {
        alert('Σφάλμα: Η ανανέωση δεν ήταν δυνατή.');
        document.location.href = MySettings.cartIdx;
    }
}

function showTermsPolicy() {
    window.open('/static/acceptTerms.html', "", "width=900px, height=728px, scrollbars, resizable", true);
    return false;
}

function submitOrder() {
    if (!document.getElementById("acceptTerms").checked) {
        alert("Για την ολοκλήρωση αυτής της συναλλαγής, θα πρέπει να αποδεχτείτε τους όρους της!");
        return false;
    } else {
        return true;
    }
}
