function balao(id, alvo, mensagem, tempo, invertido) {
	alvo = $(alvo);
	if($(id)) {
		if($(id).timeOutRemove)
			clearTimeout($(id).timeOutRemove);
		Element.remove($(id));
	}
	if(!alvo)
		return;
	var balao = document.createElement('div');
	var seta = document.createElement('div');
	Event.observe(balao, 'mousedown', function remove() { Element.remove(balao) });
	balao.setAttribute('id', id);
	var offsets = alvo.positionedOffset();
	var top = offsets[1];
	var left = offsets[0];
	Element.setStyle(balao, {
		position: 'absolute',
		fontSize:'12px',
		top: (invertido?top+45:top)+'px',
		left: left+'px',
		padding: '3px',
		border: 'black solid 1px',
		backgroundColor: '#FFFFAE',
		textAlign: 'left',
		webkitBoxShadow: '0px 0px 3px #FFF',
		mozBoxShadow: '0px 0px 3px #FFF',
		borderRadius: '3px',
		MozBorderRadius: '3px',
		webkitBorderRadius: '3px',
		lineHeight:'14px',
		color: 'black'});
	balao.innerHTML = mensagem;
	Element.setStyle(seta, {position: 'absolute', width: '9px', height: '9px', background: 'url(imagens/'+(invertido?'balao_seta_invertida':'balao_seta')+'.gif)'});
	balao.appendChild(seta);
	alvo.parentNode.appendChild(balao);
	var larguraAlvo = alvo.getDimensions().width;
	var alturaAlvo = alvo.getDimensions().height;
	var larguraBalao = balao.getDimensions().width;
	var alturaBalao = balao.getDimensions().height;
	Element.setStyle(balao, {top: (parseInt(balao.style.top)-alturaBalao-3)+'px'});
	Element.setStyle(seta, {top: (invertido?(-8):(alturaBalao-3))+'px'});
	Element.setStyle(seta, {left: '2px'});
	if(tempo) {
		$(id).timeOutRemove = window.setTimeout(function() { if($(id)) Element.remove($(id)) }, tempo);
	}
};

newsletter = function(nome, email){
	new Ajax.Request('ajax/newsletter.php', {
		parameters:'nome='+nome+'&email='+email,
		onSuccess:function(res){
			eval(res.responseText);
		}
	});
};

abre_fecha_conteudo = function(elemento){

	elemento = $(elemento).up();
	var conteudo = elemento.down('.conteudo_fechado');
	
	if(conteudo.efeitando)
		return false;
		
	conteudo.efeitando = true;
	
	if(!conteudo.visible())
		new Effect.BlindDown(conteudo, {duration:0.4, afterFinish:function(){
			conteudo.efeitando = false;
			new Effect.ScrollTo(conteudo, {duration:0.4});
		}});
	else
		new Effect.BlindUp(conteudo, {duration:0.4, afterFinish:function(){
			conteudo.efeitando = false;
		}});
	
};

function number_format(number, decimals, dec_point, thousands_sep) {
	var n = number, prec = decimals;
	var toFixedFix = function (n,prec) {
		var k = Math.pow(10,prec);
		return (Math.round(n*k)/k).toString();
	};

	n = !isFinite(+n) ? 0 : +n;
	prec = !isFinite(+prec) ? 0 : Math.abs(prec);
	var sep = (typeof thousands_sep === 'undefined') ? ',' : thousands_sep;
	var dec = (typeof dec_point === 'undefined') ? '.' : dec_point;

	var s = (prec > 0) ? toFixedFix(n, prec) : toFixedFix(Math.round(n), prec); //fix for IE parseFloat(0.55).toFixed(0) = 0;

	var abs = toFixedFix(Math.abs(n), prec);
	var _, i;

	if (abs >= 1000) {
		_ = abs.split(/\D/);
		i = _[0].length % 3 || 3;

		_[0] = s.slice(0,i + (n < 0)) +
			_[0].slice(i).replace(/(\d{3})/g, sep+'$1');
		s = _.join(dec);
	} else {
		s = s.replace('.', dec);
	}
	if (s.indexOf(dec) === -1 && prec > 1) {
		s += dec+new Array(prec).join(0)+'0';
	}
	return s;
};

menu_fix = function(){
	var menu_itens = $('menu_itens'), out=$$('.menu_links').first();
	menu_itens.select('.label').each(function(e){
		var offs = e.positionedOffset(), wh = e.getDimensions(), pNode = e.up();
		pNode.tabIndex = -1;
		var newA = Builder.node('a', {href:pNode.href}).
			update('<img src="imagens/blank.gif"/>').
			setStyle({
				position:'absolute',
				left:(offs[0]-13)+'px',
				width:(wh.width+16)+'px'
			});
		newA.observe('mouseover', function(){
			ativa_hover_menu(pNode);
		}).observe('mouseout', function(){
			ativa_hover_menu(pNode, 1);
		}).observe('focus', function(){
			ativa_hover_menu(pNode);
		}).observe('blur', function(){
			ativa_hover_menu(pNode, 1);
		});
		out.insert(newA);
	});
	
};

ativa_hover_menu = function(menu_item, out){
	if(out)
		menu_item.addClassName('menu_item_out');
	else
		menu_item.removeClassName('menu_item_out');
	menu_item.siblings().each(function(e){
		e.addClassName('menu_item_out');
	});
};

window.nextBanner=2;
ativa_banner = function(elemento, id, fk){

	clearTimeout(window.btimer);

	var bc = $('banner_principal'), banner;
	if(bc.effecting)
		return false;
	
	if(!elemento){
		elemento = $$('input[banner='+id+']');
		if(elemento)
			elemento = elemento.first();
	}
	
	if(!elemento){
		if(fk)
			return false;
		fk=true;
		window.nextBanner = 1;
		return ativa_banner(false, window.nextBanner, fk);
	}
	
	elemento = $(elemento);
	elemento.siblings().each(function(e){
		e.removeClassName('banner_marcador_ativo');
	});
	
	elemento.addClassName('banner_marcador_ativo');
	var banner_ativo = elemento.getAttribute('banner');
	
	window.nextBanner = banner_ativo-0+1;
	
	if(banner = banners_principais[banner_ativo-1]){
		banner = '<object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=10,0,0,0" width="694" height="195" align="middle">'+
					'<param name="allowScriptAccess" value="sameDomain" />'+
					'<param name="allowFullScreen" value="false" />'+
					'<param name="movie" value="imagens/banner/'+banner.banner+'.swf" />'+
					'<param name="quality" value="high" />'+
					'<param name="wmode" value="transparent" />'+
					'<param name="loop" value="false" />'+
					'<embed wmode="transparent" src="imagens/banner/'+banner.banner+'.swf" loop="true" quality="high" width="694" height="195" menu="false" align="middle" allowScriptAccess="sameDomain" allowFullScreen="false" type="application/x-shockwave-flash" pluginspage="http://www.adobe.com/go/getflashplayer" />';
				'</object>';
		bc.effecting = true;
		bc.blindUp({duration:0.3, afterFinish:function(){
			bc.update(banner);
			bc.blindDown({duration:0.5, afterFinish:function(){
				bc.effecting=false;
			}});
		}});
	}
	
	banner_timer();
	
};

banner_timer = function(){
	window.btimer = setTimeout(function(){
		ativa_banner(false, window.nextBanner);
	}, 15000);
};

var pubImageCarregada = [];
publicidade_direita_timer = function(){
	
	window.proxima_publicidade_direita=1;
	
	window.pdtimer = setInterval(function(){
		var caixa = $('publicidade_direita').down();
		var Item = proxima_publicidade_direita;
		
		var pub = publicidade_direita[Item];
		if(!pub){
			Item = window.proxima_publicidade_direita=0;
			pub = publicidade_direita[Item];
		}
		if(publicidade_direita[Item]){
		
			if(!pubImageCarregada[Item]){
				pubImageCarregada[Item] = true;
				
				var IMG = new Image();
				IMG.src = pub.src;
				$(IMG).hide();
				IMG.onload = function(){
					$('publicidade_direita').insert('<div style="background-image:url('+pub.src+'); display:none;">'+
						'<a href="'+pub.link+'"><img class="ffImage" src="imagens/blank.gif"/></a>'+
					'</div>');
					var next = caixa.next();
					caixa.shrink({duration:0.4, to:0.2, afterFinish:function(){
						caixa.remove();
					}});
					caixa.fade({duration:0.4});
					next.grow({duration:0.5, from:0.6});
					window.proxima_publicidade_direita++;
					
				}
				$(document.body).insert(IMG);
			} else {
				
				$('publicidade_direita').insert('<div style="background-image:url('+pub.src+'); display:none;">'+
					'<a href="'+pub.link+'" target="_blank"><img class="ffImage" src="imagens/blank.gif"/></a>'+
				'</div>');
				var next = caixa.next();
				caixa.shrink({duration:0.4, to:0.2, afterFinish:function(){
					caixa.remove();
				}});
				caixa.fade({duration:0.4});
				next.grow({duration:0.5, from:0.6});
				window.proxima_publicidade_direita++;
				
			}
		}
	}, 10000);
};

noticias_item_move = function(element){
	scrollArea = $('noticias_itens'), h=60;
	var visibles = scrollArea.select('.noticia_item').select(Element.visible);
	var closeAbles = visibles.select(function(e){return !e.efecting;});
	if(element.className=='baixo'){
		if(closeAbles.length<4)
			return;
		var affected = closeAbles.first();
		if(affected)
			if(!affected.efecting)
				affected.efecting = affected.slideUp({duration:0.3, afterFinish:function(e){e.element.efecting=false;}});
	} else {
		var effected = scrollArea.select('.noticia_item').select(function(e){return !e.visible();}).last();
		if(effected)
			effected.slideDown({duration:0.3, afterFinish:function(e){}});
	}
};

radioBox = function(radiobox){
	var sb;
	radiobox = $(radiobox);
	radiobox.up().siblings().each(function(e){
		sb = e.down('button');
		if(sb)
			sb.removeClassName('checked');
	});
	radiobox.addClassName('checked');
};

votarEnquete = function(boxes){
	var b = $$('.'+boxes+'.checked');
	if(b){
		var obj = b.first().value.split(',');
		if(obj.length==2){
			if(!isNaN(obj[0])&&!isNaN(obj[1])){
				new Ajax.Updater('enquetes_box', 'ajax/votaEnquete.php', {
					parameters:{a:obj[0],b:obj[1]},
					onSuccess:function(res){
						Cookie.init({name: 'sopadesiri', expires: 90});
						Cookie.setData('enqueteVoto'+obj[0], true);
					}
				});
			}
		}
	}
};

carrega_cidades = function(estadoId, destino, destino2){
	destino = $(destino);
	destino.disable().update(destino[0]);
	if(estadoId==''){
		destino2 = $(destino2);
		if(destino.up().visible())
			destino.up().fade({duration:0.2});
		if(destino2.up().visible())
			destino2.up().fade({duration:0.2});
	}
	destino[0].innerHTML='Carregando..';
	if(!destino.up().visible())
		destino.up().appear({duration:0.2});
	new Ajax.Updater(destino, 'ajax/carrega_cidades.php', {
		parameters:{estado:estadoId},
		onComplete:function(res){
			if(destino[1])
				destino.enable();
		}
	});
};
carrega_bairros = function(cidadeId, destino){
	destino = $(destino);
	destino.disable().update(destino[0]);
	if(cidadeId==''){
		if(destino.up().visible())
			destino.up().fade({duration:0.2});
	}
	destino[0].innerHTML='Carregando..';
	if(!destino.up().visible())
		destino.up().appear({duration:0.2});
	new Ajax.Updater(destino, 'ajax/carrega_bairros.php', {
		parameters:{cidade:cidadeId},
		onComplete:function(res){
			if(destino[1])
				destino.enable();
		}
	});
};

carrega_pontos_venda = function(pontoId){
	if(pontoId!=''){
		new Ajax.Request('ajax/carrega_pontos.php', {
			parameters:{bairro:pontoId},
			onComplete:function(res){
				var obj = res.responseText.evalJSON(), area = $('pontos_area').update(''), item;
				obj.each(function(ponto){
					ponto.mapa = ponto.mapa.replace(/(\\\")/g, '"');
					area.insert(item = Builder.node('div', {className:'pontoVendaCaixa'},
						[
							Builder.node('div', {className:'pontoVendaCaixa_titulo'}).update(ponto.nome),
							
							Builder.node('div', {className:'linha'}, 
								[
									Builder.node('div', {className:'esquerda pontoVendaCaixa_label'}).update('Endere&ccedil;o:&nbsp;'),
									Builder.node('div', {className:'esquerda'}).update(ponto.endereco+' - '+ponto.bairro)
								]
							),
							Builder.node('div', {className:'linha'}, 
								[
									Builder.node('div', {className:'esquerda pontoVendaCaixa_verMapa'}).update('Ver Mapa').observe('click', function(){
										mapa.abre({id:ponto.id, mapa:ponto.mapa});
									})
								]
							)
						]
					).hide());
					item.appear({duration:0.8, delay:0.2}).morph(item, {duration:0.8, style:{marginTop:'0px'}});
				});
			}
		});
	}
};


mapa = {
	aberto:false,
	abre: function(obj){
		if(!this.aberto){
			this.aberto = true;
			var Body = $(document.body);
			
			this.elementoFade = Builder.node('div', {className:'corpoFade'}).hide();
			this.elementoMapa = Builder.node('div', {className:'mapaCaixa'}).hide().insert(Builder.node('div', {className:'mapaFecha'}).update('Fechar').observe('click', function(){mapa.fecha();})).insert(Builder.node('div' ,{className:'mapaIframeArea'}).update(new String(obj.mapa)));
			
			Body.insert(this.elementoFade);
			Body.insert(this.elementoMapa);
			this.elementoMapa.blindDown({duration:0.3});
			this.elementoFade.appear();
		}
	},
	fecha: function(){
		if(this.aberto){
			this.aberto = false;
			this.elementoMapa.blindUp({duration:0.3});
			mapa.elementoFade.fade({delay:0.3, duration:0.5, afterFinish:function(){
				mapa.elementoMapa.remove();
				mapa.elementoFade.remove();
			}});
		}
	}
};
