
function addLoadEvent(func) {
  var oldonload = window.onload;
  if (typeof window.onload != 'function') {
   window.onload = func;
  } else {
    window.onload = function() {
       if (oldonload) {
         oldonload();
       }
       func();
     }
   }
}

function IntegerRandom(number){
  return Math.floor(Math.random()*(number + 1));
}

function IntegerRandomMinMax(number0 , number1){
  return number0 + Math.floor(Math.random()*(number1-number0+1));
}

function SignedIntegerRandom(number) {
  return IntegerRandomMinMax(-number , number);
}

function AddToBookmarks(link , title) {
  	if (window.sidebar) { // Mozilla Firefox Bookmark
         window.sidebar.addPanel(title, link,"");
        }
        else if( window.external ) { // IE Favorite
          window.external.AddFavorite(link, title);
        }
        else {
         alert ('pas de support sur ce Navigateur\nNo supported on this browser');
        }
}


function	checknumeric(field , defaultvalue)
{
        pattern = /^[1-9][0-9]*\.?[0-9]*$/;

        if(pattern.test(field.value)==false)
        {
                field.value = 0;
                if(defaultvalue){
                    field.value = defaultvalue;
                }
                return false;
        }
        if(defaultvalue){
          if(field.value < defaultvalue){
            field.value = defaultvalue;
            return false;
          }
        }
        return true;
}

function	checkint(field , defaultvalue)
{		pattern = /^[0-9]*$/;


        if(pattern.test(field.value)==false)
        {
                field.value = 0;
                if(defaultvalue){
                    field.value = defaultvalue;
                }
                return false;
        }
        if(defaultvalue){
          if(field.value < defaultvalue){
            field.value = defaultvalue;
            return false;
          }
        }
        return true;
}


function	confirmURL (url , question , window)
{
        if(confirm(question))
        {
            if(window)
                window.location = url;
            else
                document.location = url;
        }
}


function trim(s)
{
   	// Remove leading spaces and carriage returns
   	while ((s.substring(0,1) == ' ') || (s.substring(0,1) == '\n') || (s.substring(0,1) == '\r'))
   	 { s = s.substring(1,s.length); }

   	// Remove trailing spaces and carriage returns
        while ((s.substring(s.length-1,s.length) == ' ') || (s.substring(s.length-1,s.length) == '\n') || (s.substring(s.length-1,s.length) == '\r'))
   	 { s = s.substring(0,s.length-1); }

   	return s;
}

	// Test d'un champ obligatoire
function checkMandatory(field)
{
        field.value =  trim(field.value);
	if( field.value == '' )
	{
		return false;
	}
	else
		return true;
}


// Test de la validité d'un e-mail
function checkEmail(field)
{
	valeur = field.value
	if ((valeur.indexOf('@')!=-1)&& (valeur.indexOf('..')==-1)&&(valeur.indexOf(' ')==-1)&&(valeur.indexOf('.')!=-1))
	{
		return true;
	}
	else
		return false;
}

// Test de la longueur d'une chaîne
function checkStringLength(field, nb)
{
	if (field.value.length < nb)
	{
		return false;
	}
	else
		return true;
}

// Comparaison entre deux chaînes (deux mots de passe par exemple)
function compare(field1, field2)
{
	if( field1.value != field2.value )
	{
		return false;
	}
	else
		return true;
}

function pageWidth() {
  return window.innerWidth != null?
    window.innerWidth
    :
    document.documentElement && document.documentElement.clientWidth ?
      document.documentElement.clientWidth
      :document.body != null?
          document.body.clientWidth
          :
          null;
}

function pageHeight() {
 return window.innerHeight != null?
    window.innerHeight
    :
    document.documentElement && document.documentElement.clientHeight ?
        document.documentElement.clientHeight
        :
        document.body != null?
            document.body.clientHeight
            :
            null;
}


function MousePosition(X , Y){
  this.X = X;
  this.Y = Y;
}

function getMousePosition(e) {
var posx = 0;
  var posy = 0;
  if (!e) var e = window.event;
  if (e.pageX || e.pageY)
  {
    return new  MousePosition(e.pageX , e.pageY);
  }
  else if (e.clientX || e.clientY)
  {
    return new  MousePosition(e.clientX + document.body.scrollLeft + document.documentElement.scrollLeft , e.clientY + document.body.scrollTop + document.documentElement.scrollTop);
  }
}


function getAbsoluteX(MyObject)
    {
    if (MyObject.offsetParent)
        return (MyObject.offsetLeft + getAbsoluteX(MyObject.offsetParent));
    else
        return (MyObject.offsetLeft);
    }

function getAbsoluteY(MyObject)
    {
    if (MyObject.offsetParent)
        return (MyObject.offsetTop + getAbsoluteY(MyObject.offsetParent));
    else
        return (MyObject.offsetTop);
    }




