// fogeca_1.0.js

//=================================================================
	var sPrefix = 'O campo ';
	var sSuffix = ' é de preenchimento obrigatório!';
	var sSuffix_num = 'tem que ser um valor numérico';
	var isIE = document.all?true:false;
	var isNS = document.layers?true:false;	

//=================================================================
//=================================================================

//=================================================================
// Verifica o form de preenchimento de uma instalação de determinada empresa
//=================================================================
function ValidateInstalation() {
	var oForm = GetForm(0);
	var firstElementError = "";
	var isError = "";

	if (!validateElement(oForm.elements['name'], 1, 'text')) {
		isError += "-" + " 'Nome' " + sSuffix + "\n";
		firstElementError = "name";
	}
	if (!validateElement(oForm.elements['cpext'], 1, 'text')) {
		isError += "-" + " 'Localidade' " + sSuffix + "\n";
		if (firstElementError=="")
			firstElementError = "cpext";
	}
	if (!validateElement(oForm.elements['municipality'], 1, 'text')) {
		isError += "-" + " 'Concelho' " + sSuffix + "\n";
		if (firstElementError=="")
			firstElementError = "municipality";
	}
	if (oForm.region.selectedIndex==0) {
		isError += "-" + " 'Região/Distrito' é de preenchimento obrigatório." + "\n";
		if (firstElementError=="")
			firstElementError = "region";
	}
	if (!validateElement(oForm.elements['contactemail'], 0, 'email')) {
		isError += "-" + " 'Email geral' não apresenta um formato válido." + "\n";
		if (firstElementError=="")
			firstElementError = "contactemail";
	}
	if (!validateSize(oForm.elements['schedules'], 1800, 1,0)) {
		isError += "-" + " 'Horários' está limitado a 1800 caracteres." + "\n";
		if (firstElementError=="")
			firstElementError = "schedules";
	}
	if (isError.length>0) {
		alert("Foram detectadas as seguintes incorrecções no preenchimento do formulário: \n" + isError);
		SelectElement(oForm.elements[firstElementError]);
		return false;
	}
	return true;
}
function ValidateUpdateGPScoordinates() {
	var oForm = GetForm(0);
	var firstElementError = "";
	var isError = "";

	if (!validateElement(oForm.elements['gpsX'], 1, 'text')) {
		isError += "-" + " 'Coordenada X' " + sSuffix + "\n";
		firstElementError = "gpsX";
	} else {
		if (isNaN(oForm.gpsX.value) || parseFloat(oForm.gpsX.value) < -180 || parseFloat(oForm.gpsX.value) > 180) {
				isError += "-" + " 'A coordenada X tem que ter valores entre -180 e 180' \n";
				firstElementError = "gpsX";
		}
	}
	if (!validateElement(oForm.elements['gpsY'], 1, 'text')) {
		isError += "-" + " 'Coordenada Y' " + sSuffix + "\n";
		firstElementError = "gpsY";
	} else {
		if (isNaN(oForm.gpsY.value) || parseFloat(oForm.gpsY.value) < -90 || parseFloat(oForm.gpsY.value) > 90) {
				isError += "-" + " 'A coordenada Y tem que ter valores entre -90 e 90' \n";
				firstElementError = "gpsY";
		}
	}
	if (isError.length>0) {
		alert("Foram detectadas as seguintes incorrecções no preenchimento do formulário: \n" + isError);
		SelectElement(oForm.elements[firstElementError]);
		return false;
	}
	return true;
}
function ValidateassociationBABS(id_babsi) {
	var oForm = GetForm(0);
	if (!validateElement(oForm.elements['contactemail__'+id_babsi], 0, 'email')) {
		alert (" 'E-Mail' não apresenta um formato válido.");
		return false;
	}

	if (id_babsi==0) {
		if ($F('new_idBusArea')=="" || $F('new_idBrand')=="" || $F('new_idService')=="") {
			alert('Deve seleccionar Area Negócio / Marca / Serviço');
			return false;
		}
	
		//Se área de negócio for Centros de Colisao, A marca tem de ser Multimarca e o serviço tem de ser colisao
		if ($F('new_idBusArea')=="30" && ($F('new_idBrand')!="50" || $F('new_idService')!="5")) {
			alert("Se área de negócio for 'Centros de Colisão', a marca tem de ser 'Automóveis Multimarca' e o serviço tem de ser 'Colisao'");
			return false;
		}
	
		//Se área de negócio for Usados, A marca tem de ser Multimarca e o serviço tem de ser Usados
		if ($F('new_idBusArea')=="29" && ($F('new_idBrand')!="50" || $F('new_idService')!="4")) {
			alert("Se área de negócio for 'Usados', a marca tem de ser 'Automóveis Multimarca' e o serviço tem de ser 'Usados'");
			return false;
		}
	}
	return true;
}
function ValidateassociationIDVM(id_brand) {
	var oForm = GetForm(0); 
	if (!validateElement(oForm.elements['idvm__'+id_brand], 1, 'number')) {
		alert (" O campo 'ID ViaMichelin' não apresenta um formato válido.");
		return false;
	}
	return true;
}
function ValidatenewassociationIDVM() {
	var oForm = GetForm(0); 
	if (!validateElement(oForm.elements['new_idViaMichelin'], 1, 'number')) {
		alert (" O campo 'ID ViaMichelin' não apresenta um formato válido.");
		return false;
	}
	return true;
}
//=================================================================
// Verifica o form de preenchimento de uma empresa
//=================================================================
function ValidateCompany() {
	var oForm = GetForm(0);
	var firstElementError = "";
	var isError = "";
	if (!validateElement(oForm.elements['name'], 1, 'text')) {
		isError += "-" + " 'Nome' " + sSuffix + "\n";
		firstElementError = "name";
	}
	if (isError.length>0) {
		alert("Foram detectadas as seguintes incorrecções no preenchimento do formulário: \n" + isError);
		SelectElement(oForm.elements[firstElementError]);
		return false;
	}
	return true;
}
//=================================================================
// Verifica o form de preenchimento de um grupo
//=================================================================
function ValidateGroup() {
	var oForm = GetForm(0);
	var firstElementError = "";
	var isError = "";
	if (!validateElement(oForm.elements['name'], 1, 'text')) {
		isError += "-" + " 'Nome' " + sSuffix + "\n";
		firstElementError = "name";
	}
	if (isError.length>0) {
		alert("Foram detectadas as seguintes incorrecções no preenchimento do formulário: \n" + isError);
		SelectElement(oForm.elements[firstElementError]);
		return false;
	}
	return true;
}
// ----------------------------------------------------------------------
function centerPopup(popup_name,popup_url,popup_with,popup_height,myWidth,myHeight,myScrollbar) {
	if(!myWidth) {myWidth = 10;}
	if(!myHeight){myHeight = 50;}
	if(!myScrollbar){myScrollbar = 0;}
	var popup_left = (window.screen.width/2)  - (popup_with/2 + myWidth);
	var popup_top  = (window.screen.height/2) - (popup_height/2 + myHeight);
	window.open(popup_url ,popup_name,"toolbar=no,location=no,status=no,menubar=no,scrollbars=" + myScrollbar + ",resizable=no,width=" + popup_with + ",height=" + popup_height + ",left=" + popup_left + ",top=" + popup_top + ",screenX=" + popup_left + ",screenY=" + popup_top);
}
function loadCountry(idcountry, countryselected) {
	var f = document.forms[0];
	var countrys = window.document.getElementById(idcountry);

	var pos=0;
	countrys[pos] = new Option("-- Seleccione País --","");
	pos ++;
	for(var tipo in countrysareas) {
		countrys[pos] = new Option(tipo,tipo);
		if(tipo==countryselected)
			countrys[pos].selected=true

		pos++;
	}
}
function loadRegion(idcountry, countryselected, idregion, regselected) {
	var f = document.forms[0];
	var count = window.document.getElementById(idcountry);
	var regs = window.document.getElementById(idregion);

	if (countryselected=="")
		countryselected = count[count.selectedIndex].value;

	document.getElementById("tdnewregion").style.display = 'none';
	if (countryselected.toUpperCase() !="PORTUGAL" && countryselected!="") {
		document.getElementById("tdnewregion").style.display = '';
	}

	//remover opções existentes na caixa regiões
	regs.length=0;

	var pos=0;
	regs[pos]=new Option("-- Seleccione Região --","");
	pos ++;
	for(var reg in countrysareas[countryselected]){
		regs.options[regs.length] = new Option(countrysareas[countryselected][reg],countrysareas[countryselected][reg]);
		if(countrysareas[countryselected][reg]==regselected)
			regs[pos].selected=true

		pos ++;
	}
}
function addoption(selectname, opt) {
	var sltname = window.document.getElementById(selectname);
	var value = window.document.getElementById(opt).value;

	if (value=="") {
		alert('Deve de introduzir um valor na caixa de texto.')
		return false;
	}

	if (opt=="newcountry")
		loadRegion('country', window.document.getElementById(opt).value, 'region', '');

	sltname[sltname.length] = new Option(value,value);
	sltname.selectedIndex = sltname.length-1;

	window.document.getElementById(opt).value='';

	//Indica a necessidade de gerar novo ficheiro countrysareas.js
	window.document.getElementById("generatejscountryarea").value="1";
	return true;
}
