$ = function(id) {
	if(!arguments[1]) return document.getElementById(id);
	else document.getElementById(id).style[arguments[1]]=arguments[2];
}

XMLDic = {
	oXML: Object,
	letra: 'A',
	posLetra: 0,
	palavra: '',
	
	init : function()
	{
		var oObj = new ServerRequest();
		oObj.onComplete = function(responseText,responseXML)
		{
			oXML = responseXML;
			
			// Carrega o Menu
			XMLDic.showMenu();
			XMLDic.showDic();
			XMLDic.randomWord();
			
		}
		oObj.submit("dic.xml");
	},
	
	showMenu : function()
	{
		oLetras = oXML.getElementsByTagName("letra");
		var MENU = '';
		MENU += '<div class="indice">';
		for (var i=0;i<oLetras.length;i++)
		{
			var cLetra = oLetras[i].attributes[0].value;
			if (XMLDic.letra == cLetra)
			{
				MENU += '<span>'+cLetra+'</span>';
				posLetra = i;
			}
			else
			{
				MENU += '<a href="javascript:XMLDic.letra = \''+cLetra+'\';XMLDic.showMenu();XMLDic.showDic();">'+cLetra+'</a>';
			}
		}
		MENU += '</div></div>';
		
		$("dic_menu").innerHTML = MENU;
		$("dic_busca").innerHTML = "";
	},
	
	randomWord: function()
	{
		oLetras = oXML.getElementsByTagName("item");

		var num = Math.floor(Math.random()*oLetras.length); 

		var titulo = oXML.getElementsByTagName("item")[num].getElementsByTagName("titulo")[0].firstChild.nodeValue;		
		var desc = oXML.getElementsByTagName("item")[num].getElementsByTagName("desc")[0].firstChild.nodeValue;		
		
		HTML = "";
		HTML += '<div class="chapeu">Palavra do dia</div>'; 
		HTML += '<div class="word"><b>'+titulo+'</b>'+desc+'</div>';
		
		$("dic_word").innerHTML = HTML;
		
	},
	
	showDic : function()
	{
		oItems = oXML.getElementsByTagName("letra")[posLetra];
		
		var HTML = "";
		
		for (var i=0;i<oItems.childNodes.length;i++)
		{
			if (oItems.childNodes[i].nodeType != 1) continue;
			HTML += '<div class="titulo">'+oItems.childNodes[i].childNodes[(document.all) ? 0 : 1].firstChild.nodeValue+'</div>'; 
			HTML += '<div id="a13nb" class="desc">'+oItems.childNodes[i].childNodes[(document.all) ? 1 : 3].firstChild.nodeValue+'</div>';
		}
		
		$("dic_content").innerHTML = HTML;
		
	
	},
	
	busca : function()
	{
		XMLDic.letra = "";
		XMLDic.showMenu();
		$("dic_busca").innerHTML = '<div style="padding:4px;background:#244256;color:#FFF;font:bold 13px verdana;">Resultado da busca <span id=ocorrencias style="font:bold 10px verdana;"></span>:</div><br>';
		
		var HTML = "";
		var count = 0;
		
		for (var j=0;j<oLetras.length;j++)
		{
			oItems = oXML.getElementsByTagName("letra")[j];
			for (var i=0;i<oItems.childNodes.length;i++)
			{
				if (oItems.childNodes[i].nodeType != 1) continue;
				
				var titulo = oItems.childNodes[i].childNodes[(document.all) ? 0 : 1].firstChild.nodeValue;
				var desc = oItems.childNodes[i].childNodes[(document.all) ? 1 : 3].firstChild.nodeValue;
				
				if ((titulo.toUpperCase().indexOf(XMLDic.palavra.toUpperCase()) != -1) || (desc.toUpperCase().indexOf(XMLDic.palavra.toUpperCase()) != -1))
				{
					re = new RegExp("("+XMLDic.palavra+")","gi");
					HTML += '<div class="titulo">'+titulo.replace(re,'<b>$1</b>')+'</div>'; 
					HTML += '<div id="a13nb" class="desc">'+desc.replace(re,"<b>$1</b>")+'</div>';
					
					count++;
				}
			}
		}
		
		if (count > 0)
		{
			$("dic_content").innerHTML = HTML;
			$("ocorrencias").innerHTML = " - "+count+" ocorrência(s)";
		}
		else
		{
			$("dic_content").innerHTML = '<br>Não foram encontradas ocorrências para \"'+XMLDic.palavra+'\"';
			$("ocorrencias").innerHTML = "";
		}


	}
}	

XMLDic.init();


