/*  W3 GLOBAL VARIABLES */

var oResponse = new Array(); //Vector XMLHttpRequest que va a contener a todos los XML
var TituloHTML; // Variable con el texto de la navegacion

/* /W3 GLOBAL VARIABLES */


/****************************************************************************************************************************************/
/*                                                   FUNCIONES IMPORTASTES                                                              */
/****************************************************************************************************************************************/
/*FUNCION loadXMLDoc = crea el objeto XMLHttpRequest (es la unica funcion que tengo que utilzar...)

Parametros:

	url = documento XML (Puede ser tmb un documento ASP o PHP teniendo en cuenta que tiene que devolver una estructura XML)
	id = indentificador para el Verctor oResponse
	fpFunction = funcion que muestra la info del XML

*/
function loadXMLDoc(url, id, fpFuncion)
{
	var xmlhttp=null;
// code for Mozilla, etc.
	if (window.XMLHttpRequest)
	  xmlhttp=new XMLHttpRequest();
// code for IE
	else if (window.ActiveXObject)
	  xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
	
	if (xmlhttp!=null) {
	  xmlhttp.onreadystatechange = function() {
	  	onResponse(id, fpFuncion, xmlhttp);
	  };
	  xmlhttp.open("GET",url,true);
	  xmlhttp.send(null);
	}
	else
	  alert("Your browser does not support XMLHTTP.");
}
/*FIN DE FUNCION*/

/****************************************************************************************************************************************/
/*FUNCTION checkReadyState = Chequea el estado del objeto XMLHttpRequest

Parametros:

	obj = objeto XMLHttpRequest

*/
function checkReadyState(obj)
{
  if(obj.readyState == 4) {
    if(obj.status == 200) {
    	return true;	
    } else {
    	alert("Problem retrieving XML data 1");
		console.debug(obj);
    }
  }
}

/*FIN DE FUNCION*/

/****************************************************************************************************************************************/
/*FUNCTION onResponse = Vincula el vector de objetos XMLHttpRequest con un archivo XML

Parametros:

	id = indentificador para el Verctor oResponse
	fpFuncion = funcion que muestra la info del XML
	oAjax = objeto XMLHttpRequest

*/
function onResponse(id, fpFuncion, oAjax)
{
	var response = null;

  if(checkReadyState(oAjax))
  {
  	response = oAjax.responseXML.documentElement;
	
  	/*@cc_on
		response = new ActiveXObject("Microsoft.XMLDOM");
		
		response.async = false;
		response.loadXML(oAjax.responseText);
	@*/

	oResponse[id] = response;
	
	if ( fpFuncion )
		fpFuncion(response);

  }
}
/*FIN DE FUNCION*/

/****************************************************************************************************************************************/
/*                                                 FIN FUNCIONES IMPORTASTES                                                            */
/****************************************************************************************************************************************/
/*FUNCTION Carga_barra = Genera la barra de navegacion

Parametros:

	--no tiene--

*/

function Carga_barra(){
	if (document.getElementById('navegacion') != null) {
		loadXMLDoc('/xml/navegacion.xml', 'navegacion', function(xmlDoc) {
			var url = document.URL;
			var root = new Array();
			var oPath = null;
			var path="";
			
			root = url.split("/");
			
			oPath = xmlDoc;
			var sNavegacion ="";
						
			for(var x = 3; x < root.length-1; x++){
				path+= "/" + root[x];
				if (oPath.getElementsByTagName(root[x])[0] != null) {
					oPath = oPath.getElementsByTagName(root[x])[0];
					if (x == root.length-2 && TituloHTML == ""){
						sNavegacion = sNavegacion +'<span>'+ oPath.firstChild.nodeValue +'</span> ';
					}else{
						sNavegacion = sNavegacion +'<a href="'+path+'/index.htm">'+ oPath.firstChild.nodeValue + '</a> > ';
					}
				}
			}
			if (TituloHTML != ""){sNavegacion = sNavegacion + '<span>' + TituloHTML + '</span>';}
			document.getElementById('navegacion').innerHTML=sNavegacion;
		});
	}
}

/*FIN DE FUNCION*/

/****************************************************************************************************************************************/
/*FUNCTION lista_tarjeta = Genera select en el comparacao para agregar mas tarjetas

Parametros:

	--no tiene--

*/

function lista_tarjeta(){
	if (document.getElementById('lista_group') != null) {
		loadXMLDoc('/xml/LojaCartoes.xml', 'mastarjeta', function(xmlDoc) {
			var oHtml='';
			var oCartao, oEmisor, oGrupo, oVariante, card;
			var sEmisor, sGrupo, sVariante, sRenda, sAnuidade, iCartao, iEmisor, tcards;
			var familias = new Array();
			
			oCartao = xmlDoc.getElementsByTagName("Cartoes")[0].getElementsByTagName("Cartao");
			oEmisor = xmlDoc.getElementsByTagName("Emissores")[0].getElementsByTagName("Emissor");
			oGrupo = xmlDoc.getElementsByTagName("Grupos")[0].getElementsByTagName("Grupo");
			oVariante = xmlDoc.getElementsByTagName("Variantes")[0].getElementsByTagName("Variante");
			
			
			oHtml+='<div class="box">';
			oHtml+='<div class="box_container" style="width:230px; height:50px;">';
			oHtml+='	<div class="inclua"><h2>Inclua outros cartões na comparação</h2></div>';
			oHtml+='	<select id="familias" onchange="optionsCards(this);">';
			oHtml+='		<option value="">Selecione</option>';
			for(var x =0 ; x < oGrupo.length; x++){

        // vamos pular as famílias de cartões da Categoria 2, "Pessoa Jurídica"
        var categs = oGrupo[x].getElementsByTagName("Categoria");
        if ( categs.length && categs[0].firstChild
            && categs[0].firstChild.nodeValue == '2' ) continue;

				for (var y = 0; y < oEmisor.length; y++){
					if (oGrupo[x].getElementsByTagName("Emissor")[0].firstChild.nodeValue == oEmisor[y].getElementsByTagName("ID")[0].firstChild.nodeValue){
						sEmisor= oEmisor[y].getElementsByTagName("Description")[0].firstChild.nodeValue;
					}
				}
				oHtml+='<option value="opcao_'+oGrupo[x].getElementsByTagName("ID")[0].firstChild.nodeValue+'">'+(sEmisor?sEmisor+' ':'')+oGrupo[x].getElementsByTagName("Description")[0].firstChild.nodeValue+'</option>';
				familias[x]=sEmisor+' '+oGrupo[x].getElementsByTagName("Description")[0].firstChild.nodeValue;
			}
			oHtml+='	</select>';
			oHtml+='</div>';
			
			for(var x =0 ; x < oGrupo.length; x++){
				tcards='';
				oHtml+='<div class="tipo_cards" id="opcao_'+oGrupo[x].getElementsByTagName("ID")[0].firstChild.nodeValue+'">';
				
				for (var y = 0; y < oCartao.length; y++){
					if (oGrupo[x].getElementsByTagName("ID")[0].firstChild.nodeValue == oCartao[y].getElementsByTagName("Grupo")[0].firstChild.nodeValue){
						for (var z = 0; z < oVariante.length; z++){
							if (oCartao[y].getElementsByTagName("Variante")[0].firstChild.nodeValue == oVariante[z].getElementsByTagName("ID")[0].firstChild.nodeValue){
								sVariante = oVariante[z].getElementsByTagName("Description")[0].firstChild.nodeValue;
								iCartao = oCartao[y].getElementsByTagName("ID")[0].firstChild.nodeValue;
								iEmisor = oCartao[y].getElementsByTagName("Emissor")[0].firstChild.nodeValue;
								tcards+=iCartao+',';
							}
						}
					/*PARA LAS METRICAS*/
					nombrecard=familias[x]+' '+sVariante;
					/*/PARA LAS METRICAS*/
					oHtml+='	<div><input type="checkbox" name="'+iCartao+'" id="'+iCartao+'" value="'+iCartao+'" /><input type="hidden" name="dato_'+iCartao+'" id="dato_'+iCartao+'" value="'+nombrecard.split(" ").join("+")+'" /><label for="gold">'+(iEmisor=='2'?'International':sVariante)+'</label></div>';
					}
				}
				if ( tcards.indexOf(',') != tcards.lastIndexOf(',') ) {
					oHtml+='	<div><input type="checkbox" name="'+tcards+'" id="'+tcards+'" value="'+tcards+'" /><label for="gold">Todos</label></div>';
				}
				oHtml+='	<div class="incluir"><a href="javascript:agregatarjeta(\'opcao_'+oGrupo[x].getElementsByTagName("ID")[0].firstChild.nodeValue+'\');" title="Incluir">Incluir</a></div>';
				oHtml+='</div>';
			}
			oHtml+='</div>';
			document.getElementById('lista_group').innerHTML=oHtml;
		});
	}
}
/*FIN DE FUNCION*/

/****************************************************************************************************************************************/
/*FUNCTION cambia_familia = Genera de las familias

Parametros:

	--no tiene--

*/

function cambia_familia(){
	if (document.getElementById('selfam') != null) {
		loadXMLDoc('/xml/LojaCartoes.xml', 'masfamilia', function(xmlDoc) {
			var oHtml='';
			var oCartao, oEmisor, oGrupo, oVariante, card;
			var sEmisor, sGrupo, sVariante, sRenda, sAnuidade, iCartao,tcards;
			
			oCartao = xmlDoc.getElementsByTagName("Cartoes")[0].getElementsByTagName("Cartao");
			oEmisor = xmlDoc.getElementsByTagName("Emissores")[0].getElementsByTagName("Emissor");
			oGrupo = xmlDoc.getElementsByTagName("Grupos")[0].getElementsByTagName("Grupo");
			oVariante = xmlDoc.getElementsByTagName("Variantes")[0].getElementsByTagName("Variante");
			
			oHtml+='<div class="box">';
			oHtml+='	<div class="box_container" style="width:215px; height:50px;">';
			oHtml+='		<div class="ja_sei_quero"><h2>Já sei o que quero</h2></div>';
			oHtml+='		<select onchange="javascript:_hbLink(\'Ja sei o que eu quero\',this.options[this.selectedIndex].attributes[\'name\'].nodeValue); location.href=this.value;">';
			oHtml+='		<option value="">Selecione</option>';
			for(var x =0 ; x < oGrupo.length; x++){
        // vamos pular as famílias de cartões da Categoria 2, "Pessoa Jurídica"
        var categs = oGrupo[x].getElementsByTagName("Categoria");
        if ( categs.length && categs[0].firstChild
            && categs[0].firstChild.nodeValue == '2' ) continue;
				for (var y = 0; y < oEmisor.length; y++){
					if (oGrupo[x].getElementsByTagName("Emissor")[0].firstChild.nodeValue == oEmisor[y].getElementsByTagName("ID")[0].firstChild.nodeValue){
						sEmisor = oEmisor[y].getElementsByTagName("Description")[0].firstChild.nodeValue;
					}
				}
				oHtml+='<option name="'+sEmisor+' '+oGrupo[x].getElementsByTagName("Description")[0].firstChild.nodeValue+'" value="/cartoes/fampages/fam_page.htm?id='+oGrupo[x].getElementsByTagName("ID")[0].firstChild.nodeValue+'">'+(sEmisor==''?'':sEmisor+' ')+oGrupo[x].getElementsByTagName("Description")[0].firstChild.nodeValue+'</option>';
			}
			oHtml+='		</select>';
			oHtml+='	</div>';
			oHtml+='</div>';
			
			document.getElementById('selfam').innerHTML=oHtml;
		});
	}
}
/*FIN DE FUNCION*/

/****************************************************************************************************************************************/
/*FUNCTION featuresPop = Muestra el popUp de un Feature determinado

Parametros:

	--no tiene--

*/

function popUpFeatures(){

		loadXMLDoc('/xml/FeaturesCartoes.xml', 'featuresPop', function(xmlDoc) {

			querry = location.href.substring(location.href.indexOf("?")+1).split("=");
			featureId=querry[1];
			oFeature = xmlDoc.getElementsByTagName("Featuress")[0].getElementsByTagName("Feature");
			
	for(z=0; z<oFeature.length; z++)
		{
			if(oFeature[z].getElementsByTagName("ID")[0].firstChild.nodeValue == featureId)
			{
			//alert(querry[0]);
			//document.getElementById('header').getElementsByTagName("h1")[0].innerHTML = querry[0].split("%20").join(" ");
			//document.getElementById('header').getElementsByTagName("h1")[0].innerHTML = unescape(querry[0]);
			document.getElementById('titulo').getElementsByTagName("h2")[0].innerHTML = oFeature[z].getElementsByTagName("Titulo")[0].firstChild.nodeValue;
			document.getElementById('content').innerHTML = "<br />" + oFeature[z].getElementsByTagName("Detalhes")[0].firstChild.nodeValue;					
						
						//termina el for
						z=9999;
						
				}//IF End
			}//For END
			
		

		});//LOADXML END

}
/*FIN DE FUNCION*/

/****************************************************************************************************************************************/
onloadEvent.push (function(){
	Carga_barra();
	lista_tarjeta();
	cambia_familia();
	preloadimages(imagesToLoad)
});