
Array.prototype.inArray = function (value)
{
    var i;
    for (i=0; i < this.length; i++) {
        // Matches identical (===), not just similar (==).
        if (this[i] === value) {
            return true;
        }
    }
    return false;
};

String.prototype.trim = function(){
	return this.replace(/^\s+/, "").replace(/\s+$/, "");
}

function verifierEmail(email)
{

  /* var reg = new RegExp('^[a-z0-9]+([_|\.|-]{1}[a-z0-9]+)*@[a-z0-9]+([\.|-]{1}[a-z0-9]+)*[\.]{1}[a-z]{2,6}$', 'i');

	if(reg.test(mailteste))
	{
		return(true);
	}
	else
	{
		return(false);
	}*/

	var re=/^[a-z\d]+((\.|-|_)[a-z\d]+)*@((?![-\d])[a-z\d-]{0,62}[a-z\d]\.){1,4}[a-z]{2,6}$/gi;
    return (email.match(re)==email)&&(email.substr(email.lastIndexOf("@")).length<=256);
}


/**
 *
 * @access public
 * @return void
 **/
/**
 *
 * @access public
 * @return void
 **/
function verifierTelephone(tel){
   var reg=new RegExp('^()0[1-68]([-. ]?[0-9]{2}){4}$');
   if(reg.test(tel))
	{
		return(true);
	}
	else
	{
		return(false);
	}
}

function isDate(dateStr) {

//var datePat = /^(\d{1,2})(\/|-)(\d{1,2})(\/|-)(\d{4})$/;
var datePat = /^(\d{1,2})(\/)(\d{1,2})(\/)(\d{4})$/;

var matchArray = dateStr.match(datePat); // is the format ok?

if (matchArray == null) {
return false;
}

 day= matchArray[1]; // p@rse date into variables
 month= matchArray[3];
year = matchArray[5];

if (month < 1 || month > 12) {
return false;
}

if (day < 1 || day > 31) {
return false;
}

if ((month==4 || month==6 || month==9 || month==11) && day==31) {
return false;
}

if (month == 2) {
var isleap = (year % 4 == 0 && (year % 100 != 0 || year % 400 == 0));
if (day > 29 || (day==29 && !isleap)) {
return false;
}
}
return true;
}

function isNumeric(sText)
{
   var ValidChars = "0123456789";
   var IsNumber=true;
   var Char;

   for (i = 0; i < sText.length && IsNumber == true; i++)
   {
      Char = sText.charAt(i);
      if (ValidChars.indexOf(Char) == -1)
      {
         IsNumber = false;
      }
   }
   return IsNumber;
}

function findValues(json_arr, name)
{
      for(var i=0; i<json_arr.length; i++)
      {
        if (json_arr[i]['name'] ==name) return json_arr[i]['value'];
      }
      return "";
}



/*
Elle retourne les coordonnees  left ou top de l'element d'ID inID
*/
function getOffsetPosition (inID, inTYPE){
    var iVal = 0;
    var oObj = document.getElementById(inID);
    //alert('oObj.id = ' + oObj.id);
    var sType = 'oObj.offset' + inTYPE;
    while (oObj && oObj.tagName != 'BODY') {
    iVal += eval(sType);
    oObj = oObj.offsetParent;
    }

    return iVal;
}


/**
 *
 * @access public
 * @return void
 **/
function taille_ecran(){
	if (document.body)
	{
	  var larg = (document.body.clientWidth);
	  var haut = (document.body.clientHeight);
	}

/*
Ici une version DOM (le script est entre les balises <body> et </body>) qui devrait fonctionner sur tous les navigateurs.
On commence donc par détecter la présence de l'objet body dans le DOM.
Si il est présent, on va mettre dans 2 variables larg et haut la largeur et la hauteur de la fenêtre pris avec les propriétés clientWidth et clientHeight de l'objet body.
*/
   else
   {
     var larg = (window.innerWidth);
     var haut = (window.innerHeight);
    }
    return {'width':larg,'height':haut};
}
/**
 *
 * @access public
 * @return void
 **/
function removeAt(arr,index){
	var tmp_arr= [];
	for (var i=0; i<arr.length; i++){
	  if (index != i) {
	  	tmp_arr.push(arr[i]);
	  }
	}
	return tmp_arr;
}

function simulateClick(elt_id) {

  var cb = document.getElementById(elt_id);

  if (cb.dispatchEvent) {

    var evt = document.createEvent("MouseEvents");

    evt.initEvent("click", true, true);

    cb.dispatchEvent(evt);

  } else {
    cb.click();

  }
}
