//onload
$(document).ready(function() {initSite();});

function initSite(){
	destaques();
	from_paypal();
}

var base_url = 'xml/'; 

var max = 8;

var cat = 0;

paypal_business_email = 'info@projectopatrimonio.com';

// configuracao do cesto
cesto_header = '';

//cesto_item   = '<tr><td><img class="claim_cesto_produto_img" src="item_img"></td><td>&nbsp;</td><td width="50%">item_nome</td><td align="right">Quantidade</td><td width="100">item_qt</td><td>x</td><td>&nbsp;</td><td align="right">Total</td><td width="100">item_preco</td><td width="4">titulo_moeda</td><td align="center">item_apagar</td></tr>';

cesto_item   = '<tr><td rowspan="2" width="72" class="cesto_td_baixo"><div class="claim_cesto_produto_img_div"><img class="claim_cesto_produto_img" src="item_img"></div></td>';

//class="cesto_itens_linha_meio"

cesto_item   = cesto_item+ '<td colspan="8" class="cesto_td_meio"><div><div><span class="cesto_nome">item_nome&nbsp;</span>&nbsp;item_ref</div></div></td><td class="cesto_td_meio" align="right">titulo_apagar</td></tr>';
cesto_item   = cesto_item+ '<td width="*" class="cesto_td_baixo">&nbsp;</td><td align="right" class="cesto_td_baixo">titulo_qt</td><td width="100" class="cesto_td_baixo">item_qt</td><td class="cesto_td_baixo">x</td><td class="cesto_td_baixo">&nbsp;</td><td class="cesto_td_baixo" align="right">TOTAL</td><td class="cesto_td_baixo" width="100"><div class="caixa_precos">item_preco</div></td><td class="cesto_td_baixo" width="4">titulo_moeda</td><td class="cesto_td_baixo" align="right" valign="top" style="width:70px;">item_apagar</td></tr>';



cesto_total    = '<td width="*" style="text-align:right; font-weight: bold; border-top:4px solid #797979;">SUBTOTAL</td><td width="100"><div class="caixa_precos">valor_total</div></td><td width="4">titulo_moeda</td><td width="70">&nbsp;</td></tr>';		

cesto_template = '<table cellspacing="0" cellpadding="0" border="0" width="100%">cesto_item</table><br><table width="100%" cellspacing="0" cellpadding="0" border="0"><td width="50%">&nbsp;</td><td width="50%"><table cellspacing="0" cellpadding="0" border="0"  width="100%" class="claim_cesto_soma"><tr>cesto_total</tr></table></td></tr></table>';		

titulo_qt     = 'QUANT.';
titulo_apagar = 'REMOVER';

max_compra_item = 1;

//obrigatorios
//campos de entrega
arr_entrega_obg  = ['nome','morada','cod_postal','localidade','pais','email'];
//campos de fact
arr_fact_obg     = ['fac_nome','fac_morada','fac_cod_postal','fac_localidade','fac_pais','fac_email', 'forma_pagamento'];


var autenticar = false;

//pode defeito -> go_pagina
var zona_pagina = 'loja';
var search_str = '';

/* ---------------------------------------------------------------- */
// funcões q estao no html do easyclaim
// feito o overload aqui
function ver_item(id, prev_cat, prev_pos){
	//location.href = 'catalog?a=ver&id='+id+'&prev_cat='+prev_cat;
	if( !prev_cat ){
		prev_cat = '';
	}
	if( !prev_pos ){
		prev_pos = '';
	}
	
	show_lyr_produtos();
	load_catalog('a=ver&id='+id+'&prev_cat='+prev_cat+'&prev_pos='+prev_pos+"&part_html=listagem","claim_listagem");
}
function cesto_ver_item(id){
	ver_item(id);
}
function ver_item_voltar(prev_cat, prev_pos){
	if( prev_cat ){
		load_produtos(cat, prev_pos);	
	}else{
		//vem do carrinho
		carrinho();
	}
}

function go_pagina(pagina){
	cur_pos = pagina;
	
	if( zona_pagina == 'loja' ){
		load_produtos(cat, pagina, search_str);
	}else if( zona_pagina == 'servicos' ){
		load_conteudo_servicos(cat, pagina);
	}else if( zona_pagina == 'comprar' ){
		load_conteudo_comprar(cat, pagina);
	}
}

function go_categoria(cat_id){
	load_produtos(cat_id);
}

function go_comprar_autenticar(){
	//caso de requere autenticação e estar a fazer o checkout
	//alert('autenticar');
	
	jQuery("#claim_cesto_produtos").hide();
	jQuery("#claim_registo").show();
}	
function go_comprar_load_cliente(){
	cliente_dados();
}
function go_comprar_confirmar(str_basket_params){
	//var params = 'xml=1&part_html=encomenda&prods=' + str_basket_params + "&tmp="+Math.random();
	//load_catalog(params, "", "ret_confirmar_encomenda");
	//alert(jQuery("#claim_cesto_confirmacao").html());
	
	//alert( escape( jQuery("#claim_cesto_confirmacao").html()) )
	var params = "prods=" + str_basket_params + "&cesto="+ escape( jQuery("#claim_cesto_confirmacao").html()) + "&tmp="+Math.random();
	ajax_load_page(base_url + "encomendar.php", params, "", "ret_confirmar_encomenda");
	
}
function go_loja_apos_encomenda(){
	//limpa_dados_encomenda();
	basket_empty();
	jQuery("#claim_cesto_compra_sucesso").hide();
	destaques();
}
function adiciona_ao_carrinho(id, preco, nome, ref, desc, img){
	adiciona_item(id, preco, nome, ref, desc, img);
	
	//mostra as cndicoes de compra no menu esq
	load_comprar_categorias();
}
function back_basket(step){
	hide_basket();
	//carrega as categorias
	load_seccoes();
}


/* ---------------------------------------------------------------- */

//testa de vem do paypal
function from_paypal(){
	
	var url = location.href;
	
	if( url.indexOf('paypal=sucess') > 0 ){
		//mostra confirmacao
		//carrinho
		carrinho();
		//carrega dados no form
		load_dados_encomenda(1);
		load_dados_facturacao(1);
		//e termina encomenda (envio ao servidor)
		checkout_basket(5,'paypal_sucess');
	}else if( url.indexOf('paypal=cancel') > 0 ){
		//fica na parte de pagamento
		carrinho();
	}
}

function pesquisar(mform){
	search_str = mform.search_str.value;
	load_produtos(0, 0, search_str);
	
	//select_menu(menu);
	//load_seccoes();

	return false;
}

function select_menu(menu){
	//tudo ao normal
	for(var i=1; i <= 4; i++){
		jQuery("#menu"+i).removeClass("menu"+i+"_sel");
		jQuery("#menu"+i).addClass("menu"+i);		
	}
	//seleciono o que quero agora
	//alert(menu)
	jQuery("#menu"+menu).addClass("menu"+menu+"_sel");
	
	//logos
	jQuery("#entidade").removeClass("entidade_pp");
	jQuery("#entidade").removeClass("entidade_emporio");
	jQuery("#entidade").addClass("entidade_pp");		
	if( menu == 3 ||  menu == 4){
		jQuery("#entidade").addClass("entidade_emporio");		
	}
	
	//div de pesquisa
	jQuery("#pesquisar").hide();
	if( menu == 3 ||  menu == 4){
		jQuery("#pesquisar").show();
	}
}

/* ---------------------------------------------------------------- */
// produtos >> entrega >> pagamento >> confirmacao
function registar(){
	var mform = document.forms['form_registo'];
	
	//email,passwd1,nome,morada,cod_postal,localidade,contribuinte,telefone,telemovel,marketing
	
	var arr  = ['email','passwd1','nome','morada','cod_postal','localidade','telefone'];
	
	arr  = new Array();
	
	var erro = valida_form(mform, arr);
	if( erro == true){
		return;
	}
	
	jQuery("#resgisto_msg_erro").hide();
	jQuery("#resgisto_msg_erro").html('<div class="loading">&nbsp;</div>');
	jQuery("#resgisto_msg_erro").fadeIn(100);
	
	//var params = set_get_params(mform);
	var params = jQuery("form#form_registo").serialize();	
	params = 'xml=1&gravar=1&action=3&passwd2=' + mform.passwd1.value + '&' + params + "&tmp="+Math.random();
	load_my(params, "claim_listagem", "ret_registar");
}

function ret_registar(xmldata){
	//alert( jQuery(xmldata).find('root').text() );
	
	var codigo = jQuery(xmldata).find('codigo').text();
	
	
		jQuery("#resgisto_msg_erro").hide();
		jQuery("#resgisto_msg_erro").html(jQuery(xmldata).find('msg').text());
		jQuery("#resgisto_msg_erro").fadeIn(1000);
	
}

function login(){
	var mform = document.forms['form_registo'];
	
	//email,passwd1,nome,morada,cod_postal,localidade,contribuinte,telefone,telemovel
	
	var arr  = ['username_email','password'];
	
	arr  = new Array();
	
	var erro = valida_form(mform, arr);
	if( erro == true){
		return;
	}
	
	jQuery("#login_msg_erro").hide();
	jQuery("#login_msg_erro").html('<div class="loading">&nbsp;</div>');
	jQuery("#login_msg_erro").fadeIn(100);
	//jQuery("#login_msg_erro").show();
	
	var params = jQuery("form#form_registo").serialize();	
	params = 'xml=1&action=1' + '&' + params + "&tmp="+Math.random();
	load_my(params, "claim_listagem", "ret_login");
	
}

function ret_login(xmldata){
	//alert( jQuery(xmldata).find('root').text() );
	
	var codigo = jQuery(xmldata).find('codigo').text();
	
	if( codigo && codigo == '1' ){
		//ligado = 1;
		//jQuery("#claim_registo").hide();
		//checkout_basket(2);
		
		set_ligado( jQuery(xmldata).find('msg').text() );
		
		//carrega dados do cliente
		cliente_dados();
	}else{	
		jQuery("#login_msg_erro").hide();
		jQuery("#login_msg_erro").html(jQuery(xmldata).find('msg').text());
		jQuery("#login_msg_erro").fadeIn(1000);
	}
}

function cliente_dados(){
	//carrega dados do cliente
	var params = "xml=1&part_html=cliente" + "&tmp="+Math.random();
	load_catalog(params,"","ret_cliente_dados");
}		

//login a partir do menu direito
function login2(){
	var mform = document.forms['form_login2'];
	
	var arr  = ['username_email','password'];
	
	var erro = valida_form(mform, arr);
	if( erro == true){
		return;
	}
	
	jQuery("#login_2_msg_erro").hide();
	jQuery("#login_2_msg_erro").html('<div class="loading">&nbsp;</div>');
	jQuery("#login_2_msg_erro").fadeIn(100);
	
	var params = jQuery("form#form_login2").serialize();	
	params = 'xml=1&action=1' + '&' + params + "&tmp="+Math.random();
	load_my(params, "", "ret_login2");
	
}

function ret_login2(xmldata){
	
	var codigo = jQuery(xmldata).find('codigo').text();
	
	if( codigo && codigo == '1' ){
		set_ligado( jQuery(xmldata).find('msg').text() );
		jQuery("#login_2_msg_erro").hide();
		set_caixa_login();
	}else{	
		jQuery("#login_2_msg_erro").hide();
		jQuery("#login_2_msg_erro").html(jQuery(xmldata).find('msg').text());
		jQuery("#login_2_msg_erro").fadeIn(1000);
	}
}

function set_caixa_login(){
	if( is_ligado() ){
		var str = getCookie(cookie_ligado);
		jQuery("#login-form").hide();
		jQuery("#login-info").show();
		jQuery("#login-info-str").html(str);
	}else{
		jQuery("#login-form").show();
		jQuery("#login-info").hide();
	}
}

function logout(){
	
	jQuery("#login_msg_erro").hide();
	jQuery("#login_msg_erro").html('<div class="loading">&nbsp;</div>');
	jQuery("#login_msg_erro").fadeIn(100);
	
	params = "xml=1&action=logout&tmp="+Math.random();
	load_my(params, "", "ret_logout");
}

function ret_logout(xmldata){
	
	var codigo = jQuery(xmldata).find('codigo').text();
	
	if( codigo && codigo == '1' ){
		
		set_desligado();
		set_desload_cliente();
		limpa_dados_encomenda();
		basket_empty();
	
		jQuery("#login_2_msg_erro").hide();
		set_caixa_login();
	}else{	
		jQuery("#login_2_msg_erro").hide();
		jQuery("#login_2_msg_erro").html(jQuery(xmldata).find('msg').text());
		jQuery("#login_2_msg_erro").fadeIn(1000);
	}
}


function ret_cliente_dados(xmldata){
	
	//caso já exista em cookie limpa;
	limpa_dados_encomenda();
	
	//preenche form com os dados
	jQuery(xmldata).find('cliente').each(
		function(){
			//entrega
			for(var i=0; i<arr_entrega.length; i++){
				var campo = arr_entrega[i];
				var valor = jQuery(this).find(campo).text();
				
				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();
	
	//e mostra layer
	jQuery("#claim_registo").hide();
	checkout_basket(2);	
}

function ret_confirmar_encomenda(xmldata){
	var codigo = jQuery(xmldata).find('codigo').text();
	
	if( codigo && codigo == '1' ){
		jQuery("#claim_cesto_confirmacao_msg_erro").hide();
		jQuery("#claim_cesto_confirmacao").hide();
		jQuery("#claim_cesto_compra_sucesso").show();
	}else{	
		var msg = jQuery(xmldata).find('msg').text();
		if(!msg || msg != '' ){
			msg = 'Erro ao efectuar encomenda.';
		}
		jQuery("#claim_cesto_confirmacao_msg_erro").hide();
		jQuery("#claim_cesto_confirmacao_msg_erro").html(msg);
		jQuery("#claim_cesto_confirmacao_msg_erro").fadeIn(1000);
	}

}


/* ---------------------------------------------------------------- */

function set_transf(){
	document.getElementById('forma_pagamento_transferencia').checked = true;
}
function set_paypal(){
	document.getElementById('forma_pagamento_paypal').checked = true;
}

function destaques(){
	//on_click_menu(1);
	//load_produtos();
	//le menu esquerdo da home
	ajax_load_page(base_url + "categorias.php", "zona=home", "cleft", "after_load_destaques");
}
function after_load_destaques(){
	//incializa os menus
	initMenus();
	//agora le o produtos para home page
	load_produtos_home();
}


function on_click_menu(menu){
	select_menu(menu);
	//esconde carrinho
	back_basket();
	
	if( menu == 1 ){
		destaques();
	}else if( menu == 2 ){
		//load_pagina_site("quem_somos.html");
		load_servicos_categorias();
	}else if( menu == 3 ){
		load_seccoes_e_produtos();
	}else if( menu == 4 ){
		carrinho();
		load_comprar_categorias();
	}	
}

function load_pagina_site(pagina){
	ajax_load_page("paginas/" + pagina, "", "claim_listagem", "");
}

function load_servicos_categorias(){
	ajax_load_page(base_url + "categorias.php", "zona=servicos", "cleft", "after_load_servicos_categorias");
}
function load_comprar_categorias(){
	ajax_load_page(base_url + "categorias.php", "zona=comprar", "cleft", "after_load_comprar_categorias");
}
function after_load_comprar_categorias(data){
	//incializa os menus: loja e categorias
	initMenus();
}

function load_conteudo_servicos(id_categoria, pos){
	zona_pagina = 'servicos';
	_load_conteudos(zona_pagina, id_categoria, pos)
}
function load_conteudo_comprar(id_categoria, pos){
	zona_pagina = 'comprar';
	_load_conteudos(zona_pagina, id_categoria, pos)
}

function _load_conteudos(zona, id_categoria, pos){
	
	var params = "max="+max;
	
	cat = id_categoria;
	if( id_categoria ){
		params = params + "&id_categoria="+id_categoria;
	}
	if( pos && pos > 0 ){
		params = params + "&pos="+pos;
	}
	if( zona){
		params = params + "&zona="+zona;
	}
	
	ajax_load_page(base_url + "conteudos.php", params, "claim_listagem", "");
}



/*
function load_produtos(cat_id, pos){
	zona_pagina = 'loja';
	show_lyr_produtos();	
	var myurl = "part_html=listagem&max="+max;
	
	cat = cat_id;
	if( cat_id ){
		myurl = myurl + "&cat="+cat_id;
		//cat = cat_id;
	}
	if( pos && pos > 0 ){
		myurl = myurl + "&pos="+pos;
	}
	
	load_catalog(myurl,"claim_listagem");
}
*/
function after_load_servicos_categorias(data){
	//incializa os menus: loja e categorias
	initMenus();
	//encontra o 1º id de um serviço
	if( data.indexOf('id="servicos_') > 0 ){
		str_id = data.substring( data.indexOf('id="servicos_') + 'id="servicos_'.length);
		str_id = str_id.substring( 0, str_id.indexOf('"'));
		if(str_id){
			load_conteudo_servicos(str_id);
		}
	}
}

function carrinho(){
	//load_page("part_html=cesto","claim_cesto", "show_basket");
	//jQuery("#carro").removeClass("carro_des");
	//jQuery("#carro").addClass("carro_sel");		
	
	show_basket();
}

//qd click nas seccoes
function on_click_cat(str_id){
	/*
	select_menu(5);
	
	var arr = str_id.split("_");
	if( arr.length > 1){
		cat = arr[arr.length-1];
		load_produtos(cat);
	}
	*/
	
	var arr = str_id.split("_");
	if( arr.length > 1){
		if( str_id.indexOf( 'servicos' ) >= 0 ){
			cat = arr[arr.length-1];
			load_conteudo_servicos(cat);
		}else if( str_id.indexOf( 'loja' ) >= 0 ){
			cat = arr[arr.length-1];
			load_produtos(cat);		
		}else if( str_id.indexOf( 'home' ) >= 0 ){
			var link = jQuery("#"+str_id).html();
			
			link = link.toLowerCase();
			
			if( link.indexOf('<span>') > 0 ){
				link = link.substring(link.indexOf('<span>') + 6);
				if( link.indexOf('</span>') > 0 ){
					link = link.substring(0, link.indexOf('</span>'));
				}
			}
			
			if( link && link.indexOf('.') > 0 ){
				if( link.indexOf('http://') < 0 ){
					link = 'http://' + link;
				}
				link = link.replace(/&amp;/g,'&');
				window.open(link);
			}
			
		}else if( str_id.indexOf( 'comprar' ) >= 0 ){
			var txt = jQuery("#"+str_id).html();
			if( txt ){
				txt = txt.toLowerCase();
				if( txt.indexOf('carr') >= 0 ){
					carrinho();
				}else{
					cat = arr[arr.length-1];
					//esconde carrinho
					hide_basket();	
					load_conteudo_comprar(cat);
				}
			}
		}	
	}
	
}

function show_lyr_produtos(){
	if( document.getElementById('claim_cesto') ){
		document.getElementById('claim_cesto').style.display = 'none';
	}
	if( document.getElementById('claim_listagem') ){
		document.getElementById('claim_listagem').style.display = '';
	}
}

function load_produtos_home(){
	load_produtos('', '', '', 'home');
}	
//listagem
function load_produtos(cat_id, pos, s_str, zona){
	zona_pagina = 'loja';
	show_lyr_produtos();	
	var myurl = "part_html=listagem&max="+max;
	
	cat        = cat_id;
	search_str = s_str;
	if( cat ){
		myurl = myurl + "&cat="+cat;
	}
	if( pos && pos > 0 ){
		myurl = myurl + "&pos="+pos;
	}
	if( search_str ){
		myurl = myurl + "&search_str="+search_str;
	}
	if( zona ){
		myurl = myurl + "&zona="+zona;
	}
	
	load_catalog(myurl,"claim_listagem");
}

// carrega as categorias e menu loja
function load_seccoes_e_produtos(){
	//load_catalog("part_html=cats","seccao", "after_load_seccoes");
	ajax_load_page(base_url + "categorias.php", "zona=loja", "cleft", "after_load_seccoes_e_produtos");
}
// carrega as categorrias e menu loja
function load_seccoes(){
	//load_catalog("part_html=cats","seccao", "after_load_seccoes");
	ajax_load_page(base_url + "categorias.php", "zona=loja", "cleft", "after_load_seccoes");
}

function after_load_seccoes_e_produtos(){
	//incializa os menus: loja e categorias
	initMenus();
	//carrega os produtos em destaque
	load_produtos();
}
function after_load_seccoes(){
	//incializa os menus: loja e categorias
	initMenus();
}

function load_catalog(dataString, lyrid, callfunc){

		dataString = dataString
		
		ajax_load_page(base_url + 'loja.php', dataString, lyrid, callfunc);
}

function load_my(dataString, lyrid, callfunc){

		dataString = dataString
		
		ajax_load_xml(base_url + 'my', dataString, lyrid, callfunc);
}

/* ajax */
function ajax_load_page(myurl, dataString, lyrid, callfunc){
		
		//dataString = dataString + "&tmp="+Math.random();
		
		jQuery.ajax({
		   async: false,
		   type: "POST",
		   url: myurl,
		   data: dataString,
		   success: function(xmldata){
								load_page_sucesso(xmldata,lyrid,callfunc);
		   },
		   error:load_page_erro
		});	
}

function ajax_load_xml(myurl, dataString, lyrid, callfunc){
		
		//dataString = dataString + "&tmp="+Math.random();
		
		jQuery.ajax({
		   async: false,
		   type: "POST",
		   url: myurl,
		   data: dataString,
		   success: function(xmldata){
								load_xml_sucesso(xmldata, lyrid, callfunc);
		   },
		   error:load_xml_erro
		});	
}

function load_xml_sucesso(xmldata, lyrid, callfunc){
	
	//alert( jQuery(data).find('root').text() );
	
	//jQuery("#"+lyrid).html(data);
	if( callfunc && callfunc != "" ){
		eval(callfunc+'(xmldata)');
	}
}

function load_xml_erro(data){
	alert('Erro ao carregar pagina xml.')
}


function load_page_sucesso(data,lyrid,callfunc){
	
	if( lyrid && lyrid !='' ){
		jQuery("#"+lyrid).html(data);
	}
	
	if( callfunc && callfunc != "" ){
		eval(callfunc+'(data)');
	}
}

function load_page_erro(data){
	alert('Erro ao carregar pagina')
}


/* gerais */
function write_email(){
	str = 'info';
	str = str + '@';
	str = str + 'projectopatrimonio';
	str = str + '.';
	str = str + 'com';
	str = '<a href="mailto:'+str+'">'+str+'</a>';
	document.write(str);
}



