var Comunas = new Array(); 
var Provincias = new Array(); 
var Regiones = new Array(); 
var Ubicaciones = new Array(); 

Array.prototype.in_array=function()
{
  for(var i in this)
  {
    if(this[i]==arguments[0])
    {
      return true;
    }
  }
  return false;    
} 

Array.prototype.index_in_array=function()
{
  for(var i in this)
  {
    if(i==arguments[0])
    {
      return true;
    }
  }
  return false;    
} 

function validaRUTreportes()
{
  return ValidaRUT('transferencia_rut_donante', undefined) && ValidaRUT('transferencia_rut_receptor', undefined);
}

function ActualizarClasificacionReportes(Objeto, Tipo, Prefijo)
{
  if (Prefijo == undefined)
  {
    Prefijo = ""; 
  }
  if (Objeto.checked)
  {
    document.getElementById("capa_"+Objeto.id).className = "tabla_"+Tipo+"_resaltado"; 
    Objeto.className = "resaltado2"; 
  }
  else
  {
    document.getElementById("capa_"+Objeto.id).className = "tabla_"+Tipo; 
    Objeto.className = undefined; 
  }
  return true;
}

function ActualizarUbicacionReportes(Objeto, Tipo, Prefijo)
{
  if (Prefijo == undefined)
  {
    Prefijo = ""; 
  }

  if (Objeto.checked)
  {
    document.getElementById("capa_"+Objeto.id).className = "tabla_"+Tipo+"_resaltado"; 
    Objeto.className = "resaltado2"; 
  }
  else
  {
    document.getElementById("capa_"+Objeto.id).className = "tabla_"+Tipo; 
    Objeto.className = undefined; 
  }
 
  switch (Tipo)
  {
    case "id_region" :
    {
      var URL = "/reportes/ubicacion"; 
      var Vars = "tipo=region&prefijo="+Prefijo; 
      if (Prefijo != "")
      {
        Prefijo = Prefijo + "_"; 
      }
      var inputRegiones = document.getElementById(Prefijo+"capa_id_region").getElementsByTagName("input");
      var n = inputRegiones.length;  
      var j = 0; 
      for (var i=0; i<n; i++)
      {
        if (inputRegiones[i].type=="checkbox")
        {
          Vars += "&id[]="+inputRegiones[i].id; 
          Vars += "&checked[]="+inputRegiones[i].checked; 
          Vars += "&valor[]="+inputRegiones[i].value; 
          j++;
        }
      }
      loadXMLDoc(URL, "POST", Vars, "ActualizarProvinciaComuna", true);   
      break;
    }
    case "id_provincia" :
    {
      var URL = "/reportes/ubicacion"; 
      var Vars = "tipo=provincia&prefijo="+Prefijo; 
      if (Prefijo != "")
      {
        Prefijo = Prefijo + "_"; 
      }
      var inputProvincias = document.getElementById(Prefijo+"capa_id_provincia").getElementsByTagName("input");
      var n = inputProvincias.length;  
      var j = 0; 
      for (var i=0; i<n; i++)
      {
        if (inputProvincias[i].type=="checkbox")
        {
          Vars += "&id[]="+inputProvincias[i].id; 
          Vars += "&checked[]="+inputProvincias[i].checked; 
          Vars += "&valor[]="+inputProvincias[i].value; 
          j++;
        }
      }
      loadXMLDoc(URL, "POST", Vars, "ActualizarComuna", true);   
      break;
    }
  }
  return true;
}

function ActualizarProvinciaComuna(root)
{
  if (Mozilla)
  {
    var inicio = 1;
    var incremento = 2; 
  }
  else
  {
    var inicio = 0; 
    var incremento = 1;
  }
  var HTML1 = ""; 
  var HTML2 = ""; 
  var prefijo = Trim(root.childNodes[inicio].getAttribute("prefijo")); 
  var records = root.childNodes[inicio]; 
  for (var i = inicio; i<records.childNodes.length; i = i + incremento)
  {
    var id = records.childNodes[i].getAttribute("id"); 
    var nombre = records.childNodes[i].getAttribute("nombre"); 
    if (records.childNodes[i].getAttribute("tipo") == "provincia")
    {
      if (prefijo == "")
      {    
        HTML1 += "<div id=\"capa_ubicacion_id_provincia_"+id+"\" class=\"tabla_id_provincia\" style=\"display: block;\">\n"; 
        HTML1 += "<input type=\"checkbox\" name=\"ubicacion[provincia][]\" id=\"ubicacion_id_provincia_"+id+"\" value=\""+nombre+"\" OnClick=\"ActualizarUbicacionReportes(this, 'id_provincia');\">\n";
        HTML1 += "<label for=\"ubicacion_id_provincia_"+id+"\">"+htmlentities(nombre)+"</label>\n";
        HTML1 += "</div>"; 
      }
      else
      {
        HTML1 += "<div id=\"capa_"+prefijo+"_ubicacion_id_provincia_"+id+"\" class=\"tabla_id_provincia\" style=\"display: block;\">\n"; 
        HTML1 += "<input type=\"checkbox\" name=\""+prefijo+"_ubicacion[provincia][]\" id=\""+prefijo+"_ubicacion_id_provincia_"+id+"\" value=\""+nombre+"\" OnClick=\"ActualizarUbicacionReportes(this, 'id_provincia', '"+prefijo+"');\">\n";
        HTML1 += "<label for=\""+prefijo+"_ubicacion_id_provincia_"+id+"\">"+htmlentities(nombre)+"</label>\n";
        HTML1 += "</div>"; 
      }
    }
    else
    {
      if (prefijo == "")
      {
        HTML2 += "<div id=\"capa_ubicacion_id_comuna_"+id+"\" class=\"tabla_id_comuna\" style=\"display: block;\">\n"; 
        HTML2 += "<input type=\"checkbox\" name=\"ubicacion[comuna][]\" id=\"ubicacion_id_comuna_"+id+"\" value=\""+nombre+"\" OnClick=\"ActualizarUbicacionReportes(this, 'id_comuna');\">\n";
        HTML2 += "<label for=\"ubicacion_id_comuna_"+id+"\">"+htmlentities(nombre)+"</label>\n";
        HTML2 += "</div>"; 
      }
      else
      {
        HTML2 += "<div id=\"capa_"+prefijo+"_ubicacion_id_comuna_"+id+"\" class=\"tabla_id_comuna\" style=\"display: block;\">\n"; 
        HTML2 += "<input type=\"checkbox\" name=\""+prefijo+"_ubicacion[comuna][]\" id=\""+prefijo+"_ubicacion_id_comuna_"+id+"\" value=\""+nombre+"\" OnClick=\"ActualizarUbicacionReportes(this, 'id_comuna', '"+prefijo+"');\">\n";
        HTML2 += "<label for=\""+prefijo+"_ubicacion_id_comuna_"+id+"\">"+htmlentities(nombre)+"</label>\n";
        HTML2 += "</div>"; 
      }
    }
  }
  if (prefijo != "")
  {
    prefijo = prefijo + "_"; 
  }
  document.getElementById(prefijo+"capa_id_provincia").innerHTML = HTML1; 
  document.getElementById(prefijo+"capa_id_comuna").innerHTML = HTML2; 
  return true;
}

function ActualizarComuna(root)
{
  if (Mozilla)
  {
    var inicio = 1;
    var incremento = 2; 
  }
  else
  {
    var inicio = 0; 
    var incremento = 1;
  }
  var HTML = ""; 
  var prefijo = Trim(root.childNodes[inicio].getAttribute("prefijo")); 
  var records = root.childNodes[inicio]; 
  for (var i = inicio; i<records.childNodes.length; i = i + incremento)
  {
    var id = records.childNodes[i].getAttribute("id"); 
    var nombre = records.childNodes[i].getAttribute("nombre"); 
    if (records.childNodes[i].getAttribute("tipo") == "comuna")
    {
      if (prefijo == "")
      {
        HTML += "<div id=\"capa_ubicacion_id_comuna_"+id+"\" class=\"tabla_id_comuna\" style=\"display: block;\">\n"; 
        HTML += "<input type=\"checkbox\" name=\"ubicacion[comuna][]\" id=\"ubicacion_id_comuna_"+id+"\" value=\""+nombre+"\" OnClick=\"ActualizarUbicacionReportes(this, 'id_comuna');\">\n";
        HTML += "<label for=\"ubicacion_id_comuna_"+id+"\">"+htmlentities(nombre)+"</label>\n";
        HTML += "</div>"; 
      }
      else
      {
        HTML += "<div id=\"capa_"+prefijo+"_ubicacion_id_comuna_"+id+"\" class=\"tabla_id_comuna\" style=\"display: block;\">\n"; 
        HTML += "<input type=\"checkbox\" name=\""+prefijo+"_ubicacion[comuna][]\" id=\""+prefijo+"_ubicacion_id_comuna_"+id+"\" value=\""+nombre+"\" OnClick=\"ActualizarUbicacionReportes(this, 'id_comuna', '"+prefijo+"');\">\n";
        HTML += "<label for=\""+prefijo+"_ubicacion_id_comuna_"+id+"\">"+htmlentities(nombre)+"</label>\n";
        HTML += "</div>"; 
      }
    }
  }
  if (prefijo != "")
  {
    prefijo = prefijo + "_"; 
  }
  document.getElementById(prefijo+"capa_id_comuna").innerHTML = HTML; 
  return true;
}

function verFicha(rut, clase)
{
  document.getElementById("ficha_rut").value=rut; 
  document.getElementById("ficha_clase").value=clase; 
  document.getElementById("form2").submit();
  return true;
}

function ArchivoTexto(Cual, Rut)
{
  var form = document.getElementById("form"); 
  switch (Cual)
  {
    case 'Donantes' :
    {
      document.getElementById("csv").value = true;
      break;
    }
    case 'Receptores' :
    {
      document.getElementById("csv").value = true;
      break;
    }
    case 'Instituciones' :
    {
      document.getElementById("csv").value = true;
      break;
    }
    case 'TransferenciasGenerico' :
    {
      document.getElementById("csv").value = true;
      break;
    }
    case 'TransferenciasIngresadas' :
    {
      form.action = form.action + "/csv/true/";    
      break;
    }
    case 'TransferenciasDonantes' :
    {
      document.getElementById("csv").value = true;
      break;
    }
    case 'TransferenciasReceptores' :
    {
      document.getElementById("csv").value = true;
      break;
    }
    case 'TransferenciasRealizadasMisInstituciones' :
    {
      document.getElementById("csv").value = true;
      break;
    }
    case 'TransferenciasRecibidasMisInstituciones' :
    {
      document.getElementById("csv").value = true;
      break;
    }
    case 'Institucion' :
    {
      form.action = "/institucion/"+Rut+"/csv/true/";
      break;
    }
    default :
    {
      return true;
    }
  }
  form.submit(); 
  return true; 
}

