function cosAddItem (tip, id, titlu, pret_ron, pret_euro, ship_ro, addship_ro, ship_eu, addship_eu, ship_rest, addship_rest) {
    var moneda = cosGetMoneda();
    var pret = pret_ron;
    if (moneda != 'ron') {
        pret = pret_euro;
    }
    var fl = moneda.charAt(0).toUpperCase();
    moneda = fl + moneda.slice(1);
    
    tip = tip.toLowerCase();
    
    var tr = "cos_"+ tip +"_"+ id;
    if (jQuery("#"+tr).length == 1) {
        var c = jQuery("#"+tr).find(".cantitate");
        c.val(parseInt(c.val()) + 1);
    } else {
        var row = "";
        row = '<tr id="'+ tr +'">';
        row += '<td>';
        row += titlu +'; Pret: <span class="pret">'+ pret +'</span> <span class="moneda">'+ moneda +'</span>';
        row += '</td>';
        row += '<td width="60">';
        row += '<input type="text" class="cantitate" name="cantitate[]" value="1" size="1" title="Cantitate" onblur="cosUpdateCantitate();" style="width:15px;" />';
        row += '<a href="#" title="Sterge din cos" onclick="cosDelItem(\''+ tip +'\', \''+ id +'\');"><font size="-3">Sterge</font></a>';
        row += '<input type="hidden" name="id[]" value="'+ id +'" />';
        row += '<input type="hidden" name="titlu[]" value="'+ titlu +'" />';
        row += '<input type="hidden" class="tip" name="tip[]" value="'+ tip +'" />';
        row += '<input type="hidden" class="pret_ron" name="pret_ron[]" value="'+ pret_ron +'" />';
        row += '<input type="hidden" class="pret_euro" name="pret_euro[]" value="'+ pret_euro +'" />';
        row += '<input type="hidden" class="ship_ro" name="ship_ro[]" value="'+ ship_ro +'" />';
        row += '<input type="hidden" class="addship_ro" name="addship_ro[]" value="'+ addship_ro +'" />';
        row += '<input type="hidden" class="ship_eu" name="ship_eu[]" value="'+ ship_eu +'" />';
        row += '<input type="hidden" class="addship_eu" name="addship_eu[]" value="'+ addship_eu +'" />';
        row += '<input type="hidden" class="ship_rest" name="ship_rest[]" value="'+ ship_rest +'" />';
        row += '<input type="hidden" class="addship_rest" name="addship_rest[]" value="'+ addship_rest +'" />';
        row += '</td>';
        row += '</tr>';
        
        jQuery("#cos_items").append(row);
    }
    
    cosCalculeazaTransport();
    cosCalculeazaTotal();
    
    submitCart();
}

function cosDelItem (tip, id) {
    if (jQuery("#cos_"+ tip +"_"+ id).length < 1) {
        return;
    }
    
    jQuery("#cos_"+ tip +"_"+ id).remove();
    
    if (tip == "revista" && typeof REVISTE_ADAUGATE != "undefined") {
        colCheckRevista(id);
    }
    
    cosCalculeazaTransport();
    cosCalculeazaTotal();
    
    submitCart();
}

function submitCart () {
    jQuery("#cartform").append('<input type="hidden" name="stay" value="1" />');
    jQuery("#cartform").submit();
}

function cosCheckMesaj () {
    var total = parseFloat(jQuery("#cos_total").text());
    if (total > 0) {
        jQuery("#cos_mesaj").hide();
        jQuery("#link_next").show();
        jQuery("#cos_livrare").show();
        jQuery("#arhicart").css("backgroundColor", "#00aeef");
    } else {
        jQuery("#cos_mesaj").show();
        jQuery("#link_next").hide();
        jQuery("#cos_livrare").hide();
        jQuery("#arhicart").css("backgroundColor", "");
    }
}

function cosGetMoneda () {
    return jQuery("#cos_currency").text().toLowerCase();
}

function cosChangeMoneda (moneda, submit) {
    if (typeof submit == "undefined") {
        submit = true;
    }
    
    var fl = moneda.charAt(0).toUpperCase();
    jQuery(".moneda").text(fl + moneda.slice(1));
    
    jQuery("#cos_items tr").each(function(){
        var pret = parseFloat(jQuery(this).find("input.pret_"+moneda).val());
        if (pret == -1) {
            pret = "---";
        }
        jQuery(this).find("span.pret").text(pret);
    });
    
    if (submit == true) {
        submitCart();
    }
}

function cosChangeTipTransport (tip_transport) {
	if (jQuery("#cos_livrare input:hidden").length == 1) {
		jQuery("#cos_livrare input:hidden").val(tip_transport);
	}
	var moneda = "euro";
	if (tip_transport == "ro") {
		moneda = "ron";
	}
	cosChangeMoneda(moneda, false);
}

function cosCalculeazaTransport () {
    if (jQuery("#cos_livrare input:hidden").length == 1) {
        var zona = jQuery("#cos_livrare input:hidden").val();
    } else {
        var zona = jQuery("#cos_livrare input:checked").val();
    }
    
    var cost = 0;
    if (typeof zona != "undefined") {
        var cantitate = {};
        var shiprate = {};
        
        jQuery("#cos_items").find("input.cantitate").each(function(){
            var c = parseInt(jQuery(this).val());
            if (c < 0) {
                c = 0;
            }
            if (c > 0) {
                var td = jQuery(this).parent();
                var item_shiprates = {
                    ship_ro: td.find("input.ship_ro").val(),
                    addship_ro: td.find("input.addship_ro").val(),
                    ship_eu: td.find("input.ship_eu").val(),
                    addship_eu: td.find("input.addship_eu").val(),
                    ship_rest: td.find("input.ship_rest").val(),
                    addship_rest: td.find("input.addship_rest").val()
                };
                if (typeof cantitate[td.find("input.tip").val()] == "undefined") {
                    cantitate[td.find("input.tip").val()] = 0;
                }
                cantitate[td.find("input.tip").val()] += c;
                shiprate[td.find("input.tip").val()] = item_shiprates;
                
                if (td.find("input.tip").val() == "abonamente") {
                    if (parseFloat(item_shiprates["ship_"+ zona]) > -1) {
                        cost += parseFloat(item_shiprates["ship_"+ zona]);
                        for (var i = 0; i < c - 1; i++) {
                            cost += parseFloat(item_shiprates["addship_"+ zona]);
                        }
                    }
                }
            }
        });
        
        if (typeof cantitate["revista"] != "undefined" && cantitate["revista"] > 0) {
            if (zona == "ro") {
                cost += parseFloat(shiprate["revista"]["ship_"+ zona]);
                for (var i = 0; i < cantitate["revista"] - 1; i++) {
                    cost += parseFloat(shiprate["revista"]["addship_"+ zona]);
                }
            } else {
                cost += Math.floor(parseFloat(cantitate["revista"]) / 2) * shiprate["revista"]["addship_"+ zona];
                cost += parseFloat((cantitate["revista"] % 2) * shiprate["revista"]["ship_"+ zona]);
            }
        }
        
        if (typeof cantitate["prodspec"] != "undefined" && cantitate["prodspec"] > 0) {
            cost += Math.floor(parseFloat(cantitate["prodspec"]) / 2) * shiprate["prodspec"]["ship_"+ zona];
            cost += parseFloat((cantitate["prodspec"] % 2) * shiprate["prodspec"]["ship_"+ zona]);
        }
    }
    
    jQuery("#cost_transport").text(cost);
    if (cost > 0) {
        jQuery("#cos_transport").show();
    } else {
        jQuery("#cos_transport").hide();
    }
}

function cosCalculeazaTotal () {
    var total = 0;
    var moneda = cosGetMoneda();
    
    jQuery("#cos_items").find("input.cantitate").each(function(){
        var c = parseInt(jQuery(this).val());
        if (c < 0) {
            c = 0;
        }
        var p = parseFloat(jQuery(this).parent().find("input.pret_"+moneda).val());
        if (p > 0) {
            total += p * c;
        }
    });
    
    var cost = parseFloat(jQuery("#cost_transport").text());
    if (isNaN(cost)) {
        cost = 0;
    }
    total += cost;
    
    jQuery("#cos_total").text(total);
    cosCheckMesaj();
}

function cosUpdateCantitate () {
    cosCalculeazaTransport();
    cosCalculeazaTotal();
    
    submitCart();
}

function cosUpdateZonaLivrare (moneda) {
    cosChangeMoneda(moneda);
    cosCalculeazaTransport();
    cosCalculeazaTotal();
}

function colCheckRevista (id_revista) {
    var elem = jQuery("#"+ id_revista +"_link");
    var coperta = jQuery("#"+ id_revista +"_coperta");
    
    var titlu = elem.attr("titlu");
    var pret_ron = parseFloat(elem.attr("pret_ron"));
    if (!pret_ron) {
        pret_ron = 0;
    }
    var pret_euro = parseFloat(elem.attr("pret_euro"));
    if (!pret_euro) {
        pret_euro = 0;
    }
    var ship_ro = parseFloat(elem.attr("ship_ro"));
    if (!ship_ro) {
        ship_ro = 0;
    }
    var addship_ro = parseFloat(elem.attr("addship_ro"));
    if (!addship_ro) {
        addship_ro = 0;
    }
    var ship_eu = parseFloat(elem.attr("ship_eu"));
    if (!ship_eu) {
        ship_eu = 0;
    }
    var addship_eu = parseFloat(elem.attr("addship_eu"));
    if (!addship_eu) {
        addship_eu = 0;
    }
    var ship_rest = parseFloat(elem.attr("ship_rest"));
    if (!ship_rest) {
        ship_rest = 0;
    }
    var addship_rest = parseFloat(elem.attr("addship_rest"));
    if (!addship_rest) {
        addship_rest = 0;
    }
    
    var re = new RegExp(","+ id_revista +",");
    
    if (REVISTE_ADAUGATE.search(re) > -1) {
        // e deja in cos
        elem.text(ADAUGA_LINK_TEXT);
        coperta.find("img").attr("src", coperta.attr("img"));
        
        cosDelItem("revista", id_revista);
        
        REVISTE_ADAUGATE = REVISTE_ADAUGATE.replace(re, ",");
    } else {
        // se adauga
        elem.text(STERGE_LINK_TEXT);
        coperta.find("img").attr("src", IMG_ADAUGAT);
        
        cosAddItem("revista", id_revista, titlu, pret_ron, pret_euro, ship_ro, addship_ro, ship_eu, addship_eu, ship_rest, addship_rest);
        
        REVISTE_ADAUGATE += id_revista + ",";
    }
    
    return false;
}

function aboCheckAbonament (id_abonament) {
    var elem = jQuery("#"+ id_abonament +"_abo_link");
    
    var titlu = elem.attr("titlu");
    var pret_ron = parseFloat(elem.attr("pret_ron"));
    if (!pret_ron) {
        pret_ron = 0;
    }
    var pret_euro = parseFloat(elem.attr("pret_euro"));
    if (!pret_euro) {
        pret_euro = 0;
    }
    var ship_ro = parseFloat(elem.attr("ship_ro"));
    if (!ship_ro) {
        ship_ro = 0;
    }
    var addship_ro = parseFloat(elem.attr("addship_ro"));
    if (!addship_ro) {
        addship_ro = 0;
    }
    var ship_eu = parseFloat(elem.attr("ship_eu"));
    if (!ship_eu) {
        ship_eu = 0;
    }
    var addship_eu = parseFloat(elem.attr("addship_eu"));
    if (!addship_eu) {
        addship_eu = 0;
    }
    var ship_rest = parseFloat(elem.attr("ship_rest"));
    if (!ship_rest) {
        ship_rest = 0;
    }
    var addship_rest = parseFloat(elem.attr("addship_rest"));
    if (!addship_rest) {
        addship_rest = 0;
    }
    
    var re = new RegExp(","+ id_abonament +",");
    
    if (ABONAMENTE_ADAUGATE.search(re) > -1) {
        // e deja in cos
        elem.text(ADAUGA_LINK_TEXT);
        
        cosDelItem("abonament", id_abonament);
        
        ABONAMENTE_ADAUGATE = ABONAMENTE_ADAUGATE.replace(re, ",");
    } else {
        // se adauga
        elem.text(STERGE_LINK_TEXT);
        
        cosAddItem("abonament", id_abonament, titlu, pret_ron, pret_euro, ship_ro, addship_ro, ship_eu, addship_eu, ship_rest, addship_rest);
        
        ABONAMENTE_ADAUGATE += id_abonament + ",";
    }
    
    return false;
}

function aboCheckProdSpec (id_abonament) {
    var elem = jQuery("#"+ id_abonament +"_abo_link");
    
    var titlu = elem.attr("titlu");
    var pret_ron = parseFloat(elem.attr("pret_ron"));
    if (!pret_ron) {
        pret_ron = 0;
    }
    var pret_euro = parseFloat(elem.attr("pret_euro"));
    if (!pret_euro) {
        pret_euro = 0;
    }
    var ship_ro = parseFloat(elem.attr("ship_ro"));
    if (!ship_ro) {
        ship_ro = 0;
    }
    var addship_ro = parseFloat(elem.attr("addship_ro"));
    if (!addship_ro) {
        addship_ro = 0;
    }
    var ship_eu = parseFloat(elem.attr("ship_eu"));
    if (!ship_eu) {
        ship_eu = 0;
    }
    var addship_eu = parseFloat(elem.attr("addship_eu"));
    if (!addship_eu) {
        addship_eu = 0;
    }
    var ship_rest = parseFloat(elem.attr("ship_rest"));
    if (!ship_rest) {
        ship_rest = 0;
    }
    var addship_rest = parseFloat(elem.attr("addship_rest"));
    if (!addship_rest) {
        addship_rest = 0;
    }
    
    var re = new RegExp(","+ id_abonament +",");
    
    if (ABONAMENTE_ADAUGATE.search(re) > -1) {
        // e deja in cos
        elem.text(ADAUGA_LINK_TEXT);
        
        cosDelItem("prodspec", id_abonament);
        
        ABONAMENTE_ADAUGATE = ABONAMENTE_ADAUGATE.replace(re, ",");
    } else {
        // se adauga
        elem.text(STERGE_LINK_TEXT);
        
        cosAddItem("prodspec", id_abonament, titlu, pret_ron, pret_euro, ship_ro, addship_ro, ship_eu, addship_eu, ship_rest, addship_rest);
        
        ABONAMENTE_ADAUGATE += id_abonament + ",";
    }
    
    return false;
}
