/* Generals */
function xGetElementById(e) {
  if(typeof(e)!='string') return e;
  if(document.getElementById) e=document.getElementById(e);
  else if(document.all) e=document.all[e];
  else e=null;
  return e;
}

function changeclass(e,c) {
  if (!(e=xGetElementById(e))) return;
  e.className=c;
}

function hideorview(e,hv) {
  if (!(e=xGetElementById(e))) return;
  if (hv=='hide') {
    e.className='hide';
  }
  else {
    e.className='';
  }
}
function permutehide(e) {
  if (!(e=xGetElementById(e))) return;
  if (e.className=='hide') {
    e.className='';
  }
  else {
    e.className='hide';
  }
}

/* Registre */
function mostra(e,eb) {
  if (!(e=xGetElementById(e))) return;
  if (!(eb=xGetElementById(eb))) return;
  if (eb.checked==true) {
    e.className='';
  }
  else {
    e.className='hide';
  }
}
function activa(e,eb) {
  if (!(eb=xGetElementById(eb))) return;
  if (!(e=xGetElementById(e))) return;
  e.disabled=!eb.checked;
}

/* Complements AJAX */
function loading() {
  var links = document.getElementsByTagName('a');
  var inputs = document.getElementsByTagName('input');
  for (var i=0; i<links.length; i++) {
    links[i].style.cursor='wait';
  }
  for (var i=0; i<inputs.length; i++) {
    inputs[i].style.cursor='wait';
  }
}
function loaded() {
  var links = document.getElementsByTagName('a');
  var inputs = document.getElementsByTagName('input');
  for (var i=0; i<links.length; i++) {
    links[i].style.cursor='';
  }
  for (var i=0; i<inputs.length; i++) {
    inputs[i].style.cursor='';
  }
}
function buidar(capa) {
  var capaContenedora=document.getElementById(capa);
  capaContenedora.innerHTML='';
}

/* ---------- AJAX ------------- */
/*
*Esta libreria es una libreria AJAX creada por Javier Mellado con la inestimable
*colaboracion de Beatriz Gonzalez.
*y descargada del portal AJAX Hispano http://www.ajaxhispano.com
*contacto javiermellado@gmail.com
*
*Puede ser utilizada, pasada, modificada pero no olvides mantener
*el espiritu del software libre y respeta GNU-GPL
*/

function creaAjax() {
  var objetoAjax=false;
  try {
    /*Para navegadores distintos a internet explorer*/
    objetoAjax = new ActiveXObject("Msxml2.XMLHTTP");
  }
  catch (e) {
    try {
      /*Para explorer*/
      objetoAjax = new ActiveXObject("Microsoft.XMLHTTP");
    }
    catch (E) {
      objetoAjax = false;
    }
  }
  
  if (!objetoAjax && typeof XMLHttpRequest!='undefined') {
    objetoAjax = new XMLHttpRequest();
  }
  return objetoAjax;
}

function FAjax (url,capa,valores,metodo,lang) {
  var ajax=creaAjax();
  var capaContenedora=document.getElementById(capa);
  
  /*Creamos y ejecutamos la instancia si el metodo elegido es POST*/
  if(metodo.toUpperCase()=='POST'){
    ajax.open ('POST', url, true);
    ajax.onreadystatechange = function() {
      if (ajax.readyState==1) { //Carregant
        document.body.style.cursor='wait';
        loading();
      }
      else if (ajax.readyState==4){
        if(ajax.status==200) {
          capaContenedora.innerHTML=ajax.responseText;
          document.body.style.cursor='';
          loaded();
        }
        else if(ajax.status==404) {
          capaContenedora.innerHTML = "Error: Direcció/Dirección/URL";
        }
        else {
          capaContenedora.innerHTML = "Error: ".ajax.status;
        }
      }
    }
    ajax.setRequestHeader('Content-Type','application/x-www-form-urlencoded');
    ajax.send(valores);
    return;
  }
  /*Creamos y ejecutamos la instancia si el metodo elegido es GET*/
  if (metodo.toUpperCase()=='GET'){
    url=url+'?'+valores;
    ajax.open ('GET', url, true);
    ajax.onreadystatechange = function() {
      if (ajax.readyState==1) { //Carregant
        document.body.style.cursor='wait';
        loading();
      }
      else if (ajax.readyState==4) {
        if(ajax.status==200) {
          capaContenedora.innerHTML=ajax.responseText;
          document.body.style.cursor='';
          loaded();
        }
        else if(ajax.status==404) {
          capaContenedora.innerHTML = "Error: Direcció/Dirección/URL";
        }
        else {
          capaContenedora.innerHTML = "Error: ".ajax.status;
        }
      }
    }
    ajax.setRequestHeader('Content-Type','application/x-www-form-urlencoded');
    ajax.send(null);
    return;
  }
} 

