/**
 * Funções para funcionalidade "Pagamento"
 *
 * @version  0.0.1
 * @autor: Jonathan B. Kolling (jonathan@gadbrivia.com.br) 
 */
function Pagamento()
{
	// ID do formulario de pagamento
	var frmPagamento= '#frmPagamento';
	var frmIpagare 	= '#frmIpagare';
	var frmPagamentoSeguro= '#frmPagamentoSeguro';
		
	if($(frmPagamento).length > 0)
	{
		$(frmPagamento+' #selPlano').change(function()
		{		
			if($(this).val() != "")
			{
				var planoID = $(this).val();
				
				var formularioDados = $(frmPagamento).serialize();
				
				$('ul#lista-cartoes').empty();
			
				$.ajax(
				{
					type: "POST",
					dataType: "json",
					data: formularioDados,
					url: SITE_CAMINHO_ABSOLUTO + "pagamento/formas-pagamento",
					complete: function(resposta, status)
					{
						var retorno 		= new Array();
					   	var totalRegistros 	= 0;
					   	eval("retorno = "+resposta.responseText+";");				
						
						if(retorno)
						{
							try
							{
								if(retorno.length > 0)
								{	
									totalRegistros = retorno.length;
											
									for(var contador = 0; contador < totalRegistros; contador++)
									{
										$('ul#lista-cartoes').append('<li><input type="radio" name="rdCartao" id="rdCartao-'+contador+'" value="'+retorno[contador].FormaPagamentoID+'" /><label for="rdCartao-'+contador+'"><img src="'+ SITE_CAMINHO_ABSOLUTO+'comum/img/'+retorno[contador].ImagemLogo+'" /></label></li>');
										
									}
									
									//Altura da lista de cartoes
									var alturaLista = $('.lista-cartoes').height();
									$('.passos-pagamento div').height(alturaLista);

									$('ul#lista-cartoes li input').click(function()
									{
										var formaPagamentoID = $(this).val();
										
										$('#selPagamento').html('<option value="">Selecione</option>');
										
										var formularioDados = $(frmPagamento).serialize();
										
										$.ajax(
										{
											type: "POST",
											dataType: "json",
											data: formularioDados,
											url: SITE_CAMINHO_ABSOLUTO + "pagamento/plano-formas-pagamento",
											complete: function(resposta2, status)
											{
												var retorno2 		= new Array();
											   	var totalRegistros2 	= 0;
											   	eval("retorno2 = "+resposta2.responseText+";");				
												
												if(retorno2)
												{
													try
													{
														if(retorno2.length > 0)
														{	
															totalRegistros2 = retorno2.length;
															$('#selPagamento').removeAttr('disabled');
															
															for(var contador = 0; contador < totalRegistros2; contador++)
															{
																$('#selPagamento').append('<option value="'+retorno2[contador].PlanoFormaPagamentoID+'">R$'+retorno2[contador].Valor+'</option>');
															}
														}
													}
													catch(e)
													{}
												}				
											}
										});
									});
								}
							}
							catch(e)
							{}
						}				
					}
				});
			}
			else
			{
				$('ul#lista-cartoes').empty();
				$('#selPagamento').html('<option value="">Selecione</option>');
				$('#selPagamento').attr('disabled','disabled');
				
				//Altura da lista de cartoes
				var alturaLista = $('.lista-cartoes').height();
				$('.passos-pagamento div').height(alturaLista);
			}
		});
		
		
		
		$(frmPagamento).validate
		(
			{
				submitHandler:function(frm)
				{
					$(frm)[0].submit();
				},
				errorPlacement:function(error,element)
				{					
					if(error.html() != $("#mensagemErro").html()) $("#mensagemErro").html(error.html());					
				},
				highlight: function(element, errorClass)
				{
					$(element).addClass(errorClass);
				},		
				unhighlight: function(element, errorClass)
				{
					$(element).removeClass(errorClass);
				},
				errorClass: "erro",		
				errorElement:"span",
				rules:
				{
					selPlano: { required:true },
					rdCartao: { required:true },
					selPagamento: { required:true }
				},
				message:
				{
					selPlano: { required: '' },
					rdCartao: { required: '' },
					selPagamento: { required: '' }
				}
			}
		);
		
	}
		

	$('a.btIpagare').click(function()
	{			
		
		$(frmIpagare)[0].submit();
	});
	
	
	if($(frmPagamentoSeguro).length > 0)
	{
		$('#txtNumeroCartao').numeric();
		$('#txtCodigoSegurancaCartao').numeric();
		
		$(frmPagamentoSeguro).validate
		(
			{
				submitHandler:function(frm)
				{
					$(frm)[0].submit();
				},
				errorPlacement:function(error,element)
				{					
					if(error.html() != $("#mensagemErro").html()) $("#mensagemErro").html(error.html());					
				},
				highlight: function(element, errorClass)
				{
					$(element).addClass(errorClass);
				},		
				unhighlight: function(element, errorClass)
				{
					$(element).removeClass(errorClass);
				},
				errorClass: "erro",		
				errorElement:"span",
				rules:
				{
					txtNumeroCartao: { required:true },
					selMesCartao: { required:true },
					selAnoCartao: { required:true },
					txtCodigoSegurancaCartao: 
					{ 
						required:true
					}
				},
				messages:
				{
					txtNumeroCartao: { required: 'Digite o número do cartão.' },
					selMesCartao: { required: 'Selecione o mês de validade do cartão.' },
					selAnoCartao: { required: 'Selecione o ano de validade do cartão.' },
					txtCodigoSegurancaCartao: 
					{ 
						required:'Digite o código de segurança.' 
					}
				}
			}
		);
	}
}
