var popup_dragging = false;
// var popup_target;
var popup_mouseX;
var popup_mouseY;
var popup_mouseposX;
var popup_mouseposY;
var popup_oldfunction;
var popupwindow = null;
// var popup_target = null;
var id = 'fotop_popup_box';
var drag_id = 'popup_drag';
var exit_id = 'popup_exit';
// var newurl = null;
// var element = document.getElementById(popup_target);
var ie = navigator.appName == "Microsoft Internet Explorer";
var xscroll = null;
var yscroll = null;

var pophtml = $('\
 <div id="fotop_popup_box" style="display:none;"> \
     <div class="popup" id="popup"> \
       <table> \
         <tbody> \
           <tr> \
             <td class="tl"/><td class="b"/><td class="tr"/> \
           </tr> \
           <tr> \
             <td class="b"/> \
             <td class="popup_body"> \
	       <table><tr><td class="title_bar"> \
		</td></tr><tr><td> \
               <div class="content" id="popup_cnt"> \
               </div> \
	       </td></tr></table> \
             </td> \
             <td class="b"/> \
           </tr> \
           <tr> \
             <td class="bl"/><td class="b"/><td class="br"/> \
           </tr> \
          </tbody> \
        </table> \
      </div> \
    </div>');

function popup_mousedown(e)
{

  if ( ie && window.event.button != 1) return;
  if (!ie && e.button            != 0) return;

  popup_dragging = false;
  popup_target   = this['target'];
  popup_mouseX   = ie ? window.event.clientX : e.clientX;
  popup_mouseY   = ie ? window.event.clientY : e.clientY;

  if (ie)
       popup_oldfunction      = document.onselectstart;
  else popup_oldfunction      = document.onmousedown;

  if (ie)
       document.onselectstart = new Function("return false;");
  else document.onmousedown   = new Function("return false;");
}

// ----- popup_mousemove -------------------------------------------------------

function popup_mousemove(e)
{
  if (!popup_dragging) return;

  var mouseX = ie ? window.event.clientX : e.clientX;
  var mouseY = ie ? window.event.clientY : e.clientY;

  element.style.left = (element.offsetLeft+mouseX-popup_mouseX)+'px';
  element.style.top  = (element.offsetTop +mouseY-popup_mouseY)+'px';

  popup_mouseX = ie ? window.event.clientX : e.clientX;
  popup_mouseY = ie ? window.event.clientY : e.clientY;
}

// ----- popup_mouseup ---------------------------------------------------------

function popup_mouseup(e)
{
  if (!popup_dragging) return;
  popup_dragging = false;

  if (ie)
       document.onselectstart = popup_oldfunction;
  else document.onmousedown   = popup_oldfunction;
}

// ----- popup_exit ------------------------------------------------------------

function popup_exit(e)
{
// document.getElementById("disable").style.visibility="hidden";
  $(".title_bar").empty();
  popupwindow = null;
  popup_target = null;
  cnt_element.removeChild(boxdiv);
//  popup_mouseup(e);
//  element.style.visibility = 'hidden';
//  element.style.display    = 'none';
  $(element).hide();
  $("#popup_cnt").width("1px");
  $("#popup_cnt").height("1px");
}

function popup_exit_refresh(e, newurl)
{
// document.getElementById("disable").style.visibility="hidden";
  popupwindow = null;
//  popup_target = null;
  cnt_element.removeChild(boxdiv);
  popup_mouseup(e);
  element.style.visibility = 'hidden';
  element.style.display    = 'none';
  window.location.reload();
}

// ----- popup_show ------------------------------------------------------------
function popup_show(url, position)
{
  if (popupwindow != null)
  return false;
  xscroll = getPageScroll()[0];
  yscroll = getPageScroll()[1];
  $('body').append(pophtml);

  element = document.getElementById(id);
//  drag_element = document.getElementById(drag_id);
//  drag_element.style.width = drag_w;
//  drag_element.innerHTML = title;
//  exit_element = document.getElementById(exit_id);
  cnt_element = document.getElementById('popup_cnt');
//  cnt_element.style.width = cnt_w;
//  cnt_element.style.width = "600px";
//  cnt_element.style.height = cnt_h;
//  cnt_element.style.height = "600px";

   boxdiv = document.createElement('div');
   popupwindow = url;
   boxdiv.setAttribute('id', url);
   cnt_element.appendChild(boxdiv);
   var contents = document.createElement('iframe');
   $(contents).load(function() 
     {

	var nw = this.contentWindow.document.body.scrollWidth;
	var nh = this.contentWindow.document.body.scrollHeight;
	if (nw > 700) {
	  nw = 700;
	}
	if (nh > 500) {
	  nh = 500;
	}
	nw = nw + 20 + 'px';
	nh = nh + 20 + 'px';
	$("#popup_cnt").width(nw);
	$("#popup_cnt").height(nh);
	center();
     }
   );
   contents.overflowX = 'hidden';
   contents.overflowY = 'scroll';
   contents.width = '100%';
   contents.height = '100%';
   contents.frameBorder = '0';
   boxdiv.appendChild(contents);
   if (contents.contentWindow)
     contents.contentWindow.document.location.replace(url);
   else
     contents.src = url;

  element.style.position   = "absolute";

  element.style.left = '-100000px';
  element.style.top  = yscroll + 50 + 'px';

  $(element).show();

  $(".title_bar").append('<a href="#" style="float:right" onclick="popup_exit();return false">x&nbsp&nbsp</a>');

  if (position == "screen-corner")
  {
    element.style.left = (document.body.scrollLeft+x)+'px';
    element.style.top  = (document.body.scrollTop +y)+'px';
  }

  if (position == "mouse-left")
  {
    element.style.left = (document.documentElement.scrollLeft+popup_mouseposX-250)+'px';
    element.style.top  = (document.documentElement.scrollTop +popup_mouseposY+y)+'px';
  }

  if (position == "mouse-corner")
  {
    element.style.left = (document.documentElement.scrollLeft+popup_mouseposX+x)+'px';
    element.style.top  = (document.documentElement.scrollTop +popup_mouseposY+y)+'px';
  }

  if (position == "mouse-center")
  {
    element.style.left = (document.documentElement.scrollLeft+popup_mouseposX-element.clientWidth /2)+'px';
    element.style.top  = (document.documentElement.scrollTop +popup_mouseposY-element.clientHeight/2)+'px';
    element.style.display    = "block";
  }

  if (position == "element-right" || position == "element-bottom")
  {
    var position_element = document.getElementById(position_id);

    for (var p = position_element; p; p = p.offsetParent)
      if (p.style.position != 'absolute')
      {
        x += p.offsetLeft;
        y += p.offsetTop ;
      }

    if (position == "element-right" ) x += position_element.clientWidth;
    if (position == "element-bottom") y += position_element.clientHeight;

    element.style.left = x+'px';
    element.style.top  = y+'px';
  }

//  drag_element['target']   = id;
//  popup_target = id;
//  drag_element.onmousedown = popup_mousedown;
//  exit_element.onclick     = popup_exit;

  return false;
}

// ----- popup_mousepos --------------------------------------------------------

function popup_mousepos(e)
{
  popup_mouseposX = ie ? window.event.clientX : e.clientX;
  popup_mouseposY = ie ? window.event.clientY : e.clientY;
}

// ----- Attach Events ---------------------------------------------------------
/*
if (navigator.appName == "Microsoft Internet Explorer")
     document.attachEvent('onmousedown', popup_mousepos);
else document.addEventListener('mousedown', popup_mousepos, false);

if (navigator.appName == "Microsoft Internet Explorer")
     document.attachEvent('onmousemove', popup_mousemove);
else document.addEventListener('mousemove', popup_mousemove, false);

if (navigator.appName == "Microsoft Internet Explorer")
     document.attachEvent('onmouseup', popup_mouseup);
else document.addEventListener('mouseup', popup_mouseup, false);
*/

function center() {
  element.style.left = xscroll + (document.body.clientWidth-element.clientWidth )/2 + 'px';
  element.style.top  = yscroll + (document.body.clientHeight-element.clientHeight)/2 + 'px';
}

  function getPageScroll() {
    var xScroll, yScroll;
    if (self.pageYOffset) {
      yScroll = self.pageYOffset;
      xScroll = self.pageXOffset;
    } else if (document.documentElement && document.documentElement.scrollTop) {    // Explorer 6 Strict
      yScroll = document.documentElement.scrollTop;
      xScroll = document.documentElement.scrollLeft;
    } else if (document.body) {// all other Explorers
      yScroll = document.body.scrollTop;
      xScroll = document.body.scrollLeft;
    }
    return new Array(xScroll,yScroll);
  };
