var XML;
var destino;
var selecionado;
var tipo; // retornar html ou atualizar um select
var acesso; // sincrono ou assincrono

function buscar(tb,dest,rel,codportal,sel,rel2,tp,acss,rel3)
{ if (tb != "imagem") { zerar(dest,''); }
	destino     = dest;
  selecionado = sel;
  tipo        = tp;
  acesso      = acss;
  var url = "";
  url = "buscar.php?tb="+tb+"&rel="+rel+"&codportal="+codportal+"&rel2="+rel2+"&rel3="+rel3+"&sel="+sel;
  //alert(url);
  if (acesso == "sincrono")
  { xml = MicoxXML(url);
    document.getElementById(destino).innerHTML = monta(xml);
  } else { loadXML(url); }
  //loadXML(url);
}

function loadXML(url)
{ XML=null  
  if (window.XMLHttpRequest) { XML=new XMLHttpRequest() } 
  else if (window.ActiveXObject) { XML=new ActiveXObject("Microsoft.XMLHTTP") }
  if (XML!=null)
  { XML.onreadystatechange=state_Change
    XML.open("GET",url,true)
    XML.send(null)
  } else { alert("Your browser does not support XMLHTTP.") }
}

function state_Change()
{ if (XML.readyState==4) // if XML shows "loaded"
  { if (XML.status==200) // if "OK"
    { if (tipo == "html") 
      { document.getElementById(destino).innerHTML = monta(XML.responseXML);
      } else { atualiza(); }
    } else { alert("Problem retrieving XML data:" + XML.statusText) }
  } else if (XML.readyState==3) 
         { if (tipo == "html") 
           { document.getElementById(destino).innerHTML = "... Carregando ..."; } else
    	     { destino.options[0] = new Option("carregando ...","0"); }
         } 
}

function monta(xmlNode){
 var txt= "";
 for(var i=0;i<xmlNode.childNodes.length;i++)
 { if(xmlNode.childNodes[i].nodeType == 1)
   { if (xmlNode.childNodes[i].nodeName != "root") 
     { txt = txt + "<" + xmlNode.childNodes[i].nodeName;
     }
     for(var z=0;z<xmlNode.childNodes[i].attributes.length;z++)
     { var atrib = xmlNode.childNodes[i].attributes[z];
       if (atrib.nodeName == "selected")
       { txt = txt + " " + atrib.nodeName; } else
       { txt = txt + " " + atrib.nodeName + "=" + '"' + atrib.nodeValue + '"'; }
     }
     if (xmlNode.childNodes[i].nodeName != "root") { txt = txt + ">\n"; }
     if (xmlNode.childNodes[i].nodeValue != null) { txt = txt + xmlNode.childNodes[i].nodeValue; }
     if(xmlNode.childNodes[i].childNodes.length>0)
     { if (xmlNode.childNodes[i].firstChild.nodeValue != null)
       { txt = txt + xmlNode.childNodes[i].firstChild.nodeValue; }//pegando o valor do primeiro filho
       txt = txt + monta(xmlNode.childNodes[i]); //carregando os filhos dos filhos recursivamente
     }
     if (xmlNode.childNodes[i].nodeName != "root") { txt = txt + "</" + xmlNode.childNodes[i].nodeName + ">\n"; }
   }
 }
 //alert(txt);
 return txt;
}

function atualiza()
{ var response = XML.responseXML.documentElement;
  sel = 0;
  x=response.getElementsByTagName("registro");
  for (i=0;i<x.length;i++)
  { xx=x[i].getElementsByTagName("label");
    xy=x[i].getElementsByTagName("codigo");
    destino.options[i] = new Option(xx[0].firstChild.data,xy[0].firstChild.data);
    if (xy[0].firstChild.data == selecionado) { sel = i; }
  }
  destino.options[sel].selected=true;      
}

function zerar(temp,tabela)
{ for (m=temp.options.length;m>=0;m--) { temp.options[m]=null; }
  temp.options[0] = new Option(tabela,'0');
}

function chamar() {
 destino = "conteudo_ajax";
 tipo    = "html";
 acesso  = "sincrono";
 if (acesso == "sincrono")
 { xml = MicoxXML("form.xml");
   document.getElementById(destino).innerHTML = monta(xml);
   alert(monta(xml));
 } else
 { loadXML("tabela.xml");
 }
}
function MicoxXML(url){
  if(window.XMLHttpRequest){
      var Loader = new XMLHttpRequest();
      Loader.open("GET", url ,false);
      Loader.send(null);
      return Loader.responseXML;
  }else if(window.ActiveXObject){
      var Loader = new ActiveXObject("Msxml2.DOMDocument.3.0");
      Loader.async = false;
      Loader.load(url);
      return Loader;
  }
}

function muda_estilo_numeracao(atual,anterior)
{ if (document.compraproduto.coddetgrade2.value > 0) { document.getElementById(anterior).className = 'naoSelecionado'; }
  //if (anterior > 0) { document.getElementById(anterior).className = 'naoSelecionado'; }
  if (atual > 0) { document.getElementById(atual).className = 'selecionado'; }
}

function exibe_numeracao(atual,anterior)
{ document.getElementById(anterior).style.display="none";
  document.getElementById(atual).style.display="block";
}

function exibecor(cor)
{ divCor = document.getElementById('nomeCor');
	divCor.innerHTML = cor;
	//return;
}

function exibecor_anterior()
{ divCor = document.getElementById('nomeCor');
	divCor.innerHTML = document.compraproduto.coranterior.value;
	//return;
}

function muda_estilo_fotocor(atual)
{ document.getElementById("foto"+document.compraproduto.coddetgrade1.value).className = 'imagem_naoselecionada';
	document.getElementById("foto"+atual).className = 'imagem_selecionada';
}

function mudacor(cor)
{ divCor = document.getElementById('nomeCor');
	divCor.innerHTML = cor;
	document.compraproduto.coranterior.value = cor;
	//return;
}

function muda_aba_pagto(clic) {
  var formaspagto = new Array('visa','mastercard','diners','americanexpress','hipercard');
  var i = 0;
  while (i < formaspagto.length)
  { if (formaspagto[i] == clic)
    { document.getElementById('li_'+clic).className  = 'active';
      document.getElementById('div_'+clic).className = 'box color1 link';
      document.getElementById('conteudo_'+clic).style.display="block";
    } else
    { document.getElementById('li_'+formaspagto[i]).className = '';
      document.getElementById('div_'+formaspagto[i]).className = 'box color0 link';
      document.getElementById('conteudo_'+formaspagto[i]).style.display="none";
    }
    i++;
  }
}
