/* зависит от mootools.js */

if(typeof window.Class != "undefined"){

Element.show = function(){
  this.setStyle('display','block');
};

Element.hide = function(){
  this.setStyle('display','none');
};


Window.getWidth = function(){
  return window.innerWidth || document.documentElement.clientWidth || document.body.clientWidth || 0;
}

Window.getHeight = function(){
  return window.innerHeight || document.documentElement.clientHeight || document.body.clientHeight || 0;
}

Window.getScrollTop = function(){
		return document.documentElement.scrollTop || document.body.scrollTop || window.pageYOffset || 0;
}

Window.getScrollLeft = function(){
		return document.documentElement.scrollLeft || document.body.scrollLeft || window.pageXOffset || 0;
}


/**/

var lightboxed=null;

function remove_lightbox(){
  if (lightboxed) 
    lightboxed.setStyle('display','none');
  lightboxed = null;
  p = $("pelena");  
  if($type(p)=='element')
    p.remove();
}

function ru_fade(){
  // создать пелену
  var pelena = new Element('div');
  pelena.id = "pelena";
  pelena.setOpacity(0.4);
  pelena.injectInside('idBody');
  pelena.setStyle('height', Math.max(Window.getHeight(),document.body.scrollHeight)+'px' );
  pelena.addEvent('click', remove_lightbox );
}


function ru_lightbox( element ){
  ru_fade();
  var container = new Element('div');
  container.id = "lb-container";
  container.injectInside('idBody');
  container.setStyle('display','block');  
  element.injectInside(container);
  
  element.setStyle('display','block');

  var w = element.offsetWidth;
  var h = element.offsetHeight;
  container.setStyles( { 
                      left: (Window.getWidth()-w)/2+'px',
                      top: (Window.getHeight()-h)/2+'px',
                      'z-index': '400'
                      });
  element.setStyles( {'z-index': '400'});
  lightboxed = container;  
  return false;
}

function ru_lightbox_pic( src, width, height, description){
  if(typeof window.Class == "undefined") return true;
  
  frame = $('lb-frame');

  img = $('lb-image');
  img.width = 0; 
  img.height = 0; 
  img.src = $('z-image').src;
  descr = $('lb-description');
  if (description && description!='') {
    descr.setHTML(description);
    descr.setStyle('display','block');
  } else {
    descr.setHTML('&nbsp;');
    descr.setStyle('display','none');
  }

  frame.setStyle('display','block');
  
  var dw = frame.offsetWidth;
  var dh = frame.offsetHeight;

  $('under-image').className='';

  (function(){$('under-image').className='on-'}).delay(500);
  img.src=src;

  img.width = (img.offsetWidth || width); 
  img.height = (img.offsetHeight || height); 

  return ru_lightbox( frame );
}

function popup_image( src, width, height ){
  var title;
  if ( matches = src.match(/\?title=(.*)?&/) ){
    //title = unescape(matches[1]);
    title = matches[1];
  }  
  if ( matches = src.match(/(.*)?\?/) ){
    src = matches[1];
  }  
  return ru_lightbox_pic(src, width, height, title );;
}

}
