
function is_int( x ){ return ( x == parseInt( x ) ); }
function is_float( x ){ return ( x == parseFloat( x ) ); }

String.prototype.trim  = function(){ return this.replace( /^[ ]+|[ ]+$/, "" ); };
String.prototype.ltrim = function(){ return this.replace( /^[ ]+/, "" ); };
String.prototype.rtrim = function(){ return this.replace( /[ ]+$/, "" ); };

// ajoute un évènement
function addEvent( element, event, callback ){
  if( element.addEventListener ) {
    element.addEventListener( event, callback, false );
  }
  else if( element.attachEvent ) {
    element.attachEvent( "on" + event, function(){ callback.call( element ); } );
  }
}

// retire un évènement
function removeEvent( element, event, callback ){
  if( element.removeEventListener ) {
    element.removeEventListener( event, callback, false );
  }
  else if( element.DetachEvent ) {
    element.DetachEvent( "on" + event, function(){ callback.call( element ); } );
  }
}

// requête AJAX
function request(){
  var httpRequest = false;
  
  if( window.XMLHttpRequest ) // Mozilla, Safari,...
  {
    httpRequest = new XMLHttpRequest();
    if( httpRequest.overrideMimeType ) {
      httpRequest.overrideMimeType( "text/plain" );
    }
  }
  else if( window.ActiveXObject ) // IE
  {
    try {
      httpRequest = new ActiveXObject( "Msxml2.XMLHTTP" );
    }
    catch( e ){
      try {
        httpRequest = new ActiveXObject( "Microsoft.XMLHTTP" );
      }
      catch( e ){
        alert( "Votre navigateur ne supporte pas AJAX" );
        return false;
      }
    }
  }
  return httpRequest;
}

