// Abre una ventana nueva con los parametros pasados.
function EGE_AbrirVentana(NuevaVentana,Nombre,Ancho,Alto,Left,Top,Scroll,Resize,Tool,Status,Menu,Location){
var Ventana;
var Opciones;
	if((Ancho > screen.width) || (Ancho == 0)){
		Ancho = screen.width - 2;
	}
	if((Alto > screen.height) || (Alto == 0)){
		Alto = screen.height - 2;
	}
	if(Left == 0){
		Left	= ((screen.width - Ancho)/2);
	}
	if(Top == 0){
		Top			= ((screen.height - Alto)/2);
	}
	Opciones	= 'width='+Ancho+',height='+Alto+',top='+Top+',left='+Left+',toolbar='+Tool+',scrollbars='+Scroll+',location='+Location+',statusbar='+Status+',menubar='+Menu+',resizable='+Resize;
	Ventana	= window.open(NuevaVentana,Nombre,Opciones);
}


// Abre una nueva ventana para obtener datos auxiliares.
function EGE_SeleccionarDatos(sTabla,sCodigo,sDescripcion,cCodigo,cDescripcion,Valor){
var Ventana;
	Ventana = window.open('EGE_SeleccionarDatos.asp?Tabla=' + sTabla + '&Codigo=' + sCodigo + '&Descripcion=' + sDescripcion + '&CampoCodigo=' + cCodigo + '&CampoDescripcion=' + cDescripcion + '&Valor=' + Valor,'sTabla','width=580,height=355,top=' + ((screen.height-355)/2) + ',left='+ ((screen.width-580)/2) + ',toolbar=0,scrollbars=0,location=0,statusbar=0,menubar=0,resizable=0');
}


// Verifica si sCadena se trata de un string alfanumérico
function EGE_VerificarCadenaAlfanumerica(sCadena){
	if(/^([a-z]|[A-Z]|[0-9])+([a-z]|[A-Z]|[0-9]|[\_]|[\ ]|\.)*$/.test(sCadena)){
		return('1');
	}else{
		return('0');
	}
}


function EGE_CambiarPassword(pOld){
	if(document.getElementById('Pass').value.length < 8){
		alert('La Password debe tener al menos 8 caracteres');
		document.getElementById('Pass').focus();
	}else{
		if(document.getElementById('Pass').value == pOld){
			alert('La Password clave debe ser distinta de la anterior');
			document.getElementById('Pass').focus();
		}else{
			if(EGE_VerificarCadenaAlfanumerica(document.getElementById('Pass').value) == 0){
				alert('La Password no puede contener caracteres especiales');
				document.getElementById('Pass').focus();
			}else{
				if(document.getElementById('PassB').value != document.getElementById('Pass').value){
					alert('No coinciden los campos');
					document.getElementById('Pass').focus();
				}else{
					document.getElementById('EGEDA').action = 'EGE_PRIV_CambiarPassword.asp';
					document.getElementById('EGEDA').submit();
				}
			}
		}
	}
}


// Verifica si sCadena se trata de una dirección IP
// Devuelve '0' si sCadenaIP es una cadena vacia.
// Devuelve '1' si sCadenaIP es correcta.
// Devuelve '2' si sCadenaIP no es correcta.
function EGE_VerificarIP(sCadenaIP){
	if(/^[0-9]{0,3}\.[0-9]{0,3}\.[0-9]{0,3}\.[0-9]{0,3}$/.test(sCadenaIP)){
		var IP1;
		var IP2;
		var IP3;
		var IP4;
		
		IP1 = sCadenaIP.substring(0,sCadenaIP.indexOf('.'));
		IP2 = sCadenaIP.substring(sCadenaIP.indexOf('.')+1,sCadenaIP.indexOf('.',sCadenaIP.indexOf('.')+1));
		IP3 = sCadenaIP.substring(sCadenaIP.indexOf('.',sCadenaIP.indexOf('.')+1)+1,sCadenaIP.lastIndexOf('.'));
		IP4 = sCadenaIP.substring(sCadenaIP.lastIndexOf('.')+1,sCadenaIP.length);
		if(IP1 == '' && IP2 == '' && IP3 == '' && IP4 == ''){
			return('0');
		}else{
			if(IP1 == '' || IP2 == '' || IP3 == '' || IP4 == ''){
				return('2');
			}else{
				if(EGE_ValidarIP(IP1) == '1'){
					if(EGE_ValidarIP(IP2) == '1'){
						if(EGE_ValidarIP(IP3) == '1'){
							if(EGE_ValidarIP(IP4) == '1'){
								return('1');
							}else{
								return('2');
							}
						}else{
							return('2');
						}
					}else{
						return('2');
					}
				}else{
					return('2');
				}
			}
		}
	}else{
		return('2');
	}
}


// Verifica que la cadena sea un número entre 0 y 255
function EGE_ValidarIP(IP){
	if(parseInt(IP) < 0 || parseInt(IP) > 255){
		return('0');
	}else{
		return('1');
	}
}

// Verifica si sEmailes una direccion de eMail válida
function EGE_VerificarEmail(sEmail){
	if (/^\w+([\.-]?\w+)*@\w+([\.-]?\w+)*(\.\w{2,3})+$/.test(sEmail)){
		return ('1');
	}else{
		return ('0');
	}
}

// Valida la hora introducida.
// Devuelve 0 en el caso de que se trate de una hora vacia.
// Devuelve 1 en el caso de que se trate de una hora correcta.
// Devuelve 2 en el caso de que se trate de una hora erronea.
function EGE_ValidarHora(hora, minutos){
	if((hora == '') && (minutos == '')){
		return(0);	//Hora vacia
	}else{
		if((hora != '') && (minutos != '')){
			if((hora > 23) || (hora < 0) || (minutos > 59) || (minutos < 0)){
				return(2);	//Hora erronea
			}else{
				return(1);	//Hora valida
			}
		}else{
			return(2);	//Hora erronea
		}
	}
}


//Dados dos Horas, comprueba cual de las dos es la mayor.
//Devuelve 0 en caso de que ambas Horas sean iguales.
//Devuelve 1 en caso de que HORA1 sea mas temprana que HORA2.
//Devuelve 2 en caso de que HORA1 sea menos temprana que HORA2.
function EGE_CompararHoras(Hora1, Minutos1, Hora2, Minutos2){
	Hora1 = parseInt(Hora1);
	Minutos1 = parseInt(Minutos1);
	Hora2 = parseInt(Hora2);
	Minutos2 = parseInt(Minutos2);
	if(Hora1 > Hora2){
		return(2);
	}else{
		if((Hora1 == Hora2) && (Minutos1 > Minutos2)){
			return(2);
		}else{
			if((Hora1 == Hora2) && (Minutos1 == Minutos2)){
				return(0);
			}else{
				return(1);
			}
		}
	}
}


// Valida la fecha introducida.
// Devuelve 0 en el caso de que se trate de una fecha vacia.
// Devuelve 1 en el caso de que se trate de una fecha correcta.
// Devuelve 2 en el caso de que se trate de una fecha erronea.
function EGE_ValidarFecha(dia, mes, anio){
	if ((dia != '') && (mes != '') && (anio != '')){
		if (EGE_ComprobarFecha(dia, mes, anio) == 0){
			return(2);	//Fecha erronea
		}else{
			return(1);	//Fecha correcta
		}
	}else{
		if ((dia == '') && (mes == '') && (anio == '')){
			return(0);	//Fecha vacia
		}else{
			return(2);	//Fecha erronea
		}
	}
}

// Función que comprueba que la fecha contenga valores válidos.
// Devuelve 0 si los datos no conforman una fecha válida.
// Devuelve 1 si se trata de una fecha válida.
function EGE_ComprobarFecha(dia, mes, anio){
	if (anio > 1700){
		if (mes == 1 || mes == 3 || mes == 5 || mes == 7 || mes == 8 || mes == 10 || mes == 12){
			if (dia < 1 || dia > 31){
				return(0); //Fecha Erronea
			}
		}else{
			if (mes == 4 || mes == 6 || mes == 9 || mes == 11){
				if (dia < 1 || dia > 30){
					return(0); //Fecha Erronea
				}
			}else{
				if (mes == 2){
					if (((anio%4 == 0) && (anio%100 != 0)) || (anio%400 == 0)){
						if (dia < 1 || dia > 29){
							return(0); //Fecha Erronea
						}
					}else{
						if (dia < 1 || dia > 28){
							return(0); //Fecha Erronea
						}
					}
				}else{
					return(0); //Fecha Erronea
				}
			}
		}
	}else{
		return(0); //Fecha Erronea
	}
	return(1); //Fecha Válida
}

//Dados dos Fechas, comprueba cual de las dos es la mayor.
//Devuelve 0 en caso de que ambas Fechas sean iguales.
//Devuelve 1 en caso de que FECHA1 sea más antigua que FECHA2.
//Devuelve 2 en caso de que FECHA1 sea menos antigua que FECHA2.
function EGE_CompararFechas(Dia1, Mes1, Anio1, Dia2, Mes2, Anio2){
	if (Anio1 > Anio2){
		return(2);
	}else{
		if ((Anio1 == Anio2) && (Mes1 > Mes2)){
			return(2);
		}else{
			if ((Anio1 == Anio2) && (Mes1 == Mes2) && (Dia1 > Dia2)){
				return(2);
			}else{
				if ((Anio1 == Anio2) && (Mes1 == Mes2) && (Dia1 == Dia2)){
					return(0);
				}else{
					return(1);
				}
			}
		}
	}
}

// Validacion para introducir numeros
function EGE_CompruebaInt() {
  if (window.event.keyCode < 48 || window.event.keyCode > 57){
   window.event.returnValue = false;
  }
} 

function ASC(Caracter){
var Auxiliar;

	Auxiliar = Caracter.charCodeAt(0);
	return Auxiliar;
}

function CHR(Numero){
var Auxiliar;

	Auxiliar = String.fromCharCode(Numero);
	return Auxiliar;
}

function EGE_CompruebaComillas(Objeto){
	if((window.event.keyCode == 39) || (window.event.keyCode == 34)){
		if(window.event.keyCode == 39){
			window.event.keyCode = 96;
		}else{
			if(window.event.keyCode == 34){
				if(Objeto.value.lastIndexOf('“') == -1){
					window.event.keyCode = ASC('“');
				}else{
					if(Objeto.value.lastIndexOf('”') == -1){
						window.event.keyCode = ASC('”');
					}else{
						if(Objeto.value.lastIndexOf('“') < Objeto.value.lastIndexOf('”')){
							window.event.keyCode = ASC('“');
						}else{
							window.event.keyCode = ASC('”');
						}
					}
				}
			}
		}
	}
}

function EGE_EsDigito(Caracter){
	if(Caracter != '1' && Caracter != '2' && Caracter != '3' && Caracter != '4' && Caracter != '5' && Caracter != '6' && Caracter != '7' && Caracter != '8' && Caracter != '9' && Caracter != '0'){
		return false;
	}else{
		return true;
	}
}

function EGE_EsEntero(String){
	for(i=0;i<String.length-1;i++){
		if(!EGE_EsDigito(String.charAt(i))){
			return false;
		}
	}
	return true;
}

function EGE_ComprobarTecla(pEvento){
	if(pEvento.keyCode == 13){
		EGE_ComprobarEntrada()
	}
}

function EGE_ComprobarEntrada(){
	if(document.getElementById('EGEDA').Usuario.value == '' || document.getElementById('EGEDA').Password.value == ''){
		alert('Debe indicar el Usuario y la Contraseña');
	}else{
	//	Esta línea será para cuando se compre el certificado SSL
	//	document.getElementById('EGEDA').action = 'https://www.egeda.es/EGE_PRIV_ComprobarEntrada.asp';
		document.getElementById('EGEDA').action = 'EGE_PRIV_ComprobarEntrada.asp';
		document.getElementById('EGEDA').submit();	
	}
}

function EGE_Desconectar(){
	location.href = 'EGE_PRIV_Salir.asp';
}

function EGE_Password(Idioma){
	if(Idioma == 'E'){
		EGE_AbrirVentana('EGE_ING_Password.asp','',650,400,0,0,0,0,0,0,0,0);
	}else{
		EGE_AbrirVentana('EGE_Password.asp','',650,400,0,0,0,0,0,0,0,0);
	}
}

function EGE_ProteccionDatos(){
	EGE_AbrirVentana('EGE_ProteccionDatos.asp','',680,506,0,0,1,0,0,0,0,0);
}

function EGE_ING_ProteccionDatos(){
	EGE_AbrirVentana('EGE_ING_ProteccionDatos.asp','',680,506,0,0,1,0,0,0,0,0);
}

function Pagina(pPagina, pFormulario) {
	document.getElementById(pFormulario).action = pPagina;
	document.getElementById(pFormulario).submit();
}