function trim(str) {
   return str.replace(/^\s*|\s*$/g,'');
}

function subrstr(str,nbr) {
	return str.substr(str.length-nbr);
	// return str.slice(-nbr)
}


/**
 * Ajoute l'attribut target="_blank" à tous les liens class="external"
 */
function externalLinks() {
	if (!document.getElementsByTagName) {
		return;
	}

	var anchors = document.getElementsByTagName("a");
	for ( var i = 0; i < anchors.length; i++) {
		var anchor = anchors[i];
		var relvalue = anchor.getAttribute("rel");

		if (anchor.getAttribute("href")) {
			var external = /external/;
			var relvalue = anchor.getAttribute("rel");
			if (external.test(relvalue)) {
				anchor.target = "_blank";
			}
		}
	}
}

/**
 * Ajoute l'attribut autocomplete="off" $ tous les input class="disableAutoComplete"
 * @return
 */
function disableAutoComplete() {
	if (document.getElementsByTagName) {
		var inputElements = document.getElementsByTagName("input");
		for (i=0; inputElements[i]; i++) {
			if (inputElements[i].className && (inputElements[i].className.indexOf("disableAutoComplete") != -1)) {
				inputElements[i].setAttribute("autocomplete", "off");
			}
		}
	} 
}

function addDaysToDate(old_date, delta_days) {
	// Date plus plus quelques jours
	var split_date = old_date.split('.');
	// Les mois vont de 0 a 11 donc on enleve 1, cast avec *1
	var new_date = new Date(((new_year < 200) ? 1900 : 0) + parseInt(split_date[2]), split_date[1], parseInt(split_date[0]) + 8);
	var new_day = new_date.getDate();
	new_day = ((new_day < 10) ? '0' : '') + new_day; // ajoute un zéro devant pour la forme  
	var new_month = new_date.getMonth();
	new_month = ((new_month < 10) ? '0' : '') + new_month; // ajoute un zéro devant pour la forme  
	var new_year = new_date.getYear();
	new_year = ((new_year < 200) ? 1900 : 0) + new_year; // necessaire car IE et FF retourne pas la meme chose  
	var new_date_text = new_day + '.' + new_month + '.' + new_year;
	return new_date_text;
}

/* **********************************************************************
 * ****** Récupère les coordonnées de la souris lors de l'évément e *****
 * ********************************************************************** */
function getcords(e) {
	mouseX = Event.pointerX(e);
	mouseY = Event.pointerY(e);

	posx = e.clientX + document.body.scrollLeft + document.documentElement.scrollLeft;
	posy = e.clientY + document.body.scrollTop + document.documentElement.scrollTop;

	// corriger l'offset du au centrage de la page !!!
	var offset = ( document.documentElement.clientWidth - $("logo").getWidth() + parseInt($("logo").getStyle("padding-left")) + parseInt($("logo").getStyle("padding-right")) - parseInt($("body").getStyle("padding-left")) - parseInt($("body").getStyle("padding-right")) ) / 2;
	mouseX -= parseInt(offset < 0 ? 0 : offset);
}


/**
 * Affiche ou cache progressivement un élément
 * @param element			id de l'élément
 * @param opacite			opacité (progressive)
 * @param sens				+1 ou -1
 */
function progressiveAlpha(element, opacite, sens) {
	if (opacite == 0) {
		if (sens > 0) {
			$(element).show();
		} else {
			$(element).hide();
		}
	}
	opacite = opacite + 5 * sens;
	if ( (sens > 0 && opacite <= 75) || (sens < 0 && opacite >= 0) ) {
		$(element).style.opacity = (opacite / 100);
		$(element).style.filter = 'alpha(opacity=' + opacite + ')';
		setTimeout("progressiveAlpha('" + element + "', " + opacite + ", " + sens + ")", 10);
	}
}

/**
 * Position le pop-up d'affichage d'informations, selon les coordonnées d'un élément
 */
var popup_element = null;
function positionPopup() {
	if (popup_element) {
		var offsets = Element.cumulativeOffset(popup_element);
		var top =
			parseInt(offsets[1])
		  + parseInt(popup_element.getStyle('height'))
		  + parseInt(popup_element.getStyle('padding-top'))
		  + parseInt(popup_element.getStyle('margin-top'))
		  + (is_ie ? 0 : 23) // TODO ??? d'où ça vient ???
		  ;
		var left =
			parseInt(offsets[0])
		  + parseInt(document.body.offsetLeft)
		  ;
		var width =
			parseInt(popup_element.getStyle('width'))
		  + parseInt(popup_element.getStyle('padding-left'))
		  + parseInt(popup_element.getStyle('padding-right'))
		  ;
		$("popup").style.top = top + 'px';
		$("popup").style.left = left + 'px';
		$("popup").style.width  = width + 'px';
	}
}