$(document).ready( function(){
	/***
	*	:: Centralizar Objeto ::
	*	:: Diego Marques - Agência DMK ::
	*	:: 2007 ::
	*
	*	Função para centralizar verticalmente ou horizontalmente.
	*	ex:
	*		$("#container").centro(); -> Centraliza Vertical e Horizontal;
	*		$("#footer").centroV(); -> Centraliza Verticalmente;
	*		$("#menu").centroH(); -> Centraliza Horizontalmente;
	*
	*	OBS: Nescessário plugin Dimension.
	***/
	jQuery.fn.extend({
		centroH: function(){
			var dmObj = $(this).parent().is("body") ? $(window) : $(this).parent();
			if($(dmObj).width() > $(this).width()) // Só aplica o alinhamento se o elemento pai for maior que o objeto alvo;
				$(this).css({marginLeft: Math.round((parseInt($(dmObj).width())-parseInt($(this).width()))/2)+"px"});
			return this;
		},
		centroV: function(){
			var dmObj = $(this).parent().is("body") ? $(window) : $(this).parent().css({overflow:"hidden"});
			if($(dmObj).height() > $(this).height()) // Só aplica o alinhamento se o elemento pai for maior que o objeto alvo;
				$(this).css({marginTop: Math.round((parseInt($(dmObj).height())-parseInt($(this).height()))/2)+"px"});
			return this;
		},
		centro: function(){
			$(this).centroH().centroV();
			return this;
		}
	});
	
	
	/***
	*	:: Log para Debug ::
	*	:: Diego Marques - Agência DMK ::
	*	:: 2007 ::
	*	ex:
	*		l("testando");
	*
	*	OBS: Funciona apenas no Firefox com o plugin Firebug.
	***/
	l = function(x){ if(window.console) console.log(x); }
	
	/***
	*	:: Redimencionar por classe ::
	*	:: Diego Marques - Agência DMK ::
	*	:: 2007 ::
	*
	*	Redimenciona um elemente setando uma classe para ele.
	*	ex:
	*		<div class="width150">teste</div>
	*		<div class="height5050">teste</div>
	***/
	$("*[@class*=width]").each(function(){
		dmClasses = $(this).attr("class").split(" ");
		$.each(dmClasses, function(i,n){
			if(n.indexOf("width") != -1){ dmTamanho = dmClasses[i].replace("width",""); }
		});
		$(this).css("width",dmTamanho+"px");
	});
	$("*[@class*=height]").each(function(){
		dmClasses = $(this).attr("class").split(" ");
		$.each(dmClasses, function(i,n){
			if(n.indexOf("height") != -1){ dmTamanho = dmClasses[i].replace("height",""); }
		});
		$(this).css("height",dmTamanho+"px");
	});

	/***
	*	:: Paginação em Lista ::
	*	:: Diego Marques - Agência DMK ::
	*	:: 2007 ::
	*
	*	Cria uma paginação em uma lista.
	*	Basta acresentar na lista a classe "paginarLista".
	*	O padrão de ítens por página é de 10 ítens, caso queira alterar
	*	basta colocar a classe "ItensPorPaginaN", onde N é o total de itens por página.
	*	ex:
	*		<ol class="paginarLista ItensPorPagina10">
	***/
	var dmPgItensPorPagina = 10;
	// Função para mudar de página
	dmPgMudaPagina = function(dmPg, dmPgObj){
		var dmPgCont = 0;
		$(dmPgObj).attr("start",((dmPg-1)*dmPgItensPorPagina)+1).children().css({display: "none"});
		$(dmPgObj).children().each( function(i){
			if(i % dmPgItensPorPagina == 0){ dmPgCont++; }
			if(dmPgCont == dmPg){ $(this).css({display: ""}); }
		});
		$(dmPgObj).next().children().each( function(i){
			i++;
			if(dmPg == i){
				dmPgContent = $(this).text()
				$(this).addClass("selecionado").html(dmPgContent);
			}else{
				dmPgContent = "<a href=\"javascript:void(0);\" title=\""+$(this).text()+"\" class=\"mudaPagina\">"+$(this).text()+"</a>";
				$(this).removeClass("selecionado").html(dmPgContent);
			}
		});
		// Evento para mudar a página qdo clicar no link
		$(".mudaPagina").click( function(){
			dmPgMudaPagina($(this).attr("title"), $(this).parent().parent().prev());
		});
	}
	// Gera a Paginação
	$(".paginarLista").each( function(){
		// Pegar itens por pagina
		dmPgPegaItens = $(this).attr("class");
		if(dmPgPegaItens.indexOf("ItensPorPagina") != -1){
			dmPgPegaItens = dmPgPegaItens.split(" ");
			$.each(dmPgPegaItens, function(i,n){
				if(n.indexOf("ItensPorPagina") != -1){
					dmPgItensPorPagina = dmPgPegaItens[i].replace("ItensPorPagina","");;
				}
			});
		}
		// Calcula o total de páginas
		var dmPgTotal = 0;
		$(".paginarLista").children().each( function(i){
			if(i % dmPgItensPorPagina == 0){ dmPgTotal++; }
		});
		if(dmPgTotal > 1){
			// Monta o navegador
			dmPgContent  = "<ul class=\"paginacao\">";
			for(i=1; i<=dmPgTotal; i++){
				if(i == 1){
					dmPgContent += "	<li class=\"selecionado\">1</li>";
				}else{
					dmPgContent += "	<li><a href=\"javascript:void(0);\" title=\""+i+"\" class=\"mudaPagina\">"+i+"</a></li>";
				}
			}
			dmPgContent += "</ul>";
			$(this).after(dmPgContent);
			// Seta página inicial
			dmPgMudaPagina(1, this);
		}
	});
	
	// Página Atual //
	pgAtual = function(dmQuery){
		dmPagina = window.location+"";
		dmPagina = dmPagina.split("/").pop().split("?");
		if(dmPagina[1] == "undefined" || dmPagina[1] == null || dmPagina[1] == ""){
			dmPagina[1] = "&";
		}else{
			if(dmQuery.indexOf("!") != -1){
				dmQuery = dmQuery.replace(/^[&?]/,"").split("&");
				dmQueryAtual = dmPagina[1].split("&");
				for(i=0;i<dmQueryAtual.length;i++){
					for(i2=0;i2<dmQuery.length;i2++){
						if(dmQuery[i2].indexOf("!") != -1){
							if(dmQueryAtual[i] != null && dmQuery[i2].replace("!","") == dmQueryAtual[i].split("=")[0]){
								dmQueryAtual[i] = null;
							}
						}
					}
				}
				for(i=0;i<dmQuery.length;i++){
					if(dmQuery[i].indexOf("!") != -1){
						dmQuery[i] = null;
					}
				}
				dmPagina[1] = dmQueryAtual.join("&").replace(/[&]{2,}/,"&").replace("?&","?").replace(/&$/,"");
				dmQuery = dmQuery.join("&").replace(/[&]{2,}/,"&").replace("?&","?").replace(/&$/,"");
			}
		}
		if(dmQuery != "undefined" && dmQuery != null && dmQuery != ""){ // Verifica se foi definido o dmQuery
			if(dmQuery.indexOf("?") == -1){ // Verifica se é para forçar a substituição da QueryString
				dmQuery = dmQuery.replace(/^[&?]/,"").split("&");
				dmQueryAtual = dmPagina[1].split("&");
				dmMudou = false;
				for(i=0;i<dmQueryAtual.length;i++){
					for(i2=0;i2<dmQuery.length;i2++){
						if(dmQueryAtual[i].split("=")[0] == dmQuery[i2].split("=")[0]){
							dmQueryAtual[i] = dmQuery[i2];
							dmQuery[i2] = "";
							dmMudou = true;
						}
					}
				}
				dmPagina[1] = dmQueryAtual.join("&");
				dmPagina[1] += "&"+dmQuery.join("&");
				dmPagina = dmPagina.join("?");
				dmPagina = dmPagina.replace("&&","&").replace("?&","?").replace(/&$/,"");
			}else{ // Se for para forçar a QueryString, ele substitui a queryString
				dmPagina = dmPagina[0]+dmQuery;
			}
		}else{ // Se não foi definido o dmQuery, retorna a url atual
			dmPagina = dmPagina.join("?");
		}
		return dmPagina;
	}
	
	// Ler variável GET //
	get = function(dmGet){
		var dmGetRetorno = null;
		dmEndereco = String(window.location).split("?")[1].split("&");
		for(i=0;i<dmEndereco.length;i++){
			if(dmGet == dmEndereco[i].split("=")[0])
				dmGetRetorno = dmEndereco[i].split("=")[1];
		}
		return dmGetRetorno;
	}
	
	// Preload automático de imagens
	// Por Diego Marques
	// Agência DMK
	dmPreLoadImg = function(){
		dmLog = true;
		dmImgPreLoad = new Array();
		
		// Pega dados das tags imgs
		$("img").each(function(){
			dmRepetido = false;
			dmSrc = $(this).attr("src");
			$.each(dmImgPreLoad,function(pos,valor){
				dmRepetido = dmRepetido == true || dmSrc == valor ? true : false;
			});
			if(!dmRepetido) dmImgPreLoad.push(dmSrc);
		});

		// Pega dados dos css
		dmTotalCSS = $("link").length;
		dmTotalCSSok = 0;
		$("link").each(function(){
			caminhoCSS = $(this).attr("href");
			dmCaminho = "";
			dmNiveis = caminhoCSS.split("/");
			dmNiveis = dmNiveis.length > 1 ? dmNiveis.length - 1 : 0;
			if(dmNiveis > 0){
				for(i=0;i<dmNiveis;i++){
					dmCaminho += "../";
				}
			}
			$.ajax({
				url:caminhoCSS,
				success: function(retorno){
					retorno = retorno.split(/[()'"]/);
					$.each(retorno,function(pos,valor){
						dmRepetido = false;
						dmExtencao = valor.replace(/\s+/g," ");
						dmExtencao = dmExtencao.replace(/^ /,"");
						dmExtencao = dmExtencao.replace(/ $/,"");
						dmExtencao = dmExtencao.slice(dmExtencao.length-4).replace(".","");
						if(dmExtencao == "jpg" || dmExtencao == "jpeg" || dmExtencao == "gif" || dmExtencao == "png"){
							$.each(dmImgPreLoad,function(pos2,valor2){
								dmRepetido = dmRepetido == true || valor.replace(dmCaminho,"") == valor2 ? true : false;
							});
							if(!dmRepetido) dmImgPreLoad.push(valor.replace(dmCaminho,""));
						}
					});
					dmTotalCSSok++;
					dmCarregarImgs();
				}
			});
		});
		
		// Carregar Imagens
		dmCarregarImgs = function(){
			if(dmTotalCSSok == dmTotalCSS){
				if(window.console && dmLog) console.log("PreLoad Images - Desenvolvido por Diego Marques\n09/01/2008 - Agência DMK - http://www.agenciadmk.com.br/\nTotal de imagens: "+dmImgPreLoad.length);
				dmLoadImage = new Array();
				dmTotalCarregado = 0;
				dmTotalErro = 0;
				if(dmImgPreLoad.length > 0){
					for(i=0;i<dmImgPreLoad.length;i++){
						dmLoadImage[i] = new Image();
						dmLoadImage[i].onload = function(){
							dmTotalCarregado++;
							if(window.console && dmLog) console.log("Imagem: "+this.src+" - OK!");
							dmFinalizaPreload();
						}
						dmLoadImage[i].onerror = function(){
							dmTotalErro++;
							if(window.console && dmLog) console.log("ERRO AO CARREGAR IMAGEM: "+this.src+" !!!");
							dmFinalizaPreload();
						}
						dmLoadImage[i].src = dmImgPreLoad[i];
					}
					dmFinalizaPreload = function(){
						if(dmImgPreLoad.length == (dmTotalCarregado + dmTotalErro)){
							if(window.console && dmLog) console.log("PreLoad Concluído!\nTotal de imagens carregadas: "+dmTotalCarregado+"\nTotal de erros: "+dmTotalErro);
						}
					}
				}
			}
		}
	}
	//dmPreLoadImg();
	
////// Unione /////////////////////////////////////////////////////////////////////////////////////////////////////////////
	
// Index Destaques //
	{
		// Inicializa variáveis //
		timeMudaFoto = setTimeout(function(){},1);
		abaImagens = new Array();
		abaImagensLink = new Array();
		emMudanca = false;

		// Remove aba caso esteja vazia //
		if($(".index #destaques div img.brasil").length == 0){ $(".index #destaques ul.abas li a.brasil").parent().remove(); }
		if($(".index #destaques div img.chile").length == 0){ $(".index #destaques ul.abas li a.chile").parent().remove(); }
		if($(".index #destaques div img.newmarket").length == 0){ $(".index #destaques ul.abas li a.newmarket").parent().remove(); }

		// Coleta os dados das imagens //
		$(".index #destaques div img").each(function(i){
			abaImagens[i] = $(this);
			abaImagensLink[i] = $(this).parent().is("a") ? $(this).parent().attr("href") : "vazio" ;
		});
		abaTotal = abaImagens.length;

		// Gera a paginaçao //
		paginacoes =  "<ul class=\"paginacao\">\n";
		paginacoes += "		<li class=\"esq\"><a href=\"javascript:void(0);\" title=\"Anterior\">Anterior</a></li>\n";
		i2 = 0;
		for(i=1 ; i <= $(".index #destaques div img.brasil").length ; i++){
			if($(".index #destaques div img.brasil").length > 1){
				paginacoes += "		<li class=\"brasil\"><a href=\"javascript:void(0);\" title=\""+i+"\" rel=\""+(i2)+"\">"+i+"</a></li>\n";
				paginacoes += i < $(".index #destaques div img.brasil").length ? "<li class=\"brasil\">.</li>\n" : "";
			}
			i2++;
		}
		for(i=1 ; i <= $(".index #destaques div img.chile").length ; i++){
			if($(".index #destaques div img.chile").length > 1){
				paginacoes += "		<li class=\"chile\"><a href=\"javascript:void(0);\" title=\""+i+"\" rel=\""+(i2)+"\">"+i+"</a></li>\n";
				paginacoes += i < $(".index #destaques div img.chile").length ? "<li class=\"chile\">.</li>\n" : "";
			}
			i2++;
		}
		for(i=1 ; i <= $(".index #destaques div img.newmarket").length ; i++){
			if($(".index #destaques div img.newmarket").length > 1){
				paginacoes += "		<li class=\"newmarket\"><a href=\"javascript:void(0);\" title=\""+i+"\" rel=\""+(i2)+"\">"+i+"</a></li>\n";
				paginacoes += i < $(".index #destaques div img.newmarket").length ? "<li class=\"newmarket\">.</li>\n" : "";
			}
			i2++;
		}
		paginacoes += "		<li class=\"dir\"><a href=\"javascript:void(0);\" title=\"Próximo\">Próximo</a></li>\n";
		paginacoes += "</ul>";
		$(".index #destaques").append(paginacoes);
		$(".index #destaques .paginacao li a").click(function(){
			if(emMudanca == false){
				clearTimeout(timeMudaFoto);
				mudaFoto(parseInt($(this).attr("rel")));
			}
		});

		// Remove as imagens temporárias //
		$(".index #destaques").children("div").html("<img src=\"\" alt=\"\" class=\"hide\" />");

		// Evento de click nas abas e nas setas da paginaçao //
		$(".index #destaques ul.abas a").click(function(){
			if(emMudanca == false){
				achouImg = false;
				mudaAbaAtiva($(this));
				clearTimeout(timeMudaFoto);
				for(i=0;i<abaTotal;i++){
					if($(this).attr("class") == $(abaImagens[i]).attr("class")){
						if(achouImg == false){
							achouImg = true;
							mudaFoto(i);
						}
					}
				}
			}
		});
		$(".index #destaques ul.paginacao li.esq a").click(function(){
			if(emMudanca == false){
				clearTimeout(timeMudaFoto);
				mudaFoto(abaTotal - 1)
			}
		});
		$(".index #destaques ul.paginacao li.dir a").click(function(){
			if(emMudanca == false){
				clearTimeout(timeMudaFoto);
				mudaFoto(1)
			}
		});

		// Funçao que a muda a aba ativa //
		mudaAbaAtiva = function(obj){
			$(obj).parent().parent().children().removeClass("ativo sombra diferente");
			$(obj).parent().addClass("ativo").next().addClass("sombra");
			$(obj).parent().addClass($(obj).text().toLowerCase() == "new market" ? "diferente" : "");
		}

		// Funçao de muda a foto //
		mudaFoto = function(qual){
			qual = qual < abaTotal ? qual : 0;
			qual = qual >= 0 ? qual : abaTotal - 1;
			carregaImg = new Image();
			carregaImg.onload = function(){
				emMudanca = true;
				$(".index #destaques div img").fadeOut("fast",function(){
					mudaAbaAtiva($(".index #destaques .abas ."+$(abaImagens[qual]).attr("class")));

					// Atualiza a paginaçao //
					$(".index #destaques .paginacao li").not(".esq, .dir").hide().children(".ativo").removeClass("ativo");
					$(".index #destaques .paginacao ."+$(abaImagens[qual]).attr("class")).show().children("a[rel='"+(qual)+"']").addClass("ativo");

					// Animaçao e troca da imagem //
					$(this).unbind("click").css("cursor","default");
					if(abaImagensLink[qual] != "vazio"){
						$(this).css("cursor","pointer").css("cursor","pointer").click(function(){
							window.location = abaImagensLink[qual];
						});
					}
					$(".index #destaques div img").removeClass("hide").attr({src: $(abaImagens[qual]).attr("src"), alt: $(abaImagens[qual]).attr("alt")}).fadeIn("fast",function(){
						emMudanca = false;

						// Atualiza o evento as setas da paginaçao //
						$(".index #destaques ul.paginacao li.esq a").unbind("click").click(function(){
							if(emMudanca == false){
								emMudanca = true;
								clearTimeout(timeMudaFoto);
								mudaFoto(qual-1);
							}
						});
						$(".index #destaques ul.paginacao li.dir a").unbind("click").click(function(){
							if(emMudanca == false){
								emMudanca = true;
								clearTimeout(timeMudaFoto);
								mudaFoto(qual+1);
							}
						});

						// Temporizador para a troca da imagem //
						timeMudaFoto = setTimeout(function(){
							if(emMudanca == false && abaTotal > 1) mudaFoto(qual + 1);
						},4000);
					});
				});
			}
			carregaImg.src = $(abaImagens[qual]).attr("src");
		}
		mudaFoto(0); // Inicializa animaçao
	}
	
// Formulários //
	$(".input").css({borderLeft:"0px none",borderRight:"0px none"}).before("<img src=\"imagens/input-esq.gif\" alt=\"\" class=\"esq\" />").after("<img src=\"imagens/input-dir.gif\" alt=\"\" class=\"dir\" />");

// Classe Ativo //
	dmPaginaAtivo = window.location+"";
	dmPaginaAtivo = dmPaginaAtivo.split("/").pop();
	if(dmPaginaAtivo != "" && dmPaginaAtivo != "default.asp")
		$("a[@href="+dmPaginaAtivo+"]").addClass("ativo");
		
// Blank
	$(".blank").click(function(){
		window.open($(this).attr("href"));
		return false;
	});
	
// Image Box
	$.ImageBox.init(
		{
			loaderSRC: 'imagens/carregando.gif'
		}
	);
	$("a[@rel='imagebox']").click(function(){
		arrumafundo = setTimeout(function(){
			altura = parseInt($("#ImageBoxOuterContainer").height()) + parseInt($("#ImageBoxOuterContainer").css("top"));
			$("#ImageBoxOverlay").css({height:$(document).height() < altura ? altura : $(document).height() + "px"})
			arrumafundo = setTimeout(function(){
				altura = parseInt($("#ImageBoxOuterContainer").height()) + parseInt($("#ImageBoxOuterContainer").css("top"));
				$("#ImageBoxOverlay").css({height:$(document).height() < altura ? altura : $(document).height() + "px"})
				arrumafundo = setTimeout(function(){
					altura = parseInt($("#ImageBoxOuterContainer").height()) + parseInt($("#ImageBoxOuterContainer").css("top"));
					$("#ImageBoxOverlay").css({height:$(document).height() < altura ? altura : $(document).height() + "px"})
					clearTimeout(arrumafundo);
				},3000);
			},2000);
		},1000);
	});
	
// Formulário Webmail Intranet
	$("form#Login").submit(function(){
		if(validaForm(this)){
			uniOneChile = $("#Login_userid").attr("class").indexOf("chile") == -1 ? "com.br" : "cl";
			$("#Login_userid").val($("#Login_userid").val() + "@unione." + uniOneChile);
			return true;
		}else{
			return false;
		}
	});
	
	/***
	*	:: Classe Voltar ::
	*	:: Diego Marques - Agência DMK ::
	*	:: 2007 ::
	*
	*	Adiciona um evento em um objeto que volta no histórico no navegador
	*	Ex.: <a href="javascript:void(0);" title="voltar" class="voltar">voltar</a>
	***/
	$(".voltar").click(function(){
		window.history.go(-1);
		return false;
	});

// Validação de formulário em espanhol
	$(".validaEsp").submit(function(){
		regras = $(this).attr("id");
		regras = $("#"+regras+"validacao").val().split(/[()]/);
		erro = false;
		campo_valor = "campo";
		campo = "";
		$.each(regras,function(indice,valor){
			if(valor != ""){
				if(!erro){
					if(campo_valor == "campo"){
						verificar = $("#"+valor).val();
						campo = valor;
						campo_valor = "valor";
					}else{
						regra = valor;
						if(regra.indexOf("1;") != -1){
							if(verificar == ""){
								erro = true;
								alert("El campo "+$("#"+campo).attr("title")+" fue registrado correctamente.");
							}else if(regra.indexOf("em") != -1){
								expressao = /^[a-zA-Z0-9]{1}([\._a-zA-Z0-9-]+)(\.[_a-zA-Z0-9-]+)*@[a-z0-9-]+(\.[a-z0-9-]+){1,3}$/;
								if(!expressao.test(verificar)){
									erro = true;
									alert("El campo "+$("#"+campo).attr("title")+" fue registrado correctamente.");
								}
							}
						}
						campo_valor = "campo";
					}
				}
			}
		});
		if(erro){
			$("#"+campo).focus();
			return false;
		}else{
			return true;
		}
	});
	
	// Validação de formulário em espanhol
	$(".validaEnglish").submit(function(){
		regras = $(this).attr("id");
		regras = $("#"+regras+"validacao").val().split(/[()]/);
		erro = false;
		campo_valor = "campo";
		campo = "";
		$.each(regras,function(indice,valor){
			if(valor != ""){
				if(!erro){
					if(campo_valor == "campo"){
						verificar = $("#"+valor).val();
						campo = valor;
						campo_valor = "valor";
					}else{
						regra = valor;
						if(regra.indexOf("1;") != -1){
							if(verificar == ""){
								erro = true;
								alert("Warning!\n\nThe "+$("#"+campo).attr("title")+" entered is incorrect.");
							}else if(regra.indexOf("em") != -1){
								expressao = /^[a-zA-Z0-9]{1}([\._a-zA-Z0-9-]+)(\.[_a-zA-Z0-9-]+)*@[a-z0-9-]+(\.[a-z0-9-]+){1,3}$/;
								if(!expressao.test(verificar)){
									erro = true;
									alert("Warning!\n\nThe "+$("#"+campo).attr("title")+" entered is incorrect.");
								}
							}
						}
						campo_valor = "campo";
					}
				}
			}
		});
		if(erro){
			$("#"+campo).focus();
			return false;
		}else{
			return true;
		}
	});
	
	
	//margem = parseInt($(".clientes div.pagClientes").width() / 2) - parseInt($(".clientes div.pagClientes ul").width() / 2);
	//$(".clientes div.pagClientes ul").css("marginLeft", margem+"px");
	
	
		/***
	*	:: Exibe div de bloqueio ::
	*	:: Diego Marques - Agência DMK ::
	*	:: 2007 ::
	*
	*	Função que abre uma div cobrindo toda a tela bloqueando o site, com função de callback.
	*	ex:
	*		bloqueia({ speed: "slow", bgcolor: "#000" });
	*		bloqueia({ speed: "slow", evento: "fim" });
	*
	*	OBS: Nescessário plugin Dimension.
	***/
	bloqueia = function(options,callback){
		var defaults = {
			id: "bloqueio",
			evento: "inicio",
			bgColor: "#000",
			opacity: "0.5",
			speed: "normal",
			zIndex: "100"
		}
		options = $.fn.extend({},defaults,options);

		if((options.id == "" || options.id == "bloqueio") && !$("#bloqueio").is("div")) $("body").append("<div id=\"bloqueio\" style=\"display:none\"></div>");

		var altura = $(document).height() > $(window).height() ? $(document).height() : $(window).height();

		if(options.evento == "inicio"){
			$("#"+options.id).css({
				background:options.bgColor,
				height:altura,
				left:"0",
				opacity:options.opacity,
				position:"absolute",
				top:"0",
				width:"100%",
				zIndex:options.zIndex
			}).fadeIn(options.speed, function(){ if(typeof(callback) != "undefined"){ callback(); } });
			$(window).resize(function(){
				altura = $(document).height() > $(window).height() ? $(document).height() : $(window).height();
				$("#"+options.id).css({height:altura});
			});
		}else{
			$("#"+options.id).fadeOut(options.speed, function(){ if(typeof(callback) != "undefined"){ callback(); } });
		}
	}
	
	// Alinha Div
	$.fn.extend({
		absoluteCenter: function(options, speed, callback){
			var defaults = {
				autor: "Diego Marques",
				dellay: 100,
				limitTop: 0,
				limitRight: 0,
				limitBottom: 0,
				limitLeft: 0,
				limit: null,
				animation: true
			}
			options = $.extend({}, defaults, options);
			
			if(options.limit != null){
				if(typeof(options.limit) == "object"){
					options.limitTop = typeof(options.limit[0]) != "undefined" ? options.limit[0] : options.limitTop;
					options.limitRight = typeof(options.limit[1]) != "undefined" ? options.limit[1] : options.limitRight;
					options.limitBottom = typeof(options.limit[2]) != "undefined" ? options.limit[2] : options.limitBottom;
					options.limitLeft = typeof(options.limit[3]) != "undefined" ? options.limit[3] : options.limitLeft;
				}else{
					options.limitTop = options.limit;
					options.limitRight = options.limit;
					options.limitBottom = options.limit;
					options.limitLeft = options.limit;
				}
			}
			
			speed = typeof(speed) == "undefined" ? "fast" : speed;
			
			return this.each(function(){

				var obj = this;
				var timeOut = null;
				
				var ajustaScroll = function(){
					
					if($(obj).css("display") == "none") $(window).unbind("scroll",ajustaScroll).unbind("resize",ajustaScroll);
					
					var altura = parseInt($(obj).outerHeight());
					var largura = parseInt($(obj).outerWidth());
					
					var limiteC = parseInt($(obj).css("top"));
					var limiteB = limiteC + altura;
					var limiteE = parseInt($(obj).css("left"));
					var limiteD = limiteE + largura;
					
					var scrollTop = parseInt($(window).scrollTop());
					var scrollLeft = parseInt($(window).scrollLeft());
					var janelaAltura = parseInt($(window).height());
					var janelaLargura = parseInt($(window).width());
					
					var documentoAltura = parseInt($("body").outerHeight());
					var documentoLargura = parseInt($(document).width());
					
					var top = janelaAltura > altura
						? parseInt(scrollTop + (( janelaAltura / 2 ) - parseInt(altura / 2)))
						: scrollTop < (limiteC - options.limitTop)
							? scrollTop + options.limitTop
							: (scrollTop + janelaAltura) > (limiteB + options.limitBottom)
								? scrollTop - (altura - janelaAltura) - options.limitBottom
								: limiteC
					;
					top = (top + altura) > documentoAltura ? documentoAltura - altura : top;
					
					var left = janelaLargura > largura
						? parseInt(scrollLeft + (( janelaLargura / 2 ) - parseInt(largura / 2)))
						: scrollLeft < (limiteE - options.limitLeft)
							? scrollLeft + options.limitLeft
							: (scrollLeft + janelaLargura) > (limiteD + options.limitRight)
								? scrollLeft - (largura - janelaLargura) - options.limitRight
								: limiteE
					;
					left = (left + largura) > documentoLargura ? documentoLargura - largura : left;

					if(options.animation){
						clearTimeout(timeOut);
						timeOut = setTimeout(function(){
							$(obj).animate({top:top+"px",left:left+"px"},speed,function(){ if(typeof(callback) != "undefined") callback(); });
						},options.dellay);
					}else{
						$(obj).css({top:top+"px",left:left+"px"});
					}
				}
				ajustaScroll();
				
				if(options.animation) $(window).scroll(ajustaScroll).resize(ajustaScroll);
			});
		}
	});

	// bloqueia div
	
	//exibediv = function(){
	//		bloqueia({bgColor:"#000",opacity:"0.4"},function(){
	//			$("#divOracle").fadeIn();
	//		});
	//	};
	//	
	//	if( $(".index").is("div")){
	//		exibediv();
	//	}
	//	
	//	$("a.fechaDiv").click(function(){
	//		$("#divOracle").fadeOut();
	//		bloqueia({speed:"slow",evento:"fim"});
	//	});

});
	
