	$(document).ready(function() {

		// -- Default Destinations
		$(".default-destination").live("click", function() {

			var
				$this = $(this),
				destinationCode = $this.val(),
				$label = $("label[for=" + $this.attr("id") + "]"),
				$hidden = $("#cityCode");

			if( $hidden.val() != destinationCode ) {
				$("#ac_cityCode").val($label.text()).css("color", "#000");
				$hidden.val(destinationCode);
			}
		});

		$("#customize-default-destinations").live("click", function() {

			var
				$this = $(this),
				url = BASE_URL + "/destination/customizeDefaultDestinations.html";

			var options = {
				title : $.i18n._("CUSTOMIZE_DEFAULT_DESTINATIONS"),
				content : url,
				width: 720,
				height: 490,
				onClose : function() {

					$("#dd-home-container").block(
							{
								message : $.i18n._("COMMON_UPDATING")
							}
					);


					$("#dd-home-container").load(
							BASE_URL + "/destination/getDefaultDestinationsHomeList.html",
							null,
							function() {
								$("#dd-home-container").unblock();
							}
					)
				}
			};

			$.mph.openDialog ( options );

			return false;
		});

		function hideCustomizationMessages() {
			$("#destination-input-message-container .message").fadeOut();
		}

		function customizationCallbackOnSuccess(data) {

			var response = CheckErrorResponse ( data );

			if ( response != null ) {

				$("#default-destination-list-container").html(response.HTML);
			}

			$("#default-destination-list-container").unblock();

			$("#destination-input-message-add-ok").fadeIn();

			setTimeout( function() {

				$("#destination-input-message-container .message").fadeOut()

			}, 3000 );
		}

		function customizationCallbackOnError() {

			$("#default-destination-list-container").unblock();

			$("#destination-input-message-error").fadeIn();

			setTimeout( function() {

				$("#destination-input-message-container .message").fadeOut()

			}, 3000 );
		}

		// -- Este elemento está presente en la página de Personalizacion de Destinos
		if ( $("#main-destination-container").length > 0 ) {

			loadScripts( new Array(), function() {

				$("#ac-cityCode").destinationSearch({

					callback : function(selectedItem) {

						var
							$hidden = $("#cityCode"),
							$button = $("#btnAddDestination"),
							selectedCityCode = selectedItem.id;

						$hidden.val(selectedCityCode);

						// -- Se realiza un chequeo para detectar un destino ya seleccionado.
						if( $("#destination-" + selectedCityCode).length == 0 ) {
							$button.removeAttr("disabled");
						}
					},

					callbackNoResults : function() {

						var
							$hidden = $("#cityCode"),
							$button = $("#btnAddDestination");

						$hidden.val("");
						$button.attr("disabled", "disabled");
					}
				});

				$("#btnAddDestination").click(function(){

					var
						$destinationNames = $(".destination-name"),
						$hidden = $("#cityCode"),
						cityCode = $hidden.val();

					if(
							cityCode != "" &&
							$("#destination-" + cityCode).length == 0
					) {

						$("#default-destination-list-container").block(
							{
								message : null,
								overlayCSS: {
									backgroundColor: '#000',
									opacity: 0.6
								}
							}
						);

						var
							parameters = { "cityCode" : cityCode },

							ajaxOptions = {
								url : BASE_URL + "/destination/addDefaultDestination.html",
								type : "POST",
								data : parameters,
								cache : false,
								dataType : "json",
								success : customizationCallbackOnSuccess,
								error : customizationCallbackOnError
							};

						$.ajax( ajaxOptions );
					}

					return false;
				});

				$("#btn-save-changes").click(function() {

					$("#default-destination-list-container").block(
						{
							message : null,
							overlayCSS: {
								backgroundColor: '#000',
								opacity: 0.6
							}
						}
					);

					var cityCodes = new Array();

					$(".destination-to-delete:checked").each(function(index) {
						cityCodes.push($(this).val());
					});

					if(cityCodes.length > 0) {

						var
							parameters = { deleteCodes : cityCodes.join(",") },

							ajaxOptions = {
								url : BASE_URL + "/destination/deleteDefaultDestination.html",
								type : "POST",
								data : parameters,
								cache : false,
								dataType : "json",
								success : customizationCallbackOnSuccess,
								error : customizationCallbackOnError
							};


						$.ajax( ajaxOptions );
					}
				});

			});
		}
	});