﻿
//document.write('<script src="' + getURLRoot() + 'Includes/xLib.js" type="text/JavaScript"><\/script>');

//function getURLRoot()
//{    
//    var root = window.location.pathname.substring(1, window.location.pathname.length);
//    root = root.substring(0, root.indexOf('/'));
//    root = 'http://' + window.location.hostname + '/' + root + '/';

//    return root;    
//};

function handlePopup(btnElement, replace, open, top, left, width, height)
{   
    var elementID = btnElement.replace(replace, '_panel');  
    xEnableDrag(elementID + 'DragHandle', null, popupOnDrag, null);  
    var element = document.getElementById(elementID);       
    if (element)
    {
        if(top)
            element.style.top = top + 'px';
        if(left)
            element.style.left = left + 'px';
        if(width)
            element.style.width = width + 'px';
        if(height)
            element.style.height = height + 'px';

        SetOpacity(element, (open ? 0 : 100));
        fade((open ? 0 : 100), 20, element, 60, open);
    }    
};

function popupOnDrag(ele, mdx, mdy)
{
    var popupID = ele.parentNode.id;
    xMoveTo(popupID, xLeft(popupID) + mdx, xTop(popupID) + mdy);
};

/*

var startDragX = 0;
var startDragY = 0;
var startOffsetLeft = 0;
var startOffsetTop = 0;
var dragging = false;
var dragElement = null;

function popupMouseDown(event)
{    
    dragging = true;
    var e = event || window.event;
    var element = e.target || e.srcElement;    
    var popup = element.parentNode;
         
    startDragX = e.clientX;
    startDragY = e.clientY;
    
    startOffsetLeft = popup.offsetLeft;
    startOffsetTop = popup.offsetTop;
    
    dragElement = element;
    
    if(document.releaseCapture)
        document.releaseCapture();
    if(element.setCapture)
        element.setCapture();   
};

function popupMouseUp(event)
{
    dragging = false;
    var e = event || window.event;
    var element = e.target || e.srcElement;    
    
   if(dragElement.releaseCapture)
        dragElement.releaseCapture(); 
};

function popupMouseMove(event)
{    
    if(!dragging)
        return;        
    
    var e = event || window.event;
    var element = e.target || e.srcElement;    
   
    if(e.fromElement)
        alert(e.fromElement.id);
    if(e.toElement)
        alert(e.toElement.id);
    
    var dx = e.clientX - startDragX;
    var dy = e.clientY - startDragY;    
    
    dragElement.parentNode.style.left = (startOffsetLeft + dx) + 'px';
    dragElement.parentNode.style.top = (startOffsetTop + dy) + 'px';   
};*/

function SetOpacity(element, value)
{
      element.style.opacity = value / 100.0;
      element.style.mozopacity = value / 100.0;
      element.style.filter = 'ALPHA(opacity=' + value + ')';
};
 
// Recursive method to fade from one image to another
function fade(value, step, element, fadeSpeed, inOut)
{
      if (inOut && value == 0)
      {
        element.style.visibility = 'visible';
        element.style.display = 'block';
        element.zIndex = 500;
      }
      SetOpacity(element, value);
      if((inOut && value < 100) || (!inOut && value > 0))
      {
        var newValue = inOut ? (value + step) : (value - step);
        var delegate = function() { fade(newValue, step, element, fadeSpeed, inOut); };
        setTimeout(delegate, fadeSpeed);
      } else if (!inOut && value <= 0) 
      {
        element.style.visibility = 'hidden';
        element.style.display = 'none';
        element.zIndex = 0;
      }
};

function fireClose(element, event)
{
  var e = event || window.event
  if(e.target)  // Mozilla
  {
    var evt = document.createEvent("MouseEvents");
    evt.initMouseEvent("click", true, true, window, 0, e.screenX, e.screenY, e.clientX, e.clientY, false, false, false, false, e.button, e.relatedTarget);
          element.dispatchEvent(evt);
  }
  else  // IE
    element.fireEvent('onclick');
};