/*
	Tabela de Conteúdos
	
	01. Rollovers
	02. Login Box
	03. Forms
	04. Validacao de Formularios
	05. Carrinho de compras
	06. Calculos do carrinho
	07. Pagina de produto
	08. Pagina de pagamento
	09. Area Pessoal
	10. Bookmarks
	11. Ampliar Produto
*/

// 01. Rollovers _____________________________________________________________________________________________ 01. Rollovers

	function MM_preloadImages() { //v3.0
	  var d=document; if(d.images){ if(!d.MM_p) d.MM_p=new Array();
		var i,j=d.MM_p.length,a=MM_preloadImages.arguments; for(i=0; i<a.length; i++)
		if (a[i].indexOf("#")!=0){ d.MM_p[j]=new Image; d.MM_p[j++].src=a[i];}}
	}
	
	function MM_swapImgRestore() { //v3.0
	  var i,x,a=document.MM_sr; for(i=0;a&&i<a.length&&(x=a[i])&&x.oSrc;i++) x.src=x.oSrc;
	}
	
	function MM_findObj(n, d) { //v4.01
	  var p,i,x;  if(!d) d=document; if((p=n.indexOf("?"))>0&&parent.frames.length) {
		d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);}
	  if(!(x=d[n])&&d.all) x=d.all[n]; for (i=0;!x&&i<d.forms.length;i++) x=d.forms[i][n];
	  for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=MM_findObj(n,d.layers[i].document);
	  if(!x && d.getElementById) x=d.getElementById(n); return x;
	}
	
	function MM_swapImage() { //v3.0
	  var i,j=0,x,a=MM_swapImage.arguments; document.MM_sr=new Array; for(i=0;i<(a.length-2);i+=3)
	   if ((x=MM_findObj(a[i]))!=null){document.MM_sr[j++]=x; if(!x.oSrc) x.oSrc=x.src; x.src=a[i+2];}
	}

// 02. Login _________________________________________________________________________________________________ 02. Login

	function openLogin(){

		document.getElementById('username_login').value="";
		document.getElementById('password_login').value="";
		
		document.getElementById('spacer').style.display="none";
		document.getElementById('login_content').style.display= "block";

		document.getElementById('link_login').innerHTML= "<a href=\"javascript: void(0);\" onclick=\"closeLogin();\" >Login</a> . <a href=\"registo\">Novo Registo</a>";
		document.getElementById('icone_login').innerHTML= "<a href=\"javascript: void(0);\" onclick=\"closeLogin();\" ><img src=\"imgs/ico_seta_baixo.gif\" alt=\"\" id=\"icone_img\" /></a>";
		
		document.getElementById('username_login').focus();
	}
		
	function closeLogin(){
		
		document.getElementById('spacer').style.display="block";
		document.getElementById('login_content').style.display= "none";
		
		document.getElementById('link_login').innerHTML= "<a href=\"javascript: void(0);\" onclick=\"openLogin();\" >Login</a> . <a href=\"registo\">Novo Registo</a>";
		document.getElementById('icone_login').innerHTML= "<a href=\"javascript: void(0);\" onclick=\"openLogin();\" ><img src=\"imgs/ico_seta_cima.gif\" alt=\"\" id=\"icone_img\" /></a>";
	
		
	}

		// BLoquear a tecla Enter
	function checkEnterLogin(e){ //e is event object passed from function invocation
		var characterCode //literal character code will be stored in this variable
		
		if(e && e.which){ //if which property of event object is supported (NN4)
		e = e
		characterCode = e.which //character code is contained in NN4's which property
		}
		else{
		e = event
		characterCode = e.keyCode //character code is contained in IE's keyCode property
		}
		
		if(characterCode == 13){ //if generated character code is equal to ascii 13 (if enter key)
			//document.forms[0].submit() //submit the form
			submitform('loginform')
			return true;
		}
		else{
			return true;
		}
		
	}

// 03. Forms __________________________________________________________________________________________________ 03. Forms

	function onfocus(ident){

		//document.getElementById(ident).value="";
		
	}
	
	function outfocus(id,mensagem){
		
		var campo= id;
		var texto= mensagem;
		document.getElementById(campo).value= mensagem;
		
	}

	function corrigirCampo(){
	
	}
	
// 04. Validacao de Formularios ________________________________________________________________________________ 04. Validacao de Formularios

	//Submeter Formularios via link
	function submitform(id_formulario){
		 if(document.getElementById(id_formulario).onsubmit()){
			document.getElementById(id_formulario).submit();
		 }
	}

	// Marcacao de erro
	function errorMark(field){
		//field.style.border = '1px solid #A30234';
		field.focus();
	}
	
	// Marcacao de erro
	function errorMarkClear(e){
		e.style.border = 'none';
	}
	
	//Caracteres nao permitidos
	function testarCaracteres(value){
		var invalids = "#$%&*'<>?\"";
		
		for(i=0; i<invalids.length; i++) {
			
			if(value.indexOf(invalids.charAt(i)) >= 0 ) {
			invalidChar= invalids.charAt(i);
			//alert(invalidChar);
			
			return invalidChar, false;
			
			}
		}
		return true;
	}
	

	// Campos obrigatorios Alfanumericos
	function campoObrigatorio_alfanumerico(field){
		
		var content= field.value;
		
		if(content==""){
			
			alertMsg="O campo "+ field.name +" está vazio";
			alert_msg('erro',alertMsg);
			errorMark(field);
			
			return false;
			
		} else {
		
			if(testarCaracteres(content)==false) {
				
				//alert(invalidChar);
				alertMsg= "O caractere \""+ invalidChar+"\" não é permitido!";
				alert_msg('erro',alertMsg);
				errorMark(field);
				
				return false;
				
			}else{
				
				return true;
				
			}
		}
	}
	
	// Campos Numericos
	function campo_numerico(field, limit){

		if(field.value!=""){
			
			if(isNaN(field.value)){
				alertMsg= "só números ó zé!!";
				errorMark(field);
				alert_msg('erro',alertMsg);
				
				return false;
			}
		
			if(field.value.length>limit){
				alertMsg="numeros a mais";
				errorMark(field);
				alert_msg('erro',alertMsg);
				
				return false;
			}
			
			if(field.value.length<limit){
				alertMsg="numeros a menos";
				errorMark(field);
				alert_msg('erro',alertMsg);
			
				return false;
			}

		}
		
			
	}

	
	function campo_alfanumerico(field){

		if(field.value!=""){
			
			if(testarCaracteres(field.value)==false) {
				
				//alert(invalidChar);
				alertMsg= "O caractere \""+ invalidChar+"\" não é permitido!";
				//alert(alertMsg);
				// Alert
				alert_msg('erro',alertMsg);
				errorMark(field);
								
				return false;
			}
		}
		
		
	}
	
	// Comparacao de campos
	function password_compare(field_1, field_2){
		
		if(field_1.value!=field_2.value){
			alertMsg="A confirmação da password nao coincide";
			alert_msg('erro',alertMsg);
			errorMark(field_2);	
			return false;
		}
		
	}
/* ******************************************************************************************/
	// Radio buttons
	function radio_options(btn){

		for (var i=0; i<document.form_registo.sexo.length; i++) {
		
			if (document.form_registo.sexo[i].checked) {
				var group1Checked = document.form_registo.sexo[i].value
			}
			
		}
		
		
		if(!group1Checked){
			alertMsg="Por favor assinala o sexo";
			alert_msg('erro',alertMsg);
			errorMark(document.getElementById('feminino'));
		}
		else{
				return true;
		}

	}
/* ******************************************************************************************/	
	//Formulario de Registo
	function validaFormRegisto(action){
		
		document.getElementById('registo_loading').style.display="block";
		
		function hideLoading(){
			document.getElementById('registo_loading').style.display="none";
		}

		//Nome
		if (campoObrigatorio_alfanumerico(document.getElementById('nome'))==false){hideLoading(); return false;}
		
		//Apelidos
		if (campo_alfanumerico(document.getElementById('apelidos'))==false){hideLoading(); return false;}
		
		//Sexo
		if(radio_options('form_registo.sexo')==null){hideLoading(); return false;}
		
		//Data de Nascimento
		if (campo_numerico(document.getElementById('nasc_dia'),'2')==false){hideLoading(); return false;}
		if (campo_numerico(document.getElementById('nasc_mes'),'2')==false){hideLoading(); return false;}
		if (campo_numerico(document.getElementById('nasc_ano'),'4')==false){hideLoading(); return false;}
		
		//Morada
		if (campo_alfanumerico(document.getElementById('morada'))==false){hideLoading(); return false;}
		
		//Codigo Postal
		if (campo_numerico(document.getElementById('cod_post_1'),'4')==false){hideLoading(); return false;}
		if (campo_numerico(document.getElementById('cod_post_2'),'3')==false){hideLoading(); return false;}
		
		//Localidade
		if (campo_alfanumerico(document.getElementById('localidade'))==false){hideLoading(); return false;}
		
		//Telefone
		if (campo_alfanumerico(document.getElementById('telefone'))==false){hideLoading(); return false;}
		
		//Telemovel
		if (campo_alfanumerico(document.getElementById('telemovel'))==false){hideLoading(); return false;}
		
		//Website
		if (campo_alfanumerico(document.getElementById('website'))==false){hideLoading(); return false;}
		
		//Msn
		if (campo_alfanumerico(document.getElementById('msn'))==false){hideLoading(); return false;}
		
		//Skype
		if (campo_alfanumerico(document.getElementById('skype'))==false){hideLoading(); return false;}
		
		//NIB
		if (campo_alfanumerico(document.getElementById('nib'))==false){hideLoading(); return false;}
		
		//NIF
		if (campo_numerico(document.getElementById('nif'),'9')==false){hideLoading(); return false;}
		
		//Username
		if (campoObrigatorio_alfanumerico(document.getElementById('username_registo'))==false){hideLoading(); return false;}
		
		//Password
		if (campoObrigatorio_alfanumerico(document.getElementById('password_registo'))==false){hideLoading(); return false;}
		

		//Password confirm
		if (password_compare(document.getElementById('password_registo'), document.getElementById('confirm_password'))==false){hideLoading(); return false;}
	
		//Email
	//	if (checkMailSyntax(document.getElementById('email'))==false){return false;}
		//Verifica se o email existe nos registos
		
		//return checkMailExist(document.getElementById('email'));
	//	if (checkMailExist(document.getElementById('email'))==false){return false;}

		
		// Edit Mode
		if( document.getElementById('email_edit')!= null){
			
			field= document.getElementById('email_edit');
			action= "edit";
			
		}else {
			
			var field= document.getElementById('email');
		}

		var email= field.value;
		
			
		//Termos
		function checkTermos(){
			
			
			if (!document.getElementById('termos').checked){
				alertMsg= "Tens que aceitar os termos de uso para te registares!";			
				errorMark(document.getElementById('termos'));
				alert_msg('erro',alertMsg);
				hideLoading(); 
				
				return false;
				
			}else{
			
				//Submeter o formulário
				document.form_registo.submit();	
				
			}
			

			
		}

		
		//Caracteres inválidos para Emails
		var invalids = "#$%&*'+<>?\/´`~^áèÀÁéèÈÉíìÍÌóòÒÓúùÚÙçÇºª,;|!{[]}()=»«\"";
		
		for(i=0; i<invalids.length; i++) {
		
			if(email.indexOf(invalids.charAt(i)) >= 0 ) {
			invalidChar= invalids.charAt(i);
	
				alertMsg= "O caractere "+invalidChar +" não é permitido!";
				alert_msg('erro',alertMsg);
				errorMark(field);
				hideLoading(); 
				
				return false;
			}
		
		}

		//Verificacao da Sintaxe
		var splitted = field.value.match("^(.+)@(.+)$"); 
		if(splitted == null){
			alertMsg= "O formato do email nao é válido!";
			alert_msg('erro',alertMsg);
			errorMark(field);
			hideLoading(); 
			
			return false; 
		}
		
						
		//Verificar se o email existe na base de dados
		var address= "process.main.php?action=email-exist&email="+ field.value;
		new Ajax.Request(address, {
			onComplete: function(transport) {
			
				estado= transport.responseText;

				if(action=="edit"){
					var estado=0;
				}
					
				if(estado!=0 ){
										
						alertMsg= "O email já existe na base de dados!";
						alert_msg('erro',alertMsg);
						hideLoading(); 					
						errorMark(field);

						return false;

					
				}else{
					
				//	alertMsg= "O email não existe na base de dados!";
				//	alert_msg('erro',alertMsg);

					
					
					//Verificacao da Conteudo
					if(field.value!=""){
						
						//Verificacao do servidor
						var address= "process.main.php?action=check-email-syntax&email="+field.value;
						new Ajax.Request(address, {
							onComplete: function cenas(transport) {
							  
							if (transport.responseText.match(true)){
								
								//alertMsg= "O servidor remoto existe";
								//alert_msg('erro',alertMsg);

								//Verificar o Username
								field= document.getElementById('username_registo');
						
								var address= "process.main.php?action=confirm-user&username="+ field.value;
								new Ajax.Request(address, {
									onComplete: function(transport) {
					
										estado= transport.responseText;
										
										if(action=="edit"){
											var estado=0;
											
										}
						
										if(estado!=0 ){
												
												alertMsg= "O username já está em uso!";
												alert_msg('erro',alertMsg);
												hideLoading(); 					
												errorMark(field);
						
												return false;
						
										}else{

											checkTermos();
											
										}
									}
									
								});	

								//return false;
								
							} else {
								
								alertMsg= "O servidor remoto nao existe";
								alert_msg('erro',alertMsg);
								hideLoading(); 
								
								errorMark(field);
								return false;
								
							}
							
						  }
						  
						});
			
					}else{
						
						alertMsg="O email está vazio";
						alert_msg('erro',alertMsg);
						errorMark(field);
						hideLoading(); 
						
						return false;
	
					}
					
						
					return false;
					
				}
			}
			
		});
		
		
		return true;
		
	}
	
	//Verifica se o email já existe nos registos
	function checkMailExist(email){

		var address= "process.main.php?action=email-exist&email="+ email.value;
		new Ajax.Request(address, {
			onComplete: function(transport) {
			
				estado= transport.responseText;
				alert (estado);

				if(estado!=0){
					
					alertMsg= "O email já existe!";
					alert(alertMsg);
					errorMark(document.getElementById('email'));
					hideLoading(); 
					
					return false;
		
				}else{

					return true;

				}
			}
			
		});

	}
	
	//Formulario de Login
	function validaFormLogin(){
		
		//Username
	//	if (campoObrigatorio_alfanumerico(document.getElementById('username_login'))==false){return false;}

		//Password
	//	if (campoObrigatorio_alfanumerico(document.getElementById('password_login'))==false){return false;}

	//	return true;
		
	}
	

	function clear_alert_msg_newsletter(){
		document.getElementById('newsletter_msg').style.display="none";
		//Effect.SwitchOff(document.getElementById('msg_alert'));
		
	}
		
	//Formulario de Newsletter
	function validaFormNewsletter(){
		
		//substituir o botao enviar pelo loading
		document.getElementById('bot_submit_newsletter').innerHTML="<img src=\"imgs/loading_pequeno.gif\" alt=\"\" />";
			
		//Mensagens
		function alert_msg_newsletter(tipo,msg){
		
			//Erro
			if(tipo=="erro"){
				document.getElementById('newsletter_msg').className='alert_erro_newsletter';
				document.getElementById('newsletter_msg_txt').innerHTML= msg;
				document.getElementById('newsletter_msg').style.display="block";
				Effect.Pulsate('newsletter_msg', {duration:3, pulses:2});
				document.getElementById('bot_submit_newsletter').innerHTML="<input type=\"image\" src=\"imgs/bot_newsletter.gif\" />";
			}
			
			//Sucesso
			if(tipo=="success"){
				document.getElementById('newsletter_msg').className='alert_ok_newsletter';
				document.getElementById('newsletter_msg_txt').innerHTML= msg;
				document.getElementById('newsletter_msg').style.display="block";
				Effect.Pulsate('newsletter_msg', {duration:3, pulses:2});
				document.getElementById('bot_submit_newsletter').innerHTML="<input type=\"image\" src=\"imgs/bot_newsletter.gif\" />";
			}
			
		}
		
	
		//Username
		if (campoObrigatorio_alfanumerico(document.getElementById('newsletter_nome'))==false){alert_msg_newsletter('erro','O <strong>Nome</strong> não está correctamente preenchido'); return false;}
		if (document.getElementById('newsletter_nome').value=="Nome"){
			
			alertMsg= "O Nome não está correctamente preenchido!";
			//alert(alertMsg);
			errorMark(document.getElementById('newsletter_nome'));
			
			// Alert
			alert_msg_newsletter('erro',alertMsg);
			
			return false;
		
		}
		
		var email=document.getElementById('newsletter_email').value;
		var field= document.getElementById('newsletter_email');

		//Caracteres inválidos para Emails
		var invalids = "+#$%&*'+<>?\/´`~^áèÀÁéèÈÉíìÍÌóòÒÓúùÚÙçÇºª,;|!{[]}()=»«\"";
		
		for(i=0; i<invalids.length; i++) {
		
			if(email.indexOf(invalids.charAt(i)) >= 0 ) {
			invalidChar= invalids.charAt(i);
	
				alertMsg= "O caractere "+invalidChar +" não é permitido!";
				//alert(alertMsg);
				errorMark(field);
				alert_msg_newsletter('erro',alertMsg);
				
				return false;
			}
		
		}

		//Verificacao da Sintaxe
		var splitted = field.value.match("^(.+)@(.+)$"); 
		if(splitted == null){
			alertMsg= "O formato do email nao é válido!";
			//alert(alertMsg);
			errorMark(field);
			alert_msg_newsletter('erro',alertMsg);
			
			return false; 
		}
								
								
		//Verificar se o email existe na base de dados
		var address= "process.main.php?action=email-exist-newsletter&email="+ field.value;
		new Ajax.Request(address, {
			onComplete: function(transport) {
			
				estado= transport.responseText;
				//alert (estado);

				if(estado!=0){
					
					alertMsg= "O email já existe na base de dados!";
					//alert(alertMsg);
					errorMark(field);
					
					alert_msg_newsletter('erro',alertMsg);
					
					return false;
		
				}else{
					
					alertMsg= "O email não existe na base de dados!";
				//	alert(alertMsg);

					
					
					//Verificacao da Conteudo
					if(field.value!=""){
						
						//Verificacao do servidor
						var address= "process.main.php?action=check-email-syntax&email="+field.value;
						new Ajax.Request(address, {
							onComplete: function cenas(transport) {
							  
							if (transport.responseText.match("true")){
								
								alertMsg= "O servidor remoto existe";
						//		alert(alertMsg);
								
								alert_msg_newsletter('success','Bem vindo!');
								
								document.getElementById('newsletter_nome').value="Nome";
								document.getElementById('newsletter_email').value="Email";
								
								//Se a caixa de correio for válida submeter o formulário
								//document.form_newsletter.submit();
								
							} else {

								alertMsg= "O servidor remoto nao existe";
								//alert(alertMsg);
								errorMark(field);
								
								alert_msg_newsletter('erro',alertMsg);
								return false;
							}
							
						  }
						  
						});
			
					}else{
						alertMsg= "O email está vazio!";
						//alert("O email está vazio");
						errorMark(field);
						alert_msg_newsletter('erro',alertMsg);
						
						return false;
						
						
					}
					
						
					return true;
					
				}
			}
			
		});
		
		
		return false;
		
	}
	
	//Clear pesquisa form
	function clear_alert_msg_pesquisa(){
		document.getElementById('pesquisa_msg').style.display="none";
		//Effect.SwitchOff(document.getElementById('msg_alert'));
		
	}
	
	//Formulario de Pesquisa
	function validaFormPesquisa(){
		
		//Mensagens
		function alert_msg_pesquisa(tipo,msg){
		
			//Erro
			if(tipo=="erro"){
				document.getElementById('pesquisa_msg').className='alert_erro_newsletter';
				document.getElementById('pesquisa_msg_txt').innerHTML= msg;
				document.getElementById('pesquisa_msg').style.display="block";
				Effect.Pulsate('pesquisa_msg', {duration:3, pulses:2});
			}
		}
		
		//Termo de Pesquisa
		termo= document.getElementById('field_pesquisa').value;
		//if (campoObrigatorio_alfanumerico(document.getElementById('field_pesquisa'))==false){return false;}
		
		if (termo=="Pesquisa" || termo=="" ){
			alertMsg= "O campo da pesquisa está vazio!";
			//alert(alertMsg);
			alert_msg_pesquisa('erro',alertMsg);
			errorMark(document.getElementById('field_pesquisa'));
			return false;
		} else {
				var invalids = "#$%&*'<>\"";
				
				for(i=0; i<invalids.length; i++) {
					
					if(termo.indexOf(invalids.charAt(i)) >= 0 ) {
					invalidChar= invalids.charAt(i);
					//alert(invalidChar);
					alertMsg= "O caractere  "+ invalidChar +"  não é permitido";
					alert_msg_pesquisa('erro',alertMsg);
					
					return false;
					
					}
				}
				return true;
		
		}
		
		
		return true;
		
	}
	
	//Campo do ficheiro Uploads
	function clearText(){
		document.getElementById('upload_file').value="";
	}
	
	//Formulario de Uploads
	function validaFormUpload(){
		
		//Titulo
		if (campoObrigatorio_alfanumerico(document.getElementById('titulo_upload'))==false){alert_msg('erro','O título não está preenchido!');return false;}
		
		//Descrição
		if (campoObrigatorio_alfanumerico(document.getElementById('descricao_upload'))==false){alert_msg('erro','A descrição não está preenchida!');return false;}
		
		//Upload
		if (document.getElementById('upload_file').value==""){
			alertMsg= "O campo do ficheiro está vazio!";
			//alert(alertMsg);
			errorMark(document.getElementById('upload_file'));
			alert_msg('erro',alertMsg);
			return false;
		}
		
		
		//Publico?
		if (!document.getElementById('publico_upload').checked){
			var confirmar= confirm("Desenho privado?");
		
			if(confirmar){
				return true;
			} else{
				errorMark(document.getElementById('publico_upload'));
				return false;	
			}
		}
		
		return true;
		
	}
	
	//Formulario de Edição de Uploads
	function validaFormEdit(){
		
		//Titulo
		if (campoObrigatorio_alfanumerico(document.getElementById('titulo_upload'))==false){return false;}
		
		//Descricao
		if (campoObrigatorio_alfanumerico(document.getElementById('descricao_upload'))==false){return false;}
		
		return true;
	}
	
	//Validar o formulário do Pagamento
	function validaFormPagamento(){

		//Nome
		if (campoObrigatorio_alfanumerico(document.getElementById('entrega_nome'))==false){return false;}
		
		//Morada
		if (campoObrigatorio_alfanumerico(document.getElementById('entrega_morada'))==false){return false;}
		
		//NIF
		if (campoObrigatorio_alfanumerico(document.getElementById('entrega_nif'),'9')==false){return false;}
		
		//Metodo de Pagamento
	/*	if(document.getElementById('paypal').checked == false && document.getElementById('transfer').checked == false) {
			alert ("O metodo de pagamento não está definido");
			return false;
		}*/
		
		if(document.getElementById('transfer').checked == false) {
			alert ("O metodo de pagamento não está definido");
			return false;
		}

		return true;
	}
	
	//Formulario de Recuperação de Password
	function validaFormRecuperar(){
		
		document.getElementById('recover_loading').style.display="block";
		
		function hideLoading(){
			document.getElementById('recover_loading').style.display="none";
		}
		
		var email= document.getElementById('email_recover').value;
		
		var field= document.getElementById('email_recover');

		//Caracteres inválidos para Emails
		var invalids = "#$%&*'+<>?\/´`~^áèÀÁéèÈÉíìÍÌóòÒÓúùÚÙçÇºª,;|!{[]}()=»«\"";
		
		for(i=0; i<invalids.length; i++) {
		
			if(email.indexOf(invalids.charAt(i)) >= 0 ) {
			invalidChar= invalids.charAt(i);
	
				alertMsg= "O caractere "+invalidChar +" não é permitido!";
				//alert(alertMsg);
				errorMark(field);
				alert_msg('erro',alertMsg);
				hideLoading()
				
				return false;
			}
		
		}

		//Verificacao da Sintaxe
		var splitted = field.value.match("^(.+)@(.+)$"); 
		if(splitted == null){
			alertMsg= "O formato do email nao é válido!";
			//alert(alertMsg);
			errorMark(field);
			alert_msg('erro',alertMsg);
			hideLoading();
			
			return false; 
		}
								
								
		//Verificar se o email existe na base de dados
		var address= "process.main.php?action=email-exist&email="+ field.value;
		new Ajax.Request(address, {
			onComplete: function(transport) {
			
				estado= transport.responseText;
				//alert (estado);

				if(estado!=0){
	
					alertMsg= "O email existe na base de dados!";
					//alert(alertMsg);
					//alert_msg('erro',alertMsg);
					
					document.form_Recuperar.submit();
					return true;
					
				}else{
					
					alertMsg= "O email não existe na base de dados!";
					alert_msg('erro',alertMsg);
					errorMark(field);
					hideLoading();
					
					return false;
					
				}
			}
			
		});
		

		
		return false;
	}
	
	//Valida form Recomendar
	function validaFormRecomendar(){
		
		document.getElementById('loader_icon').style.visibility="visible";
		
		
		function hideLoading(){
			document.getElementById('loader_icon').style.visibility="hidden";
		}
		
		
		//Nome Remetente
		if (campoObrigatorio_alfanumerico(document.getElementById('nome_remetente'))==false){hideLoading(); alert_msg('erro','O teu Nome não está preenchido');return false;}
		
		//Nome Destinatário
		if (campoObrigatorio_alfanumerico(document.getElementById('nome_destino'))==false){hideLoading();alert_msg('erro','O Nome do teu amigo não está preenchido');return false;}
		
		
		
		//email Remetente
		var field= document.getElementById('email_remetente');
		var email_remetente= document.getElementById('email_remetente').value;

		//Caracteres inválidos para Emails
		var invalids = "#$%&*'+<>?\/´`~^áèÀÁéèÈÉíìÍÌóòÒÓúùÚÙçÇºª,;|!{[]}()=»«\"";
		
		for(i=0; i<invalids.length; i++) {
		
			if(email_remetente.indexOf(invalids.charAt(i)) >= 0 ) {
			invalidChar= invalids.charAt(i);
	
				alertMsg= "O caractere "+invalidChar +" não é permitido!";
				//alert(alertMsg);
				errorMark(field);
				alert_msg('erro',alertMsg);
				hideLoading()
				
				return false;
			}
		
		}
		
		//Verificacao da Sintaxe
		var splitted = field.value.match("^(.+)@(.+)$"); 
		if(splitted == null){
			alertMsg= "O formato do teu email nao é válido!";
			//alert(alertMsg);
			errorMark(field);
			alert_msg('erro',alertMsg);
			hideLoading();
			
			return false; 
		}

		//Verificacao do Conteudo
		if(field.value!=""){
			
			//Verificacao do servidor
			var address= "process.main.php?action=check-email-syntax&email="+field.value;
			new Ajax.Request(address, {
				onComplete: function cenas(transport) {
				  
				if (transport.responseText.match(true)){
					
					//Email Destino
					var field_2= document.getElementById('email_destino');
					var email_destino= document.getElementById('email_destino').value;
			
					//Caracteres inválidos para Emails
					var invalids = "#$%&*'+<>?\/´`~^áèÀÁéèÈÉíìÍÌóòÒÓúùÚÙçÇºª,;|!{[]}()=»«\"";
					
					for(i=0; i<invalids.length; i++) {
					
						if(email_destino.indexOf(invalids.charAt(i)) >= 0 ) {
						invalidChar= invalids.charAt(i);
				
							alertMsg= "O caractere "+invalidChar +" não é permitido!";
							//alert(alertMsg);
							errorMark(field_2);
							alert_msg('erro',alertMsg);
							hideLoading()
							
							return false;
						}
					
					}
					
					//Verificacao da Sintaxe
					var splitted = field_2.value.match("^(.+)@(.+)$"); 
					if(splitted == null){
						alertMsg= "O formato do email do teu amigo nao é válido!";
						//alert(alertMsg);
						errorMark(field_2);
						alert_msg('erro',alertMsg);
						hideLoading();
						
						return false; 
					}
			
					//Verificacao do Conteudo
					if(field_2.value!=""){
						
						//Verificacao do servidor
						var address= "process.main.php?action=check-email-syntax&email="+field_2.value;
						new Ajax.Request(address, {
							onComplete: function cenas(transport) {
							  
							if (transport.responseText.match(true)){

								//Submit Form
								document.form_recomendar.submit();
								
							} else {
			
								alertMsg= "O servidor remoto nao existe";
								alert_msg('erro',alertMsg);
								hideLoading(); 
								
								errorMark(field_2);
			
							}
							
						  }
						  
						});
			
					}else{
						
						alertMsg="O email está vazio";
						alert_msg('erro',alertMsg);
						errorMark(field_2);
						hideLoading(); 
						
						return false;
						
					}
		
					
					
				} else {

					alertMsg= "O servidor remoto nao existe";
					alert_msg('erro',alertMsg);
					hideLoading(); 
					
					errorMark(field);

				}
				
			  }
			  
			});

		}else{
			
			alertMsg="O email está vazio";
			alert_msg('erro',alertMsg);
			errorMark(field);
			hideLoading(); 
			
			return false;
			
		}
		
		

		
		return false;
		
	}
	
// 05. Carrinho de compras ________________________________________________________________________________ 05. Carrinho de compras
	
	//Update Mini Cart
	function updateMiniCart(sessao){

		document.getElementById('cart_refresh').style.visibility="visible";
		
		var address="process.main.php?action=mini-carrinho&sessao="+sessao;
		new Ajax.Updater('mini_cart', address, {
		 // parameters: { text: $F('mini_cart') },
		//  insertion: Insertion.Bottom
			onComplete: function(transport) {
				document.getElementById('cart_refresh').style.visibility="hidden";
			}
		});
		
	}
	
	//Eliminar item do carrinho
	function deleteItem(linha,sessao){
		
		var confirmar= confirm("Tens a certeza que queres eliminar este produto?");
		
		if(confirmar){
			var address="process.main.php?action=del-item&item="+linha;
			new Ajax.Request(address, {
				onComplete: function(transport) {
					
					linha= "linha_"+linha;
					/*parent= document.getElementById('content_seccao_tipo_2');
					remove= document.getElementById(linha);
					parent.removeChild(remove);
					*/
					Effect.SlideUp(document.getElementById(linha))
					
					
					//Actualizar o total geral
					updateTotal(sessao);
					
				}
			});

		}
	}

	
	
// 06. Calculos do carrinho __________________________________________________________________________________ 06. Calculos do carrinho

	//Actualizar a quantidade
	function updateQtd(id_item, preco_unit, destino, sessao){
		var qtd_box= "quantidade_" + id_item;
		var qtd= document.getElementById(qtd_box).value;
		
		//actualizar a quantidade na linha temporaria
		var address= "process.main.php?action=edit-item&item="+ id_item + "&qtd=" + qtd;
		new Ajax.Request(address, {
			onComplete: function(transport) {
		  
			//actualizar o total parcial
			var resultado= preco_unit*qtd;
			document.getElementById(destino).innerHTML= resultado.toFixed(2);
			
			//Actualizar o total geral
			updateTotal(sessao);
			}
		});

	}

	//Actualizar o total geral
	function updateTotal (sessao){
		var address= "process.main.php?action=total-produtos&sessao="+ sessao;
		new Ajax.Request(address, {
			onComplete: function(transport) {
			var resultado= transport.responseText;
			//alert(resultado);
			document.getElementById('total_produtos').innerHTML= resultado;
		}
		});
	}

// 07. Pagina de produto _____________________________________________________________________________________ 07. Pagina de produto
	
	function nameColor(nome){
		document.getElementById('color_name').innerHTML=nome;
	}
	
	// BLoquear a tecla Enter
	function checkEnter(e,dimensao){ //e is event object passed from function invocation
		var characterCode //literal character code will be stored in this variable
		
		if(e && e.which){ //if which property of event object is supported (NN4)
		e = e
		characterCode = e.which //character code is contained in NN4's which property
		}
		else{
		e = event
		characterCode = e.keyCode //character code is contained in IE's keyCode property
		}
		
		if(characterCode == 13){ //if generated character code is equal to ascii 13 (if enter key)
		//document.forms[0].submit() //submit the form
		
			if( dimensao=="altura"){
				//alert(dimensao);
				calcularProporcao('altura')
			}else{
				//alert(dimensao);
				calcularProporcao('largura')
			}
			
			return false 
		}
		else{
			return true
		}
		
	}
	
	//botoes Medidas
	function alterarMedidas(dimensao, operacao){
		
		alturaField= document.getElementById('produto_altura');
		larguraField= document.getElementById('produto_largura');
		
		if(operacao=="add"){
			
			if(dimensao=="a"){
				alturaField= alturaField.value++;
				calcularProporcao('altura');
			}else{
				larguraField= larguraField.value++;
				calcularProporcao('largura');
			}
			
		}else{
			
			if(dimensao=="a"){
				alturaField= alturaField.value--;
				calcularProporcao('altura');
			}else{
				larguraField= larguraField.value--;
				calcularProporcao('largura');
			}
			
		}
		
		
	}
	
	function alterarQtd(operacao){

		quantidadeField= document.getElementById('produto_qtd');
		
		if(operacao=="add"){
			quantidadeField= quantidadeField.value++;
			calcularProporcao('altura');
			
		}else{
			if( quantidadeField.value>0 ){
				quantidadeField= quantidadeField.value--;
				calcularProporcao('altura');
			}

		}
		
	}

	function alterarQtdAcessorio(operacao, idAcessorio){

		quantidadeField= document.getElementById('produto_qtd');
		
		if(operacao=="add"){
			quantidadeField= quantidadeField.value++;
			calcularPrecoAcessorio(idAcessorio);
			
		}else{

			if( quantidadeField.value>0 ){
				quantidadeField= quantidadeField.value--;
				calcularPrecoAcessorio(idAcessorio);
			}
		}
		
	}


	//Calcular o sub-total do acessorio
	function calcularPrecoAcessorio(idAcessorio){
		
		//Selecionar o preco para o material
		var address= "process.main.php?action=calcular-precos_acessorios&id="+ idAcessorio;
		new Ajax.Request(address, {
			onComplete: function(transport) {
			var resultado= transport.responseText;
			
			//Resultado x Quantidade
			qtd= document.getElementById('produto_qtd').value;
			total= (resultado*qtd).toFixed(2);
			document.getElementById('total').innerHTML= total;
			
			//Formatar o valor para Euros
			
			//Esconder o Loading Icon
			document.getElementById('loader_icon').style.visibility="hidden";
			
			return resultado;
			
		}
		});
		
	}
	


	//Update Material
	function updateMaterial(id_material, id_cor){
		
		document.getElementById('loader_icon').style.visibility="visible";
		document.getElementById('produto_material').value= id_material;
		document.getElementById('produto_cor').value= id_cor;
		listarAcabamentos();
		
		//Selecionar o nome e observações
		var address="process.main.php?action=info-material&material="+ id_material + "&cor=" + id_cor;
		new Ajax.Updater('material_info', address, {

		});
		
		updateFlashColor(id_cor);

	}
	
	//Listar Acabamentos
	function listarAcabamentos(){
		//material
		var material= document.getElementById('produto_material').value;
		//cor
		var cor= document.getElementById('produto_cor').value;
		
		
		//Selecionar o preco para o material
		var address= "process.main.php?action=listar-acabamentos&material="+ material + "&cor=" + cor;
		new Ajax.Request(address, {
			onComplete: function(transport) {
			var resultado= transport.responseText;
			//alert(resultado);
			document.getElementById('produto_acabamentos').innerHTML= resultado;
			document.getElementById('loader_icon').style.visibility="hidden";
		}
		});
		
		calcularProporcao('altura');
	}
	
	//Actualizar o preco individual
	function calcularPreco(material, altura, largura){
		
		//Selecionar o preco para o material
		var address= "process.main.php?action=calcular-precos&altura="+ altura + "&largura=" + largura +"&material=" + material;
		new Ajax.Request(address, {
			onComplete: function(transport) {
			var resultado= transport.responseText;
			//alert(resultado);
			document.getElementById('total_produtos').innerHTML= resultado;
			
			
			
			//Resultado x Quantidade
			var qtd= document.getElementById('produto_qtd').value;
			var total= (resultado*qtd).toFixed(2);
			document.getElementById('total').innerHTML= total;
			
			//Esconder o Loading Icon
			document.getElementById('loader_icon').style.visibility="hidden";
			
			return resultado;
			
		}
		});
		
	}
//return document.getElementById(movieName);

	//Flash

	

	function getFlashMovieObject(movieName)
	{
	  if (window.document[movieName]) 
	  {
		return window.document[movieName];
	  }
	  if (navigator.appName.indexOf("Microsoft Internet")==-1)
	  {
		if (document.embeds && document.embeds[movieName])
		  return document.embeds[movieName]; 
	  }
	  else // if (navigator.appName.indexOf("Microsoft Internet")!=-1)
	  {
		return document.getElementById(movieName);
	  }
	}
	
	function carregarSwf(ficheiro) {
		
		//flashMovie= window.document['product_viewer'];
		var flashMovie= getFlashMovieObject("product_viewer");
		flashMovie.openFile(ficheiro);

	}
	
	function updateFlashSize(a,l) {
		
		//alert(a+l);
		//var altura_px= (a * 1.875).toFixed(2);
		//var largura_px= (l * 1.875).toFixed(2);
		
		var altura_px= (a * 2).toFixed(2);
		var largura_px= (l * 2).toFixed(2);
		
		flashMovie=getFlashMovieObject("product_viewer");
		flashMovie.flashSize(altura_px,largura_px);

	}

	function updateFlashColor(id) {

		flashMovie= getFlashMovieObject("product_viewer");
		flashMovie.flashColor(id);
		
		//alert(ficheiro);
	}
	

	
	//Calcular tamanho proporcional
	function calcularProporcao(dimensao){
		
		document.getElementById('loader_icon').style.visibility="visible";
		
		//material
		var material= document.getElementById('produto_material').value;
			
		//Valores originais
		//altura
		var a= document.getElementById('altura_minima').value;
		//largura
		var b= document.getElementById('largura_minima').value;
		
		//Valores novos
		//altura
		var a1= document.getElementById('produto_altura').value;
		//largura
		var b1= document.getElementById('produto_largura').value;
		
		//sendToActionScript(a, b);
		
		if(dimensao=="largura"){
			
			//A dimensao a actualizar é a altura
			altura= (a*b1)/b;
			altura= altura.toFixed(0);
			largura= b1;
			//alert (b);
			//Escreve na caixa
			document.getElementById('produto_altura').value= altura;
			
			//Actualizar o flash
			updateFlashSize(altura, largura);
			
			largura= Number(largura);
			b= Number(b);
			//se for menor que a original
			if(largura<b){

				//Emitir Aviso
				var msg= "A largura desta ilustração nao pode ser menor que " + b;
				alert_msg('erro',msg);
			//	alert (msg);
				
				//voltar aos valores originais
				altura= a;
				largura= b;
				
				document.getElementById('produto_altura').value= a;
				document.getElementById('produto_largura').value= b;
				
				//Actualizar o flash
				updateFlashSize(a, b);
			
			//	calcularPreco(material, altura, largura);
			}

		}
		
		if(dimensao=="altura"){
			
			//A dimensao a actualizar é a largura
			var altura= a1;
			largura= (a1*b)/a;
			largura= largura.toFixed(0);
			
			//Escreve na caixa
			document.getElementById('produto_largura').value= largura;
			
			altura= Number(altura);
			a= Number(a);
			
			//Actualizar o flash
			updateFlashSize(altura, largura);
				
			//se for menor que a original
			if(altura<a){
				
				//Emitir Aviso
				var msg= "A altura desta ilustração nao pode ser menor que " + a;
				alert_msg('erro',msg);
			//	alert (msg);
				
				//voltar aos valores originais
				altura= a;
				largura= b;
				
				document.getElementById('produto_altura').value= a;
				document.getElementById('produto_largura').value= b;
				
				//Actualizar o flash
				updateFlashSize(a, b);
				
				//Calcular o preco
				//calcularPreco(material, altura, largura);
			}
		}

		//Verificar se a mais pequena e maior que 116
		var menor= Math.min(altura,largura);
		if(menor > 116){
			
			if(menor==altura){
				//Emitir Aviso
				//alert("A altura desta ilustração nao pode exceder os 116cm.");
				msg= "A altura desta ilustração nao pode exceder os 116cm.";
				alert_msg('erro',msg);
				
				//Colocar a medida maxima
				document.getElementById('produto_altura').value= 116;
				
				//A dimensao a actualizar é a largura
				altura= a1;
				largura= (116*b)/a;
				largura= largura.toFixed(0);
				
				//Escreve na caixa
				document.getElementById('produto_largura').value= largura;
				
				
				//Actualizar o flash
				updateFlashSize(116, largura);
				
				//calcularPreco(material, altura, largura);
				
			}else{
				//Emitir Aviso
				//alert("A largura desta ilustração nao pode exceder os 116cm.");
				msg="A largura desta ilustração nao pode exceder os 116cm.";
				alert_msg('erro',msg);
				
				document.getElementById('produto_largura').value= 116;

				//A dimensao a actualizar é a altura
				altura= (a*116)/b;
				altura= altura.toFixed(0);
				largura= b1;
				
				//Escreve na caixa
				document.getElementById('produto_altura').value= altura;
				//calcularPreco(material, altura, largura);
				
				//Actualizar o flash
				updateFlashSize(altura, 116);
				
			}
		}
		
		//Actualiza o preco
		altura= document.getElementById('produto_altura').value;
		largura= document.getElementById('produto_largura').value;
		
		calcularPreco(material, altura, largura);
	}
	
	//Adicionar produto
	function addItem(sessao){
		
		//Mostrar o Loading Icon
		document.getElementById('loader_icon').style.visibility="visible";
			
		//tipo
		var tipo= document.getElementById('produto_tipo').value;
		//produto
		var id= document.getElementById('produto_id').value;
		//quantidade
		var qtd= document.getElementById('produto_qtd').value;
		
		//alert(id);
		
		if(qtd==0){
			msg= "A quantidade está a zero.";
			alert_msg('erro',msg);
			//Esconder o Loading Icon
			document.getElementById('loader_icon').style.visibility="hidden";
			return false;
		}
		//alert (tipo+id+qtd);
		
		//se for produto simples:
		if(tipo==0){
			
			//altura
			var altura= document.getElementById('produto_altura').value;
			//largura
			var largura= document.getElementById('produto_largura').value;
			//material
			var material= document.getElementById('produto_material').value;
			//cor
			var cor= document.getElementById('produto_cor').value;

			//acabamento
			var formulario= document.getElementById('form_produto');
			var acabamento= document.getElementById('produto_acabamentos').value;
			
			i = -1;
			
			for (i=formulario.produto_acabamentos.length-1; i > -1; i--) {
				if (formulario.produto_acabamentos[i].checked) {
					acabamento = i+1; i = -1;
				}
			}

			var parametros = "produto="+ id + "&qtd="+ qtd + "&altura="+ altura + "&largura="+ largura + "&material="+ material + "&cor="+ cor + "&acabamento="+ acabamento;

			var address= "process.main.php?action=add-item&sessao="+ sessao;
			new Ajax.Request(address, {method: 'post', parameters: parametros,
				onComplete: function(transport) {
					var resultado= transport.responseText;
					//alert(resultado);
					//document.getElementById('total_produtos').innerHTML= resultado;
					if( resultado=="1" ){
						
						//Esconder o Loading Icon
						document.getElementById('loader_icon').style.visibility="hidden";
						
						alert_msg('erro','O produto já existe no carrinho.');
						
					}else {
						//Actualizar o carrinho
						updateMiniCart(sessao);
						
						//Esconder o Loading Icon
						document.getElementById('loader_icon').style.visibility="hidden";
						
						// Alert
						alert_msg('success','Produto Adicionado ao carrinho.');
					}
					

			
			}
			});

		}else{
			//Adicionar encomenda para acessório	
			var parametros = "produto="+ id + "&qtd="+ qtd;

			var address= "process.main.php?action=add-acessorio&sessao="+ sessao;
			new Ajax.Request(address, {method: 'post', parameters: parametros,
				onComplete: function(transport) {
					var resultado= transport.responseText;
					//alert(resultado);
					//document.getElementById('total_produtos').innerHTML= resultado;
				
					if( resultado=="1" ){
						
						//Esconder o Loading Icon
						document.getElementById('loader_icon').style.visibility="hidden";
						
						alert_msg('erro','O produto já existe no carrinho.');
						
					}else {
						//Actualizar o carrinho
						updateMiniCart(sessao);
						
						//Esconder o Loading Icon
						document.getElementById('loader_icon').style.visibility="hidden";
						
						// Alert
						alert_msg('success','Produto Adicionado ao carrinho.');
					}
			
			}
			});
			
		}
		
		return false;
	}
	
	
	//Mensagens
	function alert_msg(tipo,msg){
	
		//Erro
		if(tipo=="erro"){
			document.getElementById('msg_alert').className='alert_erro';
			//document.getElementById('msg_alert').setAttribute('class','alert_erro');
			document.getElementById('msg_text').innerHTML= msg;
			document.getElementById('msg_alert').style.visibility="visible";
			Effect.Pulsate('msg_alert', {duration:3, pulses:2});
		}
		
		//Sucesso
		if(tipo=="success"){
			document.getElementById('msg_alert').className='alert_ok';
			//document.getElementById('msg_alert').setAttribute('class','alert_ok');
			document.getElementById('msg_text').innerHTML= msg;
			document.getElementById('msg_alert').style.visibility="visible";
			Effect.Pulsate('msg_alert', {duration:3, pulses:2});
		}
		
	}
	
	function clear_alert_msg(){
		document.getElementById('msg_alert').style.visibility="hidden";
		//Effect.SwitchOff(document.getElementById('msg_alert'));
	}
	
	//Calcular preço Acessórios
	function calculaSubTotalAcessorios(id_produto){
		var qtd= document.getElementById('produto_qtd').value;
		var address="process.main.php?action=preco-acessorio&id="+id_produto+"&qtd="+qtd;
		new Ajax.Updater('sub_total_acessorio', address, {
		 // parameters: { text: $F('mini_cart') },
		//  insertion: Insertion.Bottom
		});
		
	}
	
// 08. Pagina de pagamento _____________________________________________________________________________________ 08. Pagina de pagamento
	
	//Desbloquear o formulario dos dados de entrega
	function unlockForm(){
		document.getElementById('entrega_nome').removeAttribute('disabled');
		document.getElementById('entrega_nome').style.background="#FFFFFF";
		document.getElementById('entrega_nome').focus();
		
		document.getElementById('entrega_morada').removeAttribute('disabled');
		document.getElementById('entrega_morada').style.background="#FFFFFF";
		
		document.getElementById('entrega_nif').removeAttribute('disabled');
		document.getElementById('entrega_nif').style.background="#FFFFFF";
		
		document.getElementById('lock_button').setAttribute('onclick','lockForm()');
		document.getElementById('lock_button').innerHTML="Pronto";
	}
	
	//Bloquear o formulario dos dados de entrega
	function lockForm(){
		document.getElementById('entrega_nome').setAttribute('disabled','disabled')
		document.getElementById('entrega_nome').style.background="none";
		
		document.getElementById('entrega_morada').setAttribute('disabled','disabled')
		document.getElementById('entrega_morada').style.background="none";
		
		document.getElementById('entrega_nif').setAttribute('disabled','disabled')
		document.getElementById('entrega_nif').style.background="none";
		
		document.getElementById('lock_button').setAttribute('onclick','unlockForm();')
		document.getElementById('lock_button').innerHTML="Editar";
	}

		
	//Calculo do crédito e do desconto
	function calcularCreditoRestante(sessao){
		
		//Variaveis iniciais
		var credito_actual= document.getElementById('credito_actual').value;
		var creditoConvert= document.getElementById('credito_convert').value;
		var totalProdutos= document.getElementById('total_produtos').innerHTML;
		
		//Se for usada uma virgula
		var string= creditoConvert.indexOf(',');
		if(string!=""){
			//Substituir a virgula por ponto
			creditoConvert= creditoConvert.replace(",",".");
		}
		
		//Se o nr de casas decimais for maior do que 2
		var casasDecimais= Number(creditoConvert.length) - (Number(creditoConvert.indexOf('.')+1));
		if(casasDecimais>2 ){
			//Arredondar o valor
			creditoConvert= Number(creditoConvert).toFixed(2);
		}
	
		//Actualizar o valor
		document.getElementById('credito_convert').value= creditoConvert;

		//Se o montante a converter for maior do que o valor total dos produtos
		if(Number(creditoConvert)> Number(totalProdutos)){
			//usar apenas o valor dos produtos como maximo do credito
			
			msg= "O total de produtos é mais baixo do que isso!";
			alert( msg);
			
			//Se o montante a converter for maior do que o disponivel
			if(Number(credito_actual)>=Number(creditoConvert)){
			
			//Actualizar o montante a converter para o maximo
			document.getElementById('credito_convert').value= totalProdutos;
			//Actualizar o credito restante
			document.getElementById('credito_restante').innerHTML= credito_actual-totalProdutos;
			
			//Actualizar o desconto final				
			document.getElementById('desc_credito').innerHTML= totalProdutos;
			document.getElementById('field_desc_credito').value= totalProdutos;
				
			} else {
			
				msg= "O seu saldo permite apenas descontar até " + credito_actual;
				alert( msg);
				//Actualizar o montante a converter para o maximo
				document.getElementById('credito_convert').value= credito_actual;
				document.getElementById('field_desc_credito').value= credito_actual;
				//Actualizar o restante para 0
				document.getElementById('credito_restante').innerHTML= "0";
				//Actualizar o credito actual
				document.getElementById('desc_credito').innerHTML= credito_actual;
		}
			
	
	
		}else{
		
			//Se o montante a converter for maior do que o disponivel
			if(Number(credito_actual)>=Number(creditoConvert)){
			
				var restante=  credito_actual - creditoConvert ;
				restante= restante.toFixed(2);
	
				//Actualizar o restante
				document.getElementById('credito_restante').innerHTML= restante;
				document.getElementById('desc_credito').innerHTML= creditoConvert;
				document.getElementById('field_desc_credito').value= creditoConvert;
				
				//Actualizar o preco final
				
			} else {
			
				msg= "O seu saldo permite apenas descontar até " + credito_actual;
				alert( msg);
				//Actualizar o montante a converter para o maximo
				document.getElementById('credito_convert').value= credito_actual;
				document.getElementById('field_desc_credito').value= credito_actual;
				//Actualizar o restante para 0
				document.getElementById('credito_restante').innerHTML= "0";
				//Actualizar o credito actual
				document.getElementById('desc_credito').innerHTML= credito_actual;
			}
		
		}
	
	
		calcularTotal(sessao);
		
	}
	
	//Calculo do total
	function calcularTotal(sessao){
	
		var totalProdutos= 0;
		//Total de produtos
		var address= "process.main.php?action=total-produtos&sessao="+ sessao;
		new Ajax.Request(address, {
			onComplete: function(transport) {
			totalProdutos= transport.responseText;
			
			//Portes de Envio
			var portesEnvio= document.getElementById('portes').innerHTML;	
			
			//Credito a converter
			var creditoConvert= document.getElementById('credito_convert').value;
	
			//Actualizar total final
			var totalFinal= parseFloat(totalProdutos-creditoConvert)+parseFloat(portesEnvio);
			document.getElementById('total_final').innerHTML= totalFinal.toFixed(2);
			
		}
		});

	}
	
// 09. Area Pessoal ___________________________________________________________________________________________ 09. Area Pessoal
	
	//Activar e Desactivar desenhos
	function toggleUpload(id){
		
		var object= "estado_upload_"+id;
		var botao= "bot_msg_toggle_"+id;
		
		//Total de produtos
		var address= "process.main.php?action=toggle-produtos&id="+ id;
		new Ajax.Request(address, {
			onComplete: function(transport) {
			
			var estado= transport.responseText;
			
			//alert (estado);
			
			
			if(estado==2){
				//alterar o estado do produto
				document.getElementById(object).innerHTML= "Online";

				//Texto verde
				document.getElementById(object).setAttribute('class','texto_verde');
				//alterar o botao
				document.getElementById(botao).innerHTML= "Bloquear";
			//	document.getElementById('estado_upload').setAttribute('class','bot_eliminar');
			
				
			} else {
				document.getElementById(object).innerHTML= "Offline";
				//Texto vermelho
				document.getElementById(object).setAttribute('class','texto_vermelho');
				//alterar o botao
				document.getElementById(botao).innerHTML= "Activar";
			//	document.getElementById('estado_upload').setAttribute('class','bot_eliminar');
				
			}
			
		}
		});

	}

// 10. Bookmarks ___________________________________________________________________________________________ 10. Bookmarks

//Adicionar aos favoritos
function CreateBookmarkLink() {

	title = "urbstik comunisticker"; 
	url = "http://www.urbstik.com";
	
	if (window.sidebar) { //Firefox
	
		window.sidebar.addPanel(title, url,"");
		
	} else if( window.external ) { // Internet Explorer
	
		window.external.AddFavorite( url, title); 
		
	}else if(window.opera && window.print) { // Opera
	
		alert("Prime Ctrl+D para adicionar aos favoritos");
	
	}else{
	
		alert("Prime Ctrl+D para adicionar aos favoritos");
		
	}
}

// 11. Ampliar Produto ___________________________________________________________________________________________ 11. Ampliar Produto

function togglePreview(action){
	
	if(action=="open"){
		document.getElementById('preview_trigger').style.display="block";
		Effect.BlindDown(document.getElementById('masterPreview'));
		document.getElementById('preview_trigger').innerHTML="<a href=\"javascript: void(0);\" onclick=\"togglePreview('close')\" onmouseover=\"MM_swapImage('zoomIn','','imgs/bot_zoom_menos_over.gif',1)\" onmouseout=\"MM_swapImgRestore()\"><img style=\"float:right;\" src=\"imgs/bot_zoom_menos_activ.gif\" alt=\"\" height=\"16\" width=\"16\" name=\"zoomIn\" /><div style=\"float:right; padding-top:2px; margin-right: 5px;\">Reduzir Desenho</div></a>";
	}
	
	if(action=="close"){
		Effect.BlindUp(document.getElementById('masterPreview'));
		document.getElementById('preview_trigger').innerHTML="<a href=\"javascript: void(0);\" onclick=\"togglePreview('open')\" onmouseover=\"MM_swapImage('zoomIn','','imgs/bot_zoom_mais_over.gif',1)\" onmouseout=\"MM_swapImgRestore()\"><img style=\"float:right;\" src=\"imgs/bot_zoom_mais_activ.gif\" alt=\"\" height=\"16\" width=\"16\" name=\"zoomIn\" /><div style=\"float:right; padding-top:2px; margin-right: 5px;\">Ampliar Desenho</div></a>";
	}

}

// 12. Links Externos ___________________________________________________________________________________________ // 12. Links Externos
function blank(object){
	window.open(object.href); 
	return false;
}