// ----------------------
// Barullo
// ----------------------
// Mi Cuenta > crear 
// y modificar usuarios
// ----------------------

function copyAddress(id){
	// copiamos la dirección real a los campos
	$("#d_nombre_"+id).val($("#f_nombre").val()+" "+$("#f_apellidos").val());
	$("#d_direccion_"+id).val($("#f_direccion_1").val());
	$("#d_cp_"+id).val($("#f_cp").val());
	$("#d_poblacion_"+id).val($("#f_poblacion").val());
	$("#d_provincia_"+id).val($("#f_provincia").val());
}

$(document).ready(function() {
	
	// copiar la dirección de la principal
	$("a.copiar_direccion").click(function(e){
		var num = parseInt(this.id.split("copiar_")[1]);
		
		
		
		if (num==0){
			num = parseInt($("#d_total").val());
		}
		
		copyAddress(num);
		return false;
	});
	
	// añadir y quitar direcciones de envío
	$("#mi_cuenta #bt_anadir").click(function(e){
		// incrementamos uno el campo con el número de direcciones
		var numDir = parseInt($("#d_total").val());
			numDir++;
		$("#d_total").val(numDir);
		// añadimos a la tabla uno más
		var dir  = '<tr>';
			dir += '	<input type="hidden" name="d_action_'+numDir+'" id="d_action_'+numDir+'" value="CREATE" />';
			dir += '	<td><input type="text" class="f_146" name="d_nombre_'+numDir+'" id="d_nombre_'+numDir+'" /></td>';
			dir += '	<td><input type="text" class="f_146" name="d_direccion_'+numDir+'" id="d_direccion_'+numDir+'" /></td>';
			dir += '	<td><input type="text" class="f_87" name="d_cp_'+numDir+'" id="d_cp_'+numDir+'" /></td>';
			dir += '	<td><input type="text" class="f_87" name="d_poblacion_'+numDir+'" id="d_poblacion_'+numDir+'" /></td>';
			dir += '	<td><select class="f_87" name="d_provincia_'+numDir+'" id="d_provincia_'+numDir+'">';
				dir += '<option value=\'\'>Selecciona</option>';
				dir += '<option value=\'Álava\'>Álava</option>';
				dir += '<option value=\'Albacete\'>Albacete</option>';
				dir += '<option value=\'Alicante/Alacant\'>Alicante/Alacant</option>';
				dir += '<option value=\'Almería\'>Almería</option>';
				dir += '<option value=\'Asturias\'>Asturias</option>';
				dir += '<option value=\'Ávila\'>Ávila</option>';
				dir += '<option value=\'Badajoz\'>Badajoz</option>';
				dir += '<option value=\'Barcelona\'>Barcelona</option>';
				dir += '<option value=\'Burgos\'>Burgos</option>';
				dir += '<option value=\'Cáceres\'>Cáceres</option>';
				dir += '<option value=\'Cádiz\'>Cádiz</option>';
				dir += '<option value=\'Cantabria\'>Cantabria</option>';
				dir += '<option value=\'Castellón/Castelló\'>Castellón/Castelló</option>';
				dir += '<option value=\'Ceuta\'>Ceuta</option>';
				dir += '<option value=\'Ciudad Real\'>Ciudad Real</option>';
				dir += '<option value=\'Córdoba\'>Córdoba</option>';
				dir += '<option value=\'Cuenca\'>Cuenca</option>';
				dir += '<option value=\'Girona\'>Girona</option>';
				dir += '<option value=\'Las Palmas\'>Las Palmas</option>';
				dir += '<option value=\'Granada\'>Granada</option>';
				dir += '<option value=\'Guadalajara\'>Guadalajara</option>';
				dir += '<option value=\'Guipúzcoa\'>Guipúzcoa</option>';
				dir += '<option value=\'Huelva\'>Huelva</option>';
				dir += '<option value=\'Huesca\'>Huesca</option>';
				dir += '<option value=\'Illes Balears\'>Illes Balears</option>';
				dir += '<option value=\'Jaén\'>Jaén</option>';
				dir += '<option value=\'A Coruña\'>A Coruña</option>';
				dir += '<option value=\'La Rioja\'>La Rioja</option>';
				dir += '<option value=\'León\'>León</option>';
				dir += '<option value=\'Lleida\'>Lleida</option>';
				dir += '<option value=\'Lugo\'>Lugo</option>';
				dir += '<option value=\'Madrid\'>Madrid</option>';
				dir += '<option value=\'Málaga\'>Málaga</option>';
				dir += '<option value=\'Melilla\'>Melilla</option>';
				dir += '<option value=\'Murcia\'>Murcia</option>';
				dir += '<option value=\'Navarra\'>Navarra</option>';
				dir += '<option value=\'Ourense\'>Ourense</option>';
				dir += '<option value=\'Palencia\'>Palencia</option>';
				dir += '<option value=\'Pontevedra\'>Pontevedra</option>';
				dir += '<option value=\'Salamanca\'>Salamanca</option>';
				dir += '<option value=\'Segovia\'>Segovia</option>';
				dir += '<option value=\'Sevilla\'>Sevilla</option>';
				dir += '<option value=\'Soria\'>Soria</option>';
				dir += '<option value=\'Tarragona\'>Tarragona</option>';
				dir += '<option value=\'Santa Cruz de Tenerife\'>Santa Cruz de Tenerife</option>';
				dir += '<option value=\'Teruel\'>Teruel</option>';
				dir += '<option value=\'Toledo\'>Toledo</option>';
				dir += '<option value=\'Valencia/Valéncia\'>Valencia/Valéncia</option>';
				dir += '<option value=\'Valladolid\'>Valladolid</option>';
				dir += '<option value=\'Vizcaya\'>Vizcaya</option>';
				dir += '<option value=\'Zamora\'>Zamora</option>';
				dir += '<option value=\'Zaragoza\'>Zaragoza</option>';
			dir += '	</select></td>';	
			//dir += '	<td><input type="text" class="f_87" name="d_telefono_'+numDir+'" id="d_telefono_'+numDir+'" /></td>';
			//dir += '	<td><input type="text" class="f_87" name="d_email_'+numDir+'" id="d_email_'+numDir+'" /></td>';
			dir += '	<td><input type="radio" class="f_87" name="d_principal" id="d_principal_'+numDir+'" value="'+numDir+'"/></td>';
//			dir += '	<td><a href="javascript:copyAddress('+numDir+')" class="copiar_direccion" id="copiar_'+numDir+'" title="copiar la dirección de la cuenta">copiar</a></td>';
			dir += '	<input type="hidden" name="d_telefono_'+numDir+'" id="d_telefono_'+numDir+'" /><input type="hidden" name="d_email_'+numDir+'" id="d_email_'+numDir+'" />';
			dir += '</tr>';
		$("#mi_cuenta table tbody").append(dir);
		return false;
	});
	
	$("#mi_cuenta #bt_quitar").click(function(e){
		// decrementamos uno el campo con el número de direcciones
		var numDir = parseInt($("#d_total").val());
		if (numDir > 1) {
			numDir--;
			$("#d_total").val(numDir);
			// quitamos a la tabla el último
			$("#mi_cuenta table tbody tr:eq(" + numDir + ")").remove();
		} else {
			alert("Tiene que haber al menos una dirección")
		}
		return false;
	});
	
	
	// crear usuario
	var form_customer_sending = false;
	
	$("#f_submit").click(function() {
		if (!form_customer_sending) addCustomer();
		return false;
	});
	
	function addCustomer() {
		// recogemos los valores
		var actionValue = $('#f_action').val();
		var nombreValue = $('#f_nombre').val();
		var apellidosValue = $('#f_apellidos').val();
		var emailValue = $('#f_email').val();
		var direccion1Value = $('#f_direccion_1').val();
		var cpValue = $('#f_cp').val();
		var poblacionValue = $('#f_poblacion').val();
		var provinciaValue = $('#f_provincia').val();
		var paisValue = $('#f_pais').val();
		var telefonoValue = $('#f_telefono').val();
		var movilValue = $('#f_movil').val();
		var usuarioValue = $('#f_usuario').val();
		var passwordValue = $('#f_password').val();
		var cifValue = $('#f_cif').val();
		var razonSocialValue = $('#f_razon_social').val();
		var legalValue = ($('#f_legal').is(':checked'))? 1 : 0; 		
		var enabledValue = 1;
		
		// también hay que recoger los datos de las direcciones
		var dirTotal = $('#d_total').val();
		var dirAction = [];
		var dirNombre = [];
		var dirDireccion = [];
		var dirCP = [];
		var dirPoblacion = [];
		var dirProvincia = [];
		var dirTelefono = [];
		var dirEmail = [];
		var dirPrincipal = [];
		
		var ajaxDataExtra = "&dirTotal="+dirTotal;
		
		for (var i=0; i<dirTotal; i++){
			var num = i+1;
			dirAction[i] = $("#d_action_"+num).val();
			dirNombre[i] = $("#d_nombre_"+num).val();
			dirDireccion[i] = $("#d_direccion_"+num).val();
			dirCP[i] = $("#d_cp_"+num).val();
			dirPoblacion[i] = $("#d_poblacion_"+num).val();
			dirProvincia[i] = $("#d_provincia_"+num).val();
			dirTelefono[i] = $("#d_telefono_"+num).val();
			dirEmail[i] = $("#d_email_"+num).val();
			dirPrincipal[i] = $("#d_principal_"+num).is(":checked")? "1" : "0";
			
			ajaxDataExtra += "&d_action_"+num+"="+dirAction[i];
			ajaxDataExtra += "&d_nombre_"+num+"="+dirNombre[i];
			ajaxDataExtra += "&d_direccion_"+num+"="+dirDireccion[i];
			ajaxDataExtra += "&d_cp_"+num+"="+dirCP[i];
			ajaxDataExtra += "&d_poblacion_"+num+"="+dirPoblacion[i];
			ajaxDataExtra += "&d_provincia_"+num+"="+dirProvincia[i];
			ajaxDataExtra += "&d_telefono_"+num+"="+dirTelefono[i];
			ajaxDataExtra += "&d_email_"+num+"="+dirEmail[i];
			ajaxDataExtra += "&d_principal_"+num+"="+dirPrincipal[i];
		}
		
		var ajaxUrl = "ajax/add_customer.php";
		var ajaxData = "action="+actionValue+"&nombre="+nombreValue+"&apellidos="+apellidosValue+"&email="+emailValue
					  +"&direccion_1="+direccion1Value+"&cp="+cpValue+"&poblacion="+poblacionValue+"&provincia="+provinciaValue
					  +"&cif="+cifValue+"&razon_social="+razonSocialValue+"&legal="+legalValue
					  +"&pais="+paisValue+"&telefono="+telefonoValue+"&movil="+movilValue+"&usuario="+usuarioValue+"&password="+passwordValue+"&enabled="+enabledValue;
			ajaxData += ajaxDataExtra;
		
		// los enviamos por POST
		
		form_customer_sending = true;
		$("#guardar_msg").fadeIn("normal");
		$("#guardar_msg img").css({opacity:1});
		$("#guardar_msg p").html("");
		$("#f_submit").fadeOut("slow", function(){
			$.ajax({
		        type:	"POST",
		        url:	ajaxUrl,
		        data:	ajaxData,
		        success: function(data){
					$("#guardar_msg img").animate({opacity:0}, "slow");
					$("#f_submit").fadeIn("normal", function(){
						
			        	envioOk = data.indexOf("OK-")!=-1;
			        	data = (envioOk)? data.split("OK-")[1] : data.split("ERROR-")[1];
			        	errorCampos = data.indexOf("|")!=-1;
						$("#quienes_text .ficha_cont input").removeClass("error");
			        	$("#quienes_text .ficha_cont label").removeClass("error");
			        	$("#quienes_text .ficha_cont select").removeClass("error");
			        	if (errorCampos){
				        	// error en la validación
			        		camposError = data.split("|")[1].split(",");
			        		data = data.split("|")[0];
			        		for (var i=0; i<camposError.length; i++){
								var campo = $('#'+camposError[i]);
									campo.addClass("error").css({opacity:0}).animate({opacity:1}, "slow");
									campo.prev().addClass("error").css({opacity:0}).animate({opacity:1}, "slow");
									//$("#guardar_msg p").html("Hay errores en los campos, revísalos por favor.");
									$("#mi_cuenta_msg_error .texto_1").html("<strong>Hay errores en los campos marcados en rojo.</strong>");
									$("#mi_cuenta_msg_error .texto_2").html("Revísalos por favor.");
									showPopUp("mi_cuenta_msg_error");
			        		}
			        	}
			        	
			        	if (envioOk) {
			        		// se ha enviado, avisamos
							var datos = data.split(",");
							
							if (fromConfirmar){
								// viene de confirmar pedido, volvemos a ir
								document.location.href = toConfirmar;	
							} else {
								showPopUp("mi_cuenta_msg_ok");
								// y al logarle hacemos a la vez que aparezca lo de arriba
								$("#login_status").html('<ul><li>'+datos[1]+' '+datos[2]+'</li><li class="logout"><a href="javascript:logout('+datos[0]+')">Logout</a></li><li class="mi_cuenta"><a href="mi_cuenta.php">Mi Cuenta</a></li></ul>').fadeIn("slow");
							}
							
						} else {
							// mostramos el error
							if (!errorCampos) {	
								$("#mi_cuenta_msg_error .texto_1").html("<strong>Ya existe un usuario con ese nombre.</strong>");
								$("#mi_cuenta_msg_error .texto_2").html("Cámbialo e inténtalo de nuevo, por favor.");
								showPopUp("mi_cuenta_msg_error");
								var campo = $('#f_usuario');
									campo.addClass("error").css({opacity:0}).animate({opacity:1}, "slow");
									campo.prev().addClass("error").css({opacity:0}).animate({opacity:1}, "slow");
							}
						}
						
						form_customer_sending = false;
			        });
		      	}
			});
		});
	}
	
	
	
	// el input de CP y de TFNO sólo acepta números
	$("#f_cp").keypress(function (e){
		if( e.which!=8 && e.which!=0 && (e.which<48 || e.which>57)){
			var oldVal = $(this).val();
			var newVal = oldVal.substr(0, oldVal.length);
			$(this).val(newVal);
			return false;
		}
	});
	$("#f_movil").keypress(function (e){
		if( e.which!=8 && e.which!=0 && (e.which<48 || e.which>57)){
			var oldVal = $(this).val();
			var newVal = oldVal.substr(0, oldVal.length);
			$(this).val(newVal);
			return false;
		}
	});
	$("#f_telefono").keypress(function (e){
		if( e.which!=8 && e.which!=0 && (e.which<48 || e.which>57)){
			var oldVal = $(this).val();
			var newVal = oldVal.substr(0, oldVal.length);
			$(this).val(newVal);
			return false;
		}
	});
	
});	
