// ============================================================================
//    PURPOSE:             Функции кэширования и переключения изображений
//
//    FUNCTIONAL AREA:     GUI / IMG
//    NAME:                GUI_IMG2.js
//    VERSION:             2.0
//    AUTHORS:             Sasha
//    DESIGN REFERENCE:    
//    MODIFICATION:        10.02.2005 - (version 1.0) 
//    MODIFICATION:        16.03.2005 - (version 2.0) - проверка _loaded
//    MODIFICATION:        18.09.2007 - (version 2.1) - SA - поддержка jpg
// ============================================================================
// =================================================================== INCLUDES
// =================================================================== SYNOPSIS
// ================================================================== CONSTANTS
// ================================================================== VARIABLES
// ================================================================== FUNCTIONS

/* image preloading */
function IMG_preload(imgName, imgSrc) 
{
  eval(imgName + ' = new Image()');
  eval(imgName + '.src = "' + imgSrc + '"');
  return imgName;
}

/* turn image on */
function IMG_O(imgName) 
{
   IMG_set(imgName, "on");
}

/* turn image off */
function IMG_(imgName) {
   IMG_set(imgName, "off");
}

function IMG_set(imgName, state)
//переменная (_loaded) должна быть определена 
//в основном файле, и установлена после 
//полной загрузки страницы
{
   IMG_set2(imgName, imgName, state);
}

function IMG_set2(imgID, imgName, state)
//переменная (_loaded) должна быть определена 
//в основном файле, и установлена после 
//полной загрузки страницы
{
   if (!_loaded) 
   {
      return;
   };

   var imgObj = document.getElementById(imgID);
   imgObj.src = eval(imgName + "_" + state + ".src");
}


// ============================================================================
function IMG_preload2stBut(imgID, imgPath) 
// ============================================================================
   //PURPOSE:
      //предзагрузка кнопки с двумя состояниями (gif)

   //INPUT:
      //(imgID    ) - HTML-идентификатор (id) изображения
      //(imgPath  ) - базовая часть имени изображения (путь + начало имени)

   //OUTPUT:
{
   IMG_preload(imgID + "_on",  imgPath + "O.gif");
   IMG_preload(imgID + "_off", imgPath + ".gif");
}

// ============================================================================
function IMG_preload3stBut(imgID, imgPath, st3) 
// ============================================================================
   //PURPOSE:
      //предзагрузка кнопки с тремя состояниями (gif)

   //INPUT:
      //(imgID    ) - HTML-идентификатор (id) изображения
      //(imgPath  ) - базовая часть имени изображения (путь + начало имени)
      //(st3      ) - буква в имени файла, которая соответствует третьему состоянию кнопки

   //OUTPUT:
{
   IMG_preload(imgID + "_on",  imgPath + "O.gif");
   IMG_preload(imgID + "_off", imgPath + ".gif");
   IMG_preload(imgID + "_3",   imgPath + st3 + ".gif");
}

// ============================================================================
function IMG_preload2stButExt(imgID, imgPath, ext) 
// ============================================================================
   //PURPOSE:
      //предзагрузка кнопки с двумя состояниями (gif)

   //INPUT:
      //(imgID    ) - HTML-идентификатор (id) изображения
      //(imgPath  ) - базовая часть имени изображения (путь + начало имени)

   //OUTPUT:
{
   IMG_preload(imgID + "_on",  imgPath + "O." + ext);
   IMG_preload(imgID + "_off", imgPath + "." + ext);
}

// ============================================================================
function IMG_preload3stButExt(imgID, imgPath, st3, ext) 
// ============================================================================
   //PURPOSE:
      //предзагрузка кнопки с тремя состояниями (gif)

   //INPUT:
      //(imgID    ) - HTML-идентификатор (id) изображения
      //(imgPath  ) - базовая часть имени изображения (путь + начало имени)
      //(st3      ) - буква в имени файла, которая соответствует третьему состоянию кнопки

   //OUTPUT:
{
   IMG_preload(imgID + "_on",  imgPath + "O." + ext);
   IMG_preload(imgID + "_off", imgPath + "." + ext);
   IMG_preload(imgID + "_3",   imgPath + st3 + "." + ext);
}
