/**
*	Attache une fonction à un évenement d'un objet du DOM
*	@param oElt object : objet du DOM
*	@param sEvt string : évènement
*	@param fFct reference : fonction à associer
*
*/
function globalAttachEvent(oElt, sEvt, fFct) {
	if ( typeof(oElt)=='object' && sEvt.length ) {
		if (document.all) {
			oElt.attachEvent(sEvt, fFct);
		} else {
			sEvt = sEvt.replace(/^on/, '') ;
			oElt.addEventListener(sEvt, fFct, false);
		}
	}
}

document.getElementsByClassName = function (className, tag, oElt) {
   if ( !tag ) tag = '*' ;
   if ( !oElt ) oElt = document ;
   var arrayElements = new Array() ;
   var arrayDiv = oElt.getElementsByTagName(tag) ;
   var re = new RegExp('(?:^|\\s+)' + className + '(?:\\s+|$)') ;
   for (var i=0;i<arrayDiv.length;i++) {
      if ( re.test(arrayDiv[i].className) ) {
         arrayElements[arrayElements.length] = arrayDiv[i] ;
      }
   }
   return arrayElements ;
}

isMaxLength = function (oElt){
	var iMLength = oElt.getAttribute? parseInt(oElt.getAttribute("maxlength")) : "" ;
	if ( oElt.getAttribute && oElt.value.length>iMLength ) oElt.value = oElt.value.substring(0, iMLength) ;
}

array_unique = function( b ) {
	if ( typeof(b)=='object' ) {
		var a = new Array() ;
		b.sort();
		if ( b.length>0 ) { a[0]=b[0]; }
		for( var i=0; i < (b.length-1); i++ ) {
			if( b[i]!=b[i+1] ) { a[a.length]=b[i+1]; }
		}
		return a;
	}
}

Array.prototype.in_array = function(val){
   for(var i in this){
      if(this[i]==val) return true;
   }
   return false;
}

addslashes = function(str) {
	str = str?str:'' ;
	str = str.replace(/\\/g, '\\\\') ;
	str = str.replace(/\'/g, '\\\'') ;
	str = str.replace(/\"/g, '\\"') ;
	str = str.replace(/\0/g, '\\0') ;
	return str ;
}

stripslashes = function(str) {
	str = str?str:'' ;
	str = str.replace(/\\\\/g, '\\') ;
	str = str.replace(/\\'/g, '\'') ;
	str = str.replace(/\\"/g, '"') ;
	str = str.replace(/\\0/g, '\0') ;
	return str ;
}

show = function(id) {
	oDiv = document.getElementById(id);
	if (oDiv) {
		oDiv.style.visibility!='visible' ? oDiv.style.visibility = 'visible' : oDiv.style.visibility = 'hidden';
	}
}

display = function(id) {
	oDiv = document.getElementById(id);
	if (oDiv) {
		oDiv.style.display!='block' ? oDiv.style.display = 'block' : oDiv.style.display = 'none' ;
	}
}

var popup ;

closeWindow = function(){
	if (popup) {
		if (!popup.closed) popup.close() ;
	}
}

openWindow = function(newurl, largeur, hauteur) {
	closeWindow() ;
	var top = Math.round((screen.availHeight-hauteur)/2) ;
	var left = Math.round((screen.availWidth-largeur)/2) ;
	popup = window.open(newurl, 'popup', 'width='+largeur+', height='+hauteur+', scrollbars=no, toolbar=no, location=no, resizable=yes, directories=no, menubar=no, status=no, top='+top+', left='+left ) ;
	popup.focus() ;
}

ajoutFavoris = function() {
	var lien = location.href.replace(/&?(PHPSESSID|SID)=[0-9a-z]*/g, '') ;
	if (document.all) {
		window.external.AddFavorite(lien, document.title) ;
	} else {
		window.sidebar.addPanel(document.title, lien, '') ;
	}
}


printWindow = function() {
	window.print() ;
}

comma2dot = function(oInput) {
	oInput.value = oInput.value.replace(/\,/, '.') ;
}

/**
*	AJUSTEMENT AUTOMATIQUE DIMENSION DU SITE
*
*/
ajusterTaille = function() {
	var iAjustement = 0 ;
	var iHauteurBandeau = 0 ;
	// if (document.all) iAjustement = 4 ;
	var oBandeau = document.getElementById('bandeauHaut') ;
	var oHautBas = document.getElementById('hautBas') ;
	var oBasPage = document.getElementById('basPage') ;
	if (oBandeau && oHautBas && oBasPage) {
		iHauteurBandeau = oBandeau.offsetHeight + iAjustement ;
		iHauteurBandeau += oHautBas.offsetHeight + iAjustement ;
		oBasPage.style.height = parseInt(document.getElementsByTagName('body')[0].offsetHeight - iHauteurBandeau) + 'px';
	}
}

removeNonnumericalChar = function(oInput) {
	var string = oInput.value ;
	while ( string.match(/[^0-9]/) ) {
		string = string.replace(/[^0-9]/, '') ;
	}
	oInput.value = string ;
}