function createElement(tagName, id, className)
{
    var element = document.createElement(tagName); 
    element.id = id;
    element.className = className;
    return element;
}

function showLoading()
{
    document.getElementById("updateProgress").style.display = "inline";
}

function hideLoading()
{
    document.getElementById("updateProgress").style.display = "none";
}

function loadXML($xmlData)
{
    var doc = null;
    // code for IE
    if (window.ActiveXObject)
    {
        doc = new ActiveXObject('MSXML.DOMDocument');
        doc.async = false;
        doc.loadXML($xmlData);
    }
    // code for Mozilla, Firefox, Opera, etc.
    else
    {
        var parser = new DOMParser();
        doc = parser.parseFromString($xmlData, "text/xml");
    }

    return doc;
}

function deleteChildNodes($element)
{
    if (!$element || !$element.childNodes)
        return;

    while ($element.childNodes.length >= 1)
    {
        $element.removeChild($element.firstChild);
    }
}

function deleteChildNode(parentElement, childElement)
{
    if (!parentElement || !parentElement.childNodes)
        return;

    parentElement.removeChild(childElement);
}

function showModalDialog(id) {
	el = document.getElementById(id);
	el.style.display = "block";
}

function hideModalDialog(id) {
	el = document.getElementById(id);
	el.style.display = "none";
}



sfHover = function() 
{
  var rootMenus = document.getElementsByTagName("UL"); 
  for (i = 0; i < rootMenus.length; i++) 
  { 
    var rootMenu = rootMenus[i];
    if (rootMenu.className == "level1") 
    { 
      var subMenus = rootMenu.getElementsByTagName("LI");
      for (var j = 0; j < subMenus.length; j++) 
      {
        subMenus[j].onmouseover = function() 
        {
	      this.className += " sfhover";
		}
		subMenus[j].onmouseout = function() 
		{
		  this.className = this.className.replace(new RegExp(" sfhover\\b"), "");
		}
	  }
	}
  }
}

if (window.attachEvent) window.attachEvent("onload", sfHover);


// Show/hide drop down menu lists
function SetSelectVisibility(isVisible)
{        
  if (document.getElementsByTagName)
  {
    var visibility = (isVisible) ? "visible" : "hidden";
    var selectList = document.getElementsByTagName("select");
  
    if (selectList)
    {
      for(var i = 0; i < selectList.length; i++)
      {
        selectList[i].style.visibility = visibility;
      }
    }
  }
}

function encloseHandler(func, thisArg, parameters) 
{ 
    return function() { return func.apply(thisArg, parameters); }; 
}

function getOptionHtml(text, value, currentValue)
{
    var html = "<option";
    if (value == currentValue)
        html += " selected";
    html += " value='" + value + "'>" + text + "</option>";
    return html;
}

// array functions

/*Array.prototype.remove = function(from, to)
{
    var rest = this.slice((to || from) + 1 || this.length);
    this.length = from < 0 ? this.length + from : from;
    return this.push.apply(this, rest);
};*/
/*
Array.prototype.indexOf = function(value)
{
    for (var i = 0; i < this.length; i++)
        if (this[i] == value)
            return i;
    return -1;
}*/
