// JavaScript Document
var myWin

function getObject(objectId) { 
		// cross-browser function to get an object's style object given its id
		 if(document.getElementById && document.getElementById(objectId)) return document.getElementById(objectId); 
		 // W3C DOM
		 else if (document.all && document.all(objectId)) return document.all(objectId); 
		 // MSIE 4 DOM
		 else if (document.layers && document.layers[objectId]) return document.layers[objectId];
		 // NN 4 DOM.. note: this won't find nested layers
		 else return false; 
 }

function openWin(pag,nomVentana,ancho,alto) {

    if (myWin) { myWin.close() }

	posx = (window.screen.width/2) - (ancho/2 + 10);
	posy = (window.screen.height/2) - (alto/2 + 30);

	propiedades = "toolbar=yes,location=no,directories=no,status=no,menubar=yes,scrollbars=yes,resizable=yes,titlebar=yes"

	stringCaracteristicas=""
	stringCaracteristicas += "width=" + ancho
	stringCaracteristicas += " ,height=" + alto
	stringCaracteristicas += propiedades
	stringCaracteristicas += " ,left=" + posx
	stringCaracteristicas += " ,top=" + posy
	stringCaracteristicas += " ,screenX=" + posx
	stringCaracteristicas += " ,screenY=" + posy

	myWin=open(pag,nomVentana,stringCaracteristicas);
}

function cambiarEstilo(id,estilo) {
	document.getElementById(id).className=estilo;
}

function calcularPorcentaje(mod) {
	if (mod=='h') {
		document.formEntrada.mujeres.value=100-document.formEntrada.hombres.value;
	}
	if (mod=='m') {
		document.formEntrada.hombres.value=100-document.formEntrada.mujeres.value;
	}
}

function validar(f,msg,msg1,msg2,msg3) {	
	if (f.empresa.value == ""){
		alert(msg);
		f.empresa.focus();
		return false;
	}
	if (f.persona.value == ""){
		alert(msg);
		f.persona.focus();
		return false;
	}
/*	if (f.email.value == ""){
		alert(msg);
		f.email.focus();
		return false;		
	}*/
	if (f.telefono.value == ""){
		alert(msg);
		f.telefono.focus();
		return false;		
	} 
	else {
			if (!validarTelefon(f.telefono, msg3)) {
					f.telefono.focus();
					return false;
			}
	}
	 
	
	if (f.comarca.value == "") {
		alert(msg);
		f.comarca.focus();
		return false;
	}
	if (f.municipi.value == "") {
		if (f.municipi.options) {
			if (f.municipi.options.length > 1) {
				alert(msg);
				f.municipi.focus();
				return false;
			}
		}
	}
	if (!f.LordOK.checked){
		alert(msg1);
		return false;		
	}
	if (f.sector.value == ""){
		alert(msg2);
		f.sector.focus();
		return false;		
	}
	if (f.tamanyo.value == ""){
		alert(msg2);
		f.tamanyo.focus();
		return false;		
	}
	if (f.facturacion.value == ""){
		alert(msg2);
		f.facturacion.focus();
		return false;		
	}
	if ((f.hombres.value == "0") && (f.mujeres.value == "0")){
		alert(msg2);
		f.hombres.focus();
		return false;		
	}
	return true;
}

function validarTelefon(obj, msg) {
	 var strTel = obj.value;
	 var re = /\s/g; //substituim els espais en blanc
	 strTel = strTel.replace(re, "");
	 if (isNaN(strTel))
	 {
		alert(msg);
		return false;	
	 }
	 else if (strTel.length != 9 )
	 {
		alert(msg);
		return false;	
	 }
	 return true;
}

function validarForm(modul,numberpreguntes,msg, msgAutor) {
	for (var i=1; i <= numberpreguntes; i++){
 	       pregunta_ok = false;
		   sNumber = i.toString();
		   if (sNumber.length == 1)  sNumber = "0" + sNumber;
		   cont = 1;
		   nameObject = "option_" + modul.toString() + sNumber + cont.toString();		   
		   myOption = getObject(nameObject);
		   while ((myOption) && !(pregunta_ok)){
				   if (myOption.checked) {
					  pregunta_ok = true;
				   } else {
					   cont = cont + 1;
					   nameObject = "option_" + modul.toString() + sNumber + cont.toString();		   
					   myOption = getObject(nameObject);
				  }
		   }
		   if (!(pregunta_ok)) {
		      alert(msg);
			  nameObject = "option_" + modul.toString() + sNumber + 1;		
			  myObject = getObject(nameObject);
			  if (myObject) {
				  	myObject.focus();
			  }
			  return false;
		   }
	}//fi for
	myAutor = getObject("nom");
	if (myAutor.value == ""){
		alert(msgAutor);
		myAutor.focus();
		return false;		
	}
	return true;
	/*totalContestadas = 0;
	for(p=(1+(10*numForm));p<=(10+(10*numForm));p++){
		preguntaAux = false;
		for(r=1;r<6;r++){
			if(eval("f.R_"+p+"_"+r+".checked")) preguntaAux = true;
		}
		if (preguntaAux) totalContestadas++;
	}	
	if (totalContestadas<8){
		alert(msg);
		return false;
	}
	else return true;
	*/
}

function validarFormEines(sName, msg) {
    myObject = getObject(sName);
	if (myObject) {
		Avalues = myObject.value.split(",");
		isChecked = false;
		cont = 0;
		if (Avalues.length>0) {
			myOption = getObject(Avalues[cont]);
			while ((myOption) && (!isChecked)) {
				if (myOption.checked) {
					isChecked = true;
				} else  {
					cont = cont + 1 ;
					if (cont <= Avalues.length) {
						myOption = getObject(Avalues[cont]);
					} else {
						break;
					}
				}
			}//fi while ((myOption) && (!isChecked)) {
				
			if (isChecked) {
				return true;
			} else {
				if (confirm(msg)) {	return true; } 
				else { return false; }
			}
		}//fi if (Avalues.length>0)
	}//fi if (myObject) 
}

function validarFormAccesDades(f, msgObligatoris, msg1MailInvalid, msgMailError, msgTelefonInvalid) {
	
	if (f.nom.value == "") {
		alert(msgObligatoris);
		f.nom.focus();
		return false;
	}
		
	if (f.cognoms.value == "") {
		alert(msgObligatoris);
		f.cognoms.focus();
		return false;		
	}
	
	if (f.empresa.value == "") {
		alert(msgObligatoris);
		f.empresa.focus();
		return false;		
	}	
	
	if (f.telefono.value == "") {
		alert(msgObligatoris);
		f.telefono.focus();
		return false;		
	}	
	else {
			if (!validarTelefon(f.telefono, msgTelefonInvalid)) {
					f.telefono.focus();
					return false;
			}
	}
	
	if (f.email.value == "") {
		alert(msgObligatoris);
		f.email.focus();
		return false;		
	}	
	
	if (!validEmail(f.email.value)){
		alert(msg1MailInvalid);
		f.email.focus();
		return false;
	}	
	
	if (f.confirmarEmail.value == "") {
		alert(msgObligatoris);
		f.confirmarEmail.focus();
		return false;		
	}	
	
	if (f.email.value != f.confirmarEmail.value ) {
		alert(msgMailError);
		f.confirmarEmail.focus();
		return false;	
	}

	return true;
}

function validarFormAccesDadesMail(f, msgObligatoris, msg1MailInvalid) {
	if (f.email.value == "") {
		alert(msgObligatoris);
		f.email.focus();
		return false;	
	}
	
	if (!validEmail(f.email.value)){
		alert(msg1MailInvalid);
		f.email.focus();
		return false;
	}	
	return true;

}


function validarFichaEntidad(f, msgObligatoris, msg1MailInvalid) {
	if (f.nom.value == "") {
		alert(msgObligatoris);
		f.nom.focus();
		return false;
	}
		
	if (f.email.value == "") {
		alert(msgObligatoris);
		f.email.focus();
		return false;		
	}
	
	if (!validEmail(f.email.value)){
		alert(msg1MailInvalid);
		f.email.focus();
		return false;
	}	
	
	if (f.persona.value == "") {
		alert(msgObligatoris);
		f.persona.focus();
		return false;
	}
	
	if (f.mailContacte.value == "") {
		alert(msgObligatoris);
		f.mailContacte.focus();
		return false;
	}
	
	if (!validEmail(f.mailContacte.value)){
		alert(msg1MailInvalid);
		f.mailContacte.focus();
		return false;
	}	

	return true;
}

function validarComparativa(f, msg) {
	if ((!f.activitat.checked) && (!f.dimensio.checked) && (!f.facturacio.checked)) {
		alert(msg);
		f.activitat.focus();
		return false;
	} 
    return true;
}

function validarFormCanviContrassenya(f, msgObligatoris, msgContrassenyaDiferent) {
	if (f.login.value == "") {
		alert(msgObligatoris);
		f.login.focus();
		return false;
	}

	if (f.password.value == "") {
		alert(msgObligatoris);
		f.password.focus();
		return false;
	}
		
	if (f.passwordNova.value == "") {
		alert(msgObligatoris);
		f.passwordNova.focus();
		return false;		
	}
	
	if (f.rePasswordNova.value == "") {
		alert(msgObligatoris);
		f.rePasswordNova.focus();
		return false;
	}
	
	if (f.passwordNova.value != f.rePasswordNova.value) {
		alert(msgContrassenyaDiferent);
		f.rePasswordNova.focus();
		return false;
	}
	
	return true;
}

function validarFormRecordarCanviContrassenya(f, msgObligatoris) {
	if (f.login.value == "") {
		alert(msgObligatoris);
		f.login.focus();
		return false;
	}

	if (f.email.value == "") {
		alert(msgObligatoris);
		f.email.focus();
		return false;
	}
	s
	return true;
}


function incSeleccionados(seleccionado) {	
	if (seleccionado){
		document.getElementById('totalEines').value = eval(document.getElementById('totalEines').value) + 1;
	}
	else{
		document.getElementById('totalEines').value = eval(document.getElementById('totalEines').value) - 1;
	}	
}


function validEmail(EmailAddr) {
	var reg1 = /(@.*@)|(\.\.)|(@\.)|(\.@)|(^\.)/;
	var reg2 = /^.+\@(\[?)[a-zA-Z0-9\-\.]+\.([a-zA-Z]{2,3}|[0-9]{1,3})(\]?)$/;
	
	var SpecChar="!#$%^&*()'+{}[]\|:;?/><,~`" + "\"";
	var frmValue = new String(EmailAddr);
	var len = frmValue.length;
	try
	{
			if( len < 1 ) { return false; }
			for (var i=0;i<len;i++)
			{
						temp=frmValue.substring(i,i+1)
						if (SpecChar.indexOf(temp)!=-1)
						{
							return false;
						}
			}	
			
			if(!reg1.test(frmValue) && reg2.test(frmValue)) 
			{ 
				return true;
			}
			
			return false;
	}
	catch(errorObject){return false}
}

function unchangeSelect(objSelect, sValue) {
	for (var i=0; i <= objSelect.length; i++){
			if (objSelect.options[i].value == sValue) {
				objSelect.options[i].selected = true;
				break
			}
	}//fi for
	alert('No es pot cambiar l\'activitat de l\'empresa. Ja hi han dades');
}

function multiresposta(optionFocus, sModul, sPregunta , sCompatible) {
	//Cas seleccionem option
	if (optionFocus.checked) {
		var pos = 1;
		myOption = getObject("option_" + sModul + sPregunta + pos);
		while (myOption) {
			if (!isCompatibleMultiResposta(pos ,sCompatible)) {
				if (optionFocus.id != myOption.id) {
					myOption.disabled = true;
				}
			}
			pos = pos + 1;
			myOption = getObject("option_" + sModul + sPregunta + pos);
		} //fi while
	} else { //Cas deseleccionem option
			if (!existeixCompatibleChecked(optionFocus, sModul, sPregunta, sCompatible)) {
				optionEnabled(sModul, sPregunta);				
			}
	}
}


//Funció per comprovar si existeix la posició del option en la llista de compatibles.
function isCompatibleMultiResposta(sPos, sCompatible) {
	if (sCompatible.indexOf(sPos) < 0) {
		return false; //No s'ha trobar la posició dintre de la llista
	} else {
		return true;
	}
}

function existeixCompatibleChecked(optionFocus, sModul, sPregunta, sCompatible) {
	
	var bExisteix = false;
	aCompatible = sCompatible.split(",");
	for (var i=0; i<aCompatible.length; i++) {
			id = sModul + sPregunta + aCompatible[i];
			if (optionFocus.id != id) {
					myOption = getObject("option_" + id);
					if ((myOption) && (myOption.checked)) {
						bExisteix = true;
						break;
					}
			}
	}
	return bExisteix;
}

function optionEnabled(sModul, sPregunta) {
	var pos = 1;
	myOption = getObject("option_" + sModul + sPregunta + pos);
	while (myOption) {
		myOption.disabled = false;
		pos = pos + 1; 
		myOption = getObject("option_" + sModul + sPregunta + pos);
	}
}

function removeOption(oSelect)
{
	  for (var cOption=oSelect.options.length-1; cOption>=0; cOption--) 
	  {
		   oSelect.remove(cOption);
	  }
}

