// JavaScript Document
//function onload()
//{
//	tiposSelect.disabled = disabled;
//}
//
//onload();

//Não está a uso
function GetTipos(accao)
{
	var tipos = new Array();
	if(accao == 1)
	{
		tipos[0] = "Soalho Madeira";
		tipos[1] = "Pedra";
	}
	else if(accao == 2)
	{
		tipos[0] = "Soalho Flutuante";
		tipos[1] = "Soalho Madeira";
	}
	
	var t = "";
	for(x in tipos)
	{
		t += tipos[x];
	}
	alert(t + " " + document.form1.cb_accaoPav.value);
	//alert(document.form1.cb_accaoPav.value)
}

//Usada para preencher a combobox para o tipo de pavimentos (quartos, sala...). Não está a uso.
function SetTipos(accao)
{
	//alert("Setting tipos");
	//var accaoPavimentos = document.getElementById("cb_accaoPav").value;
	var accaoPavimentos = accao; //teste
	//alert("Acção pavimentos: " + accaoPavimentos);
	var tiposSelect = document.getElementById("cb_tipoPav");
	//tiposSelect.disabled = false;
	tiposSelect.options.length = 0;
	if(accaoPavimentos == 0)
	{
		//tiposSelect.disabled = true;
		var option1 = document.createElement("option");  
	    option1.text = "----------------";  
	    option1.value = 0;
		try {  
	        tiposSelect.add(option1, null); //Standard  
	    }catch(error) {  
			tiposSelect.add(option1);// IE only 
	    }
	}
	else if(accaoPavimentos == 1)
	{
		var option1 = document.createElement("option");  
	    option1.text = "Soalho Madeira";  
	    option1.value = 1;
		var option2 = document.createElement("option");  
	    option2.text = "Pedra";  
	    option2.value = 2;  
	    try {  
	        tiposSelect.add(option1, null); //Standard  
			tiposSelect.add(option2, null);
	    }catch(error) {  
			tiposSelect.add(option1);// IE only 
			tiposSelect.add(option2); 
	    }
	}
	else if(accaoPavimentos == 2)
	{
		var option1 = document.createElement("option");  
	    option1.text = "Soalho Flutuante";  
	    option1.value = 1;
		var option2 = document.createElement("option");  
	    option2.text = "Soalho Madeira";  
	    option2.value = 2;
		var option3 = document.createElement("option");  
	    option3.text = "Pedra - Granito";  
	    option3.value = 3;
		var option4 = document.createElement("option");  
	    option4.text = "Pedra - Mármore";  
	    option4.value = 4;
		var option5 = document.createElement("option");  
	    option5.text = "Mosaico";  
	    option5.value = 5;
		var option6 = document.createElement("option");  
	    option6.text = "Alcatifa";  
	    option6.value = 6;  
	    try {  
	        tiposSelect.add(option1, null); //Standard  
			tiposSelect.add(option2, null);
			tiposSelect.add(option3, null);
			tiposSelect.add(option4, null);
			tiposSelect.add(option5, null);
			tiposSelect.add(option6, null);
	    }catch(error) {  
			tiposSelect.add(option1);// IE only 
			tiposSelect.add(option2);
			tiposSelect.add(option3);
			tiposSelect.add(option4);
			tiposSelect.add(option5);
			tiposSelect.add(option6); 
	    }
	}
}

//FUNÇÃO que faz o disable de radio buttons para o piso
function UsePiso(par)
{
	if(par == 2) //2 = apartamento
	{
		document.form1.rdTerreo1.disabled = false;
		document.form1.rdTerreo2.disabled = false;
		document.form1.rdElevador1.disabled = false;
		document.form1.rdElevador2.disabled = false;
	}
	else
	{
		document.form1.rdTerreo1.disabled = true;
		document.form1.rdTerreo2.disabled = true;
		document.form1.rdTerreo2.checked = true;
		document.form1.rdElevador1.disabled = true;
		document.form1.rdElevador2.disabled = true;
		document.form1.rdElevador1.checked = true;
	}
}
//FUNÇÃO que faz o disable de radio buttons para o elevador
function UseElevador(par)
{
	if(par == 2) //2 = não terreo.
	{
		document.form1.rdElevador1.disabled = false;
		document.form1.rdElevador2.disabled = false;
	}
	else
	{
		document.form1.rdElevador1.disabled = true;
		document.form1.rdElevador2.disabled = true;
		document.form1.rdElevador2.checked = true;
	}
}

function ValidaCorredor(form, idAccaoTectosSemIntervencao, idAccaoPavSemIntervencao)
{
	if(form.cb_tectos.value != idAccaoTectosSemIntervencao || form.cb_accaoPav.value != idAccaoPavSemIntervencao) //Valores correspondentes a "Sem intervenção". Está dependente dos valores da Base de dados.
	{
		if(isNaN(form.tx_area.value))
		{
			alert("O campo área só pode conter dígitos.");
			form.tx_area.focus();
			return false;
		}
		if(form.tx_area.value == "" || form.tx_area.value == 0 || form.tx_area.value == null)
		{
			alert("Por favor insira a área do corredor-hall.");
			form.tx_area.focus();
			return false;
		}	
	}
	return true;
}
//Função usada para validar o preenchimento obrigatório dos campos "comprimento" e "largura" e "tipo de pavimento" nas páginas ...
function ValidaCompLarg(form)
{
	if(isNaN(form.tx_comp.value))
	{
		alert("O campo comprimento só pode conter dígitos.");
		form.tx_comp.focus();
		return false;
	}
	if(isNaN(form.tx_largura.value))
	{
		alert("O campo largura só pode conter dígitos.");
		form.tx_largura.focus();
		return false;
	}
	if(form.tx_comp.value == "" || form.tx_comp.value == null)
	{
		alert("Por favor insira o comprimento.");
		form.tx_comp.focus();
		return false;
	}
	if(form.tx_largura.value == "" || form.tx_largura.value == null)
	{
		alert("Por favor insira a largura.");
		form.tx_largura.focus();
		return false;
	}
	return true;	
}

function ValidaQuarto(form, idAccaoTectosSemIntervencao, idAccaoPavSemIntervencao)
{
	if(isNaN(form.tx_comp.value))
	{
		alert("O campo comprimento só pode conter dígitos.");
		form.tx_comp.focus();
		return false;
	}
	if(isNaN(form.tx_largura.value))
	{
		alert("O campo largura só pode conter dígitos.");
		form.tx_largura.focus();
		return false;
	}
	if(form.cb_accaoTectos.value != idAccaoTectosSemIntervencao || form.cb_accaoPav.value != idAccaoPavSemIntervencao) //Valores correspondentes a "Sem intervenção". Está dependente dos valores da Base de dados.
	{
		if(form.tx_comp.value == "" || form.tx_comp.value == 0 || form.tx_comp.value == null)
		{
			alert("Por favor insira o comprimento.");
			form.tx_comp.focus();
			return false;
		}
		if(form.tx_largura.value == "" || form.tx_largura.value == 0 || form.tx_largura.value == null)
		{
			alert("Por favor insira a largura.");
			form.tx_largura.focus();
			return false;
		}
	}
	return true;
}

function ValidaSala(form, idAccaoTectosSemIntervencao, idAccaoPavSemIntervencao)
{
	if(isNaN(form.tx_comp.value))
	{
		alert("O campo comprimento só pode conter dígitos.");
		form.tx_comp.focus();
		return false;
	}
	if(isNaN(form.tx_largura.value))
	{
		alert("O campo largura só pode conter dígitos.");
		form.tx_largura.focus();
		return false;
	}
	if(form.cb_tectos.value != idAccaoTectosSemIntervencao || form.cb_accaoPav.value != idAccaoPavSemIntervencao) //Valores correspondentes a "Sem intervenção". Está dependente dos valores da Base de dados.
	{
		if(form.tx_comp.value == "" || form.tx_comp.value == 0 || form.tx_comp.value == null)
		{
			alert("Por favor insira o comprimento.");
			form.tx_comp.focus();
			return false;
		}
		if(form.tx_largura.value == "" || form.tx_largura.value == 0 || form.tx_largura.value == null)
		{
			alert("Por favor insira a largura.");
			form.tx_largura.focus();
			return false;
		}
	}
	return true;	
}

function ValidaWc(form, idAccaoSemIntervencao, idParedesSemIntervencao, idPavSemIntervencao, idMoveisSemIntervencao)
{
	if(isNaN(form.tx_comp.value))
	{
		alert("O campo comprimento só pode conter dígitos.");
		form.tx_comp.focus();
		return false;
	}
	if(isNaN(form.tx_largura.value))
	{
		alert("O campo largura só pode conter dígitos.");
		form.tx_largura.focus();
		return false;
	}
	if(form.cb_accao.value != idAccaoSemIntervencao || form.cb_paredes.value != idParedesSemIntervencao || form.cb_pav.value != idPavSemIntervencao || form.cb_moveisLoicas.value != idMoveisSemIntervencao) //Valores correspondentes a "Sem intervenção". Está dependente dos valores da Base de dados.
	{
		if(form.tx_comp.value == "" || form.tx_comp.value == 0 || form.tx_comp.value == null)
		{
			alert("Por favor insira o comprimento.");
			form.tx_comp.focus();
			return false;
		}
		if(form.tx_largura.value == "" || form.tx_largura.value == 0 || form.tx_largura.value == null)
		{
			alert("Por favor insira a largura.");
			form.tx_largura.focus();
			return false;
		}
	}
	
	//Verifica se existe intervenção nas canalizações. Se sim, tb tem de haver intervenção nas paredes e pavimentos
	if(form.cb_accao.value != 19) //Se intervenção nas canalizações for diferente de "Sem intervenção".
	{
		if(form.cb_paredes.value == 24 && form.cb_pav.value == 56)
		{
			alert("Se pretender intervenção nas canalizações, também tem de seleccionar uma intervenção para as paredes e os pavimentos.");
			form.cb_paredes.focus();
			return false;
		}
		if(form.cb_paredes.value == 24) //Intervenção nas paredes não pode ser "Sem intervenção".
		{
			alert("Se pretender intervenção nas canalizações, também tem de seleccionar uma intervenção para as paredes.");
			form.cb_paredes.focus();
			return false;
		}
		if(form.cb_pav.value == 56) //Intervenção nos pavimentos não pode ser "Sem intervenção".
		{
			alert("Se pretender intervenção nas canalizações, também tem de seleccionar uma intervenção para os pavimentos.");
			form.cb_pav.focus();
			return false;
		}
	}
	
	return true;
}

function ValidaCozinha(form, idRedeGasSemIntervencao, idAccaoSemIntervencao, idParedesSemIntervencao, idPavSemIntervencao, idMoveisSemIntervencao)
{
	if(isNaN(form.tx_comp.value))
	{
		alert("O campo comprimento só pode conter dígitos.");
		form.tx_comp.focus();
		return false;
	}
	if(isNaN(form.tx_largura.value))
	{
		alert("O campo largura só pode conter dígitos.");
		form.tx_largura.focus();
		return false;
	}
	if(form.cb_redeGas.value != idRedeGasSemIntervencao || form.cb_accao.value != idAccaoSemIntervencao || form.cb_paredes.value != idParedesSemIntervencao || form.cb_pav.value != idPavSemIntervencao || form.cb_moveis.value != idMoveisSemIntervencao) //Valores correspondentes a "Sem intervenção". Está dependente dos valores da Base de dados.
	{
		if(form.tx_comp.value == "" || form.tx_comp.value == 0 || form.tx_comp.value == null)
		{
			alert("Por favor insira o comprimento.");
			form.tx_comp.focus();
			return false;
		}
		if(form.tx_largura.value == "" || form.tx_largura.value == 0 || form.tx_largura.value == null)
		{
			alert("Por favor insira a largura.");
			form.tx_largura.focus();
			return false;
		}
	}
	
	//Verifica se existe intervenção nas canalizações. Se sim, tb tem de haver intervenção nas paredes e pavimentos
	if(form.cb_accao.value != 60) //Se intervenção nas canalizações for diferente de "Sem intervenção".
	{
		if(form.cb_paredes.value == 42 && form.cb_pav.value == 46)
		{
			alert("Se pretender intervenção nas canalizações, também tem de seleccionar uma intervenção para as paredes e os pavimentos.");
			form.cb_paredes.focus();
			return false;
		}
		if(form.cb_paredes.value == 42) //Intervenção nas paredes não pode ser "Sem intervenção".
		{
			alert("Se pretender intervenção nas canalizações, também tem de seleccionar uma intervenção para as paredes.");
			form.cb_paredes.focus();
			return false;
		}
		if(form.cb_pav.value == 46) //Intervenção nos pavimentos não pode ser "Sem intervenção".
		{
			alert("Se pretender intervenção nas canalizações, também tem de seleccionar uma intervenção para os pavimentos.");
			form.cb_pav.focus();
			return false;
		}
	}
	return true;
}

function ValidaExterioresInteriores(form, idVarandasSemIntervencao, idTelhadosSemIntervencao, idCarpintariasSemIntervencao, idTectosFalsosSemIntervencao)
{
	if(isNaN(form.tx_areaVarandas.value))
	{
		alert("O campo área das varandas e terraços só pode conter dígitos.");
		form.tx_areaVarandas.focus();
		return false;
	}
	if(form.cb_accaoVarandas.value != idVarandasSemIntervencao)
	{
		if(form.tx_areaVarandas.value == "" || form.tx_areaVarandas.value == 0)
		{
			alert("Por favor insira a área das varandas e terraços.");
			form.tx_areaVarandas.focus();
			return false;
		}
	}
	if(isNaN(form.tx_areaTelhados.value))
	{
		alert("O campo área dos telhados simples de 2 águas só pode conter dígitos.");
		form.tx_areaTelhados.focus();
		return false;
	}
	if(form.cb_accaoTelhados.value != idTelhadosSemIntervencao)
	{
		if(form.tx_areaTelhados.value == "" || form.tx_areaTelhados.value == 0)
		{
			alert("Por favor insira a área dos telhados simples de 2 águas.");
			form.tx_areaTelhados.focus();
			return false;
		}
	}
	if(isNaN(form.tx_numPortas.value))
	{
		alert("O campo nº portas só pode conter dígitos.");
		form.tx_numPortas.focus();
		return false;
	}
	if(form.cb_accaoCarpintarias.value != idCarpintariasSemIntervencao)
	{
		if(form.tx_numPortas.value == "" || form.tx_numPortas.value == 0)
		{
			alert("Por favor insira o número de portas.");
			form.tx_numPortas.focus();
			return false;
		}
	}
	if(isNaN(form.tx_areaTectosFalsos.value))
	{
		alert("O campo área dos tectos falsos só pode conter dígitos.");
		form.tx_areaTectosFalsos.focus();
		return false;
	}
	if(form.cb_accaoTectosFalsos.value != idTectosFalsosSemIntervencao)
	{
		if(form.tx_areaTectosFalsos.value == "" || form.tx_areaTectosFalsos.value == 0)
		{
			alert("Por favor insira a área dos tectos falsos.");
			form.tx_areaTectosFalsos.focus();
			return false;
		}
	}
	return true;
}

//Não está a uso. Estou a alterar, colocando a rede gás no step da cozinha (25Ago2009)
function ValidaRedes(form, idAccaoRedeGasSemIntervencao)
{
	if((form.h_cozinhaComp.value == 0 || form.h_cozinhaComp.value == "" || form.h_cozinhaLarg.value == 0 || form.h_cozinhaLarg.value == "") && form.cb_redeGas.value != idAccaoRedeGasSemIntervencao)
	{
		alert("Se pretender intervenção na rede de gás por favor insira o comprimento e a largura da cozinha.");
		return false;
	}	
	return true;
}

function ValidaPedidoVisita(form)
{
	if(form.tx_telefone.value == "" || form.tx_email.value == "")
	{
		alert("Por favor preencha pelo menos um dos seguintes campos:\n- Telefone\n- E-mail");
		return false;
	}	
	return true;
}

//Função que colapsa um elemento presente na página, identificado pelo parâmetro de entrada
function SetCollapsed(elementId)
{
	var element = document.getElementById(elementId);
	element.style.visibility = "collapse";
}
//Função que torna visível um elemento presente na página, identificado pelo parâmetro de entrada.
function SetVisible(elementId)
{
	var element = document.getElementById(elementId);
	element.style.visibility = "visible";
}
//Função que alterna a visibilidade de um elemento na págian, identificado pelo parâmetro de entrada.
function AlternateVisibility(elementId)
{
	var element = document.getElementById(elementId);
	if(element.style.visibility == "visible")
		element.style.visibility = "hidden";
	else
		element.style.visibility = "visible";
}

function SetFocus(elementId)
{
	var element = document.getElementById(elementId);
	element.focus();
}

//FUNÇÃO usada para alterar a imagem de fundo de uma página através da alteração do estilo. Não funciona.
function SetTable_Fundo(className)
{
	var element = document.getElementById("table_fundo");
	//alert("Element: " + 1 + element);
	element.className = className;	
	
}

//FUNÇÃO que define o estilo da tag <body>
function SetBodyClassName(className)
{
	document.body.className = className;	
}

//FUNÇÃO que coloca a página na âncora "tituloSimulador", válido para as páginas que contêm essa âncora.
function GoTo_tituloSimulador(page)
{
	location.href = page+"#tituloSimulador";	
}
//FUNÇÃO popUpWindow
var popUpWin=0;

function popUpWindow(URLStr, left, top, width, height)

{

  if(popUpWin)

  {

    if(!popUpWin.closed) popUpWin.close();

  }

  popUpWin = open(URLStr, 'popUpWin', 'toolbar=no,location=no,directories=no,status=no,menubar=no,scrollbars=no,resizable=no,copyhistory=yes,width='+width+',height='+height+',left='+left+', top='+top+',screenX='+left+',screenY='+top+'');

}
//Fim da função popUpWindow

function popup(url) 
{
 var width  = 900;
 var height = 600;
 var left   = (screen.width  - width)/2;
 var top    = (screen.height - height)/2;
 var params = 'width='+width+', height='+height;
 params += ', top='+top+', left='+left;
 params += ', directories=no';
 params += ', location=no';
 params += ', menubar=yes';
 params += ', resizable=no';
 params += ', scrollbars=yes';
 params += ', status=no';
 params += ', toolbar=no';
 newwin=window.open(url,'windowname5', params);
 //if (window.focus) {newwin.focus()} 	//da função original
 //return false;						//da função original
 if(!newwin)
 	alert("Foi bloqueada a janela de pop-up que contém as informações da sua simulação. Para ver permita temporariamente janelas de pop-up.");
 else
 	newwin.focus();
}

function ImprimePag()
{
	window.print();	
}

function PedidoVisita()
{
	var conf = confirm('Deseja imprimir a simulação?');
	if(conf == true)
	{
		window.print();	
	}
	//window.opener.location='../Crm/pedidoVisita.php';
	//top.parent.opener.focus(); //esta linha não está a funcionar.
	//window.close();
	window.location = '../Crm/pedidoVisita.php';
}

//FUNÇÃO utilizada para fechar a janela de pop-up no final da simulação. Não está a uso.
function ConcluirSimulacao()
{
	var confirma = confirm("Já imprimiu e fez um pedido de visita?\nQuer mesmo voltar à página inicial?");
	if(confirma)
	{
		//opener.location='../index.php';
		//this.window.close();
		window.location = '../index.php';
	}
}


//FUNÇÃO de validação de e-mail (para usar na função ValidaNovoUtilizador)
function checkEmail(field)
{
	if (/^\w+([\.-]?\w+)*@\w+([\.-]?\w+)*(\.\w{2,3})+$/.test(field))
	{
		return (true)
	}
	//alert("Invalid E-mail Address! Please re-enter.")
	return (false)
}
//FUNÇÃO que valida a criação de um novo utilizador. Tem de ser preenchido pelo menos um dos seguintes campos: Username, e-mail.
function ValidaNovoUtilizador(form)
{
	if(form.tx_username.value == "" && form.tx_email.value == "")
	{
		alert("Por favor preencha pelo menos um dos seguintes campos:\n- Username\n- E-mail");
		form.tx_username.focus();
		return false;
	}
	if(form.tx_email.value != "" && !checkEmail(form.tx_email.value))
	{
		alert("E-mail inválido.");
		form.tx_email.focus();
		return false;
	}
	if(form.tx_password1.value == "")
	{
		alert("Por favor insira a palavra-passe.");
		form.tx_password1.focus();
		return false;
	}
	if(form.tx_password2.value == "")
	{
		alert("Por favor confirme a palavra-passe.");
		form.tx_password2.focus();
		return false;
	}
	if(form.tx_password1.value != form.tx_password2.value)
	{
		alert("As palavras-passe não são iguais.");
		form.tx_password1.focus();
		return false;
	}
	if(form.tx_email_contacto.value != "" && !checkEmail(form.tx_email_contacto.value))
	{
		alert("E-mail de contacto inválido.");
		form.tx_email_contacto.focus();
		return false;
	}
	return true;
}
//FUNÇÃO de validação de um utilizador a ser editado.
function ValidaEditUtilizador(form)
{
	if(form.tx_username.value == "" && form.tx_email.value == "")
	{
		alert("Por favor preencha pelo menos um dos seguintes campos:\n- Username\n- E-mail");
		form.tx_username.focus();
		return false;
	}
	if(form.tx_email.value != "" && !checkEmail(form.tx_email.value))
	{
		alert("E-mail inválido.");
		form.tx_email.focus();
		return false;
	}
	if(form.tx_email_contacto.value != "" && !checkEmail(form.tx_email_contacto.value))
	{
		alert("E-mail de contacto inválido.");
		form.tx_email_contacto.focus();
		return false;
	}
	return true;
}

//FUNÇÃO que faz scroll para as posições offset left e top do elemento recebido como parâmetro.
function ScrollToElement(elementId)
{
	var container = document.getElementById(elementId);
	var containerOffsetLeft = container.offsetLeft;
	var containerOffsetTop = container.offsetTop;
	alert("Left: "+containerOffsetLeft+" / Top: "+containerOffsetTop);
	//scroll(containerOffsetLeft, containerOffsetTop);
	var x = container.x;
	var y = container.y;
	var offsetPar = container.offsetParent.id;
	alert(offsetPar);
	alert("Element: "+container.id +" X: "+x+" / Y: "+y);
	scroll(0, 100);
}

//Não está a uso
function ScrollToView(elementId)
{
	var element = document.getElementById(elementId);
	element.scrollIntoView(true);
}

function Teste()
{
	alert("Testing");
}
function Teste1(word)
{
	alert("Teste: "+ word);
}
