﻿/***************************************  G E N E R I C A S    *********************************** */

function getHTTPObject() {
	var req;

	try {
		if (window.XMLHttpRequest) {
			req = new XMLHttpRequest();

			if (req.readyState == null) {
				req.readyState = 1;
				req.addEventListener("load", function () {
					req.readyState = 4;

					if (typeof req.onReadyStateChange == "function")
						req.onReadyStateChange();
				}, false);
			}

			return req;
		}

		if (window.ActiveXObject) {
			var prefixes = ["MSXML2", "Microsoft", "MSXML", "MSXML3"];

			for (var i = 0; i < prefixes.length; i++) {
				try {
					req = new ActiveXObject(prefixes[i] + ".XmlHttp");
					return req;
				} catch (ex) {};
			}
		}
	} catch (ex) {}

	alert("XmlHttp Objects not supported by client browser");
}

var http = getHTTPObject();	

/* funcao que serve para esconder uma div
@param: id: Nome da div a esconder  */
function hidediv(id) {
	//safe function to hide an element with a specified id
	if (document.getElementById) { // DOM3 = IE5, NS6
		document.getElementById(id).style.display = 'none';
	}
	else {
		if (document.layers) { // Netscape 4
			document.id.display = 'none';
		}
		else { // IE 4
			document.all.id.style.display = 'none';
		}
	}
}

/* funcao que serve para mostrar a div 
 @param: id: Nome da div a mostrar */
function showdiv(id) {
	//safe function to show an element with a specified id
		  
	if (document.getElementById) { // DOM3 = IE5, NS6
		document.getElementById(id).style.display = 'block';
	}
	else {
		if (document.layers) { // Netscape 4
			document.id.display = 'block';
		}
		else { // IE 4
			document.all.id.style.display = 'block';
		}
	}
}


/**************************************  F U N Ç Õ E S   D E   V E R I F I C A Ç Ã O     *********************************** */

/* funcao para validar um email 
 @return: true, se for valido, false otherwise*/
function isEmail(email, required) {
    if (required==undefined) {   // if not specified, assume it's required
        required=true;
    }
    if (email==null) {
        if (required) {
            return false;
        }
        return true;
    }
    if (email.length==0) {  
        if (required) {
            return false;
        }
        return true;
    }
    if (!allValidChars(email)) {  // check to make sure all characters are valid
        return false;
    }
    if (email.indexOf("@") < 1) { //  must contain @, and it must not be the first character
        return false;
    } else if (email.lastIndexOf(".") <= email.indexOf("@")) {  // last dot must be after the @
        return false;
    } else if (email.indexOf("@") == email.length) {  // @ must not be the last character
        return false;
    } else if (email.indexOf("..") >=0) { // two periods in a row is not valid
		return false;
    } else if (email.indexOf(".") == email.length) {  // . must not be the last character
		return false;
    }
	return true;
}

/* funcao necessaria para determinar os chars do email*/
function allValidChars(email) {
	var atNum=0;
	var parsed = true;
	var validchars = "abcdefghijklmnopqrstuvwxyz0123456789@.-_";
	for (var i=0; i < email.length; i++) {
		var letter = email.charAt(i).toLowerCase();
		if (letter== "@")
			atNum= atNum+1;
		if (atNum >1){
			parsed= false;
			break;
		}

		if (validchars.indexOf(letter) != -1)
		  continue; 
		parsed = false;
		break;
	}
	return parsed;
}

/* Testa se a string so contem valores numericos 
     @return: 1 se forem so numeros; 0 otherwise; 
*/
function isDigit (InString)  {
    if(InString.length==0) return (false);
    var RefString="1234567890";
    for (Count=0; Count < InString.length; Count++)  {
        TempChar= InString.substring (Count, Count+1);
        if (RefString.indexOf (TempChar, 0)==-1)  
            return (false);
    }
    return (true);
}











/**************************************         A D M I N S  *********************************** */
function validateAddAdmin(form){
	var error=0;

	if (form.username.value.length == 0){
		alert("É necessário o preenchimento do nome de utilizador.");
		form.username.focus();
		error=1;
	}else if (form.password.value.length == 0){
		alert("É necessário o preenchimento da password.");
		form.password.focus();
		error=1;
	} else if (form.passwordCnf.value.length == 0){
		alert("É necessário confirmar a password escolhida.");
		form.passwordCnf.focus();
		error=1;
	} else if (form.password.value != form.passwordCnf.value){
		form.password.value="";
		form.passwordCnf.value="";
		alert("As passwords têm de ser iguais. Por favor, introduza novamente as passwords.");
		form.password.focus();
		error=1;
	}
	
	if (error== 1)
		return false;	
}

function validateRemAdmin(form){
	var error=0;

	if (form.username.options.value == -1){
		alert("É necessário seleccionar o administrador a remover.");
		form.username.focus();
		return false;
	}
	
	if (confirm("Tem a certeza que quer remover o administrador?")) {
	    return true;
	} else {
		return false;
	}
}

function validateAlterPassword(form){
	var error=0; 
	
	if (form.pwdAct.value.length==0){
		alert("Password actual inválida.");
		form.pwdAct.focus();
		error=1;
	}else if (form.newPwd.value.length == 0){
		alert("É necessário o preenchimento da nova password.");
		form.newPwd.focus();
		error=1;
	} else if (form.newPwdCnf.value.length == 0){
		alert("É necessário confirmar a nova password escolhida.");
		form.newPwdCnf.focus();
		error=1;
	} else if (form.newPwd.value != form.newPwdCnf.value){
		form.newPwd.value="";
		form.newPwdCnf.value="";
		alert("As passwords têm de ser iguais. Por favor, introduza novamente as passwords.");
		form.newPwd.focus();
		error=1;
	}
	
	if (error==1)
		return false;
}

function focusUsernameLogin(form){
	form.username.focus();
}

/**************************************         M A R C A S *********************************** */
function validateAddMarca(form){
	if (form.nomeMarca.value == ""){
		alert("É obrigatório escrever um nome para a marca.");
		form.nomeMarca.focus();
		return false;
	} else if (form.imagem.value.length == 0){
		alert("É obrigatório atribuir um logotipo à marca. O logotipo deve ser apróximadamente de : 100*25 px");
		form.imagem.focus();
		return false;
	}
}

function validateAlterChooseMarca(form){
	if (form.idMarca.options.value == -1){
		alert("É necessário seleccionar uma marca para alterar.");
		form.idMarca.focus();
		return false;
	}
}

function validateAlterMarca(form){
	if (form.nomeMarca.value.length == 0){
		alert("É obrigatório escrever um nome para a marca.");
		form.nomeMarca.focus();
		return false;
	}
}

function validateRemMarca(form){
	if (form.idMarca.options.value == -1){
		alert("É necessário seleccionar uma marca para alterar o nome.");
		form.idMarca.focus();
		return false;
	}
	
	if (confirm("Tem a certeza que quer remover a marca?")) {
	    return true;
	} else {
		return false;
	}
}



/**************************************   C A T E G O R I A S   *********************************** */

function validateAddCategoria(form){	
	error=0; 
	if (form.nomeCategoria.value.length == 0){
		alert("É obrigatório dar um nome à categoria.");
		form.nomeCategoria.focus();
		error=1;
	} else if (form.imagemCategoria.value.length == 0){
		alert("É obrigatório atribuir uma imagem de topo a esta categoria. A imagem deve ser das seguintes dimensões: 950*100 px");
		form.imagemCategoria.focus();
		error=1;
	}
	
	if (error==1)
		return false;
}

function validateRemCategoria(form){
	if (form.idCategoria.options.value == -1){
		alert("É necessário seleccionar uma categoria para remover.");
		form.idCategoria.focus();
		return false;
	}
	
	if (confirm("Tem a certeza que quer remover a categoria?")) {
	    return true;
	} else {
		return false;
	}
}
/* funcao usada para o form de escolha da categoria */
function validateAlterCategoriaChoose(){
	if (form.idCategoria.options.value == -1){
		alert("É necessário seleccionar uma categoria para alterar.");
		form.idCategoria.focus();
		return false;
	}
}

/* funcao usada qdo ja escolheu qual a categoria a alterar e carregou no botao */
function validateAlterCategoria(){
	if (form.nomeCategoria.value.length == 0){
		alert("É obrigatório atribuir um nome à categoria.");
		form.nomeCategoria.focus();
		return false;
	}		
}



/**************************************  S U B   C A T E G O R I A S   *********************************** */
function remSubCatsMarca( valor ){
	http.open("GET", "marcas.php?idCategoria=" + valor, true);
	http.onreadystatechange = handleHttpResponseRemSubCatsMarca;
	http.send(null);
}

function handleHttpResponseRemSubCatsMarca(){
	campo_select = document.remSubCategoria.idMarca;
	if (http.readyState == 4) {
		campo_select.options.length = 1;
		campo_select.options[0] = new Option("", -1);
		results = http.responseText.split(",");
		for( i = 0; i < results.length-1; i++ ){
			string = results[i].split( "|" );
			campo_select.options[i+1] = new Option( string[0], string[1] );
		}
	}
}

function remSubCats( valor ){
	http.open("GET", "subCats.php?idCatMarca=" + valor, true);
	http.onreadystatechange = handleHttpResponseRemSubCats;
	http.send(null);
}

function handleHttpResponseRemSubCats(){
	campo_select = document.remSubCategoria.idSubCategoria;
	if (http.readyState == 4) {
		campo_select.options.length = 1;
		campo_select.options[0] = new Option("", -1);
		results = http.responseText.split(",");
		for( i = 0; i < results.length-1; i++ ){
			string = results[i].split( "|" );
			campo_select.options[i+1] = new Option( string[0], string[1] );
		}
	}
}

function validateAddSCat(form){
	var error=0;
	
	if (form.idCategoria.options.value == -1){
		alert("É necessário seleccionar uma categoria para associar à nova subcategoria.");
		form.idCategoria.focus();
		error=1;
	} else if (form.idMarca.options.value == -1){
		alert("É necessário seleccionar uma marca para associar à nova subcategoria.");
		form.idMarca.focus();
		error=1;
	} else if (form.nomeSCat.value.length == 0){
		alert("É obrigatório atribuir um nome à nova subcategoria.");
		form.nomeSCat.focus();
		return false;
	}	
	
	if (error==1)
		return false;
}

function validateRemSCat(form){
	/* caso nao esteja seleccionada nenhuma subcategoria ou entao nao houve preenchimento das subcategorias */
	if (form.idSubCategoria.options.value == -1 || form.idSubCategoria.options.value ==""){
		alert("É necessário seleccionar uma subcategoria para remover.");
		form.idSubCategoria.focus();
		return false;
	}
	
	if (confirm("Tem a certeza que quer remover a subcategoria?")) {
	    return true;
	} else {
		return false;
	}
}

function alterSubCatsMarca( valor ){
	http.open("GET", "marcas.php?idCategoria=" + valor, true);
	http.onreadystatechange = handleHttpResponseAlterSubCatsMarca;
	http.send(null);
}

function handleHttpResponseAlterSubCatsMarca(){
	campo_select = document.alterSubCategoriaChoose.idMarca;
	if (http.readyState == 4) {
		campo_select.options.length = 1;
		campo_select.options[0] = new Option("", -1);
		results = http.responseText.split(",");
		for( i = 0; i < results.length-1; i++ ){
			string = results[i].split( "|" );
			campo_select.options[i+1] = new Option( string[0], string[1] );
		}
	}
}

function alterSubCats( valor ){
	http.open("GET", "subCats.php?idCatMarca=" + valor, true);
	http.onreadystatechange = handleHttpResponseAlterSubCats;
	http.send(null);
}

function handleHttpResponseAlterSubCats(){
	campo_select = document.alterSubCategoriaChoose.idSubCategoria;
	if (http.readyState == 4) {
		campo_select.options.length = 1;
		campo_select.options[0] = new Option("", -1);
		results = http.responseText.split(",");
		for( i = 0; i < results.length-1; i++ ){
			string = results[i].split( "|" );
			campo_select.options[i+1] = new Option( string[0], string[1] );
		}
	}
}

function validateAlterSubCategoriaChoose(form){
	if (form.idSubCategoria.options.value == -1 || form.idSubCategoria.options.value ==""){
		alert("É necessário seleccionar uma subcategoria para alterar.");
		form.idSubCategoria.focus();
		return false;
	}
}

function validateAlterSubCategoria(form){
	var error=0;
	
	if (form.idCategoria.options.value == -1){
		alert("É necessário associar a subcategoria a uma categoria.");
		form.idCategoria.focus();
		error=1;
	} else if (form.nomeSubCategoria.value.length == 0){
		alert("É obrigatório atribuir um nome à subcategoria.");
		form.nomeSubCategoria.focus();
		return false;
	}	
	
	if (error==1)
		return false;
}

function alterSubCatsMarca2( valor ){
	http.open("GET", "marcas.php?idCategoria=" + valor, true);
	http.onreadystatechange = handleHttpResponseAlterSubCatsMarca2;
	http.send(null);
}

function handleHttpResponseAlterSubCatsMarca2(){
	campo_select = document.alterSubCategoria.idMarca;
	if (http.readyState == 4) {
		campo_select.options.length = 1;
		campo_select.options[0] = new Option("", -1);
		results = http.responseText.split(",");
		for( i = 0; i < results.length-1; i++ ){
			string = results[i].split( "|" );
			campo_select.options[i+1] = new Option( string[0], string[1] );
		}
	}
}

function alterPrioridadeSubCat(idSubCategoria, prioridade){
	//alert(idSubCategoria+ "  " +prioridade );
	http.open("GET", "gerirSubCatSetPrioridade.php?idSubCategoria=" + idSubCategoria+"&prioridade="+ prioridade, true);
	http.send(null);
}





/***************************************  P R O D U T O S    *********************************** */

function assProdSubCat( valor ){
	http.open("GET", "marcasSubCats.php?idCategoria=" + valor, true);
	http.onreadystatechange = handleHttpResponseAssProdSubCat;
	http.send(null);
}

function handleHttpResponseAssProdSubCat(){
	campo_select = document.addProduto.idSubCategoria;
	if (http.readyState == 4) {
		campo_select.options.length = 1;
		campo_select.options[0] = new Option("", -1);
		results = http.responseText.split(",");
		for( i = 0; i < results.length-1; i++ ){
			string = results[i].split( "|" );
			campo_select.options[i+1] = new Option( string[0], string[1] );
		}
	}
}

function validateAddProduto(form){
	var error=0;
	
	if (form.idCategoria.options.value == -1){
		alert("É necessário associar o novo produto a uma categoria.");
		form.idCategoria.focus();
		error=1;
	} else if (form.idSubCategoria.options.value == -1){
		alert("É necessário associar o novo produto a uma subcategoria.");
		form.idSubCategoria.focus();
		error=1;
	} else if (form.modelo.value.length == 0){
		alert("É obrigatório associar um nome ao novo produto.");
		form.modelo.focus();
		error=1;
	}
	if (error==1)
		return false;
		
	/* avisos e nao erros */
	if (form.miniDesc.value.length==0){
		alert("Não introduziu nenhuma breve descrição.");
	}
	
	if (form.descricao.value.length==0){
		alert("Não introduziu nenhuma descrição para o produto.");
	}
	
	if (form.imagem.value.length==0){
		alert("Não associou nenhuma imagem ao novo produto.");
	}
	
	if (form.imagem.pdfFile.length==0){
		alert("Não associou nenhum ficheiro PDF ao novo produto.");
	}
}


function validateRemProduto(form){
	var error=0;
	
	if (form.idCategoria.options.value == -1){
		alert("É necessário escolher um produto de uma categoria.");
		form.idCategoria.focus();
		error=1;
	} else if (form.idSubCategoria.options.value == -1){
		alert("É necessário escolher um produto de uma subcategoria.");
		form.idSubCategoria.focus();
		error=1;
	} else if (form.idProduto.options.value == -1){
		alert("É necessário escolher o produto a remover.");
		form.idProduto.focus();
		error=1;
	}
	
	if (error==1)
		return false;
		
	if (confirm("Tem a certeza que quer remover o produto?")) {
	    return true;
	} else {
		return false;
	}
}

function assProdSubCatRem( valor ){
	http.open("GET", "marcasSubCats.php?idCategoria=" + valor, true);
	http.onreadystatechange = handleHttpResponseAssProdSubCatRem;
	http.send(null);
}

function handleHttpResponseAssProdSubCatRem(){
	campo_select = document.remProduto.idSubCategoria;
	if (http.readyState == 4) {
		campo_select.options.length = 1;
		campo_select.options[0] = new Option("", -1);
		results = http.responseText.split(",");
		for( i = 0; i < results.length-1; i++ ){
			string = results[i].split( "|" );
			campo_select.options[i+1] = new Option( string[0], string[1] );
		}
	}
}

function assProdSCatRem02( valor ){
	http.open("GET", "prods.php?idSubCategoria=" + valor, true);
	http.onreadystatechange = handleHttpResponseAssProdSCatRem02;
	http.send(null);
}

function handleHttpResponseAssProdSCatRem02(){
	campo_select = document.remProduto.idProduto;
	if (http.readyState == 4) {
		campo_select.options.length = 1;
		campo_select.options[0] = new Option("", -1);
		results = http.responseText.split(",");
		for( i = 0; i < results.length-1; i++ ){
			string = results[i].split( "|" );
			campo_select.options[i+1] = new Option( string[0], string[1] );
		}
	}
}

/* funcao usada do lado do php para confirmar a adicao de um produto com o mesmo nome*/
function confirmAddModelo(nome) {
	var answer = confirm("Já existe um modelo com esse nome na base de dados.\r\nTem a certeza que quer adicionar outro produto com o mesmo nome ("+nome+")?")
	/* se a resposta nao for positiva reenvia o cliente para a mesma pagina*/
	if (!answer){
		window.location = "produtosAddRem.php";
	}
}



function assProdSubCatAlter( valor ){
	http.open("GET", "marcasSubCats.php?idCategoria=" + valor, true);
	http.onreadystatechange = handleHttpResponseAssProdSubCatAlter;
	http.send(null);
}

function handleHttpResponseAssProdSubCatAlter(){
	campo_select = document.alterProdutoChoose.idSubCategoria;
	if (http.readyState == 4) {
		campo_select.options.length = 1;
		campo_select.options[0] = new Option("", -1);
		results = http.responseText.split(",");
		for( i = 0; i < results.length-1; i++ ){
			string = results[i].split( "|" );
			campo_select.options[i+1] = new Option( string[0], string[1] );
		}
	}
}

function assProdSCatAlter02( valor ){
	http.open("GET", "prods.php?idSubCategoria=" + valor, true);
	http.onreadystatechange = handleHttpResponseAssProdSCatAlter02;
	http.send(null);
}

function handleHttpResponseAssProdSCatAlter02(){
	campo_select = document.alterProdutoChoose.idProduto;
	if (http.readyState == 4) {
		campo_select.options.length = 1;
		campo_select.options[0] = new Option("", -1);
		results = http.responseText.split(",");
		for( i = 0; i < results.length-1; i++ ){
			string = results[i].split( "|" );
			campo_select.options[i+1] = new Option( string[0], string[1] );
		}
	}
}

function validateAlterProdutoChoose(form){
	var error=0;
	if (form.idCategoria.options.value == -1){
		alert("É necessário escolher um produto de uma categoria.");
		form.idCategoria.focus();
		error=1;
	} else if (form.idSubCategoria.options.value == -1){
		alert("É necessário escolher um produto de uma subcategoria.");
		form.idSubCategoria.focus();
		error=1;
	} else if (form.idProduto.options.value == -1){
		alert("É necessário escolher o produto a alterar.");
		form.idProduto.focus();
		error=1;
	}
	
	if (error==1)
		return false;
}

function validateAlterProduto(form){
	var error=0;
	
	if (form.idCategoria.options.value == -1){
		alert("É necessário escolher uma categoria.");
		form.idCategoria.focus();
		error=1;
	} else if (form.idSubCategoria.options.value == -1){
		alert("É necessário escolher uma subcategoria.");
		form.idSubCategoria.focus();
		error=1;
	} else if (form.idMarca.options.value == -1){
		alert("É necessário escolher uma marca.");
		form.idMarca.focus();
		error=1;
	} else if (form.modelo.value.length == 0){
		alert("É necessário atribuir um nome ao produto.");
		form.modelo.focus();
		error=1;
	}
	
	if (error==1)
		return false;
}


function alterProdSubCats( valor ){
	http.open("GET", "marcasSubCats.php?idCategoria=" + valor, true);
	http.onreadystatechange = handleHttpResponsealterProdSubCats;
	http.send(null);
}

function handleHttpResponsealterProdSubCats(){
	campo_select = document.alterProduto.idSubCategoria;
	if (http.readyState == 4) {
		campo_select.options.length = 1;
		campo_select.options[0] = new Option("", -1);
		results = http.responseText.split(",");
		for( i = 0; i < results.length-1; i++ ){
			string = results[i].split( "|" );
			campo_select.options[i+1] = new Option( string[0], string[1] );
		}
	}
}

function validateImagemProdutoChoose(form){
	var error=0;
	if (form.idCategoria.options.value == -1){
		alert("É necessário escolher um produto de uma categoria.");
		form.idCategoria.focus();
		error=1;
	} else if (form.idSubCategoria.options.value == -1){
		alert("É necessário escolher um produto de uma subcategoria.");
		form.idSubCategoria.focus();
		error=1;
	} else if (form.idProduto.options.value == -1){
		alert("É necessário escolher o produto para gerir as imagens.");
		form.idProduto.focus();
		error=1;
	}
	
	if (error==1)
		return false;
}

function alterPrioridadeProd(idProduto, prioridade){
	//alert(idProduto+ "  " +prioridade );
	http.open("GET", "prodPrioridade.php?idProduto=" + idProduto+"&prioridade="+ prioridade, true);
	http.send(null);
}

/*********************************************************** HTML ADICIONAL ************************************************/
function htmlAddSubCatM( valor ){
	http.open("GET", "marcas.php?idCategoria=" + valor, true);
	http.onreadystatechange = handleHttpResponsehtmlAddSubCatM;
	http.send(null);
	document.addHTML.idMarca.options.length = 1;
	document.addHTML.idSubCategoria.options.length = 1;
	document.addHTML.idProduto.options.length = 1;
}

function handleHttpResponsehtmlAddSubCatM(){
	campo_select = document.addHTML.idMarca;
	if (http.readyState == 4) {
		campo_select.options.length = 1;
		campo_select.options[0] = new Option("", -1);
		results = http.responseText.split(",");
		for( i = 0; i < results.length-1; i++ ){
			string = results[i].split( "|" );
			campo_select.options[i+1] = new Option( string[0], string[1] );
		}
	}
}

function addHtmlSubCats( valor ){
	http.open("GET", "subCats.php?idCatMarca=" + valor, true);
	http.onreadystatechange = handleHttpResponseaddHtmlSubCats;
	http.send(null);
	document.addHTML.idSubCategoria.options.length = 1;
	document.addHTML.idProduto.options.length = 1;
}

function handleHttpResponseaddHtmlSubCats(){
	campo_select = document.addHTML.idSubCategoria;
	if (http.readyState == 4) {
		campo_select.options.length = 1;
		campo_select.options[0] = new Option("", -1);
		results = http.responseText.split(",");
		for( i = 0; i < results.length-1; i++ ){
			string = results[i].split( "|" );
			campo_select.options[i+1] = new Option( string[0], string[1] );
		}
	}
}

function addHtmlProduto( valor ){
	http.open("GET", "prods.php?idSubCategoria=" + valor, true);
	http.onreadystatechange = handleHttpResponseaddHtmlProduto;
	http.send(null);
	document.addHTML.idProduto.options.length = 1;
}

function handleHttpResponseaddHtmlProduto(){
	campo_select = document.addHTML.idProduto;
	if (http.readyState == 4) {
		campo_select.options.length = 1;
		campo_select.options[0] = new Option("", -1);
		results = http.responseText.split(",");
		for( i = 0; i < results.length-1; i++ ){
			string = results[i].split( "|" );
			campo_select.options[i+1] = new Option( string[0], string[1] );
		}
	}
}


/**************************************  P O R T F O L I O    *********************************** */

function validateAddPortfolio(form){
	if (form.nome.value.length == 0){
		alert("É necessário atribuir um nome à obra.");
		form.nome.focus();
		return false;
	}
	
	if (form.descricao.value.length==0){
		alert("Não introduziu nenhuma descrição para a obra.");
	}
	
	if (form.imagem.value.length==0){
		alert("Não associou nenhuma imagem à obra.");
	}
	
	return true;
}

function validateRemPortfolio(form){
	if (form.idPortfolio.options.value == -1){
		alert("É necessário escolher a obra a remover.");
		form.idPortfolio.focus();
		return false;
	}

	if (confirm("Tem a certeza que quer remover a obra do portfólio?")) {
	    return true;
	} else {
		return false;
	}
}

function validateAlterPorfolioChoose(form){
	if (form.idPortfolio.options.value == -1){
		alert("É necessário escolher a obra a alterar.");
		form.idPortfolio.focus();
		return false;
	}
}

function validateAlterPortfolio(form){
	if (form.nome.value.length == 0){
		alert("É necessário atribuir um nome à obra.");
		form.nome.focus();
		return false;
	}
	
	if (form.descricao.value.length==0){
		alert("Não introduziu nenhuma descrição para a obra.");
	}
	
	return true;
}


/**************************************  C O N T A C T O S    *********************************** */

function validateSendMail(form){
	var error=0;
	
	hidediv('requiredFields');
	hidediv('nomeF');
	hidediv('tlfF');
	hidediv('emailF');
	hidediv('mensagemF');
	hidediv('spaces');
	
	if (form.nome.value.length==0){
		showdiv('nomeF');
		error=1;		
	}
	
	if (form.telefone.value.length!=0 && ((form.telefone.value.length != 9) || (isDigit(form.telefone.value)==false))){
		showdiv('tlfF');
		error=1;	
	}	
	
	if ((form.email.value.length == 0) || (isEmail(form.email.value)==false)){
		showdiv('emailF');
		error=1;	
	}
	
	if (form.mensagem.value.length == 0){
		showdiv('mensagemF');
		error=1;
	}
	
	if (error== 1){
		showdiv('requiredFields');
		showdiv('spaces');
		return false;
	}
}

/**************************************  C O N T A C T O S    *********************************** */

function validateAddNoticia(form){
	if (form.titulo.value.length == 0){
		alert("É necessário atribuir um titulo à notícia.");
		form.titulo.focus();
		return false;
	}
	
	if (form.corpo.value.length==0){
		alert("Não introduziu o corpo da notícia.");
		form.corpo.focus();
		return false;
	}
}

function validateRemNoticia(form){
	if (form.idNoticia.options.value == -1){
		alert("É necessário escolher a notícia a remover.");
		form.idNoticia.focus();
		return false;
	}

	if (confirm("Tem a certeza que quer remover a notícia?")) {
	    return true;
	} else {
		return false;
	}
}

function validateAlterNoticiaChoose(form){
	if (form.idNoticia.options.value == -1){
		alert("É necessário escolher a notícia a alterar.");
		form.idNoticia.focus();
		return false;
	}
}

function validateAlterNoticias(form){
	if (form.titulo.value.length == 0){
		alert("É necessário atribuir um titulo à notícia.");
		form.titulo.focus();
		return false;
	}
	
	if (form.corpo.value.length==0){
		alert("Não introduziu o corpo da notícia.");
		form.corpo.focus();
		return false;
	}
}


