/*******************************************************************/
/***   recopilado por luisfel  (luisfel@luisfel.cl) 03/2004      ***/
/***   apadtado para cursos por Sega (sega@ecap.cl) 06/2005      ***/
/***   apadtado para Lenara por Sega (sega@ecap.cl) 09/2005      ***/
/***   Se agregan funciones MM_preloadImages y MM_nbGroup para el menu gral(Cristian) 30/09/2005      ***/
/***   Se agrega funcion MM_jumpMenu y putFocus (Cristian) 06/10/2005      ***/

/*******************************************************************/

function MM_findObj(n, d) { //v4.01
  var p,i,x;  if(!d) d=document; if((p=n.indexOf("?"))>0&&parent.frames.length) {
    d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);}
  if(!(x=d[n])&&d.all) x=d.all[n]; for (i=0;!x&&i<d.forms.length;i++) x=d.forms[i][n];
  for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=MM_findObj(n,d.layers[i].document);
  if(!x && d.getElementById) x=d.getElementById(n); return x;
}

function MM_preloadImages() { //v3.0
  var d=document; if(d.images){ if(!d.MM_p) d.MM_p=new Array();
    var i,j=d.MM_p.length,a=MM_preloadImages.arguments; for(i=0; i<a.length; i++)
    if (a[i].indexOf("#")!=0){ d.MM_p[j]=new Image; d.MM_p[j++].src=a[i];}}
}

function MM_validateForm() { //v4.0
  var i,p,q,nm,test,num,min,max,errors='',args=MM_validateForm.arguments;
  for (i=0; i<(args.length-2); i+=3) { test=args[i+2]; val=MM_findObj(args[i]);
    if (val) { nm=val.name; if ((val=val.value)!="") {
      if (test.indexOf('isEmail')!=-1) { p=val.indexOf('@');
        if (p<1 || p==(val.length-1)) errors+='- '+nm+' debe contener un email válido.\n';
      } else if (test!='R') { num = parseFloat(val);
        if (isNaN(val)) errors+='- '+nm+' debe contener sólo números.\n';
        if (test.indexOf('inRange') != -1) { p=test.indexOf(':');
          min=test.substring(8,p); max=test.substring(p+1);
          if (num<min || max<num) errors+='- '+nm+' debe contener un número entre '+min+' y '+max+'.\n'; // must contain a number between, and
    } } } else if (test.charAt(0) == 'R') errors += '- '+nm+' es necesario.\n'; }
  } if (errors) alert('Los siguientes problemas han sido encontrados:\n'+errors);
  document.MM_returnValue = (errors == '');
}

function MM_openBrWindow(theURL,winName,features) { //v2.0
  window.open(theURL,winName,features);
}

function MM_goToURL() { //v3.0
  var i, args=MM_goToURL.arguments; document.MM_returnValue = false;
  for (i=0; i<(args.length-1); i+=2) eval(args[i]+".location='"+args[i+1]+"'");
}

function mostra(elemento){
	var obj=MM_findObj(elemento);
	if (obj.style.display=="none"){
		obj.style.display="";
	} else {
		obj.style.display="none";
	}
}
function muestra(elemento){
	var obj=MM_findObj(elemento);
		obj.style.display="";
}
function oculta(elemento){
	var obj=MM_findObj(elemento);
		obj.style.display="none";
}
function oculta_mensaje () {//funcion que oculta el mensaje despues d eun tiempo
var id_m = MM_findObj('id_mensaje')
id_m.style.display = 'none'
}

/*
Funcion usada para inscribir usuarios. 
Selecciona de acuerdo a los grupos a los que pertenecen los usuarios
*/
function seleccionar(tipo,field){
	var fieldid;
	var tipo;
	var strng;
	strng = ","+tipo.value+",";	  
	for (i=0; i<field.length; i++){
		if(field[i].type == 'checkbox'){
			if(strng==",all,"){
			field[i].checked = true;
			} else {
			fieldid = field[i].id;
			p=fieldid.indexOf(strng);
				if (p != -1){
					location.hash=fieldid;
					field[i].checked = true;
				} else {
					field[i].checked = false;   
				}
			}	  
		}
	}
}

function MM_nbGroup(event, grpName) { //v6.0
  var i,img,nbArr,args=MM_nbGroup.arguments;
  if (event == "init" && args.length > 2) {
    if ((img = MM_findObj(args[2])) != null && !img.MM_init) {
      img.MM_init = true; img.MM_up = args[3]; img.MM_dn = img.src;
      if ((nbArr = document[grpName]) == null) nbArr = document[grpName] = new Array();
      nbArr[nbArr.length] = img;
      for (i=4; i < args.length-1; i+=2) if ((img = MM_findObj(args[i])) != null) {
        if (!img.MM_up) img.MM_up = img.src;
        img.src = img.MM_dn = args[i+1];
        nbArr[nbArr.length] = img;
    } }
  } else if (event == "over") {
    document.MM_nbOver = nbArr = new Array();
    for (i=1; i < args.length-1; i+=3) if ((img = MM_findObj(args[i])) != null) {
      if (!img.MM_up) img.MM_up = img.src;
      img.src = (img.MM_dn && args[i+2]) ? args[i+2] : ((args[i+1])? args[i+1] : img.MM_up);
      nbArr[nbArr.length] = img;
    }
  } else if (event == "out" ) {
    for (i=0; i < document.MM_nbOver.length; i++) {
      img = document.MM_nbOver[i]; img.src = (img.MM_dn) ? img.MM_dn : img.MM_up; }
  } else if (event == "down") {
    nbArr = document[grpName];
    if (nbArr)
      for (i=0; i < nbArr.length; i++) { img=nbArr[i]; img.src = img.MM_up; img.MM_dn = 0; }
    document[grpName] = nbArr = new Array();
    for (i=2; i < args.length-1; i+=2) if ((img = MM_findObj(args[i])) != null) {
      if (!img.MM_up) img.MM_up = img.src;
      img.src = img.MM_dn = (args[i+1])? args[i+1] : img.MM_up;
      nbArr[nbArr.length] = img;
  } }
}

function openchromeless(theURL, wname, W, H)
{
	//var windowW = W;
	//var windowH = H;
	var windowW = window.screen.width;
	var windowH = window.screen.height;
	var windowX = Math.ceil( (window.screen.width  - windowW) / 2 );
	var windowY = Math.ceil( (window.screen.height - windowH) / 2 );
	s = ",width="+windowW+",height="+windowH;
	splashWin = window.open( "" , wname, "fullscreen=1,toolbar=0,location=0,directories=0,status=0,menubar=0,scrollbars=0,resizable=0"+s)
	//splashWin.resizeTo( Math.ceil( W )       , Math.ceil( H ) )
	splashWin.resizeTo( Math.ceil( windowW )       , Math.ceil( windowH ) );
	//splashWin.moveTo  ( Math.ceil( windowX ) , Math.ceil( windowY ) )
	splashWin.moveTo  (0, 0);
	//splashWin.document.open("text/html", "replace");
	splashWin.document.write("<html><style type='text/css'>\n");
	splashWin.document.write("body { border: 1px solid #000000; overflow: hidden; margin: 0pt;}");
	splashWin.document.write("#stillloadingDiv 	{ position: absolute; left: 0px; top: 0px; width: 100%px; height: 19px; z-index: 1; background-color: #C0C0C0; layer-background-color: #C0C0C0; clip:rect(0,100%,19,0);}");
	splashWin.document.write("</style>\n");
	splashWin.document.write("<body onload=top.document.location.replace('"+theURL+"') TOPMARGIN=0 LEFTMARGIN=0 MARGINWIDTH=0 MARGINHEIGHT=0 scroll='no'>");
	//splashWin.document.write("<div id=stillloadingDiv><table width=100% height=22 cellspacing=0 cellpadding=0><tr><td align=left valign=middle width=100%><FONT size=1 face=verdana color=#000000>&nbsp;&nbsp;c o n t a c t i n g . . .</font></td></tr></table></div>");
	splashWin.document.write("</body></html>");
	splashWin.document.close();
	splashWin.focus();
}

function MM_jumpMenu(targ,selObj,restore){ //v3.0
  eval(targ+".location='"+selObj.options[selObj.selectedIndex].value+"'");
  if (restore) selObj.selectedIndex=0;
}

function putFocus(campo) {
	var elcampo=MM_findObj(campo);
	try{
		elcampo.focus();
	}catch(e){/*nada, es solo para evitar error JS en explorer cuando el campo no aparece*/}
	
}

function reemplazaComillas(texto, campo){
	largo = texto.length
	campo = MM_findObj(campo)
	for (i=0;i<largo;i++) {
		texto = texto.replace("\"","&quot;")
	}
	campo.value = texto
}

/* funcion usada en evaluacion, para descargar de un frame oculto la pagina
que controla el tiempo que lleva el usuaro dando la evaluacion, 
una vez que el usuario termina 
Cristian
09/11/05*/
function stop_tiempo(){
	try{
		carga = '/nada.php'
		MM_goToURL('parent.frames[\'topFrame\']', carga);
	}catch(e){
		//nada... solamente evita que mande error si no existe el topFrame
	}
}

// funcion que se gatilla desde la pagina de termino de la evaluacion
// (ev_evaluacion_termino.php) para ir a ver los resultados que estan 
// publicados en ev_resultados.php
function saltar_a_pagina(salto){
	window.self.location = salto
	return true
}

function recarga_menu(){
	parent.window.frames['menu'].location="menu.php?recarga=no";
}

function nuevoAjax(){
	var xmlhttp=false;
	try {
		xmlhttp = new ActiveXObject("Msxml2.XMLHTTP");
		} catch (e) {
			try {
				xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
				} catch (E) {
					try{
						xmlhttp = new XMLHttpRequest();
					} catch(E2){
						xmlhttp = false;
					}
			}
	}
	
	if (!xmlhttp && typeof XMLHttpRequest!='undefined') {
	xmlhttp = new XMLHttpRequest();
	}
	return xmlhttp;
}

function comparaClaves(clave1, clave2){
	if(clave1.value != clave2.value){
		alert('Las claves no coinciden. Deben ser iguales!');
		try{putFocus(clave1);}catch(e){}
		return false;
	}else return true;
}