$(document).ready(function(){	
	var actualizarListaTarjetas = function() {
		var tr_ = '';
		
		$.each(tarjetas, function(i, val){
			var tarjeta_split = val.split('-');
			tr_ += '<tr class="lol"><td>'+$.trim(tarjeta_split[0])+'</td><td>'+$.trim(tarjeta_split[1])+'</td><td><a style="cursor:pointer;"><img src="img/cross.png" alt="" /></a></td></tr>';
		});
		
		$('#listado_tarjetas .lol').remove();
		$('#listado_tarjetas tr:last').after(tr_);
		
		if (tarjetas.length > 0) {
			$('#listado_tarjetas').css({'display':''});
			$('#botonGuardarTarjetas').css({'display':''});
		} else {
			$('#listado_tarjetas').css({'display':'none'});
			$('#botonGuardarTarjetas').css({'display':'none'});
		}
		
		$('#listado_tarjetas tr a').unbind('click').click(function(){
			var tarjeta_seleccionada = $(this).parent().parent().find('td:first').html();
			if (confirm('¿ Esta seguro de borrar la tarjeta '+tarjeta_seleccionada+' ?')) {
				tarjetas = $.grep(tarjetas, function(a){
					var tarjeta_split 		 = a.split('-');
						tarjeta_split[0] 	 = $.trim(tarjeta_split[0]);
					return tarjeta_split[0] != tarjeta_seleccionada;
				});
				actualizarListaTarjetas();
			}
		});
	};
	
	function IsNumeric(sText) {
		var ValidChars = "0123456789";
		var IsNumber=true;
		var Char;
		for (i = 0; i < sText.length && IsNumber == true; i++) {
			Char = sText.charAt(i); 
			if (ValidChars.indexOf(Char) == -1) IsNumber = false;
		}
		return IsNumber;			   
	}
	
	$('#boxTarjetas button').unbind('click').click(function(){
		var boxTarjetas = $('#boxTarjetas');
		var tarjeta_logico = $.trim(boxTarjetas.find('input[name=nro_tarjeta_logico]').val());
		var tarjeta_fisico = $.trim(boxTarjetas.find('input[name=nro_tarjeta_fisico]').val());
		
		if (tarjeta_logico != "" && tarjeta_fisico != "" && IsNumeric(tarjeta_logico) && $.inArray(tarjeta_logico+' - '+tarjeta_fisico, tarjetas) < 0) {
			
			cargandov2(true);
			$.ajax({
				data: "accion=validarTarjeta&fisico="+tarjeta_fisico+"&logico="+tarjeta_logico,
				type: 'POST',
				url: 'includes/funciones_parser.php',
				success: function(response) {
					if (response) {
						tarjetas.push(tarjeta_logico+" - "+tarjeta_fisico);
						boxTarjetas.find('input[name=nro_tarjeta_logico]').val("").blur();
						boxTarjetas.find('input[name=nro_tarjeta_fisico]').val("").blur();
						actualizarListaTarjetas();
						$('#error_tarjeta').slideUp('normal');
					} else {
						$('#error_tarjeta').slideDown('normal');
					}
					cargandov2(false);
				}
			});
		}
	});
	
	$('#boxReservas .cancelar_reserva a').unbind('click').click(function(){
		if (confirm('¿Esta seguro de querer cancelar esta reserva?')) {
			var link_cancelar = $(this);
			cargandov2(true);
			$.ajax({
				data: 'accion=reservar&queHacer=cancelar&evento='+$(this).attr('class').replace(/evento_/, ""),
				type: 'POST',
				url: 'includes/funciones_parser.php',
				success: function(response) {
					if (response.estado == 'SI') {
						link_cancelar.text('Anulada');
					}
					cargandov2(false);
					loginBox_reservas();
				}
			});
		}
	});
	
	$('#formRegistroDP').unbind('submit').submit(function(){
		var todook = true, campos = '';
		
		$(this).find('.requerido').each(function(){
			if (jQuery.trim($(this).val()) == "") {
				$(this).addClass("falta");
				campos += (campos == '' ? '':', ') + $(this).attr('title');
				todook = false;
			} else {
				$(this).removeClass("falta");
				if ($(this).attr('name') == 'email' && !$(this).val().match(/^[\w\.\-]+@([\w\-]+\.)+[a-zA-Z]+$/)) {
					$(this).addClass("falta");
					todook = false;
				}
				if ($(this).attr('name') == 'rut') {
					if (!validarRut($(this))) {
						$(this).addClass("falta");
						todook = false;
					} else {
						$(this).val(formatearRUT($(this).val()));
					}
				}
			}
		});
		
		if (todook) {
			
			//preferencias
				var pref_musica 	= $('#musica input:checked');
				var pref_musica_str = '';
				$.each(pref_musica, function(){
					pref_musica_str += (pref_musica_str == '' ? '&pref_musica='+$(this).parent().text():','+$(this).parent().text());
				});
				
				var pref_peliculas 	= $('#peliculas input:checked');
				var pref_peliculas_str = '';
				$.each(pref_peliculas, function(){
					pref_peliculas_str += (pref_peliculas_str == '' ? '&pref_peliculas='+$(this).parent().text():','+$(this).parent().text());
				});
				
				var pref_deportes 	= $('#deportes input:checked');
				var pref_deportes_str = '';
				$.each(pref_deportes, function(){
					pref_deportes_str += (pref_deportes_str == '' ? '&pref_deportes='+$(this).parent().text():','+$(this).parent().text());
				});
				
				var pref_libre 	= $('#libre input:checked');
				var pref_libre_str = '';
				$.each(pref_libre, function(){
					pref_libre_str += (pref_libre_str == '' ? '&pref_libre='+$(this).parent().text():','+$(this).parent().text());
				});
			//
			
			var str = $(this).serialize()+'&'+pref_musica_str+pref_peliculas_str+pref_deportes_str+pref_libre_str;

			cargandov2(true);
			$.ajax({
				data: str,
				type: 'POST',
				url: 'includes/funciones_parser.php',
				success: function(response) {
					$('#formRegistroDP .feedback').html('<strong style="'+(response.estado ? 'color:#336600':'color:#c00;')+'">'+response.estado_mensaje+'</strong>');
					if (promo_activa) setTimeout(function() { 
										 window.location.href = REQUESTURI;
									  }, 500);
					cargandov2(false);
				}
			});
		} else {
			$('#formRegistroDP .feedback').html('<span style="position:relative;float:right;width:230px;*margin-top:-50px;"><strong style="color:#c00;">Sus datos NO han sido guardados</strong>. Complete los siguientes campos: '+campos+'</span>');
		}
		return false;
	});
	
	$('#formRegistroC').unbind('submit').submit(function(){
		var todook = true;
		$(this).find('.requerido').each(function(){
			if (jQuery.trim($(this).val()) == "") {
				$(this).addClass("falta");
				todook = false;
			} else {
				$(this).removeClass("falta");
			}
		});
		
		var clave_nueva = $('#formRegistroC input[name=password_nueva]');
		var clave_nueva_confirmacion = $('#formRegistroC input[name=password_confirmacion]');
		var clave_anterior = $('#formRegistroC input[name=password_anterior]');
		
		if (jQuery.trim(clave_nueva.val()) != '' && jQuery.trim(clave_nueva_confirmacion.val()) != jQuery.trim(clave_nueva.val())) {
			clave_nueva_confirmacion.addClass("falta");
			todook = false;
			
			if (jQuery.trim(clave_anterior.val()) == '') {
				clave_anterior.addClass("falta");
				todook = false;
			} else {
				clave_anterior.removeClass("falta");
			}
			
		} else {
			clave_nueva_confirmacion.removeClass("falta");
		}
		
		if (todook) {
			var str = $(this).serialize();
			cargandov2(true);
			$.ajax({
				data: str,
				type: 'POST',
				url: 'includes/funciones_parser.php',
				success: function(response) {
					$('#formRegistroC .feedback').html(response.estado_mensaje);
					cargandov2(false);
				}
			});
		}
		return false;
	});
	
	$('#formRegistroT').unbind('submit').submit(function(){
		var tarjeta_lista = '';
		for(var cont = 0; cont < tarjetas.length; cont++) {
			tarjeta_lista += 'tarjeta[]='+tarjetas[cont];
			if (cont < tarjetas.length - 1) tarjeta_lista += '&';
		}
		
		if (tarjeta_lista != '') {
			cargandov2(true);
			$.ajax({
				data: 'accion=cliente&queHacer=actualizarTarjetas&'+tarjeta_lista,
				type: 'POST',
				url: 'includes/funciones_parser.php',
				success: function(response) {
					var salida = response[0] ? response[1]:('<span style="position:relative;float:right;width:230px;*margin-top:-50px;"><strong style="color:#c00;">'+response[1]+'</span>');
					$('#formRegistroT .feedback').html(salida);
					cargandov2(false);
					if (response[0]) actualizarListaTarjetas();
				}
			});
		}
		
		return false;
	});
	
	$('#formRegistro').unbind('submit').submit(function(){
		$('#formRegistro .botonRegistro').attr('disabled', 'disabled');
		var todook = true, tarjeta_lista = '', campos = '';
		
		for(var cont = 0; cont < tarjetas.length; cont++) {
			tarjeta_lista += 'tarjeta[]='+tarjetas[cont];
			if (cont < tarjetas.length - 1) tarjeta_lista += '&';
		}
		
		$(this).find('.requerido').each(function(){
			if (jQuery.trim($(this).val()) == "") {
				$(this).addClass("falta");
				campos += (campos == '' ? '':', ') + $(this).attr('title');
				todook = false;
			} else {
				$(this).removeClass("falta");
				if ($(this).attr('name') == 'email' && !$(this).val().match(/^[\w\.\-]+@([\w\-]+\.)+[a-zA-Z]+$/)) {
					$(this).addClass("falta");
					todook = false;
				}
				if ($(this).attr('name') == 'rut' && !validarRut($(this))) {
					$(this).addClass("falta");
					todook = false;
				}
			}
		});
		if (tarjeta_lista == '') {
			todook = false;
			campos += (campos == '' ? '':', ') + "Tarjeta BIP";
			$('#nro_tarjeta').addClass("falta");
		}
		if (todook) {
			//preferencias
				var pref_musica 	= $('#musica input:checked');
				var pref_musica_str = '';
				$.each(pref_musica, function(){
					pref_musica_str += (pref_musica_str == '' ? '&pref_musica='+$(this).parent().text():','+$(this).parent().text());
				});
				
				var pref_peliculas 	= $('#peliculas input:checked');
				var pref_peliculas_str = '';
				$.each(pref_peliculas, function(){
					pref_peliculas_str += (pref_peliculas_str == '' ? '&pref_peliculas='+$(this).parent().text():','+$(this).parent().text());
				});
				
				var pref_deportes 	= $('#deportes input:checked');
				var pref_deportes_str = '';
				$.each(pref_deportes, function(){
					pref_deportes_str += (pref_deportes_str == '' ? '&pref_deportes='+$(this).parent().text():','+$(this).parent().text());
				});
				
				var pref_libre 	= $('#libre input:checked');
				var pref_libre_str = '';
				$.each(pref_libre, function(){
					pref_libre_str += (pref_libre_str == '' ? '&pref_libre='+$(this).parent().text():','+$(this).parent().text());
				});
			//
			
			var str = $(this).serialize();
			$('#formRegistro input[name=rut]').val(formatearRUT($('#formRegistro input[name=rut]').val()));
			cargandov2(true);
			$.ajax({
				data: str+(tarjeta_lista != '' ? '&'+tarjeta_lista:'')+pref_musica_str+pref_peliculas_str+pref_deportes_str+pref_libre_str+'&email_referido='+$('#email_referido').val(),
				type: 'POST',
				url: 'includes/funciones_parser.php',
				success: function(response) {
					if (response.estado) {
						loginBox_reservas();
					}
					$('#formRegistro .feedback').html('<strong style="color:#336600">'+response.estado_mensaje+'</strong>');
					if (promo_activa) setTimeout(function() { 
										 window.location.href = REQUESTURI;
									  }, 5000);
					cargandov2(false);
					$('#formRegistro .botonRegistro').removeAttr('disabled');
				}
			});
		} else {
			$('#formRegistro .botonRegistro').removeAttr('disabled');
			$('#formRegistro .feedback').html('<span style="position:relative;float:right;width:230px;*margin-top:-50px;"><strong style="color:#c00;">Sus datos NO han sido guardados</strong>. Complete los siguientes campos: '+campos+'</span>');
		}
		
		return false;
	});
	
	$('#nro_tarjeta_logico').lol();
	$('#nro_tarjeta_fisico').lol();
	actualizarListaTarjetas();
});

$.fn.otro = function () {
	var contenedor = $(this);
	if ($(this).hasClass("pref")) {
		$(this).find('input[type=text]').
				attr('name', 'pref_'+contenedor.attr('id')+'_otro').
				attr('disabled', 'disabled').
				parent().
				css({'display':'none'});
		$(this).find('input[type=checkbox]:last').
				unbind('click').
				click(function(){
					if($(this).attr('checked')) $(this).parent().
														parent().
														find('input[type=text]').
														removeAttr('disabled').
														parent().
														css({'display':'block'});
					else $(this).parent().
								 parent().
								 find('input[type=text]').
								 attr('disabled', 'disabled').
								 parent().
								 css({'display':'none'});
				});	
	}
	if ($(this).hasClass("prefselect")) {
		$(this).unbind('change').change(function(){
			if ($(this).val().indexOf("Otro") != -1) $('input[name='+contenedor.attr('name')+'_otro]').
																				removeAttr('disabled').
																				addClass('requerido').
																				parent().
																				css({'display':'block'});
			else $('input[name='+contenedor.attr('name')+'_otro]').
											attr('disabled', 'disabled').
											removeClass('requerido').
											parent().
											css({'display':'none'});
		});
	}
	return true;
};

$('#musica').otro();
$('#peliculas').otro();
$('#deportes').otro();
$('#libre').otro();
$('#grupo_familiar').otro();
$('#profesion').otro();

$('#grupo_familiar').change();
$('#profesion').change();

$.each(pref, function(i, val) {
	if (val.length > 0)
		$.each(val, function(){
			if (this.indexOf("(otro)") != -1) {
				$("#"+i+" label:contains('Otro (Especificar)')").find('input:not(:checked)').click();
				$("#"+i+" input[name=pref_"+i+"_otro]").val(this.replace("(otro)", "")).removeAttr('disabled').parent().css({'display':'block'});
			}
			$("#"+i+" label:contains('"+this+"')").find('input').attr('checked', 'checked').change();
		});
});