/* 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)
 */

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

/* added */
function getPageHeightWithScroll(){
	if (window.innerHeight && window.scrollMaxY) {// Firefox
		yWithScroll = window.innerHeight + window.scrollMaxY;
		// xWithScroll = window.innerWidth + window.scrollMaxX;
	} else if (document.body.scrollHeight > document.body.offsetHeight){ // all but Explorer Mac
		yWithScroll = document.body.scrollHeight;
		// xWithScroll = document.body.scrollWidth;
	} else { // works in Explorer 6 Strict, Mozilla (not FF) and Safari
		yWithScroll = document.body.offsetHeight;
		// xWithScroll = document.body.offsetWidth;
  	}
	
	return yWithScroll;
}

/* added */
function getScrollY() {
  var scrOfX = 0, scrOfY = 0;
  if( typeof( window.pageYOffset ) == 'number' ) {
    //Netscape compliant
    scrOfY = window.pageYOffset;
  } else if( document.body && ( document.body.scrollLeft || document.body.scrollTop ) ) {
    //DOM compliant
    scrOfY = document.body.scrollTop;
  } else if( document.documentElement && ( document.documentElement.scrollLeft || document.documentElement.scrollTop ) ) {
    //IE6 standards compliant mode
    scrOfY = document.documentElement.scrollTop;
  }
  
  return scrOfY;
}

function GB_show( caption, url, height, width ) {

  GB_HEIGHT = height || 400;
  GB_WIDTH = width || 400;
  if(!GB_DONE) {
    $(document.body)
      .append("<div id='GB_overlay'></div><div id='GB_window'><div id='GB_caption'></div>"
        + "<span class='close'></span></div>");
    $("#GB_window span").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>");
  
  /* added, centers window when scrolled */
  $().scroll( function()
  {
    $("#GB_window").animate( { top: getScrollY() + window.innerHeight / 2 - GB_HEIGHT / 2 + "px" }, { duration: 200, queue: false } )
  });

  // $("#GB_caption").html( caption ); // * caption removed
  $("#GB_overlay").show();
  GB_position();

  /* removed animation
  if(GB_ANIMATION)
    $("#GB_window").slideDown("slow");
  else
    $("#GB_window").show();
  */
  
  $("#GB_window").show();
}

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

/* changed to center x AND y */
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",top: getScrollY() + window.innerHeight / 2 - GB_HEIGHT / 2 + "px"} );
  $("#GB_frame").css("height",GB_HEIGHT - 52 +"px");
  $("#GB_overlay").css({height:getPageHeightWithScroll()});
}
