//=====================================================


function infoPopup(u,t)
{
  document.getElementById('infopopuptitle').innerHTML = t+'<input type="image" title="Close" src="/img/popupclose.gif" onClick="closeInfoPopup();"/>';
  document.getElementById('infopopupbody').innerHTML = '<img src="/img/loading.gif" alt="loading..."/>';
  makeHttpRequest('/lib/popup.php?a='+u,'infopopupbody');
  popupDialog('infopopup',true);
  return false;
}

function closeInfoPopup()
{
  popupDialog('infopopup',false);
}


//=====================================================


function fixedPosition()
{
  var r = true;
  var agent   = navigator.userAgent.toLowerCase();
  if((agent.indexOf("msie 5")!=-1)||(agent.indexOf("msie 6")!=-1))
    r = false;
  return r;
}


//=====================================================


function popupDialog(o,d)
{
  // o - Object to display.
  // d - Display = true, Hide = false

  var obj = document.getElementById(o);
  if(d)
  {    
    var ch = document.documentElement.clientHeight ? document.documentElement.clientHeight : document.body.clientHeight;
    var cw = document.documentElement.clientWidth ? document.documentElement.clientWidth : document.body.clientWidth;
    var sl = document.documentElement.scrollLeft ? document.documentElement.scrollLeft : document.body.scrollLeft;
    var st = document.documentElement.scrollTop ? document.documentElement.scrollTop : document.body.scrollTop;
    if(fixedPosition())
    {
      sl = 0;
      st = 0;
    }

    var ypos = (parseInt(st)+150)+'px';
    
    if(parseInt(ch) < 500)
      ypos = st+'px';
    obj.style.top = ypos;    
    obj.style.left = (((parseInt(cw)-500)/2)+parseInt(sl))+'px';
    greyout(true);
    obj.style.display = 'block';
  }
  else
  {
    greyout(false);
    obj.style.display = 'none';
  }
  
}


//=====================================================


function greyout(d,z)
{
  var obj = document.getElementById('greyout');

  if(!obj)
  {
    appendElement(document.body,'div','greyout');
    obj = document.getElementById('greyout');
    obj.style.position = 'absolute';
    obj.style.top = '0px';
    obj.style.left = '0px';
    obj.style.background = '#111';
    obj.style.opacity = '.5';
    obj.style.filter = 'alpha(opacity=50)';
  }
  if(d)
  {
    var ch = document.documentElement.clientHeight ? document.documentElement.clientHeight : document.body.clientHeight;
    var cw = document.documentElement.clientWidth ? document.documentElement.clientWidth : document.body.clientWidth;
    var sh = document.documentElement.scrollHeight ? document.documentElement.scrollHeight : document.body.scrollHeight;
    if(document.body.scrollHeight) sh = Math.max(sh,document.body.scrollHeight)
    var sw = document.documentElement.scrollWidth ? document.documentElement.scrollWidth : document.body.scrollWidth;
    if(document.body.scrollWidth) sh = Math.max(sh,document.body.scrollWidth)
    var wh = window.innerHeight ? window.innerHeight : document.body.offsetHeight;
    if(!z){ z = 50 }
    obj.style.zIndex = z;
    obj.style.height = Math.max(wh,Math.max(sh,ch))+'px';
    obj.style.width  = Math.max(sw,cw)+'px';
    obj.style.display = 'block';
    addEvent(window,'resize',greyoutResize);
  }
  else
  {
    obj.style.display = 'none';   
    removeEvent(window,'resize',greyoutResize);
  }
}

function greyoutResize()
{
  var wh = window.innerHeight ? window.innerHeight : document.body.offsetHeight;
  var ch = document.documentElement.clientHeight ? document.documentElement.clientHeight : document.body.clientHeight;
  var cw = document.documentElement.clientWidth ? document.documentElement.clientWidth : document.body.clientWidth;
  var sh = document.documentElement.scrollHeight ? document.documentElement.scrollHeight : document.body.scrollHeight;
  var sw = document.documentElement.scrollWidth ? document.documentElement.scrollWidth : document.body.scrollWidth;
  var obj = document.getElementById('greyout');
  obj.style.height = ch+'px';
  obj.style.width  = cw+'px';
  obj.style.height = Math.max(wh,Math.max(sh,ch))+'px';
  obj.style.width  = Math.max(sw,cw)+'px';
}


//=====================================================


function makeHttpRequest(url,obj)
{
  var httpRequest;
  try 
  {
    httpRequest = new XMLHttpRequest();  // Mozilla, Safari, etc
  }
  catch(trymicrosoft)
  {
    try
    {
      httpRequest = new ActiveXObject("Msxml2.XMLHTTP");
    }
    catch(oldermicrosoft)
    {
      try
      {
        httpRequest = new ActiveXObject("Microsoft.XMLHTTP");
      }
      catch(failed)
      {
        httpRequest = false;
      }
    }
  }
  if(!httpRequest)
  {
    alert('Your browser does not support Ajax.');
    return false;
  }

  httpRequest.onreadystatechange = function()
  {
    if(httpRequest.readyState == 4)
      if(httpRequest.status == 200)
        document.getElementById(obj).innerHTML = httpRequest.responseText;
      else
        document.getElementById(obj).innerHTML = 'Request Error: '+httpRequest.status;
  }
  httpRequest.open('GET',url,true);
  httpRequest.send(null);
 
}


//=====================================================


function addEvent(obj ,evt, fnc)
{
  if (obj.addEventListener)
    obj.addEventListener(evt,fnc,false);
  else if (obj.attachEvent)
    obj.attachEvent('on'+evt,fnc);
  else
    return false;
  return true;
}

function removeEvent(obj ,evt, fnc)
{
  if (obj.removeEventListener)
    obj.removeEventListener(evt,fnc,false);
  else if (obj.detachEvent)
    obj.detachEvent('on'+evt,fnc);
  else
    return false;
  return true;
}


//=====================================================


function appendElement(node,tag,id,htm)
{
  var ne = document.createElement(tag);
  if(id) ne.id = id;
  if(htm) ne.innerHTML = htm;
  node.appendChild(ne);
}


//=====================================================
// End.
