/*
 * Borrowed from alistapart.com
 *
 * http://www.alistapart.com/articles/footers/
 *
 * Thanks guys!!
 */

function getWindowHeight() {
  var windowHeight = 0;

  if (typeof(window.innerHeight)=='number') {
    windowHeight = window.innerHeight;
  } else {
    if (document.documentElement && document.documentElement.clientHeight) {
      windowHeight = document.documentElement.clientHeight;
    } else {
      if (document.body && document.body.clientHeight) {
        windowHeight = document.body.clientHeight;
      }
    }
  }

  return windowHeight;
}

function setFooter() {
  if (document.getElementById) {
    var windowHeight = getWindowHeight();

    if (windowHeight > 0) {
      var contentHeight = document.getElementById('container').offsetHeight;
      var footerElement = document.getElementById('footer');
      var footerHeight  = footerElement.offsetHeight;

      if (windowHeight-(contentHeight+footerHeight) >= 0) {
        footerElement.style.position = 'absolute';
        footerElement.style.top      = (windowHeight - footerHeight) + 'px';
      } else {
        footerElement.style.position='static';
      }
    }
  }
}

window.onload = function() {
  setFooter();
}

window.onresize = function() {
  setFooter();
}


  // this function is need to work around 
  // a bug in IE related to element attributes
  function hasClass(obj) {
     var result = false;
     if (obj.getAttributeNode("class") != null) {
         result = obj.getAttributeNode("class").value;
     }
     return result;
  }   

 function stripe(id) {

    // the flag we'll use to keep track of 
    // whether the current row is odd or even
    var even = false;
  
    // if arguments are provided to specify the colours
    // of the even & odd rows, then use the them;
    // otherwise use the following defaults:
    var evenColor = arguments[1] ? arguments[1] : "#adbcde";
    var oddColor = arguments[2] ? arguments[2] : "#fff";
  
    // obtain a reference to the desired table
    // if no such table exists, abort
    var table = document.getElementById(id);
    if (! table) { return; }
    
    // by definition, tables can have more than one tbody
    // element, so we'll have to get the list of child
    // &lt;tbody&gt;s 
    var tbodies = table.getElementsByTagName("tbody");

    // and iterate through them...
    for (var h = 0; h < tbodies.length; h++) {
    
     // find all the &lt;tr&gt; elements... 
      var trs = tbodies[h].getElementsByTagName("tr");
      
      // ... and iterate through them
      for (var i = 0; i < trs.length; i++) {

	    // avoid rows that have a class attribute
        // or backgroundColor style
	    //if (!hasClass(trs[i]) && ! trs[i].style.backgroundColor) {
 		if (! trs[i].style.backgroundColor) {
 
         // get all the cells in this row...
          var tds = trs[i].getElementsByTagName("td");
        
          // and iterate through them...
          for (var j = 0; j < tds.length; j++) {
        
            var mytd = tds[j];

            // avoid cells that have a class attribute
            // or backgroundColor style
	        //if (! hasClass(mytd) && ! mytd.style.backgroundColor) {
			if (! mytd.style.backgroundColor) {
        
		      mytd.style.backgroundColor = even ? evenColor : oddColor;
              
            }
          }
        }
        // flip from odd to even, or vice-versa
        even =  ! even;
      }
    }
  }


function toggleDisplay(id) {
  if (toggleDisplay.arguments.length > 1) {
    if (!document.ZNcurrentFull) {
      document.ZNcurrentFull = new Array();
    }

    if (!document.ZNcurrentFull[toggleDisplay.arguments[1]]) {
      document.ZNcurrentFull[toggleDisplay.arguments[1]] = new Object();
    }

    currentList = document.ZNcurrentFull[toggleDisplay.arguments[1]];
  } else {
    if (!document.ZNcurrentFull) {
      document.ZNcurrentFull = new Object();
    }

    currentList = document.ZNcurrentFull;
  }

  if (currentList.value == id) {
    document.getElementById(id + '_full').style.display = 'none';
    document.getElementById(id + '_brief').style.display = 'block';
    currentList.value = "";

  } else {
    if (currentList.value) {
      document.getElementById(currentList.value + '_full').style.display = 'none';
      document.getElementById(currentList.value + '_brief').style.display = 'block';
    }

    document.getElementById(id + '_brief').style.display = 'none';
    document.getElementById(id + '_full').style.display = 'block';
    currentList.value = id;
  }
}

function popUp(url,name,width,height,options) {
  width  = parseInt(width);
  height = parseInt(height);

  settings = "height=" + height + ",";
  settings += ",width=" + width + ",";

  if (options.indexOf("toolbar") != -1)
    settings += "toolbar=yes,";
  else
    settings += "toolbar=no,";

  if (options.indexOf("status") != -1)
    settings += "status=yes,";
  else
    settings += "status=no,";

  if (options.indexOf("location") != -1)
    settings += "location=yes,";
  else
    settings += "location=no,";

  if (options.indexOf("directories") != -1)
    settings += "directories=yes,";
  else
    settings += "directories=no,";

  if (options.indexOf("menubar") != -1)
    settings += "menubar=yes,";
  else
    settings += "menubar=no,";

  if (options.indexOf("scrollbars") != -1)
    settings += "scrollbars=yes,";
  else
    settings += "scrollbars=no,";

  if (options.indexOf("resizable") != -1)
    settings += "resizable=yes,";
  else
    settings += "resizable=no,";

  var nnn=window.open(url,name,settings);

}

function rollOver(id) {
  document.getElementById(id).src = "/images/b_" + id + "_over.gif";
}
function rollOut(id) {
  document.getElementById(id).src = "/images/b_" + id + ".gif";
}


