/*
---------------------------------------------------------------------------------------------------------
   Funciones de JavaScript comunes a toda la herramienta de actualización

   Autor: Vperis
   Fecha: 17/05/2005
---------------------------------------------------------------------------------------------------------
*/

 /* Abre la ventana que permite ver la imagen indicada */
    function openWin(sPage,sImage,sAlt,nWidth,nHeight){
       var wndImagen = window.open(sPage + '?IMG=' + sImage + '&alt=' + sAlt,'vImagen','resize,status=yes,scrollbars=no,height=' + nHeight + ',width=' + nWidth);
       wndImagen.focus();
  }
  
function check(){
	if (CheckFields()){
		document.forms[0].submit();
	}
}

// Comprueba que se han introducido todos los campos necesarios

function CheckFields(){
	paso=true
	oForm = document.forms[0]
	for (i=0;i<veccampos.length;i++){

		switch (vectiposcampos[i]){
		
		  case 'texto':
			paso=!oForm.elements[veccampos[i]].value==""
			break;
		  case 'tel':
			paso=!(isNaN(oForm.elements[veccampos[i]].value) || oForm.elements[veccampos[i]].value.length==0)
			break;
		  case 'mail':
			paso=checkEmail(oForm.elements[veccampos[i]].value)
			break;			
		  case 'fecha':
			paso=isDate(oForm.elements[veccampos[i]].value,false)
			break;
		  case 'nif':
			paso=isNif(oForm.elements[veccampos[i]].value,false)
			break;
		  case 'combo':
			paso=!oForm.elements[veccampos[i]].selectedIndex<=0
			break;
		  case 'check':
		  	paso=checkRadio(veccampos[i])
			break;
		  }
		  
		 if (!paso){
		 	alert(vecalerta[i]);
			oForm.elements[veccampos[i]].focus();
		 	break;
		 }
	}
	
	return paso 
}

/*Compruebva que la fecha es correcta*/

function isDate(fecha,bAllowEmpty){
 var sMensaje = true;
 var ddTopeSup = 30;
 var dd,mm,aa;

 if (fecha.replace(/(\s)/gi,'') == ''){
    sMensaje = bAllowEmpty;
 }else{
   var nFirstBar = fecha.indexOf('/');
   var nLastBar = fecha.lastIndexOf('/');

   if(((nFirstBar > -1) && (nLastBar > -1))){
    dd = fecha.substr(0,nFirstBar);
    //alert(dd);
    mm = fecha.substr(nFirstBar + 1,(nLastBar  - nFirstBar) - 1);
    //alert(mm);
    aa = fecha.substr(nLastBar + 1,4);
    //alert(aa);
   }

   if (aa < 1 || isNaN(Number(aa))) {
     sMensaje = false;
   }
   if ((mm < 1) || (mm > 12) || isNaN(Number(mm))){
     sMensaje = false;
   }else{
     if (mm == 2){
       ddTopeSup = 28;
       if (((aa % 400) == 0) || ((aa % 4) == 0 && (aa % 100) != 0)){
         ddTopeSup = 29;
       }
     }else{
       if ((mm == 1) || (mm == 3) || (mm == 5) || (mm == 7) || (mm == 8) || (mm == 10) || (mm == 12))
         ddTopeSup = 31;
     }
   }
   if ((dd < 1) || (dd > ddTopeSup) || isNaN(Number(dd))){
     sMensaje = false;
   }
 }
 return sMensaje;
} 

 //Comprueba si el email introducido es válido

 //- email. String. e-mail que queremos comprobar.

 function checkEmail(email){

    var isEmail = email.match(/^\w+(-\w+)*(\.\w+(-\w+)*)*@\w+(-\w+)*(\.\w+(-\w+)*)*\.([a-z]{3}|[a-z]{2})$/);

    if (!isEmail) {
       //La dirección de correo no es válida
       return false;
    }else{
       //La dirección de correo es correcta
       return true;
    }

 }
