Array.prototype.inArray = function (value) {
        var i;
        for (i=0; i < this.length; i++) {
                if (this[i] === value) {
                        return i+1;
                }
        }
        return false;
};

function ChequearOtraMulti(ncampo) {
   var radio = ncampo;
   var viendo = MM_findObj("otra" + ncampo);
   var zradio = MM_findObj(radio);
   if(zradio.checked) {
       if(vacio(viendo.value)) viendo.focus();
       return;
   }
   if(!vacio(viendo.value)) 
     zradio.checked=true;
   
}
function MirarOtraMulti(zradio) {
   var viendo = MM_findObj("otra" + zradio.name);
   if(zradio.checked){
       viendo.focus();
   } else {
       viendo.value='';
   }
}
function ChequearOtraRadio(ncampo,opcion) {
   var radio = ncampo;
   var viendo = MM_findObj("otra" + ncampo);
   var zradio = MM_findObj(radio);
   for (var h = 0; h < zradio.length; h++) {
     if (zradio[h].checked && opcion != h)
          zradio[h].checked = false;
     if (h == opcion)
         zradio[h].checked = true;
   }
   if(vacio(viendo.value)) {
     for (var h = 0; h < zradio.length; h++) {
         if (zradio[h].checked)
            zradio[h].checked = false;
     }
   }

}
function QuitarOtra(nombrecampo) {
   eval("campo=document.forms[0]." + nombrecampo);
   campo.value='';
}
function ChequearOtraSelect(ncampo) {
   var radio = ncampo;
   var viendo = MM_findObj("otra" + ncampo);
   var cselect = MM_findObj(radio);
   var opcionotra = cselect.options.length - 1;
   if(opcionotra == cselect.selectedIndex) {
       if(vacio(viendo.value)) viendo.focus();
       return;
   }
   if(!vacio(viendo.value)) 
     cselect.options[opcionotra].selected = true;
}

function MirarOtraSelect(nombrecampo) {
   var cselect = MM_findObj(nombrecampo);
   var otra = MM_findObj('otra' + nombrecampo);
   var opcionotra = cselect.options.length - 1;
   if(cselect.selectedIndex == opcionotra) {
       otra.focus();
   } else {
       otra.value='';
   }
}

function eotros() {
var args = eotros.arguments;
var viendo = args[0];
var opcion = args[1];
var radio = args[2];
var texto = args[3];
var pregunta = args[4];
var zradio = MM_findObj(radio)
if (viendo.type == 'text') {
  for (var h = 0; h < zradio.length; h++) {
     if (zradio[h].checked && opcion != h)
          zradio[h].checked = false;
     if (h == opcion)
         zradio[h].checked = true;
  }
  if(vacio(viendo.value)) {
     for (var h = 0; h < zradio.length; h++) {
         if (zradio[h].checked)
         zradio[h].checked = false;
     }
  }
} else {
  for (var h = 0; h < zradio.length; h++) {
     if (zradio[h].checked)
     var sel = h;
  }
  var cotros = MM_findObj(texto);
  var res = "";
  if (sel == opcion) {
     while(vacio(res)) {
        res = prompt(pregunta,'');
     }
     cotros.value=res;
  } else {
     cotros.value='';
  }
}
}
function chequeamultirespuestaord() {
    var args = chequeamultirespuestaord.arguments;
    var boton = args[0];
    var seleccionado = boton.selectedIndex;
     var fz = document.forms[0];
     for (var i = 1; i < args.length; i++) {
        if(boton.name == args[i]) continue;
        var oboton = MM_findObj(args[i]);
        var oseleccionado = oboton.selectedIndex;
        if(oseleccionado == 0) continue;
        if(oseleccionado == seleccionado) boton.options[0].selected = true;
     }
    return;
}
function chequeamultirespuesta() {
    var args = chequeamultirespuesta.arguments;
    var boton = args[0];
    var maximo = args[1];
   if(boton.checked) {
     var k = 0;
     var fz = document.forms[0];
     for (var i = 2; i < args.length; i++) {
        var oboton = MM_findObj(args[i]);
        if(oboton.checked) k++;
     }
     if(k > maximo) boton.checked=false;
   }
   return;
}

function MirarComunicar() {
   var f = document.forms[0];
   if(f.mensaje.value == '' && f.fichero.value == '') {
      alert("Es necesario rellenar el campo mensaje o especificar el fichero a adjuntar");
      return false;
   }
   return true;
}

function setActiveStyleSheetCursor(title) {
if(window.event.keyCode == 13) {
setActiveStyleSheet(title)
}
}
function setActiveStyleSheet(title) {
var i, a, main;
for(i=0; (a = document.getElementsByTagName("link")[i]); i++) {
if(a.getAttribute("rel").indexOf("style") != -1 && a.getAttribute("title")) {
a.disabled = true;
if(a.getAttribute("title") == title) a.disabled = false;
}
}
}
function getActiveStyleSheet() {
var i, a;
for(i=0; (a = document.getElementsByTagName("link")[i]); i++) {
if(a.getAttribute("rel").indexOf("style") != -1 && a.getAttribute("title") && !a.disabled) return a.getAttribute("title");
}
return null;
}
function getPreferredStyleSheet() {
var i, a;
for(i=0; (a = document.getElementsByTagName("link")[i]); i++) {
if(a.getAttribute("rel").indexOf("style") != -1
&& a.getAttribute("rel").indexOf("alt") == -1
&& a.getAttribute("title")
) return a.getAttribute("title");
}
return null;
}

function createCookie(name,value,days) {
if (days) {
var date = new Date();
date.setTime(date.getTime()+(days*24*60*60*1000));
var expires = "; expires="+date.toGMTString();
}
else expires = "";
document.cookie = name+"="+value+expires+"; path=/";
}
function readCookie(name) {
var nameEQ = name + "=";
var ca = document.cookie.split(';');
for(var i=0;i < ca.length;i++) {
var c = ca[i];
while (c.charAt(0)==' ') c = c.substring(1,c.length);
if (c.indexOf(nameEQ) == 0) return c.substring(nameEQ.length,c.length);
}
return null;
}
window.onload = function(e) {
var cookie = readCookie("style");
if ((cookie == "s1") || (cookie == "s2") || (cookie == "s3"))  {
cookie="";
}
var title = cookie ? cookie : getPreferredStyleSheet();
setActiveStyleSheet(title);
}
window.onunload = function(e) {
var title = getActiveStyleSheet();
createCookie("style", title, 365);
}
var cookie = readCookie("style");
var title = cookie ? cookie : getPreferredStyleSheet();
setActiveStyleSheet(title);
function ValidarFormularioBusquedas() {
var f = document.formbusquedas;
if(f.d.selectedIndex == 0) {
f.a.value="directorio";
f.tp.value="Búsquedas";
} else {
f.a.value="directorio";
f.tp.value="Directorio";
}
}
function EnviarMail(id,prof,b) {
url = "cont/directorio/enviamail.php?idp=" + escape(id) + "&" + b + "=" +  escape(prof) + "&t=" + (new Date()).getTime();
diremail = window.open(url,"DIRECTORIOIMAIL","resizable,scrollbars=yes,status=no,menubar=no,width=640,height=500");
diremail.focus();
}
function DatosIncorrectos() {
url = "https://www.ucm.es/info/ucmp/cont/directorio/datosincorrectos.php?t=" + (new Date()).getTime();
dirincorrecto = window.open(url,"DIRECTORIOINCORRECTO","resizable,scrollbars=auto,status=yes,menubar=no,width=710,height=640");
dirincorrecto.focus();
}
function SugerenciasCursor() {
if(window.event.keyCode == 13) {
Sugerencias()
}
}
function Sugerencias() {
url = "https://www.ucm.es/info/ucmp/cont/directorio/sugerencias.php?t=" + (new Date()).getTime();
dirincorrecto = window.open(url,"DIRECTORIOINCORRECTO","resizable,scrollbars=auto,status=yes,menubar=no,width=710,height=600");
dirincorrecto.focus();
}
function MM_findObj(n, d) { //v3.0
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); return x;
}
function vacio(s) {
if (s == null || s == "" || esblanco(s))
return true;
return false;
}
function esblanco(s) {
for (var i = 0; i < s.length; i++) {
var c = s.charAt(i);
if ((c != ' ') && (c != '\n') && (c != '\t')) return false;
}
return true;
}
function evaluar() {
var args = evaluar.arguments;
var viendo = args[0];
var max = args[1];
var eti = args[2];
var n=0;
for(var i=3;i<args.length;i++) {
var c = MM_findObj(args[i]);
if(c.type=='checkbox' && c.checked)
n++;
if(c.type=='text' && !vacio(c.value))
n++;
}
if(n > max) {
alert('La ' + eti + ' sólo admite ' + max + ' respuestas diferentes');
if(viendo.type=='checkbox')
viendo.checked=false;
if(viendo.type=='text')
viendo.value='';
}
}

function ValidarFormPaginas(idioma) { //v3.0
  var d = document;
  var f = document.forms[0];
  return true;
}

function ValidarForm(idioma) { //v3.0
   var yaexiste = new Array();
   var d = document;
   var msg = "";
   var hayeti = false;
   if(window.obligatorios === undefined) {
   } else {
      cobli = obligatorios.split(',');
      if(etiobligatorios) {
         eobli = etiobligatorios.split('#');
         hayeti = true;
      }
//      for (var i = 0; i < cobli.length; i++) {
      var f = window.document.forms[0];
      for (var j = 0; j < f.length; j++) {
        var e = f.elements[j];
//         var e = MM_findObj(cobli[i],d);
//          alert('Paso ' + e.name + ' ' + cobli[i]);
         if(yaexiste[e.name]) continue;
         yaexiste[e.name] = true;
         i = cobli.inArray(e.name);

         if(!i) continue;
         i--;
         if(e.type == 'textarea') {
            valorcampo = '';
            if(e.className='mceEditor') {
              valorcampo = tinyMCE.get(e.id).getContent();
            } else {
               valorcampo = e.value;
            }
            if(vacio(valorcampo)){
               if(hayeti) {
                  msg += eobli[i] ? eobli[i] : cobli[i];
                  msg += "\n"
               } else {
                  msg += cobli[i] + "\n";
               }
            }
         }
         if ((e.type == 'text' || e.type == 'file') && vacio(e.value)) {
            if(hayeti) {
               msg += eobli[i] ? eobli[i] : cobli[i];
               msg += "\n"
            } else {
               msg += cobli[i] + "\n";
            }
         }
         if (e.type == 'checkbox' && !e.checked) {
            if(hayeti) {
               msg += eobli[i] ? eobli[i] : cobli[i];
               msg += "\n"
            } else {
               msg += cobli[i] + "\n";
            }
         }
         if(e.type == 'radio') {
           var e = MM_findObj(cobli[i],d);
           picado = false;
           for (var h = 0; h < e.length; h++) {
             if (e[h].checked) picado=true;
           }
           if(!picado) {
                if(hayeti) {
                   msg += eobli[i] ? eobli[i] : cobli[i];
                   msg += "\n"
                } else {
                   msg += cobli[i] + "\n";
                }
           }
            
         } 
         if(e.type == 'select-one') {
             if(vacio(e.options[e.selectedIndex].value)) {
                if(hayeti) {
                   msg += eobli[i] ? eobli[i] : cobli[i];
                   msg += "\n"
                } else {
                   msg += cobli[i] + "\n";
                }
             }
         }
      }
   }
   if (!vacio(msg)) {
      if(idioma == 'en') {
         msg1 = "The next fields are mandatory\n\n" + msg;
      } else {
         msg1 = "Los siguientes datos son obligatorios\n\n" + msg;
      }
      alert(msg1);
      return false;
   }
   var fz = document.forms[0];
    for (var i = 0; i < fz.length; i++) {
        var ez = fz.elements[i];
        nombrecampo = ez.name;
        if (nombrecampo.indexOf('copiaemail')!=-1) {
       
             campooriginal =  nombrecampo.replace(/copiaemail/,'');
             zcampooriginal = eval("fz." + campooriginal);
             if( zcampooriginal.value != ez.value) {
                 elementopregunta = document.getElementById('id' + campooriginal);
                 msg  += (elementopregunta == null) ? campooriginal : elementopregunta.innerHTML; 
//                 msg += elementopregunta.innerHTML; 
             }
        }
    }
   if (!vacio(msg)) {
      if(idioma == 'en') {
         msg1 = "The next fields and their confirm are diferent:\n\n" + msg;
      } else {
         msg1 = "Los siguientes datos y sus confirmaciones no coinciden:\n\n" + msg;
      }
      alert(msg1);
      return false;
   }
   return true
}

function ValidarFormAntiguo(idioma) { //v3.0
   var d = document;
   var msg = "";
   var hayeti = false;
   if(window.obligatorios === undefined) {
   } else {
      cobli = obligatorios.split(',');
      if(etiobligatorios) {
         eobli = etiobligatorios.split('#');
         hayeti = true;
      }
      for (var i = 0; i < cobli.length; i++) {
         var e = MM_findObj(cobli[i],d);
//          alert('Paso ' + e + ' ' + cobli[i]);
         if ((e.type == 'text' || e.type == 'file' || e.type == 'textarea') && vacio(e.value)) {
            if(hayeti) {
               msg += eobli[i] ? eobli[i] : cobli[i];
               msg += "\n"
            } else {
               msg += cobli[i] + "\n";
            }
         }
         if (e.type == 'checkbox' && !e.checked) {
            if(hayeti) {
               msg += eobli[i] ? eobli[i] : cobli[i];
               msg += "\n"
            } else {
               msg += cobli[i] + "\n";
            }
         }
         if(e.type == 'radio') {
           picado = false;
           for (var h = 0; h < e.length; h++) {
             if (e[h].checked) picado=true;
           }
           if(!picado) {
                if(hayeti) {
                   msg += eobli[i] ? eobli[i] : cobli[i];
                   msg += "\n"
                } else {
                   msg += cobli[i] + "\n";
                }
           }
            
         } 
         if(e.type == 'select-one') {
             if(vacio(e.options[e.selectedIndex].value)) {
                if(hayeti) {
                   msg += eobli[i] ? eobli[i] : cobli[i];
                   msg += "\n"
                } else {
                   msg += cobli[i] + "\n";
                }
             }
         }
      }
   }

   if (!vacio(msg)) {
      if(idioma == 'en') {
         msg1 = "The next fields are mandatory\n\n" + msg;
      } else {
         msg1 = "Los siguientes datos son obligatorios\n\n" + msg;
      }
      alert(msg1);
      return false;
   }
   var fz = document.forms[0];
    for (var i = 0; i < fz.length; i++) {
        var ez = fz.elements[i];
        nombrecampo = ez.name;
        if (nombrecampo.indexOf('copiaemail')!=-1) {
       
             campooriginal =  nombrecampo.replace(/copiaemail/,'');
             zcampooriginal = eval("fz." + campooriginal);
             if( zcampooriginal.value != ez.value) {
                 elementopregunta = document.getElementById('id' + campooriginal);
                 msg  += (elementopregunta == null) ? campooriginal : elementopregunta.innerHTML; 
//                 msg += elementopregunta.innerHTML; 
             }
        }
    }
   if (!vacio(msg)) {
      if(idioma == 'en') {
         msg1 = "The next fields and their confirm are diferent:\n\n" + msg;
      } else {
         msg1 = "Los siguientes datos y sus confirmaciones no coinciden:\n\n" + msg;
      }
      alert(msg1);
      return false;
   }
   return true
}



