// CANVI TAMANY LLETRA
function canviEstil(nouCSS) {
  // identity=document.getElementById(id);
  identity=document.body;
  identity.className=nouCSS;
}

// TOOLS
function DeleteWhiteSpace(s) {
  if (s==undefined) return;

  var i=0;
  var j=s.length;

  if (j!=0) {
     while (s.substr(i,1)==" ") i++;
     if (i<j)
         while (s.substr(j-1,1)==" ") j--;
  }
  return s.substr(i,j-i);
}

function isMail(str) {
  // Are regular expressions supported?
  var supported = 0;

  if (window.RegExp) {
    var tempStr = "a";
    var tempReg = new RegExp(tempStr);
    if (tempReg.test(tempStr)) supported = 1;
  }

  if (!supported)
    return (str.indexOf(".") > 2) && (str.indexOf("@") > 0);

  var r1 = new RegExp("(@.*@)|(\\.\\.)|(@\\.)|(^\\.)");
  var r2 = new RegExp("^.+\\@(\\[?)[a-zA-Z0-9\\-\\.]+\\.([a-zA-Z]{2,3}|[0-9]{1,3})(\\]?)$");
  return (!r1.test(str) && r2.test(str));
}

function ischecked(obj) {
  var i=0;
  while ((i<obj.length) && (!obj[i].checked)) i++;
  return (i<obj.length);
}

// POPUP
function cnw(mypage,myname,w,h,scroll,resize,fullscreen) {
  LeftPosition = (screen.width) ? (screen.width-w)/2 : 0;
  TopPosition = (screen.height) ? (screen.height-h)/2 : 0;
  settings='height='+h+',width='+w+',top='+TopPosition+',left='+LeftPosition+',scrollbars='+scroll+',resizable='+resize+',fullscreen='+fullscreen;
  window.open(mypage,myname,settings)
}

// IMATGES
function MM_swapImgRestore() {
  var i,x,a=document.MM_sr; for(i=0;a&&i<a.length&&(x=a[i])&&x.oSrc;i++) x.src=x.oSrc;
}

function MM_preloadImages() {
  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_findObj(n, d) {
  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 && document.getElementById) x=document.getElementById(n); return x;
}

function MM_swapImage() {
  var i,j=0,x,a=MM_swapImage.arguments; document.MM_sr=new Array; for(i=0;i<(a.length-2);i+=3)
  if ((x=MM_findObj(a[i]))!=null){document.MM_sr[j++]=x; if(!x.oSrc) x.oSrc=x.src; x.src=a[i+2];}
}

// SALT EDUTECA A RUTA EXTERNA
function jump(idruta) {
  window.open("jump.php?ruta="+idruta);
}

// VEURE/OCULTAR SUBCATEGORIES
function viewcat(cat) {
  var i, act;

  if (document.getElementById) {
     for (i=1;i<=5;i++) {
        if (document.getElementById("cat0"+i).style.display!="none") act=i;
        document.getElementById("cat0"+i).style.display="none";
        document.images['img0'+i].src='../media/img/icons/f0.gif'
     }

     if (act!=cat) {
        document.getElementById("cat"+cat).style.display="block";
        document.images['img'+cat].src='../media/img/icons/f1.gif'
     }
  }
}

// AVALUACIO DE TESTS
function evalua(fid) {
  var naciertos=nfallos=nblanco=0;

  var i=1;
  while (document.getElementById("_r"+fid+i)) {
     rok=document.getElementById("_r"+fid+i).value;
     res=document.getElementsByName("_p"+fid+i);
     if (!ischecked(res)) nblanco++;
     else if (res[rok].checked) naciertos++;
     else nfallos++;
     i++;
  }
  alert("Aciertos "+naciertos+"\nFallos "+nfallos+"\nSin responder "+nblanco);
}

// ACCESS AL PANEL DE L'AUTOR
function elogin(f) {
  f.u.value=DeleteWhiteSpace(f.u.value);
  f.p.value=DeleteWhiteSpace(f.p.value);
  if ((f.u.value!="") && (f.p.value!=""))
     f.submit();
}

function setpass0(f) {
  f.email.value=DeleteWhiteSpace(f.email.value);
  if ((f.email.value=="") || (!isMail(f.email.value)))
     alert("El correo electrónico no es válido");
  else if (f.captcha.value=="")
     alert("Falta introducir el código antispam");
  else
     f.submit();
}

function setpass2(f) {
  f.pass1.value=DeleteWhiteSpace(f.pass1.value);
  f.pass2.value=DeleteWhiteSpace(f.pass2.value);

  if ((f.pass1.value!="") && (f.pass2.value!=""))
     if (f.pass1.value!=f.pass2.value)
        alert("Las contraseñas no son iguales");
     else
        f.submit();
}

// FORMULARIO DE ALTA
function check_alta1(f) {
  if (f.step.checked)
     f.submit();
  else
     alert("Debes aceptar las condiciones de uso!");
}

function check_alta2(f) {
  f.user.value=DeleteWhiteSpace(f.user.value);
  f.email.value=DeleteWhiteSpace(f.email.value);
  f.nom.value=DeleteWhiteSpace(f.nom.value);
  f.captcha.value=DeleteWhiteSpace(f.captcha.value);

  if ((f.email.value=="") || (!isMail(f.email.value)))
     alert("El correo electrónico no es válido");
  else if (f.user.value=="")
     alert("Falta introducir el código de autor");
  else if (f.nom.value=="")
     alert("Falta introducir el nombre de usuario");
  else if (f.captcha.value=="")
     alert("Falta introducir el código antispam");
  else {
     f.submit();
  }
}

// FORO
function salvar_foro(f) {
  var d=DeleteWhiteSpace(f.descripcio.value);
  f.autor.value=DeleteWhiteSpace(f.autor.value);
  f.assumpte.value=DeleteWhiteSpace(f.assumpte.value);
  f.captcha.value=DeleteWhiteSpace(f.captcha.value);

  if ((f.autor.value=="") || (f.assumpte.value=="") || (d=="") || (f.captcha.value=="")) {
     alert("El mensaje no está completo!")
  } else if (d.length>5000) {
     alert("El mensaje excede el tamaño máximo permitido (5000 caracteres)!")
  } else {
      f.submit();
  }
}

// COMENTARIOS
function salvar_comment(f) {
  var c=DeleteWhiteSpace(f.comentari.value);
  f.usuari.value=DeleteWhiteSpace(f.usuari.value);
  f.captcha.value=DeleteWhiteSpace(f.captcha.value);

  if ((f.usuari.value=="") || (c=="") || (f.captcha.value=="")) {
     alert("El comentario no está completo!")
  } else if (c.length>5000) {
     alert("El comentario excede el tamaño máximo permitido (5000 caracteres)!")
  }  else {
     f.submit();
  }
}

// ELIMINAR ACCENTS
String.prototype.removeAccents = function () {
  var __r = {'Á':'A','À':'A','É':'E','È':'E','Í':'I','Ì':'I','Ó':'O','Ò':'O','Ú':'U','Ù':'U'};

  return this.replace(/[ÁÀÉÈÍÌÓÒÚÙ]/gi, function(m){
     var ret = __r[m.toUpperCase()];

     if (m === m.toLowerCase())
        ret = ret.toLowerCase();

     return ret;
  });
};


