// Funcion para redimensionar una imagen manteniendo su relación de
// aspecto. Ancho y Alto son los valores originales. MaxAncho y
// MaxAlto son los valores máximos que pueden tener las dimensiones
// de la imagen. Se aconseja usar cuando las dimensiones originales
// y las nuevas no sean muy dispares.
function MFC_RedimensionaImagen(Nombre,Ancho,Alto,MaxAncho,MaxAlto)
{
	if (Ancho > Alto)
	{
		if (Ancho > MaxAncho)
		{
			Nombre.width = MaxAncho;
			Nombre.height = ((Alto * MaxAncho) / Ancho);
		}
	}
	else
	{
		if (Alto > MaxAlto)
		{
			Nombre.height = MaxAlto;
			Nombre.width = ((Ancho * MaxAlto) / Alto);
		}
	}
}


//Función para abrir ventanas
function AbrirVentana(URL,Ancho,Alto,Left,Top)
{
var Ventana;
var Opciones;
	Opciones = 'toolbar=0,scrollbars=0,location=0,statusbar=0,menubar=0,resizable=0,width='+Ancho+',height='+Alto+',left='+Left+',top='+Top;
	Ventana = window.open(URL,'',Opciones);
}

function AbrirVentanaAjustable(URL,Nombre,Ancho,Alto,Top,Left)
{
var Ventana;
var Opciones;
	if (Ancho == '') { Ancho = 800 }
	if (Alto == '') { Alto = 600 }
	if (Top == '') { Top = ((screen.height-Alto)/2) }
	if (Left == '') { Left = ((screen.width-Ancho)/2) }
	Opciones = 'toolbar=0,scrollbars=1,location=0,statusbar=0,menubar=0,resizable=1,width=' + Ancho + ',height=' + Alto + ',top=' + Top + ',left=' + Left;
	Ventana = window.open(URL,Nombre,Opciones);
}


// Función de botones gráficos
var estatica = 0;
var x = 0;

function CambiaGraf(Boton, Imagen_1, Imagen_2, Texto) {
	estatica = estatica == 0 ? estatica = 1 : estatica = 0;
	if (estatica == 0)	{
							Boton.src = Imagen_1;
						}
	else				{
							window.status = Texto;
							Boton.src = Imagen_2;
						}
}

// Validacion para introducir numeros
function CompruebaInt() {
  if (window.event.keyCode < 48 || window.event.keyCode > 57) {
   window.event.returnValue = false;
  }
} 

// Validacion para introducir numeros reales
function MFC_CompruebaReal(Caja) {
	if((window.event.keyCode < 48 || window.event.keyCode > 57) && window.event.keyCode != 44 && window.event.keyCode != 46)
	{
		window.event.returnValue = false;
	}
	if(window.event.keyCode == 44 && (Caja.value.indexOf(',') != -1 || Caja.value.indexOf('.') != -1))
	{
		window.event.returnValue = false;
	}
	if(window.event.keyCode == 46 && (Caja.value.indexOf(',') != -1 || Caja.value.indexOf('.') != -1))
	{
		window.event.returnValue = false;
	}
	if((window.event.keyCode == 44 || window.event.keyCode == 46) && Caja.value.length == 0)
	{
		window.event.returnValue = false;
	}
} 

// Redondea un número Real
function MFC_Redondeo(Valor,Decimales)
{
var Auxiliar;
	Valor = Valor.replace(',','.');
	Auxiliar = (Math.round(Valor * Math.pow(10,Decimales)) / Math.pow(10,Decimales));
	return(Auxiliar.toString().replace('.',','));
}

function LongitudMaxima(pCampo,pLongitud)
{
	if (pCampo.value.length >= pLongitud)
	{
		window.event.returnValue = false;
	}
}


function SinRetorno()
{
	if (window.event.keyCode == 13)
	{
		window.event.returnValue = false;
	}
} 

function CompruebaTecla(){
	if(window.event.keyCode == 13){
		CompruebaForm();
	}
}

// Validacion para introducir numeros Decimales
function CompruebaDec(Caja) {	
  if ((window.event.keyCode < 47 || window.event.keyCode > 57) && window.event.keyCode != 44) {
   window.event.returnValue = false;
  }
  if ((window.event.keyCode == 44) && (Caja.value.indexOf(',') != -1 )) {
   window.event.returnValue = false;
  }
} 

// Validacion para introducir numeros Y : para hora
function CompruebaHora(Caja) {	
  if ((window.event.keyCode < 47 || window.event.keyCode > 57) && window.event.keyCode != 58) {
	window.event.returnValue = false;
  }
  if (Caja.value!='') {
	if ((window.event.keyCode == 58) && (Caja.value.indexOf(":") != -1 )) {
		window.event.returnValue = false;
		}
	}
} 

function CompruebaForm(){
	if(document.getElementById('usuario').value == ''){
		alert('Debe introducir los datos del usuario');
		document.getElementById('usuario').focus();
	}else{
		if(document.getElementById('pass').value == ''){
			alert('Debe introducir la contraseña');
			document.getElementById('pass').focus();
		}else{
			document.getElementById('MFC').action = 'MFC_Comprobacion.asp?usuario='+document.getElementById('usuario').value+'&pass='+document.getElementById('pass').value;
			document.getElementById('MFC').submit();
		}
	}
}

// Pasa a Euros un Importe
function ObtenerEuros(Valor, Caja){
var Cadena;
var NuevoValor;
   NuevoValor = QuitarPuntos(Valor);
   Cadena = String(NuevoValor / 166.386);
   Caja.value = (Cadena.substr(0, Cadena.indexOf('.')) + '.' + Cadena.substr(Cadena.indexOf('.')+1, 3) );
   Caja.value = RedondearNumero(Caja, 2);
   Caja = FormarNumero(Caja);
}

// Quita los Puntos
function QuitarPuntos(Val) {
var Valor;
	Valor = Val;
	Valor.replace('.', '');	
	while (Valor.indexOf(".", 0) != -1) {
		Valor = Valor.replace('.', '');
	}
	return(Valor);
}

//Cambia las Cadenas1 por las Cadenas2 que se encuentran en Cadena
function MFC_CambiaCadenas(Cadena,Cadena1,Cadena2)
{
var CadAux;
var CadAux1;
var CadAux2;

	if(Cadena.indexOf(Cadena1,0) < 0)
	{
		CadAux = Cadena;
	}else{
		CadAux1 = Cadena.substring(0,Cadena.indexOf(Cadena1,0));
		CadAux2 = Cadena.substring((Cadena.indexOf(Cadena1,0)+Cadena1.length));
		CadAux = CadAux1 + Cadena2 + MFC_CambiaCadenas(CadAux2,Cadena1,Cadena2)
	}
	return(CadAux);
}

// Confirma la eliminación de un registro
function ConfirmarEliminacion(sEnviar,Formulario) {
	if (confirm("¿ Desea eliminarlo totalmente ?")==1){
		Formulario.action=sEnviar;	
		Formulario.submit();
	}
}

// Confirma la eliminación de un registro
function ConfirmarEliminacionCompleja(sTexto,sEnviar,Formulario) {
	if (confirm(sTexto)==1){
		Formulario.action=sEnviar;	
		Formulario.submit();
	}
}


// Confirma la eliminación de un registro
function ComprobarAccion(sEnviar,Formulario) {
	if (confirm("Debe guardar previamente los datos. ¿ Desea continuar y perder los cambios?")==1){
		Formulario.action=sEnviar;	
		Formulario.submit();
	}
}


// Valida la fecha introducida.
// Devuelve 2 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 0 en el caso de que se trate de una fecha erronea.
function ValidarFecha(dia,mes,ao)
{
	if ((dia != '') && (mes != '') && (ao != ''))
	{
		if(ComprobarFecha(dia,mes,ao) == 0)
		{
			return(0);
		}
		else
		{
			return(1);
		}
	}
	else
	{
		if ((dia == '') && (mes == '') && (ao == ''))
		{
			return(2);
		}
		else
		{
			return(0);
		}
	}
}

// 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 ComprobarFecha(dia, mes, ao)
{
	if(dia < 1 || dia > 31 || mes < 1 || mes > 12) 
	{
		return(0); //Fecha Erronea
	}
	else
	{
		if (ao > 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 (((ao%4 == 0) && (ao%100 != 0)) || (ao%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
}


function Seleccionar(Pagina, Anterior, Nombre) {
	var ventana;
	ventana=window.open(Pagina + '&Tipo=' + Anterior , Nombre, 'width=580,height=420,top=' + (window.screen.height - 450)/2 + ',left='+(window.screen.width - 580)/2 +',status=0,scrollbars=0');
}


//Dados una Fecha de Alta y una Fecha de Baja, comprueba que la Fecha de Baja sea mayor que la Fecha de Alta.
//Devuelve 0 en caso de que la Fecha de Baja sea MAYOR que la Fecha de Alta (fecha correcta);
//Devuelve 1 en caso de que el Año de Baja sea MENOR que el Año de Alta (fecha erronea);
//Devuelve 2 en caso de que el Mes de Baja sea MENOR que el Mes de Alta (fecha erronea);
//Devuelve 3 en caso de que el Día de Baja sea MENOR que el Día de Alta (fecha erronea);
//Devuelve 4 en caso de que ambas fechas sean iguales (fecha erronea/correcta en función de cada caso);
function ValidarFechaBaja(Dia_Alta, Mes_Alta, Anio_Alta, Dia_Baja, Mes_Baja, Anio_Baja)
{
var Dia1;
var Mes1;
var Anio1;
var Dia2;
var Mes2;
var Anio2;

	if(Dia_Alta.charAt(0)=='0'){
		Dia_Alta = Dia_Alta.charAt(1);
	}
	if(Mes_Alta.charAt(0)=='0'){
		Mes_Alta = Mes_Alta.charAt(1);
	}
	if(Dia_Baja.charAt(0)=='0'){
		Dia_Baja = Dia_Baja.charAt(1);
	}
	if(Mes_Baja.charAt(0)=='0'){
		Mes_Baja = Mes_Baja.charAt(1);
	}
	Dia1	= parseInt(Dia_Alta);
	Mes1	= parseInt(Mes_Alta);
	Anio1	= parseInt(Anio_Alta);
	Dia2	= parseInt(Dia_Baja);
	Mes2	= parseInt(Mes_Baja);
	Anio2	= parseInt(Anio_Baja);
	
	if(Anio2 < Anio1)
	{
		return(1);
	}
	else
	{
		if((Anio2 == Anio1) && (Mes2 < Mes1)) 
		{
			return(2);
		}
		else
		{
			if((Anio2 == Anio1) && (Mes2 == Mes1) && (Dia2 < Dia1))
			{
				return(3);
			}
			else
			{
				if((Anio2 == Anio1) && (Mes2 == Mes1) && (Dia2 == Dia1))
				{
					return(4);
				}else{
					return(0);
				}
			}
		}
	}
}


//Raquel Dorado		13/06/2001
//Realiza el Redondeo de la caja indicada junto con las posiciones decimales deseadas
function RedondearNumero(caja,decimal){
	var temp = new String();
	var dec = new String();
	var num;
	
	dec = 0;
	
	//Diferenciamos la parte entera de la decimal
	if (caja.value.indexOf(".", 0) != -1) { 
		temp = caja.value.substr(0, caja.value.indexOf(".", 0));
		dec = caja.value.substr((eval(caja.value.indexOf(".", 0))+1),decimal+1);
	} else {
		temp = caja.value;
		dec = 0;
	}
	num='';
	if (dec == 0){
		for (i = 0; i < decimal; i++) {
			 num = num + '0';
		}
		temp = temp + '.' + num;
	} else {
		if (decimal == 0) { 
			if (dec > 3){
				temp = parseInt(temp) + 1;
			}
		} else {
			if (decimal != 0) { 					
				//num = Math.round(parseFloat(dec.substr(0,decimal) + '.'+ dec.substr(decimal)));
				num = dec.substr(0,decimal);
				if (dec.substr(decimal) > 5 ){
					num = eval(num) + eval(1);
				}
				temp = temp + '.' + num;
			}	
		}
	}
	return (temp);
}


function FormarNumero(caja) {
	var temp = new String();
	var dec = new String();
	var numero = new String();
	var puntos = new String();
	
	dec = "";

	caja.value = caja.value.replace('.', ',');
	if (caja.value.indexOf(",", 0) != -1) { 
		temp = caja.value.substr(0, caja.value.indexOf(",", 0));
		dec = caja.value.substr(caja.value.indexOf(",", 0));
	} else {
		temp = caja.value;
	}

	j = 0;
	for(i=temp.length-1; i>=0; i--) {
		if (j % 3 == 0 && j > 0 && temp.length > 3) {
			if (temp.charAt(i)!='-'){
				numero = "." + numero;
			}
		}
		numero = temp.charAt(i) + numero;
		j++;
	}
	
	return (numero + dec);
	numero = '';
}

// Devuelve 0 si es una Hora vacia.
// Devuelve 2 si es una Hora erronea.
// Devuelve 1 si es una Hora correcta.
function ValidarHora(Hora,Minutos)
{
	if ((Hora == '') && (Minutos == ''))
	{
		return(0);
	}else{
		if ((Hora != '') && (Minutos != ''))
		{
			if ((Hora < 0) || (Hora > 23))
			{
				return(2);
			}else{
				if ((Minutos < 0) || (Minutos > 59))
				{
					return(2);
				}else{
					return(1);
				}
			}
		}else{
			return(2);
		}
	}
}

// Devuelve 0 si ambas Fechas son iguales.
// Devuelve 1 si F1 < F2
// Devuelve 2 si F2 < F1
function ComparaFechas(Dia1,Mes1,Anio1,Dia2,Mes2,Anio2)
{
	if(Anio1 < Anio2)
	{
		return(1);
	}else{
		if(Anio1 > Anio2)
		{
			return(2);
		}else{
			if(Mes1 < Mes2)
			{
				return(1);
			}else{
				if(Mes1 > Mes2)
				{
					return(2);
				}else{
					if(Dia1 < Dia2)
					{
						return(1);
					}else{
						if(Dia1 > Dia2)
						{
							return(2);
						}else{
							return(0);
						}
					}
				}
			}
		}
	}
}

// Devuelve 0 si ambas Horas son iguales.
// Devuelve 1 si H1 < H2
// Devuelve 2 si H2 < H1
function ComparaHoras(Horas1,Minutos1,Horas2,Minutos2)
{
	if(Horas1 < Horas2)
	{
		return(1);
	}else{
		if(Horas1 == Horas2)
		{
			if(Minutos1 < Minutos2)
			{
				return(1);
			}else{
				if(Minutos1 == Minutos2)
				{
					return(0);
				}else{
					return(2);
				}
			}
		}else{
			return(2);
		}
	}
}

// Comprueba que el nombre de un archivo no tenga caracteres no válidos
// Devuelve TRUE si tiene algún caracter no válido
// Devuelve FALSE si el nombre del archivo es correcto
function MFC_ComprobarNombreArchivo(Fichero)
{
	if(Fichero.lastIndexOf('/') != -1)
	{
		return(true);
	}else{
		if(Fichero.lastIndexOf(':') != -1)
		{
			return(true);
		}else{
			if(Fichero.lastIndexOf('*') != -1)
			{
				return(true);
			}else{
				if(Fichero.lastIndexOf('?') != -1)
				{
					return(true);
				}else{
					if(Fichero.lastIndexOf('"') != -1)
					{
						return(true);
					}else{
						if(Fichero.lastIndexOf('<') != -1)
						{
							return(true);
						}else{
							if(Fichero.lastIndexOf('>') != -1)
							{
								return(true);
							}else{
								if(Fichero.lastIndexOf('|') != -1)
								{
									return(true);
								}else{
									if(Fichero.lastIndexOf('#') != -1)
									{
										return(true);
									}else{
										if(Fichero.lastIndexOf(',') != -1)
										{
											return(true);
										}else{
											if(Fichero.lastIndexOf("'") != -1)
											{
												return(true);
											}else{
												return(false);
											}
										}
									}
								}
							}
						}
					}
				}
			}
		}
	}
}

function ASC(Caracter)
{
var Auxiliar;

	Auxiliar = Caracter.charCodeAt(0);
	return Auxiliar;
}

function CHR(Numero)
{
var Auxiliar;

	Auxiliar = String.fromCharCode(Numero);
	return Auxiliar;
}

function MFC_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 MFC_CompruebaCadenaAlfanumerica()
{
var Auxiliar;
	Auxiliar = window.event.keyCode;
	if((Auxiliar >= 48 && Auxiliar <=57) || (Auxiliar >= 65 && Auxiliar <=90) || (Auxiliar >= 97 && Auxiliar <=122) || (Auxiliar == 209) || (Auxiliar == 241))
	{
		window.event.returnValue = true;
	}else{
		window.event.returnValue = false;
	}
}

function FormateaReal(pValor,nDecimales)
{
var Valor;
var Entero;
var Decimal;
var Auxiliar;

	Valor	= pValor.toString();
	Entero	= '';
	Decimal = '';
	Auxiliar = '';
	
	if(Valor.indexOf('.') == -1)
	{
		Entero = Valor;
		for(i=1;i<=nDecimales;i++)
		{
			Decimal = Decimal + '0';
		}
	}else{
		Entero = Valor.substring(0,Valor.indexOf('.'))
		if(Valor.indexOf('.') < Valor.length-1)
		{
			Decimal = Valor.substring(Valor.indexOf('.')+1)
			if(Decimal.length < nDecimales)
			{
				for(i=Decimal.length;i<nDecimales;i++)
				{
					Decimal = Decimal + '0';
				}
			}
		}
	}

	if(Decimal.length > nDecimales){
		Auxiliar = Auxiliar + Decimal.substring(0,nDecimales-1);
		if(Decimal.substring(nDecimales,nDecimales+1)>=5){
			Auxiliar = 1 + parseInt(Auxiliar);
		}
		if(Auxiliar.length > nDecimales){
			Entero = parseInt(Entero) + 1;
			Auxiliar = '';
			for(i=1;i<=nDecimales;i++){
				Auxiliar = Auxiliar + '0';
			}
		}
		Decimal = Auxiliar;
	}

	for(i=0;i<Entero.length;i++)
	{
		if(Entero.substring(i,i+1) != '.')
		{
			Auxiliar = Auxiliar + Entero.substring(i,i+1);
		}
	}
	Entero = Auxiliar;
	Auxiliar = '';
	for(i=Entero.length-1;i>=0;i--)
	{
		if((((Entero.length - i) % 3) == 0) && ((Entero.length - i) != Entero.length))
		{
			Auxiliar = '.' + Entero.substring(i,i+1) + Auxiliar;
		}else{
			Auxiliar = Entero.substring(i,i+1) + Auxiliar;
		}
	}

	return(Auxiliar + ',' + Decimal);
}

function CargarPromo(img, ancho, alto){
  derecha=(screen.width-ancho)/2;
  arriba=(screen.height-alto)/2;
string="toolbar=0,scrollbars=0,location=0,statusbar=0,menubar=0,resizable=0,width="+ancho+",height="+alto+",left="+derecha+",top="+arriba+"";
  fin=window.open(img,"",string);
}
