/* © 2006 TecnoQuest */

var tqXml = {
	gId : function(str){ return document.getElementById(str); },
	categS : null,
	categC : null,
	
	Init : function(mode){
		var moz = (typeof document.implementation != 'undefined') && (typeof document.implementation.createDocument != 'undefined'); 
		var ie = (typeof window.ActiveXObject != 'undefined'); 
		if(mode == 'index'){
			if(moz){
				tqXml.Import('moz','/xml/soluciones.xml');
				tqXml.GetSolucionesH();
				tqXml.Import('moz','/xml/casos.xml');
				tqXml.GetCasosH();
			}
			else if(ie){
				tqXml.Import('ie','/xml/soluciones.xml');
				tqXml.GetSolucionesH();
				tqXml.Import('ie','/xml/casos.xml');
				tqXml.GetCasosH();
			}
			else{
				tqXml.gId('sXml').innerHTML  = '<h2 class="h2M">SEGURIDAD INFORM&Aacute;TICA </h2>';
				tqXml.gId('sXml').innerHTML += '<p class="pImgH"><img src="/img/home/avast_antivirus.gif" alt="avast! antivirus" /></p>';
				tqXml.gId('sXml').innerHTML += '<p class="pTx">Una soluci&oacute;n potente y vers&aacute;til para la protecci&oacute;n corporativa.</p>';
				tqXml.gId('sXml').innerHTML += '<p class="pTx">TecnoQuest analiza los riesgos de su organizaci&oacute;n, instala y configura la opci&oacute;n m&aacute;s adecuada.</p>';
				tqXml.gId('cXml').innerHTML  = '<h2 class="h2M">SITIOS Y APLICACIONES WEB</h2>';
				tqXml.gId('cXml').innerHTML += '<p class="pImgH"><img src="/img/home/madridvision.gif" alt="Madrid VISION" /></p>';
				tqXml.gId('cXml').innerHTML += '<p class="pTx"><a href="#" class="lkTxt">www.madridvision.es</a></p>';
				tqXml.gId('cXml').innerHTML += '<p class="pTx">Arquitectura de Informaci&oacute;n, dise&ntilde;o y desarrollo del nuevo sitio web de la empresa l&iacute;der de turismo en Madrid.</p>';	
			}
		}
		if(mode == 'soluciones'){
			if(moz){
				tqXml.Import('moz','/xml/soluciones.xml');
				tqXml.GetSolucionesI(0);
			}
			if(ie){
				tqXml.Import('ie','/xml/soluciones.xml');
				tqXml.GetSolucionesI(0);
			}
			var soluciones = xmlDoc.getElementsByTagName("solucion");
			var solOpt = new Array();
			for(var i=0; i<soluciones.length; i++){
				var repeat = false;
				for(var j=0; j<solOpt.length; j++){
					if(soluciones[i].getAttribute("categoria") == solOpt[j]) repeat = true;
				}
				if(!repeat) solOpt[solOpt.length] = soluciones[i].getAttribute("categoria");
			}
			solOpt.sort();
			solOpt.splice(0,0,'Todos');
			for(i=0; i<solOpt.length; i++){
				tqXml.gId('fSSol').options[i] = new Option(solOpt[i], solOpt[i]);
			}
		}
		if(mode == 'casos'){
			if(moz){
				tqXml.Import('moz','/xml/casos.xml');
				tqXml.GetCasosI(0);
			}
			if(ie){
				tqXml.Import('ie','/xml/casos.xml');
				tqXml.GetCasosI(0);
			}
			var casos = xmlDoc.getElementsByTagName("caso");
			var casOpt = new Array();
			for(var i=0; i<casos.length; i++){
				var repeat = false;
				for(var j=0; j<casOpt.length; j++){
					if(casos[i].getAttribute("categoria") == casOpt[j]) repeat = true;
				}
				if(!repeat) casOpt[casOpt.length] = casos[i].getAttribute("categoria");
			}
			casOpt.sort();
			casOpt.splice(0,0,'Todos');
			for(i=0; i<casOpt.length; i++){
				tqXml.gId('fSSol').options[i] = new Option(casOpt[i], casOpt[i]);
			}
		}
	},
	
	Import : function(browser,file){
		switch(browser){
			case ('moz'): 
				xmlDoc = document.implementation.createDocument("", "", null);
				xmlDoc.async = false;
				break;
			case ('ie'): 
				xmlDoc = new ActiveXObject("Microsoft.XMLDOM"); 
				xmlDoc.async = false; 
				while(xmlDoc.readyState != 4) {};
				break;
		}
		xmlDoc.load(file);
	},
	
	GetSolucionesH : function(){
		var soluciones = xmlDoc.getElementsByTagName("solucion");
		var sSel = tqXml.SetRandom(0,soluciones.length-1);
		//Categoria e imagen
		tqXml.gId('sXml').innerHTML  = '<h2 class="h2M">' + soluciones[sSel].getAttribute("categoria").toUpperCase() + '</h2>';
		tqXml.gId('sXml').innerHTML += '<p class="pImgH"><img src="' + soluciones[sSel].getAttribute("imagen") + '" alt="' + soluciones[sSel].getAttribute("alt") + '"/></p>'
		//Parrafos
		var sTxt = soluciones[sSel].childNodes[0].nodeValue;
		while(sTxt.indexOf('[p]') != -1){
			sTxt = sTxt.replace("[p]","<p class='pTx'>");
			sTxt = sTxt.replace("[/p]","</p>");
			//negrita
			sTxt = sTxt.replace("[b]","<strong>");
			sTxt = sTxt.replace("[/b]","</strong>");
			//cursiva
			sTxt = sTxt.replace("[i]","<em>");
			sTxt = sTxt.replace("[/i]","</em>");
		}
		tqXml.gId('sXml').innerHTML += sTxt;
		//Enlace
		var sLkTxt = soluciones[sSel].getAttribute("enlace");
		var sLkTit = soluciones[sSel].getAttribute("title");
		var sLkUrl = soluciones[sSel].getAttribute("url");
		if(sLkTxt != ""){
			tqXml.gId('sXml').innerHTML += ('<p class="pLkH"><a href="' + sLkUrl + '" class="lkTxt" title="' + sLkTit + '">' + sLkTxt + '</a></p>'); 
		}
	},
	
	GetSolucionesI : function(selec){
		//Categorias
		var soluciones = xmlDoc.getElementsByTagName("solucion");
		if(!tqXml.categS){ tqXml.categS = new Array(); }
		else{
			tqXml.categS = null;
			tqXml.categS = new Array();
			tqXml.gId('sXml').innerHTML = '';
		}
		//Modo
		if(selec == 0){
			for(var i=0; i<soluciones.length; i++){
				var repeat = false;
				for(var j=0; j<tqXml.categS.length; j++){
					if(soluciones[i].getAttribute("categoria") == tqXml.categS[j]) repeat = true;
				}
				if(!repeat) tqXml.categS[tqXml.categS.length] = soluciones[i].getAttribute("categoria");
			}
			tqXml.categS.sort();
		}
		else{
			tqXml.categS[0] = tqXml.gId('fSSol')[selec].value;
		}
		//Despliegue
		for(var j=0; j<tqXml.categS.length; j++){
			//Tit categoria
			var tSol = document.createElement('H3');
				tSol.className = 'h3Sol';
				tSol.innerHTML = tqXml.categS[j];
			tqXml.gId('sXml').appendChild(tSol);
			//Items categoria
			for(var i=0; i<soluciones.length; i++){
				if(soluciones[i].getAttribute("categoria") == tqXml.categS[j]){
					var cSol = document.createElement('DIV');
						cSol.className = 'gSol';
					var cTxt = document.createElement('DIV');
						cTxt.className = 'gTxt';
					var sTxt  = '<p><strong>' + soluciones[i].getAttribute("alt") + '</strong></p>';
						sTxt += soluciones[i].childNodes[0].nodeValue;
					while(sTxt.indexOf('[p]') != -1){
						sTxt = sTxt.replace("[p]","<p>");
						sTxt = sTxt.replace("[/p]","</p>");
						sTxt = sTxt.replace("[b]","<strong>");
						sTxt = sTxt.replace("[/b]","</strong>");
						sTxt = sTxt.replace("[i]","<em>");
						sTxt = sTxt.replace("[/i]","</em>");
					}
					cTxt.innerHTML  = sTxt;
					cTxt.innerHTML += '<p class="pLkSol"><a href="/contacto.php" class="lkTxt" title="Solicitar presupuesto">Solicitar presupuesto</a></p>';
					cSol.appendChild(cTxt);
					var cImg = document.createElement('DIV');
						cImg.className = 'gImg';
						cSol.appendChild(cImg);
					var img = document.createElement('IMG');
						img.src = soluciones[i].getAttribute("imagen");
						img.alt = soluciones[i].getAttribute("alt");
						cImg.appendChild(img);
					var cCle = document.createElement('DIV');
						cCle.className = 'gCle';
						cSol.appendChild(cCle);
					tqXml.gId('sXml').appendChild(cSol);
				}
			}
		}
	},
	
	GetCasosH : function(){
		var casos = xmlDoc.getElementsByTagName("caso");
		var cSel = tqXml.SetRandom(0,casos.length-1);
		//Categoria e imagen
		tqXml.gId('cXml').innerHTML  = '<h2 class="h2M">' + casos[cSel].getAttribute("categoria").toUpperCase() + '</h2>';
		tqXml.gId('cXml').innerHTML += '<p class="pImgH"><img src="' + casos[cSel].getAttribute("imagen") + '" alt="' + casos[cSel].getAttribute("alt") + '"/></p>'
		tqXml.gId('cXml').innerHTML += '<p class="pTx"><strong>' + casos[cSel].getAttribute("alt") + '</strong></p>';
		//Parrafos
		var cTxt = casos[cSel].childNodes[0].nodeValue;
		while(cTxt.indexOf('[p]') != -1){
			cTxt = cTxt.replace("[p]","<p class='pTx'>");
			cTxt = cTxt.replace("[/p]","</p>");
			//negrita
			cTxt = cTxt.replace("[b]","<strong>");
			cTxt = cTxt.replace("[/b]","</strong>");
			//cursiva
			cTxt = cTxt.replace("[i]","<em>");
			cTxt = cTxt.replace("[/i]","</em>");
		}
		tqXml.gId('cXml').innerHTML += cTxt;
		//Enlace
		var cLkTxt = casos[cSel].getAttribute("enlaceH");
		var cLkTit = casos[cSel].getAttribute("titleH");
		var cLkUrl = casos[cSel].getAttribute("urlH");
		if(cLkTxt != ""){
			tqXml.gId('cXml').innerHTML += ('<p class="pLkH"><a href="' + cLkUrl + '" class="lkTxt" title="' + cLkTit + '">' + cLkTxt + '</a></p>');
		}
	},
	
	GetCasosI : function(selec){
		//Categorias
		var casos = xmlDoc.getElementsByTagName("caso");
		if(!tqXml.categC){ tqXml.categC = new Array(); }
		else{
			tqXml.categC = null;
			tqXml.categC = new Array();
			tqXml.gId('cXml').innerHTML = '';
		}
		//Modo
		if(selec == 0){
			for(var i=0; i<casos.length; i++){
				var repeat = false;
				for(var j=0; j<tqXml.categC.length; j++){
					if(casos[i].getAttribute("categoria") == tqXml.categC[j]) repeat = true;
				}
				if(!repeat) tqXml.categC[tqXml.categC.length] = casos[i].getAttribute("categoria");
			}
			tqXml.categC.sort();
		}
		else{
			tqXml.categC[0] = tqXml.gId('fSSol')[selec].value;
		}
		//Despliegue
		for(var j=0; j<tqXml.categC.length; j++){
			//Tit categoria
			var tCas = document.createElement('H3');
				tCas.className = 'h3Sol';
				tCas.innerHTML = tqXml.categC[j];
			tqXml.gId('cXml').appendChild(tCas);
			//Items categoria
			for(var i=0; i<casos.length; i++){
				if(casos[i].getAttribute("categoria") == tqXml.categC[j]){
					var cCas = document.createElement('DIV');
						cCas.className = 'gSol';
					var cTxt = document.createElement('DIV');
						cTxt.className = 'gTxt';
					var sTxt  = '<p><strong>' + casos[i].getAttribute("alt") + '</strong></p>';
						sTxt += casos[i].childNodes[0].nodeValue;
					while(sTxt.indexOf('[p]') != -1){
						sTxt = sTxt.replace("[p]","<p>");
						sTxt = sTxt.replace("[/p]","</p>");
						sTxt = sTxt.replace("[b]","<strong>");
						sTxt = sTxt.replace("[/b]","</strong>");
						sTxt = sTxt.replace("[i]","<em>");
						sTxt = sTxt.replace("[/i]","</em>");
					}
					cTxt.innerHTML  = sTxt;
					//Enlace
					var cLkTxt = casos[i].getAttribute("enlaceI");
					var cLkTit = casos[i].getAttribute("titleI");
					var cLkUrl = casos[i].getAttribute("urlI");
					var cLkTar = casos[i].getAttribute("targetI");
					if(cLkTar == "_blank") cLkTar = 'rel="external"';
					else cLkTar = '';
					if(cLkTxt != ""){
						cTxt.innerHTML += ('<p class="pLkSol"><a href="' + cLkUrl + '" class="lkTxt" title="' + cLkTit + '"' + cLkTar + '>' + cLkTxt + '</a></p>');
					}
					cCas.appendChild(cTxt);
					var cImg = document.createElement('DIV');
						cImg.className = 'gImg';
						cCas.appendChild(cImg);
					var img = document.createElement('IMG');
						img.src = casos[i].getAttribute("imagen");
						img.alt = casos[i].getAttribute("alt");
						cImg.appendChild(img);
					var cCle = document.createElement('DIV');
						cCle.className = 'gCle';
						cCas.appendChild(cCle);
					tqXml.gId('cXml').appendChild(cCas);
				}
			}
		}
	},
	
	SetRandom : function(Inf,Sup){
		var rango = Sup - Inf; 
		var output = Math.random() * rango; 
			output = Math.round(output);
		return parseInt(Inf) + output;
	}
};


