var TXT_SELECTION_ADD	= "Ajouter à ma sélection d'annonces";
var TXT_SELECTION_ADDED = "Cette annonce est dans votre sélection";

var selectionView = null;

window.addEvent("domready", function()
{
	var cookieValue = Cookie.read("MIXADSELECTION");
	if (cookieValue == null) cookieValue = "";
	
	// creation de l'objet permettant d'afficher la selection
	if (IsSet("SelectionView")) { selectionView = new SelectionView(); }

	// affectation d'un evenement a un eventuel lien pour voir la selection
	if ($("mxdSelectionZoom")) { new SelectionZoom(); }

	// on s'assure que les liens de selection ont le bon etat (selectionné ou non)
	// => utile dans le cas d'un simple back via le navigateur
	$$("a[id^=mxdSelectionLink]").each(function(el)
	{
		var adId = el.id.replace("mxdSelectionLink", "");

		if (cookieValue.indexOf(adId) != -1 && !el.hasClass("added"))
		{
			el.addClass("added");
			el.setAttribute("title", TXT_SELECTION_ADDED);
		}
	});
});

/*******************************************************************************************************************************************************************
 *
 *
 *
 *******************************************************************************************************************************************************************/
function UpdateSelectionCookie(aId)
{
	var cookieValue = Cookie.read("MIXADSELECTION");
	if (cookieValue == null) cookieValue = "";

	var selectionLink = $("mxdSelectionLink" + aId);
	var selectionLinkParent = null;
	
	if (window.parent.location != document.location)
	{
		selectionLinkParent = window.parent.document.getElementById("mxdSelectionLink" + aId);
	}

	// si l'id est trouvé dans la valeur du cookie, on le supprime
	// => permet de supprimer une annonce deja selectionnee
	var added = false;
	if (cookieValue.indexOf(aId) != -1)
	{
		cookieValue = cookieValue.replace(aId + ",", "");
	}
	else
	{
		// ajout de l'id a la valeur du cookie
		cookieValue += aId + ",";

		added = true;
	}

	// mise a jour du lien de selection / deselection d'annonce
	// 2 cas sont possibles :
	// 1. il s'agit d'un appel a partir de la fenetre principale
	// 2. il s'agit d'un appel a partir de l'iframe affichant la selection
	var linkTitle = (added) ? TXT_SELECTION_ADDED : TXT_SELECTION_ADD;
	if (selectionLink)
	{
		selectionLink.toggleClass("added");
		selectionLink.setAttribute("title", linkTitle);
	}
	if (selectionLinkParent)
	{
		selectionLinkParent.toggleClass("added");
		selectionLinkParent.setAttribute("title", linkTitle);
	}

	// creation de la date d'expiration du cookie
	var expiration = new Date();

	// la date d'expiration du cookie est fixee a j+7
	expiration.setTime(expiration.getTime() + 1000 * 60 * 60 * 24 * 7);

	// creation du cookie
	document.cookie = "MIXADSELECTION=" + cookieValue + "; path=/; expires=" + expiration;

	DisplaySelectionCount(cookieValue);
}
/*******************************************************************************************************************************************************************
 *
 *
 *
 *******************************************************************************************************************************************************************/
function DisplaySelectionCount(cookieValue)
{
	if (cookieValue == null)
	{
		cookieValue = Cookie.read("MIXADSELECTION");
		if (cookieValue == null) cookieValue = "";
	}

	var valueData = cookieValue.split(",");
	var selCount = (valueData.length > 0) ? valueData.length-1 : 0;

	// mise a jour du compteur d'annonces selectionnees
	if ($("mxdSelectionCount"))
	{
		$("mxdSelectionCount").set("html", selCount);
	}
	// mise a jour du compteur d'annonces selectionnees sur la fenetre parente
	// (cas ou l'utilisateur a supprimé une annonce de sa selection a partir de la liste)
	if (window.parent.location != document.location)
	{
		var selectionCountParent = window.parent.document.getElementById("mxdSelectionCount");
		if (selectionCountParent)
		{
			$(selectionCountParent).set("html", selCount);
		}
	}
}