//-------------CEHMIN POUR LES IMAGES--------------
var jslib_path='../jslib/';

//-------------INFOBULLES--------------
var jslib_infobulle_decal_x = -10;
var jslib_infobulle_decal_y = 10;
var jslib_infobulle_ombre=5;
var jslib_infobulle_class_bulle='infobulle';



//-------------CONTEXT MENU--------------
var jslib_context_decal_x = -1;
var jslib_context_decal_y = 1;
var jslib_context_ombre=5;
var jslib_context_class_bulle='ContextMenu';

var jslib_context_class_title='ContextMenuTitle';
var jslib_context_class_out='ContextMenuOut';
var jslib_context_class_over='ContextMenuOver';


//-------------DRAG AND DROP--------------
var jslib_drag_decal_x = -10;
var jslib_drag_decal_y = 10;
var jslib_drag_ombre=5;
var jslib_drag_class_bulle='drag';

var jslib_drag_contour_size=5;
var jslib_drag_contour_color='#FFD700';
var jslib_drag_select_color='#DCDCDC';


//-------------ARBORESENCES-------------

var jslib_arbo_img_liste='images/liste.gif';
var jslib_arbo_img_moins='images/moins.gif';
var jslib_arbo_img_plus='images/plus.gif';
var jslib_arbo_img_dirclose='images/dirclose.gif';
var jslib_arbo_img_diropen='images/diropen.gif';
var jslib_arbo_img_valider='images/valider.gif';
var jslib_arbo_img_annuler='images/annuler.gif';
var jslib_arbo_img_supp='images/supp.gif';
var jslib_arbo_img_rename='images/rename.gif';
var jslib_arbo_img_move='images/move.gif';
var jslib_arbo_img_newdir='images/newdir.gif';
var jslib_arbo_img_prop='images/prop.gif';	
			
var jslib_arbo_txt_newdossier='Nouveau dossier';

var jslib_arbo_class_select='arbo_select';
var jslib_arbo_class_unselect='arbo_unselect';
var jslib_arbo_class_input='textInput';


//-------------CALENDRIER--------------
var jslib_calendar_decal_x = -80;
var jslib_calendar_decal_y = 10;
var jslib_calendar_ombre=5;
var jslib_calendar_class_bulle='calendar';
var jslib_calendar_class_table='calendar_table';

var jslib_calendar_year=true;
var jslib_calendar_weekstart = 1;  //(1-lun : 2-mar: ...: 7-dim)
var jslib_calendar_month 	= ["Janvier", "Février", "Mars", "Avril", "Mai", "Juin","Juillet", "Août", "Septembre", "Octobre", "Novembre", "Décembre"];
var jslib_calendar_days 	= ["Lun", "Mar", "Mer", "Jeu", "Ven", "Sam","Dim"];


var jslib_calendar_img_prev='images/calendar_prev.gif';
var jslib_calendar_img_prev_year='images/calendar_prev_year.gif';
var jslib_calendar_img_next='images/calendar_next.gif';
var jslib_calendar_img_next_year='images/calendar_next_year.gif';
var jslib_calendar_img_select='images/calendar_select.gif';


//-------------CALCULATOR--------------
var jslib_calculator_decal_x = -80;
var jslib_calculator_decal_y = 10;
var jslib_calculator_ombre=5;
var jslib_calculator_class_bulle='calculator';

var jslib_calculator_img_on='images/bouton_on.gif';
var jslib_calculator_img_off='images/bouton_off.gif';




//-------------FORM--------------
var jslib_form_img_valid='images/checkOk.gif';
var jslib_form_img_invalid='images/checkOk.gif';

var jslib_form_txt_before="Le formulaire comporte des erreurs :";
var jslib_form_txt_after="Veuillez remplir correctement les champs.";
var jslib_form_txt_valid="Le champ est valide";

var jslib_form_class_errorinput='errorinput';
var jslib_form_class_errorspan='errorspan';

//-------------FORMAT POUR FORM/CALENDAR/CALC--------------
var jslib_format_date="jjmmaa"
var jslib_format_num="espacevirgu"





//-------------DATAGRID--------------

var jslib_grid_backgroundcolor1='#FFFFFF';
var jslib_grid_backgroundcolor2='#F0F9FA';			
				
var jslib_grid_imghaut='images/haut.gif';
var jslib_grid_imgbas='images/bas.gif';
	

var jslib_grid_class_table='table_main';

var jslib_grid_class_thfirst='table_thfirst';
var jslib_grid_class_th='table_th';

var jslib_grid_class_tdfirst='table_tdfirst';
var jslib_grid_class_td='table_td';
			
var jslib_grid_rowheight=20;	

function getElementsByClass(node,searchClass,tag) {
    var classElements = new Array();
    var els = node.getElementsByTagName(tag); // use "*" for all elements
    var elsLen = els.length;
    var pattern = new RegExp("\b"+searchClass+"\b");
    for (i = 0, j = 0; i < elsLen; i++) {
         if ( pattern.test(els[i].className) ) {
             classElements[j] = els[i];
             j++;
         }
    }
    return classElements;
}

function $(element) {
  if (arguments.length > 1) {
    for (var i = 0, elements = [], length = arguments.length; i < length; i++)
      elements.push($(arguments[i]));
    return elements;
  }
  if (Object.isString(element))
    element = document.getElementById(element);
  return Element.extend(element);
}

//-------------DATAGRID--------------



function jslib_arbo(instance)
{this.instance=instance;
this.arbo_add=jslib_arbo_add;
this.arbo_load=jslib_arbo_load;
this.arbo_dragable=jslib_arbo_dragable;
this.liste=0;
this.arbo_niveau=jslib_arbo_niveau;
this.arbo_getparent=jslib_arbo_getparent;
this.arbo_exist=jslib_arbo_exist;
this.arbo_deploy=jslib_arbo_deploy;
this.arbo_ligne=jslib_arbo_ligne;
this.arbo_rename=jslib_arbo_rename;
this.arbo_rename_valid=jslib_arbo_rename_valid
this.arbo_newdir=jslib_arbo_newdir;
this.arbo_newdir_valid=jslib_arbo_newdir_valid;
this.img_liste=jslib_arbo_img_liste;
this.img_moins=jslib_arbo_img_moins;
this.img_plus=jslib_arbo_img_plus;
this.img_dirclose=jslib_arbo_img_dirclose;
this.img_diropen=jslib_arbo_img_diropen;
this.img_valider=jslib_arbo_img_valider;
this.img_annuler=jslib_arbo_img_annuler;
this.img_supp=jslib_arbo_img_supp;
this.img_rename=jslib_arbo_img_rename;
this.img_move=jslib_arbo_img_move;
this.img_newdir=jslib_arbo_img_newdir;
this.img_prop=jslib_arbo_img_prop;
}function jslib_arbo_add(iddiv,tabarbo,selection,modemenu,del,rename,move,newdir,prop){
var divarbo = getbyidname(iddiv);
this.divarbo=divarbo;
this.tabarbo=tabarbo;
this.selection=selection;
this.modemenu=modemenu;
this.del=del;
this.rename=rename;
this.move=move;
this.newdir=newdir;
this.prop=prop;
}function jslib_arbo_exist(ligneId){
try{
var id=this.tabarbo[ligneId][0];
}catch(e){
return false;
}return true;
}function jslib_arbo_getparent(ligneId){
return this.tabarbo[ligneId][0];
}function jslib_arbo_dragable(src,dst){
var iddest=dst.substr(dst.lastIndexOf('_')+1);
var eldest=dst.substr(0,dst.lastIndexOf('_'));
if (eldest==this.drag.dragsrc){
if (iddest==this.arbo_getparent(src)) return false;
var parent=iddest;
while (parent!=null){
if (src==parent) return false;
parent=this.arbo_getparent(parent);
}}return true;
}
function jslib_arbo_load(){ 
	this.drag=new jslib_drag(this.instance+".drag")
	this.drag.dragsrc='liligne_'+this.instance;
	this.drag.dragdst='self';
	this.drag.onover=this.instance+'.arbo_dragable';
	this.drag.ondrag=this.ondrag
for (var ligneId in this.tabarbo) {
	this.tabarbo[ligneId].push(0); //nombre d'enfant
	this.tabarbo[ligneId].push(false); //ouvert
	this.tabarbo[ligneId].push(0); //niveau
	this.tabarbo[ligneId].push(false); //selectionné
}
for (var ligneId in this.tabarbo) {
idparent=this.arbo_getparent(ligneId);
if (this.arbo_exist(idparent))this.tabarbo[idparent][7]++;
}
var idparent=this.selection;
var i=0;
while ((i<10000)  && (this.arbo_exist(idparent))){
this.tabarbo[idparent][8]=true;
idparent=this.arbo_getparent(idparent);
i++;
}
for (var ligneId in this.tabarbo) {
	if (this.tabarbo[ligneId][7]==0)this.tabarbo[ligneId][8]=false;
}
if (this.arbo_exist(this.selection)){
	this.tabarbo[this.selection][10]=true;
}
this.divarbo.innerHTML=this.arbo_niveau(undefined,0,0);
jslib_context_flush();
}

function jslib_arbo_newdir(ligneId){
var linewdir=document.getElementById('linewdir_'+this.instance+'_'+ligneId);
var ularbo=document.getElementById('ularbo_'+this.instance+'_'+ligneId);
ularbo.style.display='';
linewdir.style.display='';
var actionnewdir='';
actionnewdir=actionnewdir+'<img style="visibility:hidden;" border=0 src="'+jslib_path+this.img_plus+'"></A>'
actionnewdir=actionnewdir+'&nbsp;<img border=0 src="'+jslib_path+this.img_dirclose+'">'
actionnewdir=actionnewdir+'&nbsp;<input onclick="this.value=\'\';this.onclick=\'\';" id="inputnewdir_'+this.instance+'_'+ligneId+'" type=text class="textInput">';
actionnewdir=actionnewdir+'&nbsp;<a href="javascript:'+this.instance+'.arbo_newdir_valid('+ligneId+',true)"><img src="'+jslib_path+this.img_valider+'"></a>';
actionnewdir=actionnewdir+'&nbsp;<a href="javascript:'+this.instance+'.arbo_newdir_valid('+ligneId+',false)"><img src="'+jslib_path+this.img_annuler+'"></a>';
linewdir.innerHTML=actionnewdir;
var inputnewdir=document.getElementById('inputnewdir_'+this.instance+'_'+ligneId);
inputnewdir.value=jslib_arbo_txt_newdossier;
inputnewdir.focus();
}function jslib_arbo_newdir_valid(ligneId,valid){
var linewdir=document.getElementById('linewdir_'+this.instance+'_'+ligneId);
var inputnewdir=document.getElementById('inputnewdir_'+this.instance+'_'+ligneId);
var ularbo=document.getElementById('ularbo_'+this.instance+'_'+ligneId);
if (valid){
eval(this.instance+'.onnewdir('+ligneId+',\''+removetag(inputnewdir.value)+'\')');
}else{linewdir.style.display='none';
}}function jslib_arbo_rename(ligneId){
var lienname=document.getElementById('lienname_'+this.instance+'_'+ligneId);
var spanname=document.getElementById('spanname_'+this.instance+'_'+ligneId);
var spanaction=document.getElementById('spanaction_'+this.instance+'_'+ligneId);
var inputrename=document.getElementById('inputrename_'+this.instance+'_'+ligneId);
var spanrename=document.getElementById('spanrename_'+this.instance+'_'+ligneId);
spanname.style.display='none';
spanaction.style.display='none';
inputrename.style.display='';
spanrename.style.display='';
lienname.className=jslib_arbo_class_unselect;
inputrename.value=spanname.innerHTML;
inputrename.focus();
var actionrename='';
actionrename=actionrename+'&nbsp;<a href="javascript:'+this.instance+'.arbo_rename_valid('+ligneId+',true)"><img src="'+jslib_path+this.img_valider+'"></a>';
actionrename=actionrename+'&nbsp;<a href="javascript:'+this.instance+'.arbo_rename_valid('+ligneId+',false)"><img src="'+jslib_path+this.img_annuler+'"></a>';
spanrename.innerHTML=actionrename;
}function jslib_arbo_rename_valid(ligneId,valid){
var lienname=document.getElementById('lienname_'+this.instance+'_'+ligneId);
var spanname=document.getElementById('spanname_'+this.instance+'_'+ligneId);
var spanaction=document.getElementById('spanaction_'+this.instance+'_'+ligneId);
var inputrename=document.getElementById('inputrename_'+this.instance+'_'+ligneId);
var spanrename=document.getElementById('spanrename_'+this.instance+'_'+ligneId);
spanname.style.display='inline';
spanaction.style.display='inline';
inputrename.style.display='none';
spanrename.style.display='none';
if (this.tabarbo[ligneId][10]==true)    lienname.className=jslib_arbo_class_select;
spanname.innerHTML= inputrename.value;
if (valid){
eval(this.instance+'.onrename('+ligneId+',\''+removetag(inputrename.value)+'\')');
}}function jslib_arbo_deploy(ligneId){
var ularbo=document.getElementById('ularbo_'+this.instance+'_'+ligneId);
var imgnav=document.getElementById('imgnav_'+this.instance+'_'+ligneId);
var imgdos=document.getElementById('imgdos_'+this.instance+'_'+ligneId);
if (ularbo.style.load=='no'){
var niveau=this.tabarbo[ligneId][9];
ularbo.innerHTML=this.arbo_niveau(ligneId,niveau+1,ligneId);
jslib_context_flush();
ularbo.style.load='yes';
}if (ularbo.style.display=='none'){
ularbo.style.display='block';
imgnav.src=jslib_path+this.img_moins;
imgdos.src=jslib_path+this.img_diropen;
}else{ularbo.style.display='none';
imgnav.src=jslib_path+this.img_plus;
imgdos.src=jslib_path+this.img_dirclose;
}}function jslib_arbo_ligne(ligneId){
var imgnav,imgdos,showselect,showaction
var ligne=this.tabarbo[ligneId];
if (ligne[8]||ligne[10]){
imgnav=jslib_path+this.img_moins;
imgdos=jslib_path+this.img_diropen;
}else{imgnav=jslib_path+this.img_plus;
imgdos=jslib_path+this.img_dirclose;
}if ((ligne[7]==0) && (this.liste==1)){
imgdos=jslib_path+this.img_liste;
}if (ligne[10]==true){
showselect='class="'+jslib_arbo_class_select+'"';
}else{showselect='class="'+jslib_arbo_class_unselect+'"';
}showaction='<span id="spanaction_'+this.instance+'_'+ligneId+'">';
if ((this.modemenu=='bouton') || (this.modemenu=='boutonunique')){
if ((ligne[10]==true) || (this.modemenu=='bouton')){
if (ligne[2]==1)showaction=showaction+'&nbsp;<a href="javascript:'+this.instance+'.onsupp('+ligneId+')"><img src="'+jslib_path+this.img_supp+'"></a>';
if (ligne[3]==1)showaction=showaction+'&nbsp;<a href="javascript:'+this.instance+'.arbo_rename('+ligneId+')"><img src="'+jslib_path+this.img_rename+'"></a>';
if (ligne[4]==1)showaction=showaction+'&nbsp;<a href="#" onmouseup="javascript:'+this.instance+'.drag.start(event,\''+ligneId+'\');"><img src="'+jslib_path+this.img_move+'"></a>';
if (ligne[5]==1)showaction=showaction+'&nbsp;<a href="javascript:'+this.instance+'.arbo_newdir('+ligneId+')"><img src="'+jslib_path+this.img_newdir+'"></a>';
if (ligne[6]==1)showaction=showaction+'&nbsp;<a href="javascript:'+this.instance+'.onprop('+ligneId+')"><img src="'+jslib_path+this.img_prop+'"></a>';
}}if (this.modemenu=='context'){
if ((ligne[2]==1) ||(ligne[3]==1) ||(ligne[4]==1) ||(ligne[5]==1) ||(ligne[6]==1)){
jslib_context_addmenutmp('liligne_'+this.instance+'_'+ligneId);
jslib_context_additemtmp('liligne_'+this.instance+'_'+ligneId,ligne[1],'','');
if (ligne[2]==1) jslib_context_additemtmp('liligne_'+this.instance+'_'+ligneId,'Supprimer',this.instance+'.onsupp('+ligneId+')',jslib_path+this.img_supp);
if (ligne[3]==1) jslib_context_additemtmp('liligne_'+this.instance+'_'+ligneId,'Renommer',this.instance+'.arbo_rename('+ligneId+')',jslib_path+this.img_rename);
if (ligne[4]==1) jslib_context_additemtmp('liligne_'+this.instance+'_'+ligneId,'Déplacer','jslib_context_off(event);'+this.instance+'.drag.start(event,\''+ligneId+'\')',jslib_path+this.img_move);
if (ligne[5]==1) jslib_context_additemtmp('liligne_'+this.instance+'_'+ligneId,'Nouveau',this.instance+'.arbo_newdir('+ligneId+')',jslib_path+this.img_newdir);
if (ligne[6]==1) jslib_context_additemtmp('liligne_'+this.instance+'_'+ligneId,'Propriétés',this.instance+'.onprop('+ligneId+')',jslib_path+this.img_prop);
}}showaction=showaction+'</span>';
if (ligne[7]==0){
imgnav='<img id="imgnav_'+this.instance+'_'+ligneId+'" style="visibility:hidden;" border=0 src="'+imgnav+'">';
}else{imgnav='<a href="javascript:'+this.instance+'.arbo_deploy('+ligneId+')"><img id="imgnav_'+this.instance+'_'+ligneId+'" border=0 src="'+imgnav+'"></A>';
}imgdos='<img id="imgdos_'+this.instance+'_'+ligneId+'" border=0 src="'+imgdos+'">'
spanname='<span id="spanname_'+this.instance+'_'+ligneId+'">'+ligne[1]+'</span>';
lien='<a '+showselect+' id="lienname_'+this.instance+'_'+ligneId+'" href="javascript:'+this.instance+'.onselect(\''+ligneId+'\')">'+imgdos+'&nbsp;'+spanname+'</a>';
inputrename='<input id="inputrename_'+this.instance+'_'+ligneId+'" type=text class="'+jslib_arbo_class_input+'" style="display:none;"><span id="spanrename_'+this.instance+'_'+ligneId+'"></span>';
return '<li class="dragin" id="liligne_'+this.instance+'_'+ligneId+'" style="word-break: break-all;display:inline;">'+imgnav+'&nbsp;'+lien+inputrename+showaction+'</li><BR>';
}
function jslib_arbo_niveau(idrep,niveau,diropen){
var arbohtml='';
var isvisible=false;
if ((diropen==idrep) || (idrep==undefined) || (this.tabarbo[idrep][8])){
	for (var ligneId in this.tabarbo) {
		//alert(idrep.length);
		if ((this.tabarbo[ligneId][0]==idrep) || (this.tabarbo[ligneId][0]=='undefined' && typeof(idrep)=='undefined')){
			//alert(idrep);
			this.tabarbo[ligneId][9]=niveau;
			if (this.del==0) this.tabarbo[ligneId][2]=0;
			if (this.rename==0) this.tabarbo[ligneId][3]=0;
			if (this.move==0)this.tabarbo[ligneId][4]=0;
			if (this.newdir==0)this.tabarbo[ligneId][5]=0;
			if (this.prop==0)this.tabarbo[ligneId][6]=0;
			arbohtml=arbohtml+this.arbo_ligne(ligneId);
			arbohtml=arbohtml+this.arbo_niveau(ligneId,niveau+1,diropen);
		}
	}
	var aff=''
}
else{var aff='style="display:none;load:no;"'
}
if (arbohtml==''){
	var aff='style="display:none;load:no;"'
}
arbohtml=arbohtml+'<li id="linewdir_'+this.instance+'_'+idrep+'" style="white-space: nowrap;display:none;"></li>';
if (niveau==0){
	var styleul='style="list-style-type:none;margin: 0px;"';
}
else{
	var styleul='style="list-style-type:none;margin-left: 12px;"';
}
return '<ul '+aff+' '+styleul+' id="ularbo_'+this.instance+'_'+idrep+'">'+arbohtml+'</ul>';
}

var jslib_calculator_instance;
function jslib_calculator_pop(e,input){
if (!getbyid(input).disabled){
jslib_calculator_instance=new jslib_calculator("jslib_calculator_instance")
jslib_calculator_instance.inputid=input;
jslib_calculator_instance.init(e);
}}function jslib_calculator(instance){
this.instance=instance;
this.init=jslib_calculator_init;
this.calculator_click=jslib_calculator_click;
this.calculator_getobj=jslib_calculator_getobj;
this.calculator_chimg=jslib_calculator_chimg;
this.calculator_opp=jslib_calculator_opp;
this.calculator_case=jslib_calculator_case;
this.calculator_inner=jslib_calculator_inner;
this.calculator_on=jslib_calculator_on;
this.calculator_off=jslib_calculator_off;
this.calculator_select=jslib_calculator_select;
this.inputid='';
this.inputobj=null;
this.decal_x=jslib_calculator_decal_x;
this.decal_y=jslib_calculator_decal_y;
this.ombre=jslib_calculator_ombre;
this.class_bulle=jslib_calculator_class_bulle;
this.img_on=jslib_calculator_img_on;
this.img_off=jslib_calculator_img_off;
this.format_num=jslib_format_num;
}function jslib_calculator_init(e){
this.inputobj=getbyid(this.inputid);
this.calculator_on(e);
this.obj_result=getbyid(this.instance+'_result');
this.value=prc_num(this.inputobj.value,this.format_num);
if (!this.value) this.value=0;
this.obj_result.value=print_num(this.value,'point',-1);
}function jslib_calculator_on(e) {
overdiv_block=true;
document.onmousemove = new Function('return true');
document.onmousedown = new Function(this.instance+'.calculator_click()');
oberdiv_drag=false;
overdiv_set(this.calculator_inner(),this.ombre,this.class_bulle,this.decal_x,this.decal_y,true,e);
return false;
}function jslib_calculator_off(e) {
document.onmousedown= new Function('return true');
overdiv_unset();
overdiv_block=false;
return false;
}function jslib_calculator_click(e){
var obj=this.calculator_getobj(e);
if (obj==null) this.calculator_off(e);
}function jslib_calculator_getobj(e){
var obj=event_target(e);
if ((obj!=null) && (obj.className!=this.class_bulle)) obj=obj.parentNode;
if ((obj!=null) && (obj.className!=this.class_bulle)) obj=obj.parentNode;
if ((obj!=null) && (obj.className!=this.class_bulle)) obj=obj.parentNode;
if ((obj!=null) && (obj.className!=this.class_bulle)) obj=obj.parentNode;
if ((obj!=null) && (obj.className!=this.class_bulle)) obj=obj.parentNode;
if ((obj!=null) && (obj.className!=this.class_bulle)) obj=obj.parentNode;
if ((obj!=null) && (obj.className!=this.class_bulle)) obj=obj.parentNode;
if ((obj!=null) && (obj.className!=this.class_bulle)) obj=obj.parentNode;
if ((obj!=null) && (obj.className!=this.class_bulle)) obj=obj.parentNode;
if ((obj!=null) && (obj.className==this.class_bulle)) return obj;;
}function jslib_calculator_select(e) {
this.value=prc_num(this.obj_result.value,'point');
if (!this.value) this.value=0;
this.inputobj.value=print_num(this.value,this.format_num,-1);
this.calculator_off(e);
}function jslib_calculator_chimg(e,etat) {
var obj=event_target(e);
if (etat){
obj.style.backgroundImage='url(\''+jslib_path+this.img_on+'\')';
}else{obj.style.backgroundImage='url(\''+jslib_path+this.img_off+'\')';
}}function jslib_calculator_opp(e,num) {
if (MS)event_target(e).ondblclick=function (e){jslib_calculator_instance.calculator_opp(e,num)};
var curr=this.obj_result.value;
if ((num>=0) && (num<=9)){
if (this.opperation) {
this.opperation=false;
curr='';
}if (curr=='0') curr='';
this.obj_result.value=curr+num;
}if ((num=='+') || (num=='-') || (num=='*')| (num=='/')){
if (!this.opperation && this.opperationtype!='' && this.opperationtype!=null){
this.obj_result.value=eval(this.opperationvalue+this.opperationtype+curr);
}this.opperation=true;
this.opperationtype=num;
this.opperationvalue=this.obj_result.value;
}if (num=='sqr'){
this.obj_result.value=Math.sqrt(curr);
}if (num=='sign'){
this.obj_result.value=-curr;
}if (num=='.'){
this.obj_result.value=curr+'.';
}if (num=='C'){
this.obj_result.value=0;
this.opperation=false;
this.opperationtype='';
}if (num=='='){
if (this.opperationtype!='' && this.opperationtype!=null){
this.obj_result.value=eval(this.opperationvalue+this.opperationtype+curr);
this.opperationtype='';
}this.calculator_select(e);
}}function jslib_calculator_case(num) {
var str=''
str=str+'<td width=35';
str=str+' onmousedown="'+this.instance+'.calculator_chimg(event,true);"';
str=str+' onmouseout="'+this.instance+'.calculator_chimg(event,false);"';
str=str+' onmouseup="'+this.instance+'.calculator_chimg(event,false);"';
str=str+' onmouseover="'+this.instance+'.calculator_chimg(event,true);"';
str=str+' onclick="'+this.instance+'.calculator_opp(event,\''+num+'\');"';
str=str+' style="cursor:hand;background-repeat: no-repeat;background-position: center;background-image:url(\''+jslib_path+this.img_off+'\')">';
if (num=='sqr') num='&radic;';
if (num=='sign') num='&plusmn;';
str=str+num;
str=str+'</td>';
return str;
}function jslib_calculator_inner() {
var str='';
str=str+'<table  style="width:175;" cellpadding="0" cellspacing="2" border="0">';
str=str+'<tr align="center"><td colspan=5>';
str=str+'<input id="'+this.instance+'_result" type="text" value="0" maxlength="25" style="text-align:right;border:1px solid #4682B4;width:175">';
str=str+'</td></tr>';
str=str+'<tr align="center" height=25>';
str=str+this.calculator_case('7');
str=str+this.calculator_case('8');
str=str+this.calculator_case('9');
str=str+this.calculator_case('/');
str=str+this.calculator_case('C');
str=str+'</tr>';
str=str+'<tr align="center" height=25>';
str=str+this.calculator_case('4');
str=str+this.calculator_case('5');
str=str+this.calculator_case('6');
str=str+this.calculator_case('*');
str=str+this.calculator_case('sqr');
str=str+'</tr>';
str=str+'<tr align="center" height=25>';
str=str+this.calculator_case('1');
str=str+this.calculator_case('2');
str=str+this.calculator_case('3');
str=str+this.calculator_case('-');
str=str+this.calculator_case('=');
str=str+'</tr>';
str=str+'<tr align="center" height=25>';
str=str+this.calculator_case('0');
str=str+this.calculator_case('sign');
str=str+this.calculator_case('.');
str=str+this.calculator_case('+');
str=str+'<td >&nbsp;</td>';
str=str+'</tr>';
str=str+'</table>';
return str;
}var jslib_calendar_instance,jslib_calendar_instance2;
function jslib_calendar_pop(e,input){
if (!getbyid(input).disabled){
jslib_calendar_instance=new jslib_calendar("jslib_calendar_instance")
jslib_calendar_instance.mode='pop';
jslib_calendar_instance.inputid=input;
jslib_calendar_instance.init(e,null);
}}function jslib_calendar_show(div,date,type,urlredirect){
jslib_calendar_instance2=new jslib_calendar("jslib_calendar_instance2")
jslib_calendar_instance2.mode='show';
jslib_calendar_instance2.showtype=1;
jslib_calendar_instance2.currenttype=type;
jslib_calendar_instance2.divid=div;
jslib_calendar_instance2.urlredirect=urlredirect;
jslib_calendar_instance2.init(null,date);
}function jslib_calendar(instance){
this.instance=instance;
this.init=jslib_calendar_init;
this.calendar_click=jslib_calendar_click;
this.calendar_getobj=jslib_calendar_getobj;
this.calendar_on=jslib_calendar_on;
this.calendar_off=jslib_calendar_off;
this.calendar_refresh=jslib_calendar_refresh;
this.calendar_inner=jslib_calendar_inner;
this.calendar_table=jslib_calendar_table;
this.calendar_next_year=jslib_calendar_next_year;
this.calendar_prev_year=jslib_calendar_prev_year;
this.calendar_next=jslib_calendar_next;
this.calendar_prev=jslib_calendar_prev;
this.calendar_select=jslib_calendar_select;
this.calendar_select_year=jslib_calendar_select_year;
this.calendar_select_month=jslib_calendar_select_month;
this.calendar_select_week=jslib_calendar_select_week;
this.calendar_redirect=jslib_calendar_redirect;
this.mode='pop';
this.showtype=0;
this.currenttype='day';
this.divid='';
this.divobj=null;
this.inputid='';
this.inputobj=null;
this.dt_selected=null;
this.dt_current=null;
this.urlredirect='';
this.decal_x=jslib_calendar_decal_x;
this.decal_y=jslib_calendar_decal_y;
this.ombre=jslib_calendar_ombre;
this.class_bulle=jslib_calendar_class_bulle;
this.class_table=jslib_calendar_class_table;
this.calendar_year=jslib_calendar_year;
this.calendar_weekstart=jslib_calendar_weekstart;
this.img_prev=jslib_calendar_img_prev;
this.img_prev_year=jslib_calendar_img_prev_year;
this.img_next=jslib_calendar_img_next;
this.img_next_year=jslib_calendar_img_next_year;
this.img_select=jslib_calendar_img_select;
this.format_date=jslib_format_date;
}function jslib_calendar_init(e,date){
if (this.mode=='pop'){
this.inputobj=getbyid(this.inputid);
this.dt_selected=prc_date(this.inputobj.value,this.format_date);
if (!this.dt_selected) {
this.dt_selected=new Date();
this.dt_selected.setHours(0,0,0,0);
}this.dt_current=new Date(this.dt_selected);
this.calendar_on(e);
this.obj_title=getbyid(this.instance+'_title');
this.obj_days=getbyid(this.instance+'_days');
}if (this.mode=='show'){
this.divobj=getbyid(this.divid);
this.dt_selected=prc_date(date,this.format_date);
if (!this.dt_selected) {
this.dt_selected=new Date();
this.dt_selected.setHours(0,0,0,0);
}this.dt_current=new Date(this.dt_selected);
this.divobj.innerHTML=this.calendar_inner();
}}function jslib_calendar_on(e) {
overdiv_block=true;
document.onmousemove = new Function('return true');
document.onmousedown = new Function(this.instance+'.calendar_click()');;
oberdiv_drag=false;
overdiv_set(this.calendar_inner(),this.ombre,this.class_bulle,this.decal_x,this.decal_y,true,e);
return false;
}function jslib_calendar_off(e) {
document.onmousedown= new Function('return true');
overdiv_unset();
overdiv_block=false;
return false;
}function jslib_calendar_click(e){
var obj=this.calendar_getobj(e);
if (obj==null) this.calendar_off(e);
}function jslib_calendar_getobj(e){
var obj=event_target(e);
if ((obj!=null) && (obj.className!=this.class_bulle)) obj=obj.parentNode;
if ((obj!=null) && (obj.className!=this.class_bulle)) obj=obj.parentNode;
if ((obj!=null) && (obj.className!=this.class_bulle)) obj=obj.parentNode;
if ((obj!=null) && (obj.className!=this.class_bulle)) obj=obj.parentNode;
if ((obj!=null) && (obj.className!=this.class_bulle)) obj=obj.parentNode;
if ((obj!=null) && (obj.className!=this.class_bulle)) obj=obj.parentNode;
if ((obj!=null) && (obj.className!=this.class_bulle)) obj=obj.parentNode;
if ((obj!=null) && (obj.className!=this.class_bulle)) obj=obj.parentNode;
if ((obj!=null) && (obj.className!=this.class_bulle)) obj=obj.parentNode;
if ((obj!=null) && (obj.className==this.class_bulle)) return obj;;
}function jslib_calendar_redirect(datestr,type) {
if (type!=null){
document.location.href=urladdparam(this.urlredirect,'jslib_date='+datestr+'&jslib_type='+type);
}else{document.location.href=urladdparam(this.urlredirect,'jslib_date='+datestr);
}}function jslib_calendar_select(e,newdate) {
var dt_send=new Date(parseInt(newdate));
var datestr=print_date(dt_send,this.format_date);
if (this.mode=='pop'){
this.inputobj.value=datestr;
this.calendar_off(e);
if (this.inputobj.onchange!=undefined) this.inputobj.onchange();
}else{this.calendar_redirect(datestr,'day');
}}function jslib_calendar_select_year(e,newdate) {
var dt_send=new Date(parseInt(newdate));
var datestr=print_date(dt_send,this.format_date);
this.calendar_redirect(datestr,'year');
}function jslib_calendar_select_month(e,newdate) {
var dt_send=new Date(parseInt(newdate));
var datestr=print_date(dt_send,this.format_date);
this.calendar_redirect(datestr,'month');
}function jslib_calendar_select_week(e,newdate) {
var dt_send=new Date(parseInt(newdate));
var datestr=print_date(dt_send,this.format_date);
this.calendar_redirect(datestr,'week');
}function jslib_calendar_prev_year(e) {
if (MS)event_target(e).ondblclick=function (e){eval(this.instance+'.calendar_prev_year(e)')};
this.dt_current.setFullYear(this.dt_current.getFullYear() - 1);
this.calendar_refresh();
}function jslib_calendar_next_year(e) {
if (MS)event_target(e).ondblclick=function (e){eval(this.instance+'.calendar_next_year(e)')};
this.dt_current.setFullYear(this.dt_current.getFullYear() + 1);
this.calendar_refresh();
}function jslib_calendar_prev(e) {
if (MS)event_target(e).ondblclick=function (e){eval(this.instance+'.calendar_prev(e)')};
this.dt_current.setMonth(this.dt_current.getMonth() - 1);
this.calendar_refresh();
}function jslib_calendar_next(e) {
if (MS)event_target(e).ondblclick=function (e){eval(this.instance+'.calendar_next(e)')};
this.dt_current.setMonth(this.dt_current.getMonth() + 1);
this.calendar_refresh();
}function jslib_calendar_refresh() {
if (this.mode=='pop'){
this.obj_title.innerHTML=jslib_calendar_month[this.dt_current.getMonth()]+' '+this.dt_current.getFullYear();
this.obj_days.innerHTML=this.calendar_table();
}else{var datestr=print_date(this.dt_current,this.format_date);
this.calendar_redirect(datestr);
}}function jslib_calendar_inner() {
var str='';
str=str+'<table  class="'+this.class_table+'" cellspacing="0" border="0" width="100%">';
str=str+'<tr><td>';
str=str+'<table cellspacing="0" cellpadding="0" border="0" width="100%" height="25">';
str=str+'<tr>';
str=str+'<td>';
if (this.calendar_year)str=str+'<img style="cursor:hand;" onclick="javascript:'+this.instance+'.calendar_prev_year(event);" src="'+jslib_path+this.img_prev_year+'" width="16" height="16" border="0">&nbsp;';
str=str+'<img style="cursor:hand;" onclick="javascript:'+this.instance+'.calendar_prev(event);" src="'+jslib_path+this.img_prev+'" width="16" height="16" border="0"></td>';
if (this.showtype==1){
str=str+'<td align="center" width="100%" id="'+this.instance+'_title" style="color:#FFFFFF;">'
str=str+'<span style="cursor:hand" onclick="javascript:'+this.instance+'.calendar_select_month(event,'+this.dt_current.valueOf()+');" ><img src="'+jslib_path+this.img_select+'" width="15" height="15" border="0" alt="select month">&nbsp;'+jslib_calendar_month[this.dt_current.getMonth()]+'</span>&nbsp;&nbsp;';
str=str+'<span style="cursor:hand" onclick="javascript:'+this.instance+'.calendar_select_year(event,'+this.dt_current.valueOf()+');" ><img src="'+jslib_path+this.img_select+'" width="15" height="15" border="0" alt="select month">&nbsp;'+this.dt_current.getFullYear()+'</span>';
str=str+'</td>';
}else{str=str+'<td align="center" width="100%" id="'+this.instance+'_title" style="color:#FFFFFF">'+jslib_calendar_month[this.dt_current.getMonth()]+' '+this.dt_current.getFullYear()+'</td>';
}str=str+'<td><img style="cursor:hand;" onclick="javascript:'+this.instance+'.calendar_next(event);" src="'+jslib_path+this.img_next+'" width="16" height="16" border="0" alt="next month">';
if (this.calendar_year) str=str+'&nbsp;<img style="cursor:hand;" onclick="javascript:'+this.instance+'.calendar_next_year(event);" src="'+jslib_path+this.img_next_year+'" width="16" height="16" border="0" alt="next year">';
str=str+'</td>';
str=str+'</tr>';
str=str+'</table>';
str=str+'<div id="'+this.instance+'_days">';
str=str+this.calendar_table();
str=str+'</div>';
str=str+'</td></tr>';
str=str+'</table>';
return str;
}function jslib_calendar_table() {
var str='';
var dt_totay=new Date()
dt_totay.setHours(0,0,0,0);
var dt_firstday = new Date(this.dt_current);
dt_firstday.setDate(1);
dt_firstday.setDate(1 - (7 + dt_firstday.getDay() - this.calendar_weekstart) % 7);
var dt_current_day = new Date(dt_firstday);
str=str+'<table cellspacing="1" cellpadding="3" border="0" width="100%">'
str=str+'<tr>';
if (this.showtype==1)str=str+'<td bgcolor="#87cefa" align="center"></td>';
for (var n=0; n<7; n++)
str=str+'<td bgcolor="#87cefa" align="center"><font color="#ffffff">'+jslib_calendar_days[(this.calendar_weekstart+n-1)%7]+'</font></td>';
str=str+'</tr>';
while (dt_current_day.getMonth() == this.dt_current.getMonth() || dt_current_day.getMonth() == dt_firstday.getMonth()) {
str=str+'<tr>';
if (this.showtype==1)str=str+'<td bgcolor="#87cefa" align="center" width="30"><img style="cursor:hand;" onclick="javascript:'+this.instance+'.calendar_select_week(event,'+dt_current_day.valueOf()+');" src="'+jslib_path+this.img_select+'" width="15" height="15" border="0" alt="select week"></td>';
for (var n_current_wday=0; n_current_wday<7; n_current_wday++) {
var bgcolor,color,border;
if (dt_current_day.valueOf() == this.dt_selected.valueOf())
bgcolor="#FFB6C1"; // MEME JOUR
else if (dt_current_day.getDay() == 0 || dt_current_day.getDay() == 6)
bgcolor="#DBEAF5"; // WEEK END
else
bgcolor="#FFFFFF";  // AUTRES
if ((dt_current_day.getMonth() == this.dt_current.getMonth()) && (this.currenttype=='month')){
bgcolor="#FFB6C1"; // MEME MOIS
}if ((dt_current_day.getYear() == this.dt_current.getYear()) && (this.currenttype=='year')){
bgcolor="#FFB6C1"; // MEME ANNE
}if ((dt_current_day.valueOf()>=this.dt_current.valueOf()) && (dt_current_day.valueOf()<this.dt_current.valueOf()+604800000) && (this.currenttype=='week')){
bgcolor="#FFB6C1"; // MEME SEMAINE
}if (dt_current_day.getMonth() == this.dt_current.getMonth())
color='#000000'; //CURRENT MONTH
else
color='#C0C0C0'; //OTHER MONTH
if (dt_current_day.valueOf() == dt_totay.valueOf())
border="border:solid 1px #FF0000;"; //TODAY
else
border="";//PAS TODAY
str=str+'<td style="'+border+'text-align:center;cursor:hand;background:'+bgcolor+';color:'+color+'" width="14%" '
str=str+'onclick="javascript:'+this.instance+'.calendar_select(event,'+dt_current_day.valueOf()+');">';
str=str+dt_current_day.getDate()+'</td>';
dt_current_day.setDate(dt_current_day.getDate()+1);
}str=str+'</tr>';
}str=str+'</table>'
return str;
}var DHTML = 0, DOM = 0, MS = 0, NS = 0, OP = 0;
if (window.opera) OP = 1;
if(document.getElementById) {DHTML = 1;DOM = 1;}
if(document.all && !OP) {DHTML = 1;MS = 1;}
if(document.layers && !OP) {DHTML = 1;NS = 1;}
/* devenu inutile
var jslib_oldinitialize;
var jslib_isinitialize=false;
function jslib_addinitialize(){
if (!jslib_isinitialize){
jslib_isinitialize=true;
if (window.onload) jslib_oldinitialize = window.onload;
window.onload = jslib_initialize;
}}function jslib_initialize(){
if (jslib_oldinitialize!=null)
jslib_oldinitialize();
}*/
function jslib_activex() {
var objects=document.getElementsByTagName('OBJECT');
for (var i = 0; i < objects.length; i++)
{objects[i].outerHTML = objects[i].outerHTML;
}}function event_mouse_x(e) {
return (MS)?document.body.scrollLeft+window.event.clientX:e.pageX;
}function event_mouse_y(e) {
return (MS)?document.body.scrollTop+window.event.clientY:e.pageY;
}function event_mouseoffset_x(e)
{return (MS)?window.event.offsetX:e.offsetX;
}function event_mouseoffset_y(e)
{return (MS)?window.event.offsetY:e.offsetY;
}function event_target(e) {
return (MS)?window.event.srcElement : e.target;
}function event_type(e) {
return (MS)?window.event.type : e.type;
}function get_h(obj) {
return parseInt(obj.offsetHeight);
}function get_w(obj) {
return parseInt(obj.offsetWidth);
}function get_x(obj) {
try{
if (obj.tagName == "BODY") return parseInt(obj.offsetLeft);
else return get_x(get_parent(obj)) + parseInt(obj.offsetLeft);
}catch(e){return 0;}
}function get_y(obj) {
try{
if (obj.tagName == "BODY") return parseInt(obj.offsetTop);
else return get_y(get_parent(obj)) + parseInt(obj.offsetTop);
}catch(e){return 0;}
}function get_parent(obj) {
return obj.offsetParent;
}function popup(src,width,height,mode){
width=width-10;
height=height-40;
var left=String((window.screen.Width - width) /2)-10;
var top=String((window.screen.Height - height)/2)-50;
if (left<0) left=0;
if (top<0) top=0;
if (width<0) width=0;
if (height<0) height=0;
var fullscreen=0;//plein ecran
var toolbar=0;//barre d'outils
var menubar=0;//menu fichier
var location=0;//url
var status=1;// barre de status pour les eeruer javascript
var scrollbars=1;//scrollbars
var resizable=0;//peut ce redimensionner
var copyhistory=0;
var channelmode=0;//laisser à 0
var directories=0;//laisser à 0 ajouter la barre des liens
var titlebar=0;//non utilisé
if (mode=='vide'){
scrollbars=0;
status=0;
}if (mode=='light'){
}if (mode=='lightresize'){
resizable=1;
}if (mode=='full'){
toolbar=1;
location=1;
menubar=1;
resizable=1;
}if (mode=='fullscreen'){
fullscreen=1;
}return window.open(src,'_blank','left='+left+',top='+top+',width='+width+', height='+height+',fullscreen='+fullscreen+',channelmode='+channelmode+',directories='+directories+',  toolbar='+toolbar+',  menubar='+menubar+',titlebar='+titlebar+',location='+location+', status='+status+', scrollbars='+scrollbars+' , resizable='+resizable+',copyhistory='+copyhistory);
}function alerthtml(str){
var fenetre=popup('about:blank',600,400,'light');
fenetre.document.write(str);
}function show(obj){
switch (typeof(obj)){
case 'number':
alerthtml('type:number \n value:'+obj);
break;
case 'string':
alerthtml('type:string \n value:'+obj);
break;
case 'boolean':
alerthtml('type:boolean \n value:'+obj);
break;
case 'object':
if (obj instanceof Date)
{alerthtml('type:date \n date:'+print_date(obj)+'\n time:'+print_time(obj));
}else  if (obj instanceof Object)
{var list='type:object \n';
for (var sFieldId in obj) {
list=list+sFieldId+'==>'+obj[sFieldId]+'\n';
}alerthtml('<pre>'+list+'</pre>');
}else  if (obj instanceof Array)
{var list='type:array \n';
for (var sFieldId in obj) {
list=list+sFieldId+'==>'+obj[sFieldId]+'\n';
}alerthtml('<pre>'+list+'</pre>');
}else {
var list='type:autreobject \n';
for (var sFieldId in obj) {
list=list+sFieldId+'==>'+obj[sFieldId]+'\n';
}alerthtml('<pre>'+list+'</pre>');
}break;
case 'array':
break;
case 'function':
alerthtml('type:function \n value:'+obj);
break;
case 'undefined':
alerthtml('type:undefined \n value:'+obj);
break;
case 'null':
alerthtml('type:null \n value:'+obj);
break;
}}function replace(str,find,rep){
while(str.indexOf(find) != -1){str = str.replace(find,rep)}
return(str)
}function createstring(str,num){
var i;
var ret='';
for (i = 0; i < num; i++) {
ret=ret+str;
}return ret;
}function trim(chaine)
{regex=new RegExp("(^ +)|( +$)", "g");
chaine=chaine.replace(regex, "");
return chaine;
}function removetag(chaine)
{chaine=replace(chaine,'"',"&quot;");
chaine=replace(chaine,'\'',"&#39;");
chaine=replace(chaine,'>',"&gt;");
chaine=replace(chaine,'<',"&lt;");
return chaine;
}function ajoute(list,str,sep){
if  (str!='') {
if (list!='') list=list+sep;
list=list+str;
}return list;
}function objtoarray(variable)
{if (typeof(variable)!='object') {
var tmp=new Array();tmp.push(variable);
return tmp;
}else{return variable;
}}function getTextVal(inp){
return inp.value;
}function getRadioVal(inp){
if (inp.length==null){
if(inp.checked) return inp.value;
}else{for (var i = 0 ; i< inp.length ; i++){
if(inp[i].checked) return inp[i].value;
}}return '';
}function getCheckboxVal(inp){
if (inp.length==null){
if(inp.checked) return inp.value;
}else{for (var i = 0 ; i< inp.length ; i++){
if (inp[i].checked) return inp[i].value;
}}return '';
}function getSelectVal(sel){
return sel.options[sel.selectedIndex].value;
}function getInputVal(inp){
if (inp!=null){
if (inp.length!=null){
var type=inp[0].type;
if (type==undefined) type=inp.type;
}else{var type=inp.type;
}if ((type=='textarea') || (type=='text')||(type=='password')||(type=='hidden')){
return getTextVal(inp);
}if (type=='radio'){
return getRadioVal(inp);
}if (type=='checkbox'){
return getCheckboxVal(inp);
}if ((type=='select-one')||(type=='select-multiple')){
return getSelectVal(inp);
}}}function setTextVal(inp,val){
inp.value=val;
}function setRadioVal(inp, val){
if (inp.length==null){
if(inp.value==val) inp.checked=true;
}else{for (var i = 0 ; i< inp.length ; i++){
if(inp[i].value==val) {
inp[i].checked=true;
}else{inp[i].checked=false;
}}}}function setCheckboxVal(inp,val){
if (inp.length==null){
if(inp.value==val) inp.checked=true;
}else{for (var i = 0 ; i< inp.length ; i++){
if(inp[i].value==val) {
inp[i].checked=true;
}else{inp[i].checked=false;
}}}}function setSelectVal(inp, val) {
var position = 0;
while (position<inp.length){
if (inp.options[position].value==val) inp.selectedIndex = position;
position++;
}}function setInputVal(inp,val){
if (inp!=null){
if (inp.length!=null){
var type=inp[0].type;
if (type==undefined) type=inp.type;
}else{var type=inp.type;
}if ((type=='textarea') || (type=='text')||(type=='password')||(type=='hidden')){
setTextVal(inp,val);
}if (type=='radio'){
setRadioVal(inp,val);
}if (type=='checkbox'){
setCheckboxVal(inp,val);
}if ((type=='select-one')||(type=='select-multiple')){
setSelectVal(inp,val);
}}}function IsEMail(emailStr)
{;
var validDomain=false;
var AtPos = emailStr.lastIndexOf("@");
var DotPos= emailStr.lastIndexOf(".");
if((AtPos>0)&&(DotPos>0)&&(AtPos<DotPos))
{var domainExtList='ac.ad.ae.af.ag.ai.al.am.an.ao.aq.ar.as.at.au.aw.az.ba.bb.bd.be.bf.bg.bh.bi.bj.bm.bn.bo.br.bs.bt.bv.bw.by.bz.ca.cc.cd.cf.cg.ch.ci.ck.cl.cm.cn.co.cr.cs.cu.cv.cx.cy.cz.de.dj.dk.dm.do.dz.ec.ee.eg.eh.er.es.et.fi.fj.fk.fm.fo.fr.fx.ga.gb.gd.ge.gf.gg.gh.gi.gl.gm.gn.gp.gq.gr.gs.gt.gu.gw.gy.hk.hm.hn.hr.ht.hu.id.ie.il.im.in.io.iq.ir.is.it.je.jm.jo.jp.ke.kg.kh.ki.km.kn.kp.kr.kw.ky.kz.la.lb.lc.li.lk.lr.ls.lt.lu.lv.ly.ma.mc.md.mg.mh.mk.ml.mm.mn.mo.mp.mq.mr.ms.mt.mu.mv.mw.mx.my.mz.na.nc.ne.nf.ng.ni.nl.no.np.nr.nt.nu.nz.om.pa.pe.pf.pg.ph.pk.pl.pm.pn.pr.ps.pt.pw.py.qa.re.ro.ru.rw.sa.sb.sc.sd.se.sg.sh.si.sj.sk.sl.sm.sn.so.sr.st.su.sv.sy.sz.tc.td.tf.tg.th.tj.tk.tm.tn.to.tp.tr.tt.tv.tw.tz.ua.ug.uk.um.us.uy.uz.va.vc.ve.vg.vi.vn.vu.wf.ws.ye.yt.yu.za.zm.zr.zw.com.edu.gov.int.mil.net.org.biz.pro.info.aero.name.coop.arpa.nato.museum.EoF';
var domainExt=domainExtList.split(".");
var emailExt=emailStr.substr(DotPos+1);
emailExt=emailExt.toLowerCase();
for(i=0;domainExt.length;i++)
{if (domainExt[i]=='EoF')  break; //infinite loop else
if (emailExt==domainExt[i])  {validDomain=true;break;}
}}return(validDomain);
}function IsString(NumStr,autorise)
{if ((autorise=='') || (autorise=='all')) return true;
var tabautorise=autorise.split('|');
var reg='';
for (var sId in tabautorise) {
if (tabautorise[sId]=='num') reg=reg+'0-9';
if (tabautorise[sId]=='alpha') reg=reg+'A-Za-z';
if (tabautorise[sId]=='maj') reg=reg+'A-Z';
if (tabautorise[sId]=='min') reg=reg+'a-z';
if (tabautorise[sId]=='space') reg=reg+' ';
if (tabautorise[sId]=='ponct') reg=reg+',.;';
if (tabautorise[sId]=='accent') reg=reg+'éèà';
}var regEx=eval('/^['+reg+']+$/');
var ret=false;
if (regEx.test(NumStr)) ret=true;
return ret;
}function IsNumString(NumStr)
{var regEx=/^[0-9]+$/;
var ret=false;
if (regEx.test(NumStr)) ret=true;
return ret;
}function IsAlphaNumString(NumStr)
{var regEx=/^[A-Za-z0-9]+$/;
var ret=false;
if (regEx.test(NumStr)) ret=true;
return ret;
}function IsAlphaString(NumStr)
{var regEx=/^[A-Za-z]+$/;
var ret=false;
if (regEx.test(NumStr)) ret=true;
return ret;
}function IsDate(NumStr,type_date)
{if (prc_date(NumStr,type_date)){
return true
}else{return false
}}function IsTime(NumStr,type_time)
{if (prc_time(NumStr,type_time)){
return true
}else{return false
}}function querystring(str){
var requete = window.location.search.substring(1);
var elements = requete.split("&");
for(i = 0; i < elements.length; i++) {
temp = elements[i].split("=");
if (temp[0]==str) return unescape(temp[1]);
}return '';
}function queryanchor(){
var requete = window.location.href;
var elements = requete.split("#");
if  (elements[1]!='') {
return unescape(elements[1]);
}return '';
}function urladdparam(url,param){
if (url.indexOf('?')!=-1) {
return url+'&'+param;
} else {
return url+'?'+param;
}}function getbyid(str){
return document.getElementById(str);
}function getbyname(str){
return document.getElementsByName(str)[0];
}function getallbyname(str){
var result=new Array();
if (document.all){
for (i = 0; i < document.all.length; i++){
if  (document.all[i].name==str)result.push(document.all[i]);
}return result;
}else{return document.getElementsByName(str);
}}function getbyidname(str){
var obj=document.getElementById(str);
if (obj==undefined) obj=document.getElementsByName(str)[0]
return obj;
}function getbyids(str){
var result=new Array();
for (i = 1; i < 100; i++){
var obj=document.getElementById(str+'_'+i);
if (obj!=null){
result.push(obj);
}else{return result;
}}}function inArray(arr,val){
var j;
for (j=0;j<arr.length;j++){
if (arr[j]===val)
{return true;
}}return false;
}function tradprint(chaine){
var numargs = arguments.length;
var result= chaine;
for (i = 1; i < numargs; i++) {
result=replace(result,"%"+i,arguments[i]);
}return result;
}function jslib_context_additem(iddiv,texte,onclick,img){
var obj=getbyidname(iddiv);
var menu,ligne;
if (texte=='SEPARATEUR') {
ligne='<tr height="10" ><td colspan="2"><hr width="95%" align="center"></td></tr>';
}else {
if ((onclick=='')&&(img=='')){
ligne='<tr height="20" class="'+jslib_context_class_title+'"><td colspan="2" align=center >'+texte+'</td></tr>';
}if ((onclick!='')&&(img=='')){
ligne='<tr height="20" onclick="'+onclick+'" onMouseOut="this.className=\''+jslib_context_class_out+'\';" onMouseOver="this.className=\''+jslib_context_class_over+'\';"><td width="1%"></td><td align=left>&nbsp;'+texte+'</td></tr>';
}if ((onclick!='')&&(img!='')){
ligne='<tr height="20" onclick="'+onclick+'" onMouseOut="this.className=\''+jslib_context_class_out+'\';" onMouseOver="this.className=\''+jslib_context_class_over+'\';"><td width="1%"><img src="'+img+'"></td><td align=left>&nbsp;'+texte+'</td></tr>';
}}obj.items.push(ligne);
menu='<table width=100% cellpadding="0" cellspacing="0">';
for (var itemid in obj.items) {
menu=menu+obj.items[itemid];
}menu=menu+'</table>';
obj.context_texte=menu;
obj.context_decal_x=jslib_context_decal_x;
obj.context_decal_y=jslib_context_decal_y;
obj.context_ombre=jslib_context_ombre;
obj.context_class_bulle=jslib_context_class_bulle;
}

function jslib_context_addmenu(iddiv){
var obj=getbyidname(iddiv);
if (obj==undefined) {
alert('ERREUR  CONTEXT MENU "Objet '+iddiv+' indefini"');
return false;
}obj.style.cursor='hand';
if (obj.all){
for (i = 0; i < obj.all.length; i++){
obj.all[i].style.cursor='hand';
}}obj.oncontextmenu = jslib_context_on;
obj.context_texte='';
obj.items=new Array();
}function jslib_context_on(e) {
overdiv_block=true;
document.onmousemove = new Function('return true');
document.onclick=jslib_context_off;
oberdiv_drag=false;
overdiv_set(this.context_texte,this.context_ombre,this.context_class_bulle,this.context_decal_x,this.context_decal_y,true,e);
return false;
}function jslib_context_off(e) {
document.onclick=new Function('return true');
overdiv_unset();
overdiv_block=false;
return false;
}var jslib_context_menutmp=new Array();
function jslib_context_addmenutmp(iddiv){
var tmp=new Array();
tmp.iddiv=iddiv;
tmp.items=new Array();
jslib_context_menutmp.push(tmp);
}function jslib_context_additemtmp(iddiv,texte,onclick,img){
for (var id in jslib_context_menutmp) {
if (jslib_context_menutmp[id].iddiv==iddiv){
var tmp=new Array();
tmp.texte=texte;
tmp.onclick=onclick;
tmp.img=img;
jslib_context_menutmp[id].items.push(tmp);
}}}function jslib_context_flush(){
for (var id in jslib_context_menutmp) {
var iddiv=jslib_context_menutmp[id].iddiv;
jslib_context_addmenu(iddiv);
for (var sid in jslib_context_menutmp[id].items) {
var texte=jslib_context_menutmp[id].items[sid].texte;
var onclick=jslib_context_menutmp[id].items[sid].onclick;
var img=jslib_context_menutmp[id].items[sid].img;
jslib_context_additem(iddiv,texte,onclick,img);
}}jslib_context_menutmp=new Array();
}function dateadd(per,n,d) {
switch(per) {
case "yyyy": d.setYear(d.getFullYear()+n); break
case "m": d.setMonth(d.getMonth()+n); break
case "ww": n*=7
case "d": d.setDate(d.getDate()+n); break
case "h": d.setHours(d.getHours()+n); break
case "n": d.setMinutes(d.getMinutes()+n); break
case "s": d.setSeconds(d.getSeconds()+n)
}return d
}function prc_datetime(str_date,type_date){
if (type_date==undefined || type_date=='') { type_date='jjmmaa'; }
str_date=str_date.split(' ');
str_date[0]=prc_date(str_date[0],type_date);
if (str_date.length >1) {
str_date[1]=prc_time(str_date[1],'hhmmss');
dateadd('h',str_date[1].getHours(),str_date[0]);
dateadd('n',str_date[1].getMinutes(),str_date[0]);
dateadd('s',str_date[1].getSeconds(),str_date[0]);
return str_date[0];
}else{return str_date[0];
}}function prc_date(str_date,type_date) {
if (type_date==undefined || type_date=='') { type_date='jjmmaa'; }
var NUM_CENTYEAR = 30;
var MIN_YEAR = 1900;
var MAX_YEAR = 2100;
if (str_date == "") return false;
str_date=replace(str_date,'\\','/');
str_date=replace(str_date,'-','/');
var arr_date = str_date.split('/');
if (arr_date.length != 3) return false;
if (type_date=='mmjjaa'){
var tmp=arr_date[0];
arr_date[0]=arr_date[1];
arr_date[1]=tmp;
}if (arr_date[2]< 100) arr_date[2] = Number(arr_date[2]) + (arr_date[2] < NUM_CENTYEAR ? 2000 : 1900);
var dt_date = new Date(arr_date[2],arr_date[1]-1,arr_date[0]);
if ((dt_date.getFullYear()<=MAX_YEAR) && (dt_date.getFullYear()>=MIN_YEAR) && (dt_date.getDate() == arr_date[0]) && (dt_date.getMonth() == (arr_date[1]-1)) && (dt_date.getFullYear() == arr_date[2])){
return (dt_date);
}else{return false;
}}function prc_time(str_time,type_time) {
if (type_time==undefined || type_time=='') { type_time='hhmmss'; }
if (str_time == "") return false;
if (type_time=='hhmm') str_time=str_time+':00';
if (type_time=='mmss') str_time='00:'+str_time;
var arr_time = str_time.split(':');
if (arr_time.length != 3) return false;
var dt_time = new Date(0,0,0,arr_time[0],arr_time[1],arr_time[2]);
if ((dt_time.getHours() == arr_time[0]) && (dt_time.getMinutes() == arr_time[1]) && (dt_time.getSeconds() == arr_time[2])){
return (dt_time);
}else{return false;
}}function prc_num(str_num,type_num) {
if (type_num==undefined || type_num=='') { type_num='espacevirgu'; }
if (str_num == "") return false;
if (type_num=='virgupoint'){
str_num=replace(str_num,',','');
}else{str_num=replace(str_num,',','.');
}str_num=replace(str_num,' ','');
var fl_num=parseFloat(str_num);
if(fl_num==str_num){
return (fl_num);
}else{return false;
}}function print_date(dt_date,type_date) {
if (type_date==undefined || type_date=='') { type_date='jjmmaa'; }
var jj,mm,aa;
jj=(dt_date.getDate() < 10 ? '0' : '') + dt_date.getDate();
mm=(dt_date.getMonth() < 9 ? '0' : '') + (dt_date.getMonth() + 1);
aa=dt_date.getFullYear();
if (type_date=='mmjjaa'){
return mm + '/' +jj+ '/' +aa;
}else{return jj+ '/' +mm+ '/' +aa;
}}function print_time(dt_time,type_time) {
if (type_time==undefined || type_time=='') { type_time='hhmmss'; }
var hh,mm,ss;
hh=(dt_time.getHours() < 10 ? '0' : '') + dt_time.getHours();
mm=(dt_time.getMinutes() < 10 ? '0' : '') + dt_time.getMinutes();
ss=(dt_time.getSeconds() < 10 ? '0' : '') + dt_time.getSeconds();
if (type_time=='mmss'){
mm+ ':' +ss;
}else if (type_time=='hhmm'){
hh + ':' +mm;
}else{return hh+':'+mm+':'+ss;
}}function print_num(fl_num,type_num,prec_num) {
if (type_num==undefined || type_num=='') { type_num='espacevirgu'; }
if (isNaN(parseInt(fl_num))) return "";
if (typeof(fl_num)!='number') return "";
var sign = fl_num < 0 ? '-' : '';
var numstr = new String(Math.abs(fl_num));
var arr_num=numstr.split('.');
var num=arr_num[0];
var dec=arr_num[1];
if (dec==undefined) dec='';
if (prec_num!=-1){
if (dec.length>prec_num){
dec=dec.substr(0,prec_num);
}if (dec.length<prec_num){
dec=dec+createstring('0',prec_num-dec.length);
}}if (type_num=='virgupoint'){
for (i = num.length-3; i > 0; i=i-3) {
num = num.substring(0,i) + "," + num.substring(i,num.length);
}}if (type_num=='espacevirgu'){
for (i = num.length-3; i > 0; i=i-3) {
num = num.substring(0,i) + " " + num.substring(i,num.length);
}}if ((type_num=='virgupoint')||(type_num=='point')){
if (dec==''){return sign+num;}
return sign+num+'.'+dec;
}if ((type_num=='espacevirgu')||(type_num=='virgu')){
if (dec==''){return sign+num;}
return sign+num+','+dec;
}}function jslib_cookie_getval(offset){
var endstr=document.cookie.indexOf (";", offset);
if (endstr==-1) endstr=document.cookie.length;
return unescape(document.cookie.substring(offset, endstr));
}function jslib_cookie_read(nom){
var arg=nom+"=";
var alen=arg.length;
var clen=document.cookie.length;
var i=0;
while (i<clen){
var j=i+alen;
if (document.cookie.substring(i, j)==arg) return jslib_cookie_getval(j);
i=document.cookie.indexOf(" ",i)+1;
if (i==0) break;
}return null;
}function jslib_cookie_write(nom, valeur){
var argv=jslib_cookie_write.arguments;
var argc=jslib_cookie_write.arguments.length;
var expires=(argc > 2) ? argv[2] : null;
var path=(argc > 3) ? argv[3] : null;
var domain=(argc > 4) ? argv[4] : null;
var secure=(argc > 5) ? argv[5] : false;
document.cookie=nom+"="+escape(valeur)+
((expires==null) ? "" : ("; expires="+expires.toGMTString()))+
((path==null) ? "" : ("; path="+path))+
((domain==null) ? "" : ("; domain="+domain))+
((secure==true) ? "; secure" : "");
}function jslib_cookie_del(nom){
date=new Date;
date.setFullYear(date.getFullYear()-1);
jslib_cookie_write(nom,null,date);
}function jslib_drag(instance)
{this.instance=instance;
this.dragsrc='';
this.dragdst='';
this.start=jslib_drag_start;
this.reset=jslib_drag_reset;
this.getposition=jslib_drag_getposition;
this.getobj=jslib_drag_getobj;
this.move=jslib_drag_move;
this.stop=jslib_drag_stop;
this.lastover;
this.listid=''
this.listobj=new Array();
this.decal_x=jslib_drag_decal_x;
this.decal_y=jslib_drag_decal_y;
this.ombre=jslib_drag_ombre;
this.class_bulle=jslib_drag_class_bulle;
this.contour_size=jslib_drag_contour_size;
this.contour_color=jslib_drag_contour_color;
this.select_color=jslib_drag_select_color;
}function jslib_drag_getobj(e){
var obj=event_target(e);
if ((obj!=null) && (obj.className!="dragin") && (obj.className!="dragout")) obj=obj.parentNode;
if ((obj!=null) && (obj.className!="dragin") && (obj.className!="dragout")) obj=obj.parentNode;
if ((obj!=null) && (obj.className!="dragin") && (obj.className!="dragout")) obj=obj.parentNode;
if ((obj!=null) && ((obj.className=="dragin") || (obj.className=="dragout"))){
if (this.onover!=null){
if (!eval(this.onover+'('+this.listid+',\''+obj.id+'\')')) return null;
}if ((this.dragdst=='self') && (this.dragsrc==obj.id.substr(0,obj.id.lastIndexOf('_')))){
return obj;
}if ((this.dragdst=='inout')&& ((obj.className=="dragin") || (obj.className=="dragout"))){
return obj;
}if ((this.dragdst=='in')  && (obj.className=="dragin")){
return obj;
}if ((this.dragdst=='out') && (obj.className=="dragout")){
return obj;
}}}function jslib_drag_reset(){
if (this.lastover!=null){
if (this.lastover.tagName=="TR"){
cols = this.lastover.childNodes;
}else{cols = new Array(this.lastover);
}for(i = 0; i < cols.length; i++) {
if (cols[i].tagName!=null){
cols[i].style.borderColor=cols[i].borderColor;
cols[i].style.borderWidth=cols[i].borderWidth;
cols[i].style.borderStyle=cols[i].borderStyle;
cols[i].style.borderRightColor=cols[i].borderRightColor;
cols[i].style.borderRightWidth=cols[i].borderRightWidth;
cols[i].style.borderRightStyle=cols[i].borderRightStyle;
cols[i].style.borderLeftColor=cols[i].borderLeftColor;
cols[i].style.borderLeftWidth=cols[i].borderLeftWidth;
cols[i].style.borderLeftStyle=cols[i].borderLeftStyle;
cols[i].style.borderBottomColor=cols[i].borderBottomColor;
cols[i].style.borderBottomWidth=cols[i].borderBottomWidth;
cols[i].style.borderBottomStyle=cols[i].borderBottomStyle;
cols[i].style.borderTopColor=cols[i].borderTopColor;
cols[i].style.borderTopWidth=cols[i].borderTopWidth;
cols[i].style.borderTopStyle=cols[i].borderTopStyle;
}}}}function jslib_drag_getposition(e,obj){
if (obj.className=="dragout"){
var posY=event_mouseoffset_y(e)+get_y(event_target(e));
if (posY>(get_y(obj)+(get_h(obj)/2))) {return "bottom";}else{return "top";}
}else{return "in";
}}function jslib_drag_move(e){
var obj=this.getobj(e);
if (this.lastover != obj) this.reset();
if (obj!=null){
var pos=this.getposition(e,obj);
if (obj.tagName=="TR"){
cols = obj.childNodes;
}else{cols = new Array(obj);
}for(i=0; i<cols.length; i++) {
if (cols[i].tagName!=null){
if (!cols[i].borderStyle){
cols[i].borderColor=getstyle(cols[i]).borderColor;
cols[i].borderWidth=getstyle(cols[i]).borderWidth;
cols[i].borderStyle=getstyle(cols[i]).borderStyle;
cols[i].borderRightColor=getstyle(cols[i]).borderRightColor;
cols[i].borderRightWidth=getstyle(cols[i]).borderRightWidth;
cols[i].borderRightStyle=getstyle(cols[i]).borderRightStyle;
cols[i].borderLeftColor=getstyle(cols[i]).borderLeftColor;
cols[i].borderLeftWidth=getstyle(cols[i]).borderLeftWidth;
cols[i].borderLeftStyle=getstyle(cols[i]).borderLeftStyle;
cols[i].borderBottomColor=getstyle(cols[i]).borderBottomColor;
cols[i].borderBottomWidth=getstyle(cols[i]).borderBottomWidth;
cols[i].borderBottomStyle=getstyle(cols[i]).borderBottomStyle;
cols[i].borderTopColor=getstyle(cols[i]).borderTopColor;
cols[i].borderTopWidth=getstyle(cols[i]).borderTopWidth;
cols[i].borderTopStyle=getstyle(cols[i]).borderTopStyle;
}if(pos == "top") {
cols[i].style.borderTop         = this.contour_size+"px solid "+this.contour_color;
cols[i].style.borderBottomColor=cols[i].borderBottomColor;
cols[i].style.borderBottomWidth=cols[i].borderBottomWidth;
cols[i].style.borderBottomStyle=cols[i].borderBottomStyle;
}if(pos == "bottom") {
cols[i].style.borderBottom      = this.contour_size+"px solid "+this.contour_color;
cols[i].style.borderTopColor=cols[i].borderTopColor;
cols[i].style.borderTopWidth=cols[i].borderTopWidth;
cols[i].style.borderTopStyle=cols[i].borderTopStyle;
}if (pos=="in"){
cols[i].style.border         = this.contour_size+"px solid "+this.contour_color;
}}}this.lastover = obj;
}}var jslib_drag_interval;
function jslib_drag_start(e,listid){
this.listid=listid;
overdiv_block=true;
if ((this.listid!='') && (this.listid!=null)) {
var tablistid=this.listid.split('|');
this.listobj=new Array();
for (var id in tablistid) {
this.listobj.push(getbyid(this.dragsrc+'_'+tablistid[id]));
}var text='';
for (var id in this.listobj) {
this.listobj[id].initcolor = getstyle(this.listobj[id]).backgroundColor;
this.listobj[id].style.background = this.select_color;
text=text+this.listobj[id].innerHTML+'<BR>';
}document.onmousemove=overdiv_move;
jslib_drag_interval=window.setInterval('document.onclick=new Function(\''+this.instance+'.stop();return false;\');', 300);
overdiv_drag=this.instance;
overdiv_set(text,this.ombre,this.class_bulle,this.decal_x,this.decal_y,true,e);
}return false;
}function jslib_drag_stop(e) {
window.clearInterval(jslib_drag_interval);
for (var id in this.listobj) {
this.listobj[id].style.backgroundColor = this.listobj[id].initcolor;
}this.reset();
document.onmousemove = new Function('return true');
document.onclick = new Function('return true');
overdiv_unset();
var obj=this.getobj(e);
if (obj!=null){
var pos=this.getposition(e,obj);
eval(this.instance+'.ondrag(\''+this.listid+'\',\''+(obj.id)+'\',\''+pos+'\')');
}overdiv_block=false;
return false;
}function jslib_form(instance)
{this.instance=instance; // instance de la classe
this.addregle=jslib_addregle;
this.load=jslib_load;
this.valider=jslib_valider;
this.form='form';
this.maxerreurs=10;
this.showspan=true;
this.showinput=true;
this.showhint=true;
this.showalert=true;
this.date_format_base="jjmmaa"
this.num_format_base="point"
this.change_onload=false;
this.change_aftervalid=false;
this.reformat_beforevalid=true;
this.regles=new Array();
this.fields=new Array();
this.onbeforevalid=function(){};
this.onaftervalid=function(){};
this.onload=function(){};
this.beforevalid=jslib_beforevalid;
this.aftervalid=jslib_aftervalid;
this.form_img_valid=jslib_form_img_valid;
this.form_img_invalid=jslib_form_img_invalid;
this.form_txt_before=jslib_form_txt_before;
this.form_txt_after=jslib_form_txt_after;
this.form_txt_valid=jslib_form_txt_valid;
this.form_class_errorinput=jslib_form_class_errorinput;
this.form_class_errorspan=jslib_form_class_errorspan;
this.format_date=jslib_format_date;
this.format_num=jslib_format_num;
}function jslib_addregle(listchamp, methode, message, listparam)
{listchamp=objtoarray(listchamp);
listparam=objtoarray(listparam);
var classerreur=this.form_class_errorinput;
if (arguments.length>4) { classerreur=arguments[4]; }
for (var schampId in listchamp) {
var champname=listchamp[schampId];
if (this.fields[champname]==undefined){
eval("var champ=document."+this.form+"."+champname+";");
if (champ==undefined){alert('ERREUR INFOBULLE  "Objet '+champname+' indefini"');return false;}
this.fields[champname]=new Array();
var lienhint=false;
if (getbyid(champname + '_hint')!=undefined) {
lienhint=getbyid(champname + '_hint');
}var lienspan=false;
if (getbyid(champname + '_span')!=undefined) {
lienspan=getbyid(champname + '_span');
}this.fields[champname].erreur=false;
this.fields[champname].champname=champname;
this.fields[champname].champ=champ;
this.fields[champname].baseCN=champ.className;
this.fields[champname].errorCN=classerreur;
this.fields[champname].lienhint=lienhint;
this.fields[champname].lienspan=lienspan;
}if (methode=='date') this.fields[champname].isdate=true;
if (methode=='time') {
this.fields[champname].istime=true;
if (listparam[0]!=''){
this.fields[champname].type_time=listparam[0];
}else{this.fields[champname].type_time='hhmmss';
}}if (methode=='num') {
this.fields[champname].isnum=true;
if (listparam[0]>=0){
this.fields[champname].numprec=listparam[0];
}else{this.fields[champname].numprec=-1;
}}}var regle=new Array();
regle.listchamp=listchamp;
regle.methode=methode;
regle.message=message;
regle.listparam=listparam;
regle.erreur=false;
this.regles.push(regle);
}

function jslib_valider()
{var i, regex;
var nberreurs=0;
this.beforevalid();
if(!this.regles.length) return true;
for(i=0; i<this.regles.length; i++)
{var regle=this.regles[i];
regle.erreur=false;
champdejaenerreur=false;
for (var schampId in regle.listchamp) {
var field=this.fields[regle.listchamp[schampId]];
if (field.erreur==true)  champdejaenerreur=true;
}if (champdejaenerreur==false){
switch(regle.methode)
{case "comparaison":
field1=this.fields[regle.listchamp[0]];
field2=this.fields[regle.listchamp[1]];
if (field1.type!=field2.type){
regle.message='IMPOSIBLE DE COMPARER DES CHAMPS DE TYPE DIFFERENT';
regle.erreur=true;nberreurs++;
}if (field1.type=='str'){
var value1=field1.champ.value;
var value2=field2.champ.value;
}if (field1.type=='date'){
var value1=prc_date(field1.champ.value,this.format_date);
var value2=prc_date(field2.champ.value,this.format_date);
}if (field1.type=='time'){
var value1=prc_time(field1.champ.value,field1.type_time);
var value2=prc_time(field2.champ.value,field2.type_time);
}if (field1.type=='num'){
var value1=prc_num(field1.champ.value,this.format_num);
var value2=prc_num(field2.champ.value,this.format_num);
}if (field1.champ.value!='' && field2.champ.value!='' && value1 && value2){
if ((field1.type=='date')||(field1.type=='time')){
value1=value1.valueOf();
value2=value2.valueOf();
}if (regle.listparam[0]=="==" || regle.listparam[0]=="="){
if(!(value1==value2))  {regle.erreur=true;nberreurs++;}
}if (regle.listparam[0]=="!=" || regle.listparam[0]=="<>"){
if(!(value1!=value2))  {regle.erreur=true;nberreurs++;}
}if (regle.listparam[0]==">"){
if(!(value1>value2))  {regle.erreur=true;nberreurs++;}
}if (regle.listparam[0]=="<"){
if(!(value1<value2))  {regle.erreur=true;nberreurs++;}
}if (regle.listparam[0]=="<="){
if(!(value1<=value2))  {regle.erreur=true;nberreurs++;}
}if (regle.listparam[0]==">="){
if(!(value1<=value2))  {regle.erreur=true;nberreurs++;}
}}break;
case "date":
field=this.fields[regle.listchamp[0]];
if(!prc_date(field.champ.value,this.format_date) && (field.champ.value!='')){regle.erreur=true;nberreurs++;}
break;
case "doublerequis":
field1=this.fields[regle.listchamp[0]];
field2=this.fields[regle.listchamp[1]];
if (field1.champ.value=="" || field2.champ.value=="")   {regle.erreur=true;nberreurs++;}
break;
case "num":
field=this.fields[regle.listchamp[0]];
if((prc_num(field.champ.value,this.format_num)===false) && (field.champ.value!='')){regle.erreur=true;nberreurs++;}
break;
case "time":
field=this.fields[regle.listchamp[0]];
if(!prc_time(field.champ.value,regle.listparam[0]) && (field.champ.value!='')){regle.erreur=true;nberreurs++;}
break;
case "num_interval":
field=this.fields[regle.listchamp[0]];
if (field.champ.value!=''){
var value=prc_num(field.champ.value,this.format_num);
if(value<regle.listparam[0] || value>regle.listparam[1])
{regle.erreur=true;nberreurs++;}
}break;
case "str":
field=this.fields[regle.listchamp[0]];
if (field.champ.value!=''){
if(!IsString(field.champ.value,regle.listparam[0])){regle.erreur=true;nberreurs++;}
}break;
case "str_long":
field=this.fields[regle.listchamp[0]];
if (field.champ.value!=''){
var longueur=field.champ.value.length;
if(longueur<regle.listparam[0] || longueur>regle.listparam[1])
{regle.erreur=true;nberreurs++;}
}break;
case "email":
field=this.fields[regle.listchamp[0]];
if (field.champ.value!=''){
if(!IsEMail(field.champ.value)){regle.erreur=true;nberreurs++;}
}break;
case "requis":
field=this.fields[regle.listchamp[0]];
if (field.champ.value=="")   {regle.erreur=true;nberreurs++;}
break;
case "custom":
eval('var result='+regle.listparam[0]+'()');
if (result==false)  {regle.erreur=true;nberreurs++;}
break;
default:
regle.message='METHODE POUR LA REGLE INCORECT';
regle.erreur=true;nberreurs++;
break;
}};
for (var schampId in regle.listchamp) {
if (regle.erreur==true) {
var field=this.fields[regle.listchamp[schampId]];
field.erreur=true;
field.message=regle.message;
}}}for (var sFieldId in this.fields) {
var field=this.fields[sFieldId];
if (field.erreur==true) {
if (this.showspan) field.lienspan.innerHTML=field.message;
if (this.showhint) {field.lienhint.src=jslib_path+this.form_img_invalid;field.lienhint.texte=field.message;}
if (this.showinput) field.champ.className=field.errorCN;
}else{if (this.showspan) field.lienspan.innerHTML='';
if (this.showhint) {field.lienhint.src=jslib_path+this.form_img_valid;field.lienhint.texte=this.form_txt_valid;}
if (this.showinput) field.champ.className=field.baseCN;
}}var msgerreur="";
for(i=0; i<this.regles.length; i++){
var regle=this.regles[i];
if (regle.erreur==true){
msgerreur+="- "+regle.message+"\n";
}}if(nberreurs>0) {
var msgcomplet=this.form_txt_before+"\n\n"+msgerreur+"\n"+this.form_txt_after;
if (this.showalert) alert(msgcomplet);
return false;
}else{this.aftervalid();
return true;
}}

function jslib_load(){
for (var sFieldId in this.fields) {
var field=this.fields[sFieldId];
field.erreur=false;
field.type='str';
if (field.isdate) {
field.type='date';
if (this.change_onload==true){
tmpdate=prc_date(field.champ.value,this.date_format_base);
if (tmpdate) field.champ.value=print_date(tmpdate,this.format_date);
}}if (field.isnum) {
field.type='num';
if (this.change_onload==true){
tmpnum=prc_num(field.champ.value,this.num_format_base);
if (tmpnum) field.champ.value=print_num(tmpnum,this.format_num,field.numprec);
}}if (field.istime) {
field.type='time';
}}this.onload();
}
function print_r(theObj){
var echo;
  if(theObj.constructor == Array ||
     theObj.constructor == Object){
    echo += "<ul>"
    for(var p in theObj){
      if(theObj[p].constructor == Array||
         theObj[p].constructor == Object){
echo += ("<li>["+p+"] => "+typeof(theObj)+"</li>");
        echo += ("<ul>")
        print_r(theObj[p]);
        echo += ("</ul>")
      } else {
echo += ("<li>["+p+"] => "+theObj[p]+"</li>");
      }
    }
    echo += ("</ul>")
  }
  alert(echo);
}



function jslib_beforevalid(){
for (var sFieldId in this.fields) {
var field=this.fields[sFieldId];
field.erreur=false;
if (this.reformat_beforevalid==true){
field.champ.value=trim(field.champ.value);
}if (field.isdate) {
if (this.reformat_beforevalid==true){
tmpdate=prc_date(field.champ.value,this.format_date);
if (tmpdate) field.champ.value=print_date(tmpdate,this.format_date);
}}if (field.isnum) {
if (this.reformat_beforevalid==true){
tmpnum=prc_num(field.champ.value,this.format_num)
if (tmpnum) field.champ.value=print_num(tmpnum,this.format_num,field.numprec);
}}}this.onbeforevalid();
}

function jslib_aftervalid(){
for (var sFieldId in this.fields) {
var field=this.fields[sFieldId];
field.erreur=false;
if (field.isdate) {
if (this.change_aftervalid==true){
tmpdate=prc_date(field.champ.value,this.format_date)
if (tmpdate) field.champ.value==print_num(tmpdate,this.date_format_base);
}}if (field.isnum) {
if (this.change_aftervalid==true){
tmpnum=prc_num(field.champ.value,this.format_num)
if (tmpnum) field.champ.value=print_num(tmpnum,this.num_format_base,field.numprec);
}}if (this.change_aftervalid==true){
field.champ.style.visibility='hidden';
}}this.onaftervalid();
}function jslib_grid(instance)
{this.instance=instance;
this.printligne=null;
this.printheader=null;
this.modligne=null;
this.orderby=jslib_grid_orderby;
this.rows=jslib_grid_rows;
this.adddata=jslib_grid_adddata;
this.load=jslib_grid_load;
this.loadinterval=jslib_grid_loadinterval;
this.create=jslib_grid_create;
this.onscroll=jslib_grid_onscroll;
this.scrollinterval=jslib_grid_scrollinterval;
this.getpos=jslib_grid_getpos;
this.loadall=jslib_grid_loadall;
this.table=this.instance+'_table';
this.obj=null;
this.lignes=new Array();
this.nblignes=0;
this.nbcols=0;
this.nbshow=20;
this.orders=new Array();
this.move=jslib_grid_move;
this.mod =jslib_grid_mod;
this.supp=jslib_grid_supp;
this.valider=jslib_grid_valider;
this.annuler=jslib_grid_annuler;
this.mydrag=new jslib_drag(this.instance+".mydrag")
this.mydrag.dragsrc=this.instance+'_row';
this.mydrag.dragdst='in';
this.mydrag.instanceparent=this.instance;
this.mydrag.onover=this.instance+'.dragable';
this.mydrag.ondrag=function(src,dest,pos){
eval(this.instanceparent+'.onmove(src,dest,pos)');
};
this.modencours=null;
this.backgroundcolor1=jslib_grid_backgroundcolor1;
this.backgroundcolor2=jslib_grid_backgroundcolor2;
this.imghaut=jslib_grid_imghaut;
this.imgbas=jslib_grid_imgbas;
this.class_table=jslib_grid_class_table;
this.class_thfirst=jslib_grid_class_thfirst;
this.class_th=jslib_grid_class_th;
this.class_tdfirst=jslib_grid_class_tdfirst;
this.class_td=jslib_grid_class_td;
this.rowheight=jslib_grid_rowheight;
}function jslib_grid_valider(){
for (var i = 0; i < this.nblignes; i++) {
var row=this.obj.tBodies[0].rows[i];
if (row.id==this.instance+'_row_'+this.modencours){
for (var j= 0; j < this.lignes[i].length; j++) {
var data=getbyid(this.instance+'_data_'+j);
this.lignes[i][j]=getInputVal(data);
}this.printligne(row,this.lignes[i]);
}}this.modencours=null;
}function jslib_grid_annuler(){
for (var i = 0; i < this.nblignes; i++) {
var row=this.obj.tBodies[0].rows[i];
if (row.id==this.instance+'_row_'+this.modencours){
this.printligne(row,this.lignes[i]);
}}this.modencours=null;
}function jslib_grid_move(listid){
if (listid=='') {alert('Sélectionner au moins un éléments');return false;}
this.mydrag.start(null,listid);
}function jslib_grid_mod(listid){
var tablistid=listid.split('|');
if (listid=='') {alert('Sélectionner au moins un éléments');return false;}
if (tablistid.length!=1) {alert('Sélectionner qu\'un éléments a la fois');return false;}
for (var i = 0; i < this.nblignes; i++) {
var row=this.obj.tBodies[0].rows[i];
if (row.id==this.instance+'_row_'+listid){
this.modligne(row,this.lignes[i]);
this.modencours=listid;
}}}function jslib_grid_supp(listid){
if (listid=='') {alert('Sélectionner au moins 1 éléments');return false;}
this.onsupp(listid);
}function jslib_grid_orderby(col,datanb,datatype){
for (var i = 0; i < this.orders.length; i++) {
var span=getbyid(this.instance+'_span_'+i);
if (span!=undefined) span.innerHTML='';
}if (this.orders[col]==1){
this.orders[col]=-1;
getbyid(this.instance+'_span_'+col).innerHTML='<img src="'+jslib_path+this.imghaut+'">';
}else{this.orders[col]=1;
getbyid(this.instance+'_span_'+col).innerHTML='<img src="'+jslib_path+this.imgbas+'">';
}jslib_grid_order_sens=this.orders[col];
if (datatype!=undefined) {
jslib_grid_order_type=datatype;
}else{jslib_grid_order_type='str';
}if (datanb!=undefined) {
jslib_grid_order_col=datanb;
}else{jslib_grid_order_col=col;
}this.lignes.sort(jslib_grid_sortfn);
for (var i = 0; i < this.obj.tBodies[0].rows.length; i++) {
this.obj.tBodies[0].rows[i].loaded=undefined;
}var pos=this.getpos();
this.rows(pos[0],pos[1]);
}function jslib_grid_sortfn(a,b) {
if (jslib_grid_order_type=='str'){
if (a[jslib_grid_order_col]<b[jslib_grid_order_col]) return -jslib_grid_order_sens;
if (a[jslib_grid_order_col]>b[jslib_grid_order_col]) return jslib_grid_order_sens;
}if (jslib_grid_order_type=='date'){
var a1=prc_datetime(a[jslib_grid_order_col]);
var b1=prc_datetime(b[jslib_grid_order_col]);
if (a1<b1) return -jslib_grid_order_sens;
if (a1>b1) return jslib_grid_order_sens;
}return 0;
}function jslib_grid_rows(debut,fin){
for (var i = debut-1; i <= fin-1; i++) {
var row=this.obj.tBodies[0].rows[i];
if (row.loaded==undefined){
if (i%2==1) {
row.style.background=this.backgroundcolor1;
}else{row.style.background=this.backgroundcolor2;
}row.cells[0].className=this.class_tdfirst;
if (row.cells.length<=1){
for (j = 1; j< this.nbcols; j++){
var cell=row.insertCell(0);
cell.className=this.class_td;
}}row.loaded=true;
row.id=this.instance+'_row_'+this.lignes[i][0];
row.className='dragout';
/*this.lignes[i]=tabdata[1].split('@SEP@');*/
this.printligne(row,this.lignes[i]);
}}}function jslib_grid_loadall(){
this.rows(1,this.nblignes);
}function jslib_grid_adddata(data){
this.lignes.push(data);
}function jslib_grid_getpos(){
var obj=this.obj.parentNode;
var first=1;
var last=1;
for (var i = 0; i < this.nblignes; i++) {
if (this.obj.tBodies[0].rows[i].offsetTop>=obj.scrollTop){
first=i+1;
break;
}}last=first+this.nbshow;
if (last>this.nblignes) last=this.nblignes;
return [first,last];
}function jslib_grid_scrollinterval(){
window.clearInterval(this.interval2);
var pos=this.getpos();
window.status=pos[0]+'--'+pos[1];
this.rows(pos[0],pos[1]);
/*
var data=jslib_winhttp('GET','http://127.0.0.1/airmes/jslib/winhttp.php?act=data&debut='+id+'&fin='+(id+10),'');
var tabdata=data.split('\n');
*/
}function jslib_grid_onscroll(e){
window.clearInterval(this.interval2);
this.interval2=window.setInterval(this.instance+".scrollinterval()", 100);
}function jslib_grid_load(){
this.interval=window.setInterval(this.instance+".loadinterval()", 10);
}function jslib_grid_loadinterval(){
window.clearInterval(this.interval);
this.onload();
this.nblignes=this.lignes.length;
this.create();
}function jslib_grid_create(){
this.objdiv=getbyid(this.instance);
this.objdiv.innerHTML='<table width="100%" height="100%" id="'+this.instance+'_table"><thead><tr></tr></thead><tbody></tbody></table>';
this.objdiv.className="tablescroll";
if (this.objdiv.style.width=='')this.objdiv.style.width='100%';
if (this.objdiv.style.height=='')this.objdiv.style.height='100%';
this.obj=getbyid(this.table);
this.obj.className=this.class_table;
for (var i = 0; i < this.nbcols; i++) {
this.obj.tHead.rows[0].insertCell(0);
}this.obj.tHead.rows[0].style.height=this.rowheight;
this.printheader(this.obj.tHead.rows[0]);
for (var i = 0; i < this.obj.tHead.rows[0].cells.length; i++) {
if (i==0) {
this.obj.tHead.rows[0].cells[i].className=this.class_thfirst;
}else{this.obj.tHead.rows[0].cells[i].className=this.class_th;
}this.obj.tHead.rows[0].cells[i].style.whiteSpace='nowrap';
this.obj.tHead.rows[0].cells[i].innerHTML=this.obj.tHead.rows[0].cells[i].innerHTML+' <span id="'+this.instance+'_span_'+i+'">';
}jslib_style_ajustetablehead(this.objdiv);
this.obj.parentNode.onscroll=new Function(this.instance+'.onscroll()');
for (var i = 0; i < this.nblignes; i++) {
var row = this.obj.tBodies[0].insertRow(0);
row.style.height=this.rowheight;
cell=row.insertCell(0);
cell.innerHTML='&nbsp;';
}var row = this.obj.tBodies[0].insertRow(0);
cell=row.insertCell(0);
this.nbshow=Math.round(this.obj.parentNode.offsetHeight/this.rowheight);
if (this.nbshow==0) this.nbshow=Math.round(this.maxheight/this.rowheight);
if (this.nbshow>this.nblignes) this.nbshow=this.nblignes;
if ((this.objdiv.offsetHeight==0) && (this.nblignes>this.nbshow)){
}this.rows(1,this.nbshow);
}function jslib_infobulle_add(id,texte){
var obj=getbyidname(id);
if (obj==undefined) {
alert('ERREUR INFOBULLE  "Objet '+id+' indefini"');
return false;
}obj.style.cursor='help';
obj.onmouseover=jslib_infobulle_on;
obj.onmouseout=jslib_infobulle_off;
obj.infobulle_texte=texte;
obj.infobulle_decal_x=jslib_infobulle_decal_x;
obj.infobulle_decal_y=jslib_infobulle_decal_y;
obj.infobulle_ombre=jslib_infobulle_ombre;
obj.infobulle_class_bulle=jslib_infobulle_class_bulle;
}function jslib_infobulle_pop(obj,texte){
if (obj==undefined) {
alert('ERREUR INFOBULLE  "Objet '+this.id+' indefini"');
return false;
}obj.style.cursor='help';
obj.onmouseover=jslib_infobulle_on;
obj.onmouseout=jslib_infobulle_off;
obj.infobulle_texte=texte;
obj.infobulle_decal_x=jslib_infobulle_decal_x;
obj.infobulle_decal_y=jslib_infobulle_decal_y;
obj.infobulle_ombre=jslib_infobulle_ombre;
obj.infobulle_class_bulle=jslib_infobulle_class_bulle
obj.onmouseover();
}function jslib_infobulle_on(e) {
if (!overdiv_block){
overdiv_drag=false;
document.onmousemove = overdiv_move;
overdiv_set(this.infobulle_texte,this.infobulle_ombre,this.infobulle_class_bulle,this.infobulle_decal_x,this.infobulle_decal_y,true,e);
}}function jslib_infobulle_off(e) {
if (!overdiv_block){
document.onmousemove = new Function('return true');
overdiv_unset();
}}/*********************************PLUS MOIS*******************************************************************
*
Incrémente et décrémente une valeur dans un input a l'aide de 2 boutons
*
REMARQUES :
2 incrementation par doubleclik.
PARAMETRES :
e:event
input:le input
REQUIS :
jslib_commun.js
MULTILANGUE :
inutile
COMPATIBLE :
IE : OK
FIREFOX : A TESTER
EXEMPLE :
<span style:"cursor:hand" onclick="javascript:jslib_moins(event,'inputint')"><img src="images/moins.gif"></span>
<input type="text" size=5 id="inputint" name="inputint" class="textInput" value="10">
<span style:"cursor:hand" onclick="javascript:jslib_plus(event,'inputint')"><img src="images/plus.gif"></span>
*
*************************************************************************************************************/
function jslib_moins(e,input){
if (MS)
event_target(e).ondblclick=function (e){jslib_moins(e,input)};
var inp=getbyid(input);
if (parseInt(inp.value)>0) {
inp.value=parseInt(inp.value) -1;
}else{inp.value=0;
}return false;
}function jslib_plus(e,input){
if (MS)
event_target(e).ondblclick=function (e){jslib_plus(e,input)};
var inp=getbyid(input);
if (parseInt(inp.value)>0) {
inp.value=parseInt(inp.value) +1;
}else{inp.value=1;
}return false;
}/*********************************PLUS MOIS*******************************************************************/
/*********************************CONDITION*******************************************************************
*
Condtionne la proprieté d'un element par raport a une action
*
REMARQUES :
Tres utile pour les formulaires.
PARAMETRES :
srcchamp : champ source
dstchamp : champ destination
cond : "checked",array("1","2","3")
action : readonly,disabled,visibility,display
reverse : true/false
REQUIS :
jslib_commun.js
MULTILANGUE :
inutile
COMPATIBLE :
IE : OK
FIREFOX : A TESTER
EXEMPLE :
jslib_condition_add("c5","text1","checked","visibility");
jslib_condition_add("c6",Array("text2","text3"),"checked","display",true);
jslib_condition_add("text4","text5","","disabled",true);
jslib_condition_add("s1","text6",Array("1","2","3"),"readonly");
Pour rafraichir les conditions apres un changement non manuel des champs.
setInputVal(form.util_nom,'toto');
jslib_condition_refrech();
*
*************************************************************************************************************/
var jslib_conditions=new Array();
function jslib_condition_add(srcchamp, dstchamp, cond, action,reverse)
{jslib_conditions.push(srcchamp);
dstchamp=objtoarray(dstchamp);
cond=objtoarray(cond);
var condition=new Array();
condition.srcchamp=srcchamp;
condition.dstchamp=dstchamp;
condition.cond=cond;
condition.action=action;
condition.reverse=reverse;
var src=getbyidname(srcchamp);
src.lacond=condition;
if ((src.type=='text')||(src.type=='textarea')||(src.type=='hidden')||(src.type=='select-one')||(src.type=='select-multiple')){
src.onchange=jslib_condition_event;
}else{if (src.type=='radio'){
var srcs=document.getElementsByName(srcchamp);
if (srcs.length!=null){
for (var i = 0 ; i< srcs.length ; i++){
srcs[i].lacond=condition;
srcs[i].onclick=jslib_condition_event;
jslib_condition_event(srcs[i]);
}}}src.onclick=jslib_condition_event;
}jslib_condition_event(src);
}function jslib_condition_refrech(){
for (var id in jslib_conditions) {
var src=getbyidname(jslib_conditions[id]);
jslib_condition_event(src);
if (src.type=='radio'){
var srcs=document.getElementsByName(src.name);
if (srcs.length!=null){
for (var i = 0 ; i< srcs.length ; i++){
jslib_condition_event(srcs[i]);
}}}}}function jslib_condition_event(src){
if (src==undefined || src.name==undefined) {
src=this;
}if (src.lacond.cond[0]=='checked'){
var cond=src.checked;
}else{var cond=false
for (var sCondId in src.lacond.cond) {
if (getInputVal(src)==src.lacond.cond[sCondId]) cond=true;
}}if (src.lacond.reverse==true) cond=!cond;
for (var sDstId in src.lacond.dstchamp) {
var dst=getbyidname(src.lacond.dstchamp[sDstId]);
if (cond){
if (src.lacond.action=='readonly')dst.readOnly=false;
if (src.lacond.action=='disabled')dst.disabled=false;
if (src.lacond.action=='visibility')dst.style.visibility='';
if (src.lacond.action=='display')dst.style.display='';
if (src.lacond.action=='disabled'){
var all = dst.getElementsByTagName('*');
for(var k=0, elm; elm=all[k++];)  {
if (elm.tagName!=null){
elm.disabled=false;
}}}}else{if (src.lacond.action=='readonly')dst.readOnly=true;
if (src.lacond.action=='disabled')dst.disabled=true;
if (src.lacond.action=='visibility')dst.style.visibility='hidden';
if (src.lacond.action=='display')dst.style.display='none';
if (src.lacond.action=='disabled'){
var all = dst.getElementsByTagName('*');
for(var k=0, elm; elm=all[k++];)  {
if (elm.tagName!=null){
elm.disabled=true;
}}}}}}/*********************************CONDITION*******************************************************************/
/*********************************CASCADE*******************************************************************
*
Affiche des select en casacade
*
REMARQUES :
Tres utile pour les formulaires.
PARAMETRES :
parentselectid : champ parent
sousselectid : champ enfant
tabvalue : relation
parentinit : valeur initiale du parent
sousinit : valeur initiale de l'enfant
REQUIS :
jslib_commun.js
MULTILANGUE :
inutile
COMPATIBLE :
IE : OK
FIREFOX : A TESTER
EXEMPLE :
var tab_cascase1={
'ALL':{'0':'--TOUS--'},
'54':{'1': 'NANCY','2': 'LUNEVILLE','3': 'BRIEY','4': 'TOUL'},
'57':{'5': 'METZ'},
'51':{'6': 'BARLEDUC'},
'88':{'7': 'EPINAL','8': 'GERARDMER'}
};
jslib_cascade_add('niv1','niv2',tab_cascase1,'54','1');
*
*************************************************************************************************************/
function jslib_cascade_add(parentselectid,sousselectid,tabvalue,parentinit,sousinit){
var parentselect = getbyidname(parentselectid);
var sousselect = getbyidname(sousselectid);
var cascade=new Array();
cascade.parentselect=parentselect;
cascade.sousselect=sousselect;
cascade.tabvalue=tabvalue;
cascade.parentinit=parentinit;
cascade.sousinit=sousinit;
parentselect.lacascade=cascade;
parentselect.onchange=jslib_cascade_onchange
jslib_cascade_onchange(parentselect,parentinit,sousinit);
}function jslib_cascade_onchange(parentselect,parentinit,sousinit){
if (parentselect==undefined || parentselect.name==undefined) {
parentselect=this;
}var cascade=parentselect.lacascade;
var sousselect=cascade.sousselect;
var tabvalue=cascade.tabvalue;
if (parentinit!=undefined)setSelectVal(parentselect,parentinit);
sousselect.length = 0;
var selected = parentselect.options[parentselect.selectedIndex].value;
for (var sId in tabvalue) {
if ((sId=='ALL') || (sId==selected) || (sId==parentinit)){
loadselect(sousselect,tabvalue[sId],sousinit)
}}if (sousselect.lacascade!=undefined) jslib_cascade_onchange(sousselect);
}/*********************************CASCADE*******************************************************************/
/*********************************SWAP*******************************************************************
*
FONCTION DE PASSAGE D'UN SELECT A l'AUTRE
*
REMARQUES :
tres utile pour passer des element d'un select a l'autre
PARAMETRES :
src:source
dst:destination
max:maximun autorisé
retourne false si maximun
REQUIS :
jslib_commun.js
MULTILANGUE :
inutile
COMPATIBLE :
IE : OK
FIREFOX : A TESTER
EXEMPLE :
if (!jslib_swap('select1','select1',10)) alert('Impossible de passer plus d\'éléments');
*
*************************************************************************************************************/
function  jslib_swap(src,dst,max){
var src=getbyid(src);
var dst=getbyid(dst);
for (i=0; i< dst.options.length; i++){
dst.options[i].selected=false;
}for (i=0; i< src.options.length; i++){
if (src.options[i].selected) {
if (dst.length>=max){
return false;
}else{src.options[i].toremove=true;
dst.options[dst.length] = new Option(src.options[i].text, src.options[i].value);
dst.options[dst.length-1].selected=true;
}}}for (i=0; i< src.options.length; i++){
if (src.options[i].toremove) {
src.remove(i);
i=i-1;
}}return true;
}/*********************************SWAP*******************************************************************/
/*********************************SELECT ONSUBMIT**************************************************************
*
FONCTION DE SELECTION AVANT LE SUBMIT
*
REMARQUES :
tres utile avant de valider un formulaire
PARAMETRES :
src:source
REQUIS :
jslib_commun.js
MULTILANGUE :
inutile
COMPATIBLE :
IE : OK
FIREFOX : A TESTER
EXEMPLE :
jslib_selection_select('groupe_util');
*
*************************************************************************************************************/
function  jslib_select_select(src){
var src=getbyid(src);
for (i=0; i< src.options.length; i++){
src.options[i].selected=true;
}}function  jslib_swap_select(src){jslib_select_select(src);}
function jslib_select_checkbox(myform){
for (i = 0; i < myform.elements.length; i++){
if ((myform.elements[i].type=='checkbox') && (myform.elements[i].checked==false)){
myform.elements[i].value="0";
myform.elements[i].checked=true;
}}}/*********************************SELECT ONSUBMIT*******************************************************************/
/*********************************SELECT DATAGRID*******************************************************************
*
FONCTION DE SELECTION DANS LES DATAGRIDS
*
REMARQUES :
tres utile pour selectionner des element en vue de leur suppressions
PARAMETRES :
REQUIS :
jslib_commun.js
MULTILANGUE :
inutile
COMPATIBLE :
IE : OK
FIREFOX : A TESTER
EXEMPLE :
jslib_select_tousaucun(this.checked,'mygrid_sel');
jslib_select_inverser('mygrid_sel');
jslib_select_getlist('mygrid_sel')=>renvoie les value separer par des |
jslib_select_getlist2('mygrid_sel')=>renvoie les value2 separer par des |
jslib_select_getlist3('mygrid_sel')=>renvoie les value3 separer par des |
jslib_select_unique('mygrid_sel')=> le nombre d'element doit etre strictement egale à 1 ou a null
onmousedown="jslib_select_radio(this)" : permet la deselection des radio.
*
*************************************************************************************************************/
function  jslib_select_tousaucun(etat,listedeschekbox){
var checkbox=document.getElementsByName(listedeschekbox);
for (var i = 0; i < checkbox.length; i++){
if ((etat) && (!checkbox[i].checked)) {
checkbox[i].checked=true;
}if ((!etat) && (checkbox[i].checked)) {
checkbox[i].checked=false;
}}}function  jslib_select_inverser(listedeschekbox){
var checkbox=document.getElementsByName(listedeschekbox);
for (var i = 0; i < checkbox.length; i++){
checkbox[i].checked=!checkbox[i].checked;
}}

function  jslib_select_getlist(listedeschekbox){
var checkbox=document.getElementsByName(listedeschekbox);
var list  = new Array();
for (var i = 0; i < checkbox.length; i++){
if (checkbox[i].checked) list.push(checkbox[i].value);
}return list.join('|');
}

function  jslib_select_getlist2(listedeschekbox){
var checkbox=document.getElementsByName(listedeschekbox);
var list  = new Array();
for (var i = 0; i < checkbox.length; i++){
if (checkbox[i].checked) list.push(checkbox[i].text);
}return list.join('|');
}

function  jslib_select_getlist3(listedeschekbox){
var checkbox=document.getElementsByName(listedeschekbox);
var list  = new Array();
for (var i = 0; i < checkbox.length; i++){
if (checkbox[i].checked) list.push(checkbox[i].value3);
}return list.join('|');
}function  jslib_select_unique(listid){
if (listid==null){
return true;
}else{if (listid=='') {alert('Sélectionner au moins un éléments');return false;}
if (listid.split('|').length!=1) {alert('Sélectionner qu\'un éléments a la fois');return false;}
return true;
}}function  jslib_select_radio(radio){
radio.checked2=radio.checked;
radio.onclick= new Function('if (this.checked2) {this.checked2=this.checked; this.checked=false;}');
}/*********************************SELECT DATAGRID*************************************************************/
/*********************************SELECT SELECT***************************************************************
*
FONCTION DE SELECTION DANS LES DATAGRIDS
*
REMARQUES :
tres utile pour ajouter et supprimer des element dans un select
PARAMETRES :
REQUIS :
jslib_commun.js
MULTILANGUE :
inutile
COMPATIBLE :
IE : OK
FIREFOX : A TESTER
EXEMPLE :
jslib_select_add(selectid,listid,listnom)
jslib_select_supp(selectid)
jslib_select_suppindex(selectid,listid)
*
*************************************************************************************************************/
function jslib_select_add(selectid,listid,listnom){
	var select=document.getElementById(selectid);
	var tablistid=listid.split('|');
	var tablistnom=listnom.split('|');
	for (i=0; i< tablistid.length; i++){
		/*
		if ((tablistid[i]!='')&&(tablistnom[i]!='')){
		var opt = document.createElement('OPTION');
		opt.value = tablistid[i];
		opt.text =  tablistnom[i];
		var exist=false;
		for (j=0; j< select.options.length; j++){
			if (select.options[j].value==tablistid[i]) exist=true;
		}
		if (!exist)select.options.add(opt, select.length);
		}*/
		var elOptNouv = document.createElement('option');
		elOptNouv.text = tablistnom[i];
		elOptNouv.value = tablistid[i];

		try {
		select.add(elOptNouv, null); // ne fonctionne pas sous IE
		}
		catch(ex) {
		select.add(elOptNouv); // fonctionne sous IE seulement
		}
	}
}

function jslib_select_supp(selectid){
var select=document.getElementById(selectid);
for (j=0; j< select.options.length; j++){
if (select.options[j].selected==true) {
select.remove(j);
j=j-1;
}}}function jslib_select_suppindex(selectid,listid){
var select=document.getElementById(selectid);
var tablistid=listid.split('|');
for (var j=0; j< select.options.length; j++){
var exist=false;
for (var i=0; i< tablistid.length; i++){
if (select.options[j].value==tablistid[i]) {
exist=true;
}}if (exist){
select.remove(j);
j=j-1;
}}}function loadselect(select,tab,init){
for (var sId in tab) {
select.options[select.length] = new Option(tab[sId], sId);
if (sId == init) select.options[select.length - 1].selected = true;
}}/*********************************SELECT SELECT***************************************************************/
/*********************************ONGLETS***************************************************************
*
FONCTION DE SELECTION D'ONGLETS
*
REMARQUES :
a revoir a cause des cookies
PARAMETRES :
REQUIS :
jslib_commun.js
jslib_cookie.js
MULTILANGUE :
inutile
COMPATIBLE :
IE : OK
FIREFOX : A TESTER
EXEMPLE :
*
*************************************************************************************************************/
function  jslib_onglet(nameonglet,idonglet,class_unselect,class_select){
var onglet_main=getbyid(nameonglet+'_main_'+idonglet);
var onglet_menu=getbyid(nameonglet+'_menu_'+idonglet);
var onglet_titre=getbyid(nameonglet+'_titre_'+idonglet);
var onglets_main=getbyids(nameonglet+'_main');
var onglets_menu=getbyids(nameonglet+'_menu');
var onglets_titre=getbyids(nameonglet+'_titre');
for (i = 0; i < onglets_main.length; i++){
onglets_main[i].style.display='none';
}for (i = 0; i < onglets_titre.length; i++){
onglets_titre[i].style.display='none';
}for (i = 0; i < onglets_menu.length; i++){
onglets_menu[i].className=class_unselect;
}onglet_main.style.display='';
onglet_titre.style.display='';
onglet_menu.className=class_select;
jslib_cookie_write(nameonglet,idonglet);
}function  jslib_onglet_init(nameonglet,idonglet,class_unselect,class_select){
var init=jslib_cookie_read(nameonglet);
if (init!=null){
jslib_onglet(nameonglet,init,class_unselect,class_select);
}else{jslib_onglet(nameonglet,idonglet,class_unselect,class_select);
}}/*********************************ONGLETS***************************************************************/
var overdiv_initialize=false;
var overdiv_block=false;
var overdiv_drag;
var overdiv_pos_x=0;
var overdiv_pos_y=0;
function overdiv_init() {
overdiv_initialize=true;
if (MS){
var overdiv_str="<div id='overdiv_div' style='display:none;visibility:hidden;position:absolute;'>"
+"<div style='position:absolute;z-index:2;"
+" class='infobulle' id='overdiv_cont'>"
+"</div>"
+"<IFRAME style='position: absolute;z-index:1;'  frameBorder='0' scrolling='no' id='overdiv_iframe'/>"
+ "</div>";
document.body.insertAdjacentHTML('beforeend',overdiv_str);
}else{var overdiv_str="<div id='overdiv_div' style='display:none;visibility:hidden;position:absolute;' class='infobulle'></div>";
var range = document.createRange();
range.setStartBefore(document.body.lastChild);
var docFrag =  range.createContextualFragment(overdiv_str);
document.body.appendChild(docFrag);
}var overdiv_div = getbyid('overdiv_div');
overdiv_div.overdiv_decal_x=0;
overdiv_div.overdiv_decal_y=0;
}function overdiv_unset(){
var overdiv_div,overdiv_cont;
if (!overdiv_initialize) overdiv_init();
if (MS){
overdiv_div = getbyid('overdiv_div');
overdiv_cont = getbyid('overdiv_cont');
}else{overdiv_div = getbyid('overdiv_div');
overdiv_cont = getbyid('overdiv_div');
}overdiv_cont.innerHTML = '';
overdiv_div.style.visibility = 'hidden';
overdiv_div.style.display = 'none';
}function overdiv_set(overdiv_html,overdiv_ombre,overdiv_class,overdiv_decal_x,overdiv_decal_y,overdiv_visible,e){
var overdiv_div,overdiv_cont,overdiv_iframe;
if (!overdiv_initialize) overdiv_init();
if (MS){
overdiv_div = getbyid('overdiv_div');
overdiv_cont = getbyid('overdiv_cont');
overdiv_iframe = getbyid('overdiv_iframe');
}else{overdiv_div = getbyid('overdiv_div');
overdiv_cont = getbyid('overdiv_div');
}overdiv_div.overdiv_decal_x=overdiv_decal_x;
overdiv_div.overdiv_decal_y=overdiv_decal_y;
if (overdiv_visible){
if (MS){
overdiv_cont.style.width=150;
overdiv_cont.style.filter='progid:DXImageTransform.Microsoft.Shadow(color=#333366,direction=135,Strength='+overdiv_ombre+')';
overdiv_div.style.display = '';
overdiv_cont.innerHTML = overdiv_html;
overdiv_iframe.style.width = get_w(overdiv_cont)-Math.round(overdiv_ombre/2);
overdiv_iframe.style.height = get_h(overdiv_cont)-Math.round(overdiv_ombre/2);
}else{overdiv_cont.style.width=150;
overdiv_div.style.display = '';
overdiv_cont.innerHTML = overdiv_html;
}overdiv_cont.className=overdiv_class;
overdiv_div.style.visibility = 'visible';
overdiv_move(e);
if (MS){
overdiv_iframe.style.width = get_w(overdiv_cont)-Math.round(overdiv_ombre/2);
overdiv_iframe.style.height = get_h(overdiv_cont)-Math.round(overdiv_ombre/2);
}}else{overdiv_cont.innerHTML = '';
overdiv_div.style.visibility = 'hidden';
overdiv_div.style.display = 'none';
}}function overdiv_move(e) {
if (overdiv_drag!=null && overdiv_drag!=false) eval(overdiv_drag+'.move(e)');
if (MS){
var overdiv_div = getbyid('overdiv_div');
var overdiv_cont = getbyid('overdiv_cont');
var overdiv_iframe = getbyid('overdiv_iframe');
}else{var overdiv_div = getbyid('overdiv_div');
var overdiv_cont = getbyid('overdiv_div');
}var overdiv_decal_x=overdiv_div.overdiv_decal_x;
var overdiv_decal_y=overdiv_div.overdiv_decal_y;
var x = event_mouse_x(e);
var y = event_mouse_y(e);
if (x>0.6*document.body.clientWidth+document.body.scrollLeft)overdiv_pos_x=1;
if (x<0.4*document.body.clientWidth+document.body.scrollLeft)overdiv_pos_x=0;
if (overdiv_pos_x==1){
overdiv_div.style.left  = x - overdiv_decal_x-get_w(overdiv_cont);
}else{overdiv_div.style.left  = x + overdiv_decal_x;
}if (y>0.6*document.body.clientHeight+document.body.scrollTop) overdiv_pos_y=1;
if (y<0.4*document.body.clientHeight+document.body.scrollTop) overdiv_pos_y=0;
if (overdiv_pos_y==1){
overdiv_div.style.top  = y - overdiv_decal_y-get_h(overdiv_cont);
}else{overdiv_div.style.top  = y + overdiv_decal_y;
}}function getstyle(obj){
if (MS){
return obj.currentStyle;
}else{return window.getComputedStyle(obj,null);
}}function ajusteTableCSS2(){
var tables =document.getElementsByTagName("TABLE");
for(i = 0; i <tables.length; i++){
if (tables[i].className=="inherited"){
var color=getCssValue(tables[i],'color');
if (color!=null)tables[i].style.color=color;
var fontWeight=getCssValue(tables[i],'fontWeight');
if (fontWeight!=null)tables[i].style.fontWeight=fontWeight;
var fontSize=getCssValue(tables[i],'fontSize');
if (fontSize!=null)tables[i].style.fontSize=fontSize;
var fontStyle=getCssValue(tables[i],'fontStyle');
if (fontStyle!=null)tables[i].style.fontStyle=fontStyle;
}}}function ajusteTableCSS3(){
var tables =document.getElementsByTagName("TABLE");
for(i = 0; i <tables.length; i++){
if (tables[i].className=="inherited"){
var style=getStyleValue(tables[i]);
if (style.color!='')tables[i].style.color=style.color;
if (style.fontWeight!='')tables[i].style.fontWeight=style.fontWeight;
if (style.fontSize!='')tables[i].style.fontSize=style.fontSize;
if (style.fontStyle!='')tables[i].style.fontStyle=style.fontStyle;
for (j = 0; j < tables[i].all.length; j++){
if (tables[i].all[j].tagName=="TD"){
if (style.color!='')tables[i].all[j].style.color=style.color;
if (style.fontWeight!='')tables[i].all[j].style.fontWeight=style.fontWeight;
if (style.fontSize!='')tables[i].all[j].style.fontSize=style.fontSize;
if (style.fontStyle!='')tables[i].all[j].style.fontStyle=style.fontStyle;
}}}}}function ajusteTableCSS(){
var tables =document.getElementsByTagName("TABLE");
for(i = 0; i <tables.length; i++){
if (tables[i].className=="inherited"){
tables[i].style.color=tables[i].parentNode.currentStyle.color;
tables[i].style.fontWeight=tables[i].parentNode.currentStyle.fontWeight;
tables[i].style.fontSize=tables[i].parentNode.currentStyle.fontSize;
tables[i].style.fontStyle=tables[i].parentNode.currentStyle.fontStyle;
for (j = 0; j < tables[i].all.length; j++){
if (tables[i].all[j].tagName=="TD"){
tables[i].all[j].style.color=tables[i].style.color;
tables[i].all[j].style.fontWeight=tables[i].style.fontWeight;
tables[i].all[j].style.fontSize=tables[i].style.fontSize;
tables[i].all[j].style.fontStyle=tables[i].style.fontStyle;
}}}}}function getCssValue(tag,element) {
if (tag!=null){
if (document.all) {
var cssRules = 'rules';
} else {
var cssRules = 'cssRules';
}var value;
try{
value= tag.style[element];
}catch(e){};
if(value==null || value=='' || value=='undefined'){
var aClass = tag.className;
for (var sSheet=0; sSheet < document.styleSheets.length; sSheet++){
for (var rule=0; rule < document.styleSheets[sSheet][cssRules].length; rule++) {
var currentClass = document.styleSheets[sSheet][cssRules][rule].selectorText.substring(1);
if (currentClass == aClass) {
try{
value=document.styleSheets[sSheet][cssRules][rule].style[element];
}catch(e){};
}}}}if (value=='') value=getCssValue(tag.parentNode,element)
return value;
}}function getStyleValue(tag) {
if ((tag!=null)&&(tag!=undefined)&&(tag.tagName!='HTML')){
if (document.all) {
var cssRules = 'rules';
} else {
var cssRules = 'cssRules';
}var style=new Array();
style.color='';
style.fontWeight='';
style.fontSize='';
style.fontStyle='';
style.color= tag.style.color;
style.fontWeight= tag.style.fontWeight;
style.fontSize= tag.style.fontSize;
style.fontStyle= tag.style.fontStyle;
var aClass = tag.className;
for (var sSheet=0; sSheet < document.styleSheets.length; sSheet++){
for (var rule=0; rule < document.styleSheets[sSheet][cssRules].length; rule++) {
var currentClass = document.styleSheets[sSheet][cssRules][rule].selectorText.substring(1);
if (currentClass == aClass) {
try{ if (style.color=='')style.color= document.styleSheets[sSheet][cssRules][rule].style.color;}catch(e){};
try{ if (style.fontWeight=='')style.fontWeight= document.styleSheets[sSheet][cssRules][rule].style.fontWeight;}catch(e){};
try{ if (style.fontSize=='')style.fontSize= document.styleSheets[sSheet][cssRules][rule].style.fontSize;}catch(e){};
try{ if (style.fontStyle=='')style.fontStyle= document.styleSheets[sSheet][cssRules][rule].style.fontStyle;}catch(e){};
}}}var complet=false;
try{
if ((style.color!='')&&(style.fontWeight!='')&&(style.fontSize!='')&&(style.fontStyle!='')) complet=true;
}catch(e){};
if (!complet){
var parentstyle=getStyleValue(tag.parentNode);
if (parentstyle!=null){
if (style.color=='')  style.color=parentstyle.color;
if (style.fontWeight=='') style.fontWeight=parentstyle.fontWeight;
if (style.fontSize=='')style.fontSize=parentstyle.fontSize;
if (style.fontStyle=='')style.fontStyle=parentstyle.fontStyle;
}}return style;
}}function jslib_style_ajustetablehead(div){
div.style.overflow='auto';
for(j = 0; j <div.childNodes.length; j++){
if (div.childNodes[j].tagName=="TABLE"){
var table=div.childNodes[j];
var tr=table.tHead.rows[0];
/*if(MS){
//tr.style.position='relative';
//tr.style.setExpression('top','this.parentNode.parentNode.parentNode.scrollTop');
}else{var cols = tr.childNodes;
for(k = 0; k < cols.length; k++) {
if (cols[k].tagName!=null){
cols[k].w=window.getComputedStyle(cols[k],null).width;
}}//tr.style.position='absolute';
tr.style.top=window.getComputedStyle(tr,null).top;
for(k = 0; k < cols.length; k++) {
if (cols[k].tagName!=null){
//alert(Math.round(cols[k].w.slice(0,-2)) + "px");
cols[k].style.width=Math.round(cols[k].w.slice(0,-2)) + "px";
}}//tr.parentNode.parentNode.style.paddingTop=window.getComputedStyle(tr,null).height;
}
*/
}}}function jslib_style_tablehead(){
var divs =document.getElementsByTagName("div");
for(i = 0; i <divs.length; i++){
if (divs[i].className=="tablescroll"){
jslib_style_ajustetablehead(divs[i]);
}}}function jslib_winhttp(method, page, data){
var objHTTP;
if (MS) {
objHTTP = new ActiveXObject("Microsoft.XMLHTTP");
} else{
objHTTP = new XMLHttpRequest();
}objHTTP.open(method,page,false);
objHTTP.setRequestHeader('Content-Type','application/x-www-form-urlencoded');
objHTTP.send(data);
return objHTTP.responseText;
}var jslib_winhttp_as_tmp;
function jslib_winhttp_as(method, page, data,func){
var objHTTP;
if (MS) {
objHTTP = new ActiveXObject("Microsoft.XMLHTTP");
} else{
objHTTP = new XMLHttpRequest();
}objHTTP.open(method,page,true);
objHTTP.setRequestHeader('Content-Type','application/x-www-form-urlencoded');
objHTTP.send(data);
objHTTP.onreadystatechange = function(){
if(objHTTP.readyState == 4 && objHTTP.status == 200){
jslib_winhttp_as_tmp=objHTTP.responseText;
eval(func+'(jslib_winhttp_as_tmp)');
}}}