var carrinho = [];
if($j.cookie('carr'))
	var carr = $j.cookie('carr');
else
	var carr = '{}';
	
	function roundNumber(num, dec) {
	var result = Math.round(num*Math.pow(10,dec))/Math.pow(10,dec);
	return result;
}

function round(num){
	num = parseFloat(num);
	return roundNumber(num, 2);
}

function euro_format(number){
	return number_format(number,2,'.','') + '&euro;';
}

function number_format( number, decimals, dec_point, thousands_sep ) {
    // http://kevin.vanzonneveld.net
    // +   original by: Jonas Raoni Soares Silva (http://www.jsfromhell.com)
    // +   improved by: Kevin van Zonneveld (http://kevin.vanzonneveld.net)
    // +     bugfix by: Michael White (http://crestidg.com)
    // +     bugfix by: Benjamin Lupton
    // +     bugfix by: Allan Jensen (http://www.winternet.no)
    // +    revised by: Jonas Raoni Soares Silva (http://www.jsfromhell.com)
    // +     bugfix by: Howard Yeend
    // *     example 1: number_format(1234.5678, 2, '.', '');
    // *     returns 1: 1234.57     
 
    var n = number, c = isNaN(decimals = Math.abs(decimals)) ? 2 : decimals;
    var d = dec_point == undefined ? "." : dec_point;
    var t = thousands_sep == undefined ? "," : thousands_sep, s = n < 0 ? "-" : "";
    var i = parseInt(n = Math.abs(+n || 0).toFixed(c)) + "", j = (j = i.length) > 3 ? j % 3 : 0;
    
    return s + (j ? i.substr(0, j) + t : "") + i.substr(j).replace(/(\d{3})(?=\d)/g, "$1" + t) + (c ? d + Math.abs(n - i).toFixed(c).slice(2) : "");
}

	
function adCarrinho(ref,nome,preco,cod,tam){
    if (tam != 'no') {
        var jaExiste = null;
        var posExistente = null;

        carrinho = getCarrinho();

        for(i=0; i<carrinho.length; i++){
            if(i>0){
                if(carrinho[i].ref==ref && carrinho[i].tam==tam) {
                    jaExiste = true;
                    posExistente = i;
                }
            }
        }
        if(jaExiste){
            document.location.href = '?sc=carr';
//            carrinho[posExistente].qnt = parseInt(carrinho[posExistente].qnt) + 1;
//            setCarrinhoJSON(carrinho);
        }else{
            carr = $j.cookie('carr');
                carr = carr + ',{"ref":"'+ref+'", "nome":"'+nome+'", "preco":"'+preco+'", "cod":"'+cod+'", "tam":"'+tam+'", "qnt":"1"}';
        }
        setCarrinho(carr);

        // depois de adicionar manda pra pagina da encomenda
        //alert('Produto adicionado com sucesso!');
        document.location.href = "?sc=carr";

        //document.location.href = 'Page534.htm';
        return setCarrinho(carr);
    } else {
        alert('Erro ao adicionar ao carrinho. \n  Deve escolher um tamanho para proceder com a compra.');
    }
}

function removeCarrinho(ref, tam){
	carrinho = getCarrinho();
	var novoCarrinho = [];
	carr = '{}';
	var i;
	for(i=0; i<carrinho.length; i++){
		if(i>0){
			if((carrinho[i].ref!=ref) || (carrinho[i].ref==ref && carrinho[i].tam != tam) ) {
				carr = carr + ',{"ref":"'+carrinho[i].ref+'", "nome":"'+carrinho[i].nome+'", "preco":"'+carrinho[i].preco+'", "cod":"'+carrinho[i].cod+'", "tam":"'+carrinho[i].tam+'", "qnt":"'+carrinho[i].qnt+'"}';
			}
		}
	}
		contar();
	return setCarrinho(carr);
}

function alteraCarrinhoQnt(ref,qnt,tam,jaValidado){
	if(qnt<1){
		//return removeCarrinho(ref);
		qnt=0;	
	} 
	carrinho = getCarrinho();
	var novoCarrinho = [];
	carr = '{}';
	var i;
	for(i=0; i<carrinho.length; i++){
		if(i>0){
			if(carrinho[i].ref==ref & carrinho[i].qnt != qnt & carrinho[i].tam == tam) {
//                                $j('#msg_carr').html('');
				carr = carr + ',{"ref":"'+carrinho[i].ref+'", "nome":"'+carrinho[i].nome+'", "preco":"'+carrinho[i].preco+'", "qnt":"'+qnt+'", "tam":"'+carrinho[i].tam+'", "cod":"'+carrinho[i].cod+'"}';
                                if (jaValidado != 1) {
                                    validaQtd(carrinho[i].ref, carrinho[i].tam, qnt, i);
                                }
			} else {
                            carr = carr + ',{"ref":"'+carrinho[i].ref+'", "nome":"'+carrinho[i].nome+'", "preco":"'+carrinho[i].preco+'", "qnt":"'+carrinho[i].qnt+'", "tam":"'+carrinho[i].tam+'", "cod":"'+carrinho[i].cod+'"}';
                        }
		}
	}
	return setCarrinho(carr);
	
}

function getCarrinho(){
	eval('carrinho = ['+$j.cookie('carr')+'];');
	return carrinho;
}
function setCarrinho(carrStr){
	carrStr = $j.cookie('carr', carrStr, {expires: 1 });
	contar();
	m();
	return carrStr;
}
function setCarrinhoJSON(obj){
	carr = '{}';
	for(i=0; i<obj.length; i++){
		if(i>0){
			carr = carr + ',{"ref":"'+obj[i].ref+'", "nome":"'+obj[i].nome+'", "preco:"'+obj[i].preco+'", "qnt":"'+obj[i].qnt+'", "cod":"'+obj[i].cod+'"}';
		}
	}
	
	return $j.cookie('carr', carr, {expires: 1 });
}
function limparCarrinho() {
	carr = '{}';
	$j.cookie('carr', '', { expires: -1 });
	contar();
	m();
}
function apenas_limparCarrinho() {
	carr = '{}';
	$j.cookie('carr', '', { expires: -1 });
	contar();
}
function mostraCarrinho(){
	carrinho = getCarrinho();
	
	var tabela = '<form method="post" action="?sc=pag&op=1">';
	tabela += '<table>';
	var qnts = 0;
	var total = 0;
	var itemsCnt;
	tabela += '<tr>';
	tabela += '<th>Ref.</th>';
	tabela += '<th class="col1">Nome</th>';
    tabela += '<th>Tam.</th>';
	tabela += '<th>Pre&ccedil;o Unit&aacute;rio</th>';
	tabela += '<th>Quantidade</th>';
	tabela += '<th>Sub total</th>';
	tabela += '<th>&nbsp;</th>';
	tabela += '</tr>';
	$j.each(carrinho,function(i,obj){
		if(i>0){
			if(obj.qnt== 'NaN') {
				obj.qnt=1;
			}
			tabela += '<tr class = "line">';
			tabela += '<td><a href="?sc=visCatg&cod='+obj.cod+'&ref='+obj.ref+'">'+obj.ref+'</a></td>';
			tabela += '<td><a href="?sc=visCatg&cod='+obj.cod+'&ref='+obj.ref+'">'+obj.nome+'</a></td>';
            if (obj.tam > 0) {
                tabela += '<td id = "td'+i+'" >'+getTamanho(obj.tam,i)+'</td>';
            } else {
                tabela += '<td>&Uacute;nico</td>';
            }
			tabela += '<td>'+obj.preco+'&euro;</td>';
			//tabela += '<td>&nbsp;<input maxlength="3" class="qnt" size="1" onchange="alteraCarrinhoQnt(\''+obj.ref+'\',this.value)" value="'+obj.qnt+'" /><input type="button" value="OK" /></td>';
			tabela += '<td>&nbsp;<input maxlength="3" class="qnt" size="1" id = "qnt_'+i+'" onchange="alteraCarrinhoQnt(\''+obj.ref+'\',this.value,'+obj.tam+')" value="'+obj.qnt+'" /></td>';
			tabela += '<td>'+euro_format(obj.preco*obj.qnt)+'</td>';
			
			tabela += '<td><input type="button" value=" X " onclick="removeCarrinho(\''+obj.ref+'\',\''+obj.tam+'\')" class = "erase" />&nbsp;</td>';
			tabela += '</tr>';
			total += obj.preco*obj.qnt;
			qnts += parseInt(obj.qnt);
			tabela +='<input type="hidden" name="ref[]" value='+obj.ref+' />';
		}
		itemsCnt = i;
	});
	if(itemsCnt==0){
		tabela += '<tr><td colspan="6" align="center">N&atilde;o tem compras</td></td>';
	}
	if(itemsCnt>0){
	tabela += '<tr>';
		tabela += '<td colspan="3" class="total">Total: </td>';
		tabela += '<td>'+qnts+'</td>';
		tabela += '<td class = "valor_total">'+euro_format(total)+'</td>';
		tabela += '<td><a href="javascript:limparCarrinho()">Limpar Carrinho</a>&nbsp;</td>';
		tabela += '</tr>';
	}
	tabela += '<tr><td colspan="5" class="recalcular"><input type="button" value="Recalcular" onClick="return false" /></td>';
	if(itemsCnt==0){
		tabela += '<td class="finalizar" colspan="2"><input type="submit" value="Seguinte" disabled="disabled" class="seguinte"/></td></tr></table></form>';
	} else {
		tabela += '<td class="finalizar" colspan="2"><input type="submit" value="Seguinte" class="seguinte"/></td></tr></table></form>';
	}
	if(itemsCnt>0){
		tabela += '<p>';
		
		
		tabela += '</p>';
	}
		
	return(tabela);
		
}



function m(){
	$j('#carrinho').html(mostraCarrinho());
}


function contar(){

	carrStr = $j.cookie('carr');
	if (carrStr){
	var subs = carrStr.split('ref');
		if (subs.length > 1) {
			$j('#encomenda_mens').html("Tem "+ (subs.length-1) + " produtos.");
            total = getTotal();
            total = total.toFixed(2);

            $j('#val').html(total+'&euro;');
		} else {
            $j("#totencomenda").html('');
            $j('#encomenda_mens').css("padding-bottom", "46px");
            $j('#encomenda_mens').html('Não tem produtos');
		}
	} else {
        $j("#totencomenda").html('');
        $j('#encomenda_mens').css("padding-bottom", "46px");
        $j('#encomenda_mens').html('Não tem produtos');
	}
}

function getTotal() {
    carrinho = getCarrinho();
    total = 0;
    $j.each(carrinho,function(i,obj){
        if (i>0) {
            total += obj.preco*obj.qnt;
        }
    });
    return total;
}

function validaQtd(idprod, idtam, qnt, i) {
    $j.ajax({
         url: "getQtd.php?idtam="+idtam+"&qnt="+qnt,
         cache: false,
         success: function(errado){
                if(errado != "" ) {
                    html = errado.split(",",2);
                    $j('#msg_carr').html(html[0]);
                    $j("#qnt_"+i).val(html[1]);
                    alteraCarrinhoQnt(idprod, parseInt(html[1]),idtam,1);
                } else {
                    $j('#msg_carr').html('');
                }
         }
    });
}

function getTamanho(idtam,i) {
$j.ajax({
     url: "getTamanho.php?id="+idtam,
     cache: false,
     success: function(html){
         $j("#td"+i).html(html);
     }

});
}