var gsJSCMSelectionCookieName = "PublicationServerSelection";

function fGetCookieForB(asName, abEscape)
{
   var valCookiesValue=fGetCookie(asName, abEscape);

   if(valCookiesValue && valCookiesValue!="")
   {
      if ( valCookiesValue.length >= 2 )
      {
         var lsTwofirstcar = valCookiesValue.substring(0, 2);
         if ( lsTwofirstcar != "=&")
         {
            valCookiesValue = "=&" + valCookiesValue;
         }
      }
      else
      {
         valCookiesValue ="";
      }
   }      
      return valCookiesValue ;
}

function  researchElementInForm()
{
   var taille = document.forms[0].elements.length;
   var nameElementCheckbox='';
   var nameElementCheckboxUpper='';
   var   commonNameBSelected='';

   for (var i=0; i < taille; i++)
   {
      var f=eval(document.forms[0].elements[i]);
      nameElementCheckbox=f.name;
      nameElementCheckboxUpper=nameElementCheckbox.toUpperCase();
      commonNameBSelected=nameElementCheckboxUpper.substring(0,9);
      if( (f.type=="checkbox") && (f.checked) && (commonNameBSelected=="BSELECTED"))
      {
         if(fMapStrToStrFindKey (gsJSCMSelectionCookieName,f.value )<0)
         {  
            fMapStrToStrSetAt(gsJSCMSelectionCookieName, f.value, f.name);
         }
      }
      else
      {  
         fMapStrToStrRemoveKey(gsJSCMSelectionCookieName, f.value );
      }
   } 
}

function fToggleSelection(abChecked, asKey, asValue)
{
   if (abChecked)
   {
      if (fMapStrToStrFindKey(gsJSCMSelectionCookieName, asKey) < 0)
      {  
         fMapStrToStrSetAt(gsJSCMSelectionCookieName, asKey, asValue);
      }
   }
   else
   {  
      fMapStrToStrRemoveKey(gsJSCMSelectionCookieName, asKey);
   }
}

function  checkedElementInCookies()
{
   var taille = document.forms[0].elements.length;
   for (var i=0; i < taille; i++)
   {
      var f=eval(document.forms[0].elements[i]);
      if(fMapStrToStrFindKey (gsJSCMSelectionCookieName, f.value)>= 0)
      {
         f.checked=1;
      }
   } 
}

function  deleteAllKeyInCookies()
{
   var valCookiesValue=fGetCookieForB(gsJSCMSelectionCookieName, true);
   var valKey='';
   var valueCookie='';
   if(valCookiesValue)
   {
      if(valCookiesValue!="")
      {  var valueCookieSplit='';
         var arrayKeysValueCookies=valCookiesValue.split("&");
         for(var i=1 ; i < arrayKeysValueCookies.length ; i++)
         {
            valueCookie = arrayKeysValueCookies[i];
            valueCookieSplit = valueCookie.split("=");
            valKey = valueCookieSplit[0];
            fMapStrToStrRemoveKey(gsJSCMSelectionCookieName, valKey);
         }
      }
   }      
}

// Create the cookie which will contain the user's selection
function  CreateTheCookie()
{
   if(!fGetCookie(gsJSCMSelectionCookieName, true))
   {
      fMapStrToStrSetAt(gsJSCMSelectionCookieName, '', '');
   }
}

// The fDownloadDocument() function allows me to download the Pdf documents and
// function allows me to download the zip of all documents  
// to the format zip of the selected documents
function fDownloadDocument(caseDocument,aPage,aUserDirectory)
{
   if (gbDownload)
   {
      return;
   }

   researchElementInForm();

   var valCookiesValue=fGetCookieForB(gsJSCMSelectionCookieName, true);
   if(valCookiesValue && valCookiesValue!="")
   {
      var myMessage="";
      myMessage =(caseDocument=="pdfDocumentZip") ? gsMessagePdf : gsMessageDownloadDocument;
      if (confirm(myMessage))
      {
         var key='';
         var valueCookie='';
         var valueCookieSplit='';
         var allKeysCookies='';
         var arrayKeysValueCookies=valCookiesValue.split("&");
         for(var i=1 ; i < arrayKeysValueCookies.length ; i++)
         {
            valueCookie = arrayKeysValueCookies[i];
            valueCookieSplit = valueCookie.split("=");
            if(i==1)
            {
               allKeysCookies=valueCookieSplit[0];
            }
            else
            {   
               allKeysCookies= allKeysCookies  + "|" + valueCookieSplit[0];
            }
            valueCookieSplit='';
         }
         if (allKeysCookies!="")
         {  
			/*
			var loHiddenIframe = fBrowser_GetIFrame("iframeWad0");
			var loDate = new Date();
			loHiddenIframe.location = "downloaddocument.jsp?allIDocId=" + allKeysCookies + "&iForceRefresh=" + loDate.getTime() + "&caseDocument="+caseDocument+"&iPage="+aPage;
			*/
            
            var loDate = new Date();

			var url = "downloadpopup.jsp?mode=start";
			url += "&numKeyUser=" + aUserDirectory ;
			url += "&allIDocId=" + allKeysCookies ;
			url += "&iForceRefresh=" + loDate.getTime() ;
			url += "&caseDocument=" + caseDocument ;
			url += "&iPage=" + aPage ;
			window.open(url,aUserDirectory,'width=250, height=90, left=400, top=250, location=no, copyhistory=no, directories=no, toolbar=no, status=no , resizable=no , scrollbars=no');
         }
      }
   }
   else
   {  myMessage =(caseDocument=="pdfDocumentZip") ? gsMessageNoDocument : gsMessageNoDocument;
      alert(myMessage);
   }
}

// return the list Keys id selected
function fGetListKeys()
{
   if (gbDownload)
   {
      return "";
   }
   researchElementInForm();
   var valCookiesValue=fGetCookieForB(gsJSCMSelectionCookieName, true);
   if(valCookiesValue && valCookiesValue!="")
   {
      var valueCookieSplit='';
      var allKeysCookies='';
      var mValue='';
      var arrayKeysValueCookies=valCookiesValue.split("&");
      for(var i=1 ; i < arrayKeysValueCookies.length ; i++)
      {
         mValue = arrayKeysValueCookies[i].split("=");
         if ( i==1)
            allKeysCookies = mValue[0];
         else
            allKeysCookies= allKeysCookies  + " " + mValue[0];
      }
      return allKeysCookies;
   }
   else
   {
      return "";
   }
}

function fResetSelection()
{
   // Call to delete and clean the cookie.
   fDeleteCookie(gsJSCMSelectionCookieName);
}  

// verify if a selection is currently done
function ftest_is_selection()
{
   researchElementInForm();
   var valCookiesValue=fGetCookieForB(gsJSCMSelectionCookieName, true);
   if(valCookiesValue && valCookiesValue!="")
   {
      return true;
   }
   else
   {
      return false;
   }
}

