    /* ie bug resolved :P */
    /* get browser version */
    var ie=document.all;
    var ns6=document.getElementById&&!document.all;
    /* set global vars */
    var origHeight = new Array();
    var eventonid = new Array();
    /* functions */
    function showdiv(objname,bg)
    {
	obj = document.getElementById(objname);
	var divHeight = document.all ? obj.clientHeight :
	    (ns6 ? obj.offsetHeight : obj.document.height);
	    if (bg) divHeight = 10;
	    else
	    	divHeight = divHeight + 10;
    	    obj.style.display = 'block';
	    if (divHeight <= origHeight[objname]) {
		obj.style.height=divHeight+'px';
		t=setTimeout("showdiv('"+objname+"');",0);
	    }
	    else
	    {
		obj.style.height=origHeight[objname]+'px';
		eventonid[objname] = false;
	    }
    }
    function hidediv(objname)
    {
	obj = document.getElementById(objname);
	var divHeight = document.all ? obj.clientHeight :
	    (ns6 ? obj.offsetHeight : obj.document.height);
	    divHeight = divHeight - 10;
	    if (divHeight >= 0) {
		obj.style.height=divHeight+'px';
		t=setTimeout("hidediv('"+objname+"');",0);
	    }
	    else {
    		obj.style.display = 'none';
		eventonid[objname] = false;
	    }
    }
    /* onclick events */
    function checkclick(e)
    {
        var firedobj=ns6? e.target : event.srcElement
		if (firedobj.className == "sh-head")
		{
	    	showhide(firedobj);
		}
    }
    /* element check */
    function showhide(obj)
    {
	cont = document.getElementById(obj.id+"-cont");
	    if (cont.style.display == "")
	    {
		if (cont.className == "sh-cont")
		{
			isorig = document.all ? cont.clientHeight :
			    (ns6 ? cont.offsetHeight : cont.document.height);
	    		cont.style.display = 'block';
			divHeight = document.all ? cont.clientHeight :
			    (ns6 ? cont.offsetHeight : cont.document.height);
	    		cont.style.display = 'none';
			origHeight[cont.id] = divHeight;
	    	}
		if (cont.className == "sh-cont-hidden")
		{
			isorig = document.all ? cont.clientHeight :
			    (ns6 ? cont.offsetHeight : cont.document.height);
	    		cont.style.display = 'block';
			divHeight = document.all ? cont.clientHeight :
			    (ns6 ? cont.offsetHeight : cont.document.height);
	    		cont.style.display = 'none';
			origHeight[cont.id] = divHeight;
		    	eventonid[cont.id] = true;
		    	showdiv(cont.id,1);
			return 0;
	    	}
	    }
	    if (cont.style.display == "none")
	    {
		if (!eventonid[cont.id]) {
		    eventonid[cont.id] = true;
		    showdiv(cont.id);
		}
	    }
	    else
	    {
		if (!eventonid[cont.id]) {
		    eventonid[cont.id] = true;
		    divHeight = document.all ? cont.clientHeight :
			(ns6 ? cont.offsetHeight : cont.document.height);
	    	    origHeight[cont.id] = divHeight;
		    hidediv(cont.id);
		}
	    }
    }
    /* register events */
    document.onmousedown=checkclick;