/**
 * Comum
 * Caiac
 * www.caiac.com.br
 * 
 * Netwizard
 * www.netwizard.com.br
 * 
 * 04/10/2009
 */

$(function(){
	$(window).resize(function(){
		var pwidth = ($("body").width() - 758) / 2;
		$("#principal").width(758 + pwidth);
	}).resize();

	ajustaAltura();

	$("#topo .opcoes .favoritos").click(function(){
		addFavoritos('netWIZARD', 'http://www.netwizard.com.br');
	});

	$("#topo .opcoes .suporte").click(function(){
		SuporteOnline();
	});

	$("div.b400").interval(20000, function(){
		$(this).load("../_util/publ400.php");
	});

	$("ul.b112").interval(20000, function(){
		$(this).load("../_util/publ110.php");
	});

	var $dolar = $("<div />").load("../_util/dolar.php", function(){
		$("#dolar .data").text($(".data", $dolar).text());
		$("#dolar .comercial .valor").text("R$ "+$(".valor:eq(0)", $dolar).text().substring(0, 5));
		$("#dolar .paralelo .valor").text("R$ "+$(".valor:eq(1)", $dolar).text().substring(0, 5));
	});

	$("[rel='externo']").attr("target", "_blank");

	$("#direita .central form").submit(function(){
		return NW_Login();
	});

	$("#resultado .registrar a").click(function(){
		$(this).parent().hide();
		$("#resultado .form").show();
		ajustaAltura();
	});

	if ($("#resultado .dominios li").length > 0)
	{
		$("#resultado").show();
		ajustaAltura();
		$(window).scrollTo("#registro", 500);
	}

	$("#registro form.interna").submit(function(){
		var d = $("[name='d']", this).val();

		if (d != "" && $("[name='chkExt[]']:checked").length > 0)
		{
			$("#resultado").show();
			$("#resultado .dominios").html('');

			$("#resultado .registrar").show();
			$("#resultado .form").hide();
			ajustaAltura();

			$("[name='chkExt[]']:checked", this).each(function(){
				var dominio = d + $(this).val();

				$("#resultado .dominios").append(
					$('<li rel="'+dominio+'"></li>').append(
						$('<label></label>').html('<input type="checkbox" name="Dominio[]" value="'+dominio+'" disabled="disabled" /><span>'+dominio+'</span>')
					).append('<span class="status ajax-loader"></span>')
				);
			}).slowEach(1500, function(){
				verificaDominio(d + $(this).val());
			});

			ajustaAltura();

			$(window).scrollTo("#registro", 500);
		}
		else
			alert('Você deve preencher o nome do domínio e selecionar ao menos uma DPN.');

		return false;
	});

	$("#conteudo .parceiro img").vAlign();

	$("span.email").antispam();

	if ($("form.listas select").length > 0)
		carregaListas();

	$("#conteudo form:has(:input[rel])").validaForm({
		error: function(campos, cb) {
			var msg = "Preencha corretamente o(s) seguinte(s) campo(s):\n";
			$(campos).each(function() {
				var titulo = (this.title != '') ? this.title : this.name;
				msg += "\n- "+ titulo;
				erroCampo(this);
			});
			alert(msg);
			return false;
		},
		success: function() {
			if ($(this).attr("rel") == "segue")
				$(this).submit();
			else
			{
				$.ajax({
					type: "POST",
					url: $(this).attr("action"),
					data: $(this).serialize(),
					cache: false,
					dataType: "script"
				});
				return false;
			}
			
		},
		callstart: function() {
			$("input,select", this).removeClass("erro");
		}
	});

	$("#direita div.central input[title]").textoPadrao();

	$("select[name='Pessoa']").change(function() {
		var val  = $(this).val();
		var $obj = $("label[rel='cpfcnpj']");
		var txt  = "CPF / CNPJ";

		if (val == "Fisica")
		{
			txt = "CPF";
			$("input", $obj).setMask({ mask : '999.999.999-99' })
				.val("")
				.attr({"rel": "cpf_", "title": "CPF"})
				.removeAttr("disabled")
				.css("background-color", "#FFF")
				.focus();
		}
		else if (val == "Juridica")
		{
			txt = "CNPJ";
			$("input", $obj).setMask({ mask : '99.999.999/9999-99' })
			.val("")
			.attr({"rel": "cnpj_", "title": "CNPJ"})
			.removeAttr("disabled")
			.css("background-color", "#FFF")
			.focus();
		}
		else
			$("input", $obj)
			.val("")
			.attr({"disabled": "disabled", "rel": ""})
			.css("background-color", "#DDD");

		$("span", $obj).text(txt);
	}).change();
});

function verificaDominio(dominio)
{
	$("li[rel='"+dominio+"'] .status").html('').addClass("ajax-loader");

	$.ajax({
		type: "POST",
		url: "../_util/whois.php",
		data: { d: dominio },
		cache: false,
		dataType: "json",
		timeout: 8000,
		success: function(json){
			var $status = $("li[rel='"+json.dominio+"'] .status").removeClass("ajax-loader sim nao erro");
			if (json.disponivel == 1)
			{
				$status.addClass("sim").html('Disponível <small>Aproveite já, antes que outro registre</small>');
				$("li[rel='"+json.dominio+"'] :checkbox").removeAttr("disabled").attr("checked", "checked");
			}
			else
				$status.addClass("nao").html('Indisponível');
		},
		error: function(){
			var d = this.data.substring(2);
			var $status = $("li[rel='"+d+"'] .status").removeClass("ajax-loader");
			$status.addClass("erro").html('Erro ao verificar <small>Clique aqui para tentar novamente</small>');
			$status.one("click", function(){
				verificaDominio(d);
			});
		}
	});
}

function ajustaAltura()
{
	if ($("#conteudo").height() > 612)
		$("#esquerda").height($("#conteudo").height() + 40);
}

function SuporteOnline()
{
	window.open('http://www.netwizard.com.br/suporteonline/suporte.php', '', 'width=640,height=480,resizable=1');
}

function fecha_tellfree()
{
	document.all.lay_tellfree.style.display='none';
}

function abre_tellfree()
{
	window.open('http://www.netwizard.com.br/tellfree','tellfree','width=648,height=450,scrollbars=1,toolbar=0');
}

function addFavoritos(titulo, url)
{
	if (window.sidebar) // Firefox
		window.sidebar.addPanel(titulo, url, "");
	else if (document.all) // IE
		window.external.AddFavorite(url, titulo);
}

function erroValidacao(campos)
{
	var msg = "Por favor verifique o(s) seguinte(s) erro(s):\n";

	for (var nome in campos) {
		erroCampo("input[name='"+nome+"']");
		msg += "\n- " + campos[nome];
	}

	alert(msg);
}

function erroCampo(campo)
{
	$(campo).addClass("erro");
	$(campo).bind("change", function() {
		$(campo).removeClass("erro");
		$(campo).unbind("change");
	});
}

jQuery.fn.antispam = function() {
	return this.each(function(){
		var email = $(this).text().toLowerCase().replace(/\s_em_/g,'@').replace(/\s_ponto_/g,'.').replace(/\s+/g,'');
		var assunto = $(this).attr("rel");
		var link = "mailto:" + email;
		if (assunto) link += "?subject=" + assunto;
		$(this).html($("<a></a>").attr("href", link).text(email));
	});
};

jQuery.fn.vAlign = function() {
	return this.each(function(i){
		var ah = $(this).height();
		var ph = $(this).parent().height();
		var mh = (ph - ah) / 2;
		$(this).css('margin-top', mh);
	});
};

jQuery.fn.textoPadrao = function() {
	return this.each(function(i) {
		$(this).val($(this).attr("title"));
	})
	.focus(function() {
		if ($(this).val() == $(this).attr("title"))
			$(this).val('');
	})
	.blur(function() {
		if (!$(this).val().length)
			$(this).val($(this).attr("title"));
	});
}

jQuery.fn.slowEach = function(interval, callback) {
	var array = this;
	if(!array.length)
		return;
	var i = 0;
	next();
	function next()
	{
		if(callback.call(array[i], i, array[i]) !== false)
			if(++i < array.length)
				setTimeout(next, interval);
	}
}; 

function NW_Login()
{
	var action   = "";
	var $form    = $("#direita .central form");
	var $usuario = $("input[name='Usuario']", $form);
	var $senha   = $("input[name='Senha']", $form);
	var opcao    = $("input[name='radCentral']:checked", $form).val();
	var usuario  = $usuario.val();
	var senha    = $senha.val();

	if ((usuario == "" || usuario == "Usuário") || (senha == "" || senha == "Senha"))
	{
		alert('Preencha corretamente os campos de usuário e senha.');
		return false;
	}

	var pars = ['User', 'Password'];

	if (opcao == "Webmail")
	{
		var servidor = "webmail";
		if (usuario.indexOf("@") > 0)
			if (usuario.indexOf("@netwizard.") == -1)
				servidor = "corp2";
		action = "http://"+servidor+".netwizard.com.br/WorldClient.dll?View=Main";
	}
	else if (opcao == "Extrato")
		action = "../centraldoassinante/logon.asp";
	else if (opcao == "Servicos")
	{
		action = "http://www.netwizard.com.br/clientes/logon.asp";
		pars = ['user', 'pass'];
	}
	else if (opcao == "Tellfree")
	{
		action = "http://ngn.tellfree.com.br/login.aspx";
		pars = ['txtUsuario', 'txtSenha'];
		$form.append('<input type="submit" id="btnSubmit" value="OK" style="display:none" />');
	}

	if (action == "")
	{
		alert('Por favor, escolha uma opção.');
		return false;
	}

	$form.attr("action", action);
	$usuario.attr("name", pars[0]);
	$senha.attr("name", pars[1]);

	setTimeout(function(){
		$usuario.attr("name", "Usuario").val('Usuário');
		$senha.attr("name", "Senha").val('Senha');
		$('#btnSubmit').remove();
	}, 2000);

	return true;
}

function carregaListas(lista)
{
	var $l = $("form.listas select");
	$l.html('<option value="">Aguarde...</option>');

	$.post("../_util/listas.asp", {}, 
		function(json){
			var $l = $("form.listas select");
			$l.html('<option value="">-- Selecione --</option>');
			for (var item in json)
			{
				var nome = json[item]['nome'];
				if (nome != '')
					$l.append('<option value="'+nome+'">'+nome+'</option>');
			}
		}, "json");
}
