﻿menustc = {

	'init' : function() {
		var ajaxUOL = lib.getHTTPObject();
		if ( !document.getElementById ("menu-estatico") || !ajaxUOL ) return;

		try { var codProfile = (/http:\/\/(.*?)\./gim).exec (window.location.href)[1] ; } catch (e) { return; }

		if ( document.getElementById("pInfo") )
			ajaxUOL.open ("GET", "/viewMenu.html?action=path&codProfile=" + codProfile, true);	
		else
			ajaxUOL.open ("GET", "/viewMenu.html?codProfile=" + codProfile, true);

		ajaxUOL.onreadystatechange = function() {
			if ( ajaxUOL.readyState == 4 ) {
				if ( !ajaxUOL.responseXML ) return;
				var xml = ajaxUOL.responseXML;
				if ( xml.getElementsByTagName("status").length < 1                           	||
					!xml.getElementsByTagName("status").item(0).hasChildNodes()             ||
					xml.getElementsByTagName("status").item(0).firstChild.nodeType != 3     ||
					xml.getElementsByTagName("status").item(0).firstChild.nodeValue != "ok" )
					return;
						
				menustc.souAmigo       ( xml, codProfile );
				menustc.souFa          ( xml, codProfile );
				menustc.paquerarPessoa ( xml, codProfile );
				menustc.relBreadCrumb  ( xml );
				
				if ( document.getElementById("novo-depoimento") )
					menustc.liberaDepoimento ( xml );

				if ( typeof P != "undefined" && P.init )
					P.init();
			}
		}
		ajaxUOL.send ( null );

		var ajaxAval = lib.getHTTPObject();
		if ( !ajaxAval ) return;
		ajaxAval.open ("GET", "/gradesummary.xml", true);
		ajaxAval.onreadystatechange = function() {
			if ( ajaxAval.readyState == 4 ) {
				if ( !ajaxAval.responseXML ) return;
				var xml = ajaxAval.responseXML;
				if (  xml.getElementsByTagName("entity").length < 1 ) return;
				menustc.resumoKarma ( xml, codProfile );
			}
		}
		ajaxAval.send ( null );

	},
	
	'pegaCodProfile' : function ( xml ) {
		if ( xml.getElementsByTagName("mycodprofile").length >= 1			&&
		xml.getElementsByTagName("mycodprofile").item(0).hasChildNodes()		&&
		xml.getElementsByTagName("mycodprofile").item(0).firstChild.nodeType == 3	)
			return xml.getElementsByTagName("mycodprofile").item(0).firstChild.nodeValue;
		else
			return null;
	},
	
	'souAmigo' : function ( xml, codProfile ) {
		var meuCodProfile = menustc.pegaCodProfile ( xml );
		if ( typeof xml == "undefined"			||
		!document.getElementById("menu-estatico")	||
		!document.getElementById("adicionar-amigo")	)
			return;
		if ( meuCodProfile == codProfile ) {
			document.getElementById(  "adicionar-amigo"  ).className = 'hidden';
			document.getElementById("escrever-depoimento").className = 'hidden';
		}
		if ( xml.getElementsByTagName("iamfriend").length >= 1                       &&
		xml.getElementsByTagName("iamfriend").item(0).hasChildNodes()                &&
		xml.getElementsByTagName("iamfriend").item(0).firstChild.nodeType == 3       &&
		xml.getElementsByTagName("iamfriend").item(0).firstChild.nodeValue == "true" )
			document.getElementById("adicionar-amigo").className = 'hidden';
	},

	'souFa' : function ( xml, codProfile ) {
		var meuCodProfile = menustc.pegaCodProfile ( xml );
		if (  typeof xml        == "undefined"         ||
			   !document.getElementById("menu-estatico") ||
			   !document.getElementById("sou-fa")        )
			return;
		if ( meuCodProfile == codProfile )
			document.getElementById("adicionar-amigo").className = 'hidden';
		if ( xml.getElementsByTagName("iamfan").length >= 1				&&
		xml.getElementsByTagName("iamfan").item(0).hasChildNodes()			&&
		xml.getElementsByTagName("iamfan").item(0).firstChild.nodeType == 3		&&
		xml.getElementsByTagName("iamfan").item(0).firstChild.nodeValue == "true"	)
			document.getElementById("sou-fa").className = 'hidden';

	},

	'paquerarPessoa' : function ( xml, codProfile ) {
		var meuCodProfile = menustc.pegaCodProfile ( xml );
		if (  typeof xml        == "undefined"           ||
			   !document.getElementById("menu-estatico")   ||
			   !document.getElementById("paquerar-pessoa") )
			return;
			
		if ( meuCodProfile == codProfile )
			document.getElementById("adicionar-amigo").className = 'hidden';

		if ( xml.getElementsByTagName("iamflirting").length >= 1                            &&
			   xml.getElementsByTagName("iamflirting").item(0).hasChildNodes()                &&
				 xml.getElementsByTagName("iamflirting").item(0).firstChild.nodeType == 3       &&
				 xml.getElementsByTagName("iamflirting").item(0).firstChild.nodeValue == "true" )
			document.getElementById("paquerar-pessoa").className = 'hidden';
		
	},

	'relBreadCrumb' : function ( xml ) {

		if ( !document.getElementById ("pInfo") )
			return;

		var antesDe = document.getElementById ("pInfo");

		var itens = xml.getElementsByTagName ("relation");
		var total = itens.length;

		var ul = document.createElement ("ul");
		ul.id  = "relacionamento-amigos";

		for ( var x = 0; x < total; x++ ) {

			var amigos = itens.item(x).getElementsByTagName("path");
			var maximo = amigos.length;
		
			var li = document.createElement ("li");

			for ( var y = 0; y < maximo; y++ ) {

				var codProfile = amigos.item(y).getElementsByTagName("cod").item(0).firstChild.nodeValue;
				var nomeAmigo  = amigos.item(y).getElementsByTagName("nick").item(0).firstChild.nodeValue;

				if ( y != 0 ) {
					var texto = document.createTextNode (" » ");
					li.appendChild ( texto );
				}

				var a     = document.createElement ("a");
				a.href    = "http://" + codProfile + ".uolk.uol.com.br/";
				a.title   = "Ver perfil de " + nomeAmigo;
				var texto = document.createTextNode (nomeAmigo);
				a.appendChild (texto);

				li.appendChild (a);

			}

			ul.appendChild ( li );

		}

		antesDe.parentNode.insertBefore ( ul, antesDe );

	},
	
	'resumoKarma' : function ( xml, codProfile, contador ) {
	
	  /*
	  O if abaixo tem a função de causar um delay na exibição dos dados,
	  aguardando o carregamento do total de amigos em #numlistaAmigos,
	  vindo de um AJAX. A espera máxima é um segundo.
	  */
	
		if ( document.getElementById("numlistaAmigos")                 &&
		     document.getElementById("numlistaAmigos").innerHTML == "" ) {
		
			if ( typeof contador == "undefined" )
				contador = 0;
		
			if ( contador <= 10 ) {
				contador += 1;
				window.setTimeout ( function() { menustc.resumoKarma ( xml, codProfile, contador ); }, 100 );
				return;
			}
			
		}
	
		if (  typeof xml        == "undefined"        ||
		      typeof codProfile == "undefined"        ||
		     !document.getElementById ("pInfo")       ||
			    document.getElementById("resumo-karma") )
			return;

		var antesDe = document.getElementById ("pInfo");

		var ul = document.createElement ("ul");
		ul.id  = "resumo-karma";
				
		if ( document.getElementById("numlistaAmigos") )
			var total_amigos = document.getElementById("numlistaAmigos").innerHTML.replace (/[\)(]/gim, "");
			
		if ( xml.getElementsByTagName("totalFans").length >= 1                       &&
		     xml.getElementsByTagName("totalFans").item(0).firstChild                &&
		     xml.getElementsByTagName("totalFans").item(0).firstChild.nodeValue != 0 ) {
		     
			var li = document.createElement ("li");
			li.className = "total-fans";
			
			var a  = document.createElement ("a");
			a.href = "http://" + codProfile + ".uolk.uol.com.br/fan.html";
			
			if (  typeof total_amigos != "undefined" &&
					 !isNaN ( total_amigos )             &&
					  total_amigos != ""                 )
				var media = Math.round ( ( parseInt ( xml.getElementsByTagName("totalFans").item(0).firstChild.nodeValue ) / parseInt ( total_amigos ) ) * 100 );
			else
				var media = null;
			
			var img   = document.createElement ("img");
			//img.src   = "http://uolk.img.uol.com.br/" + ( ( media != null ) ? Math.ceil ( media / 20 ) : "" ) + "estrelinhas.png";
			img.src   = "http://uolk.img.uol.com.br/1estrelinhas.png";
			if ( media != null )
				//img.title = media + "% dos amigos tornaram-se fãs";
			
			 a.appendChild ( img );
			li.appendChild (  a  );
			
			var t = document.createTextNode (" " );
			li.appendChild ( t );
			
			var a   = document.createElement ("a");
			a.href  = "http://" + codProfile + ".uolk.uol.com.br/fan.html";
			if ( media != null )
				a.title = media + "% dos amigos tornaram-se fãs";
			
			var t = document.createTextNode ( xml.getElementsByTagName("totalFans").item(0).firstChild.nodeValue + " fã" + ( ( xml.getElementsByTagName("totalFans").item(0).firstChild.nodeValue != 1 ) ? "s" : "" ) );
			
		 	a.appendChild ( t  );
			li.appendChild ( a  );
			ul.appendChild ( li );
		     
		}
		
		///////////////////
		// presenca online
		///////////////////
		var img   = document.createElement ("img");
		var a  = document.createElement ("a");
		var li = document.createElement ("li");
		img.src   = "http://presence.uol.com.br/uolk/codp/"+codProfile+".gif";
		img.title = "Ícone de presença";
		a.href = "http://messenger.uol.com.br/web/";
		li.className = "right";
	 	a.appendChild ( img  );
		li.appendChild ( a );
		ul.appendChild ( li  );   
		
		
		if ( xml.getElementsByTagName("grade3").length >= 1                       &&
		     xml.getElementsByTagName("grade3").item(0).firstChild                &&
		     xml.getElementsByTagName("grade3").item(0).firstChild.nodeValue >= 1 ) {
		     
			var li = document.createElement ("li");
			li.className = "right";
			
			var img   = document.createElement ("img");
			img.src   = "http://uolk.img.uol.com.br/" + xml.getElementsByTagName("grade3").item(0).firstChild.nodeValue + "c.png";
			
			switch ( xml.getElementsByTagName("grade3").item(0).firstChild.nodeValue ) {
			
				case "1" :
					img.title = "Esta pessoa é LEGALzinha";
					break;
				
				case "2" :
					img.title = "Esta pessoa é LEGAL";
					break;
				
				case "3" :
					img.title = "Esta pessoa é bem LEGAL";
					break;
				
				case "4" :
					img.title = "Esta pessoa é muito LEGAL";
					break;
				
				case "5" :
					img.title = "Esta pessoa é suuuuuper LEGAL";
					break;
			
			}
			
			li.appendChild ( img );
			ul.appendChild ( li  );
			
		}
		
		if ( xml.getElementsByTagName("grade2").length >= 1                       &&
		     xml.getElementsByTagName("grade2").item(0).firstChild                &&
		     xml.getElementsByTagName("grade2").item(0).firstChild.nodeValue >= 1 ) {
		     
			var li = document.createElement ("li");
			li.className = "right";
			
			var img = document.createElement ("img");
			img.src = "http://uolk.img.uol.com.br/" + xml.getElementsByTagName("grade2").item(0).firstChild.nodeValue + "b.png";
			
			switch ( xml.getElementsByTagName("grade2").item(0).firstChild.nodeValue ) {
			
				case "1" :
					img.title = "Esta pessoa é CONFIÁVEL, mas não muito...";
					break;
				
				case "2" :
					img.title = "Esta pessoa é CONFIÁVEL";
					break;
				
				case "3" :
					img.title = "Esta pessoa é bem CONFIÁVEL";
					break;
				
				case "4" :
					img.title = "Esta pessoa é muitíssimo CONFIÁVEL";
					break;
				
				case "5" :
					img.title = "Esta pessoa é extremamente CONFIÁVEL";
					break;
			
			}
			
			li.appendChild ( img );
			ul.appendChild ( li  );
			
		}
		
		if ( xml.getElementsByTagName("grade1").length >= 1                       &&
		     xml.getElementsByTagName("grade1").item(0).firstChild                &&
		     xml.getElementsByTagName("grade1").item(0).firstChild.nodeValue >= 1 ) {
		     
			var li = document.createElement ("li");
			li.className = "right";
			
			var img = document.createElement ("img");
			img.src = "http://uolk.img.uol.com.br/" + xml.getElementsByTagName("grade1").item(0).firstChild.nodeValue + "a.png";
			
			switch ( xml.getElementsByTagName("grade1").item(0).firstChild.nodeValue ) {
			
				case "1" :
					img.title = "Esta pessoa é um pouquinho SEXY";
					break;
				
				case "2" :
					img.title = "Esta pessoa é SEXY";
					break;
				
				case "3" :
					img.title = "Esta pessoa é muito SEXY";
					break;
				
				case "4" :
					img.title = "Esta pessoa é muito muuuuito SEXY";
					break;
				
				case "5" :
					img.title = "Esta pessoa é irresistivelmente SEXY";
					break;
			
			}
			
			li.appendChild ( img );
			ul.appendChild ( li  );
			
		}

		if ( ul.hasChildNodes() )
			 menustc.insereResumoKarma ( ul, antesDe );
	
	},
	
	'insereResumoKarma' : function ( ul, antesDe, contador ) {
	
		if ( document.getElementById("resumo-karma") )
			return;
	
		if ( typeof contador == "undefined" )
			contador = 1;
		else
			contador = contador + 1;
	
		if ( !document.getElementById ("relacionamento-amigos") && contador < 5 )
			window.setTimeout (function() { menustc.insereResumoKarma ( ul, antesDe, contador ); }, 100 );
		else
			antesDe.parentNode.insertBefore ( ul, antesDe );
	
	},
	
	'liberaDepoimento' : function ( xml ) {
	
		if ( xml.getElementsByTagName("iamfriend").length >= 1                            &&
		     xml.getElementsByTagName("iamfriend").item(0).hasChildNodes()                &&
		     xml.getElementsByTagName("iamfriend").item(0).firstChild.nodeType == 3       &&
		     xml.getElementsByTagName("iamfriend").item(0).firstChild.nodeValue == "true" )
			document.getElementById("novo-depoimento").style.display = "";
	
	}

}

if ( document.getElementById	&&
document.createElement        	&&
document.getElementsByTagName	&&
document.insertBefore		&&
document.appendChild		)
	lib.addEvent ( window, "load", menustc.init, false );
