//----- MENU --------
function showMenu(id) {
var d = document.getElementById(id);
	for (var i = 1; i<=10; i++) {
		if (document.getElementById('smenu'+i)) {document.getElementById('smenu'+i).style.display='none';document.getElementById('smenu'+i).parentNode.className='';}
	}
if (d) {d.style.display='block';d.parentNode.className='current';}
}

//----- CALL --------
function call( adress ) 
{
	try{
		$.loading(true, {align: 'center',element:'#loadingScreen',mask:true, maskCss:{background:'#000', opacity:0.5}});
		document.forms[0].action = "/epowerplant/"+adress;
		document.forms[0].submit();
	}
	catch(err)
	{
		callNoLoading(adress);
	}
}

function callNoLoading( adress ) 
{
	document.forms[0].action = "/epowerplant/"+adress;
	document.forms[0].submit();
}

function callWithIdItem( adress )
{
	var idItem = getParameter("idItem");
	var newAdress = adress + "?idItem="+idItem;
	call( newAdress );
}
function callWithIdItem( link )
{
 	call( link + "?idItem=" + document.forms[0].id.value);
}
function callWithSubscriberId( link )
{
 	call( link + "?subscriberId=" + document.forms[0].subscriberId.value );
}
function callWithSiteId( link )
{
 	call( link + "?siteId=" + document.forms[0].siteId.value );
}
function callWithMomboxId( link )
	{
	 	call( link + "?momboxId=" + document.forms[0].momboxId.value );
	}
	
//-----------  INFO-BULLE  -------------------	
function move(e) {
	if(isInfoBulleVisible) {
    if (navigator.appName!="Microsoft Internet Explorer") {
	    document.getElementById('infobulle').style.left=e.pageX-270 + "px";
	    document.getElementById('infobulle').style.top=e.pageY-70+ "px";
    }else{
	    if(document.documentElement.clientWidth>0) {
			document.getElementById('infobulle').style.left=event.x-document.documentElement.scrollLeft+"px";
			document.getElementById('infobulle').style.top=event.y+document.documentElement.scrollTop+175+"px";
    	}else {
			document.getElementById('infobulle').style.left=event.x-document.body.scrollLeft+"px";
			document.getElementById('infobulle').style.top=event.y+document.body.scrollTop+175+"px";
        }
    }
  }
}

function hideInfoBulle() {
	if(isInfoBulleVisible==true) {
		document.getElementById('infobulle').style.visibility="hidden";
		isInfoBulleVisible=false;
	}
}

//----- CHECKBOXES --------------
function toggleAllCheckboxes(field)
{
	for (i = 0; i < field.length; i++)
	field[i].checked = true ;
}

//----- POP-UP --------
function popup( mylink, windowname )
{
	if (! window.focus)return true;
	var href;
	if (typeof(mylink) == 'string')
	   href=mylink;
	else
	   href=mylink.href;
	window.open(href, windowname, 'width=1200,height=800,scrollbars=yes');
	return false;
}
function popupWithSiteId( link,title) 
{
	var siteId = getParameter("siteId");
	link = link + "&siteId=" + siteId;
	return popup ( link, title );
}
function popupForAddEvent( link,title) 
{
	var siteId = getParameter("siteId");
	var modulatorId = getParameter( "modulatorId" );
	var momboxId = getParameter( "momboxId" );
	var parentTicketEventId = getParameter( "ticketEventId" );
	var parentTicketActionId = getParameter( "ticketActionId" );
	
	if( siteId != null && siteId != 0 )
	{
		link = link + "&siteId=" + siteId;
	}
	if( modulatorId != null && modulatorId != 0 )
	{
		link = link + "&modulatorId=" + modulatorId;
	}
	if( momboxId != null && momboxId != 0 )
	{
		link = link + "&momboxId=" + momboxId;
	}
	if( parentTicketEventId != null && parentTicketEventId != 0 )
	{
		link = link + "&ticketEventId=" + parentTicketEventId;
	}
	if( parentTicketActionId != null && parentTicketActionId != 0 )
	{
		link = link + "&ticketActionId=" + parentTicketActionId;
	}
	
	return popup ( link, title );
}
function popupForAddAction( link,title) 
{
	var siteId = getParameter("siteId");
	var modulatorId = getParameter( "modulatorId" );
	var momboxId = getParameter( "momboxId" );
	var ticketEventId = getParameter( "ticketEventId" );
	var parentTicketActionId = getParameter( "ticketActionId" );
	
	if( siteId != null && siteId != 0 )
	{
		link = link + "&siteId=" + siteId;
	}
	if( modulatorId != null && modulatorId != 0 )
	{
		link = link + "&modulatorId=" + modulatorId;
	}
	if( momboxId != null && momboxId != 0 )
	{
		link = link + "&momboxId=" + momboxId;
	}
	if( ticketEventId != null && ticketEventId != 0 )
	{
		link = link + "&ticketEventId=" + ticketEventId;
	}
	if( parentTicketActionId != null && parentTicketActionId != 0 )
	{
		link = link + "&ticketActionId=" + parentTicketActionId;
	}
	
	return popup ( link, title );
}
function popupWithItemId( link,title) 
{
	var ticketEventId = getParameter("idItem");
	link = link + "&idItem=" + ticketEventId;
	return popup ( link, title );
}
//----- FONCTIONNAL --------
function getParameter(nomVariable)
 {
 var infos = location.href.substring(location.href.indexOf("?")+1, location.href.length)+"&"
 if (infos.indexOf("#")!=-1)
 infos = infos.substring(0,infos.indexOf("#"))+"&"
 var variable=0
 {
 nomVariable = nomVariable + "="
 var taille = nomVariable.length
 if (infos.indexOf(nomVariable)!=-1)
 variable = infos.substring(infos.indexOf(nomVariable)+taille,infos.length).substring(0,infos.substring(infos.indexOf(nomVariable)+taille,infos.length).indexOf("&"))
 }
 return variable
 } 

function isNumeric(val)
{
	val=val.replace(",",".");
	return(parseFloat(val,10)==(val*1));
}

function isBlank(val){
	if(val==null){return true;}
	for(var i=0;i<val.length;i++) {
		if ((val.charAt(i)!=' ')&&(val.charAt(i)!="\t")&&(val.charAt(i)!="\n")&&(val.charAt(i)!="\r")){return false;}
		}
	return true;
}
String.prototype.trim = function()
{
    return this.replace(/(?:^\s+|\s+$)/g, "");
}

//----- FROM AN INPUT TO NEXT ONE --------
/* Script cr�� par le site WEB Creation >> http://www.web-creation-fr.com */
function toSecondField(field1, field2, max) {
// Nombre de caract�res max autoris�s avant de passer au champ suivant
//var max = 2;
if (document.getElementById && !document.all) {
var max = max-1;
}
// longueur actuelle du field1
StrLen = field1.value.length
// Si le nombre de caract�res est >= au nombre max autoris�, on passe au champ suivant
if (StrLen >= max) {
	// On s�lectionne les 'max' premiers caract�res entr�s et on les d�finit comme valeur pour le field1
	field1.value = field1.value.substring(0,max);
	// On initialise le field2 � rien
	field2.value="";
	// Et on met le focus sur celui-ci, pour ne pas avoir � cliquer
	field2.focus();					
	}
}

//----- CSV --------
function recup_extension(fichier) // File extention recuperation function
   {
         if (fichier!="")// if field is not empty
         {
            nom_fichier=fichier.value;// We get the complete file path
            nbchar = nom_fichier.length;
            extension = nom_fichier.substring(nbchar-4,nbchar); // We get the last 4 char
            extension=extension.toLowerCase(); //on uniforme les caracteres en minuscules au cas ou cela aurait �t� �cris en majuscule...
            return extension; // on renvoi l'extension vers la fonction appelante
         }
   }

function isExtensionCorrect(file, ext_control)// fonction v�rification de l'extension apr�s avoir choisi le fichier
   {
   ext = recup_extension(file);// on appelle la fonction de r�cup�ration de l'extension et on r�cupere l'extension
   
            if(ext==ext_control){return true;}// si extension = a une des extension suivante alors tout est ok donc ... pas d'erreur
            else
            { return false; }
   }	
   
function applyCsvFile( link )
	{ var csvFile = document.forms[0].csvFile;
		if ( csvFile.size > "0" && isExtensionCorrect(csvFile, ".csv") )
		{ 
			call( link + "?csvFilename=" + document.forms[0].csvFile.value );
			return true;
		} else { alert ( "Le fichier csv est absent, vide ou invalide !");
			return false; }
	}
	
/**
 * Cookies functions
 *
 */
 
// Create a cookie 
 function SetCookie(name, value, days) {
     var expire = new Date ();
     expire.setTime (expire.getTime() + (24 * 60 * 60 * 1000) * days);
     document.cookie = name + "=" + escape(value) + "; expires=" +expire.toGMTString();
}

// Get a cookie value
function GetCookie(name) {
     var startIndex = document.cookie.indexOf(name);
     if (startIndex != -1) {
          var endIndex = document.cookie.indexOf(";", startIndex);
          if (endIndex == -1) endIndex = document.cookie.length;
          return unescape(document.cookie.substring(startIndex+name.length+1, endIndex));
     }
     else {
          return null;
     }
}
// Delete a cookie
function DeleteCookie(name) {
     var expire = new Date ();
     expire.setTime (expire.getTime() - (24 * 60 * 60 * 1000));
     document.cookie = name + "=; expires=" + expire.toGMTString();
}
 
/**
 * Copyright (c)2005-2007 Matt Kruse (javascripttoolbox.com)
 * 
 * Dual licensed under the MIT and GPL licenses. 
 * This basically means you can use this code however you want for
 * free, but don't claim to have written it yourself!
 * Donations always accepted: http://www.JavascriptToolbox.com/donate/
 * 
 * Please do not link to the .js files on javascripttoolbox.com from
 * your site. Copy the files locally to your server instead.
 * 
 */
/*
Date functions

These functions are used to parse, format, and manipulate Date objects.
See documentation and examples at http://www.JavascriptToolbox.com/lib/date/

*/
Date.$VERSION = 1.02;

// Utility function to append a 0 to single-digit numbers
Date.LZ = function(x) {return(x<0||x>9?"":"0")+x};
// Full month names. Change this for local month names
Date.monthNames = new Array('January','February','March','April','May','June','July','August','September','October','November','December');
// Month abbreviations. Change this for local month names
Date.monthAbbreviations = new Array('Jan','Feb','Mar','Apr','May','Jun','Jul','Aug','Sep','Oct','Nov','Dec');
// Full day names. Change this for local month names
Date.dayNames = new Array('Sunday','Monday','Tuesday','Wednesday','Thursday','Friday','Saturday');
// Day abbreviations. Change this for local month names
Date.dayAbbreviations = new Array('Sun','Mon','Tue','Wed','Thu','Fri','Sat');
// Used for parsing ambiguous dates like 1/2/2000 - default to preferring 'American' format meaning Jan 2.
// Set to false to prefer 'European' format meaning Feb 1
Date.preferAmericanFormat = false;

// If the getFullYear() method is not defined, create it
if (!Date.prototype.getFullYear) { 
  Date.prototype.getFullYear = function() { var yy=this.getYear(); return (yy<1900?yy+1900:yy); } ;
} 

// Parse a string and convert it to a Date object.
// If no format is passed, try a list of common formats.
// If string cannot be parsed, return null.
// Avoids regular expressions to be more portable.
Date.parseString = function(val, format) {
  // If no format is specified, try a few common formats
  if (typeof(format)=="undefined" || format==null || format=="") {
    var generalFormats=new Array('y-M-d','MMM d, y','MMM d,y','y-MMM-d','d-MMM-y','MMM d','MMM-d','d-MMM');
    var monthFirst=new Array('M/d/y','M-d-y','M.d.y','M/d','M-d');
    var dateFirst =new Array('d/M/y','d-M-y','d.M.y','d/M','d-M');
    var checkList=new Array(generalFormats,Date.preferAmericanFormat?monthFirst:dateFirst,Date.preferAmericanFormat?dateFirst:monthFirst);
    for (var i=0; i<checkList.length; i++) {
      var l=checkList[i];
      for (var j=0; j<l.length; j++) {
        var d=Date.parseString(val,l[j]);
        if (d!=null) { 
          return d; 
        }
      }
    }
    return null;
  };

  this.isInteger = function(val) {
    for (var i=0; i < val.length; i++) {
      if ("1234567890".indexOf(val.charAt(i))==-1) { 
        return false; 
      }
    }
    return true;
  };
  this.getInt = function(str,i,minlength,maxlength) {
    for (var x=maxlength; x>=minlength; x--) {
      var token=str.substring(i,i+x);
      if (token.length < minlength) { 
        return null; 
      }
      if (this.isInteger(token)) { 
        return token; 
      }
    }
  return null;
  };
  val=val+"";
  format=format+"";
  var i_val=0;
  var i_format=0;
  var c="";
  var token="";
  var token2="";
  var x,y;
  var year=new Date().getFullYear();
  var month=1;
  var date=1;
  var hh=0;
  var mm=0;
  var ss=0;
  var ampm="";
  while (i_format < format.length) {
    // Get next token from format string
    c=format.charAt(i_format);
    token="";
    while ((format.charAt(i_format)==c) && (i_format < format.length)) {
      token += format.charAt(i_format++);
    }
    // Extract contents of value based on format token
    if (token=="yyyy" || token=="yy" || token=="y") {
      if (token=="yyyy") { 
        x=4;y=4; 
      }
      if (token=="yy") { 
        x=2;y=2; 
      }
      if (token=="y") { 
        x=2;y=4; 
      }
      year=this.getInt(val,i_val,x,y);
      if (year==null) { 
        return null; 
      }
      i_val += year.length;
      if (year.length==2) {
        if (year > 70) { 
          year=1900+(year-0); 
        }
        else { 
          year=2000+(year-0); 
        }
      }
    }
    else if (token=="MMM" || token=="NNN"){
      month=0;
      var names = (token=="MMM"?(Date.monthNames.concat(Date.monthAbbreviations)):Date.monthAbbreviations);
      for (var i=0; i<names.length; i++) {
        var month_name=names[i];
        if (val.substring(i_val,i_val+month_name.length).toLowerCase()==month_name.toLowerCase()) {
          month=(i%12)+1;
          i_val += month_name.length;
          break;
        }
      }
      if ((month < 1)||(month>12)){
        return null;
      }
    }
    else if (token=="EE"||token=="E"){
      var names = (token=="EE"?Date.dayNames:Date.dayAbbreviations);
      for (var i=0; i<names.length; i++) {
        var day_name=names[i];
        if (val.substring(i_val,i_val+day_name.length).toLowerCase()==day_name.toLowerCase()) {
          i_val += day_name.length;
          break;
        }
      }
    }
    else if (token=="MM"||token=="M") {
      month=this.getInt(val,i_val,token.length,2);
      if(month==null||(month<1)||(month>12)){
        return null;
      }
      i_val+=month.length;
    }
    else if (token=="dd"||token=="d") {
      date=this.getInt(val,i_val,token.length,2);
      if(date==null||(date<1)||(date>31)){
        return null;
      }
      i_val+=date.length;
    }
    else if (token=="hh"||token=="h") {
      hh=this.getInt(val,i_val,token.length,2);
      if(hh==null||(hh<1)||(hh>12)){
        return null;
      }
      i_val+=hh.length;
    }
    else if (token=="HH"||token=="H") {
      hh=this.getInt(val,i_val,token.length,2);
      if(hh==null||(hh<0)||(hh>23)){
        return null;
      }
      i_val+=hh.length;
    }
    else if (token=="KK"||token=="K") {
      hh=this.getInt(val,i_val,token.length,2);
      if(hh==null||(hh<0)||(hh>11)){
        return null;
      }
      i_val+=hh.length;
      hh++;
    }
    else if (token=="kk"||token=="k") {
      hh=this.getInt(val,i_val,token.length,2);
      if(hh==null||(hh<1)||(hh>24)){
        return null;
      }
      i_val+=hh.length;
      hh--;
    }
    else if (token=="mm"||token=="m") {
      mm=this.getInt(val,i_val,token.length,2);
      if(mm==null||(mm<0)||(mm>59)){
        return null;
      }
      i_val+=mm.length;
    }
    else if (token=="ss"||token=="s") {
      ss=this.getInt(val,i_val,token.length,2);
      if(ss==null||(ss<0)||(ss>59)){
        return null;
      }
      i_val+=ss.length;
    }
    else if (token=="a") {
      if (val.substring(i_val,i_val+2).toLowerCase()=="am") {
        ampm="AM";
      }
      else if (val.substring(i_val,i_val+2).toLowerCase()=="pm") {
        ampm="PM";
      }
      else {
        return null;
      }
      i_val+=2;
    }
    else {
      if (val.substring(i_val,i_val+token.length)!=token) {
        return null;
      }
      else {
        i_val+=token.length;
      }
    }
  }
  // If there are any trailing characters left in the value, it doesn't match
  if (i_val != val.length) { 
    return null; 
  }
  // Is date valid for month?
  if (month==2) {
    // Check for leap year
    if ( ( (year%4==0)&&(year%100 != 0) ) || (year%400==0) ) { // leap year
      if (date > 29){ 
        return null; 
      }
    }
    else { 
      if (date > 28) { 
        return null; 
      } 
    }
  }
  if ((month==4)||(month==6)||(month==9)||(month==11)) {
    if (date > 30) { 
      return null; 
    }
  }
  // Correct hours value
  if (hh<12 && ampm=="PM") {
    hh=hh-0+12; 
  }
  else if (hh>11 && ampm=="AM") { 
    hh-=12; 
  }
  return new Date(year,month-1,date,hh,mm,ss);
};

// Check if a date string is valid
Date.isValid = function(val,format) {
  return (Date.parseString(val,format) != null);
};

// Check if a date object is before another date object
Date.prototype.isBefore = function(date2) {
  if (date2==null) { 
    return false; 
  }
  return (this.getTime()<date2.getTime());
};

// Check if a date object is after another date object
Date.prototype.isAfter = function(date2) {
  if (date2==null) { 
    return false; 
  }
  return (this.getTime()>date2.getTime());
};

// Check if two date objects have equal dates and times
Date.prototype.equals = function(date2) {
  if (date2==null) { 
    return false; 
  }
  return (this.getTime()==date2.getTime());
};

// Check if two date objects have equal dates, disregarding times
Date.prototype.equalsIgnoreTime = function(date2) {
  if (date2==null) { 
    return false; 
  }
  var d1 = new Date(this.getTime()).clearTime();
  var d2 = new Date(date2.getTime()).clearTime();
  return (d1.getTime()==d2.getTime());
};

// Format a date into a string using a given format string
Date.prototype.format = function(format) {
  format=format+"";
  var result="";
  var i_format=0;
  var c="";
  var token="";
  var y=this.getYear()+"";
  var M=this.getMonth()+1;
  var d=this.getDate();
  var E=this.getDay();
  var H=this.getHours();
  var m=this.getMinutes();
  var s=this.getSeconds();
  var yyyy,yy,MMM,MM,dd,hh,h,mm,ss,ampm,HH,H,KK,K,kk,k;
  // Convert real date parts into formatted versions
  var value=new Object();
  if (y.length < 4) {
    y=""+(+y+1900);
  }
  value["y"]=""+y;
  value["yyyy"]=y;
  value["yy"]=y.substring(2,4);
  value["M"]=M;
  value["MM"]=Date.LZ(M);
  value["MMM"]=Date.monthNames[M-1];
  value["NNN"]=Date.monthAbbreviations[M-1];
  value["d"]=d;
  value["dd"]=Date.LZ(d);
  value["E"]=Date.dayAbbreviations[E];
  value["EE"]=Date.dayNames[E];
  value["H"]=H;
  value["HH"]=Date.LZ(H);
  if (H==0){
    value["h"]=12;
  }
  else if (H>12){
    value["h"]=H-12;
  }
  else {
    value["h"]=H;
  }
  value["hh"]=Date.LZ(value["h"]);
  value["K"]=value["h"]-1;
  value["k"]=value["H"]+1;
  value["KK"]=Date.LZ(value["K"]);
  value["kk"]=Date.LZ(value["k"]);
  if (H > 11) { 
    value["a"]="PM"; 
  }
  else { 
    value["a"]="AM"; 
  }
  value["m"]=m;
  value["mm"]=Date.LZ(m);
  value["s"]=s;
  value["ss"]=Date.LZ(s);
  while (i_format < format.length) {
    c=format.charAt(i_format);
    token="";
    while ((format.charAt(i_format)==c) && (i_format < format.length)) {
      token += format.charAt(i_format++);
    }
    if (typeof(value[token])!="undefined") { 
      result=result + value[token]; 
    }
    else { 
      result=result + token; 
    }
  }
  return result;
};

// Get the full name of the day for a date
Date.prototype.getDayName = function() { 
  return Date.dayNames[this.getDay()];
};

// Get the abbreviation of the day for a date
Date.prototype.getDayAbbreviation = function() { 
  return Date.dayAbbreviations[this.getDay()];
};

// Get the full name of the month for a date
Date.prototype.getMonthName = function() {
  return Date.monthNames[this.getMonth()];
};

// Get the abbreviation of the month for a date
Date.prototype.getMonthAbbreviation = function() { 
  return Date.monthAbbreviations[this.getMonth()];
};

// Clear all time information in a date object
Date.prototype.clearTime = function() {
  this.setHours(0); 
  this.setMinutes(0);
  this.setSeconds(0); 
  this.setMilliseconds(0);
  return this;
};

// Add an amount of time to a date. Negative numbers can be passed to subtract time.
Date.prototype.add = function(interval, number) {
  if (typeof(interval)=="undefined" || interval==null || typeof(number)=="undefined" || number==null) { 
    return this; 
  }
  number = +number;
  if (interval=='y') { // year
    this.setFullYear(this.getFullYear()+number);
  }
  else if (interval=='M') { // Month
    this.setMonth(this.getMonth()+number);
  }
  else if (interval=='d') { // Day
    this.setDate(this.getDate()+number);
  }
  else if (interval=='w') { // Weekday
    var step = (number>0)?1:-1;
    while (number!=0) {
      this.add('d',step);
      while(this.getDay()==0 || this.getDay()==6) { 
        this.add('d',step);
      }
      number -= step;
    }
  }
  else if (interval=='h') { // Hour
    this.setHours(this.getHours() + number);
  }
  else if (interval=='m') { // Minute
    this.setMinutes(this.getMinutes() + number);
  }
  else if (interval=='s') { // Second
    this.setSeconds(this.getSeconds() + number);
  }
  return this;
};

function isDateTime(str) {
	xplosed = str.split(' ');
	if (xplosed.length == 2)
		return isDate(xplosed[0]) && isTime(xplosed[1]);
	else if (xplosed.length == 1)
		return isDate(xplosed[0]);
	return false;
}
function isTime(str) {
    var regTime = /^(\d{2}):(\d{2})$/;
	var match = str.match(regTime);
    if (match) {
		var hours = Number(match[1]);
		var minutes = Number(match[2]);
		d = new Date(0, 0, 0, hours, minutes); 	
		if (d.getHours() == hours && d.getMinutes() == minutes)
			return true;
	}
    return false;
}
function isDate(str) {
	var regFullDate = /^(\d{1,2})\/(\d{1,2})\/(\d{4})$/;
	var match = str.match(regFullDate);
    if (match) {
		var day = Number(match[1]);
		var month = Number(match[2]);
		var year = Number(match[3]);
		d = new Date(year, month-1, day);
		if (d.getDate() == day && d.getMonth()+1 == month && d.getFullYear() == year)
			return true;
	}
    return false;
}

function translateDateStr( dateTimeStr,step )
{
	if ( isDateTime( dateTimeStr ) ) 
	{ 
		var myDate = Date.parseString( dateTimeStr,"dd/MM/yyyy HH:mm" );
		myDate.add('d',step);
		return myDate.format("dd/MM/yyyy HH:mm");
		
	}
	else { alert ( "Le format de la date n\u0027est pas valide !");
	       return ""; }

}

function controlOneDateTime ( dateTimeToControl ){
	if ( isDateTime( dateTimeToControl ) ) { return true; }
	else { alert ( "Le format de la date n\u0027est pas valide !");
	return false; }
}
function controlTwoDateTime ( firstDateTimeToControl, secondDateTimeToControl ){
	if ( isDateTime(firstDateTimeToControl) && isDateTime(secondDateTimeToControl) ) { return true; }
	else { alert ( "le format de l\u0027une des dates n\u0027est pas valide !");
	}
}

/** Function for filter **/
function handle_key_for_filter( id )
{
	var browser = navigator.appName;
	if (browser == "Microsoft Internet Explorer") {
	    document.onkeydown=kpressed_IE;
	} else {
	    document.onkeydown=kpressed_others;
	}
	function kpressed_IE(e) {
	    if (!e) var e = window.event;
	    if (e.keyCode) {
	        keycode = e.keyCode;
	        if ((keycode == 39) || (keycode == 37)) {
	            window.event.keyCode = 0;
	        }
	    } else {
	        keycode = e.which;
	    }
	    if (keycode == 13) {
			document.getElementById("commands").firstChild.click();
	        return false;
	    }
	}
	function kpressed_others(e) {
	    if (e.which) {
	        keycode = e.which;
	    } else {
	        keycode = e.keyCode;
	    }
	    if (keycode == 13) {
	    	document.getElementById("commands").firstChild.click();
	        return false;
	    }
	}
}

/** functions used to change opacity **/
function changeOpacity(opacity, id) 
{
	var object = document.getElementById(id).style;
	object.opacity = (opacity / 100);
	object.MozOpacity = (opacity / 100);
	object.KhtmlOpacity = (opacity / 100);
	object.filter = "alpha(opacity=" + opacity + ")";
}

function fadeOpacity(id, opacStart, opacEnd, millisec) 
{
	var speed = Math.round(millisec / 100);
	var timer = 0;

	if(opacStart > opacEnd) 
	{
		for(i = opacStart; i >= opacEnd; i--) 
		{
			setTimeout("changeOpacity(" + i + ",'" + id + "')",(timer * speed));
			timer++;
		}
	}
	else if(opacStart < opacEnd) 
	{
		for(i = opacStart; i <= opacEnd; i++) 
		{
			setTimeout("changeOpacity(" + i + ",'" + id + "')",(timer * speed));
			timer++;
		}
	}
}


function verifMail(a)
{
testm = false ;

 for (var j=1 ; j<(a.length) ; j++) {

  if (a.charAt(j)=='@') {
   if (j<(a.length-4)){
    for (var k=j ; k<(a.length-2) ; k++) {
     if (a.charAt(k)=='.') testm = true;
    }
   }
  }
 }

return testm ;

}

function getCookie(nom) {
    deb = document.cookie.indexOf(nom + "=")
    if (deb >= 0) {
        deb += nom.length + 1
        fin = document.cookie.indexOf(";",deb)
        if (fin < 0) fin = document.cookie.length
        return unescape(document.cookie.substring(deb,fin))
        }
    return ""
    }

function getTabIndex(name){
	var lastIndex = getCookie(name)
	if(null == lastIndex)return 0;
	return lastIndex;
}

