/**
 * funciones.js
 * lista de funciones básicas de la páginas
 */


/**
 * se fija los campos que son obligatorios,
 * y tira un aviso
 * 
 * @param {Object} formu
 */
function validar(formu){
	
	// variables
	cantidad=formu.elements.length;
	enfocar="";

	
	// se recorren los elementos del formulario
	for(i=0;i<cantidad;i++){
		
		elemento=formu.elements[i];
		if(elemento.className=="pg_obligatorio"&&elemento.value==""){
			if(enfocar==""){
				enfocar=i;
				}
			}
		
		}
	
	// si pasó algo, se avisa
	if(enfocar!=""){
		
		// se escribe el texto
		div_aviso=document.createElement("div");
		div_aviso.className="pg_aviso";
		div_aviso.innerHTML="Ud. debe completar los campos obligatorios.";
		formu.appendChild(div_aviso);
		
		// se enfoca el primer elemento sin completar
		formu.elements[enfocar].focus();
		}
	else{
		formu.submit();
		}
	
	}
	
	
/**
 * se utiliza en la amplización de un imagen
 */
function ampliar(imagen){
	imageTitle='Zoom';
	imgWin=window.open('about:blank','','scrollbars=no,width=500,height=375,left=50,top=50');
	with (imgWin.document){
		writeln('<html><head><title>Cargando...</title><style>body{margin:0px;}</style>');
		writeln('<sc'+'ript>');
		writeln('var isNN,isIE;');
		writeln('if (parseInt(navigator.appVersion.charAt(0))>=4){');
		writeln('isNN=(navigator.appName=="Netscape")?1:0;');
		writeln('isIE=(navigator.appName.indexOf("Microsoft")!=-1)?1:0;}');
		writeln('function reSizeToImage(){');
		writeln('if (isIE){');
		writeln('window.resizeTo(50,50);');
		writeln('width=100-(document.body.clientWidth-document.images[0].width);');
		writeln('height=100-(document.body.clientHeight-document.images[0].height);');
		writeln('window.resizeTo(width,height);}');
		writeln('if (isNN){');       
		writeln('window.innerWidth=document.images["imgZoom"].width;');
		writeln('window.innerHeight=document.images["imgZoom"].height;}}');
		writeln('function doTitle(){document.title="'+imageTitle+'";}');
		writeln('</sc'+'ript>');
		writeln('</head><body bgcolor=ffffff scroll="no" onload="reSizeToImage();doTitle();self.focus()">');
		writeln('<img name="imgZoom" src='+imagen+' style="display:block"></body></html>');
		close();		
		}
	}
 
 
 /**
  * el usuario hace login
  * 
  * @return boolean
  */
 function login(){
 	
	// variables
	formu=document.forms["frm_usuario"];
	usuario=formu.elements["usuario"];
	clave=formu.elements["clave"];
	div_aviso=document.getElementById("frm_usuario_aviso");
	
	// control
	div_aviso.innerHTML="";
	if(usuario.value==""){
		div_aviso.innerHTML+="complete usuario";
		div_aviso.className="error";
		usuario.focus();
		return 0;
		}
	if(clave.value==""){
		div_aviso.innerHTML+="complete clave";
		div_aviso.className="error";
		clave.focus();
		return 0;
		}
	
	// se envía la info del login
	valor_load="";
	div_aviso.innerHTML="consultando...";
	div_aviso.className="aviso";
	load("index.php?Q=6&USUARIO="+usuario.value+"&CLAVE="+MD5(clave.value));
		
	// y se llama a la función
	login_tiempo=window.setTimeout("login_ajax(0);",300);	
	
 	}
 
 function login_ajax(vez){
 	
	// se tranca los llamados por las dudas
	window.clearTimeout(login_tiempo);

	// los avisos
	div_aviso=document.getElementById("frm_usuario_aviso");

	// control de veces
	if(vez > 30){
		div_aviso.innetHTML="error, intente luego";
		div_aviso.className="error";
		return false;
		}
 	
	// control de respuesta
	if(valor_load!="1"&&valor_load!="2"){
		vez2=vez+1;
		login_tiempo=window.setTimeout("login_ajax(vez2);",100);
		return false;
		}
	

	if(valor_load=="1"){	// ok
		
		url=(document.forms["frm_usuario"].elements["URL_ACTUAL"].value!="")?document.forms["frm_usuario"].elements["URL_ACTUAL"].value:"index.php";
		
		location.href=url;
		div_aviso.innerHTML="accediendo...";
		div_aviso.className="aviso";
		}
	if(valor_load=="2"){	// error
		div_aviso.innerHTML="no está registrado";
		div_aviso.className="error";
		return false;
		}
	
	
	}
 
 
 /**
  * confirma si cierra la sessión
  */
 function sesion_cerrar(){
 	
	if(confirm("Desea cerrar su sesión?")){
		location.href="logout.php";
		}
	return false;
	
 	}
 
 
/**
 * Muestra u oculta respuestas
 * 
 * @param string id de la respuesta
 */ 
 function ampliar_respuesta(id_respuesta){
 	
	// control
	if(id_respuesta==""){
		return false;
		}
	
	// se accede al elemento
	div_respuesta=document.getElementById(id_respuesta);
	if(div_respuesta.className=="inv"){
		div_respuesta.className="div_respuesta";
		}
	else{
		div_respuesta.className="inv";
		}
	
	
 	}