function $(id)   { return document.getElementById(id); }
function eh(id)  { if($(id)) $(id).style.display = 'none';  }
function es(id)  { if($(id)) $(id).style.display = 'block'; }

onload = function() 
{ 
  preload_images('/i/arrow_left_hover.gif','/i/arrow_right_hover.gif');

  if (/MSIE (5|6|7).+Win/.test(navigator.userAgent))
  {
    var links = document.getElementsByTagName('a');
    var i = 0;

    while( a = links[i++] )
      a.onfocus = function() { this.blur() }
  }
}

function preload_images()
{
  var img = new Object(); 

  arguments = preload_images.arguments;

  for( i=0; i < arguments.length; i++) 
  {
    img[i]     = new Image();
    img[i].src = arguments[i];
  }
}

function fix_png_images()
{ 
  var blank_src = "/i/n.gif";

  if( !(/MSIE (5|6).+Win/.test(navigator.userAgent)) )
    return;

  i = 0;
  images = document.getElementsByTagName('img');

  while( image = images[i++] )
  {
    if( /\.png$/.test( image.src.toLowerCase() ) ) 
    {
      if( (/MSIE (5.0).+Win/.test(navigator.userAgent)) )
      {
        image.src = image.src.replace(/png/, "jpg");
        break ;
      }

      src = image.src ;
      
      w = image.width ;
      h = image.height ;

      // set blank image
      image.src = blank_src;

      // set filter
      image.runtimeStyle.filter = "progid:DXImageTransform.Microsoft.AlphaImageLoader(src='" + src + "',sizingMethod='scale')";

      // set width & height
      image.runtimeStyle.width  = w ;
      image.runtimeStyle.height = h ;
    }
  }
} 

if (window.attachEvent && navigator.userAgent.indexOf("Opera")==-1) 
  window.attachEvent("onload", fix_png_images);

function show_photo(direction)
{ 
  var quantity = photos.length ; 
  var j        = current_photo + direction ;

  if( direction > 0 && j <= quantity )
  {
    if( photos[j] != undefined )
      preload_images(photos[j]);

    show_photo_load(j);
  }

  if( direction < 0 && j > 0 )
    show_photo_load(j);

  $('photo-arrow-previous').style.display = current_photo > 1        ? 'block' :'none';
  $('photo-arrow-next').style.display     = current_photo < quantity ? 'block' :'none';

  return false ;
}

function show_photo_load(i)
{
  if( photos[i-1] != undefined )
  {
    $('photo-current').style.display = 'none';
    $('photo-current').onload        = function() { this.style.display = 'block' }
    $('photo-current').src           = photos[i-1];

    current_photo = i;
  }
}

function getClientWidth()  { return document.compatMode=='CSS1Compat' && !window.opera ? document.documentElement.clientWidth :  document.body.clientWidth;  }
function getClientHeight() { return document.compatMode=='CSS1Compat' && !window.opera ? document.documentElement.clientHeight : document.body.clientHeight; }

function get_ScrollOffsetX_ScrollOffsetY()
{
  var scrOfX = 0, scrOfY = 0;

  if(typeof(window.pageYOffset) == 'number') 
  {
    scrOfY = window.pageYOffset;
    scrOfX = window.pageXOffset;
  } else if (document.body && (document.body.scrollLeft || document.body.scrollTop)) {
    scrOfY = document.body.scrollTop;
    scrOfX = document.body.scrollLeft;
  } else if (document.documentElement && (document.documentElement.scrollLeft || document.documentElement.scrollTop)) {
    scrOfY = document.documentElement.scrollTop;
    scrOfX = document.documentElement.scrollLeft;
  }

  return { 'ScrollOffsetX' : scrOfX, 'ScrollOffsetY': scrOfY };
}


function spw( pdata )
{
  if( pdata == undefined || pdata.lenght == 0)
    return ;

  var width = 0, height = 0, img_type = '', img_id = -1, img_title = '', lng = '', img_src = '';
  var arg_list = ['width', 'height', 'img_type', 'img_id', 'img_title', 'lng', 'img_src'];

  for (var i = 1, j=i-1; i < arguments.length; i++, j=i-1)
  {
    eval_type_str = arguments[i]

    if( typeof(arguments[i]) == 'string' )
      eval_type_str = '"' + arguments[i] + '"';
   
    eval( arg_list[j] + " = " + eval_type_str + ";");
  }

  // получаем ширину и высоту клиенской области и смещения по осям
  var cWidth = 0, cHeight = 0, ScrollOffsetX = 0, ScrollOffsetY = 0;

  cWidth  = getClientWidth();
  cHeight = getClientHeight();

  r = get_ScrollOffsetX_ScrollOffsetY();

  ScrollOffsetX = r['ScrollOffsetX'];
  ScrollOffsetY = r['ScrollOffsetY'];

  var pid = pdata[0];

  if( $(pid) )
  {
    var left = parseInt((cWidth-width)/2)  + ScrollOffsetX ;
    var top  = parseInt((cHeight-height)/2) + ScrollOffsetY ;

    // pdata - [pid, top_correction, left_corretin, top, left] 
    if( pdata[1] != undefined ) top  += parseInt(pdata[1]); 
    if( pdata[2] != undefined ) left += parseInt(pdata[2]); 
    if( pdata[3] != undefined ) top   = parseInt(pdata[3]) + ScrollOffsetY; 
    if( pdata[4] != undefined ) left  = parseInt(pdata[4]) + ScrollOffsetX; 

    // если overlay не найден, добавляем автоматически
    if( !$('overlay') )
    {
      var dOverlay = document.createElement('div');
      dOverlay.id = 'overlay';

      document.body.appendChild(dOverlay);
    }

    $('overlay').onclick       = function() { cpw(pid); };
    $('overlay').title         = "Закрыть окно";
    $('overlay').style.cursor  = "pointer";

    if (/MSIE (5|6).+Win/.test(navigator.userAgent))
    {
      $('overlay').style.height = cHeight ;
    
      if( document.body.scrollHeight && document.body.scrollHeight > cHeight )
        $('overlay').style.height = document.body.scrollHeight ;
    }

    $('overlay').style.display = 'block';

    // если значение ненулевое, используем, если нулевое - использются стили из css
    if( top > 0)    $(pid).style.top    = top    + "px"; 
    if( left > 0)   $(pid).style.left   = left   + "px"; 
    if( width > 0)  $(pid).style.width  = width  + "px"; 
    if( height > 0) $(pid).style.height = height + "px"; 

    $(pid).style.display = 'block';
  }

  return false ;
}

function cpw()
{
  // close popup window cpw('wid')
  if( arguments[0] != undefined && $(arguments[0]) )
    $(arguments[0]).style.display = 'none';

  $('overlay').style.display = 'none';
  $('overlay').style.height  = "100%";

  return false ;
}
