var DENUNCIA = window.DENUNCIA || {}

DENUNCIA.formSubmit = function(e) {
	/*if(document.forms['denuncia'].CorreioPara[0].checked){
		e.preventDefault();
		e.stopPropagation();
		$('#main .msg').remove();
		$('#main [@type="submit"]').before('<p class="msg alert">Por favor, selecione o tipo de denúncia que você quer fazer.</p>')
	} else {*/
		if(document.forms['denuncia'].PaginaDenunciada.value=="http://" || document.forms['denuncia'].PaginaDenunciada.value=="") {
			document.forms['denuncia'].PaginaDenunciada.disabled="disabled";
		}
	//}
}

var UOLPROD = window.UOLPROD || {};
var TID = null;
var REMOVE_TIMEOUT;

function stop_event(e)
{
	e.preventDefault();
	e.stopPropagation();
}

function box(e, link, keep_opened)
{
	stop_event(e);
	var pos = findPos(link);
	var id = link.hash.replace(/#/, '');
	var title = link.rel;
	var class_name = 'keep-opened';
	var left = pos[0] + 50;
	
	if ($('#JT.keep-opened').length > 0 && !keep_opened) {
		return;
	}
	
	clearTimeout(REMOVE_TIMEOUT);
	
	$('#JT').remove();
	
	if (!keep_opened) {
		class_name = '';
	}
	
	if (navigator.appName == 'Microsoft Internet Explorer') {
		left = pos[0]/2;
		left += 50;
	}
	
	$("body").append("<div id='JT' class='" + id + "-box "+ class_name +"' style='top:" + pos[1] + "px;left:" + left + "px'><div id='JT_arrow_right'></div><div id='JT_close_right'>"+title+"<a href='#' id='JT_close_link' style='float:right;margin-top:-13px;_margin-top:-20px;padding-right:5px;'>(x) Fechar</a></div><div id='JT_copy'><div class='JT_loader'><div></div></div>");//left side
	$('#JT')
		.mouseover(function(e){
			$('#JT').addClass('opened');
		})
		.mouseout(function(e){
			if ($(e.target).parents('#JT:eq(0)').length == 0) {
				$('#JT').removeClass('opened');
				remove_box();
			}
		})
		.click(stop_event);
	$('#JT_close_link').click(function(e){
		$('#JT').remove();
		stop_event(e);
	});
	$('#JT_copy')
		.html($('#' + id).html());
}

function remove_box()
{
	REMOVE_TIMEOUT = setTimeout(function(){
		$('#JT').not('.opened').not('.keep-opened').remove();
	}, 100);
}

UOLPROD.init = function(){
	UOLPROD.busca();
	
	$('a.jTip').each(function(){
		$(this)
			.mouseover(function(e){ box(e, this); })
			.mouseout(function(){
				remove_box();
				
			})
			.click(function(e){ box(e, this, true) });
	});
	
	$('#denuncaUOLForm').submit(DENUNCIA.formSubmit);
	$('.adicional').click(function(e){
		DENUNCIA.email = this.value.toString();
		if(this.checked) {
			$('[@name="CorreioPara"]').each(function(e){
				this.value += ','+DENUNCIA.email;
			})
		} else {
			$('[@name="CorreioPara"]').each(function(e){
				this.value = this.value.toString().replace(','+DENUNCIA.email,'');
			})			
		}
	});
	
	$('#key').each(function(){
		this.focus();
	});
	
	if(location.href.indexOf('r=safernet') != -1) {
		$('p.msg').removeClass('ok').addClass('wait');
		$('#safernet-note').removeClass('hidden');	
		setTimeout(function(){ window.open('http://www.denunciar.org.br'); }, 10000);
		setTimeout(function(){ $('p.msg').remove(); }, 13000);
	}
	
	$('input.safernet').add('input.uol').click(function(){
		$('span.redirect').remove();
		if (TID) {
			clearTimeout(TID);
		}
	});
	
	$('input.safernet').click(function(){
		//$('#fields').hide();
		//$(this).next('strong').after('&nbsp;&nbsp;<span class="msg wait redirect">Você será redirecionado para o site da <a href="http://www.denunciar.org.br">SaferNet</a>.<br/>Se a página não abrir, <a href="http://www.denunciar.org.br" target="_blank">clique aqui</a>.</span>')
		//TID = setTimeout(function(){ window.open('http://www.denunciar.org.br'); }, 3000);
		//setTimeout(function(){ $('.redirect').remove(); }, 13000);
		
		$('#fields').show();
		$('[@name=ParaPagina]').val('http://denuncia.uol.com.br/index2.html?r=safernet');
	});
	
	$('input.uol').click(function(){
		$('#fields').show();
		$('[@name=ParaPagina]').val('http://denuncia.uol.com.br/index2.html');
		$('span.redirect').remove();
	});
	
	if($('input.uol').is(':checked')) {
		$('#fields').show();
	} else {
		$('#fields').hide();
	}
	
	var referer = document.referrer || '';
	$('#referer').val(referer);
	
	try {
		pagina_denunciada = (/PaginaDenunciada=([^&?\b]+)/).exec(location.href)[1] || 'http://';
		$('#pagina_denunciada').val(pagina_denunciada);
	} catch(e){ null; }
}

/* Creates UOL Busca form and tabs and assigns event handlers */
UOLPROD.busca = function(){
	$('#header').not('.naobusca').append('<div id="uol-busca"><form id="form-busca" action="http://busca.uol.com.br/www/index.html" target="_blank"><input type="text" name="q" id="ub-q" /><input type="submit" value="BUSCAR" class="submit" /><input type="hidden" name="id" value="1" disabled="disabled" /><input type="hidden" name="rd" value="1" disabled="disabled" /><input type="hidden" name="group" value="3" disabled="disabled" /><input type="hidden" name="t" value="10" disabled="disabled" /></form></div>');
	$('#uol-busca').prepend('<div id="ub-opt"><dl><dt><label for="ub-q"><a href="http://busca.uol.com.br/" target="_blank">UOL Busca</a></label></dt><dd id="ub-www" class="active"><a href="#ub-www">Web</a></dd><dd id="ub-not"><a href="#ub-not">Notícias</a></dd><dd id="ub-img"><a href="#ub-img">Imagens</a></dd><dd id="ub-vid"><a href="#ub-vid">Vídeo</a></dd><dd id="ub-pre" class="lastitem"><a href="#ub-pre">Preços</a></dd></dl></div>');
	$('#form-busca').submit(function(e){e.preventDefault(); UOLPROD.busca.tipo.send();});
	$('#ub-opt dd a').click(function(e){
		e.preventDefault();
		e.stopPropagation();
		$('#ub-opt dd').removeClass('active');
		$(this).parent('dd').addClass('active');
		/* field 'q' is not empty AND does not have 'invalid' className */
		if($('#ub-q').val() != "" && !$('#ub-q').is('.invalid')){
			UOLPROD.busca.tipo.send();
		} else {
			$('#ub-q').val('').get(0).focus();
		}
	});
}

/* Handles UOL Busca tab links and form submitions */
UOLPROD.busca.tipo = {
	sMsg: "O campo da busca deve ser preenchido",
	www: {titulo: "Web", action: "http://busca.uol.com.br/www/index.html", param: ["q"]},
	img: {titulo: "Imagens", action: "http://busca.uol.com.br/imagem/index.html", param: ["q"]},
	vid: {titulo: "Vídeos", action: "http://busca.uol.com.br/video/index.html", param: ["q"]},
	not: {titulo: "Notícias", action: "http://noticias.busca.uol.com.br/uol/index.html", param: ["q","id","rd"]},
	pre: {titulo: "Preços", action: "http://precos.busca.uol.com.br/result.html", param: ["q","group","t"]},
	send: function(){
		/* field 'q' is empty OR has 'invalid' className */
		if($('#ub-q').val() == "" || $('#ub-q').is('.invalid')){
			$('#ub-q')
				.val(UOLPROD.busca.tipo.sMsg)
				.addClass('invalid')
				.focus(function(){
					/* confirm if the 'invalid' class is present before removing the content */
					if($(this).is('.invalid')) {
						$(this).val('').removeClass('invalid')
					}
				})
			return false;
		}
		if (!$('#ub-opt dd.active').get(0).id){return false;}
		var sType = $('#ub-opt dd.active').get(0).id.replace(/^ub\-/,'');
		if(!UOLPROD.busca.tipo[sType]) {return false;}
		$('#form-busca input').not('[@type="submit"]').each(function(){
			this.disabled = "disabled";
			for(var i=0, sFieldName; sFieldName = UOLPROD.busca.tipo[sType].param[i]; i++){
				if(this.name == sFieldName) this.disabled = "";
			}
		});
		$('#form-busca').get(0).action = UOLPROD.busca.tipo[sType].action;
		$('#form-busca').get(0).submit();
	}
}

function findPos(obj) {
	var curleft = curtop = 0;
	if (obj.offsetParent) {
		curleft = obj.offsetLeft
		curtop = obj.offsetTop
		while (obj = obj.offsetParent) {
			curleft += obj.offsetLeft
			curtop += obj.offsetTop
		}
	}
	return [curleft,curtop];
}

function getAbsoluteLeft(objectId) {
	var o = document.getElementById(objectId);
	var oLeft = o.offsetLeft;
	
	while(o.offsetParent!=null) {
		var oParent = o.offsetParent;
		oLeft += oParent.offsetLeft;
		o = oParent;
	}
	return oLeft;
}

function getAbsoluteTop(objectId) {
	var o = document.getElementById(objectId)
	var oTop = o.offsetTop;
	
	while(o.offsetParent!=null) {
		var oParent = o.offsetParent;
		oTop += oParent.offsetTop;
		o = oParent;
	}
	return oTop;
}

$(UOLPROD.init);
