ï»¿var ArticlePagination = Class.create();


ArticlePagination.prototype = {

	// Initialisation de l'ecart paginÃ©
	initialize: function(el, options) {
		this.setOptions(options);
		this.articleEl		= $(el);	// Identifiant de l'encart
		this.pagerEl		= 'pager_' + this.articleEl.id; //Identifiant du pager
		this.nbItemsTotal	= 0;		// Nombre d'Ã©lÃ©ments


		this.items = $A(this.articleEl.getElementsByClassName(this.options.itemClass)); // Recheche des elements
		this.nbItemsTotal = this.items.length;

		
		
		// Affichage de la premiere page
		this.initPager();
		this.drawPage(this, 1);
	},

	// Initialise les options si necessaire
	setOptions: function(options) {
		this.options = {
			itemClass:          'blocArticlePage',
			paginationClass:    'pagination',
			nbItemsPage:         1,
			initNumPage:		 0
		}
		Object.extend(this.options, options || {});
	},


	// Ajoute une barre de pagination si necessaire
	initPager: function() {
		if(this.nbItemsTotal > 0){
			// si l'élément racine de la pagination n'existe pas, on le crée
			if (!$(this.pagerEl)){
				pagination  =	'<ul class="' + this.options.paginationClass + ' wp-pagenavi" id="'+ this.pagerEl +'"></ul>';
				//new Insertion.After(this.encartEl, pagination);
				new Insertion.Bottom(this.articleEl.parentNode, pagination);
			}
		}
	},


	// Affiche les elements d'une page donnÃ©e
	drawPage: function(obj, pageNum) {
		start = (pageNum-1) * this.options.nbItemsPage;
		stop = start + this.options.nbItemsPage;
		for(i=0 ; i < this.nbItemsTotal ; i++){
			if(i >= start && i < stop){
				if(this.items[i]){
					this.items[i].style.display = 'inline';
				}
			}else{
				this.items[i].style.display = 'none';
			}
		}

		// Mise Ã  jour de la pagination si necessaire
		if(this.nbItemsTotal > this.options.nbItemsPage){
			this.drawPager(pageNum);
		}
	},


	// Affiche / rÃ©actualise une barre de liens vers les autre pages
	drawPager: function(pageNum) {
		var pagination = '';
		nbPages = Math.ceil(this.nbItemsTotal/this.options.nbItemsPage);

		for(i=1 ; i <= nbPages ; i++){
			pagination += 	'<li style="margin-left:6px;"><a href="javascript:void(0)" '+ ((i==pageNum)?'class="on"':'class="off"') +'>'+ (i+this.options.initNumPage) +'</a></li>';
		}
		
		//alert("pagination = "+pagination);
		$(this.pagerEl).innerHTML = pagination;		
		//alert("pager = "+$(this.pagerEl).innerHTML );
		// On y ajoute les actions
		items = $A($(this.pagerEl).getElementsByTagName('a'));
		for(i=0 ; i < nbPages ; i++){
			Event.observe(items[i], "click", this.drawPage.bindAsEventListener(this, i+1));
		}

		
		//if ($('previousPage')) new Insertion.First($(this.pagerEl), $('previousPage'));
		//if ($('firstPage')) new Insertion.First($(this.pagerEl), $('firstPage'));
		
		//if ($('nextPage')) new Insertion.Last($(this.pagerEl), $('nextPage'));
		//if ($('lastPage')) new Insertion.Last($(this.pagerEl), $('lastPage'));
	}
}


function lexiqueOver(link,lexiqueId){
	var linkNode = $(link);
	var defNode  = $(lexiqueId);
	
	def = '<div class="lexique">'+defNode.innerHTML+'</div>';
	//alert("lexiqueOver");
	new Insertion.After(linkNode,def);
}

function lexiqueOut(link,lexiqueId){
	//alert("lexiqueOut");
	var linkNode = $(link);
	
	defNodes = linkNode.parentNode.getElementsByTagName('div');
	for(i=0;i < defNodes.length;i++) {
		node = defNodes[i];
		linkNode.parentNode.removeChild(node);
	}
}