/* ATENCAO: Compactar utilizando http://javascriptcompressor.com/ ! */
//####################################
// navegação de formulário de cadastro
//####################################
var passo_atual=1;
var id_incompleto="";

function salva_incompleto() {
	$('#dindin').ajaxSubmit({ url:"/inscricao_fases.php?id="+id_incompleto, type:"post", dataType:"script", clearForm:false, resetForm:false });
	return false;
}

function soma_valor() {
	if ($("#Pagamento")[0].selectedIndex > 0) {
		qtde_meses = $("#Pagamento").val().split(";")[1]*1;
		mes_array = 0;
		if (qtde_meses == 3) {
			mes_array = 1;
		} else if (qtde_meses == 6) {
			mes_array = 2;
		} else if (qtde_meses == 12) {
			mes_array = 3;
		}
	} else {
		$("#cobranca_valor").text("Selecione a periodicidade para obter o valor.");
		return;
	}

	try {
		var valores_plano = $("input[@name=Plano]:checked").val().split(";")[1];
		var valor_plano = valores_plano.split("|")[mes_array]*1;
		var valor_addon = 0;
		var checked_addons = $("input[@name='Adicionais[]']:checked");
		for (x=0; x<checked_addons.length; x++) {
			valor_addon += checked_addons[x].value.split(";")[1]*1;
		}
		var valor_mensal = valor_plano+valor_addon;
		//var valor_contrato = valor_mensal*qtde_meses;
		var valor_contrato = valor_mensal;
		var valor_taxa_perc = $("input[@name=FormaPagamento]:checked").val().split(";")[2]*1;
		var valor_taxa_fixa = $("input[@name=FormaPagamento]:checked").val().split(";")[3]*1;
		var valor_taxa = ((valor_contrato*valor_taxa_perc)+valor_taxa_fixa);
		var valor_total = valor_contrato + valor_taxa;

		//var soma = "<b>R$ "+(valor_total).toFixed(2)+"</b> (R$ "+ (valor_contrato).toFixed(2)+" + R$ "+valor_taxa.toFixed(2)+" de taxa de cobrança)";
		var soma = "<b>R$ "+(valor_total).toFixed(2)+"</b>";
		if ($("#Pagamento")[0].selectedIndex > 0) {
			soma += ", "+$("#Pagamento")[0].options[$("#Pagamento")[0].selectedIndex].text.toLowerCase();
		}
		$("#cobranca_valor").html(soma);
	} catch (e) {
		// Ignora o erro.
	}
}

function proximo() {
	if ($('#dindin').validate(cadastro_validacao[passo_atual]).form()) {

		if ($("#sou_cliente_1").attr("checked") && passo_atual == 2) { // usuario ja possuia login
			var atual_string = "#passo_2"; // oculta folha 2
			var proximo_string = "#passo_5"; // exibe finalizacao direto.
		} else {
			var atual_string = "#passo_"+passo_atual;
			var proximo_string = "#passo_"+(passo_atual+1);
		}

		if (passo_atual < 3 ||  (passo_atual < 5 && $("#sou_cliente_1").attr("checked") != true)) {
			$(atual_string).hide("slow");
			$(proximo_string).show("slow");
			passo_atual++;
			$('#atual_passo').attr('innerHTML', passo_atual);
		}

		status_botao(passo_atual);
	}
	//return false;
}

function anterior() {
	if ($("#sou_cliente_1").attr("checked") && passo_atual == 3) { // usuario ja possuia login
		var atual_string = "#passo_5"; // esconde a ultima folha
		var anterior_string = "#passo_2"; // vai direto p/ a 2a folha
	} else {
		var atual_string = "#passo_"+passo_atual;
		var anterior_string = "#passo_"+(passo_atual-1);
	}

	if ((passo_atual-1) > 0) {
		$(atual_string).hide("slow");
		$(anterior_string).show("slow");
		passo_atual--;
		$('#atual_passo').attr('innerHTML', passo_atual);
	}
	status_botao(passo_atual);
	//return false;
}

function salvar() {
	if ($('#dindin').validate(cadastro_validacao[5]).form()) {
		$("form")[1].submit();
	} else if(!$("#AceiteTermos").attr("checked")) {
		window.alert("É necessário ler e aprovar o documento de Termos e Condições para assinar o plano.");
	}
}

function status_botao(passo) {
	if (passo == 1) {
		$('#btn_set_2').hide();
		$('#btn_set_3').hide();
		$('#btn_set_1').show();
	} else if (passo == 5 || (passo == 3 && $("#sou_cliente_1").attr("checked"))) {
		$('#btn_set_1').hide();
		$('#btn_set_2').hide();
		$('#btn_set_3').show();
	} else {
		$('#btn_set_1').hide();
		$('#btn_set_3').hide();
		$('#btn_set_2').show();
	}
}

function pagina_atual(check) {
	if (check == passo_atual) {
		return true;
	} else {
		return false;
	}
}

function naveg_dhtml(passos) {
	if (!passos) passos=5;
	var navegacao="";
	navegacao += "<div id='btn_set_1'>";
	navegacao +=	"<table align='center' width='60%'>";
	navegacao +=		"<tr>";
	navegacao +=			"<td width='16' height='16'><img src='/icon/arrow_left.gif' width='16' height='16' border='0'></td>";
	navegacao += 			"<td align='left' width='33%'>Passo Anterior</td>";
	navegacao += 			"<td align='center' width='33%'><b>Passo 1 de "+passos+"</b></td>";
	navegacao += 			"<td align='right' width='33%'><a href='javascript:proximo()'>Próximo Passo</a></td>";
	navegacao += 			"<td width='16' height='16'><a href='javascript:proximo()'><img src='/icon/arrow_right.gif' width='16' height='16' border='0'></a></td>";
	navegacao += 		"</tr>";
	navegacao += 	"</table>";
	navegacao += "</div>";
	navegacao += "<div id='btn_set_2' style='display:none'>";
	navegacao += 	"<table align='center' width='60%'>";
	navegacao += 		"<tr>";
	navegacao += 			"<td width='16' height='16'><a href='javascript:anterior()'><img src='/icon/arrow_left.gif' width='16' height='16' border='0'></a></td>";
	navegacao += 			"<td align='left' width='33%'><a href='javascript:anterior()'>Passo Anterior</a></td>";
	navegacao += 			"<td align='center' width='33%'><b>Passo <span id='atual_passo'>1</span> de <span id='total_passo'>"+passos+"</span></b></td>";
	navegacao += 			"<td align='right' width='33%'><a href='javascript:proximo()'>Próximo Passo</a></td>";
	navegacao += 			"<td width='16' height='16'><a href='javascript:proximo()'><img src='/icon/arrow_right.gif' width='16' height='16' border='0'></a></td>";
	navegacao += 		"</tr>";
	navegacao += 	"</table>";
	navegacao += "</div>";
	navegacao += "<div id='btn_set_3' style='display:none'>";
	navegacao += 	"<table align='center' width='60%'>";
	navegacao += 		"<tr>";
	navegacao += 			"<td width='16' height='16'><a href='javascript:anterior()'><img src='/icon/arrow_left.gif' width='16' height='16' border='0'></a></td>";
	navegacao += 			"<td align='left' width='33%'><a href='javascript:anterior()'>Passo Anterior</a></td>";
	navegacao += 			"<td align='center' width='33%'><b>Passo "+passos+" de "+passos+"</b></td>";
	navegacao += 			"<td align='right' width='33%'><a href='javascript:salvar();'>Enviar!</a></td>";
	navegacao += 			"<td width='16' height='16'><a href='javascript:salvar();'><img src='/icon/accept.gif' width='16' height='16' border='0'></a></td>";
	navegacao += 		"</tr>";
	navegacao += 	"</table>";
	navegacao += "</div>";
	$('#btn_set').html(navegacao);
	$('#btn_set').show("slow");
}


//###############################
//regra de formulário de cadastro
//###############################

function valida_mensagens(msg) {
	var img_base = "img src='/icon/alert_anim.gif' width='16' height='15' hspace='2' align='absmiddle' title='";
	if (!msg) {
		return {
			required:		"<"+img_base+"Este campo é requerido'>",
			maxLength:		"<"+img_base+"Digite pelo menos {0} caracteres'>",
			minLength:		"<"+img_base+"Digite no mínimo {0} caracteres'>",
			rangeLength:	"<"+img_base+"Digite algo que possua entre {0} e {1} caracteres'>",
			email:			"<"+img_base+"Digite um endereço de email válido'>",
			url:			"<"+img_base+"Digite um endereço web válido'>",
			date:			"<"+img_base+"Digite uma data válida'>",
			dateISO:		"<"+img_base+"Digite uma data válida (ISO)'>",
			number:			"<"+img_base+"Digite um valor numérico'>",
			digits:			"<"+img_base+"Digite somente números'>",
			equalTo:		"<"+img_base+"Digite o mesmo valor novamente'>",
			rangeValue:		"<"+img_base+"Digite um número entre {0} e {1}'>",
			maxValue:		"<"+img_base+"Digite um número menor ou igual que {0}'>",
			minValue:		"<"+img_base+"Digite um número maior ou iqual que {0}'>",
			accept:			"<"+img_base+"Digite um valor com uma extensão válida'>"
		};
	} else {
		return {
			required:		"<"+img_base+"'> Este campo é requerido",
			maxLength:		"<"+img_base+"'> Digite pelo menos {0} caracteres",
			minLength:		"<"+img_base+"'> Digite no mínimo {0} caracteres",
			rangeLength:	"<"+img_base+"'> Digite algo que possua entre {0} e {1} caracteres'",
			email:			"<"+img_base+"'> Digite um endereço de email válido",
			url:			"<"+img_base+"'> Digite um endereço web válido",
			date:			"<"+img_base+"'> Digite uma data válida",
			dateISO:		"<"+img_base+"'> Digite uma data válida (ISO)",
			number:			"<"+img_base+"'> Digite um valor numérico",
			digits:			"<"+img_base+"'> Digite somente números",
			equalTo:		"<"+img_base+"'> Digite o mesmo valor novamente",
			rangeValue:		"<"+img_base+"'> Digite um número entre {0} e {1}",
			maxValue:		"<"+img_base+"'> Digite um número menor ou igual que {0}",
			minValue:		"<"+img_base+"'> Digite um número maior ou iqual que {0}",
			accept:			"<"+img_base+"'> Digite um valor com uma extensão válida"
		};
	}
}

function chk_selecionado(nome) {
	var id=1;
	var contador=0;
	while(1==1) {
		var obj = $("#"+nome+id);
		if (!obj.val()) {
			return contador;
		} else {
			if (obj.attr("checked")) {
				contador++;
			}
			id++;
		}
	}
}

var cadastro_validacao = Array();
cadastro_validacao[1] = {
	event: "blur",
	rules: {
		Dominio: {
			required: true,
			minLength: 3
		},
		ContatoNome: {
			required: function() {
				return ($("#sou_cliente_1").attr("checked") != true);
			},
			minLength: 3
		},
		ContatoTelefoneDDD: {
			required: function() {
				return ($("#sou_cliente_1").attr("checked") != true);
			},
			digits: true,
			minLength: 2
		},
		ContatoTelefone: {
			required: function() {
				return ($("#sou_cliente_1").attr("checked") != true);
			},
			digits: true,
			minLength: 6
		},
		ContatoTelefoneRamal: {
			digits: true,
			minLength: 2
		},
		ContatoEmail: {
			required: function() {
				return ($("#sou_cliente_1").attr("checked") != true);
			},
			email: true
		},
		IspConfigLogin: {
			required: function() {
				return ($("#sou_cliente_1").attr("checked"));
			},
			minLength: 4
		},
		IspConfigPasswort: {
			required: function() {
				return ($("#sou_cliente_1").attr("checked"));
			},
			minLength: 4
		}

	}
};

cadastro_validacao[2] = {
	event: "blur",
	rules: {
		Plano: {
			required: function() {
				return (chk_selecionado("Plano") == 0);
			}
		},
		RegistroDominio: {
			required: function() {
				return (chk_selecionado("RegistroDominio") == 0);
			}
		}

	}
};

cadastro_validacao[3] = {
	event: "blur",
	rules: {
		EntidadeRazaoSocial: {
			required: true,
			minLength: 3
		},
		EntidadeEndereco: {
			required: true,
			minLength: 5
		},
		EntidadeNumero: {
			required: true,
			digits: true
		},
		EntidadeBairro: {
			required: true,
			minLength: 5
		},
		EntidadeCEP: {
			required: true,
			minLength: 8
		},
		EntidadeCidade: {
			required: true,
			minLength: 3
		},
		EntidadeEstado: {
			required: true
		},
		EntidadeTelefoneDDD: {
			required: true,
			digits: true,
			minLength: 2
		},
		EntidadeTelefone: {
			required: true,
			digits: true,
			minLength: 6
		},
		EntidadeTelefoneRamal: {
			digits: true,
			minLength: 2
		},
		EntidadeFaxDDD: {
			digits: true,
			minLength: 2
		},
		EntidadeFax: {
			digits: true,
			minLength: 6
		},
		EntidadeResponsavel: {
			required: true,
			minLength: 3
		},
		EntidadeEmail: {
			required: true,
			email: true
		},
		EntidadeOutroEmail: {
			email: true
		}
	}
};

cadastro_validacao[4] = {
	event: "blur",
	rules: {
		CobrancaRazaoSocial: {
			required: function() {
				return !$("#CopiarEntidade").attr("checked");
			},
			minLength: 3
		},
		CobrancaEndereco: {
			required: function() {
				return !$("#CopiarEntidade").attr("checked");
			},
			minLength: 5
		},
		CobrancaNumero: {
			required: function() {
				return !$("#CopiarEntidade").attr("checked");
			},
			digits: true
		},
		CobrancaBairro: {
			required: function() {
				return !$("#CopiarEntidade").attr("checked");
			},
			minLength: 5
		},
		CobrancaCEP: {
			required: function() {
				return !$("#CopiarEntidade").attr("checked");
			},
			minLength: 8
		},
		CobrancaCidade: {
			required: function() {
				return !$("#CopiarEntidade").attr("checked");
			},
			minLength: 3
		},
		CobrancaTelefoneDDD: {
			required: function() {
				return !$("#CopiarEntidade").attr("checked");
			},
			digits: true,
			minLength: 2
		},
		CobrancaTelefone: {
			required: function() {
				return !$("#CopiarEntidade").attr("checked");
			},
			digits: true,
			minLength: 6
		},
		CobrancaTelefoneRamal: {
			digits: true,
			minLength: 2
		},
		CobrancaFaxDDD: {
			digits: true,
			minLength: 2
		},
		CobrancaFax: {
			digits: true,
			minLength: 6
		},
		CobrancaResponsavel: {
			required: function() {
				return !$("#CopiarEntidade").attr("checked");
			},
			minLength: 3
		},
		CobrancaEmail: {
			required: function() {
				return !$("#CopiarEntidade").attr("checked");
			},
			email: true
		},
		CobrancaOutroEmail: {
			email: true
		}
	}
};

cadastro_validacao[5] = {
	event: "blur",
	rules: {
		FormaPagamento: {
			required: function() {
				return (chk_selecionado("FormaPagamento") == 0);
			}
		},
		Pagamento: {
			required: true
		},
		AceiteTermos: {
			required: true
		}
	}
};

var cadastro_contato = {
	event: "blur",
	rules: {
		ContatoNome: {
			required: true,
			minLength: 3
		},
		ContatoTelefoneDDD: {
			required: true,
			digits: true,
			minLength: 2
		},
		ContatoTelefone: {
			required: true,
			digits: true,
			minLength: 6
		},
		ContatoTelefoneRamal: {
			digits: true,
			minLength: 2
		},
		ContatoEmail: {
			required: true,
			email: true
		},
		ContatoDominio: {
			required: true,
			minLength: 5
		},
		CodigoCliente: {
			required: true,
			digits: true,
			minLength: 2
		}
	}
};
