YAHOO.Yes.loader.onReady.push(function()
{
	function updateCookie(id, add)
	{
		oldIds = getData();

		var i;
		if (add)
		{
			found = false;
			for (i in oldIds)
				if (oldIds[i] == id) found = true;
			
			if (!found) oldIds.push(id);
			ids = oldIds;
		}
		else
		{
			ids = new Array();
			for (i in oldIds)
				if (oldIds[i] != id) ids.push(oldIds[i]);
		}

		// 30 dias
		today = new Date();
		YAHOO.util.Cookie.set("miLista", ids.join(','), {expires: new Date(today.getTime() + 2592000000), path: "/"});

		updateLink();
	}

	function getData()
	{
		var data = YAHOO.util.Cookie.get("miLista");
		if (!data)
			data = new Array();
		else
			data = data.split(',');

		return data;
	}

	function updateLink()
	{
		var ids = getData();

		var miListaCantidad = YAHOO.util.Dom.get('miListaCantidad');
		var miListaTexto = YAHOO.util.Dom.get('miListaTexto');

		if (ids.length)
		{
			miListaCantidad.innerHTML = '(' + ids.length + ')';
			YAHOO.util.Dom.addClass(miListaTexto, 'destacado');
		}
		else
		{
			miListaCantidad.innerHTML = '';
			YAHOO.util.Dom.removeClass(miListaTexto, 'destacado');
		}
	}

	function addToList(boton, id)
	{
		if (YAHOO.util.Dom.hasClass(boton, 'miLista_on'))
		{
			YAHOO.util.Dom.removeClass(boton, 'miLista_on');
			YAHOO.util.Dom.addClass(boton, 'miLista_off');
			updateCookie(id, false);

			var listaDepartamentos = YAHOO.util.Dom.get('listaDepartamentos');
			if (YAHOO.util.Dom.hasClass(listaDepartamentos, 'preferidos')) // si estamos en la página de preferidos
			{
				var departamento = boton.parentNode.parentNode.parentNode.parentNode;

				var removeElement = function() {
					var el = this.getEl();
					el.parentNode.removeChild(el);

					var departamentos = YAHOO.util.Selector.query('div.departamento', listaDepartamentos);
					if (!departamentos.length)
					{
						YAHOO.util.Dom.removeClass('sinResultados', 'oculto');
						YAHOO.util.Dom.addClass(listaDepartamentos, 'oculto');
					}
				}
				var anim = new YAHOO.util.Anim(departamento, { height: {to: 0} }, 0.2, YAHOO.util.Easing.easeNone);
				anim.onComplete.subscribe(removeElement);
				anim.animate();
			}
		}
		else
		{
			YAHOO.util.Dom.removeClass(boton, 'miLista_off');
			YAHOO.util.Dom.addClass(boton, 'miLista_on');
			updateCookie(id, true);
		}
	}

	function attachClick(boton, id)
	{
		YAHOO.util.Event.addListener(boton, "click", function() { addToList(boton, id); });
	}

	YAHOO.util.Event.onAvailable('miListaTexto', function (ev)
	{
		updateLink();
	});

	YAHOO.util.Event.onContentReady('listaDepartamentos', function (ev)
	{
		var botones = YAHOO.util.Selector.query('div.departamentos div.miLista');
		for (i in botones)
		{
			attachClick(botones[i], YAHOO.util.Selector.query('div', botones[i], true).innerHTML);
		}
	});

	YAHOO.util.Event.onContentReady('departamento', function (ev)
	{
		botones = YAHOO.util.Selector.query('div#departamento span.miLista');
		for (i in botones)
		{
			attachClick(botones[i], YAHOO.util.Selector.query('div', botones[i], true).innerHTML);
		}
	});
});
