	// ajuste da pagina - scrool bottom
	function pg_scroll() {
		window.scrollBy(0,1000);	
	}
	
	// menu - swap de imagem
	function img_over(el, n)
	{
		el.src = 'images/menu_2_active_0'+n+'.gif';
		
	}
	function img_out(el, n)
	{
		el.src = 'images/menu_2_0'+n+'.gif';
	}
	
	//	Form - validation ALTERAR
	function valida_form_contacto()
	{ 
		var nome=Trim($F('nome'));    
		var telefone=Trim($F('telefone'));
		var email=Trim($F('email'));
		var assunto=Trim($F('assunto'));
		var msg='';
		if ( nome == "" || nome.indexOf('"') != -1 || nome.indexOf(';') != -1 || nome.indexOf("\\") != -1 || nome.indexOf("/") != -1 || nome.indexOf('&') != -1 || nome.indexOf('=') != -1){msg +="\nNome: Campo vazio ou possui caracteres não suportados.";}
		if ( telefone == "" || telefone.indexOf('"') != -1|| telefone.indexOf(';') != -1 || telefone.indexOf("\\") != -1 || telefone.indexOf("/") != -1  || telefone.indexOf('&') != -1 || telefone.indexOf('=') != -1){msg +="\nTelefone: Campo vazio ou possui caracteres não suportados.";}
		if ( email == "" || email.indexOf("@") == -1 || email.indexOf(".") == -1 || email.indexOf(" ") != -1 || email.indexOf("'") != -1 || email.indexOf(";") != -1 || email.indexOf('"') != -1 || email.indexOf("\\") != -1 || email.indexOf('&') != -1 || email.indexOf('=') != -1){msg += "\nEmail: Insira um email válido.";}
		if ( assunto == ""  || assunto.indexOf('&') != -1 || assunto.indexOf(';') != -1 || assunto.indexOf('=') != -1 ){msg +="\nMensagem: Campo vazio ou possui caracteres não suportados.";}
		if (msg!=""){
			alert(msg);
			return false;
		}else{
			return true;
		}
	}
	// ALTERAR
	function valida_form_orcamento()
	{ 
		var nome=Trim($F('nome'));    
		var telefone=Trim($F('telefone'));
		var email=Trim($F('email'));
		var concelho=Trim($F('concelho'));
		var localidade=Trim($F('localidade'));
		var assunto=Trim($F('assunto'));
		var msg='';
		if ( nome == "" || nome.indexOf('"') != -1 || nome.indexOf(';') != -1 || nome.indexOf("\\") != -1 || nome.indexOf("/") != -1 || nome.indexOf('&') != -1 || nome.indexOf('=') != -1){msg +="\nNome: Campo vazio ou possui caracteres não suportados.";}
		if ( telefone == "" || telefone.indexOf('"') != -1|| telefone.indexOf(';') != -1 || telefone.indexOf("\\") != -1 || telefone.indexOf("/") != -1  || telefone.indexOf('&') != -1 || telefone.indexOf('=') != -1){msg +="\nTelefone: Campo vazio ou possui caracteres não suportados.";}
		if ( email == "" || email.indexOf("@") == -1 || email.indexOf(".") == -1 || email.indexOf(" ") != -1 || email.indexOf("'") != -1 || email.indexOf(";") != -1 || email.indexOf('"') != -1 || email.indexOf("\\") != -1 || email.indexOf('&') != -1 || email.indexOf('=') != -1){msg += "\nEmail: Insira um email válido.";}
		if ( concelho == "" || concelho.indexOf('"') != -1 || concelho.indexOf(';') != -1 || concelho.indexOf("\\") != -1 || concelho.indexOf("/") != -1 || concelho.indexOf('&') != -1 || concelho.indexOf('=') != -1){msg +="\nConcelho: Campo vazio ou possui caracteres não suportados.";}
		if ( localidade == "" || localidade.indexOf('"') != -1 || localidade.indexOf(';') != -1 || localidade.indexOf("\\") != -1 || localidade.indexOf("/") != -1 || localidade.indexOf('&') != -1 || localidade.indexOf('=') != -1){msg +="\nLocalidade: Campo vazio ou possui caracteres não suportados.";}
		if ( assunto == ""  || assunto.indexOf('&') != -1 || assunto.indexOf(';') != -1 || assunto.indexOf('=') != -1 ){msg +="\nMensagem: Campo vazio ou possui caracteres não suportados.";}
		if (msg!=""){
			alert(msg);
			return false;
		}else{
			return true;
		}
	}
	
	//	TRIM
	function Trim(TRIM_VALUE)
	{
				if(TRIM_VALUE.length < 1){
				return"";
				}
				TRIM_VALUE = RTrim(TRIM_VALUE);
				TRIM_VALUE = LTrim(TRIM_VALUE);
				if(TRIM_VALUE==""){
				return "";
				}
				else{
				return TRIM_VALUE;
				}
				}
	function RTrim(VALUE)
	{
				var w_space = String.fromCharCode(32);
				var v_length = VALUE.length;
				var strTemp = "";
				if(v_length < 0){
				return"";
				}
				var iTemp = v_length -1;
				
				while(iTemp > -1){
				if(VALUE.charAt(iTemp) == w_space){
				}
				else{
				strTemp = VALUE.substring(0,iTemp +1);
				break;
				}
				iTemp = iTemp-1;
				
				} //End While
				return strTemp;
				
				}
	function LTrim(VALUE)
	{
				var w_space = String.fromCharCode(32);
				if(v_length < 1){
				return"";
				}
				var v_length = VALUE.length;
				var strTemp = "";
				
				var iTemp = 0;
				
				while(iTemp < v_length){
				if(VALUE.charAt(iTemp) == w_space){
				}
				else{
				strTemp = VALUE.substring(iTemp,v_length);
				break;
				}
				iTemp = iTemp + 1;
				} //End While
				return strTemp;
			}
	
	// Textarea Trim
	function limitaCampo(campo,limite)
	{
		if (campo.value.length > limite){
			alert("O texto não pode exceder "+limite+" caracteres.");
			var retornacampo= campo.value.slice(0, limite);
			campo.value = retornacampo;
			campo.focus();
		}
	}	
	

	// --- galeria flutuante
	
	// configuracao de galeria
	var offsetfrommouse=[40,1]; //image x,y offsets from cursor position in px. Enter 0,0 for no offset
	if (document.getElementById || document.all){
		document.write('<div id="trailimageid">');
		document.write('</div>');
	}
	
	function showtrail(imagename,title,description,ratingaverage,ratingnumber,showthumb,height,filetype)
	{
		if (height > 0){
			currentimageheight = height;
		}
	
		document.onmousemove=followmouse;
	
		cameraHTML = '';
	
		if ( !ratingnumber ){
			ratingnumber = 0;
			ratingaverage = 0;
		}
	
		for(x = 1; x <= 5; x++){
	
			if (ratingaverage >= 1){
				cameraHTML = cameraHTML + '<img src="/images/camera_1.gif">';
			} else if (ratingaverage >= 0.5){
				cameraHTML = cameraHTML + '<img src="/images/camera_05.gif">';
			} else {
				cameraHTML = cameraHTML + '<img src="/images/camera_0.gif">';
			}
		
			ratingaverage = ratingaverage - 1;
		}
	
		cameraHTML = cameraHTML + ' (' + ratingnumber + ' Review';
		if ( ratingnumber > 1 ) cameraHTML += 's';
		cameraHTML = cameraHTML + ')';
	
		newHTML = '<div  style="background-color: #FFFFFF;border: 1px solid #ccc;padding:0px 5px 6px 5px;">';
		//newHTML = newHTML + '<h2>' + title + '</h2>';
		newHTML = newHTML + '' + title + '';
		//newHTML = newHTML + 'Rating: ' + cameraHTML + '<br/>';
		newHTML = newHTML + description + '';
	
		if (showthumb > 0){
			newHTML = newHTML + '<div align="center" style="padding: 8px 2px 2px 2px;">';
			if(filetype == 8) { // Video
				newHTML = newHTML +	'<object width="380" height="285" classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,0,0">';
				newHTML = newHTML + '<param name="movie" value="video_loupe.swf">';
				newHTML = newHTML + '<param name="quality" value="best">';
				newHTML = newHTML + '<param name="loop" value="true">';
	
				newHTML = newHTML + '<param name="FlashVars" value="videoLocation=' + imagename + '&bufferPercent=25">';
				newHTML = newHTML + '<EMBED SRC="video_loupe.swf" LOOP="true" QUALITY="best" FlashVars="videoLocation=' + imagename + '&bufferPercent=25" WIDTH="380" HEIGHT="285">';
				newHTML = newHTML + '</object></div>';
			} else {
				newHTML = newHTML + '<img src="' + imagename + '" border="0"></div>';
			}
		}
	
		newHTML = newHTML + '</div>';
		gettrailobjnostyle().innerHTML = newHTML;
		gettrailobj().display="inline";
	}
	function followmouse(e)
	{
	
		var xcoord=offsetfrommouse[0]
		var ycoord=offsetfrommouse[1]
	
		var docwidth=document.all? truebody().scrollLeft+truebody().clientWidth : pageXOffset+window.innerWidth-15
		var docheight=document.all? Math.min(truebody().scrollHeight, truebody().clientHeight) : Math.min(window.innerHeight)
	
		//if (document.all){
		//	gettrailobjnostyle().innerHTML = 'A = ' + truebody().scrollHeight + '<br>B = ' + truebody().clientHeight;
		//} else {
		//	gettrailobjnostyle().innerHTML = 'C = ' + document.body.offsetHeight + '<br>D = ' + window.innerHeight;
		//}
	
		if (typeof e != "undefined"){
			if (docwidth - e.pageX < 380){
				xcoord = e.pageX - xcoord - 400; // Move to the left side of the cursor
			} else {
				xcoord += e.pageX;
			}
			if (docheight - e.pageY < (currentimageheight + 110)){
				ycoord += e.pageY - Math.max(0,(210 + currentimageheight + e.pageY - docheight - truebody().scrollTop)); // 210 estava 110
			} else {
				ycoord += e.pageY;
			}
	
		} else if (typeof window.event != "undefined"){
			if (docwidth - event.clientX < 380){
				xcoord = event.clientX + truebody().scrollLeft - xcoord - 400; // Move to the left side of the cursor
			} else {
				xcoord += truebody().scrollLeft+event.clientX
			}
			if (docheight - event.clientY < (currentimageheight + 110)){
				ycoord += event.clientY + truebody().scrollTop - Math.max(0,(110 + currentimageheight + event.clientY - docheight));
			} else {
				ycoord += truebody().scrollTop + event.clientY;
			}
		}
	
		if(ycoord < 0) { ycoord = ycoord*-1; }
		gettrailobj().left=xcoord+"px"
		gettrailobj().top=ycoord+"px"
	}
	function hidetrail()
	{
		gettrailobj().innerHTML = " ";
		gettrailobj().display="none"
		document.onmousemove=""
		gettrailobj().left="-500px"
	
	}
	function gettrailobjnostyle()
	{
		if (document.getElementById)
		return document.getElementById("trailimageid")
		else if (document.all)
		return document.all.trailimagid
	}
	function gettrailobj()
	{
		if (document.getElementById)
		return document.getElementById("trailimageid").style
		else if (document.all)
		return document.all.trailimagid.style
	}
	function truebody()
	{
		return (!window.opera && document.compatMode && document.compatMode!="BackCompat")? document.documentElement : document.body
	}
	
	//---
	
	// Index - ajax navigation
	function postVals(values)
	{
		// script
		var url = 'post_vals.php';
		// vals
		var hash = $H(values);
		var param = hash.toQueryString();
		var ajaxobject = new Ajax.Request(url, {method: 'get', parameters: param, onFailure: mostraFalha, onSuccess:mostraResposta });
		$('loading').style.display = 'block';
	}
	var mostraResposta = function ()
	{
		$('loading').style.display = 'none';
		return true;
	}
	var mostraFalha = function ()
	{
		return false;
	}
	function getMenu(div_id)
	{
		var url = 'menu.php';
		var ajaxobject = new Ajax.Updater($(div_id), url, {method: 'get', asynchronous:true});
	}
	function getContent(div_id)
	{
		var url = 'content.php';
		var ajaxobject = new Ajax.Updater($(div_id), url, {method: 'get', asynchronous:true});
	}
	
	//---
	
	//function serv(menu){
	function serv(){
		var menu = $F('menu'); //document.getElementById(menu).value;
		if (menu){
			document.location.href = "?menu="+menu;
		}else{
			alert(menu+" nao está definido.")
			}
		return false;
	}
	
	//function subserv(menu,submenu){
	function subserv(){
		var menu = $F('menu');// document.getElementById(menu).value;
		var submenu = $F('submenu'); //document.getElementById(submenu).value;
		if (menu){
			document.location.href = "?menu="+menu+"&submenu="+submenu;
		}else{
			alert("menu="+menu+" submenu="+submenu)
			}
		return false;
	}
	
	//---
	
	// news - ajax navigation
	function swapNews(div_id,values)
	{
		// script
		var url = 'news.php';
		// vals
		var hash = $H(values);
		var param = hash.toQueryString();
		var ajaxobject = new Ajax.Updater($(div_id), url, {method: 'get', asynchronous:true, parameters: param,onSuccess:mostraResposta});
		$('loading').style.display = 'block';
	}
	
	// catalogo - ajax navigation	
	function postSrv(div, values)
	{
		// script
		var url = 'servicos.php';
		// vals
		var hash = $H(values);
		var param = hash.toQueryString();
		var ajaxobject = new Ajax.Updater(div,url, {method: 'get', parameters: param, onFailure: mostraFalha, onSuccess:mostraResposta });
		$('loading').style.display = 'block';
	}
	
	// caracteres especiais
	function limpa_special_chars(str)
	{
		reg = /\$|#|~|`|'|\%|\*|\^|\&|\(|\)|\+|\=|\[|\-|\_|\]|\[|\}|\{|\;|\:|\'|\"|\<|\>|\?|\||\\|\!|\$|\./g;
		str = str.replace(reg,' ');
		reg = /\á|\à|\ã|\â/g;
		str = str.replace(reg,'a');
		reg = /\Á|\À|\Ã|\Â/g;
		str = str.replace(reg,'A');
		reg = /\é|\è/g;
		str = str.replace(reg,'e');
		reg = /\É|\È/g;
		str = str.replace(reg,'E');
		reg = /\í|\ì/g;
		str = str.replace(reg,'i');
		reg = /\Í|\Ì/g;
		str = str.replace(reg,'I');
		reg = /\ó|\ò|\õ|\ô/g;
		str = str.replace(reg,'o');
		reg = /\Ó|\Ò|\Õ|\Ô/g;
		str = str.replace(reg,'O');
		reg = /\ú|\ù/g;
		str = str.replace(reg,'u');
		reg = /\Ú|\Ù/g;
		str = str.replace(reg,'U');
		reg = /\ç/g;
		str = str.replace(reg,'c');
		reg = /\Ç/g;
		str = str.replace(reg,'C');
		return str;
	}
	
		var sucesso = function()
	{
		$('loading').style.display = 'none';
	}
	
	
	
	//------ CATALOGO
	
	// catalogo - AJAX navigation	
	function catalogo_produtos_menu(values)
	{
		var div = 'catalogo_menu';
		var url = 'catalogo_produtos_menu.php';
		// vals
		var hash = $H(values);
		var param = hash.toQueryString();
		var ajaxobject = new Ajax.Updater(div,url, {method: 'get', parameters: param, onFailure: mostraFalha, onSuccess:mostraResposta });
		$('loading').style.display = 'block';
	}
	function catalogo_portfolio_menu(values)
	{
		var div = 'catalogo_menu';
		var url = 'catalogo_portfolio_menu.php';
		// vals
		var hash = $H(values);
		var param = hash.toQueryString();
		var ajaxobject = new Ajax.Updater(div,url, {method: 'get', parameters: param, onFailure: mostraFalha, onSuccess:mostraResposta });
		$('loading').style.display = 'block';
	}
	function catalogo_produtos_body(values)
	{
		var div = 'catalog_body';
		var url = 'catalogo_produtos_items.php';
		// vals
		var hash = $H(values);
		var param = hash.toQueryString();
		var ajaxobject = new Ajax.Updater(div,url, {method: 'get', parameters: param, onFailure: mostraFalha, onSuccess:mostraResposta });
		$('loading').style.display = 'block';
	}
	function catalogo_portfolio_body(values)
	{
		var div = 'catalog_body';
		var url = 'catalogo_portfolio_items.php';
		// vals
		var hash = $H(values);
		var param = hash.toQueryString();
		var ajaxobject = new Ajax.Updater(div,url, {method: 'get', parameters: param, onFailure: mostraFalha, onSuccess:mostraResposta });
		$('loading').style.display = 'block';
	}
