	function abrirVentana(pagina){
		window.open(pagina,'','width=520,height=400,scrollbars=yes');
	};

	function validaFechaOVacio( strValue ) {
		if (strValue == "") return true;
		return validaFecha(strValue);
	}

	//Valida fecha dd/MM/yyyy
	function validaFecha( strValue ) {
	  var objRegExp = /^\d{2}\/\d{2}\/\d{4}$/
	  if(!objRegExp.test(strValue))
	    return false;
	  else {
	    var arrayDate = strValue.split('/');
	    var arrayLookup = { '01' : 31,'03' : 31, '04' : 30,'05' : 31,'06' : 30,'07' : 31,'08' : 31,'09' : 30,'10' : 31,'11' : 30,'12' : 31}
	    var intDay = parseInt(arrayDate[0],10);
	    if(arrayLookup[arrayDate[1]] != null) {
	      if(intDay <= arrayLookup[arrayDate[1]] && intDay != 0)
	        return true;
	    }
	    var intMonth = parseInt(arrayDate[1],10);
	    if (intMonth == 2) { 
	       var intYear = parseInt(arrayDate[2],10);
			if( ((intYear % 4 == 0 && intDay <= 29) || (intYear % 4 != 0 && intDay <=28)) && intDay !=0)
	          return true;
	       }
	  }
	  return false;
	}
	
	function es_numerico(texto){
        caracteres_validos="1234567890";
        for (k=0;k<texto.length;k++){
            tmp=texto.substr(k,1);
            if (caracteres_validos.search(tmp)=="-1"){
                    return false;
            }
        }
        return true;
    }
		

	//Valida DNI/NIE
	function validaDni( strValue ) {
		strValue=strValue.toUpperCase();
		//if (strValue.length!=9) return false;
		//if (strValue.substring(0,1).toUpperCase() == 'X') strValue='0'+strValue.substring(1,strValue.length);
		//Patricia -> 19/12/2006
		if (strValue.length!=9 && strValue.length!=10) return false;
		if (strValue.substring(0,1).toUpperCase() == 'X') strValue='0'+strValue.substring(1,strValue.length);
		if (strValue.charCodeAt(strValue.length-1) < 65 || strValue.charCodeAt(strValue.length-1) > 90 || isNaN(strValue.substring(0,strValue.length-1))) return false;
		if (strValue.substring(strValue.length-1,strValue.length) != calcularLetraDni(parseInt(strValue.substring(0,strValue.length-1),10))) return false;
		return true;
	}
	function calcularLetraDni(intDni) {
		var p = intDni - (parseInt(intDni / 23,10)*23);
		return 'TRWAGMYFPDXBNJZSQVHLCKE'.substring(p,p+1);
	}
	function validaUser( strValue ) {
		var rgUser = /^\w{3,15}$/;
		return rgUser.test(strValue);
	}
	function validaPass( strValue ) {
		var rgUser = /^\w{6,15}$/;
		return rgUser.test(strValue);
	}
	function validaMail( strValue ) {
		var rgMail = /^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-]{2,})+\.)+([a-zA-Z0-9]{2,})+$/;
		return rgMail.test(strValue);
	}