﻿/*
#==============================================================================#
# Unit Name: TBFGMain.js                                                       #
# Author:    Valentin Green - The Brand Factory Group Ltd.                     #
# Date: 04.03.2007                                                             #
# Purpose: Hold main data and functions for the corresponding site             #
#==============================================================================#
# History:                                                                     #
# Ver      Date     Name   Description                                         #
# 1.xx   00.00.00 yyyyyy   z                                                   #
# 1.00   04.03.07 valieg   Creation of the unit                                #
#==============================================================================#
*/
/* if the browser is not W3C compliant,...bye */
  var W3CDOM = ( ( document.createElement != null ) && ( document.getElementsByTagName != null ) ) ? true : false;
/* constants section */

  var MENUITEMTEXTNAME = "mnuMainTxt";
  var CODEANCHORID = "codeAnchor";
  var CODEPARTID = "codePart";
  var TEAMPLAYERID = "teamPlayerID";
  var NODENUMBER = -1;
  var RUBBERID = "LeftPanelTbl";
  var BASEID = "MainPanelTbl";
  var BOTTROOTNAME = "bottomMenuTbl";
  var INDEXHTML = "index";
		var INITYEAR = 2006;
  var ROOTPATH = "";
//==================================
  var WALLROOTNAME = "mainMenuTbl";
  var MENUITEMROOTNAME = "mnuMainItem";
  var MENUITEMICONNAME = "mnuMainIcon";
  var WALLTOPNAME = "topMenuTbl";
  var MENUITEMTOPITEM = "mnuTopItem";
  var DYNMNUBASE = "dynMnu";

  var GALLERYROWS = 1; // Number of gallery's rows
  var GALLERYCOLS = 4; // Number of gallery's columns
  var GALLERYNAME = "galleryTbl";
  var GALLNAVIGITEM = "navigBtnItem";
  var GALLNAVIGICON = "navigBtnPic";
  var ITEMPICTURE = "itemPic";//"navigBtnPic",
  var THUMBSPICID = "thumbPicID";
  var THUMBSCELLID = "thumbCellID";
  var THUMBBIGPIC = "thumbBigPic";
  var GALLERYPICSUFFIX = "_icon";
  var TOPBANNER = "topBanner";
  var KERNELAREA = "kernelArea";


  var GROUPNAME = "groupTbl";
  var GROUPNAVIGITEM = "groupNavigBtnItem";
  var GROUPNAVIGICON = "groupNavigBtnPic";
  var GALLCELLID = "gallCellID";

/* globals section*/

  var currActiveMnu = -1;
  var openWall = -1;
  var bricksList = new Array();
  var activeGallery = -1; //the current gallery in use ( branding, internet, 3DModel...
  var nextActGallery = -1;
  var currentChildHTML = "";
  var timerHandler = null;
  var strXMLresponse = "";
  var currGroupIdx = -1;
  var waitResponse = false;
  var exitTimerH = null;

  var currentGallPicPath = "";

  var DEBUG01 = false;
  var DEBUG02 = false;
  var DEBUG03 = false;
  var DEBUG04 = false;
  var DEBUG05 = true;
  var DEBUG06 = false;

/* Gallerys, thumb pic ! */

GALLERY_LIST = new Array();

GALLERY_GROUP_LIST = new Array();

GALLERY_LARGE_LIST = new Array();

GALLERY_GROUP_BUFFER_LIST = new Array();


GALLERY_TEST = new Array();
var testCall = 0;
var typoCount = 0;

/* Node parents */
YCSmnuItemsParents = new Array(/* reserved !!! Don't us it !!!*/ -1,
                                    /*            about us 01 */ -1,
                                    /*            services 02 */  0,
                                    /*           portfolio 03 */  0,
                                    /*             clients 04 */  0,
                                    /*             contact 05 */ -1,
                                    /*       clients login 06 */ -1,
                                    /*               links 07 */ -1,
                                    /*            branding 08 */  3,
                                    /* corporate indentity 09 */  3,
                                    /*            internet 10 */  3,
                                    /*         3D modeling 11 */  3,
                                    /*         exhibitions 12 */  3,
                                    /*           packaging 13 */  3,
                                    /*         engineering 14 */  4,
                                    /*          architects 15 */  4,
                                    /*    diamond industry 16 */  4,
                                    /*             hi-tech 17 */  4,
                                    /*      others sectors 18 */  4,
                                    /*  branding indentity 19 */  2,
                                    /*       web solutions 20 */  2,
                                    /*        3D solutions 21 */  2,
                                    /*         3D modeling 22 */  2,
                                    /*         exhibitions 23 */  2,
                                    /*    packaging design 24 */  2);

/* html retranslation tags */
/* [$patternList,$targetList]*/
htmlRetranslation = new Array( [ "\r\n", ""],
/*                       01 */ [ "\r", ""],
/*                       02 */ [ "<table", "tableTAG"],
/*                       03 */ [ "</table>", "TAGENDtable"],
/*                       04 */ [ "<tr", "trTAG"],
/*                       05 */ [ "</tr>", "TAGENDtr"],
/*                       06 */ [ "<td", "tdTAG"],
/*                       07 */ [ "</td>", "TAGENDtd"],
/*                       08 */ [ "<img", "imgTAG"],
/*                       09 */ [ "<br", "brTAG"],
/*                       10 */ [ "<span", "spanTAG"],
/*                       11 */ [ "</span", "TAGENDspan"]);

function TBFGreplacer()
{
//.arguments[0]  supposed to be the working string
//.arguments[1]  supposed to be the searching tag ( string)
//.arguments[2]  supposed to be the "replace to..." pattern
//.arguments[3]  supposed to be 1 or N replacements flag
//
  if ( arguments[3] = null)
  {
    re = new RegExp( arguments[1]);
    arguments[0] = arguments[0].replace( re, arguments[2]);
  }
  else
  {
    re = new RegExp( arguments[1], "g");
    arguments[0] = arguments[0].replace( re, arguments[2]);
  };

  return arguments[0];

} //TBFGreplacer()

function MsgBox()
{
  var txt = arguments[0] + " function failure !\n";
  txt += "Error description: " + arguments[1].description + "\n";
  txt += "Click OK to continue.\n";
  alert( txt );

}; //MsgBox()

function xOr()
{
  return !( ( arguments[0] && arguments[1]) || ( !( arguments[0] || arguments[1])))
}; //xOr()

//==================================

function isMainMnuItem()
{
  if( arguments[0].lastIndexOf( MENUITEMROOTNAME) == 0 ) {
    return 1*TBFGreplacer( arguments[0], MENUITEMROOTNAME, "");
  } else if( arguments[0].lastIndexOf( MENUITEMICONNAME) == 0 ) {
    return 1*TBFGreplacer( arguments[0], MENUITEMICONNAME, "");
  };

  return -1;

}; //isMainMnuItem()

function isSubMnuItem()
{

  return isMainMnuItem( arguments[0]);

}; //isSubMnuItem()

function setMainMnuListener()
{
  try
  {
    addListener( WALLROOTNAME,
                 MENUITEMROOTNAME,
                 true,
                 0);
    addListener( WALLROOTNAME,
                 MENUITEMICONNAME,
                 true,
                 0);
    addListener( WALLTOPNAME,
                 MENUITEMTOPITEM,
                 true,
                 1);
  }
  catch( err)
  {
    MsgBox( "setMainMnuListener()", err);
  };

}; //function setMainMnuListener()

function setPortfolioMnuListener()
{
  try
  {
    var mnuID = WALLROOTNAME.concat( 1);
    addListener( mnuID,
                 MENUITEMROOTNAME,
                 true,
                 2);
    addListener( mnuID,
                 MENUITEMICONNAME,
                 true,
                 2);
  }
  catch( err)
  {
    MsgBox( "setPortfolioMnuListener()", err);
  };

}; //function setPortfolioMnuListener()

function setClientsMnuListener()
{
  try
  {
    var mnuID = WALLROOTNAME.concat( 2);
    addListener( mnuID,
                 MENUITEMROOTNAME,
                 true,
                 3);
    addListener( mnuID,
                 MENUITEMICONNAME,
                 true,
                 3);
  }
  catch( err)
  {
    MsgBox( "setClientsMnuListener()", err);
  };

}; //function setClientsMnuListener()

function setServicesMnuListener()
{
  try
  {
    var mnuID = WALLROOTNAME.concat( 3);
    addListener( mnuID,
                 MENUITEMROOTNAME,
                 true,
                 8);
    addListener( mnuID,
                 MENUITEMICONNAME,
                 true,
                 8);
  }
  catch( err)
  {
    MsgBox( "setServicesMnuListener()", err);
  };

}; //function setServicesMnuListener()

function setGalleryListener()
{

  try{
    ITEMPICTURE = THUMBSPICID;
    addListener( GALLERYNAME,
                 THUMBSCELLID,
                 true,
                 4);
    ITEMPICTURE = GALLNAVIGICON;
    addListener( GALLERYNAME,
                 GALLNAVIGITEM,
                 true,
                 5);
  } catch( err ) {
    MsgBox( "setGalleryListener()", err);
  };

}; //function setGalleryListener()

function setGroupListener()
{

  try{
    addListener( GROUPNAME,
                 GALLCELLID,
                 true,
                 6);
    ITEMPICTURE = GROUPNAVIGICON;
    addListener( GROUPNAME,
                 GROUPNAVIGITEM,
                 true,
                 7);
  } catch( err ) {
    MsgBox( "setGroupListener()", err);
  };

}; //function setGroupListener()

function brickParam()
{
  if( !document.getElementById) return;
  this.brickID = arguments[0]; // brickID == mnuID
  this.isParent = isParent( this.brickID); // the brick is parent of... or not
		this.childIsVisible = false;

  return;

}; //function brickParam()

function isParent()
{
  for( var i = 0; i < YCSmnuItemsParents.length; i++ ) {
    if( YCSmnuItemsParents[i] == arguments[0] ) {
      return true;
    };
  };

  return false;

}; //isParent()

function isWall()
{
  if( arguments[0] == 3 ) {
    //portfolio
    return 1;
  } else if( arguments[0] == 4 ) {
    //clients
    return 2;
  } else if( arguments[0] == 2 ) {
    //services
    return 3;
  };

  return -1;

}; //isWall()

function initLists()
{
  var lim = YCSmnuItemsParents.length;

  for( var i = 0; i < lim; i++ ) {
    bricksList.push( new brickParam( i));
  };

  return;

}; //function initLists()

function backSlashNavig(){
//arguments[0] is base string
//arguments[1] number of search steps

  try{
    if( ( arguments[0].lastIndexOf( "/") < 0) || ( arguments[1] < 1)) return -1;
    var strTemp = arguments[0];
    var backSlashPos = -1;
    for( var i = 0; i < arguments[1]; i++ ) {
      backSlashPos = arguments[0].lastIndexOf( "/");
      if( backSlashPos >= 0 ) {
        arguments[0] = arguments[0].substring( 0, backSlashPos)
      } else {
        return -1;
      };
    };

    return backSlashPos;

  } catch( err ) {
    MsgBox( "backSlashNavig()", err);
  };

}; //function backSlashNavig()

function xmlSupplier()
{
debugTimer(" xmlSupplier() called by "+arguments[0]);
//arguments[0] = submenu ID
  var parentID = getParentID( arguments[0]);

  if( parentID < 0 ) {
    //unknown parent for the sub menu !
    //error message
    return;
  };
  //after passing the tests, REORGANIZE this block of code !!!
  if( parentID == 2 ) {
    //services
    if( xmlHttp == null ) {
      xmlHttp = createXmlHttpRequestObject();
    };
    innerPagFiller( arguments[0] );

  } else if( parentID == 3 ) {
    //portfolio
    if( xmlHttp == null ) {
      xmlHttp = createXmlHttpRequestObject();
    };
    if( DEBUG05 ) {
      strXMLresponse = respSelect(arguments[0]);
      xmlResponseHandler( strXMLresponse,
                          GALLERY_LIST,
                          GALLERY_GROUP_LIST,
                          GALLERY_LARGE_LIST,
                          GALLERY_GROUP_BUFFER_LIST);
      waitResponse = false;
      setFirstScene( arguments[0], GALLERY_LIST)
    } else {
      iconListFiller( arguments[0]);
    };
    
  } else if( parentID == 4 ) {
    //clients
    if( xmlHttp == null ) {
      xmlHttp = createXmlHttpRequestObject();
    };
    innerPagFiller( arguments[0] );
    
  };
  
  //exitDelay(0);
debugTimer(" xmlSupplier() called by "+arguments[0]+" RETURN");

}; //xmlSupplier()

// icons gallery list filler
function iconListFiller()
{
debugTimer(" iconListFiller() called");
//arguments[0] = submenu ID
  try
  {
    // proceed only if the xmlHttp object isn't busy
    if (xmlHttp.readyState == 4 || xmlHttp.readyState == 0)
    {
      // execute the iconListProvider.php page from the server
      xmlHttp.open("GET", "inc/iconListProvider.php?lstID=" + arguments[0]);
      // define the method to handle server responses
      xmlHttp.onreadystatechange = quickIconFiller;
      // make the server request
      xmlHttp.send(null);
      //waiting for quickIconFiller()
      waitResponse = true;
debugTimer(" iconListFiller() xmlHttp.readyState == 4...");
    } else {
      // if the connection is busy, try again after one second
debugTimer(" iconListFiller() before setTime()");
      timerHandler = setTimeout('iconListFiller()', 1000)
debugTimer(" iconListFiller()  after setTime()");
    };
  } catch( err ) {
    MsgBox( "iconListFiller()", err);
  };
debugTimer(" iconListFiller() called RETURN");
}; //iconListFiller()

// executed automatically when a message is received from the server
function quickIconFiller()
{
  try
  {
    // move forward only if the transaction has completed
    if( xmlHttp.readyState == 4 ) {
      // status of 200 indicates the transaction completed successfully
      if( xmlHttp.status == 200 ) {
        // extract the XML retrieved from the server
        xmlResponse = xmlHttp.responseXML;
        // obtain the document element (the root element) of the XML structure
        xmlDocumentElement = xmlResponse.documentElement;
        // get the text message, which is in the first child of
        // the the document element
        strXMLresponse = xmlDocumentElement.firstChild.data;
        // update the client display using the data received from the server
debugTimer(" quickIconFiller() before xmlResponseHandler()");
        xmlResponseHandler( strXMLresponse,
                            GALLERY_LIST,
                            GALLERY_GROUP_LIST,
                            GALLERY_LARGE_LIST,
                            GALLERY_GROUP_BUFFER_LIST);
        waitResponse = false;
        setFirstScene( activeGallery, GALLERY_LIST)
debugTimer(" quickIconFiller()  after xmlResponseHandler()");
      } else {
        // a HTTP status different than 200 signals an error
        alert("quickFiller() has a problem accessing the server: " + xmlHttp.statusText);
      };
      //dangerous !!!
      if( timerHandler != null ) clearTimeout(timerHandler);
      //here, the job is supposed to be done
debugTimer(" quickIconFiller()  after clearTimeout(timerHandler)");
    };
  } catch( err ) {
    MsgBox( "quickIconFiller()", err);
  };
}; //quickIconFiller()

function innerPagFiller()
{
//arguments[0] = submenu ID
  try
  {
    // proceed only if the xmlHttp object isn't busy
    if (xmlHttp.readyState == 4 || xmlHttp.readyState == 0)
    {
      // execute the innerPagProvider.php page from the server
      xmlHttp.open("GET", "inc/innerPagProvider.php?lstID=" + arguments[0], true);
      // define the method to handle server responses
      xmlHttp.onreadystatechange = quickFiller;
      // make the server request
      xmlHttp.send(null);
    } else {
      // if the connection is busy, try again after one second
      if( timerHandler == null ) {
        timerHandler = setTimeout('innerPagFiller()', 1000)
      };
    };
  } catch( err ) {
    MsgBox( "innerPagFiller()", err);
  };
}; //innerPagFiller()

// executed automatically when a message is received from the server
function quickFiller()
{
  try
  {
    // move forward only if the transaction has completed
    if( xmlHttp.readyState == 4 ) {
      // status of 200 indicates the transaction completed successfully
      if( xmlHttp.status == 200 ) {
        // extract the XML retrieved from the server
        xmlResponse = xmlHttp.responseXML;
        // obtain the document element (the root element) of the XML structure
        xmlDocumentElement = xmlResponse.documentElement;
        // get the text message, which is in the first child of
        // the the document element
        strXMLresponse = xmlDocumentElement.firstChild.data;
        var targetID = "kernelArea";
        if( document.getElementById( targetID) ) {
          if( strXMLresponse != "" ) {
        // update the client display using the data received from the server
            document.getElementById( targetID).innerHTML = restoreHTML( strXMLresponse);
          };
        };  
      } else {
        // a HTTP status different than 200 signals an error
        alert("quickFiller() has a problem accessing the server: " + xmlHttp.statusText);
      };
      if( timerHandler != null ) clearTimeout(timerHandler);
    };
  } catch( err ) {
    MsgBox( "quickFiller()", err);
  };
}; //quickFiller()

function fillArray()
{
  try
  {
    var targetLen = arguments[0].length; //array to be filled
    var sourceLen = arguments[1].length; //source array

    if( typeof(arguments[0]) != "object" || typeof(arguments[1]) != "object" ) {
      return;
    };
    //al least, we know that the input parameters are objects, near to array :-)
    var minLen = Math.min( targetLen, sourceLen);
    for( var i = 0; i < minLen; i++) {
      arguments[0][i] = arguments[1][i];
    };
    var diff = targetLen - sourceLen;
    if( diff == 0 ) {
      //it's ok ! target array filled
      return;
    } else if( diff > 0 ) {
      //we have to remove some array records
      for( var i = 0; i < diff; i++ ) {
        arguments[0].pop();
      };
    } else {
      //we have to add some array records
      for( var i = minLen; i < sourceLen; i++ ) {
        arguments[0].push( arguments[1][i]);
      };
    };

  } catch( err ) {
    MsgBox( "fillArray()", err);
  };
}; //fillArray()

function fillArrayFromPart()
{
  try
  {
    var targetLen = arguments[0].length; //array to be filled
                  //arguments[1]         //source array + dummy element
                  //arguments[2] - index of first cell to load
                  //arguments[3] - number of cells to load

    if( typeof(arguments[0]) != "object" || typeof(arguments[1]) != "object" ) {
      return;
    };
    //al least, we know that the input parameters are objects, near to array :-)
    
    arguments[0][0] = arguments[1][0]; //dummy element
    for( var i = 1; i < targetLen; i++) {
      arguments[0].pop();
    };
    for( var j = arguments[2]; j < arguments[2]+arguments[3]; j++) {
      arguments[0].push( arguments[1][j]);
    };

  } catch( err ) {
    MsgBox( "fillArrayFromPart()", err);
  };
}; //fillArrayFromPart()

/* return the parent ID for a given sub menu */
function getParentID()
{

  if( ( arguments[0] > 18 ) && ( arguments[0] < 25 ) ) {
    //the sub menu is part of services main menu item !
    return 2;
  } else if( ( arguments[0] > 7 ) && ( arguments[0] < 14 ) ) {
    //the sub menu is part of portfolio main menu item !
    return 3;
  } else if( ( arguments[0] > 13 ) && ( arguments[0] < 19 ) ) {
    //the sub menu is part of clients main menu item !
    return 4;
  };

  return -1;

}; //getParentID()

function restoreHTML()
{
  for( var i = 2; i < htmlRetranslation.length; i++) {
    arguments[0] = TBFGreplacer( arguments[0], htmlRetranslation[i][1], htmlRetranslation[i][0], 1);
  };
  return arguments[0];
  
}; //restoreHTML()

function debugTimer()
{
  if( arguments[1] == 0 ) return;

  if( DEBUG06 ) {
    typoCount++;
    document.getElementById( "testContainer").innerHTML += typoCount+arguments[0]+"<br><br>";
  };
}; //debugTimer()

function exitDelay()
{
//  exitTimerH = setTimeout("exitDelay()", 200)
  var objDate = new Date();
  var objDateN = null;
  var iniTime = objDate.getTime();

debugTimer(iniTime);
  
  while( waitResponse ) {
    objDateN = new Date();
    if( ((objDateN.getTime() - iniTime) >= arguments[0]) || (!waitResponse) ) {
      break;
    };
  };
  
debugTimer(objDateN.getTime());

  return;

}; //exitDelay()

function respSelect()
{
  return retStr[arguments[0] - 8];
}; //respSelect()

var retStr = new Array( /* 0-08*/ "20|34|img/gallPortfolio/brandingS/|img/gallPortfolio/brandingL/|00.jpg|WFDBmarkGroup2_icon.jpg|SarinInfoGroup2_icon.jpg|GemEWizardGroup2_icon.jpg|IllimiteeGroup2_icon.jpg|DataTechGroup2_icon.jpg|BrodGroup2_icon.jpg|AvlasGroup2_icon.jpg|AgrexcoGroup2_icon.jpg|AlexDanielGroup2_icon.jpg|YakubovGroup2_icon.jpg|EGLGroup2_icon.jpg|EliAzGroup2_icon.jpg|MoscowBourseGroup2_icon.jpg|SchnitzerGroup2_icon.jpg|ShifmanGroup2_icon.jpg|TheVinciDiamondGroup2_icon.jpg|BCollectionGroup2_icon.jpg|RICOGroup2_icon.jpg|TanachGroup2_icon.jpg|00.jpg|WFDBmarkGroup2_CD.jpg|WFDBmarkGroup2_add.jpg|WFDBmarkGroup2_booklet.jpg|WFDBmarkGroup2_brochure.jpg|WFDBmarkGroup2_flayer.jpg|WFDBmarkGroup2_folder.jpg|SarinInfoGroup2_calendar.jpg|GemEWizardGroup2_CD.jpg|GemEWizardGroup2_flayer.jpg|GemEWizardGroup2_folder.jpg|GemEWizardGroup2_insert.jpg|IllimiteeGroup2_CDmini.jpg|IllimiteeGroup2_add02.jpg|DataTechGroup2_CD.jpg|DataTechGroup2_insert.jpg|BrodGroup2_brochure.jpg|AvlasGroup2_folder.jpg|AvlasGroup2_insert.jpg|AgrexcoGroup2_flayer.jpg|AlexDanielGroup2_add.jpg|YakubovGroup2_add.jpg|EGLGroup2_add.jpg|EliAzGroup2_insert.jpg|EliAzGroup2_invitation.jpg|MoscowBourseGroup2_folder.jpg|SchnitzerGroup2_add.jpg|SchnitzerGroup2_booklet.jpg|ShifmanGroup2_card.jpg|TheVinciDiamondGroup2_add.jpg|BCollectionGroup2_catalog.jpg|RICOGroup2_drinkMenu.jpg|RICOGroup2_foodMenu.jpg|TanachGroup2_DVD.jpg|-1|6|1|4|2|2|1|2|1|1|1|1|2|1|2|1|1|1|2|1|",
                        /* 1-09*/"11|17|img/gallPortfolio/corpidentityS/|img/gallPortfolio/corpidentityL/|00.jpg|WFDBmarkGroup1_icon.jpg|SarinInfoGroup1_icon.jpg|GemEWizardGroup1_icon.jpg|DiamondXecutiveGroup1_icon.jpg|IllimiteeGroup1_icon.jpg|BrodGroup1_icon.jpg|MoscowBourseGroup1_icon.jpg|AvidanGroup1_icon.jpg|BCollectionGroup1_icon.jpg|LotusGroup1_icon.jpg|00.jpg|WFDBmarkGroup1_certificate.jpg|WFDBmarkGroup1_envelope.jpg|WFDBmarkGroup1_logo.jpg|SarinInfoGroup1_logo.jpg|GemEWizardGroup1_bussinesC.jpg|GemEWizardGroup1_logo.jpg|DiamondXecutiveGroup1_logo.jpg|IllimiteeGroup1_envelope.jpg|IllimiteeGroup1_logo.jpg|BrodGroup1_logo.jpg|MoscowBourseGroup1_logo.jpg|MoscowBourseGroup1_papers.jpg|AvidanGroup1_logo.jpg|AvidanGroup1_papers.jpg|BCollectionGroup1_certifica.jpg|LotusGroup1_logo.jpg|-1|3|1|2|1|2|1|2|2|1|1|",
                        /* 2-10*/"21|21|img/gallPortfolio/internetS/|img/gallPortfolio/internetL/|00.jpg|PekardDiamonds_icon.jpg|TheVinciDiamond_icon.jpg|EitanCohen_icon.jpg|MarketDirect_icon.jpg|DataTech_icon.jpg|DiamondXecutive_icon.jpg|WFDBmark_icon.jpg|DiamondPortal_icon.jpg|Illimitee_icon.jpg|DZDiamonds_icon.jpg|YDvash_icon.jpg|BCollection_icon.jpg|RafaelVardi_icon.jpg|IDMA_icon.jpg|AdvancedQuality_icon.jpg|NaturalDiamonds_icon.jpg|AlexDaniel_icon.jpg|ShadesOfColor_icon.jpg|CoachMe_icon.jpg|NouricanTrade_icon.jpg|",
                        /* 3-11*/"21|21|img/gallPortfolio/3DModelingS/|img/gallPortfolio/3DModelingL/|00.jpg|arc_01_icon.jpg|arc_02_icon.jpg|arc_03_icon.jpg|arc_04_icon.jpg|arc_05_icon.jpg|arc_06_icon.jpg|arc_07_icon.jpg|arc_08_icon.jpg|arc_09_icon.jpg|arc_10_icon.jpg|arc_11_icon.jpg|arc_12_icon.jpg|Wingate-poster_icon.jpg|ahdut-a2_icon.jpg|arlozorov2-fix_icon.jpg|layout1_icon.jpg|marina-final1_icon.jpg|north-final_icon.jpg|shatz-final2_icon.jpg|snif3_icon.jpg|",
                        /* 4-12*/"15|15|img/gallPortfolio/exhibitionsS/|img/gallPortfolio/exhibitionsL/|00.jpg|DataTech_booth_icon.jpg|SJuri_booth_icon.jpg|KUZI_booth_icon.jpg|AvlasDiamonds_booth_icon.jpg|RafaelVardi_booth_icon.jpg|Kuperman_booth_icon.jpg|Schnitzer_booth_icon.jpg|Shifman_booth_icon.jpg|ZVIOR_booth_icon.jpg|Yakubov_booth_icon.jpg|GYDiamonds_booth_icon.jpg|Agrexco_booth_icon.jpg|Karat_booth_icon.jpg|Illimitee_booth_icon.jpg|",
                        /* 5-13*/"14|14|img/gallPortfolio/packagingS/|img/gallPortfolio/packagingL/|00.jpg|pack_01_icon.jpg|pack_02_icon.jpg|pack_03_icon.jpg|pack_04_icon.jpg|pack_05_icon.jpg|pack_06_icon.jpg|pack_07_icon.jpg|pack_08_icon.jpg|pack_09_icon.jpg|pack_10_icon.jpg|pack_11_icon.jpg|pack_12_icon.jpg|pack_13_icon.jpg|pack_14_icon.jpg|");
                        
                        
