function IntegerRandom(number){
  return Math.floor(Math.random()*number);
}



function	checknumeric(field)
{
        pattern = /^[1-9][0-9]*\.?[0-9]*$/;
        if(pattern.test(field.value)==false)
        {
                alert("Valeur incorrecte pour le champ numerique " + field.name);
                field.value = 0;
        }
}

function	checkint(field)
{		pattern = /^[0-9]*$/;

        if(pattern.test(field.value)==false)
        {
                alert("Valeur incorrecte pour le champ entier " + field.name);
                field.value = 0;
        }
}


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);
    }




