var cookie_basket   = "easyclaim_basket";
var cookie_sep_prod = ";";
var cookie_sep_desc = '=';
var param_sep_desc  = ',';
var param_sep_prod  = '|';
var cookie_encomenda = "easyclaim_encomenda";
var cookie_fact      = "easyclaim_fact";
var cookie_ligado    = "easyclaim_ligado";
var cookie_load_cliente = "easyclaim_cliente";
var cesto;

var titulo_apagar= 'Apagar';
var titulo_nome  = 'Items';
var titulo_preco = 'Pre&ccedil;o';
var titulo_qt    = 'Qt';
var titulo_total = 'Total';
var titulo_vazio = 'Carrinho de compras vazio.';
var titulo_moeda = '&#8364;';
var max_compra_item = 20;

//var ligado     = false;
var autenticar = true;

//campos de entrega
var arr_entrega    = ['nome','morada','cod_postal','localidade','pais','email','telefone','telemovel'];
//campos de fact
var arr_fact       = ['nome','morada','cod_postal','localidade','pais','email','telefone','telemovel','contribuinte', 'forma_pagamento', 'nib'];
//formas pagamento
var arr_formas_pag = ['reembolso','transferencia','paypal'];
var auto_preencher_fac = 1;
//obrigatorios
//campos de entrega
var arr_entrega_obg  = ['nome','morada','cod_postal','localidade','pais','email'];
//campos de fact
var arr_fact_obg     = ['fac_nome','fac_morada','fac_cod_postal','fac_localidade','fac_pais','fac_email', 'forma_pagamento'];

var msg_campos_obg   = 'Preencher campos Obrigat&oacute;rios.';

var paypal_business_email = '';
var msg_loading_paypal = "A carregar o site do PayPal...";

//basket_empty();
//limpa_dados_encomenda()

// guarda dados de encomenda em cookie
function guarda_dados_encomenda(){
	var arr_info = new Array();
	for(var i=0; i<arr_entrega.length; i++){
		var campo = arr_entrega[i];
		if( document.getElementById(campo) ){
			var valor = document.getElementById(campo).value;
			arr_info.push(valor);
		}
	}
	var str = arr_info.join(escape(cookie_sep_prod));
	setCookie(cookie_encomenda, str);
}

// le dados de encomenda do cookie, e escreve no html
function load_dados_encomenda(sitio){
	//sitio = 1 - formulario
	//sitio = 2 - pagina confirmacao
	
	var str = getCookie(cookie_encomenda);
	if( str != null ){
		var arr = new Array();
		arr = str.split(escape(cookie_sep_prod));
		for(var i=0; i<arr.length; i++){
			var campo = arr_entrega[i];
			if( sitio == 1 ){
				if( document.getElementById(campo) ){
					document.getElementById(campo).value = arr[i];
				}
			}else{
				campo = 'confirma_' + campo;
				if( document.getElementById(campo) ){
					document.getElementById(campo).innerHTML = arr[i];
				}
			}
		}
	}
}

// guarda dados de facturacao em cookie
function guarda_dados_facturacao(){
	var arr_info = new Array();
	for(var i=0; i<arr_fact.length; i++){
		var campo = 'fac_' + arr_fact[i];
		if(campo == 'fac_forma_pagamento'){
			for(var i2=0; i2<arr_formas_pag.length; i2++){
				var campo2 = arr_formas_pag[i2];
				if( document.getElementById('forma_pagamento_'+campo2) ){
					if( document.getElementById('forma_pagamento_'+campo2).checked ){
						arr_info.push(campo2);
						break;
					}
				}
			}		
		}else{			
			if( document.getElementById(campo) ){
				var valor = document.getElementById(campo).value;
				arr_info.push(valor);
			}
		}	
	}
	var str = arr_info.join(escape(cookie_sep_prod));
	setCookie(cookie_fact, str);
}

// le dados de facturacao do cookie, e escreve no html
function load_dados_facturacao(sitio){
	//sitio = 1 - formulario
	//sitio = 2 - pagina confirmacao
	
	var str = getCookie(cookie_fact);
	if( str != null ){
		var arr = new Array();
		arr = str.split(escape(cookie_sep_prod));
		for(var i=0; i<arr.length; i++){
			var campo = arr_fact[i];
			campo = 'fac_' + campo;
			
			if( campo == 'fac_forma_pagamento' ){
				if( sitio == 1 ){
					var ja_forma_seleccioanada = false;
					for(var i2=0; i2<arr_formas_pag.length; i2++){
						var campo2 = arr_formas_pag[i2];
						var f_obj = document.getElementById('forma_pagamento_'+campo2);
						if( f_obj && f_obj.checked == true){
							//ja esta uma forma selecioanda, logo não deve fazre nada
							ja_forma_seleccioanada = true;
							break;
						}
					}	
					if( ja_forma_seleccioanada == false && document.getElementById('forma_pagamento_'+arr[i]) ){
						document.getElementById('forma_pagamento_'+arr[i]).checked = true;
					}
				}else{
					/*
					for(var i2=0; i2<arr_formas_pag.length; i2++){
						var campo2 = arr_formas_pag[i2];
						if( document.getElementById('confirma_forma_pagamento_'+campo2) ){
							document.getElementById('confirma_forma_pagamento_'+campo2).style.display = 'none';
							if( campo2 == arr[i] ){
								document.getElementById('confirma_forma_pagamento_'+campo2).style.display = '';
							}
						}
					}
					*/
					var id_label = 'label_forma_pagamento_'+ arr[i];
					var str_pag = arr[i];
					if( document.getElementById(id_label)){
						str = document.getElementById(id_label).innerHTML;
						if( str.indexOf('>') > 0 ){
							str = str.substring(str.indexOf('>')+1, str.length);
							if( str.indexOf(' ') == 0 ){
								str = str.substring(1, str.length);
							}
						}
					} 
					document.getElementById('confirma_forma_pagamento').innerHTML = str;
				}
			}else{
				if( sitio == 1 ){
					if( document.getElementById(campo) ){
						document.getElementById(campo).value = arr[i];
					}
				}else{
					campo = 'confirma_' + campo;
					if( document.getElementById(campo) ){
						document.getElementById(campo).innerHTML = arr[i];
					}
				}
			}	
		}
	}
}

function auto_preenche_dados_facturacao(){
	
	var str = getCookie(cookie_fact);
	
	if( str == null || str == ''){
	
	}else{
		//já passou por aqui, e assim não vamos preencher
		return;
	}
	
	for(var i=0; i<arr_fact.length; i++){
		var campo     = arr_fact[i];
		var campo_fac = 'fac_' + campo;
		
		if(campo_fac != 'fac_forma_pagamento'){
			if( document.getElementById(campo_fac) ){
				if( document.getElementById(campo) ){
					document.getElementById(campo_fac).value = document.getElementById(campo).value;
				}
			}
		}	
	}	
}

function limpa_dados_encomenda(){
	setCookie(cookie_encomenda, '');
	setCookie(cookie_fact, '');
}

	

function adiciona_item(id, preco, nome, ref, desc, img){
	
	var qt = 1; //defeito
	if( document.getElementById('qt_'+id) ){
		qt = document.getElementById('qt_'+id).value;
	}
	
	//pode receber vários parametros
	basket_add(id, qt, preco, nome, ref, desc, img);
	
	show_basket();
}

function apaga_item(id){
	
	basket_del(id);
	
	show_itens();
}

function item_qt_onlick(id){
	var td =  document.getElementById('td_qt_'+id);
	
	if( max_compra_item && max_compra_item > 1 ){
		if( td ){
			var qt = basket_qt_get(id);
			//td.innerHTML = '<input type=text size=2 value="'+qt+'">';
			var str = '';
			//for(var i=1; i<=20; i++){
			for(var i=1; i<=max_compra_item; i++){
				var selected = '';
				if( i == qt ){
					selected = 'selected';
				}
				str = str + '<option value="'+i+'" '+selected+'>'+i+'</option>';
			}
			str = '<select onchange="item_qt_onchange('+id+', this.value)">'+str+'</select>';
			td.innerHTML = str;
		}
	}	
}

function item_qt_onchange(id, qt){
	basket_qt_update(id, qt);
	//var td =  document.getElementById('td_qt_'+id);
	show_itens();
}	

/*
<table cellspacing="0" cellpadding="0" border="0" width="100%">

<tr><th width="8%">Apagar</th><th width="*">Items</th><th width="8%" style="text-align:right">Pre&ccedil;o</th><th width="8%">Qt</th></tr>

<tr><td align="center"><a href="javascript:apaga_item(4)"><img src="/faqs/images/delete.gif" border=0></a></td><td><a href="catalog?a=ver&id=4">Licor Beirão</a></td><td nowrap style="text-align:right">4,00 &euro;</td><td nowrap id="td_qt_4"><div onclick="item_qt_onlick(4)">4</div></td></tr>

<tr><td align="center"><a href="javascript:apaga_item(2)"><img src="/faqs/images/delete.gif" border=0></a></td><td><a href="catalog?a=ver&id=2">Tequila</a></td><td nowrap style="text-align:right">80,00 &euro;</td><td nowrap id="td_qt_2"><div onclick="item_qt_onlick(2)">8</div></td></tr><tr><td></td><td style="text-align:right; font-weight: bold;">Total:</td><td style="text-align:right; font-weight: bold;" nowrap>84,00 &euro;</td><td>&nbsp;</td></tr>

</table>
*/

cesto_header = '<tr><th width="8%">titulo_apagar</th><th width="*">titulo_nome</th><th width="8%" style="text-align:right">titulo_preco</th><th width="8%">titulo_qt</th></tr>';
cesto_item   = '<tr><td align="center">item_apagar</td><td>item_nome</td><td nowrap style="text-align:right">item_preco</td><td>item_qt</td></tr>';
cesto_total  = '<tr><td></td><td style="text-align:right; font-weight: bold;">titulo_total</td><td style="text-align:right; font-weight: bold;" nowrap>valor_total</td><td>&nbsp;</td></tr>'		
cesto_template = '<table cellspacing="0" cellpadding="0" border="0" width="100%">cesto_header cesto_item cesto_total</table>';		

function show_itens(versao, lyr){
	
	if( versao == null ){
		versao = 1; //pode editar
	}
	if( lyr == null ){
		lyr = 'claim_cesto_itens'; //por defeito
	}
	
	basket_load();
	var str = '';
	var total = 0;
	for(var i=0; i<cesto.length; i++){
		//alert( cesto[i][0] + "->" +  cesto[i][1] );
		//alert( cesto[i].join(cookie_sep_desc) );
		//  0  1    2      3
		// id, qt, preco, nome
		var id    = cesto[i][0];
		var qt    = cesto[i][1];
		var preco = cesto[i][2];
		var nome  = cesto[i][3];
		//id, qt, preco, nome, ref, desc, img
		var ref  = '';
		var desc = '';
		var img  = '';
		if( cesto[i].length > 3 ){
			ref  = cesto[i][4];
		}
		if( cesto[i].length > 4 ){
			desc  = cesto[i][5];
		}
		if( cesto[i].length > 5 ){
			img  = cesto[i][6];
		}
		
		preco     = parseInt(qt) * parseFloat(preco);
		total     = total + preco;
		
		var str_item = cesto_item;
		
		if( versao == 1 ){
			str_item = str_item.replace(/item_apagar/g, '<a href="javascript:apaga_item('+id+')" class="claim_cesto_apagar">&nbsp;</a>');
		}else{
			str_item = str_item.replace(/item_apagar/g, '');
		}
		
		str_item = str_item.replace(/item_nome/g, '<a href="javascript:cesto_ver_item('+id+')">' + nome + '</a>');
		str_item = str_item.replace(/item_preco/g, '<span class="claim_cesto_valor">'+formatCurrency2(preco) + '</span>');
		str_item = str_item.replace(/item_qt/g, '<span class="claim_cesto_valor" id="td_qt_'+id+'"><span style="display:block" onclick="item_qt_onlick('+id+')">' + qt + '</span></span>' );
		
		str_item = str_item.replace(/item_ref/g, ref);
		str_item = str_item.replace(/item_desc/g, desc);
		str_item = str_item.replace(/item_img/g, img);
		
		str_item = str_item.replace(/titulo_moeda/g, titulo_moeda);
		
		str_item = str_item.replace(/titulo_nome/g, titulo_nome);
		str_item = str_item.replace(/titulo_preco/g, titulo_preco);
		str_item = str_item.replace(/titulo_qt/g, titulo_qt);
		if( versao == 1 ){
			str_item = str_item.replace(/titulo_apagar/g, titulo_apagar);
		}else{
			str_item = str_item.replace(/titulo_apagar/g, '');
		}
		
		str = str + str_item;
	}
	
	if( str != '' ){
		
		//header table
		
		var str_header = cesto_header;
		
		str_header = str_header.replace(/titulo_nome/g, titulo_nome);
		str_header = str_header.replace(/titulo_preco/g, titulo_preco);
		str_header = str_header.replace(/titulo_qt/g, titulo_qt);
		
		if( versao == 1 ){
			str_header = str_header.replace(/titulo_apagar/g, titulo_apagar);
		}else{
			str_header = str_header.replace(/titulo_apagar/g, '');
		}
		
		//total
		
		var str_total = cesto_total;
		
		str_total = str_total.replace(/titulo_total/g, titulo_total);
		str_total = str_total.replace(/valor_total/g, '<span class="claim_cesto_valor">'+formatCurrency2(total) + '</span>');
		str_total = str_total.replace(/titulo_moeda/g, titulo_moeda);
		
		var str_template = cesto_template;
		
		str_template = str_template.replace(/cesto_header/g, str_header);
		str_template = str_template.replace(/cesto_item/g, str);
		str_template = str_template.replace(/cesto_total/g, str_total);
		
		str = str_template;
		
		document.getElementById('claim_cesto_itens_btns').style.display = '';
		
	}else{ //vazio
		str = titulo_vazio;
		
		document.getElementById('claim_cesto_itens_btns').style.display = 'none';
	}
	
	document.getElementById(lyr).innerHTML = str;
	
}

/*
function show_itens(versao, lyr){
	
	if( versao == null ){
		versao = 1; //pode editar
	}
	if( lyr == null ){
		lyr = 'claim_cesto_itens'; //por defeito
	}
	
	basket_load();
	var str = '';
	var total = 0;
	for(var i=0; i<cesto.length; i++){
		//alert( cesto[i][0] + "->" +  cesto[i][1] );
		//alert( cesto[i].join(cookie_sep_desc) );
		//  0  1    2      3
		// id, qt, preco, nome
		var id    = cesto[i][0];
		var qt    = cesto[i][1];
		var preco = cesto[i][2];
		var nome  = cesto[i][3];
		
		preco     = parseInt(qt) * parseFloat(preco);
		total     = total + preco;
		str = str + '<tr>';
		if( versao == 1 ){
			str = str + '<td align="center"><a href="javascript:apaga_item('+id+')"><img src="/faqs/images/delete.gif" border=0></a></td>';
		}
		str = str + '<td><a href="catalog?a=ver&id='+id+'">' + nome + '</a></td>';
		str = str + '<td nowrap style="text-align:right">' + formatCurrency2(preco) + ' ' + titulo_moeda + '</td>';
		if( versao == 1 ){
			str = str + '<td nowrap id="td_qt_'+id+'"><div onclick="item_qt_onlick('+id+')">' + qt + '</div></td>';
		}else{
			str = str + '<td nowrap id="td_qt_'+id+'">' + qt + '</td>';
		}
		str = str + '</tr>';
	}
	
	if( str != '' ){
		//header table
		var str_header = '<tr>';
		if( versao == 1 ){
			str_header = str_header + '<th width="8%">' + titulo_apagar + '</th>';
		}
		str_header = str_header + '<th width="*">' + titulo_nome + '</th><th width="8%" style="text-align:right">' + titulo_preco + '</th><th width="8%">' + titulo_qt + '</th></tr>';
		
		str = str_header + str;
		//total
		str = str + '<tr>';
		if( versao == 1 ){
			str = str + '<td></td>';
		}
		str = str + '<td style="text-align:right; font-weight: bold;">' + titulo_total + ':</td><td style="text-align:right; font-weight: bold;" nowrap>' + formatCurrency2(total) + ' ' + titulo_moeda + '</td><td>&nbsp;</td></tr>';
		str = '<table cellspacing="0" cellpadding="0" border="0" width="100%">' + str + '</table>';
	}else{ //vazio
		str = titulo_vazio;
	}
	
	document.getElementById(lyr).innerHTML = str;
	
	document.getElementById('t').value = str;
}
*/

function show_basket(){
	/*
	var total     = basket_preco_total();
	var num_itens = basket_num_itens();
	total = formatCurrency2(total);
	*/
	
	if( document.getElementById('claim_cesto_produtos')  ){
		
		show_itens();
		
		document.getElementById('claim_listagem').style.display = 'none';
		document.getElementById('claim_cesto').style.display = '';
		document.getElementById('claim_cesto_produtos').style.display = '';
		
		document.getElementById('claim_cesto_entrega').style.display = 'none';
		document.getElementById('claim_cesto_pagamento').style.display = 'none';
		document.getElementById('claim_cesto_confirmacao').style.display = 'none';
		document.getElementById('claim_registo').style.display = 'none';
		document.getElementById('claim_cesto_compra_sucesso').style.display = 'none';
		document.getElementById('claim_cesto_loading').style.display = 'none';
		
		
	}else{
		go_comprar_autenticar();
	}
	
}

function show_hide_nib(show){
	if( show ){
		//document.getElementById('claim_nib').style.display = '';
	}else{
		//document.getElementById('claim_nib').style.display = 'none';
	}
}

function back_basket(step){
	hide_basket();
}
function hide_basket(){
	document.getElementById('claim_cesto').style.display = 'none';
	document.getElementById('claim_listagem').style.display = '';
}


function checkout_basket(step,from_paypal){
	
	if( basket_num_itens() <= 0 ){
		return;
	}
	
	if( step == null ){
		step = 1;
	}
	
	if( autenticar == true && is_ligado() == false ){
		 // deve autenticar
		//location.href = 'catalog?a=comprar&prods=' + basket_get_params();
		go_comprar_autenticar();
		return;
	}
	
	
	if( autenticar == true && is_load_cliente() == false ){
		 // deve carregar dados cliente
		go_comprar_load_cliente();
		return;
	}
	
	//document.getElementById('claim_produto_carrinho_titulo').className = 'claim_checkout_basket_'+ step;
	
	document.getElementById('claim_cesto_produtos').style.display    = 'none';
	document.getElementById('claim_cesto_produtos').style.display    = 'none';
	document.getElementById('claim_cesto_entrega').style.display     = 'none';
	document.getElementById('claim_cesto_pagamento').style.display   = 'none';
	document.getElementById('claim_cesto_confirmacao').style.display = 'none';
	document.getElementById('claim_cesto_loading').style.display     = 'none';
	
	
	if( step == 1 ){
		document.getElementById('claim_cesto_produtos').style.display  = '';
	}else if( step == 2 ){
		jQuery("#claim_cesto_entrega_msg_erro").hide();
		jQuery("#claim_cesto_entrega_msg_erro").html('');
		document.getElementById('claim_cesto_entrega').style.display  = '';
		
		load_dados_encomenda(1);
		
	}else if( step == 3 ){
		jQuery("#claim_cesto_pagamento_msg_erro").hide();
		jQuery("#claim_cesto_pagamento_msg_erro").html('');
			
		var mform = document.forms['form_cesto'];
		
		if( valida_form(mform, arr_entrega_obg, false)  ){
			
			document.getElementById('claim_cesto_entrega').style.display = '';
			jQuery("#claim_cesto_entrega_msg_erro").hide();
			jQuery("#claim_cesto_entrega_msg_erro").html(msg_campos_obg);
			jQuery("#claim_cesto_entrega_msg_erro").fadeIn(100);
			
			return;
		}
		
		//mostra o layer
		document.getElementById('claim_cesto_pagamento').style.display  = '';
		
		guarda_dados_encomenda();
		if( auto_preencher_fac ){
			//preenche dados facturacao com os de encomenda caso de ainda não ter preenchido
			 auto_preenche_dados_facturacao();
		}
		load_dados_facturacao(1);
		
		
	}else if( step == 4 ){
			
		var mform = document.forms['form_cesto'];
		if( valida_form(mform, arr_fact_obg, false) ){
		
			document.getElementById('claim_cesto_pagamento').style.display  = '';
			
			jQuery("#claim_cesto_pagamento_msg_erro").hide();
			jQuery("#claim_cesto_pagamento_msg_erro").html(msg_campos_obg);
			jQuery("#claim_cesto_pagamento_msg_erro").fadeIn(100);
			return;
		}
		
		document.getElementById('claim_cesto_confirmacao').style.display  = '';
		
		show_itens(2, 'claim_cesto_itens_confirmacao');
		guarda_dados_facturacao();
		load_dados_encomenda(2);
		load_dados_facturacao(2);
		
		
	}else if( step == 5 ){
		
		if( !from_paypal ){
			if( document.getElementById('forma_pagamento_paypal') && document.getElementById('forma_pagamento_paypal').checked  ){
				
				jQuery("#claim_cesto_loading").show();
				jQuery("#claim_cesto_loading_msg_erro").hide();
				jQuery("#claim_cesto_loading_msg_erro").html(msg_loading_paypal);
				jQuery("#claim_cesto_loading_msg_erro").fadeIn(100);
			
				go_paypal(paypal_business_email);
				return;
			}
		}
	
		document.getElementById('claim_cesto_confirmacao').style.display  = '';
		
		var str_basket_params = basket_get_params();
		
		go_comprar_confirmar(str_basket_params);
		
		/*
		var myform = document.forms['form_cesto'];
		myform.step.value  = '5';
		myform.prods.value = str_basket_params;
		myform.submit();
		*/
	}
}


//preenche dados do cliente nos inputs
function preenche_cliente_dados(){
	
	//caso já exista em cookie limpa;
	limpa_dados_encomenda();
	
	//preenche form com os dados
	
	//entrega
	for(var i=0; i<arr_entrega.length; i++){
		var campo = arr_entrega[i];
		var valor = '';
		
		if(typeof('c_'+campo) != 'undefined' ){ 
			if( document.getElementById(campo) ){
				document.getElementById(campo).value = valor;
			}
		}
	}
	//fact
	for(var i=0; i<arr_fact.length; i++){
		var campo = "fac_" + arr_fact[i];
		var valor = jQuery(this).find(campo).text();
		/*
		if( campo == 'fac_forma_pagamento' ){
			valor = jQuery(this).find('forma_pagamento').text();
			if( document.getElementById('forma_pagamento_'+valor) ){
				document.getElementById('forma_pagamento_'+valor).checked = true;
			}
		}else{	
		*/
			if( document.getElementById(campo) ){
				document.getElementById(campo).value = valor;
			}
		/*}	*/
	}
	
	set_load_cliente();
}

function is_ligado(){
	var ligado_str = getCookie(cookie_ligado);
	
	if( ligado_str != null && ligado_str != ''){
		return true;
	}else{
		return false;
	}
}

function set_ligado(str){
	if( !str ){
		str = '1';
	}
	setCookie(cookie_ligado, str);
}

function set_desligado(){
	setCookie(cookie_ligado, '');
}

function is_load_cliente(){
	var str = getCookie(cookie_load_cliente);
	
	if( str != null && str != ''){
		return true;
	}else{
		return false;
	}
}

function set_load_cliente(str){
	if( !str ){
		str = '1';
	}
	setCookie(cookie_load_cliente, str);
}

function set_desload_cliente(){
	setCookie(cookie_load_cliente, '');
}


//------ basket geral -------------------------------------------------

//function basket_add(id, qt){
function basket_add(){	
    var n_args = basket_add.arguments.length;
   
    var id;
    var qt;
    if( n_args >= 2 ){
		id = basket_add.arguments[0];
		qt = basket_add.arguments[1];
    }else{
	 	return;
    }
	
	basket_load();
	
	var existe = false;
	for(var i=0; i< cesto.length; i++){
		var id_cur = cesto[i][0];
		var qt_cur = cesto[i][1];
		if( id == id_cur ){ //actualiza
			//verifica o se pode adicionar, pois pode existir limite por item
			if( max_compra_item && parseInt(qt_cur) >= max_compra_item ){
				//já não pode adicionar
				return;
			}
			cesto[i][1] = parseInt(qt) + parseInt(qt_cur);
			existe = true;
			break;
		}
	}
	
	if( existe == false ){ // adiciona
		//var arr_prod = [id, qt];
		var arr_prod = new Array();
		
	    for (var i = 0; i < n_args;i++){
			arr_prod.push( basket_add.arguments[i] );
	    }
		cesto.push( arr_prod );
	}
	basket_save();
}

function basket_qt_update(id, qt){	
   
	basket_load();
	
	for(var i=0; i< cesto.length; i++){
		var id_cur = cesto[i][0];
		var qt_cur = cesto[i][1];
		if( id == id_cur ){ //actualiza qt
			cesto[i][1] = qt;
			break;
		}
	}
	
	basket_save();
}

function basket_qt_get(id){	
   
	basket_load();
	
	var qt = 0;
	
	for(var i=0; i< cesto.length; i++){
		var id_cur = cesto[i][0];
		//var qt_cur = cesto[i][1];
		if( id == id_cur ){ //actualiza qt
			qt = cesto[i][1];
			break;
		}
	}
	
	return qt;
}

function basket_get_params(){	
   
	basket_load();
	
	var str = '';
	
	for(var i=0; i< cesto.length; i++){
		var id_cur = cesto[i][0];
		var qt_cur = cesto[i][1];
		if( str != '' ){
			str = str + param_sep_prod;
		}
		str = str + id_cur + param_sep_desc + qt_cur;
	}
	
	return str;
}

function basket_del(id){	
   
	basket_load();
	
	var novo_cesto = new Array();
	
	for(var i=0; i< cesto.length; i++){
		var id_cur = cesto[i][0];
		if( id != id_cur ){ //continua
			novo_cesto.push(cesto[i]);
		}
	}
	
	cesto = new Array();
	cesto = novo_cesto;
	
	basket_save();
}

function basket_load(){
	var cesto_str = getCookie(cookie_basket);
	
	cesto = new Array();
	if( cesto_str != null ){
		var arr = new Array();
		arr = cesto_str.split(escape(cookie_sep_prod));
		for(var i=0; i<arr.length; i++){
			var arr_desc = arr[i].split(escape(cookie_sep_desc));
			if( arr_desc.length > 1){
				cesto.push( arr_desc );
			}
		}
	}
}

function basket_save(){
	for(var i=0; i< cesto.length; i++){
		var str_prod = cesto[i].join(escape(cookie_sep_desc));
		cesto[i] = str_prod;
	}
	var cesto_str = cesto.join(escape(cookie_sep_prod));
	setCookie(cookie_basket, cesto_str);
}

function basket_empty(){
	setCookie(cookie_basket, '');
}

function basket_dumper(){
	//alert(getCookie(cookie_basket));
	basket_load();
	for(var i=0; i<cesto.length; i++){
		//alert( cesto[i][0] + "->" +  cesto[i][1] );
		alert( cesto[i].join(cookie_sep_desc) );
	}
}

function basket_preco_total(){
	basket_load();
	var total     = 0;
	
	for(var i=0; i<cesto.length; i++){
		var qt    = cesto[i][1];
		var preco = cesto[i][2];
		preco     = parseInt(qt) * parseFloat(preco);
		total     = total + preco;
	}
	
	return total;
}

function basket_num_itens(){
	return cesto.length;
}

//----- utils --------------------------------------------------------------

function setCookie(name, value)
{
//if( getCookie(mycookie) == null){
	document.cookie = name+"="+escape(value);
}

function getCookie(name)
{
    var dc = document.cookie;
    var prefix = name + "=";
    var begin = dc.indexOf("; " + prefix);
    if (begin == -1)
    {
        begin = dc.indexOf(prefix);
        if (begin != 0) return null;
    }
    else
    {
        begin += 2;
    }
    var end = document.cookie.indexOf(";", begin);
    if (end == -1)
    {
        end = dc.length;
    }
	
    return unescape(dc.substring(begin + prefix.length, end));

}

function formatCurrency2(num) {
	//num = num.toString().replace(/\$|\,/g,'');
	//num = num.toString().replace(/\./g,',');
	//num = num.toString().replace(/\,/g,'.');
	
	if(isNaN(num))
	num = "0";
	sign = (num == (num = Math.abs(num)));
	num = Math.floor(num*100+0.50000000001);
	cents = num%100;
	num = Math.floor(num/100).toString();
	if(cents<10)
	cents = "0" + cents;
	for (var i = 0; i < Math.floor((num.length-(1+i))/3); i++)
	num = num.substring(0,num.length-(4*i+3))+'.'+
	num.substring(num.length-(4*i+3));
	//return (((sign)?'':'-') + '$' + num + '.' + cents);
	return (((sign)?'':'-') + num + ',' + cents);
}

function arrs_serealize(nomes,valores){
	var str = '';
	for(var i=0; i<nomes.length; i++){
		if(str != '' ){
			str = str + "&";
		}
		str = str + nomes[i] + "=" + valores[i];
	}
	return str;
}

//----- Paypal --------------------------------------------------------------

function go_paypal(business_email){
	
	//chamada paypal
	var paypal_url  = "https://www.paypal.com/cgi-bin/webscr";
	
	/*
	//retorno
	var success_url = escape(location.href + "?paypal=sucess");
	var cancel_url  = escape(location.href + "?paypal=cancel");
	
	var params = "business="+business_email+"&return=" + success_url + "&cancel_return=" + cancel_url;
	
	//config papaypal
	var paypal_conf_nomes   = ['cmd','upload','no_shipping','no_note','currency_code','tax','bn','country_code'];
	var paypal_conf_valores = ['_cart','1','2','1','EUR','0','IC_Sample','PT'];
	
	
	params = params + "&" + arrs_serealize(paypal_conf_nomes,paypal_conf_valores);
	
	//dados cliente
	var paypal_cliente_nomes   = ['email','first_name','last_name','address1','address2','city','state','zip','night_phone_a'];
	var paypal_cliente_valores = ['','','','','','','','','',''];
	
	if( document.getElementById('email') ){
		paypal_cliente_valores[0] = document.getElementById('email').value;
	}
	if( document.getElementById('nome') ){
		var nome = document.getElementById('nome').value;
		var arr = nome.split(" ");
		paypal_cliente_valores[1] = arr[0];
		paypal_cliente_valores[2] = arr[arr.length-1];
	}
	
	if( document.getElementById('morada') ){
		paypal_cliente_valores[3] = document.getElementById('morada').value;
	}
	//address2: paypal_cliente_valores[4]
	if( document.getElementById('localidade') ){
		paypal_cliente_valores[5] = document.getElementById('localidade').value;
	}
	//stata: paypal_cliente_valores[6]
	if( document.getElementById('cod_postal') ){
		paypal_cliente_valores[7] = document.getElementById('cod_postal').value;
	}
	if( document.getElementById('telefone') ){
		paypal_cliente_valores[8] = document.getElementById('telefone').value;
	}else if( document.getElementById('telemovel') ){
		paypal_cliente_valores[8] = document.getElementById('telemovel').value;
	}
	
	
	params = params + "&" + arrs_serealize(paypal_cliente_nomes,paypal_cliente_valores);
	
	// itens
	basket_load();
	
	for(var i=0; i<cesto.length; i++){
		//  0  1    2      3
		// id, qt, preco, nome
		var id    = cesto[i][0];
		var qt    = cesto[i][1];
		var preco = cesto[i][2];
		var nome  = cesto[i][3];
		var x = i + 1;
		params = params + "&item_name_"+ x + "=" + escape(nome) + "&amount_" + x + "=" + preco + "&quantity_" + x + "=" + qt; 
	}	
	
	location.href = paypal_url + "?" + params; 
	*/
	
	//retorno
	//var success_url = escape(location.href + "?paypal=sucess");
	//var cancel_url  = escape(location.href + "?paypal=cancel");
	var success_url = location.href + "?paypal=sucess";
	var cancel_url  = location.href + "?paypal=cancel";
	
	var arr_n = ["business","return","cancel_return"];
	var arr_v = [business_email,success_url,cancel_url];
	
	//config papaypal
	var paypal_conf_nomes   = ['cmd','upload','no_shipping','no_note','currency_code','tax','bn','country_code'];
	var paypal_conf_valores = ['_cart','1','2','1','EUR','0','IC_Sample','PT'];
	
	arr_n = arr_n.concat(paypal_conf_nomes);
	arr_v = arr_v.concat(paypal_conf_valores);
	
	//dados cliente
	var paypal_cliente_nomes   = ['email','first_name','last_name','address1','address2','city','state','zip','night_phone_a'];
	var paypal_cliente_valores = ['','','','','','','','',''];
	
	if( document.getElementById('email') ){
		paypal_cliente_valores[0] = document.getElementById('email').value;
	}
	if( document.getElementById('nome') ){
		var nome = document.getElementById('nome').value;
		var arr = nome.split(" ");
		paypal_cliente_valores[1] = arr[0];
		paypal_cliente_valores[2] = arr[arr.length-1];
	}
	
	if( document.getElementById('morada') ){
		paypal_cliente_valores[3] = document.getElementById('morada').value;
	}
	//address2: paypal_cliente_valores[4]
	if( document.getElementById('localidade') ){
		paypal_cliente_valores[5] = document.getElementById('localidade').value;
	}
	//stata: paypal_cliente_valores[6]
	if( document.getElementById('cod_postal') ){
		paypal_cliente_valores[7] = document.getElementById('cod_postal').value;
	}
	if( document.getElementById('telefone') ){
		paypal_cliente_valores[8] = document.getElementById('telefone').value;
	}else if( document.getElementById('telemovel') ){
		paypal_cliente_valores[8] = document.getElementById('telemovel').value;
	}
	
	arr_n = arr_n.concat(paypal_cliente_nomes);
	arr_v = arr_v.concat(paypal_cliente_valores);
	
	// itens
	basket_load();
	
	for(var i=0; i<cesto.length; i++){
		//  0  1    2      3
		// id, qt, preco, nome
		var id    = cesto[i][0];
		var qt    = cesto[i][1];
		var preco = cesto[i][2];
		var nome  = cesto[i][3];
		var x = i + 1;
		//params = params + "&item_name_"+ x + "=" + escape(nome) + "&amount_" + x + "=" + preco + "&quantity_" + x + "=" + qt; 
		arr_n.push("item_name_"+ x);
		//arr_v.push(escape(nome));
		arr_v.push(nome);
		
		arr_n.push("amount_"+ x);
		arr_v.push(preco);
		
		arr_n.push("quantity_"+ x);
		arr_v.push(qt);
	}	
	
	//location.href = paypal_url + "?" + params; 
	
	post_array(paypal_url, arr_n, arr_v);
	
}

function post_array(action, arr_n, arr_v){
	var myhtml = "";
	
	var method = "post"; 
	var form = document.createElement("form");    
	form.setAttribute("method", method);    
	form.setAttribute("action", action);    
	for(var i=0; i<arr_n.length; i++){
		var hiddenField = document.createElement("input");        
		hiddenField.setAttribute("type", "hidden");        
		hiddenField.setAttribute("name", arr_n[i]);        
		hiddenField.setAttribute("value", arr_v[i]);        
		form.appendChild(hiddenField);    
	}    
	document.body.appendChild(form);
	form.submit();
}
/*	
	email Customer's email address 
first_name Customer's first name. Must be alpha-numeric, with a 32 character limit 
last_name Customer's last name. Must be alpha-numeric, with a 64 character limit 
address1 First line of customer's address. Must be alpha-numeric, with a 100 character limit 
address2 Second line of customer's address. Must be alpha-numeric, with a 100 character limit 
city City of customer's address. Must be alpha-numeric, with a 100 character limit 
state State of customer's address. Must be official 2 letter abbreviation 
zip Zip code of customer's address 
night_phone_a Area code of customer's night telephone number 
night_phone_b First three digits of customer's night telephone number 
  
day_phone_a Area code of customer's daytime telephone number 
day_phone_b First three digits of customer's daytime telephone number 
*/

/*
 <input type="text" name="item_name_1"value="Store Item 1">
   <input type="text" name="amount_1" value="50.00">
   <input type="text" name="quantity_1" value="2">
   */
   