	
	function cerrarVentana()
	{
	  	var window = window.self;
	  	window.opener = window.self;
	  	window.close();
	}
	
    function esEmail(campo,etiqueta){
        var texto=campo.value;
                   
		var cadena = "abcdefghijklmnñopqrstuvwxyzABCDEFGHIJKLMNÑOPQRSTUVWXYZ1234567890@._-"; 
		 
		var arroba = texto.indexOf("@",0); 
		if ((texto.lastIndexOf("@")) != arroba) arroba = -1; 
		 
		var punto = texto.lastIndexOf(".");					 
        for (var contador = 0 ; contador < texto.length ; contador++){ 
			if (cadena.indexOf(texto.substr(contador, 1),0) == -1){ 
				alert("El campo \"" + etiqueta + "\" debe contener un E-mail VALIDO");
                campo.focus();
			    return false;
            } 
		} 

		if ((arroba > 1) && (arroba + 1 < punto) && (punto + 1 < (texto.length)) && (texto.indexOf("..",0) == -1)){
            return true; 
		}else{ 
            alert("El campo \"" + etiqueta + "\" es invalido");
            campo.focus();
			return false;
        } 
	}	
    
   
    
    
	function esVacio(campo,etiqueta){
		if (campo.value.length==0){
			alert("El campo \"" + etiqueta + "\" no puede estar vacio");
			campo.focus();
			return true;
		}else{
			for(var i=0; i<campo.value.length; i++)
				if((campo.value.charAt(i)=='')||(campo.value.charAt(i)=='\t')){
					alert("El campo \"" + etiqueta + "\" no puede estar vacio");
					campo.focus();
					return true;
				}
			return false;
		}
	}

	function longitudDeCampo(campo){
		return campo.value.length;
	}

	function tieneLongitudMinima(campo,nombreCampo,longitudMinima){
			if (longitudDeCampo(campo)<longitudMinima){
				alert("El campo \"" + nombreCampo + "\" debe contener al menos "+longitudMinima+" caracteres");
				campo.focus();
				return false;
			}else{
				return true;	
			}
	}
	
	function exedeLongitudMaxima(campo,nombreCampo,longitudMaxima){
			if (longitudDeCampo(campo)>longitudMaxima){
				alert("El campo \"" + nombreCampo + "\" no puede contener más de "+longitudMaxima+" caracteres");
				campo.focus();
				return true;
			}else{
				return false;	
			}
	}

	function esCampoVacio(campo){
		if (campo.value.length==0){
			return true;
		}else{
			return false;
		}
	}

	function esNumero(campo,etiqueta){
		numeros="0123456789";
		for (var i=0; i<campo.value.length;i++){
			if(numeros.indexOf(campo.value.charAt(i))<0){
				alert("El campo \"" + etiqueta + "\" solo puede contener caracteres numéricos sin decimal (ni . ni ,)");
				campo.focus();
				return false;
			}
		}
		return true;
	}
	
	function IsUnsignedReal(YourNumber)
	{
		var Template = /^((d+(.d*)?)|((d*.)?d+))$/ //Formato de numero real sin signo
		return (Template.test(YourNumber)) ? 1 : 0 //Compara "YourNumber" con el formato "Template" y si coincidevuelve verdadero si no devuelve falso
	}
	
	function esNumeroReal(campo,etiqueta){
		numeros="0123456789.";
		for (var i=0; i<campo.value.length;i++){
			if(numeros.indexOf(campo.value.charAt(i))<0){
				alert("El campo \"" + etiqueta + "\" solo puede contener caracteres numéricos y como separador  decimal un punto");
				campo.focus();
				return false;
			}
		}
		punto=0;
		puntos=".";
		for (var i=0; i<campo.value.length;i++){
			if(!(puntos.indexOf(campo.value.charAt(i))<0)){
				punto=punto+1;
				if (i==0){
					alert("El campo \"" + etiqueta + "\" no puede iniciar con un punto");
					campo.focus();
					return false;
				}
				
				if (punto>1){		
					alert("El campo \"" + etiqueta + "\" solo puede contener como separador decimal un solo punto");
					campo.focus();
					return false;
				}
				
				if (i==campo.value.length-1){
					alert("El campo \"" + etiqueta + "\" no puede terminar con un punto");
					campo.focus();
					return false;
				}
			}
		}
		return true;
	}
	
	function indexSeleccionadoDelCombo(slcCombo){
		return slcCombo.selectedIndex;
    }
    function totalDeItemsDelCombo(slcCombo){
		return slcCombo.length;
    }
    
	function valueSeleccionadoDelCombo(slcCombo){
		i=indexSeleccionadoDelCombo(slcCombo);
		return slcCombo.options[i].value;
	}
	
	function textSeleccionadoDelCombo(slcCombo){
		i=indexSeleccionadoDelCombo(slcCombo);
		return slcCombo.options[i].text;
	}
	
	function seSeleccionoValorDelCombo(slcCombo,valorDeNoSeleccion,campo){
		i=valueSeleccionadoDelCombo(slcCombo);
		
		if (i==valorDeNoSeleccion){
			alert("Debe selecionar "+ campo)
			slcCombo.focus();
			return false;
		}
		return true;
	}
	
	function seSeleccionoValorDelCombo2(slcCombo,valorDeNoSeleccion,campo,slcCombo2,valorDeNoSeleccion2,campo2){
		i=valueSeleccionadoDelCombo(slcCombo);
		j=valueSeleccionadoDelCombo(slcCombo2);
		
		if (i==valorDeNoSeleccion && j==valorDeNoSeleccion2){
			alert("Debe selecionar "+ campo+ " ó " + campo2)
			slcCombo.focus();
			return false;
		}
		return true;
	}
	
	//CHECK
	function checkCheckeado(chkCheck){
		return chkCheck.checked;
    }
	
	
	function hayRadioButtonSeleccionado(nombreRadio,nombreFila){
		//caso de que quede solo uno es decir no es un arreglo
		if (nombreRadio.checked) return true;
		//caso de que halla varios
		for(i=0;i<nombreRadio.length;i++){
	        if(nombreRadio[i].checked) return true;
		}
	
		alert ("Debe selecionar "+ nombreFila);
		return false;
	}
	
	function valueDeRadioButtonSeleccionado(nombreRadio){
		if (nombreRadio.checked){ 
			return nombreRadio.value;
		}
		//caso de que halla varios
		for(i=0;i<nombreRadio.length;i++){
	        if(nombreRadio[i].checked){ 
				return nombreRadio[i].value;
			}
		}
		return "";
	}
	
	function irAPagina(pagina){
		window.location.href = pagina;
	}
	
	function IrAPaginaAnterior(){
		javascript:history.back();
	}
	
	function IrAPaginaSiguiente(){
		javascript:history.forward();
	}
	
	function mostrarPaginaEnMarco(pagina,marco){
		window.open(pagina,marco);
	}
	
	function mostrarPaginaEnMarco(pagina,marco){
		window.open(pagina,marco);
	}
	//otro metodo para redireccionar paginas
	//window.leftFrame.location.href='left.php';
	
	
	
	//validar la hora
	function horaValida(txtHora,nombre){ 
	if (txtHora.text != ""){ 
			numeros="0123456789: apm";
			for (var i=0; i<txtHora.value.length;i++){
				if(numeros.indexOf(txtHora.value.charAt(i))<0){
					alert("Debe verificar el campo \"" + nombre + "\"");
					campo.focus();
					return false;
				}
			}
			return true;
	}

		alert("Introduzca una hora valida en "+nombre);
		txtFecha.focus();
		return false; 
   	}  	
	
	
		
//****************************************************************validar fecha desde aqui
	//esta es la que se llama
   	function fechaValida(txtFecha,nombre){ 
        if (txtFecha.text != ""){ 
			if (!valDia(txtFecha)){
				alert("Verifique el día y el mes de "+nombre);
        		txtFecha.focus();
				return false;
			}else if (!valMes(txtFecha)){
				alert("Verifique el mes de "+nombre);
        		txtFecha.focus();
				return false;
			}else if(!valAno(txtFecha)){
				alert("Verifique el año de "+nombre);
        		txtFecha.focus();
				return false;
			}else if(!valSep(txtFecha)){
				alert("Los separadores deben ser '/' en "+nombre);
        		txtFecha.focus();
				return false;
			} 		 
			return true;
        }
        
		alert("Introduzca una fecha valida en "+nombre);
        txtFecha.focus();
		return false; 
		 
   	}  	
	
	
   	function valSep(txtFecha){ 
    	var bOk = false; 
    	var sep1 = txtFecha.value.charAt(2); 
    	var sep2 = txtFecha.value.charAt(5); 
    	bOk = bOk || ((sep1 == "/") && (sep2 == "/")); 
    	return bOk; 
   	} 

   	
    function valAno(txtFecha){  
    	var bOk = false; 
    	var aux= txtFecha.value.substr(6, 4);
		if (esCadenaNumerica(aux)){
			bOk = true;
		}
    	return bOk; 
   	} 
   
   	function valMes(txtFecha){ 
		var bOk = false; 
    	var aux= txtFecha.value.substr(3, 2);
		if (esCadenaNumerica(aux)){
			var nMes = parseInt(aux, 10);	
			bOk = (nMes >= 1) && (nMes <= 12);
		}
    	return bOk; 
   	} 
   	
   	function valDia(txtFecha){ 
    	bOk = false; 
    	aux= txtFecha.value.substr(0, 2);
		if (esCadenaNumerica(aux)){
			nDia = parseInt(aux, 10);	
			bOk = (nDia >= 1) && (nDia <= finMes(txtFecha));
		}
    	return bOk; 
   	}
   
   function finMes(txtFecha){ 
    	var nMes = parseInt(txtFecha.value.substr(3, 2), 10); 
    	var nRes = 0; 
    	switch (nMes){ 
     		case 1: nRes = 31; break; 
     		case 2: nRes = 28; break; 
		    case 3: nRes = 31; break; 
		    case 4: nRes = 30; break; 
		    case 5: nRes = 31; break; 
		    case 6: nRes = 30; break; 
		    case 7: nRes = 31; break; 
		    case 8: nRes = 31; break; 
		    case 9: nRes = 30; break; 
		    case 10: nRes = 31; break; 
		    case 11: nRes = 30; break; 
		    case 12: nRes = 31; break; 
    	} 
    	return nRes; 
   	} 

   	function esCadenaNumerica(cadena){
		numeros="0123456789";
		for (var i=0; i<cadena.length;i++){
			if(numeros.indexOf(cadena.charAt(i))<0){
				return false;
			}
		}
		return true;
	}

   
//****************************************************************validar fecha hasta aqui

	
