        function MM_findObj(n, d) { //v4.01
          var p,i,x;  if(!d) d=document; if((p=n.indexOf("?"))>0&&parent.frames.length) {
            d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);}
          if(!(x=d[n])&&d.all) x=d.all[n]; for (i=0;!x&&i<d.forms.length;i++) x=d.forms[i][n];
          for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=MM_findObj(n,d.layers[i].document);
          if(!x && d.getElementById) x=d.getElementById(n); return x;
        }
        function MM_swapImage() { //v3.0
          var i,j=0,x,a=MM_swapImage.arguments; document.MM_sr=new Array; for(i=0;i<(a.length-2);i+=3)
           if ((x=MM_findObj(a[i]))!=null){document.MM_sr[j++]=x; if(!x.oSrc) x.oSrc=x.src; x.src=a[i+2];}
        }
        function MM_swapImgRestore() { //v3.0
          var i,x,a=document.MM_sr; for(i=0;a&&i<a.length&&(x=a[i])&&x.oSrc;i++) x.src=x.oSrc;
        }

        function MM_preloadImages() { //v3.0
         var d=document; if(d.images){ if(!d.MM_p) d.MM_p=new Array();
           var i,j=d.MM_p.length,a=MM_preloadImages.arguments; for(i=0; i<a.length; i++)
           if (a[i].indexOf("#")!=0){ d.MM_p[j]=new Image; d.MM_p[j++].src=a[i];}}
        }

	// Set the display style: STYLE='display:state'        
	function SetDisplay (id, state)
	{
		var element = document.getElementById(id);
		if (!element) return;
		element.style.display = state;
	}

        // Toggles between two object src attributes
        // Example: <IMG onClick="swapsrc(this,'images/plus.jpg', 'images/minus.jpg');"> -->
        function swapsrc (id, srcA, srcB)  { id.src = ((id.src==srcA)?srcB:srcA); }
                
        // Toggles between two innerHTML attributes
        //     Example: <IMG onClick="swapinnerHTML(this,'<I>Test message</I>', '<I>Text message</I>');"> -->
        function swapinnerHTML (id, htmA, htmB)  { id.innerHTML = ((id.innerHTML==htmA)?htmB:htmA); }
        
        // Expands or Collapses HTML Code
	// Example:     <A HREF='.' onClick='toggle(test);'>Toggle</A>
        //              <DIV ID='test' STYLE='display:none;'>HTML Code</DIV>
        function toggle (id)
        {
                if (document.getElementById) // DOM3 = IE5, NS6
                        document.getElementById(id).style.display = ((document.getElementById(id).style.display == "none")?'block':'none');
 
                else
                {
                        if (document.layers)    document.id.display = ((document.id.display == "none")?'block':'none');
                        else                    document.all.id.style.display = ((document.all.id.style.visibility == "none")?'block':'none');
                }
        }
        
        // Gets Document Element from ID
        function getElement (id)
        {   
                if (document.getElementById)    return document.getElementById(id);
                if (document.all)               return document.all[id];
                if (ns4)                        return getObjNN4(document,id);
        }
        
        // This function is from the Apple developer site (copyright allows its use in other sites).
        function getObjNN4(obj,name)
        {
                var x = obj.layers;
                var foundLayer;
                for (var i=0;i<x.length;i++)
                {
                        if (x[i].id == name)
                                foundLayer = x[i];
                        else if (x[i].layers.length)
                                var tmp = getObjNN4(x[i],name);
                        if (tmp) foundLayer = tmp;
                }
                return foundLayer;
        }

