/* Greybox Redux
 * Required: http://jquery.com/
 * Written by: John Resig
 * Based on code by: 4mir Salihefendic (http://amix.dk)
 * License: LGPL (read more in LGPL.txt)
 * Fixed : Lesha
 * http://minivan.ru/ 
 * for intagration with Yandex.Maps
 */

var GB_DONE = false;
var GB_HEIGHT = 400;
var GB_WIDTH = 400;

function GB_show(caption, url, height, width) {
	try {
  GB_HEIGHT = height || 400;
  GB_WIDTH = width || 400;
  if(!GB_DONE) {
    $("body")
      .append("<div id='GB_overlay'></div><div id='GB_window'><div id='GB_caption'></div>"
        + "<img src='close.gif' alt='закрыть'/></div>");
    $("#GB_window img").click(GB_hide);
    $("#GB_overlay").click(GB_hide);
    $(window).resize(GB_position);
    GB_DONE = true;
  }

  $("#GB_frame").remove();
  $("#GB_window").append("<iframe id='GB_frame' src='"+url+"'></iframe>");

  $("#GB_caption").html(caption);
  $("#GB_overlay").show();

  var arrPageSizes=___getPageSize();
  var arrPageScroll=___getPageScroll();

  $('#GB_window').css({top:arrPageScroll[1]+(arrPageSizes[3]/10),left:arrPageScroll[0]});
  $('#GB_overlay').css({width:arrPageSizes[0],height:arrPageSizes[1]});

  GB_position();

  if(GB_ANIMATION)
    $("#GB_window").slideDown("slow");
  else
    $("#GB_window").show();
	} catch(e) {
		alert( e );
	}
}

function GB_hide() {
  $("#GB_window,#GB_overlay").hide();
}


function ___getPageSize()
{
var xScroll,yScroll;
if(window.innerHeight&&window.scrollMaxY){
xScroll=window.innerWidth+window.scrollMaxX;yScroll=window.innerHeight+window.scrollMaxY;}
else 
if(document.body.scrollHeight>document.body.offsetHeight){
xScroll=document.body.scrollWidth;yScroll=document.body.scrollHeight;
}
else{
xScroll=document.body.offsetWidth;yScroll=document.body.offsetHeight;
}
var windowWidth,windowHeight;
if(self.innerHeight){
  if(document.documentElement.clientWidth){
  windowWidth=document.documentElement.clientWidth;
  }
  else{windowWidth=self.innerWidth;
  }
  windowHeight=self.innerHeight;
}
else 
if(document.documentElement&&document.documentElement.clientHeight){
  windowWidth=document.documentElement.clientWidth;windowHeight=document.documentElement.clientHeight;
}
else 
if(document.body){
  windowWidth=document.body.clientWidth;windowHeight=document.body.clientHeight;
}
if(yScroll<windowHeight){
pageHeight=windowHeight;
}
else{
pageHeight=yScroll;
}
if(xScroll<windowWidth)
{pageWidth=xScroll;}
else
{pageWidth=windowWidth;}
arrayPageSize=new Array(pageWidth,pageHeight,windowWidth,windowHeight);
return arrayPageSize;
};

function ___getPageScroll()
{
var xScroll,yScroll;
if(self.pageYOffset){yScroll=self.pageYOffset;xScroll=self.pageXOffset;}
else 
if(document.documentElement&&document.documentElement.scrollTop)
{
yScroll=document.documentElement.scrollTop;
xScroll=document.documentElement.scrollLeft;}
else if(document.body){
yScroll=document.body.scrollTop;
xScroll=document.body.scrollLeft;
}
arrayPageScroll=new Array(xScroll,yScroll);
return arrayPageScroll;
};

function GB_position() {
  var de = document.documentElement;
  var w = self.innerWidth || (de&&de.clientWidth) || document.body.clientWidth;
	$("#GB_window").css({width:GB_WIDTH+"px",height:GB_HEIGHT+"px",
    left: ((w - GB_WIDTH)/2)+"px" });
  $("#GB_frame").css("height",GB_HEIGHT - 32 +"px");
}
