(function($){

 $(function(){
 	
		clickLink ();
		
		//Configurações de Eucard (recharge, tempo e credito)
		$(".btn_euCardConf").live("click", function(){
			if( $(this).attr("disabled") == 'true' ) { return; }
			var that = this;
			//Não se usa mais o recharge
			var recharge = 0;
			
			//Parametros para o RPC
			var tempo = $(this).parents(".lnProd").find(".tempo").attr("checked") ? '1' : '0';
			var credito = $(this).parents(".lnProd").find(".credito").attr("checked") ? '1' : '0';
			var codProd = $(this).parents(".lnProd").find(":hidden.codProd").val();
			
			//objeto container para o load
			var obj = $(this).parents(".lnProd").find(".contentBox.retornoRPC");
			
			//load
			loadImgProd(1, obj);
			$(this).attr("disabled", 'true');
			$.ajax({
				type: "GET",
				url: "scripts/rpc/RPC_customer.php",
				data: "func=atEuCard&recharge="+recharge+"&tempo="+tempo+"&credito="+credito+"&codProd="+codProd,
				success: function(ret){
					//executar tela de retorno
					loadImgProd(0, obj);
					$(that).attr("disabled", false);
				}
			});
			
		});
	
		$(".btn_euCardExtrato").live("click", function(){
			if( $(this).attr("disabled") == 'true' ) return;
			var that = this;
			
			//Parametros para o RPC
			var codProd = $(this).parents(".lnProd").find(":hidden.codProd").val();
			var dataInicio = $(this).parents(".lnProd").find(".dataInicio").val();
			var dataFim = $(this).parents(".lnProd").find(".dataFim").val();
			
			//objeto container para o load
			var obj = $(this).parents(".lnProd").find(".contentBox.retornoRPC");
			
			if(dataInicio != $(this).parents(".lnProd").find(".dataInicio").attr("textDefault") &&
				dataFim != $(this).parents(".lnProd").find(".dataFim").attr("textDefault") ){
				
				loadImgProd(1, obj);
				$(this).attr("disabled", 'true');
				$(this).parents(".lnProd").find(".listTable").html('');
				$.ajax({
					type: "GET",
					url: "scripts/rpc/RPC_customer.php",
					data: "func=extrato&codProd="+codProd+"&dataInicio="+dataInicio+"&dataFim="+dataFim,
					success: function(ret){
						$(that).attr("disabled", false);
						
						//executar tela de retorno
						if(ret == '') { //se o retorno, foi vazio, retornar uma mensagem
						
							$("#listTable").html("Não há dados à serem exibidos");
							loadImgProd(0, obj,4000);
						} else { //senao exibe a tabela na tela
						
							$(that).parents(".lnProd").find(".listTable").html(ret);
							loadImgProd(0, obj);
						}
					}
				});
			} else {
				alert("Por favor, preencha as datas corretamente!");
			}
			
		});
		
		$(".euCard_ANI, .euPlan_ANI").live("click", function(){
			if( $(this).attr("disabled") == 'true' ) return;
			var that = this;
		
			var codProd = $(this).parents(".lnProd").find(":hidden.codProd").val();
			var obj = $(this).parents(".lnProd").find(".contentBox.retornoRPC");
			
			//configuração ANI 1
			var pais1 = $(this).parents(".lnProd").find(".pais1").val();
			var ddd1  = $(this).parents(".lnProd").find(".ddd1").val();
			var tel1  = $(this).parents(".lnProd").find(".tel1").val();
			var lang1 = $(this).parents(".lnProd").find(".language1").val();
			var params1 = '';
			if(!isNaN(pais1) && !isNaN(ddd1) && !isNaN(tel1))
				params1 = "&pais1="+pais1+"&ddd1="+ddd1+"&tel1="+tel1+"&lang1="+lang1;
			
			//configuração ANI 2
			var pais2 = $(this).parents(".lnProd").find(".pais2").val();
			var ddd2  = $(this).parents(".lnProd").find(".ddd2").val();
			var tel2  = $(this).parents(".lnProd").find(".tel2").val();
			var lang2 = $(this).parents(".lnProd").find(".language2").val();
			var params2 = '';
			if(!isNaN(pais2) && !isNaN(ddd2) && !isNaN(tel2))
				params2 = "&pais2="+pais2+"&ddd2="+ddd2+"&tel2="+tel2+"&lang2="+lang2;
			
			//Só envia para o RPC, se algum ANI foi informado 'corretamente'
			if(params1 != '' || params2 != '') {
					loadImgProd(1, obj);
					$(this).attr("disabled", 'true');
					$.ajax({
						type: "GET",
						url: "scripts/rpc/RPC_customer.php",
						data: "func=ANI&codProd="+codProd+params1+params2,
						dataType: "json",
						success: function(ret){
							$(that).attr("disabled", false);
							var html = '';
							//exibe o retorno do rpc
							for(var val in ret){
								txt = ret[val];
								html += txt[1]+"<br />";
							}
							$(obj).html(html);
							loadImgProd(0, obj, 3000);
							//executar tela de retorno
						}
					});
			} else {
				alert("Por favor, preencha pelo menos uma linha corretamente");
			}
			
		});
		
		
		$(".euNumber_confTel, .euPlan_confTel").live("click", function(){
			if( $(this).attr("disabled") == 'true' ) return;
			var that = this;
			
			var codProd = $(this).parents(".lnProd").find(":hidden.codProd").val();
			var obj = $(this).parents(".lnProd").find(".contentBox.retornoRPC");
			
			var func = $(this).hasClass("euNumber_confTel") ? "euNumber_dest" : "euPlan_dest";
			
			//configuração Destino 1
			var pais1 = $(this).parents(".lnProd").find(".pais1").val();
			var ddd1  = $(this).parents(".lnProd").find(".ddd1").val();
			var tel1  = $(this).parents(".lnProd").find(".tel1").val();
			var params1 = '';
			if(!isNaN(pais1) && !isNaN(ddd1) && !isNaN(tel1))
				params1 = "&pais1="+pais1+"&ddd1="+ddd1+"&tel1="+tel1;
				
			//no caso do euplan, existem 3 destinos, por isso tem esse if	
			if($(this).hasClass("euPlan_confTel")){
			
				var pais2 = $(this).parents(".lnProd").find(".pais2").val();
				var ddd2  = $(this).parents(".lnProd").find(".ddd2").val();
				var tel2  = $(this).parents(".lnProd").find(".tel2").val();
				if(!isNaN(pais2) && !isNaN(ddd2) && !isNaN(tel2))
					params1 += "&pais2="+pais2+"&ddd2="+ddd2+"&tel2="+tel2;
				
				var pais3 = $(this).parents(".lnProd").find(".pais3").val();
				var ddd3  = $(this).parents(".lnProd").find(".ddd3").val();
				var tel3  = $(this).parents(".lnProd").find(".tel3").val();
				if(!isNaN(pais3) && !isNaN(ddd3) && !isNaN(tel3))
					params1 += "&pais3="+pais3+"&ddd3="+ddd3+"&tel3="+tel3;
			}
			
				if(params1 != '') {
					loadImgProd(1, obj);
					$(this).attr("disabled", 'true');
					$.ajax({
						type: "GET",
						url: "scripts/rpc/RPC_customer.php",
						data: "func="+func+"&codProd="+codProd+params1,
						dataType: "json",
						success: function(ret){
							$(that).attr("disabled", false);
							var html = '';
							//exibe o retorno do rpc
							for(var val in ret){
								txt = ret[val];
								html += txt[1]+"<br />";
							}
							$(obj).html(html);
							loadImgProd(0, obj, 3000);
						}
					});
					
				} else {
					alert("Por favor, preencha todos os campos corretamente");
				}
		});
		
		
		$("#changePass").live("click", function(){
			var senha = $("#senha").val();
			var novaSenha = $("#novaSenha").val();
			var confSenha = $("#confSenha").val();
			var valida = true;
			var that = this;
			$(this).attr("disabled", true);
			
			//Validação dos campos para atualização
			$(".valorInvalido").css("display", "none");
			if(novaSenha != confSenha){
				$("#novaSenhaInvalid").css("display", "block");
				valida = false;
			}
			
			if(senha == ''){
				$("#senhaInvalid").css("display", "block");
				valida = false;
			}
			
			if(novaSenha == ''){
				$("#novaSenhaInvalid1").css("display", "block");
				valida = false;
			}
			
			if(valida){
					loadImgProd(1, $(".retornoRPC"));
					$.ajax({
						type: "GET",
						url: "scripts/rpc/RPC_customer.php",
						data: "func=changePass&senha="+senha+"&novaSenha="+novaSenha,
						success: function(ret){
							$(that).attr("disabled", false);
							$(".retornoRPC").html(ret);
							loadImgProd(0, $(".retornoRPC"), 3000);
						}
					});
			}
			
		});
		
		
		//Tabela de pedidos
		$("#tableOrders tbody tr.lnClick").live("click", function(){
		
			var that = this;
			var codOrder = $(this).children("td:eq(0)").html();
			
			//Adiciono uma linha de detalhes, e logo após excluo a outra.
			$(that).after("<tr class='orderDetails' id='orderDetails1' style='display:none;'><td colspan='6'><div></div></td></tr>");
			//Exibindo o conteúdo
			$("#orderDetails1").slideDown(600,function(){
					$(this).css("display","");
					loadImgProd(1, $(".orderDetails div"));
					$.ajax({
						type: "GET",
						url: "scripts/rpc/RPC_customer.php",
						data: "func=loadFile&codPedido="+codOrder+"&file=order_detail.php",
						success: function(ret){
							
							$("#orderDetails div").html(ret);
							
						}
					});
			});
				
			//escondendo o conteúdo
			
			$("#orderDetails div").css("display","none");
			$("#orderDetails").slideUp(600, function(){
				
				$("#orderDetails").remove();
				//Recebe o nome da antiga linha de detalhes
				$("#orderDetails1").attr("id", "orderDetails");
				
			});
			
		});
		
		//Tabela de faturas
		$("#tablePayments tbody tr.lnClick").live("click", function(){
		
			var that = this;
			var codPedido = $(this).children("td:eq(0)").find(".order_id").val();
			
			//Adiciono uma linha de detalhes, e logo após excluo a outra.
			$(that).after("<tr class='payDetails' id='payDetails1' style='display:none;'><td colspan='5'><div></div></td></tr>");
			//Exibindo o conteúdo
			$("#payDetails1").slideDown(600,function(){
					$(this).css("display","");
					loadImgProd(1, $(".payDetails div"));
					$.ajax({
						type: "GET",
						url: "scripts/rpc/RPC_customer.php",
						data: "func=loadFile&codPedido="+codPedido+"&file=payment_detail.php",
						success: function(ret){
							$("#payDetails div").html(ret);
						}
					});
			});
			
			//escondendo o conteúdo
			
			$("#payDetails div").css("display","none");
			$("#payDetails").slideUp(600, function(){
				
				$("#payDetails").remove();
				//Recebe o nome da antiga linha de detalhes
				$("#payDetails1").attr("id", "payDetails");
				
			});
			
		});
		
		//Click botão de efetuar pagamento
		$("#btn_compra2").live("click", function(){			
			$(".BuyForm").submit();
			//$(this).val(VAR152);
		});
		
		
		//Botao da tela de speedDial Eucard/EUplan
		$(".btExcluir").live("click", function(){	
			var that = this;
			var pai = $(that).parents("tr");
			var atalho = $(pai).find(".atalho").val();
			var codProd = $(that).parents("table").siblings(".codProd").val();
			var ddd = $(pai).find(".ddd").val();
			var pais = $(pai).find(".pais").val();
			var numero = $(pai).find(".tel").val();
			var obj = $(this).parents("table").siblings(".contentBox.retornoRPC");
			
			if(confirm("Tem certeza que deseja excluir?")) {
			
				var obj = $(this).parents("table").siblings(".contentBox.retornoRPC");
				var numFilhos = $(that).parents("table").find("tbody tr").size();
				if(numFilhos > 1) {
					$(that).parents("tr").remove();
				} else {
					$(that).parents("tr").find(":text").val("");
					$(that).parents("tr").find(".atalho").attr('disabled', false);
				}
				
				loadImgProd(1, obj);
				$.ajax({
					type: "GET",
					url: "scripts/rpc/RPC_customer.php",
					data: "func=excluiSpeedDial&numero="+numero+"&ddd="+ddd+"&pais="+pais+"&atalho="+atalho+"&codProd="+codProd,
					success: function(ret){
						$(obj).html(ret);
						$(pai).find(".atalho").attr('disabled', true);
						loadImgProd(0, obj);
					}
				});
			} 
		});
		
		//Botao da tela de speedDial Eucard/EUplan
		$(".btSalvar").live("click", function(){
		
				var pai = $(this).parents("tr");
				var numero = $(pai).find(".tel").val();
				var ddd = $(pai).find(".ddd").val();
				var pais = $(pai).find(".pais").val();
				var atalho = $(pai).find(".atalho").val();
				var codProd = $(pai).parents("table").siblings(".codProd").val();
				var obj = $(this).parents("table").siblings(".contentBox.retornoRPC");
				
				if(!isNaN(pais) && !isNaN(ddd) && !isNaN(numero) ) {
				
					loadImgProd(1, obj);
					
					$.ajax({
						type: "GET",
						url: "scripts/rpc/RPC_customer.php",
						data: "func=salvaSpeedDial&numero="+numero+"&ddd="+ddd+"&pais="+pais+"&atalho="+atalho+"&codProd="+codProd,
						success: function(ret){
							$(obj).html(ret);
							$(pai).find(".atalho").attr('disabled', true);
							loadImgProd(0, obj);
						}
					});
				} else {
					alert(VAR304);
				}
		});
		
		//Botao da tela de speedDial Eucard/EUplan
		$("#addLinha").live("click", function(){
			var numFilhos = $("table tbody tr").size();
			var numOpt = $(".atalho:eq(0) option").size();
			
			if(numFilhos < numOpt) {
				//Adiciona uma linha
				$("table tbody tr:eq(0)").clone().appendTo("table tbody");
				$("table tbody tr:last-child :text").val('');
				$("table tbody tr:last-child .atalho").attr('disabled', false);
				
				
				for(var i=0,sai=false;(i<numOpt && !sai);i++) {
					//alert($(".atalho[value="+i+"]").size()+" fff "+i);
					if( $(".atalho[value="+i+"]").size() == 0) {
						sai = true;
					}
				}
				
				$("table tbody tr:last-child .atalho").val(i-1);
			} else {
				alert("Você não pode adicionar mais telefones/ You can't add lines");
			}
		});
		
		//Botao da tela de speedDial Eucard/EUplan
		$(".atalho").live("change", function(){
			var val = $(this).val();
			var that = this;
			var sameVal = false;
			var valueOld = $(this).attr("valueOld");
			
			$(this).attr("valueOld", $(this).val());
			
			//Verifica se os outros combos escolheram o mesmo numero de atalho
			$(".atalho").each(function(){
				if (that !== this && $(this).val() == val){
					sameVal = true;
				}
			});
			
			//se sim,  desabilita todos os botões que marcaram a mesma opção
			if(sameVal){
				$(".atalho[value="+$(this).val()+"]").parents("tr").find(".btSalvar").css("display", "none");
			} else {
				$(that).parents("tr").find(".btSalvar").css("display", "");
			}
			
			//Habilita os outros combos que estão desabilitados, devido a opção que estava marcada nesse combo, se só tiver um combo com a mesma opção
			if( $(".atalho[value="+valueOld+"]").size() == 1) {
				$(".atalho[value="+valueOld+"]").parents("tr").find(".btSalvar").css("display", "");
			}
			
		});
		
	});
	
	
	function clickLink (){

		$("a.link").live("click", function(){
			var query = this.href.split("?")[1];
			loadData("#containerCustAreaDir", query);
			
			return false;
		});
		
		$("a.linkProd").live("click", function(){
			var codProd = $(this).parents(".lnProd").find(":hidden.codProd").val();
			var query = this.href.split("?")[1]+"&codProd="+codProd;
			var obj = $(this).parents(".lnProd").find(".contentProd");
			var that = this;
			//no input tipoProd tem o valor da classe do produto corrente
			var classe = $("#tipoProd").val();
			//aplicar as classes somente no menu daquele produto
			var pai = $(this).parents("ul.abasPlanos");
			$(pai).find("li").attr("className", "default2");
			
			$(this).parent().attr("className", classe);

			//Carrega os dados para retorno
			loadData(obj, query, function(){
				
				$(that).parents(".lnProd").siblings(".lnProd").each(function(){ //Em todas as outras linhas, 
				
					//Todas as  abas que não tiverem a primeira aba como selecionado, voltam à primeira 
					if($(this).find(".abasPlanos li:eq(0)").hasClass("default2") ) {
					
						var codProd1 = $(this).find(":hidden.codProd").val();
						var query1 = $(this).find("a.linkProd:eq(0)").attr("href").split("?")[1]+"&codProd="+codProd1;
						var obj1 = $(this).find(".contentProd");
						var that1 = this;
						
						loadData(obj1, query1, function(){ //Carrega os dados da primeira aba
							//mostra visualmente a troca pra primeira aba
							$(that1).find("li").attr("className", "default2");
							$(that1).find("li:eq(0)").attr("className", classe);
						});
						
					}				
				}); 
			});
				
			return false;
		});

			//click dos links de pedido
			$("a.linkOrder").live("click", function(){
					var codOrder = $(this).parents(".abaPlanosCustomer").find(".codOrder").val();
					
					//Faz a mudanças das classes dos itens, para dar o efeito esperado
					var pai = $(this).parents("ul.abasPlanos");
					$(pai).find("li").attr("className", "default2");
					
					var file = $(this).attr("href").split("?")[1];
					$(this).parent().attr("className", "euCard");
					loadImgProd(1, $(".contentBox"));
					$.ajax({
						type: "GET",
						url: "scripts/rpc/RPC_customer.php",
						data: "func=loadFile&codPedido="+codOrder+"&"+file,
						success: function(ret){
							$(".contentBox").html(ret);
							
						}
					});
					
					return false;
			}); 

	}
	
	function loadImgProd(status, obj, delay){
		delay = delay || 600;
		if(status){ //aparece a imagem de load
			$(obj).css("display", "block");
			$(obj).html("<div id='load' style='padding:15px 0;text-align:center'><img src='images/loaderForm.gif' alt='' /></div>");
			
		} else { //desaparece o load
			$(obj).fadeOut(delay);
		}
		
	}
	
	function loadData(content, query, retorno){
			//load
			$(content).html("<div style='width:100%;height:20%;padding:25% 0;text-align:center;'><img src='images/loaderForm.gif' alt='' /></div>");
			
			$.ajax({
				type: "GET",
				url: "scripts/rpc/RPC_customer.php",
				data: "func=loadData&"+query,
				success: function(ret){
					
					$(content).html(ret);
					mascaraForm();
					
					if(typeof $(".dataInicio").val() != 'undefined' &&
							typeof $(".dataFim").val() != 'undefined' ) { //verifica se existe data inicio e fim, e faz a subtração de 7 dias de data inicio e fim
							
							var data = new Date();
					    var dia = (data.getDate() < 10) ? '0' + data.getDate() : data.getDate();
					    var mes = (data.getMonth() + 1 < 10) ? '0' + (data.getMonth() + 1) : data.getMonth() + 1;
					    var dataFinal = (dia + '/' + mes + '/' + data.getFullYear());
					    var dataIni = new Date(Date.parse(Date()) - 604800000);
					    dia = (dataIni.getDate() < 10) ? '0' + dataIni.getDate() : dataIni.getDate();
					    mes = (dataIni.getMonth() + 1 < 10) ? '0' + (dataIni.getMonth() + 1) : dataIni.getMonth() + 1;
					    dataIni = (dia + '/' + mes + '/' + dataIni.getFullYear());
							
							$('.dataInicio').attr('value', dataIni);
							$('.dataFim').attr('value', dataFinal);
						
					}
					
					if (typeof retorno === 'function') retorno();
					
				}
			});
	}
	
})(jQuery);

//jQuery.noConflict();
