// Cambiar el Titulo de la Ventana
function CambiarTitulo(titulo) {
	document.title=titulo;
}

// Maximizar la Ventana del Navegador
function fullwindow(){
	javascript:self.moveTo(0,0);
	self.resizeTo(screen.availWidth,screen.availHeight);
}


// Pasar un numero a dos decimales
function RoundNumber(campo) {
	eval("numero=document.formulario."+campo+".value");
	numero=Round(numero);
	eval("document.formulario."+campo+".value=numero");
}


// Pasar un numero a dos decimales
function Round(numero) {
	return Math.round(numero*100)/100;
}


// Poner el ID del enlace a 0
function AnulaEnlace(tipo,valor,valorid) {
	if (tipo==true) {
		if (eval("document.formulario."+valor+".value.substring(0,7)!='http://'"))
			eval("document.formulario."+valor+".value='http://'+document.formulario."+valor+".value;");
	}
	else eval("document.formulario."+valor+".value=''");

	eval("document.formulario."+valorid+".value='0'");
}


// Poner el campo a Zero si no hay nada
function ValorZero(campo){
	if (eval("document.formulario."+campo+".value")=="") eval("document.formulario."+campo+".value=0");
}


// Abrir Cuadro Dialogo NotaLegal
function OpenDialogNotaLegal(nombre,conces,opcion,seccion) {
	VentanaHija=window.open("notalegal.asp?nombre="+nombre+"&seccion="+seccion+"&opcion="+opcion+"&tipo=minisite&conces="+conces,"DialogNotaLegal","width=400,height=250,top=32,left=32,scrollbars=yes,toolbar=no");
}


// Abrir Quadro Dialogo Registros
function OpenDialogRegistros(tipo,origen) {
	VentanaHija=window.open("find_registros.asp?tipo="+tipo+"&origen="+origen,"DialogRegistros","width=550,height=350,top=100,left=100,scrollbars=yes,toolbar=no");
}


// Abrir Quadro Dialogo Ficheros
function OpenDialogFiles(origen) {
	if (origen.substring(0,7)=='adjunto') 
		VentanaHija=window.open("find_ficheros.asp?origen="+origen+"&tipo=adjunto","DialogFiles","width=710,height=525,top=20,left=40,scrollbars=yes,toolbar=no");
	else
		VentanaHija=window.open("find_ficheros.asp?origen="+origen+"&tipo=imagen","DialogFiles","width=710,height=525,top=20,left=40,scrollbars=yes,toolbar=no");
}


// Abrir Quadro Dialogo Enlaces
function OpenDialogLinks(tipo,origen) {
	VentanaHija=window.open("find_enlaces.asp?tipo="+tipo+"&origen="+origen,"DialogLinks","width=710,height=525,top=20,left=40,scrollbars=yes,toolbar=no");
}


// Enviar el nombre del archivo seleccionado
function AceptarFichero(destino) {
	eval("opener.formulario."+destino+".value='"+document.visor.src+"'");
	window.close();
}


// Accion de cambiar Carpeta
function VerImagen(imagen) {
	ext=imagen.substring(imagen.length-4,imagen.length);

	if (ext==".gif" || ext==".jpg") document.visor.src=imagen;
	else document.visor.src="../img/null.gif";
}


function AnimaBtn() {
	var argumentos=AnimaBtn.arguments;
	if (argumentos.length >= 2){
		var imagen = eval("document.images."+argumentos[0]);
		imagen.src = argumentos[1];
		if (argumentos[2] != null) {
				window.status = argumentos[2];
				return true;		
		}
	}
}


function NumeroDecimal() {
	k=false;

	tecla=window.event.keyCode;
	if (tecla==46) k=true;
	if (tecla>=48 && tecla<=57) k=true;

	if (k==false) window.event.keyCode=0;
}


function Numeros() {
	tecla=window.event.keyCode;
	if (tecla<48 || tecla>57) window.event.keyCode=0;
}


// Rutina de Validación de Formularios
// ===================================
//  Ejemplo:
//		if (ValidaForm("formulario",form_campo,form_valor,form_tipo) == 0)
//			document.formulario.submit();
//
//	Parámetros:
//		1) Nombre del Formulario.
//		2) Matriz con los mensajes a imprimir si falla ese campo.
//		3) Matriz con los nombres de los campos en el formulario.
//		4) Matriz con los tipos de campos:
//				"t":		Campo de texto.
//				"n","nxx":	Campo numérico. "xx" indica el tamaño del campo.
//				"e":		Campo de email.
//				"l":		Campo "Select".
//				"r":		Campo "Radio".
//				"m","mxx":	campo "TextArea". "xx" indica la longitud máxima.
//				"f":		Campo "Fecha".
//
function ValidaForm(form_nombre,form_campo,form_valor,form_tipo) {
	var docuform="document."+form_nombre;
	mensaje="Por favor, rellenar: \n";
	error=0;
	
	for (i=0; i<form_campo.length; i++) {
		fallo=0;
		tipo=form_tipo[i].substring(0,1);
		largo=parseInt(form_tipo[i].substring(1,5));
		if (isNaN(largo)) largo=0;
		
		switch (tipo) {
			case "t":
				if (eval(docuform+"."+form_valor[i]+".value")=="") fallo=1;
				break;
			case "n":
				if (isNaN(eval(docuform+"."+form_valor[i]+".value")) ||
					eval(docuform+"."+form_valor[i]+".value")=="" ||
					(eval(docuform+"."+form_valor[i]+".value.length")!=largo && largo!=0)) fallo=1;
				break;
			case "e":
				valor=eval(docuform+"."+form_valor[i]+".value");
				if (valor.indexOf("@")<0 || valor.indexOf(".")<0 || valor.indexOf(" ")>=0) fallo=1;
				break;
			case "l":
				if (eval(docuform+"."+form_valor[i]+".selectedIndex")==0) fallo=1;
				break;
			case "r":
				fallo=1;
				valor=eval(docuform+"."+form_valor[i]+".length");

				for (f=0; f<valor; f++)
					if (eval(docuform+"."+form_valor[i]+"["+f.toString()+"].checked")==true) fallo=0;
				break;
			case "m":
				if (eval(docuform+"."+form_valor[i]+".value.length")>largo && largo>0) fallo=1;
				break;
			case "f":
				largo=eval(docuform+"."+form_valor[i]+".value.length");
				valor=eval(docuform+"."+form_valor[i]+".value");

				if (largo!=0) {
					if (largo!=10) fallo=1;
					if (valor.substring(2,3)!='\/' || valor.substring(5,6)!='\/') fallo=1;
					for (f=0; f<10; f++) {
						char=valor.substring(f,f+1);

						if (f!=2 && f!=5) {
							if (isNaN(parseInt(char))) fallo=1;
						}
						else {
							if (char!="\/") fallo=1;
						}
					}
					if (fallo==0) {
						dia=valor.substring(0,2);
						mes=valor.substring(3,5);
						any=valor.substring(6,10);

						if (dia<"01" || dia >"31" || mes<"01" || mes>"12" || any<"1980" || any>"2050") fallo=1;
					}
				}
				break;
		}

		if (fallo) mensaje+=(error++!=0?", ":"")+form_campo[i];
	}
	
	if (error) alert(mensaje+".");
	return error;
}
