/***
* Basket class
*/
function Basket(){

}
Basket.prototype.addItem    = function (item_id, amount, price){
    if (!item_id) return;
    var ordered = readCookie('ordered');
    if (!ordered)
        ordered = '';

    var found  = 0;
    var items  = ordered.split('|');
    for (var i = 0; i < items.length; i++){ // >
    // update already ordered item's amount
        var ia = items[i].split(':'); // id : amount
        if (ia[0] == item_id){
            items[i] = ia[0] + ':' + (parseInt(ia[1]) + parseInt(amount));
            found = 1;
            break;
        }
    }
    if (found){
        ordered = items.join('|');
    } else {
    // ordered a new item
        ordered += (ordered.length ? '|' : '' ) + item_id + ':' + amount;
    }

    createCookie("ordered", ordered, 90);

}
Basket.prototype.totalItems = function (){
    var ordered = readCookie('ordered');
    if (!ordered)
        return 0;

    var total_items = 0;
    var items = ordered.split('|');
    for (var i = 0; i < items.length; i++){ // >
    // update already ordered item's amount
        var ia = items[i].split(':'); // id : amount
        total_items += parseInt(ia[1]);
    }
    return total_items;
}
Basket.prototype.updateLabel    = function (){
    var total_ordered_items = this.totalItems();

    var rec = document.getElementById('total-ordered');
    if (total_ordered_items)
        rec.innerHTML = total_ordered_items + " items in basket";
    else
        rec.innerHTML = "empty";
}
Basket.prototype.removeItem        = function (item_id){

    var ordered = readCookie('ordered');
    if (!ordered)
        return;

    var updated = new Array();
    var items = ordered.split('|');
    for (var i = 0; i < items.length; i++){
        var ia = items[i].split(':'); // id : amount
        if (ia[0] != item_id)
            updated.push(items[i]);
    }
    ordered = updated.join("|");

    createCookie("ordered", ordered, 90);

}
Basket.prototype.updateAmount       = function (){
    var ordered = readCookie('ordered');
    if (!ordered)
        return;

    // convert cockie to hash
    var items = ordered.split('|');
    var total_price = 0;
    var items = new Array();
    $('[amount-of]')
        .map(function(num, dom){
            var amount  = parseInt(dom.value);
            var item_id = parseInt( dom.getAttribute('amount-of') );
            var price   = parseInt( dom.getAttribute('price') );
            items.push(item_id + ":" + amount);
            total_price += amount * price;
            document.getElementById('item-total-price-' + item_id).innerHTML = amount * price;
        });

    createCookie("ordered", items.join('|'), 90);

    return total_price;
};

Basket.prototype.sendOrder        = function () {
    var ordered = readCookie('ordered');
    if (!ordered)
        return;

    var items = ordered.split('|');
    var form  = document.createElement('form');
        form.action = '/basket/send_order';
        form.method = 'post';

    for (var i = 0; i < items.length; i++){
        var input = document.createElement('input');
            input.type = 'hidden';
            input.name = 'item';
            input.value = items[i]; // id : amount
        form.appendChild(input);
    }

    document.body.appendChild(form);
    form.submit();

};



