


function missatge(pfNom1,pfNom2,pfValor1,pfValor2,idioma,tipus)
{
	var msg;
switch(idioma){
case 1:
	switch(tipus) {
		case 1:
		msg="el campo " + pfNom1 + " no es numérico"; 
	
		break;
		case 2:
		msg="el campo " + pfNom1 + " no tiene contenido";
	
		break;
		case 3:
		msg="el campo " + pfNom1 + " debe ser de longitud " + pfValor1;
	
		break;
		case 4:
		msg="el campo " + pfNom1 + " debe estar comprendido entre " + pfValor1 +  " y " + pfValor2;
	
		break;
		case 5:
		msg="el campo del " + pfNom1 + " no es correcto";
	
		break;
		case 6:
		msg="el campo " + pfNom1 + " debe contener al menos una letra";
	
		break;
		case 7:
		msg="la Longitud del campo " + pfNom1 + " excede en " + pfValor1 + " caracteres";
	
		break;
		case 8:
		msg="el valor " + pfNom1 + " debe ser mayor que " + pfNom2 ;
	
		break;
		case 9:
		msg="el campo " + pfNom1 + " es diferente del campo "+pfNom2 ;
	
		break;
		case 10:
		msg="el campo " + pfNom1 + " no puede estar vacio" ;
	
		break;
		case 11:
		msg="el campo " + pfNom1 + " no puede contener espacios en blanco";
	
		break;
		case 12:
		msg="el valor " + pfNom1 + " debe ser menor o igual que " + pfValor1 ;
	
		break;
		case 13:
		msg="sólo puede rellenar uno de los dos campos ID";
	
		break;
		case 14:
		msg="maximo:5 poblaciones selecionadas";
	
		break;
		case 15:
		msg="introduce un valor diferente de cero";
	
		break;
		case 16:
		msg="seleccione una provincia, por favor";
	
		break;
		case 17:
		msg="el valor introducido en el campo " + pfNom1 + " debe ser numérico";
	
		break;
		case 18:
		msg="el campo " + pfNom1 + " no puede tener contenido si el campo " + pfNom2 + " también está lleno";	
		break;
		
		case 19:
		msg="debe seleccionar al menos algún tipo de inmueble en la promoción";
		break;
		case 20:
		msg="el campo " + pfNom1 +" no puede ser igual al campo " + pfNom2 +"";
		break;
		
		break;
		case 22:
		msg="debe intoducir " + pfValor1 + " o más caracteres";
		
		break;
		case 23:
		msg="solamente se admiten 2 decimales";
		
		break;
		case 24:
		msg="formato erróneo. recuerde que el separador de miles del campo precio es el caracter .";
		}
		
		break;
case 2:

	switch(tipus) {
		case 1:
		msg="el camp " + pfNom1 + " no és numèric";  
		break;
		case 2:
		msg="el camp " + pfNom1 + " no pot estar buit";
		break;
		case 3:
		msg="el camp " + pfNom1 + " ha de tenir una longitud de " + pfValor1;
		break;
		case 4:
		msg="el camp " + pfNom1 + " ha de tenir entre " + pfValor1 +  " i " + pfValor2 +"caràcters";
		break;
		case 5:
		msg="el camp del " + pfNom1 + " no és correcte";
		break;
		case 6:
		msg="el camp " + pfNom1 + " ha de contenir, com a mínim, una lletra";
		break;
		case 7:
		msg="la longitud del camp " + pfNom1 + "excedeix en " + pfValor1 +  " caràcters";
		break;
		case 8:
		msg="el valor " + pfNom1 + " ha de ser més gran que " + pfNom2 ;
		break;
		case 9:
		msg="el camp " + pfNom1 + " és diferent del camp "+pfNom2 ;
		break;
		case 10:
		msg="el camp " + pfNom1 + " no pot estar buit" ;
		break;
		case 11:
		msg="el camp " + pfNom1 + " no pot contenir espais en blanc";
		break;
		case 12:
		msg="el valor " + pfNom1 + " ha de ser menor o igual que " + pfValor1 ;
		break;
		case 13:
		msg="només pot emplenar una de les dues referències"
		return(msg)
		break;
		case 14:
		msg="només pot seleccionar 10 poblacions"
		return(msg)
		break;
		case 15:
		msg="introdueix un valor que no sigui zero"
		return(msg)
		break;
		case 16:
		msg="sisplau, seleccioni una província"
		return(msg)
		break;
		case 17:
		msg="el valor que introdueixi ha de ser numèric"
		return(msg)
		break;
		
		case 19:
		msg="ha de sel.leccionar al menys un tipus d'immoble a la promoció";
		break;

		//case 20:
		//msg="el camp " + pfNom1 +" no pot ser igual que el camp " + pfNom2 +"";
		//break;
		break;
		case 23:
		msg="només s'admeten 2 decimals";
		break;
		
		
		case 22:
		msg="cal que introdueixi " + pfValor1 + " o més caràcters";
		break;
		case 24:
		msg="Format erroni. Recorda que el separador de milers del camp import és el caracter \'.\'";
		break;
                case 26:
                msg="el camp " + pfNom1 + " ha de ser numèric";
                break;
                case 27:
                msg="el camp " + pfNom1 + " ha de tenir un valor";
                break;

		
		}
		break;
		
}
return(msg);
}


function valoresSelect(objselect)
{
var respuesta;
var cuantos;
cuantos=0;
respuesta="";
with (objselect)
{
 for (i=0;i<options.length;i++)
 {

   if (options[i].selected) {
	if (cuantos==0) {respuesta=options[i].value;cuantos=cuantos+1;}
	else
	{
	respuesta=respuesta+","+options[i].value
        }
       }

 }
}
return(respuesta);
}

function cuantosSelect(objselect)
{
var cuantos;
cuantos=0;
with (objselect)
{
 for (i=0;i<options.length;i++)
 {

   if (options[i].selected) {
	cuantos=cuantos+1;
	  }

 }
}
return(cuantos);
}

//Borra los espacios en blanco. camp(document.NOM.NOMCAMP.value)
function trim(camp)
{
	var ls_camp = ""
	ls_camp = camp
	while (ls_camp.length>0 && ls_camp.charAt(0)==" ")
	{	
		ls_camp = ls_camp.substring(1,ls_camp.length)
	}
	while (ls_camp.length>0 && ls_camp.charAt(ls_camp.length - 1)==" ")
	{	
		ls_camp = ls_camp.substring(0,ls_camp.length - 1)
	}
	camp = ls_camp
	return ls_camp
}

function es_numero(ls_numero)
{
	var i = 0
	var j = 0
	var jj = ""
	var es_numero = 1
	 
	var inicio = 0
	if (ls_numero[0]=="-") inicio=1
	else inicio=0

	for (i= inicio; i<ls_numero.length; i++)
	{		
		es_numero = 0
		for (j = 0; j < 10 ; j++)
		{	
			jj = "" + j
			if (ls_numero.charAt(i) == jj)
			{
				es_numero = 1
			}
		} 
		if ( es_numero == 0) //no es un numero
		{
		 
			return 1
		  
		}
	}
return 0
}


//para aceptar la coma decimal

function es_numeroEuro(ls_numero)
{
	var i = 0
	var j = 0
	var jj = ""
	var es_numero = 1
	 
	var inicio = 0
	if (ls_numero[0]=="-") inicio=1
	else inicio=0

	for (i= inicio; i<ls_numero.length; i++)
	{		
		es_numero = 0
		for (j = 0; j < 10 ; j++)
		{	
			jj = "" + j
			if (ls_numero.charAt(i) == jj)
			{
				es_numero = 1
			}
		} 
		if ( es_numero == 0) //no es un numero
		{
		    //alert(ls_numero.charAt(i))
		    if (ls_numero.charAt(i)==".")
		    {
		      es_numero = 1
		     }
		    else return 1
		  
		}
		//alert("caracter" + ls_numero.charAt(i))
		//alert("es_numero" + es_numero)
	}
return 0
}


/*-----------------------------------------------------------------------------------------
 getChecked: 
 Checkea que el campo tenga contenido.
 pfValueChecked: referncia al documento 
 pftipus: Tipo de objeto del formulario
   CHB: CHeckbox
   TXT: Texto
   RB: Radio Button
------------------------------------------------------------------------------------------*/

function getChecked(pfValueChecked, pfTipus)
{


	if (pfTipus == "CHB")
	{
		if (pfValueChecked == true)
			return true
		else
			return false
	}
	if (pfTipus == "TXT")
	{
		
		trim(pfValueChecked)		
		if (pfValueChecked.length != 0){			
			return true}
		else
			return false
	}

	if (pfTipus == "RB")
	{
		if (pfValueChecked == true)
			return true
		else
			return false
	}
        
       
}
/*-----------------------------------------------------------------------------------------
Miramos si los radiobutons estan chequeados
------------------------------------------------------------------------------------------

function radiochecked(pfRadio)
{
var respuesta=false;

for (i=0;i<pfRadio.length;i++)
 {

   if (pfRadio[i].checked==true) {
		respuesta=true
	}
}
if (respuesta=false){
	alert(missatge(0,0,0,0,idioma,11))
	setFLAGError(true)
			}

}*/
/*-----------------------------------------------------------------------------------------
 Control de Error
------------------------------------------------------------------------------------------*/
var FLAGError = false

// Retorna el FGLAG de Error
//---------------------------
function getFLAGError()
{
	tmp = FLAGError
	FLAGError = false
	return tmp
}

// Retorna el FGLAG de Error. Sin actualizar el FLAG
//---------------------------------------------------
function getEstatError()
{
	return FLAGError
}

// Asigna el FLAG de Error
//------------------------
function setFLAGError(pfEstatError)
{
	if (pfEstatError == true){FLAGError = true}
	//if (pfEstatError == false){FLAGError = false}
 
}

/*-----------------------------------------------------------------------------------------
 getObligatorio.
 Comprueba que el texto introducido sea correcto.
 pfValue: referencia al nombre del formulario
 pfNom: Texto que saldrá en caso de error.
 pfTipus: Tipo de Caracer a validar
 pfInmueble: Nombre del Inmueble
 pfFila: Numero de fila
------------------------------------------------------------------------------------------*/
function getObligatorio(pfValue, pfNom, pfTipus, pfInmueble, pfFila,idioma)
{
	setFLAGError(false)
	//Borrar los espacios en blanco
	trim(pfValue)

	//Si el campo es obligatorio
		if ( pfTipus == "NUMERO")
		{

			if ((es_numero(pfValue) == 0) && (pfValue.length != 0) && (pfValue >= 0))
				setFLAGError(false)
			else
			{
				
				//var msg= "El camp " + pfNom + " no es numèric";
				var msg2;
				msg2="";
				if (pfFila != 0)
					msg2 = "[fila: " + pfFila + "] " + msg2;
				//alert(msg);

				alert(msg2 + missatge(pfNom,0,0,0,idioma,1))
				setFLAGError(true)
			}
		}
		else
		{
			if (pfValue.length == 0)
			{
				//var msg= "El camp " + pfNom + " no té contingut";
				var msg2;
				msg2="";
				//alert(msg);
				alert(msg2 + missatge(pfNom,0,0,0,idioma,2))
				setFLAGError(true)
			}
			else
				setFLAGError(false)
		}
		
}

/*-----------------------------------------------------------------------------------------
 getLongIgual.
 Indica si la longitud es igual al valor pfLong
 Control de longitud
 pfLong: Indica el valor de la longitud que ha de tener el campo.
 pfNomValue: Indica el nombre del formulario.
 pfNom: El nombre del Campo
------------------------------------------------------------------------------------------*/
function getLongIgual(pfNomValue, pfNom, pfLong,idioma)
{
	setFLAGError(false)
	trim(pfNomValue)
	if (pfNomValue.length != pfLong)
	{
		//var msg= "El campo " + pfNom + " debe ser de longitud " + pfLong;
		//alert(msg);
		alert(missatge(pfNom,0,pfLong,0,idioma,3))
		setFLAGError(true)
	}	
	else
		setFLAGError(false)
}

/*-----------------------------------------------------------------------------------------
 getLongIntervalo.
 Indica si la longitud esta comprendida entre el intervalo indicado
 pfLongMin: Indica el valor Inicial de la longitud que ha de tener el campo.
 pfLongMax: Indica el valor Final de la longitud que ha de tener el campo.
 pfNomValue: Indica el nombre del formulario.
 pfNom: El nombre del Campo
------------------------------------------------------------------------------------------*/
function getLongIntervalo(pfNomValue, pfLongMin, pfLongMax, pfNom,idioma)
{
	setFLAGError(false)
	trim(pfNomValue)
	if ((pfNomValue.length < pfLongMin) || (pfNomValue.length > pfLongMax))
	{
		//var msg= "El campo " + pfNom + " debe estar comprendido entre " + pfLongMin +  " y " + pfLongMax;
		//alert(msg);
		alert(missatge(pfNom,0,pfLongMin,pfLongMax,idioma,4))
		setFLAGError(true)
	}	
	else
		setFLAGError(false)
}


/*-------------------------------------------------------------------------------------------
 getEmail.
 Comprueba que el email sea correcto.
--------------------------------------------------------------------------------------------*/
function getEmail(pfNomValue, pfNom,idioma)
{

var err = false
//var msg = "El campo [" + pfNom + "] no es correcto"
	
setFLAGError(false)
trim(pfNomValue)
var pos = pfNomValue.indexOf("@"); 
var cont;
	
cont=0
    
for (i = 0; i<pfNomValue.length; i++)
{
  if (pfNomValue.charAt(i)=="@"){
       cont=cont+1 
	}   
    
	if (cont>=2) 
	{
		setFLAGError(true);
		err = true; 
	}
}
	
for (i = 0; i<pfNomValue.length; i++)
{
	if ((pfNomValue.charAt(i) == "@")&&(pfNomValue.charAt(i+1) == "."))
	{
		setFLAGError(true)	
		err = true;
	}	
}

if (pos == -1)
{
	setFLAGError(true);
	err = true;
}

if ((pos == 0) || (pos == pfNomValue.length - 1)) 
{
	setFLAGError(true);
	err = true;
}

var pos2 = pfNomValue.indexOf(".");

if ( pos2 == pfNomValue -1)
{
	setFLAGError(true);	
	err = true;
}

if ((pos2 == 0) || ( pos2 == pfNomValue.length -1))
{
	setFLAGError(true);
	err = true;
}

for (i = 0; i<pfNomValue.length; i++)
{
	if ((pfNomValue.charAt(i) == ".")&&(pfNomValue.charAt(i+1) == "@"))
	{
		setFLAGError(true)	
		err = true;
	}	
}

for (i = 0; i<pfNomValue.length; i++)
{
	if ((pfNomValue.charAt(i) == ".")&&(i == pfNomValue.length-1 ))
	{
	    setFLAGError(true);
    	err = true;
	    
    }
}    

for (i = 0; i<pfNomValue.length; i++)
{
	if ((pfNomValue.charAt(i) == ".")&&(pfNomValue.charAt(i+1) == "."))
	{
		setFLAGError(true)	
		err = true;
	}
}	

if (pos2 == pos -1)
{
	setFLAGError(true);	
	err = true;
}
//----------------------------------------------------------------------

var pos3 = pfNomValue.indexOf("ñ");

if ( pos3 == pfNomValue -1)
{
	setFLAGError(true);	
	err = true;
}

if ((pos3 == 0) || ( pos3 == pfNomValue.length -1))
{
	setFLAGError(true);
	err = true;
}

for (i = 0; i<pfNomValue.length; i++)
{
	if (pfNomValue.charAt(i) == "ñ")
	{
		setFLAGError(true)	
		err = true;
	}	
}

if (pos3 == pos -1)
{
	setFLAGError(true);	
	err = true;
}
//----------------------------------------------------------------------

//----------------------------------------------------------------------

var pos4 = pfNomValue.indexOf("á");

if ( pos4 == pfNomValue -1)
{
	setFLAGError(true);	
	err = true;
}

if ((pos4 == 0) || ( pos4 == pfNomValue.length -1))
{
	setFLAGError(true);
	err = true;
}

for (i = 0; i<pfNomValue.length; i++)
{
	if (pfNomValue.charAt(i) == "á")
	{
		setFLAGError(true)	
		err = true;
	}	
}

if (pos4 == pos -1)
{
	setFLAGError(true);	
	err = true;
}
//----------------------------------------------------------------------
//----------------------------------------------------------------------

var pos5 = pfNomValue.indexOf("à");

if ( pos5 == pfNomValue -1)
{
	setFLAGError(true);	
	err = true;
}

if ((pos5 == 0) || ( pos5 == pfNomValue.length -1))
{
	setFLAGError(true);
	err = true;
}

for (i = 0; i<pfNomValue.length; i++)
{
	if (pfNomValue.charAt(i) == "à")
	{
		setFLAGError(true)	
		err = true;
	}	
}

if (pos5 == pos -1)
{
	setFLAGError(true);	
	err = true;
}
//----------------------------------------------------------------------
//----------------------------------------------------------------------

var pos6 = pfNomValue.indexOf("é");

if ( pos6 == pfNomValue -1)
{
	setFLAGError(true);	
	err = true;
}

if ((pos6 == 0) || ( pos6 == pfNomValue.length -1))
{
	setFLAGError(true);
	err = true;
}

for (i = 0; i<pfNomValue.length; i++)
{
	if (pfNomValue.charAt(i) == "é")
	{
		setFLAGError(true)	
		err = true;
	}	
}

if (pos6 == pos -1)
{
	setFLAGError(true);	
	err = true;
}
//----------------------------------------------------------------------
//----------------------------------------------------------------------

var pos7 = pfNomValue.indexOf("è");

if ( pos7 == pfNomValue -1)
{
	setFLAGError(true);	
	err = true;
}

if ((pos7 == 0) || ( pos7 == pfNomValue.length -1))
{
	setFLAGError(true);
	err = true;
}

for (i = 0; i<pfNomValue.length; i++)
{
	if (pfNomValue.charAt(i) == "è")
	{
		setFLAGError(true)	
		err = true;
	}	
}

if (pos7 == pos -1)
{
	setFLAGError(true);	
	err = true;
}
//----------------------------------------------------------------------
//----------------------------------------------------------------------

var pos8 = pfNomValue.indexOf("í");

if ( pos8 == pfNomValue -1)
{
	setFLAGError(true);	
	err = true;
}

if ((pos8 == 0) || ( pos8 == pfNomValue.length -1))
{
	setFLAGError(true);
	err = true;
}

for (i = 0; i<pfNomValue.length; i++)
{
	if (pfNomValue.charAt(i) == "í")
	{
		setFLAGError(true)	
		err = true;
	}	
}

if (pos8 == pos -1)
{
	setFLAGError(true);	
	err = true;
}
//----------------------------------------------------------------------
//----------------------------------------------------------------------

var pos9 = pfNomValue.indexOf("ì");

if ( pos9 == pfNomValue -1)
{
	setFLAGError(true);	
	err = true;
}

if ((pos9 == 0) || ( pos9 == pfNomValue.length -1))
{
	setFLAGError(true);
	err = true;
}

for (i = 0; i<pfNomValue.length; i++)
{
	if (pfNomValue.charAt(i) == "ì")
	{
		setFLAGError(true)	
		err = true;
	}	
}

if (pos9 == pos -1)
{
	setFLAGError(true);	
	err = true;
}
//----------------------------------------------------------------------
//----------------------------------------------------------------------

var pos10 = pfNomValue.indexOf("ó");

if ( pos10 == pfNomValue -1)
{
	setFLAGError(true);	
	err = true;
}

if ((pos10 == 0) || ( pos10 == pfNomValue.length -1))
{
	setFLAGError(true);
	err = true;
}

for (i = 0; i<pfNomValue.length; i++)
{
	if (pfNomValue.charAt(i) == "ó")
	{
		setFLAGError(true)	
		err = true;
	}	
}

if (pos10 == pos -1)
{
	setFLAGError(true);	
	err = true;
}
//----------------------------------------------------------------------
//----------------------------------------------------------------------

var pos11 = pfNomValue.indexOf("ò");

if ( pos11 == pfNomValue -1)
{
	setFLAGError(true);	
	err = true;
}

if ((pos11 == 0) || ( pos11 == pfNomValue.length -1))
{
	setFLAGError(true);
	err = true;
}

for (i = 0; i<pfNomValue.length; i++)
{
	if (pfNomValue.charAt(i) == "ò")
	{
		setFLAGError(true)	
		err = true;
	}	
}

if (pos11 == pos -1)
{
	setFLAGError(true);	
	err = true;
}
//----------------------------------------------------------------------
//----------------------------------------------------------------------

var pos12 = pfNomValue.indexOf("ú");

if ( pos12 == pfNomValue -1)
{
	setFLAGError(true);	
	err = true;
}

if ((pos12 == 0) || ( pos12 == pfNomValue.length -1))
{
	setFLAGError(true);
	err = true;
}

for (i = 0; i<pfNomValue.length; i++)
{
	if (pfNomValue.charAt(i) == "ú")
	{
		setFLAGError(true)	
		err = true;
	}	
}

if (pos12 == pos -1)
{
	setFLAGError(true);	
	err = true;
}
//----------------------------------------------------------------------
//----------------------------------------------------------------------

var pos13 = pfNomValue.indexOf("ù");

if ( pos13 == pfNomValue -1)
{
	setFLAGError(true);	
	err = true;
}

if ((pos13 == 0) || ( pos13 == pfNomValue.length -1))
{
	setFLAGError(true);
	err = true;
}

for (i = 0; i<pfNomValue.length; i++)
{
	if (pfNomValue.charAt(i) == "ù")
	{
		setFLAGError(true)	
		err = true;
	}	
}

if (pos13 == pos -1)
{
	setFLAGError(true);	
	err = true;
}
//----------------------------------------------------------------------

for (i = 0; i<pfNomValue.length; i++)
{
	if ((pfNomValue.charAt(i) == " ")||(pfNomValue.charAt(i) == ","))
	{
		setFLAGError(true)	
		err = true;
	}
}		
    
if (err == true) 
	//alert(msg);
	alert(missatge(pfNom,0,0,0,idioma,5))	

}


/*-----------------------------------------------------------------------------------------
 getContenido.
 Comprueba que el texto introducido sea correcto.
 pfValue: referencia al nombre del formulario
 pfNom: Texto que saldrá en caso de error.
 pfTipus: Tipo de Caracer a validar
------------------------------------------------------------------------------------------*/
function getContenido(pfValue, pfNom, pfTipus,idioma)
{

	setFLAGError(false)
	//Borrar los espacios en blanco
	trim(pfValue)
	
	//Si el campo es obligatorio

		if (pfTipus == "NUMERO")
		{
			if (pfValue.length == 0)
			{
				//var msg= "El campo " + pfNom + " no tiene contenido";
				//alert(msg);
				
				alert(missatge(pfNom,0,0,0,idioma,2))
				setFLAGError(true)
			    return
			}
			if ((es_numero(pfValue) == 0) && (pfValue.length != 0) && (pfValue >= 0))
				setFLAGError(false)
			else
			{
				//var msg= "El campo " + pfNom + " no es númerico";
				alert(missatge(pfNom,0,0,0,idioma,1))
				setFLAGError(true)
			}
		}
		
		if (pfTipus == "NUMERONEG")
		{
			if (pfValue.length == 0)
			{
				//var msg= "El campo " + pfNom + " no tiene contenido";
				//alert(msg);
				
				alert(missatge(pfNom,0,0,0,idioma,2))
				setFLAGError(true)
			    return
			}
			else 
			{
				if (pfValue.substring(0,1)=="-"){
					temp=pfValue.substring(1,pfValue.length)
					if (es_numero(temp)==0) setFLAGError(false)
					else{
					alert(missatge(pfNom,0,0,0,idioma,1))
					setFLAGError(true)}
				}
				else { //puede que sea positivo
					if (es_numero(pfValue)==0) setFLAGError(false)
					else{
					alert(missatge(pfNom,0,0,0,idioma,1))
					setFLAGError(true)}
				}
			}

		}		

		if ((pfTipus != "NUMERO") && (pfTipus != "NUMERONEG"))
		{
			if (pfValue.length == 0)
			{
				alert(missatge(pfNom,0,0,0,idioma,2))
				setFLAGError(true)
			}
			else setFLAGError(false)
						
		}
		
}




/*-----------------------------------------------------------------------------------------
 getContenidoEuro.
 Comprueba que el texto introducido sea correcto.
 pfValue: referencia al nombre del formulario
 pfNom: Texto que saldrá en caso de error.
 pfTipus: Tipo de Caracer a validar
------------------------------------------------------------------------------------------*/
function getContenidoEuro(pfValue, pfNom, pfTipus,idioma)
{
    var indice,contador;
	setFLAGError(false)
	//Borrar los espacios en blanco
	trim(pfValue)
	pfValue = reemplazar(pfValue,".","")
	pfValue = reemplazar(pfValue,",",".")
	
	indice=0;
	contador=0;
	for (i=0;i<pfValue.length;i++)
	{
	  if (pfValue.charAt(i)==".") 
	   {
	   
	    contador=contador+1 
	  
	    indice=i;
	   }
	}
	
	if (contador>1) 
	{ 
	   alert(missatge(pfNom,0,0,0,idioma,24))
	   setFLAGError(true)
	   return
	}
	
	//en la posición indice tenemos el separador de decimales
	
	if((pfValue.charAt(indice+3)!="") && (indice!=0))
	{
	   alert(missatge(pfNom,0,0,0,idioma,23))
	   setFLAGError(true)
	   return
	}
	
	
	//Si el campo es obligatorio

		if (pfTipus == "NUMERO")
		{
			if (pfValue.length == 0)
			{
				//var msg= "El campo " + pfNom + " no tiene contenido";
				//alert(msg);
				
				alert(missatge(pfNom,0,0,0,idioma,2))
				setFLAGError(true)
			    return
			}
			
			if ((es_numeroEuro(pfValue) == 0) && (pfValue.length != 0) && (pfValue >= 0))
				setFLAGError(false)
			else
			{
				//var msg= "El campo " + pfNom + " no es númerico";
				alert(missatge(pfNom,0,0,0,idioma,1))
				setFLAGError(true)
			}
		}
		
		if (pfTipus == "NUMERONEG")
		{
			if (pfValue.length == 0)
			{
				//var msg= "El campo " + pfNom + " no tiene contenido";
				//alert(msg);
				
				alert(missatge(pfNom,0,0,0,idioma,2))
				setFLAGError(true)
			    return
			}
			else 
			{
				if (pfValue.substring(0,1)=="-"){
					temp=pfValue.substring(1,pfValue.length)
					if (es_numeroEuro(temp)==0) setFLAGError(false)
					else{
					alert(missatge(pfNom,0,0,0,idioma,1))
					setFLAGError(true)}
				}
				else { //puede que sea positivo
					if (es_numeroEuro(pfValue)==0) setFLAGError(false)
					else{
					alert(missatge(pfNom,0,0,0,idioma,1))
					setFLAGError(true)}
				}
			}

		}		

		if ((pfTipus != "NUMERO") && (pfTipus != "NUMERONEG"))
		{
			if (pfValue.length == 0)
			{
				alert(missatge(pfNom,0,0,0,idioma,2))
				setFLAGError(true)
			}
			else setFLAGError(false)
						
		}
		
}


/*-----------------------------------------------------------------
Verificar si la longitud del texto introducido es mayor > 3
-------------------------------------------------------------------*/
function getMinCamp(pfNomValue, pfMaxPermitido, pfNom,idioma)
{
	setFLAGError(false)
		
	trim(pfNomValue)

	if (pfNomValue.length < pfMaxPermitido)
	{
		//var msg = "La Longitud del campo excede de " + difer + " caracteres"
		//alert(msg)
		alert(missatge(pfNom,0,pfMaxPermitido,0,idioma,22))
		setFLAGError(true)
	}
	else
		setFLAGError(false)
	
}

/*-----------------------------------------------------------------------------------------
 getNoContenido.
 Comprueba que el texto introducido no sea correcto.
 pfValue: referencia al nombre del formulario
 pfNom: Texto que saldrá en caso de error.
 pfTipus: Tipo de Caracer a validar
------------------------------------------------------------------------------------------*/
function getNoContenido(pfValue, pfNom1,pfNom2, pfTipus,idioma)
{

	setFLAGError(false)
	//Borrar los espacios en blanco
	trim(pfValue)
	
	//Si el campo es obligatorio
		if ( pfTipus == "NUMERO")
		{
			if ((es_numero(pfValue) == 0) && (pfValue.length != 0) && (pfValue >= 0)){
				alert(missatge(pfNom1,pfNom2,0,0,idioma,18))
				setFLAGError(true)
				}
			else
			{
				setFLAGError(false)
			}
		}
		else
		{
			if (pfValue.length == 0)
			{
				setFLAGError(false)

			}
			else{
				
				alert(missatge(pfNom1,pfNom2,0,0,idioma,18))
				setFLAGError(true)	
			} 						
		}
		
}

/*-----------------------------------------------------------------------------------------
 getAlfanumerico.
 Comprueba que el texto introducido sea alfanumérico.
 pfValue: referencia al nombre del formulario
 pfNom: Texto que saldrá en caso de error.
------------------------------------------------------------------------------------------*/
function getAlfanumerico(pfValue, pfNom,idioma)
{	
 	if (es_numero(pfValue) == 0)
	{	
		//var msg= "El campo " + pfNom + " debe contener al menos una letra";
		//alert(msg);
		alert(missatge(pfNom,0,0,0,idioma,6))
		setFLAGError(true)		
	}
	else setFLAGError(false)
}
/*-----------------------------------------------------------------------------------------
 get Numerico.
 Comprueba que el texto introducido sea numérico.
 pfValue: referencia al nombre del formulario
 pfNom: Texto que saldrá en caso de error.
------------------------------------------------------------------------------------------*/
function getNumerico(pfValue, pfNom,idioma)
{	
 	if (es_numero(pfValue) == 0)
	{	
		setFLAGError(false)
        }
        else
        {

                //var msg= "El campo " + pfNom + " debe ser númerico";
		//alert(msg);
		alert(missatge(pfNom,0,0,0,idioma,26))
		setFLAGError(true)		
	}
}
/*-----------------------------------------------------------------------------------------
 getCombo.
 Comprueba que se ha escogido un opción del combo box
 pfValue: referencia al nombre del formulario
 pfref: Valor referencia que indica el nulo en el combobox. Normalmente será option='0'
------------------------------------------------------------------------------------------*/
function getCombo(pfValue, pfref,pfNom,idioma)
{	
 	if (pfValue == pfref)
	{	
		setFLAGError(true)
                alert(missatge(pfNom,0,0,0,idioma,27))
        }
        else
        {
                setFLAGError(false)		
	}
}
/*--------------------------------------------------------------------------------------
 getMaxCamp.
 REtorna TRUE si el contenido del Cmapo es menor que la longitud permitida por el
 objeto HTML.
---------------------------------------------------------------------------------------*/
function getMaxCamp(pfNomValue, pfMaxPermitido, pfNom,idioma)
{
	setFLAGError(false)
	difer = pfNomValue.length - pfMaxPermitido
	trim(pfNomValue)
     
	if (pfNomValue.length > pfMaxPermitido)
	{
	    
		//var msg = "La Longitud del campo " + pfNom + " excede de " + difer + " caracteres"
		//alert(msg)
		alert(missatge(pfNom,0,difer,0,idioma,7))
		setFLAGError(true)
	}
	
}

/*------------------------------------------------------------------------------------
 getFocus.
 Pasa el foco de error a la casilla de texto.
 Y actualizamos el estado del Error.
--------------------------------------------------------------------------------------*/
function getFocus(pfNomValue)
{
	pfNomValue.focus()
}

/*-------------------------------------------------------------------------------------
 setDefaultaValue.
 Asigna un valor por defecto 
---------------------------------------------------------------------------------------*/
function setDefaultValue(pfNomValue, pfValor)
{
	pfNomValue = pfValor
}

/*-------------------------------------------------------------------------------------
 getMayorQue.
 Comprueba que un valor sea mayor que otro dado.
---------------------------------------------------------------------------------------*/
function getMayorQue(pfValor1, pfValor2, pfNom1, pfNom2, idioma)
{
	if (pfValor1 <= pfValor2)
	{
		//var msg = "el valor " + pfNom + " debe ser mayor que " + pfValor2
		//alert(msg)
		alert(missatge(pfNom1,pfNom2,pfValor1,pfValor2,idioma,8))
		setFLAGError(true)
	}
}

/*-------------------------------------------------------------------------------------
 getMenorQue.
 Comprueba que un valor sea menor que otro dado.
---------------------------------------------------------------------------------------*/
function getMenorIgualQue(pfValor1, pfValor2, pfNom, idioma)
{
	if (pfValor1 > pfValor2)
	{
		//var msg = "el valor " + pfNom + " debe ser menor o igual que " + pfValor2
		//alert(msg)
		alert(missatge(pfNom,0,0,pfValor2,idioma,12))
		setFLAGError(true)
	}
}
/*-----------------------------------------------------------------------------------------
getCompare
Comprueba que las dos variables que recibe sean iguales
----------------------------------------------------------------------------------------*/
function getCompare(pfValor1,pfValor2,pfNom1,pfNom2,idioma)
{

	if (pfValor1 != pfValor2)
	{
	//var msg="el campo "+pfNom1+" es diferente del campo "+pfNom2
	//alert(msg)
	alert(missatge(pfNom1,pfNom2,0,0,idioma,9))
	setFLAGError(true)
	}
} 
/*-----------------------------------------------------------------------------------------
LogyPass
Comprueba que el valor que le pasamos no sea nulo 
----------------------------------------------------------------------------------------*/

function LogyPass(pfValor,pfNom,idioma)
{

		trim(pfValor)		
		if (pfValor.length != 0){			
		return true}
		else{
		//var msg="el campo "+pfNom+" no puede estar vacio"
		//alert(msg)	
		alert(missatge(pfNom,0,0,0,idioma,10))		
		return false}

} 

/*-----------------------------------------------------------------------------------------
Noblanks
Comprueba que el valor que le pasamos no tiene espacios en blanco 
----------------------------------------------------------------------------------------*/

function Noblanks(camp,pfNom,idioma)
{
	
	var ls_camp = ""
	ls_camp = camp
	var i=0
	var blank=false	
	while (i <= ls_camp.length)
	{	
		if (ls_camp.charAt(i)==" ")
		{
		blank=true
		}
	i=i+1	
	}
	
	if (blank==true)
	{
	//var msg="el campo "+pfNom+" no puede contener espacios en blanco"
	//alert(msg)
	alert(missatge(pfNom,0,0,0,idioma,11))
	setFLAGError(true)
	}
	else
	{
	setFLAGError(false)
	}
	
}

/*-------------------------------------------------------------------------------
Compara que els dos valors pfvalue1 i pfvalue2 no estiguin buits ni siguin iguals
---------------------------------------------------------------------------------*/

function Compara(pfvalue1,pfvalue2,pfNom1,pfNom2,idioma)
{
	
	if ((trim(pfvalue1.length)!=0)&&(trim(pfvalue1.length)!=0)) {
	  if (pfvalue1==pfvalue2)
	  {
	  //var msg="el campo "+pfNom1+" no puede ser igual al campo "+pfNom2+"" 
	  //alert(msg)
	  alert(missatge(pfNom1,pfNom2,0,0,idioma,20))
      setFLAGError(true)
      }
      else
      {
      setFLAGError(false) 
      }  
    }
}


/*-------------------------------------------------------------------------------
reemplaza un caracter por otro en un string
---------------------------------------------------------------------------------*/

function reemplazar(pf_string,pf_que,pf_por)
{
 var texto;
 var longitud;
 var bueno;
 bueno=""
 
   texto=pf_string
   longitud=texto.length;
   for(i=0;i<longitud;i++)
   {
     if (texto.substring(i,i+1)!=pf_que)
     {
        bueno = bueno + texto.substring(i,i+1);
     }
     else
     {
        bueno = bueno + pf_por;
     }   
   }
   
   return(bueno);
   
}


function levantarConfirmacion(precio,mon)
{
   var valor;
   valor = reemplazar(precio,".","")
   valor = reemplazar(valor,",",".")
   
   if (mon=="euros")
   {
	texto="el precio introducido es de " + precio + " " + mon + "\n"
	texto=texto + "que corresponde a " + Math.round(valor*166.386) + " " + "ptas" + "\n\n"
	texto=texto + "         ¿deseas continuar?"
   }
   else
   {
    texto="el precio introducido es de " + precio + " " + mon + "\n"
	texto=texto + "que corresponde a " + xround(valor/166.386,2) + " " + "euros" + "\n\n"
	texto=texto + "         ¿deseas continuar?"
	}
   
   if(confirm(texto))
   {
      setFLAGError(false)
      }
   else
     {
      setFLAGError(true) 
    }  
}

function xround(num,ndec)
{ 
  var fact=1;
  for(i=1; i<=ndec;i++)
  {
   fact *= 10;
   }
  return Math.round(num*fact)/fact;
}

 /*--------------------------------------------------------------------------
  getCursAcademic.
  Comproba el format del camp curs acadèmic.
  pfValue: referencia al value del formulari
  pfNom: Nom del camp
 ---------------------------------------------------------------------------*/
  function getCursAcademic(pfValue, pfNom)
  {
    setFLAGError(false);
    trim(pfValue);
    if (pfValue.match(/^\d{4}-\d{4}$/))
    {
      inici = parseInt(pfValue.substring(0,4));
      fi = parseInt(pfValue.substring(5,9));
      if(inici>fi)
      {
        alert(missatge(pfNom,0,0,0,2,5));
        setFLAGError(true);
      }
    }
    else{
      alert(missatge(pfNom,0,0,0,2,5));
      setFLAGError(true);
    }	  
  }

 /*---------------------------------------------------------------------------
  getData.
  Comproba que el text introduit es una data valida.
  pfValue: referencia al value del formulari
  pfNom: Nom del camp
 ---------------------------------------------------------------------------*/
  function getData(pfValue, pfNom)
  {
    setFLAGError(false);
    trim(pfValue);
    if(pfValue.match(/^\d{2}\/\d{2}\/\d{4}$/))
    {
      dia = parseInt(pfValue.substring(0,2));
      mes = parseInt(pfValue.substring(3,5));
      if((dia<=0) || (dia>31) || (mes<=0) || (mes>12))
      {
        alert(missatge(pfNom,0,0,0,2,5));
        setFLAGError(true);
      }
    }
    else
    {
      alert(missatge(pfNom,0,0,0,2,5));
      setFLAGError(true);
    }
  }

/***************** Validacio Codis Conveni *******/


/*---------------------------------------------------------------------------
 getCodiConveni.
 Comproba que el text introduit es un codi de conveni valid.
 pfValue: referencia al value del formulari
 pfNom: Nom del camp
---------------------------------------------------------------------------*/
  function getCodiConveni(pfValue, pfNom)
  {
    setFLAGError(false);
    trim(pfValue);
    if (!pfValue.match(/^C\d{3}-\d{2}-\d{3}-\d{2}$/))
    {
      alert(missatge(pfNom,0,0,0,2,5));
      setFLAGError(true);
    }
  }

/*---------------------------------------------------------------------------
 getCodiAcord.
 Comproba que el text introduit es un codi de conveni valid.
 pfValue: referencia al value del formulari
 pfNom: Nom del camp
---------------------------------------------------------------------------*/
  function getCodiAcord(pfValue, pfNom)
  {
    setFLAGError(false);
    trim(pfValue);
    if (!pfValue.match(/^L\d{3}-\d{2}-\d{3}-\d{2}$/))
    {
      alert(missatge(pfNom,0,0,0,2,5));
      setFLAGError(true);
    }
  }

/*--------------------------------------------------------------------------
 getCodiAnnexConveni.
 Comproba que el text introduit es un codi de annex de conveni valid.
 pfValue: referencia al value del formulari
 pfNom: Nom del camp
---------------------------------------------------------------------------*/
  function getCodiAnnexConveni(pfValue, pfNom)
  {
    setFLAGError(false);
    trim(pfValue);
    if (!pfValue.match(/^A\d{3}-\d{2}-\d{3}-\d{2}$/))
    {
      alert(missatge(pfNom,0,0,0,2,5));
      setFLAGError(true);
    }	  
  }

  function getCodiProrroga(pfValue, pfNom)
  {
    setFLAGError(false);
    trim(pfValue);
    if (!pfValue.match(/^P\d{3}-\d{2}-\d{3}-\d{2}$/))
    {
      alert(missatge(pfNom,0,0,0,2,5));
      setFLAGError(true);
    }	  
  }

/*--------------------------------------------------------------------------
 getPercentatge.
 Comproba que el text introduit es un percentatge(1..100).
 pfValue: referencia al value del formulari
 pfNom: Nom del camp
---------------------------------------------------------------------------*/
  function getPercentatge(pfValue, pfNom)
  {
    setFLAGError(false);
    trim(pfValue);
    if(pfValue.length==0)
    {
      alert(missatge(pfNom,0,0,0,2,2));
      setFLAGError(true);
    }
    else
    { //té contingut
      if(es_numero(pfValue) != 0)
      {
        alert(missatge(pfNom,0,0,0,2,1));
        setFLAGError(true);
      }
      else
      { //és numèric
	    if (parseInt(pfValue)<=0)
        { 
	      alert(missatge(pfNom,0,0,0,2,8));
          setFLAGError(true);
	    }
	    if (parseInt(pfValue)>100)
        { 
	      alert(missatge(pfNom,0,100,0,2,12));
          setFLAGError(true);
	    }
      }
    }
  }

/*********************Validacio NIF*******************/

function comprobarCIFNIF(CIFNIF)
{
var strC = CIFNIF;
var caracterini = (CIFNIF.substr(0,1).toUpperCase());

	if (numerico(caracterini))
	{
		return (validarNIF(CIFNIF));
	}
	else
	{
		return (validarCIF(CIFNIF));
	}
}	

/*Aquí validamos el NIF*/
function validarNIF(Nif)
{
	var resp;
	var strLetras = "TRWAGMYFPDXBNJZSQVHLCKE";
	var resp="";
	var strN=Nif;

	if ((strN.length!=9) || (numerico(strN.substr(strN.length-1,1).toUpperCase()))) return("");

	//return("") retorna un mensaje de error.

	var mstrLetra = Nif.substr( Nif.length-1, 1).toUpperCase();
	var mstrNIF = Nif.substr(0, Nif.length-1);
	var strN = Dejar_Numeros(mstrNIF);
	 
		if (strN=="")
		{
			resp="";
		}
		else
		{
			strN = parseInt(strN, 10)
			mstrLetraBuena = CalcularLetra(strLetras, strN);
	    
			    if(mstrLetra != mstrLetraBuena)
				{
				return("");
				}
	  	}
			
	resp = mstrNIF+mstrLetraBuena;
	return(resp);
}

function validarCIF(CIF)
{
	var letraini = CIF.substr(0,1).toUpperCase();
	var caracterfin = CIF.substr(8,1).toUpperCase();
	var mstrCIF = CIF.substr(1,7);
	
	//Quitamos los dígitos de detrás y de delante y nos quedamos sólo con las 7 cifras
	//numéricas para hacer los cálculos.
	
	var strC = CIF;
	var resp="";
	var pares = 0;
	var impares = 0;
	var numeros = 0;
	
		if (strC.length!= 9) return("");
		
		if (strC=="")
		{
			resp="";
		}
		else
		{
				for (i=0; i<7; i++)
				{
						numeros = mstrCIF.substr(i, 1); 
						
						if ((i==0) || (i==2) || (i==4) || (i==6)) 
						{
							numeros = (numeros * 2);
							
								if (numeros >= 10) 
								{
									impares = ((impares) + (numeros%10) + 1);
								} 
								else 
								{
									impares = (impares) + (numeros);
								}
						} 
						else 
						{
							pares = (pares*1) + (numeros*1);
						} 
				}
	 
			var sumatotal = (pares + impares);
			var unidadesC = 0;
	 
				if (sumatotal >= 10)
				{
					unidadesC = (sumatotal%10);
				}
				else 
				{
					unidadesC = sumatotal;
				}

			var Digito = (10 - unidadesC);
			
				if ((letraini == "X") )
				{
					return (validarCIFXP(CIF));	
				}
				else
				{
					if ((letraini == "Q") || (letraini == "K") || (letraini == "L") || 
					(letraini == "M")||(letraini == "S")|| (letraini == "P"))
					{
						var CaracterDigito = "ABCDEFGHIJ";
						var mstrCaracterBueno;
						var CCaracter;
						
						mstrCIF = parseInt(mstrCIF);
						CCaracter = CaracterDigito.substr(Digito-1, 1);
						mstrCaracterBueno = CCaracter;
						
							if (mstrCaracterBueno != caracterfin)
							{
								return("");
							}
							else
							{
								resp = mstrCIF+mstrCaracterBueno;
								return(resp);
							}
					}
					else
					{
						var CaracterDigito = "1234567890"
						var mstrDigitoBueno;
						var CNumero;
											
						mstrCIF = parseInt(mstrCIF);
						CNumero = CaracterDigito.substr(Digito-1, 1);
						mstrDigitoBueno = CNumero;
						
							if (mstrDigitoBueno != caracterfin)
							{
								return("");
							}
							else
							{
								resp = mstrCIF+mstrDigitoBueno;
								return(resp);
							}
					}
					
				}
		}
}

function validarCIFXP(CIF)
{
	var resp = "";
	var strLetras = "TRWAGMYFPDXBNJZSQVHLCKE";
	var strCIFXP = CIF;
	var letraini = CIF.substr(0,1).toUpperCase();
	var strLetraFin = CIF.substr(8,1).toUpperCase(); 
	var mstrCIF = CIF.substr(1,7);
	var CIFXP = 0+mstrCIF;
	
		if (strCIFXP == "")
		{
		resp = "";
		}
		else
		{
		mstrLetraBuena = CalcularLetra(strLetras, CIFXP);
	
			if (strLetraFin != mstrLetraBuena)
			{
			return("");
			}
		}
	
	resp = (letraini+mstrCIF+mstrLetraBuena);
	return(resp);
}

function numerico(letra)
{
	if ((letra == '0') || (letra == '1') || (letra == '2') || (letra == '3') || 
	(letra == '4') || (letra == '5') ||	(letra == '6') || (letra == '7') || 
	(letra == '8') || (letra == '9'))
	{ 
	return(true);
	}
	else
	{
	return(false);
	}
}

function Dejar_Numeros(strN)
{
	var i;
	var Num;
	Num="";
	for (i=0; i<=strN.length-1; i++)
	{
	    if (numerico(strN.substr(i, 1)))
	    {
		Num = Num + (strN.substr(i, 1));
  	    }
	}
	return(Num);
}

function CalcularLetra(strLetras,strN)
{
	var CLetra;
	CLetra = strLetras.substr((strN%23), 1);
	return (CLetra);
}


function ComparaData(dataIni,dataFi)
{
        //Generem la data forçant-li-la 
        var dataInici=new Date(0);
        var spdataInici = dataIni.split("/");
        dataInici.setDate(spdataInici[0]);
        dataInici.setMonth(spdataInici[1]-1);
        dataInici.setYear(spdataInici[2]);

        var dataFinal=new Date(0);
        var spdataFi = dataFi.split("/");
        dataFinal.setDate(spdataFi[0]);
        dataFinal.setMonth(spdataFi[1]-1);
        dataFinal.setYear(spdataFi[2]);


        var res=dataInici-dataFinal;
        
        if (res>0)
        {
            setFLAGError(true)	
            return;
        }
        else
        {
            setFLAGError(false)	
        }
}


function CalcularData(dataIni,dataFi)
{
        //Generem la data forçant-li-la 
        var dataInici=new Date(0);
        var spdataInici = dataIni.split("/");
        dataInici.setDate(spdataInici[0]);
        dataInici.setMonth(spdataInici[1]-1);
        dataInici.setYear(spdataInici[2]);

        var dataFinal=new Date(0);
        var spdataFi = dataFi.split("/");
        dataFinal.setDate(spdataFi[0]);
        dataFinal.setMonth(spdataFi[1]-1);
        dataFinal.setYear(spdataFi[2]);


        var res=dataInici-dataFinal;
        
        if (res>0)
        {
            alert('La data Inici no pot ser superior a la data Fi');
            setFLAGError(true)	
            return;
        }
        else
        {
            setFLAGError(false)	
        }
}

function treureZeros(numDia){
  if(numDia.length==2 && numDia.charAt(0)=='0')
    return numDia.substr(1);
  else return numDia;
}

function CalcularDataIntermitja(dataIni,dataMig,dataFi, nomIni, nomMig, nomFi)
{
        //Generem la data forçant-li-la 
        var dataInici=new Date(0);
        var spdataInici = dataIni.split("/");
        dataInici.setDate(spdataInici[0]);
        dataInici.setMonth(parseInt(treureZeros(spdataInici[1]))-1);
        dataInici.setYear(spdataInici[2]);

        var dataInter=new Date(0);
        var spdataInter = dataMig.split("/");
        dataInter.setDate(spdataInter[0]);
        dataInter.setMonth(parseInt(treureZeros(spdataInter[1]))-1);
        dataInter.setYear(spdataInter[2]);
        
        var dataFinal=new Date(0);
        var spdataFi = dataFi.split("/");
        dataFinal.setDate(spdataFi[0]);
        dataFinal.setMonth(parseInt(treureZeros(spdataFi[1]))-1);
        dataFinal.setYear(spdataFi[2]);

        //alert("Data1: "+dataInici+" ---> "+dataIni);
        //alert("Data2: "+dataInter+" ---> "+dataMig);
        //alert("Data3: "+dataFinal+" ---> "+dataFi);

       if (dataInter>dataFinal){
         alert('La data '+nomMig+' no pot ser posterior a la data '+nomFi);
         setFLAGError(true)	
         return;
       }
       else setFLAGError(false);	
        
       if (dataInter<dataInici){
         alert('La data '+nomMig+' no pot ser anterior a la data '+nomIni);
         setFLAGError(true)	
         return;
       }
       else setFLAGError(false);	
}


function validarData(pfFecha)
{
var patron = '/';
var cursor = '';
var dia;
var mes;
var ano;
if(pfFecha.length!=10)
{
        setFLAGError(true);
		alert("tamany de data incorrecte [dd/mm/aaaa]");
		return;     
}
for (i=0;i<pfFecha.length-1;i++) { 
    cursor = pfFecha.charAt(i);
	if (i==2 || i==5 )
	{
		if(cursor!='/')
		{
		setFLAGError(true);
		alert("format de data incorrecte [dd/mm/aaaa]");
		return;
	     }
	}
	else
	{
	  if(i==0 || i==1) dia = dia + cursor;
	  if(i==3 || i==4) mes = mes + cursor;
	  if(i==6 || i==7 || i==8 || i==9) ano = ano + cursor;
	  if(isNaN(cursor))
	  {
	    setFLAGError(true);
		alert("format de data incorrecte [dd/mm/aaaa]");
		return;
	  }
	 
	}
   } 

}//fin funció

//Retorna una String sense els punts de miler i canviant la coma pel punt decimal
  function getValorEuro(strValor){
    var decimals = strValor.split(',');
    var entera = decimals[0].split('.');
	
    decimals[0] = '';
    for (index=0; index<entera.length; index++){
      decimals[0] += entera[index]; 
    }
    if(decimals.length>1)
      decimals[0]= decimals[0]+'.'+decimals[1];
    return decimals[0];
  }

//Arrodoneix el valor donat al format XXXX,YY euros
function arrodonirValorEuro(valor){
  var cadena = ''+valor;
  
  if(cadena.lastIndexOf(',')==-1)
    cadena = cadena+',00';
  else if(cadena.indexOf(',')==cadena.length-2)
    cadena = cadena+'0';
    
  return cadena;
}
/////////////////////////VALIDACIONS CCC //////////////////////////////////

//valida un numero de compte
//Els 4 parametres apunten als inputs del formulari de les parts del CCC
function validarCCC(pEntitat, pOficina, pDC, pNumero){
  
  validarValorNumericCCC(pEntitat, 'Entitat', 4);
  if (!getFLAGError()){
    validarValorNumericCCC(pOficina, 'Oficina', 4);
    if (!getFLAGError()){
      validarValorNumericCCC(pDC, 'DC', 2);
      if (!getFLAGError()){
        validarValorNumericCCC(pNumero, 'Número', 10);
        if (!getFLAGError()){
          if (!(obtenerDigito("00" + pEntitat.value + pOficina.value) == parseInt(pDC.value.charAt(0)))
          || !(obtenerDigito(pNumero.value) == parseInt(pDC.value.charAt(1)))){
            alert("EL Número de compte no és correcte");
            getFocus(pEntitat);
            setFLAGError(true);
          }
          else{
            setFLAGError(false);
          }
        }
        else{
          getFocus(pNumero);
          setFLAGError(true);
        }
      }
      else{
        getFocus(pDC);
        setFLAGError(true);
      }
    }
    else{
      getFocus(pOficina);
      setFLAGError(true);
    }
  }
  else{
    getFocus(pEntitat);
    setFLAGError(true);
  }
}

function validarValorNumericCCC(punter, nom, pfLongitud){
  getContenido(punter.value,nom,"NUMERO",2);
  if (!getFLAGError()){
    getLongIgual(punter.value,nom,pfLongitud,2);
    if (!getFLAGError()){
      getNumerico(punter.value,nom,2);
    }
    else setFLAGError(true);
  }
  else setFLAGError(true);
}

function obtenerDigito(valor){
  valores = new Array(1, 2, 4, 8, 5, 10, 9, 7, 3, 6);
  control = 0;
  for (i=0; i<=9; i++)
    control += parseInt(valor.charAt(i)) * valores[i];
  control = 11 - (control % 11);
  if (control == 11) control = 0;
  else if (control == 10) control = 1;
  return control;
}

function pfPasswd(contrasenya){
 var res=0;
 var longitud=contrasenya.length;
 for(i=0;i<longitud;i++){
    if((contrasenya.charAt(i)>="0")&&(contrasenya.charAt(i)>="9")){
    res=res+1;
    }
 }
 if(res==longitud){
   res=0;
 }
 return res;  
}

function pfEspaiEnBlanc(contrasenya){
 var res=0;
 var longitud=contrasenya.length;
 for(i=0;i<longitud;i++){
    if(contrasenya.charAt(i)==" "){
    res=res+1;
    }
 }
 return res;  
}

function treure_blancs(valor){
 var longitud=valor.length;
 for(i=0;i<longitud;i++){
  valor=valor.replace(" ","");
 }

return valor;
}





