<!--
/************************************************************************/
/* transform_folderlist.js                                              */
/*----------------------------------------------------------------------*/
/* Parses the comma separated string containing folder information and  */
/* builds HTML for the folders list.                                    */
/*----------------------------------------------------------------------*/
/* Copyright (c) 2008-2009 Avaya Inc.                                   */
/************************************************************************/

function FolderList( defaultFolderId, trashFolderId, folders_csv )
{
  this.currentFolderName = '';
  this.currentFolderId = 0;
  this.defaultFolderId = defaultFolderId;
  this.trashFolderId = trashFolderId;
  this.folders = [];

  //var currentTheme;

  var fldrs = folders_csv.split(';');

  // ID|Name|CanTranslate;
  // ...
  // ID|Name|CanTranslate;


  var defaultFolder = null;
  var trashFolder = null;
  for( var i in fldrs )
  {
    var folderRecord = fldrs[i];
    if( !folderRecord )
    {
      break;
    }

    var folderDataArr = folderRecord.split('|');
    if ( folderDataArr.length > 0 )
    {
      var folder = {
        "ID":UnescapeDelimiters(folderDataArr[0]),
        "Name":UnescapeDelimiters(folderDataArr[1]),
        "CanTranslate":UnescapeDelimiters(folderDataArr[2])
      };

      // Translate folder name if necessary
      if( folder["CanTranslate"] )
      {
        folder["Name"] = LocaliseString( UnescapeDelimiters(folderDataArr[1]) );
      }

      if( folder["ID"] == defaultFolderId )
      {
        defaultFolder = folder;
        if( !this.currentFolderId || !this.currentFolderName )
        {
          this.currentFolderId = folder["ID"];
          this.currentFolderName = folder["Name"];
          //from php: GetSessionHandler()->SetSessionVar(SessionHandler::CURRENT_FOLDER_ID, $currentFolderId);
//          //from php: GetSessionHandler()->SetSessionVar(SessionHandler::CURRENT_FOLDER_NAME, $currentFolderName);
        }
      }
      else if( folder["ID"] == trashFolderId )
      {
        trashFolder = folder;
      }
      else
      {
        this.folders.push( folder );
      }
    }
  }

  // Put trash folder at the end, and default folder at the start of the list.
  if( trashFolder )
  {
    this.folders.push( trashFolder );
  }

  // Put default folder at the start
  if( defaultFolder )
  {
    this.folders.unshift( defaultFolder );
  }
}

FolderList.prototype.ToHtml = function( theme )
{
  var html = '          ';

  gNumFoldersInList=0;

  for( var i in this.folders )
  {
    var folderRecord = this.folders[i];

    var imgHtml = '';
    if( this.defaultFolderId == folderRecord["ID"] )
    {
      imgHtml = '    <img src="images/' + theme + '/default_folder.gif" style="margin:0; padding:0; border:0; padding-right:1px;" alt="" />';
    }
    else if( this.trashFolderId == folderRecord["ID"] )
    {
      imgHtml = '    <img src="images/' + theme + '/trash.gif" style="margin:0; padding:0; border:0; padding-right:1px;" alt="" />';
    }
    else
    {
      imgHtml = '    <img src="images/' + theme + '/folder.gif" style="margin:0; padding:0; border:0; padding-right:1px;" alt="" />';
    }

    var iefix = '';
    if( gBrowser.type != eBT_IE )
    {
      iefix = 'padding-top:8px; padding-bottom:6px; ';
    }

    if( this.currentFolderId == folderRecord["ID"] )
    {
      if( gBrowser.IsTiny() )
      {
        html += '<span style="' + iefix + 'background:url(images/' + theme + '/tab_middle.gif);">';
        html += '<img style="vertical-align:bottom; margin:0; padding:0; border:0;" src="images/' + theme + '/tab_left.gif" alt="" />';
        html += '<span id="fit_' + i +'" style="line-height:24px; color:black; font-size:7px; font-weight:bold; cursor:pointer;padding-left:8px; padding-right:8px;" onmouseover="return LightUp(this);" onmouseout="return LightDown(this);" onclick="Activity(); if(IsClickable(this.id)){MediaStop();SelectFolderItem(\'' + folderRecord['ID'] + '\');}return false;">';
        html += imgHtml;
        html += '</span>';
        html += '<img style="vertical-align:bottom; margin:0; padding:0; border:0;" src="images/' + theme + '/tab_right.gif" alt="" />';
        html += '</span>';
      }
      else
      {
        html += '<span style="' + iefix + 'background:url(images/' + theme + '/tab_middle.gif);">';
        html += '<img style="vertical-align:bottom; margin:0; padding:0; border:0;" src="images/' + theme + '/tab_left.gif" alt="" />';
        html += '<span id="fit_' + i +'" style="line-height:28px; color:black; font-size:14px; font-weight:bold; cursor:pointer;padding-left:33px; padding-right:49px;" onmouseover="return LightUp(this);" onmouseout="return LightDown(this);" onclick="Activity(); if(IsClickable(this.id)){MediaStop();SelectFolderItem(\'' + folderRecord['ID'] + '\');}return false;">';
        html += imgHtml;
        html += '<span id="current_folder_title">' + folderRecord["Name"] + '</span>';
        html += '</span>';
        html += '<img style="vertical-align:bottom; margin:0; padding:0; border:0;" src="images/' + theme + '/tab_right.gif" alt="" />';
        html += '</span>';
      }
    }
    else
    {
      if( gBrowser.IsTiny() )
      {
        html += '<span style="' + iefix + 'background:url(images/' + theme + '/tab_dk_middle.gif);">';
        html += '<img style="vertical-align:bottom; margin:0; padding:0; border:0;" src="images/' + theme + '/tab_dk_left.gif" alt="" />';
        html += '<span id="fit_' + i +'" style="line-height:24px; color:black; font-size:7px; font-weight:bold; cursor:pointer;padding-left:8px; padding-right:8px;" onmouseover="return LightUp(this);" onmouseout="return LightDown(this);" onclick="Activity(); if(IsClickable(this.id)){MediaStop();SelectFolderItem(\'' + folderRecord['ID'] + '\');}return false;">';
        html += imgHtml;
        html += '</span>';
        html += '<img style="vertical-align:bottom; margin:0; padding:0; border:0;" src="images/' + theme + '/tab_dk_right.gif" alt="" />';
        html += '</span>';
      }
      else
      {
        html += '<span style="' + iefix + 'background:url(images/' + theme + '/tab_dk_middle.gif);">';
        html += '<img style="vertical-align:bottom; margin:0; padding:0; border:0;" src="images/' + theme + '/tab_dk_left.gif" alt="" />';
        html += '<span id="fit_' + i +'" style="line-height:28px; color:black; font-size:14px; font-weight:bold; cursor:pointer;padding-left:33px; padding-right:49px;" onmouseover="return LightUp(this);" onmouseout="return LightDown(this);" onclick="Activity(); if(IsClickable(this.id)){MediaStop();SelectFolderItem(\'' + folderRecord['ID'] + '\');}return false;">';
        html += imgHtml + folderRecord["Name"];
        html += '</span>';
        html += '<img style="vertical-align:bottom; margin:0; padding:0; border:0;" src="images/' + theme + '/tab_dk_right.gif" alt="" />';
        html += '</span>';
      }
    }
    ++gNumFoldersInList;
  }
  return html;
}
//-->

