/*	dynamicCSS.js v1.0 <http://www.bobbyvandersluis.com/articles/dynamicCSS.php>
	Copyright 2005 Bobby van der Sluis
	This software is licensed under the CC-GNU LGPL <http://creativecommons.org/licenses/LGPL/2.1/>
*/

function createStyleRule(selector, declaration) {
	if (!document.getElementsByTagName || !(document.createElement || document.createElementNS)) return;
	var agt = navigator.userAgent.toLowerCase();
	var is_ie = ((agt.indexOf("msie") != -1) && (agt.indexOf("opera") == -1));
	var is_iewin = (is_ie && (agt.indexOf("win") != -1));
	var is_iemac = (is_ie && (agt.indexOf("mac") != -1));
	if (is_iemac) return; // script doesn't work properly in IE/Mac
	var head = document.getElementsByTagName("head")[0]; 
	var style = (typeof document.createElementNS != "undefined") ?  document.createElementNS("http://www.w3.org/1999/xhtml", "style") : document.createElement("style");
	if (!is_iewin) {
		var styleRule = document.createTextNode(selector + " {" + declaration + "}");
		style.appendChild(styleRule); // bugs in IE/Win
	}
	style.setAttribute("type", "text/css");
	style.setAttribute("media", "screen"); 
	head.appendChild(style);
	if (is_iewin && document.styleSheets && document.styleSheets.length > 0) {
		var lastStyle = document.styleSheets[document.styleSheets.length - 1];
		if (typeof lastStyle.addRule == "object") { // bugs in IE/Mac and Safari
			lastStyle.addRule(selector, declaration);
		}
	}
}

/*	DOM manipulation functions;
	Can only be used after a page has fully loaded
*/

function setElementStyleById(id, propertyName, propertyValue) {
	if (!document.getElementById) return;
	var el = document.getElementById(id);
	if (el) el.style[propertyName] = propertyValue;
}

function setElementStyle(element, propertyName, propertyValue) {
	if (!document.getElementsByTagName) return;
	var el = document.getElementsByTagName(element);
	for (var i = 0; i < el.length; i++) {
		el[i].style[propertyName] = propertyValue;
	}
}

function setElementStyleByClassName(cl, propertyName, propertyValue) {
	if (!document.getElementsByTagName) return;
	var re = new RegExp("(^| )" + cl + "( |$)");
	var el = document.all ? document.all : document.getElementsByTagName("body")[0].getElementsByTagName("*"); // fix for IE5.x
	for (var i = 0; i < el.length; i++) {
		if (el[i].className && el[i].className.match(re)) {
			el[i].style[propertyName] = propertyValue;
		}
	}
}

/* 
  Code largely by Gertjan Klein, except that his version works
  in NS4: http://www.gklein.org/tests/hide.html
*/
function Show(What, CheckURL) 
{
   setElementStyle("div", "display", "block");
   
   var a, i;

   if (CheckURL) {
      i = document.URL.indexOf("#");
      if(i != -1) {
         Show(document.URL.substring(i+1,document.URL.length));
         return;
      }
   }
   if (!document.getElementsByTagName) 
      return;
   a = document.body.getElementsByTagName("div");
   if (a.length == 0) 
      return;
   if (typeof a[0].style != 'object') 
      return;
   if (typeof a[0].style.display == 'undefined') 
      return;
   for (i = 0; i < a.length; i++) {
      if (a[i].className != "section") 
         continue;
      if (a[i].id != What) 
         a[i].style.display = "none";
      else 
         a[i].style.display = "block";	 
  }
  return true;
}

function toggle_visibility(id) 
    {
       var e = document.getElementById(id);
       if(e.style.display == 'block') {
          e.style.display = 'none';
	      MM_swapImgRestore();
	   }
       else
	      Show(id);
    }

function Show2(What, CheckURL) 
{
   setElementStyle("span", "display", "block");
   
   var a, i;

   if (CheckURL) {
      i = document.URL.indexOf("#");
      if(i != -1) {
         Show(document.URL.substring(i+1,document.URL.length));
         return;
      }
   }
   if (!document.getElementsByTagName) 
      return;
   a = document.body.getElementsByTagName("div");
   if (a.length == 0) 
      return;
   if (typeof a[0].style != 'object') 
      return;
   if (typeof a[0].style.display == 'undefined') 
      return;
   for (i = 0; i < a.length; i++) {
      if (a[i].className != "section2") 
         continue;
      if (a[i].id != What) 
         a[i].style.display = "none";
      else 
         a[i].style.display = "block";
  }
  return true;
}