// variaveis estaticas
var static1 = "http://static3.vagalume.uol.com.br";
var static2 = "http://static4.vagalume.uol.com.br";
var vagalume_1024 = false;

// Usada para obter dependências em outros scripts
window.requireOnceControl = {};
window.requireOnceControl['scripts'] = {};
(function($) {
        $.requireOnce=function(req,callback,caller) {
		if (! caller) {
			alert('Erro: Verifique chamada requireOnce\nreq: '+req+'\ncallback: '+callback+'\ncaller: '+caller);
		} else {
			if (typeof(req) == "string") {
				req = [req];
			};
			$.requireOnce.startControl(req,callback,caller);
	                setTimeout(function(){$.requireOnce.start(req,caller);},1);
		};
        };
	$.requireOnce.start = function(req,callerJS) {
		$.requireOnce.loadScripts(req);
	};
	$.requireOnce.checkCallback = function(script) {
		var ctrl = window.requireOnceControl['scripts'][script];
		// Verifica os scripts abaixo para ver se está pronto para executar
		if (typeof(ctrl['callback']) == 'object') {
			for (var c in ctrl['callback']) {
				if (typeof(ctrl['callback'][c]) == "object" &&
				    typeof(ctrl['callback'][c]['function']) == "function" &&
				    ctrl['callback'][c]['status'] == "queued") {
					if(typeof(ctrl['callback'][c]['requires']) == 'object') {
						var thisIsClear = 0;
						for (var cReq in ctrl['callback'][c]['requires']) {
							if (isClear(ctrl['callback'][c]['requires'][cReq])) {
								thisIsClear++;
							};
						};
						if (thisIsClear >= ctrl['callback'][c]['requires'].length && ctrl['callback'][c]['status'] == "queued") {
							ctrl['callback'][c]['status'] = "executed";
							ctrl['callback'][c]['function']();
						};
					};
				};
				checkPreviousScripts(ctrl['requiredby']);
			};
		} else {
			// Aqui significa que o script não tem nada para executar, é o último da fila.
			// Vamos checar se podemos executar o script de cima (requiredby)
			checkPreviousScripts(ctrl['requiredby']);
		};

		function isClear (req) {
			var ctrl = window.requireOnceControl['scripts'][req];
			if (ctrl['status'] == "loaded") {
				var ok = true;
				for (var subS in ctrl['requires']) {
					if (! isClear(subS)) {
						ok = false;
						break;
					} else {
						ctrl['requires'][subS] = 2;
					};
				};
				return ok;
			};
			return false;
		};

		function checkPreviousScripts (scripts) {
			for (var s in scripts) {
				$.requireOnce.checkCallback(s);
			};
		};
	};
	$.requireOnce.loadScripts = function(req) {
		var scripts = window.requireOnceControl['scripts'];
		for (var s in req) {
			if (typeof(scripts[req[s]]) == "object") {
				if (scripts[req[s]]['status'] == 'loaded') {
					$.requireOnce.checkCallback(req[s]);
				} else if (scripts[req[s]]['status'] == 'queued') {
					scripts[req[s]]['status'] = 'loading';
					var scp = document.createElement('script');
					scp.charset = 'iso-8859-1'; // O charset é default para todos os scripts
					scp.type = 'text/javascript';
					scp.id = req[s]; // Guardamos o path do arquivo aqui pq o scp.id terá o dominio e pode confundir
					if (typeof(scp.onload) != "object") {
						scp.onreadystatechange = function() {
										if (this.readyState == 'complete' || this.readyState == 'loaded') {
											this.onload();
											this.onreadystatechange = function() {};
										};
									};
					};
					scp.onload = function() {
								window.requireOnceControl['scripts'][this.id]['status'] = 'loaded';
								$.requireOnce.checkCallback(this.id);
							};
					scp.onerror = function() {
								window.requireOnceControl['scripts'][this.id]['status'] = 'error';
								$.requireOnce.checkCallback(this.id);
							};
					// Adiciona variavel static se for script local
					scp.src = req[s];
					$('head')[0].appendChild(scp);
				};
			} else {
				scripts[req[s]] = {};
				scripts[req[s]]['status'] = 'error';
			};
		};
	};
	$.requireOnce.startControl = function(req,callback,callerJS) {
		var scripts = window.requireOnceControl['scripts'];
		if (typeof(scripts[callerJS]) != "object") { // Se o caller é chamado por alguem
			scripts[callerJS] = {};
			scripts[callerJS]['status'] = 'loaded'; // Se é caller, é pq foi carregado
			scripts[callerJS]['requiredby'] = {};
			scripts[callerJS]['requires'] = {};
		};
		if (typeof(callback) == "function") { // Se houver alguma função para adicionar ao callback do callerJS
			if (typeof(scripts[callerJS]['callback']) != "object") {
				scripts[callerJS]['callback'] = new Array();
			};
			var addRequires = new Array();
			for (var i in req) {
				if (typeof(req[i]) == "string") {
					addRequires.push(req[i]);
				};
			}
			var newCallback = {};
			    newCallback['function'] = callback;
			    newCallback['status']   = 'queued';
			    newCallback['requires'] = addRequires;
			scripts[callerJS]['callback'].push(newCallback);
		};
		for (var s in req) {
			// scripts: Atualiza array
			if (typeof(scripts[req[s]]) != "object") {
				scripts[req[s]] = {};
				scripts[req[s]]['status'] = 'queued';
				scripts[req[s]]['requiredby'] = {};
				scripts[req[s]]['requires'] = {};
			};
			scripts[req[s]]['requiredby'][callerJS] = 1;
			scripts[callerJS]['requires'][req[s]] = 1;
		};
	};
}) (jQuery);
var vagalume = {
	popbox:{},	// Popup DHTML
	page:{},	// Page content
	menus:{},	// Default Menuitems
	menusmask:{},	// Replacements
	defaults:{	// Padrões do site
		framing:{	// Brilho das fotos
			image:static1+'/images/backgrounds/picframe.png',
			sizedImages:{
				s115x74 : static1+'/images/backgrounds/picframe_115x74.png',
				s220x121: static1+'/images/backgrounds/picframe_220x121.png',
				s404x223: static1+'/images/backgrounds/picframe_404x223.png'
			}
		}
	},
	newItemStamp:function(domExpr,css) {		// Coloca icone "Novo" sobre elementos
		var	domExpr = $(domExpr),
			css = css || {top:0,right:0};
		domExpr.css({position:'relative'});
		$('<img class="newvlitem" src="/images/novo.gif" alt="Novo!" />').css(css).prependTo(domExpr);
	}
};

function parse_xml_return (objXML, array_campos) {
        var ret=[],tobj,tobj2;
        if (! objXML) return ret;
        for (var cc=0; cc<array_campos.length; cc++) eval("var "+array_campos[cc]+" = new Array()");
        tobj=objXML.getElementsByTagName("return")[0];
        for (i=0;i<tobj.childNodes.length;i++){
                if (tobj.childNodes[i].nodeName == 'msg') {
                        tobj2=tobj.childNodes[i];
                        for (n=0;n<tobj2.childNodes.length;n++){
                                if (tobj2.childNodes[n].nodeType == 1) {
                                        for (var c=0; c<array_campos.length; c++) {
                                                if (tobj2.childNodes[n].nodeName == array_campos[c]) {
                                                        eval(array_campos[c]+".push(tobj2.childNodes[n].firstChild.nodeValue)");
                                                };
                                        };
                                };
                        };
                };
        };
        for (var cv=0; cv<array_campos.length; cv++) eval("ret["+cv+"] = "+array_campos[cv]);
        return ret;
};

// Replace Static menus
vagalume.geramenus=function (menuname) {
	var html,container;
	if (! vagalume.menus[menuname]) return false;
	var menu = vagalume.menus[menuname];
	var testRE = new RegExp("^http\:");
	switch (menu.type) {
		case 'main':
			html='<ul>';
			for (var t in menu.skel) {
				var tab = menu.skel[t].shift();
				html += '<li><div class="button" area="'+tab.sitearea+'" >'+
						(tab.url ? "<a href='"+tab.url+"'>"+tab.title+"</a>" : tab.title)+
						'<i class="l"></i><i class="r"></i></div><ul class="colorSoft hide">';
				for (var i in menu.skel[t]) {
					//Teste criado para caso o link seja externo ir para uma página em branco
					testRE.test(menu.skel[t][i].url) ? lnkVl = "<a href='"+menu.skel[t][i].url+"' target='blank'>" : lnkVl = "<a href='"+menu.skel[t][i].url+"'>";
					html += '<li class="'+(menu.skel[t][i].flag!='normal'?menu.skel[t][i].flag+' ':'')+(i > 0 ? 'plural' : '')+'">'+lnkVl+ menu.skel[t][i].title+'</a></li>';
				}
				html += '</ul></li>';
			}
			html+='</ul>';
			document.getElementById('menubar').innerHTML = html;
			break;
		case 'distinct':
			html='<ul title="'+menu.title+'">';
			for (var i=0,ml=menu.skel.length;i<ml;i++) if (! menu.ignore || ! menu.ignore[menu.skel[i].name]) {
				html +=	'<li'+(menu.skel[i].flag!="normal"?' class="'+menu.skel[i].flag+'"':'')+'>'+menu.skel[i].html+'</li>';
			};
			html+='</ul>';
			html = html	.replace(/&amp;/gi,'&')
					.replace(/&lt;/gi,'<')
					.replace(/&gt;/gi,'>')
					.replace(/&quot;/gi,'"')
					.replace(/&#039;/gi,"'");
			if (menu.vars) for (var v in menu.vars)	html = html.replace(RegExp('\\{\\$'+v+'\\}','g'),menu.vars[v]);
			document.getElementById('vlmenu_'+menuname).innerHTML = html;
			break;
	};
	return true;
};

vagalume.songstyle = {
	open:function() {
		$.requireOnce(['/js/songstylebox.js'],function(){vagalume.songstyle.show();},'/js.js');
		return false; // para nao seguir o href
	}
};

// chk home
var homechk = new RegExp("^http://[^/]+/$");
var vagalume_home = (homechk.test(document.location)?1:0);

// partners e country
window.partner = location.host.match(RegExp("\.bol\."))? 'BOL' : 'UOL';
var country = "br";
var countrychk = new RegExp("^http://[^/]+\.(br|ar)[/:]");
if (countrychk.test(document.location)) {
	var countrymatch = countrychk.exec(document.location);
	if (countrymatch[1].length == 2) {
		var country = countrymatch[1];
	} else {
		var country = "br";
	};
} else {
	var country = "br";
};

// ad uol
var	d = document,
	DEt = new Date(),
	DEaff = "parvagalume",
	DErand;
DEt = DEt.getTime();
DErand = Math.floor(DEt*1000*Math.random());
if (country == "ar") DEaff = "parvagalumear";

// skyscraper
if (country == "ar" && ! vagalume_home) {
	_adscript = true;
} else if (country == "br" && ! vagalume_home) {
	_adscript = false;
} else {
	_adscript = false;
};

// browser test
var	agt = navigator.userAgent.toLowerCase(),
	is_ie = (agt.indexOf('msie') != -1),
	is_ie5 = (agt.indexOf('msie 5') != -1),
	is_ie6 = (agt.indexOf('msie 6') != -1),
	is_ie7 = (agt.indexOf('msie 7') != -1),
	is_not_firefox1 = (agt.indexOf('firefox/1.0.') != -1),
	is_firefox = (agt.indexOf('firefox') != -1),
	is_opera8 = (agt.indexOf('opera 8') != -1),
	is_opera = (agt.indexOf('opera') != -1 || window.opera),
	is_win = (agt.indexOf('windows') != -1),
	is_linux = (agt.indexOf('linux') != -1),
	is_fedora = (agt.indexOf('fedora/1.0') != -1),
	is_fedora15 = (agt.indexOf('fedora/1.5') != -1),
	is_konqueror = (agt.indexOf('konqueror') != -1),
	is_gecko = (agt.indexOf('gecko') != -1),
	is_netscape = (agt.indexOf('netscape') != -1);

function add_data(art,title) {
	var	script = art=='addband' ? 'addbanda' : 'addmusic' ,
		extra = title != null ? "&titlemusic="+encodeURIComponent(title)+"&action=add" : "",
		art = art ? art : (window.vData && window.vData['bandaID'] ? window.vData['bandaID'] : '');
	if (art!='addband' && art!='addmusic') {
		window.location.href='/'+script+'.php?artistID='+art+extra;
	} else {
		window.open('/'+script+'.php?artistID='+art+extra,'','toolbar=no,width=550,height=500,directories=no,status=yes,scrollbars=yes,resize=no,menubar=no');
	}
};

function add_pointer_fix(id) {
	window.open('/pointer_fix.php?letraID='+id,'','toolbar=no,width=550,height=500,directories=no,status=yes,scrollbars=no,resize=no,menubar=no');
};
//Remover funcao no dia 20/01 de 2010
function indique_mus(id) {
	send_lyric(id);
};

function cpaste(hidid, print) {
	if (print == 'print'){
		game_palavras(print);
	} else {
		window.open('/cpaste.php?id='+hidid,'','width=550,height=500,toolbar=no,directories=no,status=yes,scrollbars=yes,resizable=yes,menubar=no');
	};
};

function open_popup (file, window, larg, altura, scroll, resize) {
	if (!resize) resize = 'no';
        msgWindow=open(file,window,'directories=no,toolbar=no,location=no,status=no,menubar=no,scrollbars=' + scroll + ',copyhistory=no,resizable='+ resize +',width=' + larg + ',height='  + altura);
        msgWindow.moveTo(screen.width/2-larg/2,screen.height/2-altura/2-20);
};

function BannerShow (ad,pos,Expble) {
	var DEchan,DEsubc,DEsite="par";
	if (vagalume_home) {
		if (window.partner == 'BOL') {
			DEsubc="outros";
			DEchan="parvagalumebolcapa";
		} else {
			DEsubc="capa";
			if (country == "ar") {
				DEsubc = "uoleportada";
				DEsite = "arp";
			};
		};
	} else {
		if (window.partner == 'BOL') {
			DEsubc = "outros";
			DEchan = "parvagalumebolinternas";
		} else {
			DEsubc = "outros";
			if (country == "ar") {
				DEsubc = "uoleinternas";
				DEsite = "arp";
			};
		};
	};
	if (! Expble) var Expble=1;
	var DEcmpng=1, DEGroup=6, scw=0, sch=0;
	DEconn = document.body;
	DEconn.style.behavior = 'url(#default#clientCaps)';
	DEconn = (DEconn.connectionType=='lan')?1:0;
	if (screen.height) {
		scw=screen.width;
		sch=screen.height;
	};

	var url = "";
	if (window.vData) {
		url += '&keyword=band:'+window.vData['banda_url'];	
		url += '&keyword=langID:'+window.vData['banda_langID'];	
	}

	var uinfo = getCookie('uinfo');
	if (uinfo) {
		var parts = uinfo.split("\.");
		if (typeof(parts) == "object" && parts.length > 1) {
			if (parts[0]) {
				url += '&keyword=sex:'+parts[0];
			}
			if (parts[1]) {
				url += '&keyword=birthyear:'+parts[1];
			}
			if (parts[4]) {
				url += '&keyword=geocountry:'+parts[4];
			}
			if (parts[5]) {
				url += '&keyword=geostate:'+parts[5];
			}
			if (parts[6]) {
				url += '&keyword=geocity:'+url_encode(parts[6].replace(" ",""));
			}
		}
	}
	document.write('<script language="JavaScript1.1" src="http://bn.uol.com.br/js.ng/site='+DEsite+'&chan='+DEchan+'&subchan='+DEsubc+'&affiliate='+DEaff+'&size='+ad+'&page='+pos+'&conntype='+DEconn+'&expble='+Expble+'&reso='+scw+'x'+sch+'&cmpng='+DEcmpng+'&group='+DEGroup+'&tile='+DErand+url+'"></script>');
};

function CreateXmlHttpReq(handler) {
        var xmlhttp = null;
        if (is_ie && !is_opera) { // Prevents ie emulation from opera
	        var control = (is_ie5) ? "Microsoft.XMLHTTP" : "Msxml2.XMLHTTP";
	        try {
			xmlhttp = new ActiveXObject(control);
			xmlhttp.onreadystatechange = handler;
	        } catch(e) {
			alert("You need to enable active scripting and activeX controls");
	        };
	} else {
		xmlhttp = new XMLHttpRequest();
		xmlhttp.onload = handler;
		xmlhttp.onerror = handler;
	};
	return xmlhttp;
};

function DummyHandler() { };

var uniqnum_counter = (new Date).getTime();

function XmlHttpGET(xmlhttp, url) {
	xmlhttp.open('GET', url, true);
	xmlhttp.send(null);
};

function SendRequest(url) {
	var xmlhttp = CreateXmlHttpReq(DummyHandler);
	++uniqnum_counter;
	XmlHttpGET(xmlhttp, url + "&rand=" + uniqnum_counter);
};

function addLoadEvent(func) {
	var oldonload = window.onload;
	if (typeof window.onload != 'function') {
		window.onload = func;
	} else {
		window.onload = function() {
			if (oldonload) oldonload();
			func();
		};
	};
};

function analytics (loc,url) {
	var gaJsHost = (("https:" == document.location.protocol) ? "https://ssl." : "http://www.");
	document.write(unescape("%3Cscript src='" + gaJsHost + "google-analytics.com/ga.js' type='text/javascript'%3E%3C/script%3E"));
	if (loc == "ar") {
		addLoadEvent(function(){ var pageTracker = _gat._getTracker("UA-2854418-2"); pageTracker._trackPageview(url);});
	} else if (loc == "plugin") {
		addLoadEvent(function(){ var pageTracker = _gat._getTracker("UA-2854418-3"); pageTracker._trackPageview(url);});
	} else {
		var RE = new RegExp("\.bol\.");
		if (location.host.match(RE)) {
			// BOL
			addLoadEvent(function(){ var pageTracker = _gat._getTracker("UA-2854418-4"); pageTracker._trackPageview(url);});
		} else {
			// UOL
			addLoadEvent(function(){ var pageTracker = _gat._getTracker("UA-2854418-1"); pageTracker._trackPageview(url);});
		};
	};
	// Omniture UOL
	document.write(unescape("%3Cscript src='http://me.jsuol.com/omtr/vagalume.js' type='text/javascript'%3E%3C/script%3E"));
	addLoadEvent(function(){
			try {
				uol_sc.channel="Musica-parceiros-vagalume";
				var s_code=uol_sc.t();if(s_code)document.write(s_code);
			} catch(e) {}
		});
};

function vagaTracker (url) {
	window.vagatracker = 1;
	analytics(country,url);
};

function video_show(type,id,url,width,height,elementId) {
	if (type == "youtube") {
		swf("http://www.youtube.com/v/"+id+"&autoplay=1&color1=0x96BC00&color2=0xccff00&border=1",width,height,null,id,elementId);
	} else if (type == "youtube_noap") {
		swf("http://www.youtube.com/v/"+id+"&color1=0x96BC00&color2=0xccff00&rel=0",width,height,null,id,elementId);
	};
};

function swf(file,width,height,vars,objID,domPlace) {
	var	objID=objID?objID:"",
		content='<object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" codebase="http://fpdownload.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=7,0,0,0" width="'+width+'" height="'+height+'" id="'+objID+'" align="middle" type="application/x-shockwave-flash">'+
			(vars ? '<param name="FlashVars" value="'+vars+'">' : '') +
			'<param name="movie" value="'+file+'" />'+
			'<param name="quality" value="high" />'+
			'<param name="wmode" value="Transparent" />'+
			'<embed src="'+file+'" flashvars="'+vars+'" quality="high" width="'+width+'" height="'+height+'" id="'+objID+'embed" name="flashobj" align="middle" allowScriptAccess="sameDomain" type="application/x-shockwave-flash" wmode="Transparent" pluginspage="http://www.macromedia.com/go/getflashplayer" />'+
			'</object>';
	if (! domPlace) {
		document.write(content);
	} else {
		return $(content).appendTo(domPlace);
	};
};

function lyrics_noload(img) {
	if (typeof(vData) == 'object') {
		document.location = "/search.php?t=let&f=ft&q=" + encodeURIComponent(vData['pointer']);
	};
};

function img_notfound(obj,width,height) {
	var vrfyUtube = new RegExp("(youtube\\.com\\/vi\\/.+)","i");
	if (vrfyUtube.test(obj.src)) {
		var urlstr = obj.src.match(vrfyUtube);
		obj.src = "http://img." + urlstr[1];
	} else {
		obj.src = static1+"/images/youtube-nopreview.gif";
	};
};

function ppc (width, height, channel) {
	var	service	= (country == "ar" ? "uolar" : "uol"),
		width	= (width   ? width   : 234),
		height	= (height  ? height  :  60),
		channel	= (channel ? channel : "artista"),
		chanID  = 3396817476,
		labelID = "Vaga-lume Internas",
		style   = "padding-left: 17px",
		t	= "";

	switch (channel) {
		case "artista" :	chanID = 3396817476; labelID = "Vaga-lume Internas - Artistas";
					break;
		case "letra" :		chanID = 8111541783; labelID = "Vaga-lume Internas - Letras";
					break;
		case "ringtones":	chanID = 3175874149; labelID = "Vaga-lume Internas - Ringtones";
					break;
		case "plugin":		chanID = 1535952797; labelID = "Vaga-lume Internas - Plugin";
					break;
		case "lateral":		chanID = 3777525136; labelID = "Vaga-lume Lateral";
					style = "text-align:center";
					break;
		case "rodape":		chanID = 3777525136; labelID = "Vaga-lume Internas - Rodapé";
					style = "background-color: #000000; width: 728px";
					break;
		default:		t+='Unknown Ad Channel';
					break;
	};

	t+='<div style="' + style + '"><script type="text/javascript">';
	if (service == "uol") {
		var	formatId = 4,
			numads   = 1;
		if (width == 728 && height == 90) {
			formatId = 1;
			numads   = 4;
		} else if (width == 468 && height == 60) {
			formatId = 2;
			numads   = 2;
		} else if (width == 160 && height == 600) {
			formatId = 6;
			numads   = 5;
		};
		t+=("formatId="+formatId+";numads="+numads+";coddisplaysupplier='41d09074ded04a3ea4d07dd93a31ded2';deslabel='" + labelID + "';");
		if (formatId == 6) {
			t+=	"borderColor='000000';bgColor='000000';titleColor='CCFF00';"+
				"descrColor='FFFFFF';urlColor='DCF0FF';altColor='FFFFFF';";
		} else if (formatId == 1) {
			t +=	"borderColor='000000';bgColor='000000';titleColor='CCFF00';"+
				"descrColor='FFFFFF';urlColor='CCFF00';altColor='FFFFFF';"+
				"coddisplaysupplier='41d09074ded04a3ea4d07dd93a31ded2';type='1';"
		} else {
			t+=	"borderColor='FFFFFF';bgColor='FFFFFF';titleColor='0066CC';"+
				"descrColor='000000';urlColor='0066CC';altColor='FFFFFF';";
		};
		t+='</script><script type="text/javascript" src="http://adrequisitor-af.lp.uol.com.br/uolaf.js"></script>';
	} else {
		t+=	'google_ad_client="pub-0820811768982598";'+
			'google_alternate_color = "FFFFFF";'+
			'google_ad_width='+width+';'+
			'google_ad_height='+height+';'+
			'google_ad_format="'+width+'x'+height+'_as";'+
			'google_ad_type="text_image";'+
			'google_ad_channel="'+chanID+'";';

		if (width == 160 && height == 600) {
			t+=	'google_color_border="394A5A";'+
				'google_color_bg="E4E8ED";'+
				'google_color_link="003366";'+
				'google_color_url="003366";';
		} else {
			t+=	'google_color_border="FFFFFF";'+
				'google_color_bg="FFFFFF";'+
				'google_color_link="0066CC";'+
				'google_color_url="3D81EE";';
		};
		t+=	'google_color_text = "000000";'+
			'</script>'+
			'<script type="text/javascript" src="http://pagead2.googlesyndication.com/pagead/show_ads.js"></script>';
	};
	t+='</div>';
	document.write(t);
};

function url_encode(strOrig) {
	var str = String(strOrig);
	var hex_chars = "0123456789ABCDEF";
	var noEncode = new RegExp("[a-zA-Z0-9\\_\\-\\.]");
	var n, strCode, hex1, hex2, strEncode = "";
	for(n = 0; n < str.length; n++) {
		if (noEncode.test(str.charAt(n))) {
			strEncode += str.charAt(n);
		} else {
			strCode = str.charCodeAt(n);
			hex1 = hex_chars.charAt(Math.floor(strCode / 16));
			hex2 = hex_chars.charAt(strCode % 16);
			strEncode += "%" + (hex1 + hex2);
		};
	};
	return strEncode;
};

function htmlentities (string, quote_style, flagDecode) {
	// http://kevin.vanzonneveld.net
	// *     example 1: htmlentities('Kevin & van Zonneveld');
	// *     returns 1: 'Kevin &amp; van Zonneveld'
	// *     example 2: htmlentities("foo'bar","ENT_QUOTES");
	// *     returns 2: 'foo&#039;bar'
	// *     flagDecode: caso TRUE, tira a codificação das entidades.

	flagDecode = (flagDecode !== undefined && flagDecode !== null && flagDecode !== false && flagDecode !== void(0));

	var hash_map = {}, symbol = '', tmp_str = '', entity = '';
	tmp_str = string.toString();

	if (false === (hash_map = this.get_html_translation_table('HTML_ENTITIES', quote_style))) {
		return false;
	}
	hash_map["'"] = '&#039;';
	for (symbol in hash_map) {
		entity = hash_map[symbol];
		var	codeOut	= (flagDecode ? entity : symbol),
			codeIn	= (flagDecode ? symbol : entity);
		tmp_str = tmp_str.split(codeOut).join(codeIn);
	}

	return tmp_str;
};

function get_html_translation_table (table, quote_style) {
    // http://kevin.vanzonneveld.net
    // *     example 1: get_html_translation_table('HTML_SPECIALCHARS');
    // *     returns 1: {'"': '&quot;', '&': '&amp;', '<': '&lt;', '>': '&gt;'}
    
    var entities = {}, hash_map = {}, decimal = 0, symbol = '';
    var constMappingTable = {}, constMappingQuoteStyle = {};
    var useTable = {}, useQuoteStyle = {};
    
    // Translate arguments
    constMappingTable[0]      = 'HTML_SPECIALCHARS';
    constMappingTable[1]      = 'HTML_ENTITIES';
    constMappingQuoteStyle[0] = 'ENT_NOQUOTES';
    constMappingQuoteStyle[2] = 'ENT_COMPAT';
    constMappingQuoteStyle[3] = 'ENT_QUOTES';
 
    useTable       = !isNaN(table) ? constMappingTable[table] : table ? table.toUpperCase() : 'HTML_SPECIALCHARS';
    useQuoteStyle = !isNaN(quote_style) ? constMappingQuoteStyle[quote_style] : quote_style ? quote_style.toUpperCase() : 'ENT_COMPAT';
 
    if (useTable !== 'HTML_SPECIALCHARS' && useTable !== 'HTML_ENTITIES') {
        throw new Error("Table: "+useTable+' not supported');
        // return false;
    }
 
    entities['38'] = '&amp;';
    if (useTable === 'HTML_ENTITIES') {
        entities['160'] = '&nbsp;';
        entities['161'] = '&iexcl;';
        entities['162'] = '&cent;';
        entities['163'] = '&pound;';
        entities['164'] = '&curren;';
        entities['165'] = '&yen;';
        entities['166'] = '&brvbar;';
        entities['167'] = '&sect;';
        entities['168'] = '&uml;';
        entities['169'] = '&copy;';
        entities['170'] = '&ordf;';
        entities['171'] = '&laquo;';
        entities['172'] = '&not;';
        entities['173'] = '&shy;';
        entities['174'] = '&reg;';
        entities['175'] = '&macr;';
        entities['176'] = '&deg;';
        entities['177'] = '&plusmn;';
        entities['178'] = '&sup2;';
        entities['179'] = '&sup3;';
        entities['180'] = '&acute;';
        entities['181'] = '&micro;';
        entities['182'] = '&para;';
        entities['183'] = '&middot;';
        entities['184'] = '&cedil;';
        entities['185'] = '&sup1;';
        entities['186'] = '&ordm;';
        entities['187'] = '&raquo;';
        entities['188'] = '&frac14;';
        entities['189'] = '&frac12;';
        entities['190'] = '&frac34;';
        entities['191'] = '&iquest;';
        entities['192'] = '&Agrave;';
        entities['193'] = '&Aacute;';
        entities['194'] = '&Acirc;';
        entities['195'] = '&Atilde;';
        entities['196'] = '&Auml;';
        entities['197'] = '&Aring;';
        entities['198'] = '&AElig;';
        entities['199'] = '&Ccedil;';
        entities['200'] = '&Egrave;';
        entities['201'] = '&Eacute;';
        entities['202'] = '&Ecirc;';
        entities['203'] = '&Euml;';
        entities['204'] = '&Igrave;';
        entities['205'] = '&Iacute;';
        entities['206'] = '&Icirc;';
        entities['207'] = '&Iuml;';
        entities['208'] = '&ETH;';
        entities['209'] = '&Ntilde;';
        entities['210'] = '&Ograve;';
        entities['211'] = '&Oacute;';
        entities['212'] = '&Ocirc;';
        entities['213'] = '&Otilde;';
        entities['214'] = '&Ouml;';
        entities['215'] = '&times;';
        entities['216'] = '&Oslash;';
        entities['217'] = '&Ugrave;';
        entities['218'] = '&Uacute;';
        entities['219'] = '&Ucirc;';
        entities['220'] = '&Uuml;';
        entities['221'] = '&Yacute;';
        entities['222'] = '&THORN;';
        entities['223'] = '&szlig;';
        entities['224'] = '&agrave;';
        entities['225'] = '&aacute;';
        entities['226'] = '&acirc;';
        entities['227'] = '&atilde;';
        entities['228'] = '&auml;';
        entities['229'] = '&aring;';
        entities['230'] = '&aelig;';
        entities['231'] = '&ccedil;';
        entities['232'] = '&egrave;';
        entities['233'] = '&eacute;';
        entities['234'] = '&ecirc;';
        entities['235'] = '&euml;';
        entities['236'] = '&igrave;';
        entities['237'] = '&iacute;';
        entities['238'] = '&icirc;';
        entities['239'] = '&iuml;';
        entities['240'] = '&eth;';
        entities['241'] = '&ntilde;';
        entities['242'] = '&ograve;';
        entities['243'] = '&oacute;';
        entities['244'] = '&ocirc;';
        entities['245'] = '&otilde;';
        entities['246'] = '&ouml;';
        entities['247'] = '&divide;';
        entities['248'] = '&oslash;';
        entities['249'] = '&ugrave;';
        entities['250'] = '&uacute;';
        entities['251'] = '&ucirc;';
        entities['252'] = '&uuml;';
        entities['253'] = '&yacute;';
        entities['254'] = '&thorn;';
        entities['255'] = '&yuml;';
    }
 
    if (useQuoteStyle !== 'ENT_NOQUOTES') {
        entities['34'] = '&quot;';
    }
    if (useQuoteStyle === 'ENT_QUOTES') {
        entities['39'] = '&#39;';
    }
    entities['60'] = '&lt;';
    entities['62'] = '&gt;';
 
 
    // ascii decimals to real symbols
    for (decimal in entities) {
        symbol = String.fromCharCode(decimal);
        hash_map[symbol] = entities[decimal];
    }
    
    return hash_map;
};

function open_radio(banda) {
	var banda_name = banda ? url_encode(banda) : url_encode(vData['banda']) ;
	window.open('http://musica.busca.uol.com.br/radio/index.php?param1=homebusca&check=artista&enviar=OK&ad=off&sss=nada&busca='+banda_name,'_blank');
};

function open_cddvd() { window.open('http://vagalume.shopping.busca.uol.com.br/busca.html?search=yes&url=%2Findex.html&q='+vData['banda_url'].replace('_','+','g')+'.html', '_blank'); };

function setCookie(name, value, expires, path, domain, secure) {
	if (expires != null) {
		var datenow = new Date();
		datenow.setTime(datenow.getTime() + Math.round(3600000*expires));
		var expires = datenow.toGMTString();
	}
	var curCookie = name + "=" + escape(value) +
	   ((expires) ? "; expires=" + expires : "") +
	   ((path) ? "; path=" + path : "") +
	   ((domain) ? "; domain=" + domain : "") +
	   ((secure) ? "; secure" : "");
	document.cookie = curCookie;
};

function getCookie(Name) {
	var cookies = document.cookie;
	if (cookies.indexOf(Name + '=') == -1) return null;
	var start = cookies.indexOf(Name + '=') + (Name.length + 1);
	var finish = cookies.substring(start,cookies.length);
	finish = (finish.indexOf(';') == -1) ? cookies.length : start + finish.indexOf(';');
	return unescape(cookies.substring(start,finish));
};

function select_get_letras (banda_descr_url, local, wopen) {
	var myajax = new Ajax('/' + banda_descr_url + '/index.xml','GET','text',true);
	myajax.orig = document.getElementById(local);
	myajax.state4 = function() {
		for (var i=0; i!=1;) {
			if (Ajax) {
			var returned = AjaxGetLetraXMLInfo(myajax.output('xml'));
			if (returned[0].length > 0) {
				var html = "<select id='selectlyrlist' onchange='javascript:";
				if (wopen == '_blank') {
					html += "window.open(this.options[this.selectedIndex].value)";
				} else {
					html += "self.document.location=this.options[this.selectedIndex].value";
				};
				html += ";'>";
				html += "<option>--- ";
				if (country == "ar") {
					html += "Seleccioná";
				} else {
					html += "Selecione";
				};
				html += " ---</option>";
				var searchreplace = new RegExp("^[^\:]+(?:letras)?\s*\:\s*");
				for (var iret = 0; iret < returned[0].length; iret++) {
					html += "<option value='" + returned[0][iret] + "'>";
					html += returned[1][iret].replace(searchreplace,"") + "</option>";
				};
				html += "</select>";
			} else {
				var html = 'Nada';
			};
			myajax.orig.innerHTML = html;
			i = 1;
			} else {
				i = 0;
			};
		};
	};
	myajax.state1 = function() {
		myajax.orig.innerHTML = '<img src="/images/processing.gif" border="0" style="display:inline;" /><b>Carregando...</b></center>';
	};
	myajax.stateError = function() {
		myajax.orig.innerHTML = '<font color=red>Erro: N&atilde;o foi poss&iacute;vel baixar a lista de letras!</font>';
	};
	myajax.send();
};

vagalume.PartnerBar = function() {
	var	HTML,
		width = 782;

	switch (country) {
	  case 'ar':	//Argentina
        	HTML=	'<center id="uolbar">'+
        		'<script language="javascript" src="http://www.uol.com.ar/comun/script/uol-canales.js"></script>'+
        		'<script language="javascript" src="http://www.uol.com.ar/comun/script/uol-barra.js"></script>'+
        		'</center>'+
			'<style>#btop {width:'+width+'px!important;}</style>';
			break;
	  default:	//Default "BR" partner
		switch (window.partner) {
		case 'BOL':
                        HTML = '<div id="barraUol">'+
				'<script type="text/javascript" src="http://barra.bol.com.br/scripts/v2/parceiros.js?ref=vagalume&align=center"></script>' +
                                '<style>#gradeBarraBOLv2 {width:'+width+'px;margin:0 auto}</style>'+
				'</div>';
			break;
		case 'UOL':
			if (vagalume_1024) {
				HTML =  '<script src="http://barra.uol.com.br/b/scripts/1024/bpv1.js?ref=vagalume"></script>'+
					'<style>'+
					'#PartnerBar{text-align:center}'+
					'#barrauol{margin:auto}'+
					'</style>';
			} else {
				HTML = '<script src="http://barra.uol.com.br/b/parceiro.js"></script>';
			}
			break;
		};
	};
	document.write("<div id='PartnerBar'>"+HTML+"</div>");
};

vagalume.sendHitInfo = function() {
	var uinfo = getCookie('uinfo');
	var user = getCookie('user_id');

	var src1 = '/control/build_rank.js';
	var param = '?c='+country+
			(window.vData && window.vData.pointerID  ? '&l='+vData.pointerID : '')+
			(window.vData && window.vData.bandaID    ? '&a='+vData.bandaID : '')+
			(user ? '&u='+user : '')+
			(uinfo ? '&i='+uinfo : '')+
			'&v=2';

	$.requireOnce([src1+param],false,'/js.js');
};

// Verifica se usuário está logado ou seta um valor de sessão
vagalume.userSession = function(session,expire) {
	expire = expire ? expire : null;
	if (session) session == 'unset'
		?setCookie('sessionID',null,0.001,'/') // Cookie Baixo para eliminá-lo em seguida
		:setCookie('sessionID',session,expire,'/');
		
	var session = getCookie('sessionID');
	return typeof(session) == 'string' && session !== 'null' ? session : false;
};

vagalume.bottom = function() {
	var html =	(country == "ar" ?
			"Todas las letras de canciones son propriedad de sus respectivos autores." :
			"&Eacute; permitida somente a visualiza&ccedil;&atilde;o no site das letras de m&uacute;sicas encontradas aqui, vedada sua reprodu&ccedil;&atilde;o atrav&eacute;s de quaisquer outros meios (Lei 9610/98).<br/>"+
			"Todas as letras de m&uacute;sicas s&atilde;o propriedade dos seus respectivos autores e divulgadas somente para fins educacionais.")+
			"<br/><b style='font-size:10px'>All lyrics are property and copyright of their owners. All lyrics are provided for educational purposes only.</b>"+
			"<br/><br/>As informa&ccedil;&otilde;es deste site s&atilde;o postadas integralmente pelos usu&aacute;rios. "+
			"&Eacute; importante dizer que &eacute; poss&iacute;vel que os dados estejam desatualizados ou incorretos, sendo assim,<br/>"+
			"o Vaga-lume exime-se de qualquer responsabilidade sobre as informa&ccedil;&otilde;es publicadas. "+
			"Caso haja interesse em remover ou alterar alguma informa&ccedil;&atilde;o, entre em <a href='/contato.html'><u>contato</u></a> conosco.</br>";

	var htmlInfo =	(country == "ar" ?
			"<b>&copy; \"VAGA-LUME\" y su personaje son marcas registradas de Vaga-lume M&iacute;dia Brasil y sus autores.</b>" :
			"<b>&copy; \"VAGA-LUME\" e seu personagem s&atilde;o marcas registradas de Vaga-Lume M&iacute;dia Ltda e seus autores.</b>");

	$("p.copyinfo").html(html);
	$("#copyinfo").html(htmlInfo);
};

(function($) {
	// Sombra
	$.fn.shadowAdd = function(opt) {
		var opt = $.extend({}, $.fn.shadowAdd.defaults,opt);
		return this.each(function(){
			var $this = $(this), $par = $this.parent();
			// Remove sombra do elemento caso já exista
			$this.shadowRemove();

			var	width = this.offsetWidth,
				height = this.offsetHeight,
				shadow = $('<div class="jQueryVLShadow"></div>'),
				offset = $this.distantOf($par);
			shadow.appendTo($par)
				.css({position:'absolute',top:(offset.top+height)+'px',left:offset.left+'px',height:'7px',width:width+'px',zIndex:(this.zIndex > 0 ? this.zIndex : 1000)});

			$par.css({position:'relative'});
			shadow.append('<div style="left:0;width:5px;'+$.vlToolBox.cssPNG(static1+'/images/backgrounds/shadow_bl.png')+'"></div>');
			shadow.append('<div style="left:5px;width:'+(width-10)+"px;"+$.vlToolBox.cssPNG(static1+'/images/backgrounds/shadow_b.png')+'"></div>');
			shadow.append('<div style="left:'+(width-5)+"px;width:5px;"+$.vlToolBox.cssPNG(static1+'/images/backgrounds/shadow_br.png')+'"></div>');
			$('div',shadow).css({position:'absolute',top:'0',height:'5px',display:'block',fontSize:0});
			$this.data('jQueryVLShadow',shadow);// Registra sombra em cache do elemento
		});
	};

	$.fn.shadowRemove = function() { return this.each(function() {
		var $this = $(this);
		if ($this.data('jQueryVLShadow')) $this.data('jQueryVLShadow').remove();
	});};

	$.fn.shadowAdd.defaults = {
		opacity:1
	};

	// Funções para adicionar ou remover molduras sobre as imagens 
	$.fn.framingAdd = function(opt) {
		var opt = $.extend({}, $.fn.framingAdd.defaults,opt);
		return this.each(function(){
			var	$this	= $(this),
				$par	= $this.parent(),
				width	= this.offsetWidth,
				height	= this.offsetHeight,
				offset	= $this.distantOf($par),
				image = opt.sizedImages[width+'x'+height] || opt.image,
				frame;
			$this.framingRemove();
			// <img> para navegadores que suportam bem png. Este é "esticado" <div> para ie < 7 
			frame = $.browser.msie && ( $.browser.version.split('.')[0] < 7 )
				? ['<div ','></div>',$.vlToolBox.cssPNG(image) ]
				: ['<img src="'+image+'" ','/>',''];
			frame = frame[0]+'style="position:absolute;margin:0;padding:0;border:none;outline:none;top:'+offset.top+'px;left:'+offset.left+'px;width:'+width+'px;height:'+height+'px;'+frame[2]+'"'+frame[1];
			frame = $(frame).appendTo($par.css({position:'relative'}));
			$this.data('jQueryVLFramed',frame);// Registra moldura em cache do elemento
		});
	};

	$.fn.framingRemove = function() {return this.each(function() {
		var $this = $(this);
		if ($this.data('jQueryVLFramed')) $this.data('jQueryVLFramed').remove();
	});};

	$.fn.framingAdd.defaults = {
		image:static1+'/images/backgrounds/picframe.png',
		sizedImages:{}
	};

	// Calcula distância entre elemento selecionado e elemento target
	$.fn.distantOf = function(target) {
		var	$this	= $(this),
			$targ	= $(target),
			selfpos = $this.offset(),
			targpos = $targ.offset(),
			border	= {
				top:parseInt($targ.css('borderTopWidth')),
				left:parseInt($targ.css('borderLeftWidth'))
			};
		var ret = {
			top:	selfpos.top -targpos.top - (isNaN(border.top) == true ? 0 : border.top),
			left:	selfpos.left-targpos.left - (isNaN(border.left) == true ? 0 : border.left)
		};

		return ret;
	};

	//Função utilizada para bordas arredondadas sendo iP para prepend e iA para append, tal chamada é feita no js.js 
	$.fn.itag = function(ico) {
		return this.each(function(){
			if (ico=='prepend' && $(this).hasClass("iP")){
				$(this).prepend("<i></i>");
			} else if (ico=='append' && $(this).hasClass("iA")){
				$(this).append("<i></i>");
			}
		});
	};

	// Toolbox Vagalume - funções estáticas
	$.vlToolBox = {
		cssPNG : function(img) {
			return $.browser.msie && ( $.browser.version.split('.')[0] < 8 )
			?"filter:progid:DXImageTransform.Microsoft.AlphaImageLoader(enabled=true, sizingMethod=scale, src='"+img+"');"
			:"background:url("+img+");";
		}
	};

}) (jQuery);

function hide_loading()		{$("#loading").css('display','none');};
function strip_tags(str)	{return str.replace(RegExp("<\S[^>]*>","g"),"");};
function trim(str)		{return str.replace(RegExp("^\s*|\s*$"),"");};
function wr (str)		{ document.write(str); };

function playphone_open(descr_url,loc) {
	var repl = new RegExp("\-","g");
	if (loc == 'artmenu') {
		var bNum = 113;
	} else if (loc == 'breadcrumb') {
		var bNum = 114;
	} else {
		var bNum = 112;
	}
	var url = "http://vagalume.uol.com.br/click.php?b="+ bNum +"&kw=" + descr_url.replace(repl,"+");
	if (loc) {
		url += "&loc=" + loc;
	};
	window.open(url);
};

vagalume.setDHTML = function() {
	setTimeout(function() {
			if (! is_ie6) {
				$('.shadow').shadowAdd({opacity:0.5});
				$('.framed').framingAdd(vagalume.defaults.framing);
			}
			$('.iP').itag('prepend');
			$('.iA').itag('append');
		   },100);

	// include_right.js
	if($('.satellite2').is('div')){
		setTimeout(function() {
			$.requireOnce(['/js/include_right.js','/js/enquete_include.js','/includes/enquete_'+country+'.js'],
						function(){vagalume.rightInc.setDHTML();},
						'/js.js');
		   },1);
	};

	// Espera 8s para mandar o sendHitInfo()
	setTimeout(function() {
			if (window.vData && window.vData.bandaID) {
				vagalume.sendHitInfo();
			};
		   },8000);

	if (document.getElementById('lyrics')) {
		try {
			var playAd = document.createElement("div");
			playAd.id = 'playphoneAd';
			playAd.style.backgroundColor = "#FFFFFF";
			playAd.style.padding = "15px";
			playAd.innerHTML = "<table border=0><tr><td><img src='"+static1+"/images/ad/phone.png'></td><td style='font:bold 12px Verdana'>Baixe agora o Ringtone desta música!<br/><a style='color:#0092B5;text-decoration:underline' href=\"javascript:playphone_open('" + vData['banda_url'] + "','letbot')\">Clique aqui!</a></td></tr></table>";
			document.getElementById("lyrics").appendChild(playAd);
		} catch (e) {};
	};
	if ($('#vlmenu_artist').is('div') && country == "br") {
		$('#vlmenu_artist ul').append('<li><a title="Ringtones de '+vData['banda']+'" href="javascript:playphone_open(\''+vData['banda_url']+'\',\'artmenu\')" class="ringtone">Ringtones</a></li>');
		if ($('#breadcrumb').is('div')) {
			$('#breadcrumb').prepend('<span style="float:right"><a href="javascript:playphone_open(\''+vData['banda_url']+'\',\'breadcrumb\')">Baixar <b>'+vData['banda']+'</b> no seu celular!</a></span>');
		};
	};
	
	if(vagalume_home){
		vagalume.background.show_bgAplic();
	}
	
	if ($("#vagalume #copyinfo").is("div")) {
		setTimeout(function() {
			$.get("/includes/shopping-uol-bottom.html", function(data) {
				$("#copyinfo").before(data)
			});
		},5000);
	};
	
	// verifica se existe a ancora de login e se o usuario está logado

	if(!$("#loginUser").is('div')){
		$("#searchbar").prepend('<div id="loginAbs"><div id="loginUser" class="iA"><a href="javascript:void(0)" class="contentLogin"></a></div></div>');
	};
	
	if($("#loginUser").is('div')) vagalume.login.changeButtonAction(vagalume.userSession()?'logout':'login');
	vagalume.bottom();
	if (window.vagalume_home == 0 && document.getElementById("vagalume")) {
		setTimeout(function(){
			$("#copyinfo").prepend('<center><iframe name="iframeBanner" width="728" height="90" frameborder="0" style="border-width: 0px; width: 728px; height: 90px; border: 1px SOLID #FFF" src="/iframe/bannerRodape.html"></iframe></center><br />');
		}, 3000);
	}

	$('#vagalume').css('position','relative');
	$('#vagalume #topo').append('<img class="gorroNatal" src="/images/gorro_natal.gif" style="position:absolute;top:3px;left:105px" />');
};

vagalume.login = {
	count:0,
	// Altera a função do botão de login
	changeButtonAction:function(login) {
		var login = login === 'login' ? true : false;
		$("#loginUser a").html(login==true?'Login':'Logout')[0].onclick = login == true
			? vagalume.login.openBalloon
			: vagalume.login.logout;
	},
	openBalloon:function() {
		if(!$('#myBalloon.loginUser').is('div')){
			var pos = $('#loginUser').offset();
			var html = 	'<form onsubmit="return false;">'+
					'<div class="loginFields">'+
						'<label for="loginUsuario">Login</label>'+
						'<input class="loginDataInput" type="text" id="loginUsuario">'+
					'</div>'+
					'<div class="loginFields pswd">'+
						'<label for="senhaUsuario">Senha</label>'+
						'<input class="loginDataInput" type="password" id="senhaUsuario"></div>'+					
					'<input type="submit" class="inpSubmit" onclick="vagalume.login.send()" value="Entrar">'+
					'<div class="logged"><input type="checkbox" id="checkLogin" value="1"><label for="checkLogin">Salvar minhas informações neste computador</label></div>'+
					'<div class="optionsLogin">'+
						'<a href="/my.php?action=forgot">Esqueci meu login ou senha</a> <br/>'+
						'<a href="/my.php?action=add">Cadastrar no Vaga-lume</a>'+
					'</div>'
					'</form>';
			// Cria objeto balloon
			vagalume.myBalloon.create({
				spriteX:0,		spriteY:-320,
				width:255,		height:237,
				x:(pos.left - 210),	y:(pos.top + 18),
				name:'loginUser',	title:'',
				content:html
			});
			// Mostra balloon e verifica onde o usuario está clicando para o fechamento correto
			$('#myBalloon.loginUser').slideDown('normal',function(){
				var balloonOffset = $('#myBalloon.loginUser').offset();
				var widthTotal = balloonOffset.left + 255;
				var heightTotal = balloonOffset.top + 253;
				
				$('#loginUsuario').focus();
	
				if(vagalume.login.count==0){
					$(document).click(function(e){
						if((e.clientX!=0 && e.clientY != 0) && 
						($(e.target).attr('class')!='contentLogin' && 
						(e.clientY > heightTotal || e.clientY < balloonOffset.top) ||
						(e.clientX > widthTotal  || e.clientX < balloonOffset.left)))
						{
							$('#myBalloon.loginUser').slideUp('normal',function(){vagalume.myBalloon._pop();});
						}	
					});
					vagalume.login.count++;
				}
			});
		} else {
			$('#myBalloon.loginUser').slideUp('normal',function(){vagalume.myBalloon._pop();});
		}	

	},
	send:function(){
		$.post('/my.php',{action:'autentRequest', usuario:url_encode($("#loginUsuario").val()), senha:url_encode($("#senhaUsuario").val())},function(ret){
			// Verifica se o usuário foi logado (através do retorno)
			if(ret){
				// Grava Cookies caso esteja cheacado a opçao de lembrar
				$("#checkLogin").attr('checked')
					? vagalume.userSession(ret,99999)
					: vagalume.userSession(ret);
				// Fecha balloon
				$('.loginUser').slideUp('normal',function(){vagalume.myBalloon._pop();});
				
				// Insere mensagem de boas vindas
				$("#loginUser").html("<span class='contentLogin'><a href=\"/my/"+$("#loginUsuario").val()+"/\">Meu Vagalume</a>&nbsp;&nbsp;|&nbsp;<a href=\"javascript:void(0)\" class=\"logoutUser\">Sair</a></span><i></i>");

				// Se possuir variaveis de controle, redireciona
				if(window.onLoginRedir!==undefined){
					window.location = window.onLoginRedir;
				} else if(window.onLoginReload){
					document.location.reload();
				}
				
				// Altera onclick para o logout
				$('#loginUser a.logoutUser')[0].onclick = vagalume.login.logout;
			} else {
				// Caso nao tenha mensagem de erro, mostra, caso contrario faz fadeOut e fadeIn na mesma msg
				if(!$('.loginUser .loginFail').is('span')){
					$('.loginUser .optionsLogin').after('<span class="loginFail">Não foi possível efetuar o Login!</span>');
				} else {
					$('.loginUser .loginFail').fadeOut('normal',function(){$(this).fadeIn()});
				}
			}
		});
	},
	logout:function(){
		$.get('/my.php?action=logoutRequest',function(ret){
			if(ret){
				vagalume.userSession('unset');
				$("#loginUser").html('<span class="contentLogin">Obrigado por utilizar o Vaga-lume!</span><i></i>')[0].onclick=function(){return false;};
				
				// Se possuir variaveis de controle, redireciona
				if(window.onLogoutRedir!==undefined){
					window.location = window.onLogoutRedir;
				} else if(window.onLogoutReload){
					document.location.reload();
				}
					
				setTimeout(function(){
					$("#loginUser").fadeOut('slow',function(){
						$("#loginUser").html('<a href="javascript:void(0)" class="contentLogin">Login</a><i></i>').fadeIn('slow');
						$("a",this)[0].onclick = vagalume.login.openBalloon;
					});
					
					
				},1500);
				
			}
		});
	}
};

vagalume.imgLoader = function(obj) {
	var staticChk = new RegExp("http://static[1-4]\.vagalume\.uol\.com\.br(/.+)");
	var attr = $(obj).attr('src');
	if (staticChk.test(attr)) {
		var match = attr.match(staticChk);
		obj.src = "http://www.vagalume.com.br"+match[1];
	};
	obj.onerror = "";
};

vagalume.prepare = {
	top: function() {
	        var info = getCookie('uinfo');
	        if (info!='empty') {
	                info = info ? info.split('.') : [];
	                if (!info[0] && !info[1] && !info[2] && !info[3]) {
	                        document.write('<div id="surveybar" style="height:50px"></div>');
	                        $.requireOnce(['/js/surveybar.js'],false,'/js.js');
	                };
	        };
	        info = null;
		document.write('<div id=superbanner style="margin:5px"><center><script type="text/javascript">BannerShow("728x90",1);</script></center></div>');
		vagalume.PartnerBar();
	},
	bottom: function() {
		// Menus dinamicos e navbar (que ainda depende do /js/dom.js).
		// Carregamos tudo por aqui para ficar mais rápido ao invés de ter outro requireOnce dentro do navbar.js
		$.requireOnce(
			['/js/navbar.js','/includes/vlmenu_'+country+'.js','/js/dom.js'],
			function () {
				vagalume.geramenus('main');
				navbar.menu.start();
				navbar.loadform();
			},
			'/js.js'
		);
		//Remover o if apos 15/8
		if (window.vData && window.vData.bandaID && !window.vData.banda_langID) {
			$.get("/ajax/load_langID.php?artist=" +window.vData.bandaID, function(langID){
				window.vData.banda_langID = langID;
				$('#superbanner iframe').attr('src','/iframe/banner.html');
			});
		} else {
			$('#superbanner iframe').attr('src','/iframe/banner.html');
		}

		if (country == "ar") {
			document.write('<script src="/js/certifica.js"></script>');
		};

		if (! window.vagatracker) {
			analytics(country,'');
		};
	}
};

vagalume.background = {
	show_bgAplic:function () {
		var cancela = false;
		if ($.browser.msie == true && $.browser.version <= 6) {
			cancela = true;
		}
		if (screen.width >= 1024 && cancela == false) {
			if($("#surveybar").is('div')){
				$("#vagalume").before('<div class="bg_aplicVagalume"></div>');
			}else {
				$("#vagalume").before('<div class="bg_aplicVagalume" style="top:66px!important"></div>');
			};
		};
	}

};

addLoadEvent(vagalume.setDHTML);


