//Carlos Ortiz 11-3-04
//Funci�n que llama a todas las funciones necesarias para validar el formulario de alta-usuario.
//Pasamos el formulario como referencia. es mucho m�s c�modo de manejar
//Tenemos que conservar el nombre de los elementos del formulario
//Si estas formulas se reutilizan en otros formularios recordar colocar los
//mismos nombres en los elementos.

function Validar_formulario(form1)	
{										
		//CasillaCompletada	
		if (CasillaCompletada(form1.first_name.value) && CasillaCompletada(form1.last_name.value) && CasillaCompletada(form1.username.value))
		{
				
		}
		if (calcularNIF(form1) && validarPasswd (form1) && validarEmail(form1) && ControlarNivelUsuario(form1))
		{			
			form1.submit();
		}
}

function ValidarEmail (emailStr)
{
	/* Verificar si el email tiene el formato user@dominio. */
	var emailPat=/^(.+)@(.+)$/ 

	/* Verificar la existencia de caracteres. ( ) < > @ , ; : \ " . [ ] */
	var specialChars="\\(\\)<>@,;:\\\\\\\"\\.\\[\\]" 

	/* Verifica los caracteres que son v�lidos en una direcci�n de email */
	var validChars="\[^\\s" + specialChars + "\]" 
	var quotedUser="(\"[^\"]*\")" 

	/* Verifica si la direcci�n de email est� representada con una direcci�n IP V�lida */ 
	var ipDomainPat=/^\[(\d{1,3})\.(\d{1,3})\.(\d{1,3})\.(\d{1,3})\]$/

	/* Verificar caracteres inv�lidos */ 
	var atom=validChars + '+'
	var word="(" + atom + "|" + quotedUser + ")"
	var userPat=new RegExp("^" + word + "(\\." + word + ")*$")
	/*domain, as opposed to ipDomainPat, shown above. */
	var domainPat=new RegExp("^" + atom + "(\\." + atom +")*$")

	var matchArray=emailStr.match(emailPat)
	if (matchArray==null)
	{
		alert("Email parece incorrecto (comprueba @ y .'s)")
		return false
	}
	
	var user=matchArray[1]
	var domain=matchArray[2]

	// Si el user "user" es valido 
	if (user.match(userPat)==null)
	{
		// Si no
		alert("El nombre de usuario no es v�lido.")
		return false
	}
	/* Si la direcci�n IP es v�lida */
	var IPArray=domain.match(ipDomainPat)
	if (IPArray!=null)
	{
		for (var i=1;i<=4;i++)
		{
			if (IPArray[i]>255)
			{
				alert("IP de destino inv�lida")
				return false
			}
		}
		return true
	}

	var domainArray=domain.match(domainPat)
	if (domainArray==null)
	{
		alert("El dominio parece no ser v�lido.")
		return false
	}
	var atomPat=new RegExp(atom,"g")
	var domArr=domain.match(atomPat)
	var len=domArr.length
	if (domArr[domArr.length-1].length<2 || domArr[domArr.length-1].length>3)
	{ 
		alert("La dicrecci�n debe tener 3 letras si es .com o 2 si en de alg�n pais.")
		return false
	}
	if (len<2)
	{
		var errStr="La direcci�n es erronea"
		alert(errStr)
		return false
	}
	// La direcci�n de email ingresada es V�lida
	return true;
}//function ValidarEmail (emailStr)


//Carlos Ortiz 11-3-04
//Funci�n para validar la contrase�a del usuario
function validarPasswd (form1) 
{
	var p1 = form1.password.value;
 	var p2 = form1.password2.value;

 	var espacios = true;
 	var cont = 0;

 	// Este bucle recorre la cadena para comprobar que no todo son espacios
 	while (espacios && (cont < p1.length)) 
	{
    	if (p1.charAt(cont) != " ") 
		{
      		espacios = false;
    	}
    	cont++;
  }

  if (espacios)
  {
  	alert ("La contrase�a no puede ser todo espacios en blanco");
    return false;
  }

  if (p1.length == 0 || p2.length == 0) 
  {
    alert("Los campos de la password no pueden quedar vacios");
    return false;
  }

  if (p1 != p2) 
  {
    alert("Las passwords deben coincidir");
    return false;
  } 
  else
  {
  	return true; 
  }
}

//Carlos Ortiz 11-3-04
//Funci�n para controlar el nif introducido por el usuario
function calcularNIF(nif) 
{
	var longitud_nif = nif.length;
	var extranjero = false;
	if(!isNaN(nif))
	{
		alert ("TE FALTA UNA LETRA EN ULTIMO LUGAR");
		return false;
	}
	//PROBLEMAS CON LOS DNI DE EXTRANJEROS TIENEN UNA LETRA POR DELANTE
	if(isNaN(nif.substring(0,1)))
	{
		//Se trata de un nif extranjero
		extranjero = true;
	}
	if(!extranjero)
	{
		//alert("NACIONALIDAD ESPA�OLA");
		if(longitud_nif  < 9)//a�adimos por la izquierda los ceros necesarios
		{
			var num_ceros = 0;
			num_ceros = 9 - longitud_nif;
			for(i = 0 ; i < num_ceros; i++ )
			{
				nif = 0 + nif;
			};
			//alert ("EL NIF ES "+nif+" su tama�o es "+longitud_nif+"");
		}
		if (!/^\d{8}$/.test(nif.substring(0,8))) //expresi�n regular para evaluar el NIF
		{
  			//alert ("El numero introducido no es valido.Compruebe que introduce 8 d�gitos (completando con 0 por la izquierda)");
			alert ("DEBE CONTENER 8 DIGITOS "+nif.substring(0,8)+"");
  			return false;
		}

		var letras = 'TRWAGMYFPDXBNJZSQVHLCKE';
	
		var numero = nif.substring(0,8)%23;
		var letra = letras.substring(numero,numero+1);
		if(letra !=  nif.substring(8).toUpperCase())
		{
			alert ("LA LETRA INTRODUCIDA NO ES CORRECTA "+nif.substring(8)+" deberia ser "+letra+"");
			return false;
		}
		else//TODO HA IDO BIEN 
		{
			return true;
		}
	}//if(!extranjero)
	else
	{
		//alert("NACIONALIDAD NO ESPA�OLA");
		if(longitud_nif  < 10)//a�adimos por la izquierda los ceros necesarios
		{
			var num_ceros = 0;
			num_ceros = 10 - longitud_nif;
			var letra_inicio = nif.substring(0,1);
			var resto_nif = nif.substring(1);
			for(i = 0 ; i < num_ceros; i++ )
			{
				resto_nif = 0 + resto_nif;
			};
			nif = letra_inicio + resto_nif 
			//alert ("EL NIF ES "+nif+" su tama�o es "+longitud_nif+"");
		}
		if (!/^\d{8}$/.test(nif.substring(1,9))) //expresi�n regular para evaluar el NIF
		{
  			//alert ("El numero introducido no es valido.Compruebe que introduce 8 d�gitos (completando con 0 por la izquierda)");
			alert ("DEBE CONTENER 8 DIGITOS "+nif.substring(1,9)+"");
  			return false;
		}

                //comprobacion de NIEs
                //T
                if (nif.match('^[T]{1}')) {
                    if (nif[8] == cif.match('^[T]{1}[A-Z0-9]{8}$')) {
                        alert ("El NIE no es correcto");
			return false;
                    } else {
                        return true;
                    }
                }
                //XYZ
                if (nif.match('^[XYZ]{1}')) {
                    tmpstr = nif.replace('X', '0');
                    tmpstr = tmpstr.replace('Y', '1');
                    tmpstr = tmpstr.replace('Z', '2');

                    if (nif[8] == 'TRWAGMYFPDXBNJZSQVHLCKE'.substr( tmpstr.substr(0, 8) % 23, 1)) {
                        alert ("El NIE no es correcto");
			return false;
                    } else {
                        return true;
                    }
                }
/*
		var letras = 'TRWAGMYFPDXBNJZSQVHLCKE';
		var numero = nif.substring(1,9)%23;
		var letra = letras.substring(numero,numero+1);
		if(letra !=  nif.substring(9).toUpperCase())
		{
			alert ("LA LETRA INTRODUCIDA NO ES CORRECTA "+nif.substring(9)+" deberia ser "+letra+"");
			return false;
		}
		else//TODO HA IDO BIEN 
		{
			return true;
		}//*/
	}//else
	
}

function completarNIF(nif){
	var longitud_nif = nif.length;
	var extranjero = false;

	//PROBLEMAS CON LOS DNI DE EXTRANJEROS TIENEN UNA LETRA POR DELANTE
	if(isNaN(nif.substring(0,1))){
		//Se trata de un nif extranjero
		extranjero = true;
	}
	if (!extranjero){

		//a�adimos por la izquierda los ceros necesarios
		if (longitud_nif  < 9){
			var num_ceros = 0;
			num_ceros = 9 - longitud_nif;
			for(i = 0 ; i < num_ceros; i++ ){
				nif = 0 + nif;
			}
		}
	} else {
		
		//a�adimos por la izquierda los ceros necesarios
		if (longitud_nif  < 10){
			var num_ceros = 0;
			num_ceros = 10 - longitud_nif;
			var letra_inicio = nif.substring(0,1);
			var resto_nif = nif.substring(1);
			for(i = 0 ; i < num_ceros; i++ ){
				resto_nif = 0 + resto_nif;
			}
			nif = letra_inicio + resto_nif 

		}
	}
	return nif;
}

//Carlos Ortiz 11-3-04
//Funci�n para controlar el nivel de usuario
function ControlarNivelUsuario(form1) 
{
	var nivel = form1.nivel_usuario.value;
	if (nivel != 1 && nivel != 2 && nivel != 0 && nivel != 3) //Confirmar por Juancarlos si se trata de 
	{																// 4 niveles de usuario
		alert ("El el Nivel de Usuario introducido no es correcto. reucuerde:0 - 1 - 2 - 3 .");
  		return false;
	}
	else
	{
		return true;
	}
}

//Carlos Ortiz 15-3-04
// Funci�n que se encarga de la comprobaci�n de la introducci�n de todos los campos
function CasillaCompletada(casilla)
{
	if( casilla == null  || casilla.length == 0 ) // Comprobamos si el campo es nulo o tiene longitud cero
	{
		//alert("No puede dejar ning�n campo obligatorio por rellenar");
		return false;
	}
	else
	{
		return true;
	}
}//function CasillaCompletada(casilla)


//Carlos Ortiz 15-3-04
// Funci�n para validar los datos del formulario paara a�adir clientes
function Validar_formulario_cliente(form1)
{
	
	//Comprobamos si las casillas obligatorias estan correctas
	if(!CasillaCompletada(form1.rsocial_cliprov.value))
	{
		alert ("Debe escribir la raz�n social del cliente");
		form1.rsocial_cliprov.focus(); 
	}	
	else if (!CasillaCompletada(form1.nif_cliprov.value))
	{
		alert ("Debe escribir el CIF del cliente");
		form1.nif_cliprov.focus(); 	
	}	
	else if (!CompruebaDatosCif(form1))//SI LA VALIDACION DEL CIF ES CORRECTA
	{
		alert ("El CIF no es correcto");
		form1.nif_cliprov.focus(); 	
	}
	else // TODO CORRECTO
	{
		form1.submit();
	}
	
}//function validar_formulario_cliente(form1)

// Funci�n para validar los datos del formulario paara a�adir prov
function Validar_formulario_proveedor(form1){
		
	if(!CasillaCompletada(form1.rsocial_cliprov.value)){
		alert ("Debe escribir la raz�n social del proveedor");
		form1.rsocial_cliprov.focus(); 
	}	
	else if (!CasillaCompletada(form1.nif_cliprov.value)){
		alert ("Debe escribir el CIF del proveedor");
		form1.nif_cliprov.focus(); 	
	}
	else if (!CompruebaDatosCif(form1)){
		alert ("El CIF no es correcto");
		form1.nif_cliprov.focus(); 	
	}
	else if(!CasillaCompletada(form1.dir_cliprov.value)){
		alert ("Debe escribir la direcci�n del proveedor");
		form1.dir_cliprov.focus(); 	
	}
	else if (!CasillaCompletada(form1.poblacion.value)){
		alert ("Debe escribir la poblaci�n del proveedor");
		form1.poblacion.focus(); 		
	}
	else if (!CasillaCompletada(form1.provin_cliprov.value)){
		alert ("Debe escribir la provincia del proveedor");
		form1.provin_cliprov.focus(); 		
	}
	else if(!CasillaCompletada(form1.cod_postal.value)){
		alert ("Debe escribir c�digo postal del proveedor");
		form1.cod_postal.focus(); 		
	}
	else if(!CasillaCompletada(form1.pais_cliprov.value)){
		alert ("Debe escribir el pa�s del proveedor");
		form1.pais_cliprov.focus(); 					
	}
	else if(!CasillaCompletada(form1.actividad.value)){
		alert ("Debes escribir la actividad del proveedor");
		form1.actividad.focus();
	}	
	else if(form1['criterio[]'].selectedIndex < 0){
		alert ("Debe seleccionar el criterio de la homologaci�n");
		form1['criterio[]'].focus();
	}
	else if(Compara_dos_Fechas(form1.ano.value,form1.mes.value,form1.dia.value,form1.ano3.value,form1.mes3.value,form1.dia3.value) < 0){
		alert ("Las fechas no son correctas");
	}
/*					*/	
	else // TODO CORRECTO
	{
		form1.submit();
	}
	
}//function validar_formulario_prov(form1)


//Carlos Ortiz 15-3-04
// Funci�n para validar los datos del formulario paara a�adir colaboradores
function Validar_formulario_colaborador(form1){
  form1.nif_colab.value = form1.nif_colab.value.toUpperCase();
	if(!CasillaCompletada(form1.nombre_colab.value))
	{
		alert("Debes escribir el nombre del colaborador");
		form1.nombre_colab.focus();
	}
	else if (!CasillaCompletada(form1.apellidos1_colab.value))
	{
		alert("Debes escribir el primer apellido del colaborador");
		form1.apellidos1_colab.focus();
	}
	else if(!CasillaCompletada(form1.apellido2_colab.value))
	{
		alert("Debes escribir el segundo apellido del colaborador");
		form1.apellido2_colab.focus();
	}
	else if(!CasillaCompletada(form1.nif_colab.value))
	{
		alert("Debes escribir el NIF del colaborador");
		form1.nif_colab.focus();
	}	
	else if((form1.nac_colab.options[form1.nac_colab.selectedIndex].value == 0) || (form1.nac_colab.options[form1.nac_colab.selectedIndex].value == ""))
	{
		alert("Debe seleccionar la nacionalidad del colaborador");
		form1.nac_colab.focus();
	}
	else if(!CasillaCompletada(form1.direc_colab.value))
	{
		alert("Debes escribir la direccion del colaborador");
		form1.direc_colab.focus();
	}
	else if((form1.provin_colab.options[form1.provin_colab.selectedIndex].value == 0) || (form1.provin_colab.options[form1.provin_colab.selectedIndex].value == ""))
	{
		alert("Debe seleccionar la provincia del colaborador");
		form1.provin_colab.focus();
	}
	else if((form1.poblacion_colab.options[form1.poblacion_colab.selectedIndex].value == 0) || (form1.poblacion_colab.options[form1.poblacion_colab.selectedIndex].value == ""))
	{
		alert("Debe seleccionar la poblacion del colaborador");
		form1.poblacion_colab.focus();			
	}		
	else if (!CasillaCompletada(form1.tel_colab.value))
	{
		alert("Debes escribir el telefono del colaborador");
		form1.tel_colab.focus();		
	}

        else if ( form1.fax_colab.value == 'ninguno' )
	{
		alert("Debes especificar la ubicacion del colaborador");
		form1.tel_colab.focus();
	}
	else if (!CasillaCompletada(form1.cc_colab.value))
	{
		alert("Debes escribir la cuenta corriente del colaborador");
		form1.cc_colab.focus();			
	} 	
	else if(!CasillaCompletada(form1.cpos_colab.value))
	{
		alert("Debes escribir el codigo postal del colaborador");
		form1.cpos_colab.focus();			
	}	
	else if(!CasillaCompletada(form1.idss_colab.value))
	{
		alert("Debes escribir el n�mero de la seguridad social del colaborador");
		form1.idss_colab.focus();			
	}	
	else if(!calcularNIF(form1.nif_colab.value))
	{
		alert("NIF incorrecto");
		form1.nif_colab.focus();
	}
	else if (form1.emailp_colab.value.length > 0 && !ValidarEmail(form1.emailp_colab.value))
	{
		alert ("direcci�n de correo electronico privada es erronea");
		//SACAMOS LOS COMENTARIOS DE LA FUNCION ValidarEmail()
		form1.emailp_colab.focus(); 		
	}
	else if (!Compruebafechas(form1.ano.value, form1.ano2.value, form1.ano3.value, form1.mes.value, form1.mes2.value, form1.mes3.value, form1.dia.value, form1.dia2.value, form1.dia3.value))
	{
		alert ("PROBLEMA CON FECHA");
	}
	else if(form1.password.value.length > 0 && form1.password.value.length > 0 && form1.password.value != form1.password2.value)
	{
		alert ("LA PASSWORD Y LA VERIFICACI�N DEBEN SER IGUALES");
		form1.password.focus(); 
	}
	else if ((form1.password.value.length == 0) || (form1.emaile_colab.value.length == 0) || (form1.usuario.value.length == 0))
	{
	    alert ("POR FAVOR GENERE LOS DATOS DE CONTROL DE ACCESO DEL COLABORADOR");
	}
        else if( !form1.acceso1.checked && !form1.acceso2.checked && !form1.acceso3.checked && !form1.acceso4.checked && !form1.acceso5.checked && !form1.acceso6.checked && !form1.acceso7.checked && !form1.acceso8.checked && !form1.acceso9.checked)
        {
            alert("Debes insertar al menos una empresa a la que acceder");
        }
	else //TODO BIEN
	{
		//alert ("TODO BIEN");
		form1.nif_colab.value = completarNIF(form1.nif_colab.value);
		var fecha = form1.dia2.value + '@' + form1.mes2.value + '@' + form1.ano2.value;
		var nombre = form1.nombre_colab.value + " " + form1.apellidos1_colab.value + " " + form1.apellido2_colab.value;
		abrirVentana('Include/Word_Colaborador.php?nombre=' + nombre + '&user=' + form1.usuario.value + '&pass=' + form1.password.value + '&fecha=' + fecha, 'winDoc', 800, 600);

		form1.submit();
	}
		
}


// Funci�n para validar los datos del formulario para modificar colaboradores
function Validar_formulario_colaborador_modificacion(form1){
    form1.nif_colab.value = form1.nif_colab.value.toUpperCase();
	if(!CasillaCompletada(form1.nombre_colab.value))
	{
		alert("Debes escribir el nombre del colaborador");
		form1.nombre_colab.focus();
	}
	else if (!CasillaCompletada(form1.apellidos1_colab.value))
	{
		alert("Debes escribir el primer apellido del colaborador");
		form1.apellidos1_colab.focus();
	}
	else if(!CasillaCompletada(form1.apellido2_colab.value))
	{
		alert("Debes escribir el segundo apellido del colaborador");
		form1.apellido2_colab.focus();
	}
	else if(!CasillaCompletada(form1.nif_colab.value))
	{
		alert("Debes escribir el NIF del colaborador");
		form1.nif_colab.focus();
	}
	else if((form1.nac_colab.options[form1.nac_colab.selectedIndex].value == 0) || (form1.nac_colab.options[form1.nac_colab.selectedIndex].value == ""))
	{
		alert("Debe seleccionar la nacionalidad del colaborador");
		form1.nac_colab.focus();
	}
	else if(!CasillaCompletada(form1.direc_colab.value))
	{
		alert("Debes escribir la direccion del colaborador");
		form1.direc_colab.focus();
	}
	else if((form1.provin_colab.options[form1.provin_colab.selectedIndex].value == 0) || (form1.provin_colab.options[form1.provin_colab.selectedIndex].value == ""))
	{
		alert("Debe seleccionar la provincia del colaborador");
		form1.provin_colab.focus();
	}
	else if((form1.poblacion_colab.options[form1.poblacion_colab.selectedIndex].value == 0) || (form1.poblacion_colab.options[form1.poblacion_colab.selectedIndex].value == ""))
	{
		alert("Debe seleccionar la poblacion del colaborador");
		form1.poblacion_colab.focus();			
	}		
	else if (!CasillaCompletada(form1.tel_colab.value))
	{
		alert("Debes escribir el telefono del colaborador");
		form1.tel_colab.focus();		
	}
        else if ( form1.fax_colab.value == 'ninguno' )
	{
		alert("Este colaborador no tenia especificada su ubicacion. Debes especificarla");
		form1.tel_colab.focus();
	}
	else if (!CasillaCompletada(form1.cc_colab.value))
	{
		alert("Debes escribir la cuenta corriente del colaborador");
		form1.cc_colab.focus();			
	}
	
	else if(!CasillaCompletada(form1.cpos_colab.value))
	{
		alert("Debes escribir el codigo postal del colaborador");
		form1.cpos_colab.focus();			
	}
	else if(!CasillaCompletada(form1.idss_colab.value))
	{
		alert("Debes escribir el numero de la seguridad social del colaborador");
		form1.idss_colab.focus();			
	}
	
	else if(!calcularNIF(form1.nif_colab.value))
	{
		alert("NIF incorrecto");
		form1.nif_colab.focus();
	}
	else if(!ValidarEmail(form1.emaile_colab.value))
	{
		alert (" direcci�n de correo electronico de empresa es erronea");
		//SACAMOS LOS COMENTARIOS DE LA FUNCION ValidarEmail()
		form1.emaile_colab.focus(); 
	}
	else if (form1.emailp_colab.value.length > 0 && !ValidarEmail(form1.emailp_colab.value))
	{
		alert (" direcci�n de correo electronico privada es erronea");
		//SACAMOS LOS COMENTARIOS DE LA FUNCION ValidarEmail()
		form1.emailp_colab.focus(); 		
	}
	else if (!Compruebafechas(form1.ano.value, form1.ano2.value, form1.ano3.value, form1.mes.value, form1.mes2.value, form1.mes3.value, form1.dia.value, form1.dia2.value, form1.dia3.value))
	{
		alert ("PROBLEMA CON FECHA");
	}
	else if(form1.password.value.length > 0 && form1.password.value.length > 0 && form1.password.value != form1.password2.value)
	{
		alert ("EL PASSWORD Y LA VERIFICACI�N DEBEN SER IGUALES");
		form1.password.focus(); 
	}
	else if(!form1.usuario.value.length > 0)
	{
		alert ("El campo USUARIO no puede estar vac�o.");
		form1.password.focus(); 
	}/*
	else if(!form1.emaile_colab.value.length > 0)
	{
		alert ("El campo EMAIL no puede estar vac�o.");
		form1.password.focus(); 
	}*/
        else if( !form1.acceso1.checked && !form1.acceso2.checked && !form1.acceso3.checked && !form1.acceso4.checked && !form1.acceso5.checked && !form1.acceso6.checked && !form1.acceso7.checked && !form1.acceso8.checked && !form1.acceso9.checked)
        {
            alert("Debes insertar al menos una empresa a la que acceder");
        }
	else //TODO BIEN
	{
		form1.nif_colab.value = completarNIF(form1.nif_colab.value);				
		form1.submit();
	}
		
}


//Carlos Ortiz 24-3-04
//Comprobamos si la ruta de la fotograf�a est� completada 

function Comprueba_ruta()
{
		if(document.formulario_foto.form_data.value.length == 0 || document.formulario_foto.form_data.value == null)
		{
			alert( "Necesita introducir la ruta donde se encuentra imagen a insertar" );
		}
		else //TODO BIEN
		{
			//alert( "SUBMIT" );
			document.formulario_foto.submit();
		}
}


//Carlos Ortiz 24-3-04
//funcion para comprobar el formulario de vacaciones
function Compruebadatosvacaciones()
{	
	var ano1;
	var ano2;
	var mes1;
	var mes2;
	var dia1;
	var dia2;
	
	ano1 = parseInt (document.vacaciones.ano);
	ano2 = parseInt (document.vacaciones.ano2);
	
	mes1 = parseInt (document.vacaciones.mes);
	mes2 = parseInt (document.vacaciones.mes2);
	
	dia1 = parseInt (document.vacaciones.dia);
	dia2 = parseInt (document.vacaciones.dia2);
	
	if (document.vacaciones.desc_vacaciones.value ==" ")
	{
		alert ("Debes escribir la descripcion de inicio de las vacaciones");
		document.vacaciones.desc_vacaciones.focus(); 
	}
	else if (ano1 > ano2)
	{
		alert ("La fecha de inicio debe ser menor que la fecha final (a�o)");
		document.vacaciones.ano.select(); 
		document.vacaciones.ano.focus(); 
	}
	else if (ano1 == ano2 && mes1 > mes2)
	{
		alert ("La fecha de inicio debe ser menor que la fecha final (mes)");
		document.vacaciones.mes.focus(); 
	}
	else if (ano1 == ano2 && mes1 == mes2 && dia1 > dia2)
	{
		alert ("La fecha de inicio debe ser menor que la fecha final (dia)");
		document.vacaciones.dia.focus(); 
	}
	else
	{
		document.vacaciones.submit();
	}
}//function Compruebadatosvacaciones()



//Carlos Ortiz 24-3-04
//funcion para comprobar el formulario de salario
function CompruebadatossalarioInsercion()
{

    //fechaSalarioValida();
    if(!fechaSalarioValida())
    {
        alert("La fecha debe ser mayor al ultimo salario registrado ("+document.alta_salario.ultimoDia.value+"-"+document.alta_salario.ultimoMes.value+"-"+document.alta_salario.ultimoAno.value+")");
    }//if
    else
    {
        if  (document.alta_salario.impor_salario.value =="")
        {
        alert ("Debes escribir el importe del salario");
        document.alta_salario.impor_salario.focus();
        }
        else
        {
            //if(!/^[0-9]+$/.test(document.alta_salario.impor_salario.value))
            if(!esNumerico(document.alta_salario.impor_salario.value))
            {
                alert("Debe introducir un valor numerico en salario");
            }
            else{
                if(document.alta_salario.otros_conceptos.value=="")
                {
                    alert("Debes escribir otros conceptos");
                }else
                {
                    //if(!/^[0-9]+$/.test(document.alta_salario.otros_conceptos.value))
                    if(!esNumerico(document.alta_salario.otros_conceptos.value))
                    {
                        alert("Debe introducir un valor numerico en otros conceptos");
                    }
                    else{
                        document.alta_salario.submit();
                    }//else
                }
            }//else
        }//else
    } //else
}//CompruebaDatosSalario

function esNumerico(numero)
{
    var ValidChars = "0123456789.";
    var Char;


    for (i = 0; i < numero.length; i++)
    {
        Char = numero.charAt(i);
        if (ValidChars.indexOf(Char) == -1)
        {
            return false;
        }//if (ValidChars.indexOf(Char) == -1)
    }//for (i = 0; i < numero.length; i++)
    return true;

}//function esNumerico(numero)

function CompruebadatossalarioModificacion()
{
    if  (document.alta_salario.impor_salario.value =="")
    {
    alert ("Debes escribir el importe del salario");
    document.alta_salario.impor_salario.focus();
    }
    else
    {
        if(!/^[0-9]+$/.test(document.alta_salario.impor_salario.value))
        {
            alert("Debe introducir un valor numerico en salario");
        }
        else{
            if(!/^[0-9]+$/.test(document.alta_salario.otros_conceptos.value))
            {
                alert("Debe introducir un valor numerico en otros conceptos");
            }
            else{
                document.alta_salario.submit();
            }//else
        }//else
    }//else

}//CompruebaDatosSalario

function fechaTarifaValida(){
//si es igual a 0 significa que se esta dando de alta y si no se esta modificando el colaborador
//este valor se asigna en un campo oculto del formulario modificar_asignacion_colaborador
        /*diaAux = document.asignar_colaborador.dia.value;
        mesAux = document.asignar_colaborador.mes.value;
        anoAux = document.asignar_colaborador.ano.value;*/
    if(document.asignar_colaborador.dandoalta.value == "0"){//730
        diaAux = document.asignar_colaborador.dia.value;
        mesAux = document.asignar_colaborador.mes.value;
        anoAux = document.asignar_colaborador.ano.value;
    }
    else
    {
        diaAux = document.asignar_colaborador.dia2.value;
        mesAux = document.asignar_colaborador.mes2.value;
        anoAux = document.asignar_colaborador.ano2.value;
    }

        if(parseFloat(anoAux) < parseFloat(document.asignar_colaborador.ultimoAno.value))
        {
            return false;
        }//if(document.asignar_colaborador.ano.value<document.asignar_colaborador.ultimoAno.value)
        else
        {
            if(parseFloat(anoAux) == parseFloat(document.asignar_colaborador.ultimoAno.value))
            {
                if(parseFloat(mesAux) < parseFloat(document.asignar_colaborador.ultimoMes.value))
                {
                    return false;
                }//if(document.asignar_colaborador.mes.value < document.asignar_colaborador.ultimoMes.value)
                else{
                    if(parseFloat(mesAux) == parseFloat(document.asignar_colaborador.ultimoMes.value))
                    {
                        if(parseFloat(diaAux) <= parseFloat(document.asignar_colaborador.ultimoDia.value))
                        {
                            return false;
                        }
                    }//if(document.asignar_colaborador.mes.value = document.asignar_colaborador.ultimoMes.value)
                }//else
            }//if(document.asignar_colaborador.ano.value = document.asignar_colaborador.ultimoAno.value)
        }//else
        return true;
}//fechaTarifaValida

function fechaSalarioValida()
{
        if(parseFloat(document.alta_salario.ano.value) < parseFloat(document.alta_salario.ultimoAno.value))
        {
            document.alta_salario.ano.focus();
            return false;
        }//if(document.alta_salario.ano.value<document.alta_salario.ultimoAno.value)
        else
        {
            if(parseFloat(document.alta_salario.ano.value) == parseFloat(document.alta_salario.ultimoAno.value))
            {
                if(parseFloat(document.alta_salario.mes.value) < parseFloat(document.alta_salario.ultimoMes.value))
                {
                    document.alta_salario.mes.focus();
                    return false;
                }//if(document.alta_salario.mes.value < document.alta_salario.ultimoMes.value)
                else{
                    if(parseFloat(document.alta_salario.mes.value) == parseFloat(document.alta_salario.ultimoMes.value))
                    {
                        if(parseFloat(document.alta_salario.dia.value) <= parseFloat(document.alta_salario.ultimoDia.value))
                        {
                            document.alta_salario.dia.focus();
                            return false
                        }
                    }//if(document.alta_salario.mes.value = document.alta_salario.ultimoMes.value)
                }//else
            }//if(document.alta_salario.ano.value = document.alta_salario.ultimoAno.value)
        }//else
        //alert("La fecha debe ser mayor al ultimo salario registrado");
        return true;
}//fechaSalarioValida


//Carlos Ortiz 25-3-04
//funcion para comprobar el formulario de Titulaci�n
function Compruebadatostitulacion()
{

if  (document.alta_titulacion.centro_titulacion.value =="")
	{
	alert ("Debes escribir el nombre del centro");
	document.alta_titulacion.centro_titulacion.focus(); 
	}
	else
	{
		document.alta_titulacion.submit();
	}
}


//Carlos Ortiz 25-3-04
//funcion para comprobar el formulario de Ayudas
function Compruebadatosayuda()
{
		if  (document.alta_ayuda.impor_ayuda.value =="")
		{
		alert ("Debes escribir el importe de la ayuda");
		document.alta_ayuda.impor_ayuda.focus(); 
		}
		else
		{
			if  (document.alta_ayuda.desc_ayuda.value ==" ")
			{
			alert ("Debes escribir la descripcion de la ayuda");
			document.alta_ayuda.desc_ayuda.focus(); 
			}
			else
			{
			document.alta_ayuda.submit();
			}

		}
}

//Carlos Ortiz 25-3-04
//funcion para comprobar el formulario de Alta proyecto
//DEPURAR LAS VARIABLES DE ano2 etc seran 3 es una baja y no es obligatoria
function Compruebadatosmodiproyecto()
{
	var ano1;
	var ano3;
	var mes1;
	var mes3;
	var dia1;
	var dia3;
	var resultado = 0;
	ano1 = parseInt (document.alta_proyecto.ano.value);
	//ano3 = parseInt (document.alta_proyecto.ano3.value);
	mes1 = parseInt (document.alta_proyecto.mes.value);
	//mes3 = parseInt (document.alta_proyecto.mes3.value);
	dia1 = parseInt (document.alta_proyecto.dia.value);
	//dia3 = parseInt (document.alta_proyecto.dia3.value);
	
	if  (document.alta_proyecto.ano_proyecto.value =="")
	{
		alert ("Debes escribir el a�o del proyecto");
		document.alta_proyecto.ano_proyecto.focus();
		resultado = -1;
	}
	else if  (document.alta_proyecto.nomb_proyecto.value =="")
	{
		alert ("Debes escribir el nombre del proyecto");
		document.alta_proyecto.nomb_proyecto.focus();
		resultado = -1;
	}
	/*else if  (document.alta_proyecto.gestor_proyecto.value =="")
	{
		alert ("Debes escribir el nombre del gestor");
		document.alta_proyecto.gestor_proyecto.focus();
		resultado = -1;
	}
	LO CAMBIAMOS A UN COMBO DE LOS COLABORADORES
	*/
	else if  (document.alta_proyecto.clas_proyecto.value =="")
	{
		alert ("Debes escribir la clasificaci�n del proyecto");
		document.alta_proyecto.clas_proyecto.focus(); 
		resultado = -1
	}
	else if  (document.alta_proyecto.desc_proyecto.value =="")
	{
		alert ("Debes escribir la descripci�n del proyecto");
		document.alta_proyecto.desc_proyecto.focus(); 
		return -1;
	}
	/*						
	else if(!isNaN (ano3) || !isNaN (mes3) || !isNaN (dia3))
	{
		//alert ("La fecha de baja es "+ano3+" "+mes3+" "+dia3+"");
		if(isNaN (ano3) || isNaN (mes3) || isNaN (dia3))
		{
			alert ("La fecha de baja debe ser totalmente completada");
			document.alta_proyecto.ano3.focus();
			resultado = -1;							
		}//if(isNaN (ano3) || isNaN (mes3) || isNaN (dia3))
		else if( ano1 == ano3 && mes1 > mes3)
		{
			alert ("La fecha de alta debe ser menor que la de baja (mes)");
			document.alta_proyecto.mes3.focus();
			resultado = -1;
										
		}
		else if( ano1 == ano3 && mes1 == mes3 && dia1 > dia3)
		{
			alert ("La fecha de alta debe ser menor que la de baja (d�a)");
			document.alta_proyecto.dia3.focus();
			resultado = -1;
		}
	}//else if(!isNaN (ano3) || !isNaN (mes3) || !isNaN (dia3))
	
	if(resultado > -1 && document.alta_proyecto.cierre.options[document.alta_proyecto.cierre.selectedIndex].value == "SI" && (isNaN (ano3) || isNaN (mes3) || isNaN (dia3)))
	{
		alert ("Ha de introducir una fecha de baja");
		document.alta_proyecto.dia3.focus();
		resultado = -1;
		}
		*/
	if(resultado > -1)
	{
		document.alta_proyecto.submit();
	}

}//function Compruebadatosaltaproyecto()



//Carlos Ortiz 29-3-04
//Funci�n que comprueba los datos del formulario de contactos
function Compruebadatoscontacto()
{
if  (document.alta_contacto.nombre_contacto.value =="")
	{
	alert ("Debes escribir el nombre del contacto");
	document.alta_contacto.nombre_contacto.focus(); 
	}
	else
	{
		if (document.alta_contacto.cargo_contacto.value=="")
		{
		alert("Debes escribir el cargo del contacto");
		document.alta_contacto.cargo_contacto.focus();
		}
		else
		{
			if (document.alta_contacto.depto_contacto.value=="")
			{
			alert("Debes escribir el departamento del contacto");
			document.alta_contacto.depto_contacto.focus();
			}
			else
			{
				if (document.alta_contacto.dir_contacto.value=="")
				{
				alert("Debes escribir la direcci�n del contacto");
				document.alta_contacto.dir_contacto.focus();
				}
				else
				{
					if (document.alta_contacto.pais_contacto.value=="")
					{
					alert("Debes escribir el pais del contacto");
					document.alta_contacto.pais_contacto.focus();
					}
					else
					{
						if (document.alta_contacto.codpo_contacto.value=="")
						{
						alert("Debes escribir el c�digo postal del contacto");
						document.alta_contacto.codpo_contacto.focus();
						}
						else
						{
							if (document.alta_contacto.tel_contacto.value=="")
							{
							alert("Debes escribir el tel�fono del contacto");
							document.alta_contacto.tel_contacto.focus();
							}
							else
							{
								if  (document.alta_contacto.provin_contacto.value =="")
								{
								alert ("Debes escribir la provincia del contacto");
								document.alta_contacto.provin_contacto.focus(); 
								}
								else
								{
									if(document.alta_contacto.email_contacto.value.length != 0 && !ValidarEmail(document.alta_contacto.email_contacto.value))
									{
										alert ("direcci�n de correo electronico erronea");
										//SACAMOS LOS COMENTARIOS DE LA FUNCION ValidarEmail()
										document.alta_contacto.email_contacto.focus(); 
									}
									else
									{
										document.alta_contacto.submit();
									}//else TODO CORRECTO
								}
							}
						}
					}
				}
			}
		}	
	}

}


//Carlos Ortiz 12-4-04
//Funcion que solamente permite d�gitos
//var isIE = document.all?true:false;
//var isNS = document.layers?true:false;
function onlyDigits(e,decReq)
{
	//alert (decReq);
	var isIE = document.all?true:false;
	var isNS = document.layers?true:false;
	var key = (isIE) ? window.event.keyCode : e.which;
	var obj = (isIE) ? event.srcElement : e.target;
	var isNum = (key > 47 && key < 58) ? true:false;
	var dotOK = (key==46 && decReq=='decOK' && (obj.value.indexOf(".")<0 || obj.value.length==0)) ? true:false;
	window.event.keyCode = (!isNum && !dotOK && isIE) ? 0:key;
	e.which = (!isNum && !dotOK && isNS) ? 0:key;
	return (isNum || dotOK);
}

//Carlos Ortiz 9-9-04
//Funci�n que posibilita introducir numeros y barras para el n�mero de S.S
function onlyDigits_barra(e,decReq)
{
	//alert (decReq);
	var isIE = document.all?true:false;
	var isNS = document.layers?true:false;
	var key = (isIE) ? window.event.keyCode : e.which;
	var obj = (isIE) ? event.srcElement : e.target;
	var isNum = (key > 46 && key < 58) ? true:false;
	var dotOK = (key==45 && decReq=='decOK' && (obj.value.indexOf(".")<0 || obj.value.length==0)) ? true:false;
	window.event.keyCode = (!isNum && !dotOK && isIE) ? 0:key;
	e.which = (!isNum && !dotOK && isNS) ? 0:key;
	return (isNum || dotOK);
}

//Carlos Ortiz 12-4-04
//Funcion que comprueba si la estructura del CIF es adecuada
function CompruebaDatosCif(F) 
{
	var longitud = F.nif_cliprov.value.length;
	//alert ("ESTAMOS EN COMPRUEBA DATOS CIF"+long);
	//alert (F.nif_cliprov.value.substring(0,1));
	if(longitud == 0)
	{
		alert ("NO HA INTRODUCIDO EL CIF DEL CLIENTE");
		return true;
	}
	else if(!isNaN(F.nif_cliprov.value.substring(0,1)))//Se trata de un NIF
	{
		//alert ("Estas introduciendo un NIF");
		if(calcularNIF(F.nif_cliprov.value))
		{
				return true;
		}
	}
	else
	{
		//No es nulo, ni NIF
		var resul = false;
		var validar =true;
		var temp = F.nif_cliprov.value.toUpperCase(); // pasar a may�sculas
		if (!/^[A-Za-z0-9]{9}$/.test(temp)) // Son 9 d�gitos? 
		{	
		  alert ("Longitud incorrecta, un CIF consta de 9 d�gitos");
		  return false;
		}
		else if(F.nif_cliprov.value.substring(0,1) == "X")
		{
			alert ("NIF EXTRANJERO");//Cuando un cliente o prov factura atraves de un NIF extranjero
			if(calcularNIF(F.nif_cliprov.value))
			{
					return true;
			}
		}
		else if ((F.nif_cliprov.value.substring(0,1) == "P") || (F.nif_cliprov.value.substring(0,1) == "p"))
		{
			alert ("NIF DE LA ADMINISTRACI�N");//Cuando un cliente o prov factura atraves de un NIF extranjero
			var validar=false;
			/*if(validarAdmon(F.nif_cliprov.value))  // Falta por desarrollar
			{
					return true;
			}*/
		}
		else if((F.nif_cliprov.value.substring(0,1) == "Q") || (F.nif_cliprov.value.substring(0,1) == "q"))
		{
			alert ("NIF DE O.N.G.");//Cuando un cliente o prov factura atraves de un NIF extranjero
			var validar=false;
			/*if(validarONG(F.nif_cliprov.value))  //Falta por desarrollar
			{
					return true;
			}*/
		}
		else if (!/^[ABCDEFGHKLMNPQS]/.test(temp)) // Es una letra de las admitidas ?
		{
		  alert("El primer d�gito es incorrecto, debe ser una letra de las siguientes: A,B,C,D,E,F,G,H,K,L,M,N,P,Q,S ");
		 return false;
		}

		else if (validar)
		{
			//alert(validar);
			//Compruebo que las posiciones de 2 a 8 son d�gitos
			var digitos = F.nif_cliprov.value.substr(1,7);
			var cont = 0;
			while (cont < digitos.length)
			{
				if(digitos.charAt(cont) != 0 && digitos.charAt(cont) != 1 && digitos.charAt(cont) != 2 && digitos.charAt(cont) != 3 && digitos.charAt(cont) != 4 && digitos.charAt(cont) != 5 && digitos.charAt(cont) != 6 && digitos.charAt(cont) != 7 && digitos.charAt(cont) != 8 && digitos.charAt(cont) != 9 )
				{
					alert ("Los digitos del 2 al 8, deben ser n�meros");
					return false;
				
				}//if(digitos.charAt(cont) != 0 && digitos.charAt(cont) != 1 && digitos.charAt(cont) != 2 && digitos.charAt(cont) != 3 && digitos.charAt(cont) != 4 && digitos.charAt(cont) != 5 && digitos.charAt(cont) != 6 && digitos.charAt(cont) != 7 && digitos.charAt(cont) != 8 && digitos.charAt(cont) != 9 )
			
				cont++;
			
			}//while (cont < digitos.length)
		
			var v1 = new Array(0,2,4,6,8,1,3,5,7,9);
			var letras = new Array('A','B','C','D','E','F','G','H','I','J','K','L','M','N','�','O','P','Q','R','S','T','V','W','X','Z'); 
    		var temp = 0; 
    		var temp1;
			
    		for( i = 2; i <= 6; i += 2 ) 
			{
				//alert ("ESTAMOS EN COMPRUEBA DATOS CIF  comienzo temp = "+parseInt(F.nif_cliprov.value.substr(i-1,1)));
     			temp = temp + v1[ parseInt(F.nif_cliprov.value.substr(i-1,1)) ];
				//alert ("ESTAMOS EN COMPRUEBA DATOS CIF temp = "+temp);
      			temp = temp + parseInt(F.nif_cliprov.value.substr(i,1));
				//alert ("ESTAMOS EN COMPRUEBA DATOS CIF temp = "+temp);
			
    		};//for( i = 2; i <= 6; i += 2 ) 
		
    		temp = temp + v1[ parseInt(F.nif_cliprov.value.substr(7,1)) ];
			//alert ("ESTAMOS EN COMPRUEBA DATOS CIF  7 temp = "+parseInt(F.nif_cliprov.value.substr(7,1)));
    		temp = (10 - ( temp % 10));
    		if( temp == 10 )
			{
				if(F.nif_cliprov.value.substr(8,9) == "J" || F.nif_cliprov.value.substr(8,9) == 0)
				{
					//alert( "El d�gito de control es: J � 0 CORRECTO");
				
				}//if(F.nif_cliprov.value.substr(8,9) == "J" || F.nif_cliprov.value.substr(8,9) == 0)
				else
				{
					alert( "El d�gito de control es: J � 0 CIF INCORRECTO");
					return false;
				
				}//else
    		
			}//if( temp == 10 )
    		else
			{
				if(F.nif_cliprov.value.substr(0,1)== 'N')//Problemas con el CIF de OFFICE DEPOT N0066522D
				{
					//alert(letras[temp - 1]+" "+F.nif_cliprov.value.substr(8,9));
					if(F.nif_cliprov.value.substr(8,9) == temp || F.nif_cliprov.value.substr(8,9) == letras[temp - 1])
					{
					}
					else
					{
						alert( "El d�gito de control es: "+temp+" CIF INCORRECTO" ); 
						return false;
					}
				}
				else if(F.nif_cliprov.value.substr(8,9) == temp)
				{
					//alert( "El d�gito de control es: "+temp+" CORRECTO" ); 
				}//if(F.nif_cliprov.value.substr(8,9) == temp)
				else
				{
					alert( "El d�gito de control es: "+temp+" CIF INCORRECTO" ); 
					return false;
				}//else
      		}//else
		}//else
		return true;
	}//else
}//function CompruebaDatosCif(F) 


//Carlos Ortiz 13-4-04
//Funci�n para comprobar que las fechas son correctas
function Compruebafechas(ano, ano2, ano3, mes, mes2, mes3, dia, dia2, dia3)
{
	//alert("fecha homo "+ano+"-"+mes+"-"+dia);
	//alert("fecha baja "+ano2+"-"+mes2+"-"+dia2);
	var ano1;
	var ano2;
	var ano3;
	var mes1;
	var mes2;
	var mes3;
	var dia1;
	var dia2;
	var dia3;
	ano1 = parseInt (ano);
	ano2 = parseInt (ano2);
	ano3 = parseInt (ano3);
	mes1 = parseInt (mes);
	mes2 = parseInt (mes2);
	mes3 = parseInt (mes3);
	dia1 = parseInt (dia);
	dia2 = parseInt (dia2);
	dia3 = parseInt (dia3);
	
	if(ano1>ano2)
	{
		alert ("La fecha de nacimiento debe ser menor que la de alta (a�o)");
		//document.alta_proyecto.ano.select(); 
		//document.alta_proyecto.ano.focus();
		return false;
	}
	else if(ano1 == ano2 && mes1 > mes2)
	{
		alert ("La fecha de nacimiento debe ser menor que la de alta (mes)");
		//document.alta_proyecto.mes.focus();
		return false;
	}
	else if(ano1 == ano2 && mes1 == mes2 && dia1 > dia2)
	{
		alert ("dia nacimiento "+dia1+" dia alta "+dia2); 
		alert ("La fecha de nacimiento debe ser menor que la de alta (dia)");
		//document.alta_proyecto.dia.focus();
		return false;
				
	}//if(dia1>dia2)
			
	else//TODO BIEN
	{
		if(!isNaN (ano3) || !isNaN (mes3) || !isNaN (dia3))
		{
			//alert ("La fecha de baja es "+ano3+" "+mes3+" "+dia3+"");
			if(isNaN (ano3) || isNaN (mes3) || isNaN (dia3))
			{
				alert ("La fecha de baja debe ser totalmente completada");
				return false;
			}
			else if (ano2 > ano3)
			{
				alert ("La fecha de alta debe ser menor que la de baja (a�o)");
				//document.alta_proyecto.ano.select(); 
				//document.alta_proyecto.ano.focus();
				return false;
			}
			else if( ano2 == ano3 && mes2 > mes3)
			{
				alert ("La fecha de alta debe ser menor que la de baja (mes)");
				//document.alta_proyecto.mes.focus();
				return false;
			}
			else if(ano2 == ano3 && mes2 == mes3 && dia2 > dia3)
			{
				alert ("La fecha de alta debe ser menor que la de baja (d�a)");
				//document.alta_proyecto.dia.focus();
				return false;
			}
		}//if(ano3!= "" || mes3 != "" || dia3 != "")
				
	}//else
	return true;
}//function Compruebafechas(ano,ano2,mes,mes2,dia,dia2)


//Carlos Ortiz 15-4-04
//Funcion para comprobar los datos del formulario de asignar colabrador a cliente
    function Compruebadatosasignarcolab()
{
	//VARIABLES PARA LAS FECHAS
	
	var ano1;
	var ano3;
	var mes1;
	var mes3;
	var dia1;
	var dia3;
	var ano2;
	var mes2;
	var dia2;
	
	var error = 0;
	
	ano1 = parseInt (document.asignar_colaborador.ano.value);
	ano3 = parseInt (document.asignar_colaborador.ano3.value);
	ano2 = parseInt (document.asignar_colaborador.ano2.value);
	
	mes1 = parseInt (document.asignar_colaborador.mes.value);
	mes3 = parseInt (document.asignar_colaborador.mes3.value);
	mes2 = parseInt (document.asignar_colaborador.mes2.value);
	
	dia1 = parseInt (document.asignar_colaborador.dia.value);
	dia3 = parseInt (document.asignar_colaborador.dia3.value);
	dia2 = parseInt (document.asignar_colaborador.dia2.value);
	
	//alert ("La fecha de baja es "+ano1+" "+mes1+" "+dia1+"");
	//alert ("La fecha de baja es "+ano3+" "+mes3+" "+dia3+"");
	
	if((document.asignar_colaborador.cate_proycolab.options[document.asignar_colaborador.cate_proycolab.selectedIndex].value == 0) || (document.asignar_colaborador.cate_proycolab.options[document.asignar_colaborador.cate_proycolab.selectedIndex].value == ""))
	{
		alert ("Debes seleccionar la categoria profesional");
		document.asignar_colaborador.cate_proycolab.focus();
		error = -1;
	}
	else if  (document.asignar_colaborador.idtarifa_proycolab.value =="")
	{
		alert ("Debes escribir el id tarifa");
		document.asignar_colaborador.idtarifa_proycolab.focus();
		error = -1;
	}
	else if  (document.asignar_colaborador.tarifa_proycolab.value =="")
	{
		alert ("Debes escribir la tarifa");
		document.asignar_colaborador.tarifa_proycolab.focus(); 
		error = -1;
	} 
	else if (document.asignar_colaborador.tipoOferta.value == 3 && document.asignar_colaborador.oferta.value == ''){
      alert ("Debe escribir la oferta comercial ganada");
  		document.asignar_colaborador.oferta.focus(); 
  		error = -1
  }
	else if(!isNaN (ano3) || !isNaN (mes3) || !isNaN (dia3))	{
		//alert ("La fecha de baja es "+ano3+" "+mes3+" "+dia3+"");
		if(isNaN (ano3) || isNaN (mes3) || isNaN (dia3))
		{
			alert ("La fecha de baja debe ser totalmente completada");
			document.asignar_colaborador.ano3.focus(); 
			error = -1;
		}
		else if (ano1 > ano3)
		{
			alert ("La fecha de alta debe ser menor que la de baja (a�o)");
			//document.alta_proyecto.ano.select(); 
			//document.alta_proyecto.ano.focus();
			document.asignar_colaborador.ano3.focus(); 
			error = -1;
		}
		else if( ano1 == ano3 && mes1 > mes3)
		{
			alert ("La fecha de alta debe ser menor que la de baja (mes)");
			//document.alta_proyecto.mes.focus();
			document.asignar_colaborador.mes3.focus(); 
			error = -1;
		}
		else if( ano1 == ano3 && mes1 == mes3 && dia1 > dia3)
		{
			alert ("La fecha de alta debe ser menor que la de baja (d�a)");
			//document.alta_proyecto.dia.focus();
			document.asignar_colaborador.dia3.focus(); 
			error = -1;
		}

	}//if(ano3!= "" || mes3 != "" || dia3 != "")
	else if(document.asignar_colaborador.email_proycolab.value.length > 0 )
	{
		//alert (document.asignar_colaborador.email_proycolab.value.length);	
		if( ! ValidarEmail (document.asignar_colaborador.email_proycolab.value))
		{
			alert ("Email incorrecto");
			//document.alta_proyecto.dia.focus();
			document.asignar_colaborador.email_proycolab.focus(); 
			error = -1;
		}
	}

	if (document.asignar_colaborador.tipoOferta.value != 3){
  		document.asignar_colaborador.oferta.value = ''; 
  }

	if (error != -1){
		if (document.asignar_colaborador.alta_colab != undefined || document.asignar_colaborador.alta != undefined){
			document.asignar_colaborador.ano2.value = document.asignar_colaborador.ano.value;
			document.asignar_colaborador.mes2.value = document.asignar_colaborador.mes.value;		
			document.asignar_colaborador.dia2.value = document.asignar_colaborador.dia.value;
		} 
		document.asignar_colaborador.submit();
	}

}//function Compruebadatosasignarcolab()


function CompruebadatosasignarcolabModificando()
{
	//VARIABLES PARA LAS FECHAS
	var ano1;
	var ano3;
	var mes1;
	var mes3;
	var dia1;
	var dia3;
	var ano2;
	var mes2;
	var dia2;

	var error = 0;

    if(document.asignar_colaborador.dandoalta.value == "0")
    {
        ano1 = parseInt (document.asignar_colaborador.ano.value);
        mes1 = parseInt (document.asignar_colaborador.mes.value);
        dia1 = parseInt (document.asignar_colaborador.dia.value);
    }
    else
    {
        ano1 = parseInt (document.asignar_colaborador.anoAux.value);
        mes1 = parseInt (document.asignar_colaborador.mesAux.value);
        dia1 = parseInt (document.asignar_colaborador.diaAux.value);
    }

	ano3 = parseInt (document.asignar_colaborador.ano3.value);
	ano2 = parseInt (document.asignar_colaborador.ano2.value);
	
	mes3 = parseInt (document.asignar_colaborador.mes3.value);
	mes2 = parseInt (document.asignar_colaborador.mes2.value);

	dia3 = parseInt (document.asignar_colaborador.dia3.value);
	dia2 = parseInt (document.asignar_colaborador.dia2.value);


	if((document.asignar_colaborador.cate_proycolab.options[document.asignar_colaborador.cate_proycolab.selectedIndex].value == 0) || (document.asignar_colaborador.cate_proycolab.options[document.asignar_colaborador.cate_proycolab.selectedIndex].value == ""))
	{
		alert ("Debes seleccionar la categoria profesional");
		document.asignar_colaborador.cate_proycolab.focus();
		error = -1;
	}
	else if  (document.asignar_colaborador.idtarifa_proycolab.value =="")
	{
		alert ("Debes escribir el id tarifa");
		document.asignar_colaborador.idtarifa_proycolab.focus();
		error = -1;
	}
	else if  (document.asignar_colaborador.tarifa_proycolab.value =="")
	{
		alert ("Debes escribir la tarifa");
		document.asignar_colaborador.tarifa_proycolab.focus();
		error = -1;
	}
        /*else if  (document.asignar_colaborador.cambioTarifa.value == 'NO'&& document.asignar_colaborador.tarifa_proycolab.value != document.asignar_colaborador.tarifa_antigua.value)
	{
		alert ("Hay un mes de produccion cerrado con esta tarifa por lo que no se puede modificar, ponga la tarifa antigua o asigne el colaborador de nuevo al proyecto");
		document.asignar_colaborador.tarifa_proycolab.focus();
		error = -1;
	}//*/
	else if (document.asignar_colaborador.tipoOferta.value == 3 && document.asignar_colaborador.oferta.value == ''){
      alert ("Debe escribir la oferta comercial ganada");
  		document.asignar_colaborador.oferta.focus();
  		error = -1
    }
    else if( !fechaTarifaValida() ){
      alert("La fecha de tarifa debe ser mayor a la mas reciente"+
          " fecha de fin de colaboracion de este colaborador ("+document.asignar_colaborador.ultimoDia.value+"-"+document.asignar_colaborador.ultimoMes.value+"-"+document.asignar_colaborador.ultimoAno.value+")");
      error = -1;
    }
	else if(!isNaN (ano3) || !isNaN (mes3) || !isNaN (dia3))	{
		//alert ("La fecha de baja es "+ano3+" "+mes3+" "+dia3+"");
		if(isNaN (ano3) || isNaN (mes3) || isNaN (dia3))
		{
			alert ("La fecha de baja debe ser totalmente completada");
			document.asignar_colaborador.ano3.focus();
			error = -1;
		}
		else if (ano1 > ano3)
		{
			alert ("La fecha de alta debe ser menor que la de baja (a�o)");
			//document.alta_proyecto.ano.select();
			//document.alta_proyecto.ano.focus();
			document.asignar_colaborador.ano3.focus();
			error = -1;
		}
		else if( ano1 == ano3 && mes1 > mes3)
		{
			alert ("La fecha de alta debe ser menor que la de baja (mes)");
			//document.alta_proyecto.mes.focus();
			document.asignar_colaborador.mes3.focus();
			error = -1;
		}
		else if( ano1 == ano3 && mes1 == mes3 && dia1 > dia3)
		{
			alert ("La fecha de alta debe ser menor que la de baja (d�a)");
			//document.alta_proyecto.dia.focus();
			document.asignar_colaborador.dia3.focus();
			error = -1;
		}
	}//if(ano3!= "" || mes3 != "" || dia3 != "")
	else if(document.asignar_colaborador.email_proycolab.value.length > 0 )
	{
		//alert (document.asignar_colaborador.email_proycolab.value.length);
		if( ! ValidarEmail (document.asignar_colaborador.email_proycolab.value))
		{
			alert ("Email incorrecto");
			//document.alta_proyecto.dia.focus();
			document.asignar_colaborador.email_proycolab.focus();
			error = -1;
		}
	}

	if (document.asignar_colaborador.tipoOferta.value != 3){
  		document.asignar_colaborador.oferta.value = '';
    }

	if (error != -1){
		if (document.asignar_colaborador.alta_colab != undefined || document.asignar_colaborador.alta != undefined){
			document.asignar_colaborador.ano2.value = document.asignar_colaborador.ano.value;
			document.asignar_colaborador.mes2.value = document.asignar_colaborador.mes.value;
			document.asignar_colaborador.dia2.value = document.asignar_colaborador.dia.value;
		}
		document.asignar_colaborador.submit();
	}

}//function CompruebadatosasignarcolabModificando()
//Carlos Ortiz 19-4-04
//Funci�n para testear el navegador
//Problema del scroll
//Depurar

function Test_navegador()//DEPURAR
{
	if (navigator.appName == "Netscape")
	{ 
		document.write(""); 
	} 
	else if (navigator.appName.indexOf("Explorer") != -1)
	{ 
		document.write("<center><DIV STYLE='width:80%;height:280px;overflow-y:scroll'></center>"); 
	} 

}//function Test_navegador()

//Carlos Ortiz 25-5-04
//funcion para recargar la p�gina pasandole como parametro el c�digo de clivpro
function Carga_Pagina_Parte_Incidencias()
{
	//alert (pagina);
	location='incidencias_ssc.php?cod_cliprov='+document.parte_incidencia_ssc.cod_cliprov.value+'&nueva_incidencia=si';
}
function Carga_Pagina_Modificar_Parte_Incidencias()
{
	//alert (pagina);
	location='ver_incidencias.php?cod_cliprov='+document.ver_incidencias.cod_cliprov.value+'&cod_incidencia='+document.ver_incidencias.cod_incidencia.value+'&modificar_incidencia=SI';
}
function Carga_Pagina_Anadir_Colab_Proy()
{
	//alert (document.asignar_colaborador.m_colab.value);
	location='anadir_colab_proy.php?matricula_colab='+document.asignar_colaborador.m_colab.value+'&cod_proyecto='+document.asignar_colaborador.cod_proyecto.value;
}

//Carlos Ortiz 22-7-04
//funcion para recargar la p�gina de fcturacion 
function Carga_Pagina_Facturacion()
{
	//alert ("HOLA");
	document.facturacion.submit();
	//alert (document.facturacion.iva.value);
	//location='facturacion.php?IVA=SI&cod_factura='+cod_factura+'&cod_proyecto='+cod_proyecto+'&iva='+iva;
}
function Carga_Pagina_Ver_Incidencias()
{
	//alert (pagina);
	//location='ver_incidencias.php?modificar_incidencia=SI&cod_cliprov='+document.ver_incidencias.cod_cliprov.value;
	location='ver_incidencias.php?modificar_incidencia=SI&cod_incidencia='+document.ver_incidencias.cod_incidencia.value+'&cod_cliprov='+document.ver_incidencias.cod_cliprov.value;
}
function Carga_Pagina_Anticipo()
{
	//alert (pagina);
	//location='ver_incidencias.php?modificar_incidencia=SI&cod_cliprov='+document.ver_incidencias.cod_cliprov.value;
	location='anticipo.php?nuevo_anticipo=SI&matricula_colab='+document.anticipo.matricula_colab.value;
}
function Carga_Pagina_Modificar_Anticipo()
{
	//location='anticipo.php?modificar_anticipo=SI&mod_ant=SI&matricula_colab='+document.anticipo.matricula_colab.value;
	location='anticipo.php?modificar_anticipo=SI&mod_ant=si&matricula_colab='+document.anticipo.matricula_colab.value+'&cod_anticipo='+document.anticipo.cod_anticipo.value;
}
function Carga_Facturacion_Proycol()
{
	//alert ('Hola');
	//location='ver_incidencias.php?modificar_incidencia=SI&cod_cliprov='+document.ver_incidencias.cod_cliprov.value;
	location='factura_proycol.php?abrir=SI&mes_elegido='+document.form_entrada_datos.mes.value+'&ano_elegido='+document.form_entrada_datos.ano.value;
}
function Carga_Facturacion_Proycol2()
{
	//alert ('Hola');
	//document.form_entrada_datos.submit();
	//location='ver_incidencias.php?modificar_incidencia=SI&cod_cliprov='+document.ver_incidencias.cod_cliprov.value;
	location='factura_proycol.php?abrir=SI&colaborador='+document.form_entrada_datos.colaborador.value;
}
function Carga_Facturacion_Proycol3()
{
	//alert ('Hola');
	//document.form_entrada_datos.submit();
	//location='ver_incidencias.php?modificar_incidencia=SI&cod_cliprov='+document.ver_incidencias.cod_cliprov.value;
	location='factura_proycol.php?abrir=SI&cod_proyecto='+document.form_entrada_datos.cod_proyecto.value;
}
function Analitica1()
{
	//alert (elegir_clipro.tipo_mod(1).value);
	//document.form_entrada_datos.submit();
	//location='ver_incidencias.php?modificar_incidencia=SI&cod_cliprov='+document.ver_incidencias.cod_cliprov.value;
	if (document.elegir_clipro.tipo_mov[0].checked)
	{
		//alert(document.elegir_clipro.tipo_mov[0].checked);
		//alert(document.elegir_clipro.tipo_mov[0].value);
		location='analitica.php?elegir_cliente=SI&cod_cliente='+document.elegir_clipro.cod_cliente.value+'&cod_proyecto='+document.elegir_clipro.cod_proyecto.value+'&tipo_mov=I';
	}
	else
	{
		location='analitica.php?elegir_cliente=SI&cod_cliente='+document.elegir_clipro.cod_cliente.value+'&cod_proyecto='+document.elegir_clipro.cod_proyecto.value+'&tipo_mov=G';
	}
}
function Analitica3()
{
	var error =0;
	if  (document.elegir_clipro.cod_proyecto.value == 0 || document.elegir_clipro.cod_cliente.value == 0)
	{
		alert ("Tiene que seleccionar un Cliente y un Proyecto");
		if (document.elegir_clipro.cod_cliente.value == 0)
		{
			document.elegir_clipro.cod_cliente.focus(); 
		} else 
		{
			document.elegir_clipro.cod_proyecto.focus(); 
		}
		error = -1;
	}

	if(error > -1) 
	{
		document.elegir_clipro.submit();
	}
}
function Analitica4(form)
{
	var error =0;
	if  (form.cod_ingr_gast.value == 0)
	{
		alert ("El Tipo de Movimiento es Obligatorio");
		form.cod_ingr_gast.focus(); 
		error = -1;
	}
	if  (form.tipo_contable.value == 0)
	{
		alert ("El Tipo Contable es Obligatorio");
		form.tipo_contable.focus(); 
		error = -1;
	}

	if  (error == 0 && (form.colaborador.value == 0 || form.precio_hora.value == 0) && (form.cod_ingr_gast.value == 5 || form.cod_ingr_gast.value == 7))
	{
		alert ("Introduzca Colaborador y Precio Hora");
		if (form.colaborador.value == 0)
		{
			form.colaborador.focus(); 
		} else 
		{
			form.precio_hora.focus(); 
		}
		error = -1;

	}
	if  (error == 0 &&(form.cod_ingr_gast.value != 5 && form.cod_ingr_gast.value != 7) && (form.precio.value == 0 ))
	{
		alert ("Introduzca el importe.");
		if (form.precio.value == 0)
		{
			form.precio.focus(); 
		} 
		error = -1;

	}
	
	if(error > -1) 
	{
		
	if (ejecuta(form)) 
		{
			form.submit();
		}
		
	}
}
/*
function Analitica4 (form)
{
	var error =0;
	if  ((document.form.colaborador.value == 0 || document.form.precio_hora.value == 0) && (document.form.cod_ingr_gast.value == 1 || document.form.cod_ingr_gast.value == 2 || document.form.cod_ingr_gast.value == 5 || document.form.cod_ingr_gast.value == 7))
	{
		alert ("Introduzca Colaborador y Precio Hora");
		if (document.form.colaborador.value == 0)
		{
			document.form.colaborador.focus(); 
		} else 
		{
			document.form.precio_hora.focus(); 
		}
		error = -1;

	}
	if  (document.form.cod_ingr_gast.value == 0)
	{
		alert ("El Tipo de Movimiento es Obligatorio");
		document.form.cod_ingr_gast.focus(); 
		error = -1;
	}

	if(error > -1) 
	{
		document.form.submit();
	}
}
*/
//Jaime Zorrilla 26-04-05
//Funci�n que comprueba que al cerrar un proyecto se ha introducido la fecha de cierre
function Comprueba_Fecha_Cierre()
{
//alert ("hola"+document.alta_proyecto.cierre.options[document.alta_proyecto.cierre.selectedIndex].value);
if  (document.cierre =="SI" && (document.ano3 == 0 || document.mes3 == 0 || document.dia3 == 0 ))
	{
	alert ("Introduce Fecha Final de Proyecto");
	document.dia3.focus(); 
	}
}


//Carlos Ortiz 14-6-04
//funcion para comparar dos fechas 
function Compara_dos_Fechas(ano1,mes1,dia1,ano2,mes2,dia2)
{
	var ano ;
	var ano2;
	var mes ;
	var mes2;
	var dia ;
	var dia2;
	
	var error = 0;
	
	ano = parseInt (ano1);
	ano2 = parseInt (ano2);
	
	mes = parseInt (mes1);
	mes2 = parseInt (mes2);
	
	dia = parseInt (dia1);
	dia2 = parseInt (dia2);
	
	if(!isNaN (ano2) || !isNaN (mes2) || !isNaN (dia2))
	{
		//alert ("La fecha de baja es "+ano3+" "+mes3+" "+dia3+"");
		if(isNaN (ano2) || isNaN (mes2) || isNaN (dia2))
		{
			alert ("La fecha de baja debe ser totalmente completada");
			//document.asignar_colaborador.ano3.focus(); 
			error = -1;
		}
		else if (ano  > ano2)
		{
			alert ("La fecha de alta debe ser menor que la de baja (a�o)");
			//document.alta_proyecto.ano.select(); 
			//document.alta_proyecto.ano.focus();
			//document.asignar_colaborador.ano3.focus(); 
			error = -1;
		}
		else if( ano  == ano2 && mes  > mes2)
		{
			alert ("La fecha de alta debe ser menor que la de baja (mes)");
			//document.alta_proyecto.mes.focus();
			//document.asignar_colaborador.mes3.focus(); 
			error = -1;
		}
		else if( ano == ano2 && mes == mes2 && dia > dia2)
		{
			alert ("La fecha de alta debe ser menor que la de baja (d�a)");
			//document.alta_proyecto.dia.focus();
			//document.asignar_colaborador.dia3.focus(); 
			error = -1;
		}
	}
		//else
		//{
				//error = 1;
		//}
		
		return error;
}

function Carga_Pagina_Nuevo_Pedido()
{
	alert ("CARGAR PAGINA");
	//location='ver_incidencias.php?modificar_incidencia=SI&cod_incidencia='+document.ver_incidencias.cod_incidencia.value+'&cod_cliprov='+document.ver_incidencias.cod_cliprov.value;
}
   function currencyFormat(fld, milSep, decSep, e) { 
    var sep = 0;
    var key = ''; 
    var i = j = 0; 
    var len = len2 = 0; 
    var strCheck = '0123456789'; 
    var aux = aux2 = ''; 
    var whichCode = (window.Event) ? e.which : e.keyCode; 
    if (whichCode == 13) return true; // Enter 
    key = String.fromCharCode(whichCode); // Get key value from key code 
    if (strCheck.indexOf(key) == -1) return false; // Not a valid key 
    len = fld.value.length; 
    for(i = 0; i < len; i++) 
     if ((fld.value.charAt(i) != '0') && (fld.value.charAt(i) != decSep)) break; 
    aux = ''; 
    for(; i < len; i++) 
     if (strCheck.indexOf(fld.value.charAt(i))!=-1) aux += fld.value.charAt(i); 
    aux += key; 
    len = aux.length; 
    if (len == 0) fld.value = ''; 
    if (len == 1) fld.value = '0'+ decSep + '0' + aux; 
    if (len == 2) fld.value = '0'+ decSep + aux; 
    if (len > 2) { 
     aux2 = ''; 
     for (j = 0, i = len - 3; i >= 0; i--) { 
      if (j == 3) { 
       aux2 += milSep; 
       j = 0; 
      } 
      aux2 += aux.charAt(i); 
      j++; 
     } 
     fld.value = ''; 
     len2 = aux2.length; 
     for (i = len2 - 1; i >= 0; i--) 
      fld.value += aux2.charAt(i); 
     fld.value += decSep + aux.substr(len - 2, len); 
    } 
    return false; 
   }

   function formatoNumerico( cuadroTexto, milSep, decSep, e) {
	 var sep = 0;
    var key = '';
    var i = j = 0;
    var len = len2 = 0;
    var strCheck = '0123456789';
    var aux = aux2 = '';
   var whichCode = (window.Event) ? e.which : e.keyCode

    if (whichCode == 13) return true; // Enter

    if (strCheck.indexOf(key) == -1) return false; // Not a valid key

    len = cuadroTexto.value.length;

    for(i = 0; i < len; i++)
     if (( cuadroTexto.value.charAt(i) != '0') && ( cuadroTexto.value.charAt(i) != decSep)) break;
    aux = '';
    for(; i < len; i++)
     if (strCheck.indexOf( cuadroTexto.value.charAt(i))!=-1) aux +=  cuadroTexto.value.charAt(i);
    aux += key;
    len = aux.length;
    if (len == 0)  cuadroTexto.value = '';
    if (len == 1)  cuadroTexto.value = '0'+ decSep + '0' + aux;
    if (len == 2)  cuadroTexto.value = '0'+ decSep + aux;
    if (len > 2) {
     aux2 = '';
     for (j = 0, i = len - 3; i >= 0; i--) {
      if (j == 3) {
       aux2 += milSep;
       j = 0;
      }
      aux2 += aux.charAt(i);
      j++;
     }
      cuadroTexto.value = '';
     len2 = aux2.length;
     for (i = len2 - 1; i >= 0; i--)
       cuadroTexto.value += aux2.charAt(i);
      cuadroTexto.value += decSep + aux.substr(len - 2, len);
    }
    return false;
   }

   
   // Funcion para Validar la Fecha -------------------------------------------------
   
   // Creaci�n de un objeto para manejar los errores
   var error= new crear_error();
   
    // Ejecuta la validaci�n pedida
   function ejecuta(form)
	{

   	if (comprobar_fecha(form.fecha_anot.value,error))
      {
			//alert("El campo es v�lido")
			
			return true;
			}
   	else
	    {
      alert("El campo NO es v�lido. ERROR:"+error.mensaje+
            " en la posicion "+error.posicion);
      return false;
		}
	}

   
   // Crea un objeto que guarda un mensaje de error y un 
   // indice a la posici�n donde se ha producido dentro de una cadena
   function crear_error()
   {
   this.mensaje="";
   this.posicion=0;
   this.rellenar=rellenar;
   }
  
   // M�todo del objeto "crearerror" que rellena el error con un mensaje
   // explicativo y la posici�n donde se produjo dentro de la cadena validada
   function rellenar(mensaje,posicion)
   {
   	//alert(mensaje);
   this.mensaje=mensaje;
   this.posicion=posicion;
   return false;
   }

   // Determina si un car�cter es un n�mero
   function es_numero(car)
   {
   var NUMEROS="0123456789";
   return (NUMEROS.indexOf(car) >= 0)
   }
   
   // Determina si un a�o es bisiesto
   function es_bisiesto(anio) 
   {
   if (((anio % 4 == 0) && anio % 100 != 0) || anio % 400 == 0) 
      return true;
   return false;
   }

   // Comprueba si una fecha es correcta
   function comprobar_fecha(contenido,error)
   {
   var separador_fecha="-";
   var blanco=" ";
   var numero_separadores=0;

   if ((contenido.length == 0))
      return error.rellenar("Campo vac�o no contiene ning�n valor ",1);

   // Comprobaci�n de la sint�xis de una fecha 
   for (var i=0; i < contenido.length; i++)
      {
      var caracter=contenido.charAt(i);
      if (!es_numero(caracter) && caracter != separador_fecha && caracter != blanco)
         return error.rellenar("Car�cter ilegal en una fecha",i+1); 
      if (caracter == separador_fecha)
        numero_separadores++ 
      }
   if (numero_separadores != 2)
      return error.rellenar("Faltan separadores en una fecha",i+1); 
    
   // Comprobaci�n de la sem�ntica de una fecha
   var posicion_separador_1=contenido.indexOf(separador_fecha);
   var dia=contenido.substring(0,posicion_separador_1);
   var posicion_separador_2=contenido.indexOf(separador_fecha,
                                                        posicion_separador_1+1);
   var mes=contenido.substring(posicion_separador_1+1,posicion_separador_2); 
   var anio=contenido.substring(posicion_separador_2+1,contenido.length);   // antes var anio=contenido.substring(posicion_separador_2+1,10);
   var anio="20"+anio;  									// esto es para a�os de 2
   if (anio.length != 4)
      return error.rellenar("A�o incorrecto en una fecha",6); 
   if (mes < 1 || mes > 12)
      return error.rellenar("Mes incorrecto en una fecha",4);
   if ((dia < 1 || dia > 31) || (mes == 4 && dia > 30) ||
       (mes == 6 && dia > 30) || (mes == 9 && dia > 30) ||
       (mes == 11 && dia > 30) || (mes == 2 && es_bisiesto(anio) && dia > 29) ||
       (mes == 2 && !es_bisiesto(anio) && dia > 28))
      return error.rellenar("D�a incorrecto en una fecha",2);
   return true 
   } 
  function Seguimiento1()
{
	//alert (elegir_clipro.tipo_mod(1).value);
	//document.form_entrada_datos.submit();
	//location='ver_incidencias.php?modificar_incidencia=SI&cod_cliprov='+document.ver_incidencias.cod_cliprov.value;
	//alert('Vaaaamos');
	if (document.elegir_cliente.cod_cliente.options[document.elegir_cliente.cod_cliente.selectedIndex].value == 0)
	{
		location.href='anadir_cliente.php?prov=SC';
		//	elegir_clipro.submit();
	} else 
	{
		location.href='seguimiento_comercial.php?abrir=si&cod_cliente='+document.elegir_cliente.cod_cliente.options[document.elegir_cliente.cod_cliente.selectedIndex].value;
	}
}
  function Seguimiento2()
{
	//alert (elegir_clipro.tipo_mod(1).value);
	//document.form_entrada_datos.submit();
	//location='ver_incidencias.php?modificar_incidencia=SI&cod_cliprov='+document.ver_incidencias.cod_cliprov.value;
	
	var v_ano =     document.elegir_ano_cliente.ano.options[document.elegir_ano_cliente.ano.selectedIndex].value;
	var v_cliente = document.elegir_ano_cliente.cod_cliente.options[document.elegir_ano_cliente.cod_cliente.selectedIndex].value;
	
	var cCadtemp ='seguimiento_comercial.php?'
	
	var cadena1 = 'listar=si';
	var cadena2 = 'cod_cliente=' + v_cliente;
	var cadena3 = "ano=" + v_ano;
	
//	location.href= cCadtemp + cadena1 + '&' + cadena2 + '&' + cadena3;
	location.href= cCadtemp + cadena1;
	
//	location.href='seguimiento_comercial.php?listar=si&cod_cliente="v_cliente"';

}

//Jaime Zorrilla 02-09-05
// Funci�n para arrancar la p�gina se seguimiento comercial despues de dar de alta el cliente
//function Validar_formulario_cliente(form1)
//{
//	form1.submit();
//}

   // Ejecuta la validaci�n pedida
   function ejecuta()
   {
	   
   if (comprobar_fecha(document.form_alta.fecha_anot))
      {
			//alert("El campo es v�lido")
			return true;
			}
   else
	    {
      alert("El campo NO es v�lido. ERROR:"+error.mensaje+
            " en la posicion "+error.posicion);
      return false;
			}
	 }
  
function tieneFoco(obj){
	obj.className = "textoFoco";
}

function pierdeFoco(obj, clase){
	obj.className = clase;
}

function comprobarFecha(contenido, error){
	var separador_fecha = "-";
	var numero_separadores = 0;
	
	if ((contenido.length == 0))
	  return error.rellenar("Debe rellenar el campo Fecha ",1);
	
	// Comprobaci�n de la sint�xis de una fecha 
	for (var i=0; i < contenido.length; i++)
	  {
	  var caracter=contenido.charAt(i);
	  if (!es_numero(caracter) && caracter != separador_fecha)
	     return error.rellenar("Car�cter ilegal en una fecha",i+1); 
	  if (caracter == separador_fecha)
	    numero_separadores++ 
	  }
	if (numero_separadores != 2)
	  return error.rellenar("Faltan separadores en una fecha",i+1); 
	
	// Comprobaci�n de la sem�ntica de una fecha
	var posicion_separador_1=contenido.indexOf(separador_fecha);
	var dia=contenido.substring(0,posicion_separador_1);
	var posicion_separador_2=contenido.indexOf(separador_fecha,
	                                                    posicion_separador_1+1);
	var mes=contenido.substring(posicion_separador_1+1,posicion_separador_2); 
	var anio=contenido.substring(posicion_separador_2+1,10);
	if (anio.length != 4)
	  return error.rellenar("A�o incorrecto en una fecha",6); 
	if (mes < 1 || mes > 12)
	  return error.rellenar("Mes incorrecto en una fecha",4);
	if ((dia < 1 || dia > 31) || (mes == 4 && dia > 30) ||
	   (mes == 6 && dia > 30) || (mes == 9 && dia > 30) ||
	   (mes == 11 && dia > 30) || (mes == 2 && es_bisiesto(anio) && dia > 29) ||
	   (mes == 2 && !es_bisiesto(anio) && dia > 28))
	  return error.rellenar("D�a incorrecto en una fecha",2);
	return true 
} 
  
function getFormatoFechaDB(fechaOriginal){
   	var separadorFecha = "-";

	var posicionSeparador1 = fechaOriginal.indexOf(separadorFecha);
   	var dia = fechaOriginal.substring(0, posicionSeparador1);
   	var posicionSeparador2 = fechaOriginal.indexOf(separadorFecha, posicionSeparador1 + 1);
   	var mes = fechaOriginal.substring(posicionSeparador1 + 1, posicionSeparador2); 
   	var anio = fechaOriginal.substring(posicionSeparador2 + 1, 10);
	
	return (anio + "-" + mes + "-" + dia);	
}

function validarRadioSeleccionado(grupo, error){
	var sw = false;
	//alert("grupo.length: " + grupo.length)
	for (var i = 0; i < grupo.length; i++){
		if (grupo[i].checked){
			sw = true;	
		}
	}		
	if (!sw){
		return error.rellenar("Debe seleccionar una opci�n", 1); 	  
	}
	return true;
} 

function valorRadioSeleccionado(grupo){
	for (var i = 0; i < grupo.length; i++){
		if (grupo[i].checked){
			//alert("grupo[i].value: " + grupo[i].value);
			return grupo[i].value;	
		}
	}			
	
	return "";
}

function validarEmail(emailStr, error){
	try{
		  if (/^\w+([\.-]?\w+)*@\w+([\.-]?\w+)*(\.\w{2,3})+$/.test(emailStr)){
   			return true;
  		} else {
   			return error.rellenar("La direcci�n de email es incorrecta.", 2);   		
  		}				
	}catch (e){
		alert("Error: " + e.description);
	}

}

function eliminaCaracter(palabra, signo){
	var x = ''
	for(var k=0;k < palabra.length;k++) {
		if (palabra.charAt(k) != signo) {
			x += palabra.charAt(k)
		} else {
			x += ' '
		}
	}				
	return x
}	

/**
 * Funci�n que oculta una capa si el flag es False
*/
function capaVisible(flag, nombreCapa){
  var clase = "capaVisible";
  if(!flag){
    clase = "capaInvisible"
  }
  (document.getElementById(nombreCapa)).className=clase;
}

function evaluateText(cadena, obj){
    if (obj.value == "00:00"){
      obj.value = "";
    }
    opc = false;
    var strSeperator = ':';
    if (cadena == "%d")
     if (event.keyCode > 47 && event.keyCode < 58)
      opc = true;
    if (cadena == "%f"){
     if (event.keyCode > 47 && event.keyCode < 58)
      opc = true;
    }
    if(opc == false) {
     event.returnValue = false;
    }
}
/*
function actualizaFiltroProduccionFacturacion() {

    with(document.filtro){
        if(mes.value !="0")
        {
            if(cmbAnos.value !="0")
            {
                if(unidad_negocio.value !="0")
                {
                    proyecto.value = "0";
                    document.filtro.submit();
                }//if(unidad_negocio.value =="0")
            }//if(cmbAnos.value =="0")
        }//if(mes.value =="0")

      }//with(document.Produccion_facturacion)

}//actualizaFiltroProduccionFacturacion()*/

//jasm 7/10/2005
// Funci�n adaptada al nuevo formulario de alta de proyecto
//funcion para comprobar el formulario de Alta proyecto
function Compruebadatosfiltro() {

  var resultado = 0;
  var cerrado = '';

  with(document.filtro){

    if (mes.options[mes.selectedIndex].value == 0) {
  		alert ("Debe seleccionar un mes");
  		mes.focus();
  		resultado = -1;
  	}
    else if (anos.options[anos.selectedIndex].value == 0) {
  		alert ("Debe seleccionar un a\u00f1o");
  		anos.focus();
  		resultado = -1;
  	}
    else if (unidad_negocio.options[unidad_negocio.selectedIndex].value == 0) {
  		alert ("Debe seleccionar una unidad de negocio");
  		unidad_negocio.focus();
  		resultado = -1;
  	}
    else if (proyecto.options[proyecto.selectedIndex].text == "undefined") {
  		alert ("Debe seleccionar un proyecto");
  		proyecto.focus();
  		resultado = -1;
  	}

  	if(resultado > -1){
		  submit();
    }//if(resultado > -1)
  }//with(document.filtro)

}//function Compruebadatosfiltro()


function CompruebadatosfiltroPendiente() {

  var resultado = 0;
  var cerrado = '';

  with(document.filtro){

    if (anos.options[anos.selectedIndex].value == 0) {
  		alert ("Debe seleccionar un a\u00f1o");
  		anos.focus();
  		resultado = -1;
  	}
    else if (unidad_negocio.options[unidad_negocio.selectedIndex].value == 0) {
  		alert ("Debe seleccionar una unidad de negocio");
  		unidad_negocio.focus();
  		resultado = -1;
  	}
    else if (proyecto.options[proyecto.selectedIndex].text == "undefined") {
  		alert ("Debe seleccionar un proyecto");
  		proyecto.focus();
  		resultado = -1;
  	}

  	if(resultado > -1){
		  submit();
    }//if(resultado > -1)
  }//with(document.filtro)

}//function CompruebadatosfiltroPendiente()

function Compruebadatosaltaproyecto() {
	
  var resultado = 0;
  var cerrado = '';
    
  with(document.alta_proyecto){
  	
    for (i=0;i<cierre.length;i++){ 
       if (cierre[i].checked) break; 
    } 
  	cerrado = cierre[i].value;
  	  	
    if (codCliente.options[codCliente.selectedIndex].value == 0) {
  		alert ("Debe seleccionar un Cliente");
  		codCliente.focus();
  		resultado = -1;
  	}
    else if (ano_proyecto.value == "" || ano_proyecto.value.length < 4) {
  		alert ("A\u00f1o del proyecto incorrecto");
  		ano_proyecto.focus();
  		resultado = -1;
  	}
  	else if (nomb_proyecto.value =="") {
  		alert ("Debe escribir el nombre del proyecto");
  		nomb_proyecto.focus();
  		resultado = -1;
  	}
  	/*  	
  	else if (desc_proyecto.value =="") {
  		alert ("Debe escribir la descripci�n del proyecto");
  		desc_proyecto.focus();
  		return -1;
  	}
  	*/
    else if(gestor_proyecto.options[gestor_proyecto.selectedIndex].value == 0){
      alert ("Debe seleccionar un Gestor");
      gestor_proyecto.focus();
      resultado = -1;
    }
    else if(clas_proyecto.options[clas_proyecto.selectedIndex].value == 0){
      alert ("Debe seleccionar la Clasificaci�n");
      clas_proyecto.focus();
      resultado = -1;
    }
    else if (tipoOferta.value == 2 && oferta.value == ''){
      alert ("Debe escribir la oferta del proyecto");
  		oferta.focus(); 
  		resultado = -1
    }    
    else if (fecha_proyecto.value == ""){
      alert ("Debe insertar la fecha de inicio del proyecto.");
      fecha_proyecto.focus();
      resultado = -1;
    } 
    else if ((fechf_proyecto.value == "00-00-0000") && (cerrado == 'SI')){
      alert ("Para cerrar el proyecto debe insertar la fecha de fin.");
      fechf_proyecto.focus();
      resultado = -1;
    }     
    else  if ((fechf_proyecto.value != "00-00-0000" && fechf_proyecto.value != "") && (cerrado == 'NO')){
      alert ("No puede insertar la fecha de fin si no va a cerrar el proyecto.");
      fechf_proyecto.focus();
      resultado = -1;
    } 
    else if ((!Comparar_Fecha(fecha_proyecto, fechf_proyecto))&& (fechf_proyecto.value != "00-00-0000" && fechf_proyecto.value != "")){
			alert("La fecha fin debe ser posterior a la fecha de alta.");
			fechf_proyecto.focus();
      resultado = -1;
		}
    else if (unidad_negocio_mercado.value =="") {
  		alert ("Debes seleccionar una U.N. Comercial");
  		unidad_negocio_mercado.focus();
  		resultado = -1;
  	}
    else if (unidad_negocio_linea.value =="") {
  		alert ("Debes seleccionar una U.N. operativa");
  		unidad_negocio_linea.focus();
  		resultado = -1;
  	}

    else if (tipo_facturacion.value =="") {
  		alert ("Debes seleccionar un Tipo de Facturaci�n");
  		tipo_facturacion.focus(); 
  		resultado = -1;
  	}
    /*else if(!/^[0-9]+$/.test(rappel.value))
        {
            alert("Debe introducir un valor numerico en rappel");
            rappel.focus();
            resultado = -1;
        }//if*/
    else if (num_cuenta.value == "" ){
      alert ("Debe seleccionar un N�mero de Cuenta");
  		num_cuenta.focus(); 
  		resultado = -1
    }
  	if(resultado > -1){
	  	fecha_proyecto.value = getFormatoFechaDB(fecha_proyecto.value);
	  	fechf_proyecto.value = (fechf_proyecto.value == '')? '0000-00-00':getFormatoFechaDB(fechf_proyecto.value);
		  submit();
	  }
  }
}
function carga_incidencia()
{
	//alert (elegir_clipro.tipo_mod(1).value);
	//document.form_entrada_datos.submit();
	//location='ver_incidencias.php?modificar_incidencia=SI&cod_cliprov='+document.ver_incidencias.cod_cliprov.value;
	//alert('Vaaaamos');
	if (document.parte_incidencia_ssc.cod_proyecto.options[document.parte_incidencia_ssc.cod_proyecto.selectedIndex].value != 0)
	{
		location.href='incidencias_ssc.php?nueva_incidencia=si&cod_proyhoras='+document.parte_incidencia_ssc.cod_proyecto.options[document.parte_incidencia_ssc.cod_proyecto.selectedIndex].value;
	}
}

function Recarga_Modi_Inci(tipo, frm)
{
	//alert ('Hola'+tipo);
	//document.form_entrada_datos.submit();
	//location='ver_incidencias.php?modificar_incidencia=SI&cod_cliprov='+document.ver_incidencias.cod_cliprov.value;
	//location='incidencias_ssc.php?cod_inci='+document.form_mod_inc.cod_incidencia.value+'&modificar_perinci=SI&tipo='+tipo;
	frm.action='incidencias_ssc.php?cod_inci='+document.form_mod_inc.cod_incidencia.value+'&modificar_perinci=SI&tipo='+tipo;
	frm.submit();
}
function Comparar_Fecha(Obj1,Obj2) 
{
String1 = Obj1.value;
String2 = Obj2.value;
// Si los dias y los meses llegan con un valor menor que 10 
// Se concatena un 0 a cada valor dentro del string 
if (String1.substring(1,2)=="-") {
String1="0"+String1
}
if (String1.substring(4,5)=="-"){
String1=String1.substring(0,3)+"0"+String1.substring(3,9)
}

if (String2.substring(1,2)=="-") {
String2="0"+String2
}
if (String2.substring(4,5)=="-"){
String2=String2.substring(0,3)+"0"+String2.substring(3,9)
}

dia1=String1.substring(0,2);
mes1=String1.substring(3,5);
anyo1=String1.substring(6,10);
dia2=String2.substring(0,2);
mes2=String2.substring(3,5);
anyo2=String2.substring(6,10);


if (dia1 == "08") // parseInt("08") == 10 base octogonal
dia1 = "8";
if (dia1 == '09') // parseInt("09") == 11 base octogonal
dia1 = "9";
if (mes1 == "08") // parseInt("08") == 10 base octogonal
mes1 = "8";
if (mes1 == "09") // parseInt("09") == 11 base octogonal
mes1 = "9";
if (dia2 == "08") // parseInt("08") == 10 base octogonal
dia2 = "8";
if (dia2 == '09') // parseInt("09") == 11 base octogonal
dia2 = "9";
if (mes2 == "08") // parseInt("08") == 10 base octogonal
mes2 = "8";
if (mes2 == "09") // parseInt("09") == 11 base octogonal
mes2 = "9";

dia1=parseInt(dia1);
dia2=parseInt(dia2);
mes1=parseInt(mes1);
mes2=parseInt(mes2);
anyo1=parseInt(anyo1);
anyo2=parseInt(anyo2);

if (anyo1>anyo2)
{
return false;
}

if ((anyo1==anyo2) && (mes1>mes2))
{
return false;
}
if ((anyo1==anyo2) && (mes1==mes2) && (dia1>dia2))
{
return false;
} 

return true;
}
function sumarPonderacion(frm){
	var totalGastos = new Number("0");
    with (frm) {
    			
		totalGastos += (!isNaN(rentabilidad_proy.value) && rentabilidad_proy.value != 0)?new Number(rentabilidad_proy.value):new Number("0");
		totalGastos += (!isNaN(duracion_proy.value) && duracion_proy.value != 0)? new Number(duracion_proy.value):new Number("0");
		totalGastos += (!isNaN(estrategia.value) && estrategia.value != 0)? new Number(estrategia.value):new Number("0");
		                           		                           
        total.value =  totalGastos;
    }                  
} 

  function valida_migrar(minAnio){//Procedimiento para valudar el formulario de migrar_proyecto
  	anio=document.migrar.txtanio.value;
  	
  if(anio < (minAnio+1)|| isNaN(anio) || anio.length>4 || (document.migrar.txtnombre.value.length<1)){		
  		if(anio <(minAnio+1)||isNaN(anio) || anio.length>4){
  	 			alert("El a�o no es correcto.");
  		 }  		  		 
  	  	if (document.migrar.txtnombre.value.length<1){
  				 alert("Debe introducir un nombre para el nuevo proyecto.");
  			}
  	}
  	else{
  		if(confirm("Se va a cerrar el proyecto y se creara uno nuevo\n      �Desea continuar?")){
  			document.migrar.submit();
  		}
  		
    }
  }
  
  function cancelar_migrar(cod_proyecto){
  	document.migrar.action="ficha_proyecto.php?cod_proyecto=" + cod_proyecto;
  	document.migrar.submit();
  }	                     


function valorInicial(cuadroTexto){
    texto = parseFloat(cuadroTexto.value.replace('.',','));

    if( texto == 0)
    {
        cuadroTexto.value = "";
    }//if( texto == 0)
}//valorInicial(cuadroTexto) -- esta funcion se usa para que cuando un cuadro de texto tenga el foco se borre el contenido si vale 0,00

function validarTexto(cuadroTexto){

    var caracteresPermitidos="0123456789,.";
    var comaExistente = false;

    var indiceComaAnterior = -1;

    texto = cuadroTexto.value;



    for(i=0; i<texto.length; i++){


        if (caracteresPermitidos.indexOf(texto.charAt(i),0) ==-1)
        {
            //alert("no numerico");
            texto = texto.replace(texto.charAt(i),"");

            i--;
            indiceComaAnterior--;

        }//if (caracteresPermitidos.indexOf(texto.charAt(i),0) ==-1)
        else
        {
            //si pone un punto lo convertimos en una coma
            if (".".indexOf(texto.charAt(i),0) !=-1)
            {
                texto = texto.replace(texto.charAt(i),",");
            }//if (".".indexOf(texto.charAt(i),0) !=-1)

            //si pone mas de una coma nos quedamos con la que este mas a la izquierda
            if (".".indexOf(texto.charAt(i),0) !=-1)
            {
                if( indiceComaAnterior < 0 ){
                    indiceComaAnterior = i;
                }//if( indiceComaAnterior < 0 )
                else
                {
                    texto = texto.replace(texto.charAt(indiceComaAnterior),"");

                    i--;
                    indiceComaAnterior = i;
                }//else
            }//if (",".indexOf(texto.charAt(i),0) !=-1)


        }//else

    }//for(i=0; i<texto.length; i++)



    cuadroTexto.value = texto;

}//validarTexto(cuadroTexto)

function valorFinal(cuadroTexto){
    if( parseFloat(cuadroTexto.value.replace('.',',')) == 0 || cuadroTexto.value == "")
    {
        cuadroTexto.value = "0.00";
    }//if( parseFloat(cuadroTexto.value.replace(',','.')) == 0 || cuadroTexto.value == "")
    if( cuadroTexto.value.indexOf(".") != -1 && (cuadroTexto.value.length-1 - cuadroTexto.value.indexOf(",")) == 1 )
    {
        cuadroTexto.value = cuadroTexto.value + "0"
    }//if( cuadroTexto.value.indexOf(",") != -1 && (cuadroTexto.value.length-1 - cuadroTexto.value.indexOf(",")) == 1 )

    if(cuadroTexto.value.indexOf(".") == -1)
    {
        cuadroTexto.value = cuadroTexto.value + ".00"
    }//if(cuadroTexto.value.indexOf(",") == -1)

    if(cuadroTexto.value.indexOf(".") == (cuadroTexto.value.length-1) )
    {
        cuadroTexto.value = cuadroTexto.value + "00"
    }//if(cuadroTexto.value.indexOf(",") == (cuadroTexto.value.length-1) )

}//valorFinal(cuadroTexto) -- sirve para que cuando pierda el foco si no hay valor para el cuadro de texto se ponga a 0,00

