var editableDiv = null;
var popupType = null;
var popupElement = null;

function saveForm()
{
   document.getElementById('btnSaveForm').onclick();
}

XMLHttpFactories = [
   function() { return new XMLHttpRequest(); },
   function() { return new ActiveXObject("Msxml2.XMLHTTP"); },
   function() { return new ActiveXObject("Microsoft.XMLHTTP"); }
];

AjaxRequest = function()
{
   for (var i = 0; i < XMLHttpFactories.length; i++)
   {
      try
      {
         var factory = XMLHttpFactories[i];
         var request = factory();
         if (request != null)
         {
            return request;
         }
      }
      catch(e)
      {
         continue;
      }
   }
}

function loadPopup(url, title, parameters, width, height)
{

   popupType = 'ajax';

   var popupWidth = 650;
   var popupHeight = 450;
   if (width)
   {
      popupWidth = width;
   }
   if (height)
   {
      popupHeight = height;
   }

   var documentElement = document.documentElement || document.body;
   var scrollWidth = Math.max(documentElement.scrollWidth, documentElement.clientWidth);
   var scrollHeight = Math.max(documentElement.scrollHeight, documentElement.clientHeight);
   var innerWidth = window.innerWidth || (documentElement.offsetWidth - 2 * (documentElement.clientLeft || 0));
   var innerHeight = window.innerHeight || (documentElement.offsetHeight - 2 * (documentElement.clientTop || 0));
   var availableWidth = documentElement.clientWidth;
   var availableHeight = documentElement.clientHeight;
   var offsetLeft = window.pageXOffset || documentElement.scrollLeft;
   var offsetTop = window.pageYOffset || documentElement.scrollTop;

   document.getElementById('hdnPopupUrl').value = url;

   document.getElementById('divShading').style.width = scrollWidth + 'px';
   document.getElementById('divShading').style.height = scrollHeight + 'px';
   document.getElementById('divPopup').style.width = popupWidth + 'px';
   document.getElementById('divPopup').style.height = popupHeight + 'px';
   document.getElementById('divPopup').style.left = Math.round(offsetLeft + ((availableWidth - popupWidth) / 2)) + 'px';
   document.getElementById('divPopup').style.top = Math.round(offsetTop + ((availableHeight - popupHeight) / 2)) + 'px';
   document.getElementById('spnPopupHeaderLeft').innerHTML = title;
   document.getElementById('divPopupLoading').style.display = 'inline';
//   document.getElementById('divPopupContents').innerHTML = '';
   document.getElementById('divShading').style.display = 'block';
   document.getElementById('divPopup').style.display = 'block';
   document.getElementById('divPopupLoading').style.width = document.getElementById('divPopup').style.width;
   document.getElementById('divPopupLoading').style.height = (document.getElementById('divPopup').clientHeight - document.getElementById('divPopupHeader').clientHeight) + 'px';
   document.getElementById('divPopupContents').style.width = document.getElementById('divPopup').style.width;
   document.getElementById('divPopupContents').style.height = (document.getElementById('divPopup').clientHeight - document.getElementById('divPopupHeader').offsetHeight) + 'px';

//   if (contentElement.innerHTML == '')
//   {
      var request = new AjaxRequest();
      request.onreadystatechange = function()
      {
         if ((request.readyState == 4) && (request.status == 200))
         {
            document.getElementById('divPopupLoading').style.display = 'none';
            document.getElementById('divPopupContents').innerHTML = request.responseText;
         }
      }
      if (parameters)
      {
         request.open('POST', url);
         request.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
         request.setRequestHeader("Content-length", parameters.length);
         request.send(parameters);
      }
      else
      {
         request.open('GET', url);
         request.send(null);
      }
//   }
//   else
//   {
//      document.getElementById('divPopupLoading').style.display = 'none';
//   }

}

function loadPopup2(element, title)
{

   popupType = 'element';
   popupElement = document.getElementById(element);

   var popupWidth = 650;
   var popupHeight = 450;

   var documentElement = document.documentElement || document.body;
   var scrollWidth = Math.max(documentElement.scrollWidth, documentElement.clientWidth);
   var scrollHeight = Math.max(documentElement.scrollHeight, documentElement.clientHeight);
   var innerWidth = window.innerWidth || (documentElement.offsetWidth - 2 * (documentElement.clientLeft || 0));
   var innerHeight = window.innerHeight || (documentElement.offsetHeight - 2 * (documentElement.clientTop || 0));
   var availableWidth = documentElement.clientWidth;
   var availableHeight = documentElement.clientHeight;
   var offsetLeft = window.pageXOffset || documentElement.scrollLeft;
   var offsetTop = window.pageYOffset || documentElement.scrollTop;

   document.getElementById('divShading').style.width = scrollWidth + 'px';
   document.getElementById('divShading').style.height = scrollHeight + 'px';
   document.getElementById('divPopup').style.width = popupWidth + 'px';
   document.getElementById('divPopup').style.height = popupHeight + 'px';
   document.getElementById('divPopup').style.left = Math.round(offsetLeft + ((availableWidth - popupWidth) / 2)) + 'px';
   document.getElementById('divPopup').style.top = Math.round(offsetTop + ((availableHeight - popupHeight) / 2)) + 'px';
   document.getElementById('spnPopupHeaderLeft').innerHTML = title;
   //document.getElementById('divPopupLoading').style.display = 'inline';
   document.getElementById('divShading').style.display = 'block';
   document.getElementById('divPopup').style.display = 'block';
   //document.getElementById('divPopupLoading').style.width = document.getElementById('divPopup').style.width;
   //document.getElementById('divPopupLoading').style.height = (document.getElementById('divPopup').clientHeight - document.getElementById('divPopupHeader').clientHeight) + 'px';
   document.getElementById('divPopupContents').style.width = document.getElementById('divPopup').style.width;
   document.getElementById('divPopupContents').style.height = (document.getElementById('divPopup').clientHeight - document.getElementById('divPopupHeader').offsetHeight) + 'px';

   hideAllValidators();
   document.getElementById('divPopupLoading').style.display = 'none';
   //document.getElementById('divPopupContents').innerHTML = '';
   document.getElementById('divPopupContents').appendChild(popupElement);
   popupElement.style.display = '';

}

function loadPopup3(url, title, parameters, width, height)
{


   var popupWidth = 650;
   var popupHeight = 450;
   if (width)
   {
      popupWidth = width;
   }
   if (height)
   {
      popupHeight = height;
   }

   var documentElement = document.documentElement || document.body;
   var scrollWidth = Math.max(documentElement.scrollWidth, documentElement.clientWidth);
   var scrollHeight = Math.max(documentElement.scrollHeight, documentElement.clientHeight);
   var innerWidth = window.innerWidth || (documentElement.offsetWidth - 2 * (documentElement.clientLeft || 0));
   var innerHeight = window.innerHeight || (documentElement.offsetHeight - 2 * (documentElement.clientTop || 0));
   var availableWidth = documentElement.clientWidth;
   var availableHeight = documentElement.clientHeight;
   var offsetLeft = window.pageXOffset || documentElement.scrollLeft;
   var offsetTop = window.pageYOffset || documentElement.scrollTop;

   document.getElementById('divShading').style.width = scrollWidth + 'px';
   document.getElementById('divShading').style.height = scrollHeight + 'px';
   document.getElementById('divPopup').style.width = popupWidth + 'px';
   document.getElementById('divPopup').style.height = popupHeight + 'px';
   document.getElementById('divPopup').style.left = Math.round(offsetLeft + ((availableWidth - popupWidth) / 2)) + 'px';
   document.getElementById('divPopup').style.top = Math.round(offsetTop + ((availableHeight - popupHeight) / 2)) + 'px';
   document.getElementById('spnPopupHeaderLeft').innerHTML = title;
   document.getElementById('divPopupLoading').style.display = 'inline';
   document.getElementById('divShading').style.display = 'block';
   document.getElementById('divPopup').style.display = 'block';
   document.getElementById('divPopupLoading').style.width = document.getElementById('divPopup').style.width;
   document.getElementById('divPopupLoading').style.height = (document.getElementById('divPopup').clientHeight - document.getElementById('divPopupHeader').clientHeight) + 'px';
   document.getElementById('ifrPopupContents').style.width = document.getElementById('divPopup').style.width;
   document.getElementById('ifrPopupContents').style.height = (document.getElementById('divPopup').clientHeight - document.getElementById('divPopupHeader').offsetHeight) + 'px';

   // Set the contents of the popup.
   document.getElementById('divPopupLoading').style.display = 'none';
   document.getElementById('ifrPopupContents').src = url;

   // Store the url and popup type.
   document.getElementById('hdnPopupUrl').value = url;
   popupType = 'iframe';

}

function reloadPopup()
{

   if (popupType == 'ajax')
   {
      loadPopup(document.getElementById('hdnPopupUrl').value, document.getElementById('spnPopupHeaderLeft').innerHTML);
   }
   else if (popupType == 'element')
   {
      loadPopup2(popupElement, document.getElementById('spnPopupHeaderLeft').innerHTML);
   }

}

function closePopup()
{

   if (popupType == 'ajax')
   {
      document.getElementById('divShading').style.display = 'none';
      document.getElementById('divPopup').style.display = 'none';
      document.getElementById('divPopupContents').innerHTML = '';
   }
   else if (popupType == 'element')
   {
      document.getElementById('divShading').style.display = 'none';
      document.getElementById('divPopup').style.display = 'none';
      popupElement.style.display = 'none';
      document.body.appendChild(popupElement);
   }
   else //if (popupType == 'iframe')
   {
      parent.document.getElementById('divShading').style.display = 'none';
      parent.document.getElementById('divPopup').style.display = 'none';
      parent.document.getElementById('ifrPopupContents').src = '';
   }

}

function expandMenuNode(ul)
{

   if (document.getElementById(ul).style.display == 'none')
   {
      var uls = document.getElementById('menu').getElementsByTagName('ul');
      for (var i = 1; i < uls.length; i++)
      {
         if (uls[i].style.display != 'none')
         {
            uls[i].style.display = 'none';
            uls[i].previousSibling.previousSibling.previousSibling.className = 'blue_arrow'
         }
      }
      document.getElementById(ul).style.display = 'list-item'
      document.getElementById(ul).previousSibling.previousSibling.previousSibling.className = 'green_arrow'
   }
   else
   {
      document.getElementById(ul).style.display = 'none'
      document.getElementById(ul).previousSibling.previousSibling.previousSibling.className = 'blue_arrow'
   }

}

function getRadioValue(element)
{

   var value = '';
   for (var i = 0; i < element.length; i++)
   {
      if (element[i].checked)
      {
         value = element[i].value;
         break;
      }
   }
   return value;

}

function hideAllValidators()
{
   var elements = document.getElementsByTagName('span');
   for (var i = 0; i < elements.length; i++)
   {
      if ((elements[i].className == 'message') || (elements[i].className == 'mandatory'))
      {
         elements[i].style.display = 'none';
      }
   }
}

function MM_openBrWindow(theURL, winName, features)
{

   window.open(theURL, winName, features);

}

// MW 20071124 Test Safari
var nAgt = navigator.userAgent;
var nameOffset = 0;
var verOffset = 0;
var browserName = '';
nameOffset = nAgt.lastIndexOf(' ') + 1;
verOffset = nAgt.lastIndexOf('/');
browserName = nAgt.substring(nameOffset, verOffset);
function insertImage()
{
   if (browserName == 'Safari')
   {
      document.write('<img src="images/computers.png" alt="" style="vertical-align: bottom; width: 260px; height: 100px;" />');
   }
   else
   {
      document.write('<img src="images/computers.jpg" alt="" style="vertical-align: bottom; width: 260px; height: 100px;" />');
   }
}

