// CRD 02.03.07: correction dans fct RefreshIFrame()
// PBE 27.04.07 : Contrôle de l'existance du champ GTdatebegin
// PBE 03.05.07 : Modification de l'url pour corriger bug sur Firefox.
// PBE 28.05.07 : Vérification de l'existance et du nombre d'entrée dans TE11Lst et TE12Lst avant de s'en servir
// CRD 22.10.07 : Corrections globales dans la gestion des caracteres " ("  dans ImgTab (AttachmentBox)
// CRD 23.10.07 : Correction globales de la gestion des encodages dans l'attachment box
// PBE 13.03.08 : removeFiles : On pointe sur un nouveau champ pour l'url de la base (si celui-ci existe).
// PBE 19.06.08 : Barre de boutons : générer les ids des boutons en fonction du nombre de blocs

var wfrm=window.document.forms[0];
var lna;
var lnaMainBody;
var content;
/* **********************COMMONSOURCE.JS************************ */
var extrudeFile=['STG','ATT'];
function fileExtrude(gArray)
{
 var nameExtrude;
 var extExtrude;
 var extFile;
 var affectation;
 for(var i=0;i<extrudeFile.length;i++)
 {
  if (eval(gArray+'.toString().indexOf(extrudeFile['+i+'])')>-1)
  {
   extExtrude=searchExtension(extrudeFile[i],".");
   nameExtrude=extrudeFile[i];
   if (extrudeFile[i].lastIndexOf(".")>0)
    nameExtrude=extrudeFile[i].substring(0,extrudeFile[i].lastIndexOf("."));
   for (var j=0;j<eval(gArray).length;j++)
   {
    if (eval(gArray+"["+j+"].substring(0,nameExtrude.length)")==nameExtrude)
    {
     affectation=eval(gArray+"["+j+"]");
     extFile=searchExtension(affectation,".");
     if (extFile==extExtrude)
      eval(gArray)[j]="";
    }
   }
  }
 }
}

function searchExtension(nameFile,separate)
{
 var sExtension=""
 if (nameFile.lastIndexOf(separate)>0)
  sExtension=nameFile.substring(nameFile.lastIndexOf(separate)+1,nameFile.length).toLowerCase();
 return sExtension;
}

function searchAndReplace(Content, SearchFor, ReplaceWith)
{
  var tmpContent = Content;
  var tmpBefore = new String();
  var tmpAfter = new String();
  var tmpOutput = new String();
  var intBefore = 0;
  var intAfter = 0;
  if (SearchFor.length == 0) return;
  while (tmpContent.toUpperCase().indexOf(SearchFor.toUpperCase()) > -1)
  {
    intBefore = tmpContent.toUpperCase().indexOf(SearchFor.toUpperCase());
    tmpBefore = tmpContent.substring(0, intBefore);
    tmpOutput = tmpOutput + tmpBefore;
    tmpOutput = tmpOutput + ReplaceWith;
    intAfter = tmpContent.length - SearchFor.length + 1;
    tmpContent = tmpContent.substring(intBefore + SearchFor.length);
  }
  return tmpOutput + tmpContent;
}
/* **********************INITVARIABLE.JS************************ */
function initVar()
{
ie = (document.all)? 1 : 0;
ns = (document.layers)? 1 : 0;
if (ns)
  if (frames["vue"].document.forms[0].name!="") newDoc=1;
if (ie)
  if (document.forms[0].name!="") newDoc=1;
}

function reloadTerm30()
{
 /* *****************************************************
    ****** RELOAD SUR LE TERME 30 - CTRL SUR EDITOR *****
    ***************************************************** */
 var linkUserAppletChoice=document.getElementById('linkUserAppletChoice')
 try{
  if (linkUserAppletChoice!="undefined" || linkUserAppletChoice!=null)
  {
   if (linkUserAppletChoice.style.display=="block")
   {
    for(i=0;i<document.forms[0].switchMode.length;i++)
    {
     if (document.forms[0].switchMode[i].checked)
     {
      userAppletSwitch(parseInt(document.forms[0].switchMode[i].value));
      break;
     }
    }
   }
  }
 }
 catch(er){}
}
/* **********************RELOADTERMS.JS************************ */
var editMode=0;

function initForm()
{
 wfrm= window.document.forms[0];
 if (ns || ns6)
 {
  if (parent.frames["vue"]==undefined)
  {
   if (window.document.forms[0].name!="") editMode=1;
  }
  else
  {
   if (parent.frames["vue"].document.forms[0].name!="") editMode=1;
  }
 }
 if (ie)
  if (document.forms[0].name!="") editMode=1;
 if (newDocPU==0) editMode=2;
}

/* ****************************RELOAD TERMS 30 PAR FIREFOX********************************* */
function _doClickNS6(v, o, t, h)
{
  var form = document.forms[0];
  if (form.onsubmit)
  var retVal=_getEditAppletDataNS6();
  var target = document._domino_target;
  if (o.href != null) {
    if (o.target != null)
       target = o.target;
  } else {
    if (t != null)
      target = t;
  }
   form.target = target;
  form.__Click.value = v;
  if (h != null)
    form.action += h;
    form.submit();
   return false;
}

function _getEditAppletDataNS6()
{
 var lna=document.applets.lnaMainBody;
 if (lna!=null)
 {
  var content=lna.getText("text/html");
  document.forms[0].MainBody.value=content;
 }
  return true;
}

/* **************************************************************************************** */
function ClearList(TT)
{
 if (TT.type.toString().toLowerCase()!="hidden")TT.options.length=0;
  return true;
}

function updateField()
{
 // Update the target Select
 // MAL Modification (AVRIL 2006)pour Gérer les sélections sur les listes multiples : 16/17 18/19
 var ns4 = (document.layers)? 1 : 0;
 if (ns4)
  alert("Knowledge manager does not support Nextscape V4.x."+"\n"+"Please upgrade your netcape navigator to version 6 or more");
 else
 {
  if (window.frames['LookupTerms'].document.forms[0].QUERY_STRING_DECODED.value.indexOf('&button=')>0)
  {
   // GESTION DE L'AFFICHAGE DES BOUTONS
   // PBE 19.06.08 : Barre de boutons : générer les ids des boutons en fonction du nombre de blocs
   var gHtml=window.frames['LookupTerms'].document.getElementById('tmpBUTDisplay').value;   
   var writeButton=0;
   var id="blockButtons";
   var coll = document.getElementsByName(id);
    for (var i=0; i<coll.length; i++)
     {
      if (coll[i].id==id)
      {
		var gHtml2=new RegExp("XXXXX","g")
		var nbBloc=i+1;
		nbBloc="_b" + nbBloc;
		coll[i].innerHTML=unescape(gHtml.replace(gHtml2,nbBloc));
		writeButton=1;
      }
   }
   if (writeButton==0)
   {
    var obj=document.getElementById(id);
    if (obj!="undefined") {
		var gHtml2=new RegExp("XXXXX","g")
		var nbBloc=1;
		nbBloc="_b" + nbBloc;
		obj.innerHTML=unescape(gHtml.replace(gHtml2,nbBloc));
	}
   }
  }
  else
  {
   if (window.frames['LookupTerms'].document.forms[0].QUERY_STRING_DECODED.value.indexOf('&')>0)
   {
    if (window.frames['LookupTerms'].document.forms[0].QUERY_STRING_DECODED.value.indexOf('&alert')>0)
    {
     // GESTION DES ALERTES
     var isPushHidden=window.frames['LookupTerms'].document.getElementById('targetSelect').value;
     document.forms[0].isPushHidden.value=isPushHidden;
    }
    else
    {
     // GESTION DES TERMES HIERARCHIQUES
     var targetSelect=window.frames['LookupTerms'].document.getElementById('targetSelect').value;
     var lst_Work="";
     if(targetSelect.length>0)
      if(''+eval("document.forms[0]."+targetSelect)!="undefined" )
       if (eval("document.forms[0]."+targetSelect+".type").toString().toLowerCase()!="hidden")
       {
        var oOption;
        if(targetSelect != 'TE12Lst')
         var objIframe=window.frames['LookupTerms'].document.getElementById('lst_Term').value;
        else
         //cas de la gestion de projet
         var objIframe=window.frames['LookupTerms'].document.getElementById('lst_Term12').value;
        var pos1=objIframe.indexOf(";");
        var box2 = eval('document.forms[0].'+targetSelect);
        box2.options.length = 0;
        var iBox_Work=(targetSelect=="TE17Lst")?17:(targetSelect=="TE19Lst")?19:0;
        var box_Work=(iBox_Work!=0)?eval('document.forms[0].'+targetSelect+'_Work.value'):"";
        var indent=0;
        if (pos1 !=-1)
        {
         var pos2=0;
         
         var pos3=0;
         var sOptionText;
         while (pos1 !=-1)
         {

          oOption= document.createElement("OPTION");
          sOptionText=objIframe.substr(pos2,(pos1-pos2));
          pos3=sOptionText.indexOf("|");
          if (pos3>-1)
          {
           oOption.text=sOptionText.substr(0,pos3);
           oOption.value=sOptionText.substring(pos3+1,sOptionText.length);
          }
          else
           oOption.text=sOptionText;
          eval("document.forms[0]."+targetSelect+".options.add(oOption)");
          if (pos1==objIframe.length)
           break;
          else
          {
           pos2=pos1+2;
           pos1=objIframe.indexOf(";",pos1+1);
          }

          if (box_Work.indexOf(oOption.text)!=-1)
          {
           eval("document.forms[0]."+targetSelect+"["+indent+"].selected=true");
           if(box_Work.indexOf(oOption.text)!=-1)
            lst_Work=(lst_Work.length==0)? oOption.text:lst_Work+","+oOption.text;
          }
          indent++;
         }
         oOption= document.createElement("OPTION");
         sOptionText=objIframe.substring(objIframe.lastIndexOf(";")+2,objIframe.length);
         pos3=sOptionText.indexOf("|");
         if (pos3>-1)
         {
          oOption.text=sOptionText.substr(0,pos3);
          oOption.value=sOptionText.substring(pos3+1,sOptionText.length);
         }
         else
          oOption.text=sOptionText;

         eval("document.forms[0]."+targetSelect+".options.add(oOption)");
         if (box_Work.indexOf(oOption.text)!=-1)
         {
          eval("document.forms[0]."+targetSelect+"["+indent+"].selected=true");
          if(box_Work.indexOf(oOption.text)!=-1)
           lst_Work=(lst_Work.length==0)? oOption.text:lst_Work+","+oOption.text;
         }
        }
        else
        {
         oOption= document.createElement("OPTION");
         oOption.text=objIframe;
         eval("document.forms[0]."+targetSelect+".options.add(oOption)");
         if (box_Work.indexOf(oOption.text)!=-1)
         {
          eval("document.forms[0]."+targetSelect+"["+indent+"].selected=true");
          if(box_Work.indexOf(oOption.text)!=-1)
           lst_Work=(lst_Work.length==0)? oOption.text:lst_Work+","+oOption.text;
         }
        }
        if(''+eval("document.forms[0]."+targetSelect)!="undefined")
        {
         if (iBox_Work==17)
          document.forms[0].TE17Lst_Work.value=lst_Work;
         else
          if (iBox_Work==19)
           document.forms[0].TE19Lst_Work.value=lst_Work;
        }
        
        if (targetSelect == 'GTdepend'){
         //Traitement du champ GTdatedepend dans le cas de la gestion de projet
         objIframe=window.frames['LookupTerms'].document.getElementById('lst_TermDate').value;
         pos1=objIframe.indexOf(";");
         box2 = eval('document.forms[0].GTdatedepend');
         box2.options.length = 0;
         iBox_Work=0;
         box_Work="";
         indent=0;
         if (pos1 !=-1)
         {
          pos2=0;
          
          pos3=0;
          sOptionText;
          while (pos1 !=-1)
          {
 
           oOption= document.createElement("OPTION");
           sOptionText=objIframe.substr(pos2,(pos1-pos2));
           pos3=sOptionText.indexOf("|");
           if (pos3>-1)
           {
            oOption.text=sOptionText.substr(0,pos3);
            oOption.value=sOptionText.substring(pos3+1,sOptionText.length);
           }
           else
            oOption.text=sOptionText;
           eval("document.forms[0].GTdatedepend.options.add(oOption)");
           if (pos1==objIframe.length)
            break;
           else
           {
            pos2=pos1+2;
            pos1=objIframe.indexOf(";",pos1+1);
           }
 
           if (box_Work.indexOf(oOption.text)!=-1)
           {
            eval("document.forms[0].GTdatedepend["+indent+"].selected=true");
            if(box_Work.indexOf(oOption.text)!=-1)
             lst_Work=(lst_Work.length==0)? oOption.text:lst_Work+","+oOption.text;
           }
           indent++;
          }
          oOption= document.createElement("OPTION");
          sOptionText=objIframe.substring(objIframe.lastIndexOf(";")+2,objIframe.length);
          pos3=sOptionText.indexOf("|");
          if (pos3>-1)
          {
           oOption.text=sOptionText.substr(0,pos3);
           oOption.value=sOptionText.substring(pos3+1,sOptionText.length);
          }
          else
           oOption.text=sOptionText;
 
          eval("document.forms[0].GTdatedepend.options.add(oOption)");
          if (box_Work.indexOf(oOption.text)!=-1)
          {
           eval("document.forms[0].GTdatedepend["+indent+"].selected=true");
           if(box_Work.indexOf(oOption.text)!=-1)
            lst_Work=(lst_Work.length==0)? oOption.text:lst_Work+","+oOption.text;
          }
         }
         else
         {
          oOption= document.createElement("OPTION");
          oOption.text=objIframe;
          eval("document.forms[0].GTdatedepend.options.add(oOption)");
          if (box_Work.indexOf(oOption.text)!=-1)
          {
           eval("document.forms[0].GTdatedepend["+indent+"].selected=true");
           if(box_Work.indexOf(oOption.text)!=-1)
            lst_Work=(lst_Work.length==0)? oOption.text:lst_Work+","+oOption.text;
          }
         }
         //Traitement du refresh term11 lors de la selection d'un terme 10 pour la gestion de projet
          objIframe=window.frames['LookupTerms'].document.getElementById('lst_Term11').value;
         pos1=objIframe.indexOf(";");
         box2 = eval('document.forms[0].TE11Lst');
         box2.options.length = 0;
         iBox_Work=0;
         box_Work="";
         indent=0;
         if (pos1 !=-1)
         {
          pos2=0;
          
          pos3=0;
          sOptionText;
          while (pos1 !=-1)
          {
 
           oOption= document.createElement("OPTION");
           sOptionText=objIframe.substr(pos2,(pos1-pos2));
           pos3=sOptionText.indexOf("|");
           if (pos3>-1)
           {
            oOption.text=sOptionText.substr(0,pos3);
            oOption.value=sOptionText.substring(pos3+1,sOptionText.length);
           }
           else
            oOption.text=sOptionText;
           eval("document.forms[0].TE11Lst.options.add(oOption)");
           if (pos1==objIframe.length)
            break;
           else
           {
            pos2=pos1+2;
            pos1=objIframe.indexOf(";",pos1+1);
           }
 
           if (box_Work.indexOf(oOption.text)!=-1)
           {
            eval("document.forms[0].TE11Lst["+indent+"].selected=true");
            if(box_Work.indexOf(oOption.text)!=-1)
             lst_Work=(lst_Work.length==0)? oOption.text:lst_Work+","+oOption.text;
           }
           indent++;
          }
          oOption= document.createElement("OPTION");
          sOptionText=objIframe.substring(objIframe.lastIndexOf(";")+2,objIframe.length);
          pos3=sOptionText.indexOf("|");
          if (pos3>-1)
          {
           oOption.text=sOptionText.substr(0,pos3);
           oOption.value=sOptionText.substring(pos3+1,sOptionText.length);
          }
          else
           oOption.text=sOptionText;
 
          eval("document.forms[0].TE11Lst.options.add(oOption)");
          if (box_Work.indexOf(oOption.text)!=-1)
          {
           eval("document.forms[0].TE11Lst["+indent+"].selected=true");
           if(box_Work.indexOf(oOption.text)!=-1)
            lst_Work=(lst_Work.length==0)? oOption.text:lst_Work+","+oOption.text;
          }
         }
         else
         {
          oOption= document.createElement("OPTION");
          oOption.text=objIframe;
          eval("document.forms[0].TE11Lst.options.add(oOption)");
          if (box_Work.indexOf(oOption.text)!=-1)
          {
           eval("document.forms[0].TE11Lst["+indent+"].selected=true");
           if(box_Work.indexOf(oOption.text)!=-1)
            lst_Work=(lst_Work.length==0)? oOption.text:lst_Work+","+oOption.text;
          }
         }
         // PBE 28.05.07 : Vérification de l'existance et du nombre d'entrée dans TE11Lst et TE12Lst avant de s'en servir
         if ((document.forms[0].TE11Lst) && (document.forms[0].TE11Lst.options.length>1)) document.forms[0].TE11Lst.selectedIndex = 1; 
           refreshIframe(0,document.forms[0].TE11Lst,'TE12Lst');
         
        }else{
         if(targetSelect == 'TE12Lst')
          // PBE 28.05.07 : Vérification de l'existance et du nombre d'entrée dans TE11Lst et TE12Lst avant de s'en servir 
          if ((document.forms[0].TE12Lst)  && (document.forms[0].TE12Lst.options.length>1)) document.forms[0].TE12Lst.selectedIndex = 1;
        }
       }
    }
   }
  }
 }
}
function refreshIframe(alert1,objSelect,targetSelect)
{
 // Rafraîchit les champs à partir d'un champ cible
 // Termes concernés  16/17 18/19 20/21 25/26
 // ou 10/11/12 pour la gestion de projet
 // gestion du Push alerte / alert1=1
 // CRD 02.03.07 : correction sur le pb d'encodage de listsource (pour des termes avec accents ET &)

 var sURL;
 if (alert1==0)
 {
  var listSource="";
  for (var i = objSelect.selectedIndex;i<objSelect.options.length; i++)
  {
   if (objSelect.options[i].selected)
   // CRD: encodage (escape) des termes "un à un"
    if (listSource.length>0)
     listSource=listSource+"|"+ escape(objSelect.options[i].text);
    else
     listSource=listSource+escape(objSelect.options[i].text);
  }
 // CRD: suppression de l'encodage "tout en un" et inutilité de la transformation du code "&" (%26)
 // listSource=escape(listSource);
 // listSource=searchAndReplace(listSource, "%26", "%2526");
  
  initForm();
  if (wfrm.visuTextLang!=null)
   var visuLang=wfrm.visuTextLang.value;
  else
   var visuLang=wfrm.defaultLang.value;
  //Recuperation des dates de debut et de fin de la tache en edition
  //dans le cas où on traite un refresh du terme 10
  if (targetSelect=='GTdepend'){
   var datebegin; 
   var dateend;
   if (""+document.forms[0].GTdatebeginrealize!="undefined" && document.forms[0].GTdatebeginrealize.value!=""){
    datebegin = document.forms[0].GTdatebeginrealize.value;
    dateend = (document.forms[0].GTdateendrealize+""!="undefined")?document.forms[0].GTdateendrealize.value:"";
   }else{
   // PBE 27.04.07 : Contrôle de l'existance du champ GTdatebegin
    datebegin = (document.forms[0].GTdatebegin) ? document.forms[0].GTdatebegin.value : "";
    dateend = (document.forms[0].GTdateend+""!="undefined")?document.forms[0].GTdateend.value:"";
   }
   //sURL=dbCurrent+'/TBiFRAMETERM?openform&lang='+visuLang+'&key='+targetSelect+'&termtarget='+escape(listSource);
   sURL=dbCurrent+'/TBiFRAMETERM?openform&lang='+visuLang+'&key='+targetSelect+'&termtarget='+listSource+'&unid='+document.forms[0].UniqueID.value+'&datebegin='+datebegin+'&dateend='+dateend+'&title='+document.forms[0].Title.value;
  }else{
   if (targetSelect == 'TE12Lst'){
    sURL=dbCurrent+'/TBiFRAMETERM?openform&lang='+visuLang+'&key='+targetSelect+'&termtarget='+listSource+'&projet='+document.forms[0].TE10Lst.options[document.forms[0].TE10Lst.selectedIndex].text;
   }else{
    sURL=dbCurrent+'/TBiFRAMETERM?openform&lang='+visuLang+'&key='+targetSelect+'&termtarget='+listSource;
   }
  }
 }
 else
 {
  var sfr=document.forms[0];
  var sValue=sfr.isPushHidden.value.substring(0,1)+sfr.BCMPUAlerte.value+sfr.BCMPUAlertMode.value+sfr.TypeForm.value+sfr.TE30docID.value+newDocPU.toString();
  sURL=dbCurrent+'/TBiFRAMETERM?openform&alert='+sValue;
 }
 window.frames['LookupTerms'].location.replace(sURL);
}

function displayBlockStyle(listBlock)
{
 var disTools="";
 var blockTarget="";
 var blockSource=""
 var checkedbox="";

 for (var i=0;i<listBlock.length;i++)
 {
  if (listBlock[i]=="alertRecipients")
  {
   disTools="none";
   blockTarget=document.getElementById("alertMode");
   blockSource=document.getElementById(listBlock[i]);
   if (blockTarget.style.display=="block")
   {
    for(j=0;j<document.forms[0].BCMPUAlertMode.length;j++)
    {
     if (document.forms[0].BCMPUAlertMode[j].checked)
     {
      checkedbox=document.forms[0].BCMPUAlertMode[j].value;
      break;
     }
    }
    if (checkedbox=="2")
       disTools="block";
   }
   blockSource.style.display = disTools;
  }
  else
  {
   blockTarget=document.getElementById(listBlock[i]);
   if ((newDocPU==0)&& (listBlock[i]=="pushAlertAgain" ||listBlock[i]=="pushDocAgain"))
    disTools="none";
   else
    disTools = (blockTarget.style.display == "block")?  "none" : "block";
   blockTarget.style.display = disTools;
  }
  if (listBlock[i]=="pushAlertAgain" && blockTarget.style.display=="block")
  {
    checkedbox=0;
    for(j=0;j<document.forms[0].BCMPURepushAlerte.length;j++)
    {
     if (document.forms[0].BCMPURepushAlerte[j].checked)
     {
      checkedbox=1;
      break;
     }
    }
    if (checkedbox==0) document.forms[0].BCMPURepushAlerte[1].checked=true;
  }
 }
}

function onLoadActionButton()
{
 // Appel des boutons sur le onload de la page de la publication

 initForm();
 sURL=dbCurrent+'/TBiFRAMETERM?readform&lang='+wfrm.Lang.value+'&button=1&iddoc='+wfrm.UniqueID.value+'&nameuser='+escape(wfrm.Username.value)+'&editmode='+editMode+'&typeform='+window.document.forms[0].TypeForm.value+'&isadmin='+window.document.forms[0].isAdministrateur.value.toString();
 window.frames['LookupTerms'].location.replace(sURL);
}
/* **********************ROLLOVER.JS************************ */
var actionButton="class='buttonOut' onMouseDown='buttonActive(0,\"RTEditor\")' onMouseOver='buttonActive(0,\"RTEditor\")' onMouseUp='buttonActive(1,\"RTEditor\")' onMouseOut='buttonActive(1,\"RTEditor\")'";
var actionUploader="class='buttonUploaderOut' onMouseDown='buttonActive(0,\"RTUploader\")' onMouseOver='buttonActive(0,\"RTUploader\")' onMouseUp='buttonActive(1,\"RTUploader\")' onMouseOut='buttonActive(1,\"RTUploader\")'";

function buttonActive(over,docfile)
{
 var image;
 image = event.srcElement;
 var gifOver=dbCurrent+viewImage+docfile+"over/$FILE/"+image.name+"_over.gif";
 var gifOut=image.src=dbCurrent+viewImage+docfile+"out/$FILE/"+image.name+".gif";
 image.src=(over==1)?gifOut:gifOver;
}

function displayActionBar(ginit,gnum,gaction,docfile)
{
 var pxImg=eval("pxImg"+docfile);
 var gpx=(pxImg*(gnum-ginit))+1;
 var rollover;
 var buttonId;
 var action;
 var str="";

 str="<table border='0' cellpadding='0' cellspacing='0' width='"+gpx.toString()+"px'>";
 str+="<tr>";
 try{
  for (var i=ginit;i<gnum;i++)
  {
   rollover=(docfile=="RTEditor")?actionButton:actionUploader;
   buttonId=(docfile=="RTEditor")?"":" buttonId='"+eval("gbutton"+gaction.toString()+"["+i.toString()+"]")+"'";
   action=(docfile=="RTEditor")?eval("action"+gaction+"["+i.toString()+"]"):"clickAction()";
   str+=(docfile=="RTEditor")? "<td class='buttonDisplay'>":"<td class='uploaderBtDisplay'>";
   str+="<img src='"+dbCurrent+viewImage+docfile+"out/$FILE/"+eval("gbutton"+gaction.toString()+"["+i.toString()+"]")+".gif' border='0' name='"+eval("gbutton"+gaction.toString()+"["+i.toString()+"]")+"'";
   str+=" onclick='"+action+"' ";
   str+=rollover;
   str+=buttonId;
   str+=" alt='"+eval("gAltLine"+gaction.toString()+"["+i.toString()+"]")+"'";
   str+=">";
   str+="</td>";
  }
 }
 catch(er){
  str+=">";
  str+="</td>";
 }
 finally {
  str+=(docfile=="RTEditor")? "<td class='buttonSep'>&nbsp;</td>": "<td class='uploaderSep'>&nbsp;</td>";
  str+="</tr>";
  str+="</table>";
  return(str);
 }
}

function setCursor(obj, s)
{
 if (obj && obj.style && obj.style) obj.style.cursor = s;
}
/* ******************************ATTACHMENTFILES.JS ***************************** */
// *******************************************************************************
//                  Exemple des tableaux pour l'affichage
// TabImg=['clock.gif','fiche evaluation2003.xls','testVba.doc','MAL-2003.xls']
// sizeImg=['5','30','36','32']
//        Taille des images aux images dans le tableau TabImg
// TabLabel=['Images-gif;jpg-112-0-lnkImage-3-_blank','Office-doc;xls;ppt-012-20-lnkOffice-5-_parent','PDF-pdf-012-12-lnkPdf-8-_frame'];
//        1. Libellé du Block
//        2. Composition du block
//          .Extension des fichiers séparé par des ;
//          .BlockType  0 Autre
//                 1 Image qui peut être insérée dans l'applet
//          .BlockSize  0 ne pas afficher la taille du fichier
//                 1 afficher la taille
//          .BlockAction 0 Action de Suppression
//                 1 Action de Visualiser
//                 2 Action de Suppression et de visualiser
//                 3 Aucune action
//        3. Longueur du libellé du fichier
//                 0 nom entier du fichier
//                 Autre longeur à conserver du nom fichier suivi de ...
//        4. Style du pour l'affichage du titre du block
//        5. Nombre de fichiers affiché par ligne
//        6. Target pour l'affichage du contenu de la pièce jointe nouvelle page(_blank),même page (_parent), même frame(_frame)
//      Calculé dans la fonction countDash et stocké dans la tableau dash[] position de début
// ActionGif=['/TBVIMG2/FR-5-BTATTACHREMOVE/$file/remove.gif','/TBVIMG2/FR-5-BTATTACHVIEW/$file/view.gif'];
// *******************************************************************************

// *******************************************************************************
//                GESTION DES EXTENSIONS : Cas spécifiques
// !  fichiers qui n'ont pas d'extension
// *  tous les fichiers même déjà affichés dans les autres blocs
// !* tous les fichiers qui ne sont pas dans les autres blocs quelque soit leur extension
// extension Stocke l'extension du fichier en cours de lecture qui vient de TabImg
// extrudeFile : liste des fichiers à ne pas afficher dans le cartouche (ex : STGxxx)
// *******************************************************************************

var ie = (document.all)? 1 : 0;
var ns = (document.layers)? 1 : 0;
var ns6=(document.getElementById && !document.all)?1:0;
var dash= new Array;
var maxFiles;
var maxDash;
var glink;
var gtarget="_blank";
var view0="/0/";

function viewFiles(urlFile)
{
  // CRD 23.10.07: gestion de l'apostrophe (encodee avant l'appel par \u0384 et decodee par %27)
  glink=searchAndReplace(urlFile,"\u0384","%27");
  var newWindow=window.open(glink,gtarget,"width=770 ,height=650,resizable=yes,scrollbars=yes,menubar=yes");
}

function removeFiles(Name)
{ 

 if (confirm (lblConfirm[0]+ " > " + Name))
 {
// CRD 23.10.07: gestion de l'apostrophe (encodee avant l'appel par \u0384)
   Name=searchAndReplace(Name,"\u0384","'");
  // encoce par la methode escape pour un decodage propre dans le LotusScript RemoveFile()
   Name = escape(Name);
   
  //PBE, 03.05.07 : Modification de l'url pour corriger bug sur Firefox.
  //PBE, 13.03.08 : On utilise un autre champ pour l'url de la base, si celui existe.
  if (document.getElementById("urlCompleteBase")) {
    adr=document.getElementById("urlCompleteBase").value + "/TBARemoveFile?openagent&name="+Name+"&unid="+escape(idDocument);
  } else {
	adr=document.getElementById("urlComplete").value + "/TBARemoveFile?openagent&name="+Name+"&unid="+escape(idDocument);
  }
  window.location.replace(adr);
 }
}

function makeopacity(cur,which)
{
 if (which==0)
  cur.filters.alpha.opacity=100;
 else
  cur.filters.alpha.opacity=50;
}

function uploadFile(adr)
{
 window.open(adr,gtarget,"left=20,width=300,height=100,resizable=no");
}

function countDash(glabel)
{
 maxDash=0;
 var pos=glabel.indexOf("-");
 while (pos !=-1)
 {
  dash[maxDash]=pos;
  maxDash++;
  pos=glabel.indexOf("-",pos+1);
 }
}

function encodeHTMLUrl(s)
{//CRD 23.10.07 : fct d'encodage unicode de la chaine s pour les liens HTML

stmp = s;
//encodage des caracteres speciaux
stmp=searchAndReplace(stmp,"&#8211;","–");  // tiret long
stmp=searchAndReplace(stmp,"&#8364;","€");  // euro
stmp=searchAndReplace(stmp,"\u0384","'");  // apostrophe
// encodage Unicode
stmp = encodeURIComponent(stmp);
// gestion de l'encodage de l'apostrophe
stmp=searchAndReplace(stmp,"'","%27");      // apostrophe (non encodee par encodeURIComponent)
//result
return(stmp);
}

document.imgTab=function()
{
 // CRD 23/10/07: Gestion des caracteres speciaux dans l'affichage du cartouche

 var TabAttach_0=new Array();
 var TabAttach_1=new Array();
 var TabAttach_2=new Array();
 var TabAttach_3=new Array();
 var TabAttach_4=new Array();
 var TabAttach_no=new Array();
 var TabAttach_yes=new Array();
 var TabAttach_size=new Array();
 var PrintTab=new Array();


 var str="";
 var action="";
 var Title="";
 var TitleDisplay="";
 var opacity="";
 var label_lgth=0;
 var nameForm=0;
 var searchExt="";
 var extension="";
 var noExist=0;
 var attach_All=-1;
 var editMode=0;

 if (""+TabImg!="undefined")
 {
  if (ns || ns6)
  {
   if (parent.frames["vue"]==undefined)
   {
    if (window.document.forms[0].name!="") nameForm=1;
   }
   else
   {
    if (parent.frames["vue"].document.forms[0].name!="") nameForm=1;
   }
  }
  if (ie)
   if (document.forms[0].name!="") nameForm=1;

  if((TabImg.length!=0)&& (TabImg[0]!=""))
  {
   if (ie) opacity="style=\"filter:alpha(opacity=50)\" onMouseover=\"makeopacity(this,0)\" onMouseout=\"makeopacity(this,1)\"";

   fileExtrude("TabImg");
   for(var i=0;i<TabImg.length;i++)
   {
    if (TabImg[i].length>0)
    {
     noExist=0;
     extension=searchExtension(TabImg[i],".");
     for(var j=0;j<TabLabel.length;j++)
     {
      countDash(TabLabel[j]);
      searchExt="";
      if (dash[1]>dash[0]+1)
       searchExt=TabLabel[j].toString().substr(dash[0]+1,dash[1]-dash[0]-1).toLowerCase();

      if (searchExt=="!" && extension.length==0)
       extension="!"
      if (searchExt=="*")
       extension=""
      if (searchExt=="!*")
      {
       extension="";
       attach_All=j;
      }
      //alert ("tableau ="+j+"\n"+TabImg[i]+"\n"+TabLabel[j]+"\n searchExt="+searchExt+"-extension="+extension);

      if ((searchExt.indexOf(extension)>-1 && extension.length>0) || (searchExt=="*"))
      {
       noExist=1
       var tableau=eval("TabAttach_"+j);
       if (tableau.length==0)
        if(TabLabel[j].substr(dash[1]+2,1)=="1")
          tableau[0]=TabImg[i]+" ("+sizeImg[i]+"kb)";
         else
          tableau[0]=TabImg[i];
       else
        if(TabLabel[j].substr(dash[1]+2,1)=="1")
         tableau[tableau.length]=TabImg[i]+" ("+sizeImg[i]+"kb)";
        else
         tableau[tableau.length]=TabImg[i];
       if(TabAttach_yes.length==0)
        TabAttach_yes[0]=TabImg[i];
       else
        if (TabAttach_yes.toString().indexOf(TabImg[i])<0)
         TabAttach_yes[TabAttach_yes.length]=TabImg[i];
      }
     }
     if ((noExist==0) && (TabAttach_yes.toString().indexOf(TabImg[i])<0))
     {
      // *******************************************************************************
      // Tous les fichiers qui ne sont pas stockés dans les autres blocks du cartouche
      // *******************************************************************************
      if(TabAttach_no.length==0)
      {
        TabAttach_no[0]=TabImg[i];
        TabAttach_size[0]=sizeImg[i];
       }
      else
      {
       TabAttach_no[TabAttach_no.length]=TabImg[i];
       TabAttach_size[TabAttach_size.length]=sizeImg[i];
      }
     }
    }
    // *******************************************************************************
    // FIN DE LA MISE A JOUR DES TABLEAUX
    // *******************************************************************************

    //alert("pris="+TabAttach_yes+"\n non pris="+TabAttach_no);

    // *******************************************************************************
    // Suppression des Fichiers qui existe dans TabAttach_no et TabAttach_yes
    // Si le cette selection est mis en dernier dans le fichier Profile
    // Ajouter la taille du fichier si cela est précisé dans le block le concernant
    // *******************************************************************************
    if (attach_All>-1)
    {
     for (var j=0;j<TabAttach_no.length;j++)
     {
      if(TabAttach_yes.toString().indexOf(TabAttach_no[j])<0)
      {
       countDash(TabLabel[attach_All]);
       if(TabLabel[attach_All].substr(dash[1]+2,1)=="1" && TabAttach_no[j].indexOf("kb)")<0)
         TabAttach_no[j]=TabAttach_no[j]+" ("+TabAttach_size[j]+"kb)";

      }
      else
       TabAttach_no[j]="";
     }
    }
   }

   // *******************************************************************************
   // AFFICHAGE DU CARTOUCHE
   // *******************************************************************************

   for (var j=0;j<TabLabel.length;j++)
   {
    countDash(TabLabel[j]);
    if (attach_All==j)
     PrintTab=eval(TabAttach_no);
    else
     PrintTab=eval("TabAttach_"+j);

    if (PrintTab.length!=0)
    {
     //alert(document.forms[0].name+"\n"+TabLabel[j].substr(dash[2]-1,1));
     var formLength=document.forms[0].name.length;
     if( document.forms[0].name.length && TabLabel[j].substr(dash[2]-1,1)=="1")
      editMode=0;
     else
      editmode=1;
     //editMode=((formLength==0) && (TabLabel[j].substr(dash[2]-1,1)=="1"))? 0:1);
     if ((TabLabel[j].substr(dash[1]+4,1)==0) || (appletIris=="1") || editMode==1)
     {
      // *******************************************************************************
      // Affichage du titre du bloc
      // *******************************************************************************
      str+="<table border='0' cellpadding='0' cellspacing='0' width='100%' >";
      str+="<tr><td align='left' class='BlockName'>&nbsp;"+TabLabel[j].substring(0,TabLabel[j].indexOf("-"))+" ("+PrintTab.length+")</td>";
      str+="<td class='termLine' align='left'>&nbsp;</td>";
      str+="</tr></table>";
      str+="<table border=0 cellpadding=0 cellspacing=0>";
      // *******************************************************************************
      maxFiles=(maxDash==5)? TabLabel[j].substring(dash[4]+1,TabLabel[j].length) :TabLabel[j].substr(dash[4]+1,dash[5]-dash[4]-1);
      gtarget=(maxDash==6)? TabLabel[j].substring(dash[5]+1,TabLabel[j].length) :TabLabel[j].substr(dash[5]+1,dash[6]-dash[5]-1);
      line=0;
      for(var i=0;i<PrintTab.length;i++)
      {
       if (PrintTab[i].length>0)
       {    
        action=TabLabel[j].substr(dash[1]+3,1);
        Title=PrintTab[i];
        label_lgth=TabLabel[j].substr(dash[2]+1,dash[3]-dash[2]-1);
        if((Title.length>label_lgth)&& (label_lgth>0))
        {
        // CRD 19/10/07: prise en compte d'un "."" dans le nom de fichier
        // TitleDisplay=Title.substr(0,label_lgth)+"..."+Title.substring(PrintTab[i].indexOf("."),Title.length).toLowerCase();
         TitleDisplay=Title.substr(0,label_lgth)+"..."+Title.substring(PrintTab[i].lastIndexOf("."),Title.length).toLowerCase();
         }
        else
         TitleDisplay=Title;
        if((line>maxFiles)||(line==0)){str+="<tr>"}
        line++
        
        if ((((action=="0")||(action=="2"))&& (action!="3"))&& (nameForm!=0))
          // CRD 22.10.07 : Prise en compte du DBDef (Affichage BlockSizeFile) pour generer le bon nom de fichier [gestion des parentheses]
          {
          if (TabLabel[j].substr(dash[1]+2,1)=="1")    // affichage de la taille du fichier
          {
          glink=PrintTab[i].substr(0,PrintTab[i].lastIndexOf(" ("));
          } 
          else // non affichage de la taille du fichier
          {
          glink=PrintTab[i]
          }
          // CRD 23/10/07 : gestion de l'apostrophe dans le passage de parametres
          glink=searchAndReplace(glink,"'","\u0384");
          str+="<td><a href=\"javascript:removeFiles('"+glink+"')\"><img src='"+dbCurrent+ActionGif[0]+"' border='0' Alt='"+delAlt+" "+Title+"' "+opacity+"></a></td>";
          }
          
        if (((action=="1")||(action=="2"))&& (action!="3"))
         // CRD 22.10.07 : Prise en compte du DBDef (Affichage BlockSizeFile) pour generer le bon nom de fichier [gestion des parentheses]
          {
          if (TabLabel[j].substr(dash[1]+2,1)=="1")    // affichage de la taille du fichier
          {
          glink=PrintTab[i].substr(0,PrintTab[i].lastIndexOf(" ("));
          } 
          else // non affichage de la taille du fichier
          {
          glink=PrintTab[i]
          }
          // CRD 23/10/07 : gestion de l'apostrophe dans le passage de parametres
          glink=searchAndReplace(glink,"'","\u0384");
          str+="<td><a href=\"javascript:viewFiles('"+dbCurrent+view0+idDocument+"/$File/"+glink+"')\"><img src='"+dbCurrent+ActionGif[1]+"' border='0' Alt='"+viewAlt+" "+Title+"' "+opacity+"></a></td>";
          }
          
        if ((TabLabel[j].substr(dash[1]+1,1)=="1")&& (appletIris=="1"))
         // CRD 22.10.07 : Prise en compte du DBDef (Affichage BlockSizeFile) pour generer le bon nom de fichier [gestion des parentheses]
          {
          if (TabLabel[j].substr(dash[1]+2,1)=="1")    // affichage de la taille du fichier
          {
          glink=PrintTab[i].substr(0,PrintTab[i].lastIndexOf(" ("));
          } 
          else // non affichage de la taille du fichier
          {
          glink=PrintTab[i]
          }
          // CRD 23/10/07 : gestion de l'apostrophe dans le passage de parametres
          glink=searchAndReplace(glink,"'","\u0384");
          str+="<td><a href=\"javascript:document.addImage('"+dbCurrent+view0+idDocument+"/$File/"+glink+"','','')\" class='"+TabLabel[j].substr(dash[3]+1,dash[4]-dash[3]-1)+"' name='InfoFile"+i+"'>"+TitleDisplay+"</a></td>";
          }
            
        else
         str+="<td class='"+TabLabel[j].substr(dash[3]+1,dash[4]-dash[3]-1)+"' name='InfoFile"+i+"'>"+TitleDisplay+"</td>";
         
         
        // *******************************************************************************
        // Affichage des icones si extension
        // *******************************************************************************
        // CRD 22.10.07 : Prise en compte du DBDef (Affichage BlockSizeFile) pour generer le bon nom de fichier [gestion des parentheses]
        // Le nom de fichié est passé 'correctement' => plus besoin du traitement sur les parentheses dans la fct displayIcon
        //str+="<td align='left'>"+displayIcon(PrintTab[i],opacity)+"</td>";
        {
          if (TabLabel[j].substr(dash[1]+2,1)=="1")    // affichage de la taille du fichier
          {
          glink=PrintTab[i].substr(0,PrintTab[i].lastIndexOf(" ("));
          } 
          else // non affichage de la taille du fichier
          {
          glink=PrintTab[i]
          }
          glink=encodeHTMLUrl(glink);
          str+="<td align='left'>"+displayIcon(glink,opacity)+"</td>";
          }

        str+="<td>&nbsp;</td>";
        // *******************************************************************************

        //if(line>2){str+="</tr>";line=0}
        if(line>(maxFiles-1)){str+="</tr>";line=0}
       }
      }
      str+="</table>";
     }
    }
   }

 }
 document.open();
// var switchFiles=document.getElementById('switchFiles');
// if (str.length==0 && switchFiles)
//   switchFiles.style.display="none";

 document.write(str);
 document.close();
 }
}
  // **********************MANGEMENT Applet**************************

document.addImage=function(path,align,alt)
{
// CRD 23.10.07: gestion de l'apostrophe (encodee avant l'appel par \u0384 et decodee par %27)
  path=searchAndReplace(path,"\u0384","%27");
  lna.insertimage(path,align,alt);
  lna.setFocus();
}

function displayIcon(Name,opacity)
{
 // *******************************************************************************
 // Affichage de l'icon correspondant à l'extension du fichier
 // *******************************************************************************

 var strIcon="";
 var icon="";
 var npos1;
 var npos2;
 //var directory=ActionGif[0].toString().substr(0,14)
 var hrefIcon;

// CRD 23.10.07: gestion de l'apostrophe (encodee avant l'appel par \u0384 et decodee par %27)
  Name=searchAndReplace(Name,"\u0384","%27");
  
 npos1=Name.lastIndexOf(".");
 // CRD 22.10.07: le Name passé en paramètre prend déjà en compte la gestion de parentheses => suppression de la gestion du npos2
/*
  npos2=Name.lastIndexOf(" (");
  if ((npos1>-1) && (npos2>-1))
 {
  icon=Name.substr(npos1+1,npos2-npos1-1).toLowerCase()
  var hrefIcon="<a href="+dbCurrent+view0+idDocument+"/$File/"+escape(Name.substr(0,npos2))+" target='"+gtarget+"' >";
  }
 else
*/
  if (npos1>-1)
  {
   icon=Name.substring(npos1+1,Name.length).toLowerCase()
   //CRD 23/10/07: encodage du Name a l'appel de la fct  avec la fct encodeHTMLUrl
   //var hrefIcon="<a href="+dbCurrent+view0+idDocument+"/$File/"+escape(Name)+" target='"+gtarget+"' >";
   var hrefIcon="<a href="+dbCurrent+view0+idDocument+"/$File/"+Name+" target='"+gtarget+"' >";
  }

 //alert (Name+"\n"+npos1+"\n"+npos2+"\n"+icon+"\n");

  //****************************************************************
  // Test si l'images corresponadant à l'icone existe réellement
  // variable  iconAvailable
  //****************************************************************
 if (icon.length>0)
 {
  if  (iconAvailable.indexOf(icon+".gif")<0)
   icon="default";
  return(hrefIcon+"<img src='"+dbCurrent+directory+icon+"/$file/"+icon+".gif' border='0'"+opacity+"></a>");
 }
 else
  return("");
}

function loadApplet()
{
 if (ns)
 {
  //lna=frames["vue"].document.applets[0];
  lna=frames["vue"].document.applets.lnaMainBody;;
  content=frames["vue"].document.forms[0].content
 }

 if (ie)
 {

   //lna=document.applets[0];
   lna=document.applets.lnaMainBody;
   if (""+document.forms[0]!="undefined")
   {
   content=document.forms[0].content;
   if (""+content!="undefined")
   {
    content.editorApplet =lna;
    for (var i=0;i<document.forms[0].elements.length;i++)
    {
    if(document.forms[0].elements[i].editorApplet != null)
     lna=document.forms[0].elements[i].editorApplet;
    }
   }
  }
 }
 if((""+lna!="undefined")&&(""+content!="undefined"))
  lna.setText("text/html",content.value);
}

function saveApplet()
{
 if((""+lna!="undefined")&&(""+content!="undefined"))
  content.value=lna.getText("text/html");
}

function reloadFile()
{
  if (confirm (lblConfirm[1]))
 {
  //adr="../TBARemoveFile?openagent&unid="+escape(idDocument);
  //window.location.replace(adr);
  refreshClick('$Refresh', this, '_self', '#_RefreshKW_Body');
 }
}

/* **************************************JSWKBUTTONS.JS************************************ */
var btClick= true;   /* variable execution bouton : empecher double click sur bt type save et edit */
var sMsg;    /* Message d'interrogation utilisateur */
/* ________________________________Surcharge bouton SAVE_____________________________*/
function ModifReturn(sUrl,sJSAsk, obj) {
   /* Modifie le champs dynReturn et donc $$Return
     Sert dans le cadre des boutons de type SAVE issus du Workflow
     Propose interaction utilisateur (eventuelle) pour options revisions et check-out
     sJSAsk = 0 : pas d'interaction, pas d'operation sur revision, checkOut
     sJSAsk = 1 : flag document > nelle revision en automatique (pas de question utilisateur)
     sJSAsk = 2 : demande utilisateur nelle revision ? si reponse positive, flag le document
     sJSAsk = 3 : demande utilisateur nelle revision ? + Deverrouiller le doc ? si reponses OK, flag  x2 le doc
     sJSAsk = 4 : demandeDeverrouiller le doc ? si Ok flag le doc
     obj = Objet bouton qui a lancer l'action */
 if(!sUrl) return false;
 if (btClick==true){
   if(tasteForm(document.forms[0])==false) return;
    btClick=false;
    /* Option liée à la revision */
    if((sJSAsk=='2') || (sJSAsk=='3')){
    /* Demande utilisateur > nelle revision ? */
     sMsg=wfrm.LblRevisionPrompt.value;
      if (confirm(unescape(sMsg))){
       /* a ce point : Nelle revision souhaitée > mise à jour du flag WKRevisionFlag=1 */
       document.forms[0].WKRevisionFlag.value='1';
      }
      if(sJSAsk=='3'){
      /* demande utilisateur > deverouiller le doc ? */
        sMsg =wfrm.LblCheckOutPrompt.value;
        if (confirm(unescape(sMsg))){
        /* a ce point : Deverrouiller le doc souhaité > mise à jour du flag WKCheckFlag=2 */
          document.forms[0].WKCheckFlag.value='2';
        }
      }
   }
    /* Option sJSAsk = 4 : option checkOut seulement */
    if(sJSAsk=='4'){
     /* demande utilisateur > deverouiller le doc ? */
      sMsg =wfrm.LblCheckOutPrompt.value;
      if (confirm(unescape(sMsg))){
       /* a ce point : Deverrouiller le doc souhaité > mise à jour du flag WKCheckFlag=2 */
       document.forms[0].WKCheckFlag.value='2'
      }
  }
    /* Option sJSKAsk=1 : pas d'interaction utilisateur, nelle revision systematique */
   if(sJSAsk=='1'){
     /* flag du doc : WKRevision =1 */
      document.forms[0].WKRevisionFlag.value='1';
    }
    /* si demande deverrouillage = passer le drapeau WKCheckFlag=2 */
  /* si nelle revision par defaut (pas choix utilisateur) > passer le drapeau WKRevisionFlag à 1 */
    /* --- Affecte le champs dynReturn------- */
    if(document.forms[0].dynReturn){
     document.forms[0].dynReturn.value=sUrl;
    }
    setCursor(this.document.body,'wait') ;
    if(""+document.kmsUploader!="undefined") {
     uploader_submit(document.forms[0]);
    }
    else {
     document.forms[0].submit();
    }
    return;
  }
}
/* _________________________________________________________________________________*/
function actionconfirm(msg,sUrl){
 if (confirm(unescape(msg))){
   setCursor(this.document.body,'wait') ;
    window.location.replace(sUrl);
 }
}
/* _________________________________Creer Commentaire________________________________*/
function ComposeBCMCOM(){
  var sUrl = '/' +wfrm.ThisDatabase.value +'/BCMCOM?OpenForm&ParentUNID='+wfrm.UniqueID.value;
  openWindowAction(sUrl,"comment",660,575,",scrollbars=yes",0)
}
/* _______________________________Creer Traduction____________________________________*/
function TranslatePU(){
/* Traduction des Publications : ouverture POP-UP choix langue traduction */
 var sUrl = '/'+wfrm.ThisDatabase.value +'/BCMTF?OpenForm&ParentUNID='+wfrm.UniqueID.value;
 openWindowAction(sUrl,"translate",400,150,",scrollbars=yes",0)
}
/* _________________________________________________________________________________*/
function ModifUrl(sUrl,sOldVal,sNewVal){
 /* Modifie la chaine sUrl en y  remplacant sOldVal par sNewVal
    Utilisée par les boutons de type EDIT dans le cadre de choix utilisateur */
 sUrl = searchAndReplace(sUrl,sOldVal,sNewVal);
 return sUrl;
}
/* __________________________________Surcharge du bouton EDIT________________________*/
function EditOptions(sUrl,sJSAsk){
 /* Sert dans le cadre des boutons de type EDIT issus du Workflow
   Propose interaction utilisateur (eventuelle) pour options version et check-int
  sJSAsk = 0 : pas d'interaction, pas d'operation sur version, checkIN
  JSAsk = 1 : flag document > nelle version en automatique (pas de question utilisateur)
  sJSAsk = 3 : demande utilisateur nelle version ? + Verrouiller le doc ? si reponses OK modifie URL appel traitement
  sJSAsk = 4 : demande Verrouiller le doc ? si Ok flag le doc */
 if(btClick==true){
  btClick=false;
  /* cas par defaut : pas d'interrogation */
   if(sJSAsk=='0'){
   setCursor(this.document.body,'wait') ;
     window.location.replace(sUrl);
     return;
   }
  /* cas d'un bouton sans gestion Revision mais avec CheckIn */
  if(sJSAsk=='4'){
   /* Recuperer label message checkIn-Out */
   sMsg =wfrm.LblCheckInPrompt.value;
    if (confirm(unescape(sMsg))){
    /* A ce point : utilisateur a choisi de verrouiler le doc
      Modification URL cible pour repersussion choix utilisateur : verrouiller */
    sUrl=ModifUrl(sUrl,'Edited=0','Edited=3');
      /* Execution de L'Url avec indicateur Nelle Version souhaitee */
    setCursor(this.document.body,'wait') ;
      window.location.replace(sUrl);
      return;
    }
    /* A ce point : utilisateur à choisi de ne pas verrouiller le doc : edit standard */
    setCursor(this.document.body,'wait') ;
    window.location.replace(sUrl);
    return;
  }
  /* cas 1 : interrogation liee au versionning  et eventuellement CheckIn-Out*/
  if(sJSAsk=='2' || sJSAsk=='3' ){
   /* Recuperer label message */
    sMsg =wfrm.LblVersionPrompt.value;
    /* Premiere interrogation sur versionning */
   if (confirm(unescape(sMsg))){
    /* A ce point : utilisateur a choisi nelle version
      Modification URL cible pour repersussion choix utilisateur : Nelle Version */
    sUrl=ModifUrl(sUrl,'Edited='+ sJSAsk,'Edited=2');
    /* Execution de L'Url avec indicateur Nelle Version souhaitee */
    setCursor(this.document.body,'wait') ;
    window.location.replace(sUrl);
      return;
   }
   /* si utilisateur ne souhaite pas Nelle Version : demander si Check In (si activée) */
   else {
    /* Seconde interrogation sur CheckIn  (si active)*/
    if( sJSAsk=='3' ){
     /* Recuperer label message checkIn-Out */
        sMsg =wfrm.LblCheckInPrompt.value;
     if (confirm(unescape(sMsg))){
      /* Modification URL cible pour repersussion choix utilisateur : Nelle Version + Check In */
      sUrl=ModifUrl(sUrl,'Edited='+ sJSAsk ,'Edited=3');
      setCursor(this.document.body,'wait');
      window.location.replace(sUrl);
      return;
     }
    }
   }
   /* a ce point aucune reponse utilisateur positive : Edit classique
     Modification URL cible pour repersussion choix utilisateur : Edit Classique */
   sUrl = ModifUrl(sUrl,'Edited='+ sJSAsk,'Edited=0');
   setCursor(this.document.body,'wait');
   window.location.replace(sUrl);
    btClick=true;
  }
 }
}
/* **********************************JSOPENDAILOG********************************** */
function OpenDialog()
{
 sUrl = "/" +wfrm.ThisDatabase.value + "/TBMDOCSEND?OpenForm&ParentUNID="+ wfrm.UniqueID.value;
 openWindowAction(sUrl,"opendialog",500,HeightOpenDialog,",scrollbars=yes",1)
}
/* *********************************JSCONTACTAUTHOR*********************************** */
function contactAuthor()
{
 sUrl = '/'+ wfrm.ThisDatabase.value+'/TBMAU?OpenForm&ParentUNID='+wfrm.UniqueID.value;
 openWindowAction(sUrl,"contactauthor",520,520,",scrollbars=yes",0)
}
/* **********************************Ouvre POP UP********************************** */
function openWindowAction(sUrl,sTitleWindow,iWidth,iHeight,sScrollbars,force)
{
 /*  Force = 0 ne force pas la taille de la fenêtre
   Force = 1 force à Height=350 width=750 */
 winStats='resizable=yes,height='+iHeight+',width='+iWidth+sScrollbars;
 SHeight = (force==0)?(screen.height - iHeight) / 2:(screen.height-350) / 2;
 SWidth = (force==0)?(screen.width - iWidth) / 2:(screen.width-750) / 2;;

 if (navigator.appName.indexOf("Microsoft")>=0)
  winStats+=',left='+SWidth+',top='+ SHeight;

 else
  winStats+=',screenX='+SWidth+',screenY='+SHeight;

 try{
  var newWindow=window.open( sUrl ,sTitleWindow, winStats );
 }
 catch(er){
  alert("POP UP ERROR="+er);
 }
}
/* ************************************JSWKHISTORIC***************************************** */
function GenHistoric()
{
 document.write(unescape(document.forms[0].HISDisplay.value));
}
/* ***************************************************************************** */

