/**
 * Permet de changer de page et garder la selection.
 *
 * @param pTarget Le node que l'on veut traiter.
 * @param pNodeId Le node id ezpublish que l'on veut transmettre.
 */
function SelectAtelier()
{
	/**
	 * L'objet
	 */
	var obj = this;

	/**
	 * La chaine qui contient les parametres a envoyer dans l'url.
	 */
	obj.urlSelect = '?ateliersnodeid=';

	/**
	 * La chaine qui contient les parametres a envoyer dans l'url.
	 */
	obj.urlDeselect = '&notateliersnodeid=';

	/**
	 * Debug mode
	 */
	obj.debug = false;

	/**
	 * La cible pour faire l'affichage du debug
	 */
	obj.targetDbg = document.createElement('div');

	/**
	 * Pour faire des trace.
	 */
	obj.targetDbg.trace = function(pStr)
	{
		obj.targetDbg.innerHTML += pStr;
	}

	/**
	 * Initialise l'objet si besoin
	 */
	obj.init = function()
	{
		if (obj.debug) {
			obj.initDebug();
		}
	}

	/**
	 * Ajoute le node id dans l'url.
	 * @param event
	 * @param Node id a ajouter.
	 */
	obj.select = function(event, pNodeId)
	{
		if (document.all) {//IE
			var checkbox = event.srcElement;
		}
		else {
			var checkbox = event.target;
		}
		obj.targetDbg.trace('<br/>1 urlSelect = ' + obj.urlSelect + '<br/>');
		obj.targetDbg.trace('1 urlDeselect = ' + obj.urlDeselect + '<br/>');
		if (checkbox.checked && obj.urlSelect.match(pNodeId) == null) {
			obj.targetDbg.trace('Not find pNodeId = ' + pNodeId + '<br/>');
			obj.urlSelect = obj.urlSelect.concat(pNodeId + ',');
			obj.urlDeselect = obj.urlDeselect.replace(pNodeId, '');
			//alert('obj.urlSelect : ' + obj.urlSelect + ' obj.urlDeselect : ' + obj.urlDeselect);
		}
		else {
			obj.targetDbg.trace('Find pNodeId = ' + pNodeId + '<br/>');
			obj.urlSelect = obj.urlSelect.replace(pNodeId, '');
			obj.urlDeselect = obj.urlDeselect.concat(pNodeId + ',');
		}
		obj.targetDbg.trace('2 urlSelect = ' + obj.urlSelect + '<br/>');
		obj.targetDbg.trace('2 urlDeselect = ' + obj.urlDeselect + '<br/>');
		obj.writeUrl('SelectAtelierTag1');
		obj.writeUrl('SelectAtelierTag2');
	}

	/**
	 * Ecrit l'url avec les node id et l'affecte au url du systeme de page.
	 */
	obj.writeUrl = function(pTarget)
	{
		var link = document.getElementById(pTarget).getElementsByTagName('a');
		for (var i = 0; i < link.length; i++) {
			link[i].search = obj.urlSelect + obj.urlDeselect;
			obj.targetDbg.trace('3 link[' + i + '] = ' + link[i].search + '<br/>');
		}
	}

	/**
	 * Affiche du debug
	 */
	obj.initDebug = function()
	{
		var body = document.getElementsByTagName('body');
		obj.targetDbg.style.backgroundColor = '#ffffff';
		obj.targetDbg.style.border = 'solid #ff0000 1px';
		obj.targetDbg.style.position = 'absolute';
		obj.targetDbg.style.top = 0;
		obj.targetDbg.style.left = 0;
		obj.targetDbg.innerHTML = 'DEBUG : <br/>';
		body[0].appendChild(obj.targetDbg);
	}

	/**
	 */
	obj.addEvent = function(target, event, func)
	{
		if (target.addEventListener) {
			target.addEventListener(event, func, false);
		}
		else {
			target.attachEvent('on' + event, func);
		}
	}

	/**
	 */
	obj.delEvent = function(target, event, func)
	{
		if (target.addEventListener) {
			target.removeEventListener(event, func, false);
		}
		else {
			target.detachEvent('on' + event, func);
		}
	}

	obj.addEvent(window, 'load', obj.init);
}
