NS4 = (document.layers) ? 1 : 0;
IE4 = (document.all) ? 1 : 0;
BID = (document.getElementById && document.getElementsByTagName) ? 1 : 0;
okver = (NS4 || IE4 || BID) ? 1 : 0;

var bell;
var belr;

if (!IE4 && BID) {
	bell="document.getElementById(\"";
	belr="\")";
} else {
	bell="document.all.";
	belr="";
}

if (okver) {
	with (document) {
		write("<style type='text/css'>\n");
		if (NS4) {
			write(".parent { position:absolute; visibility:visible }\n");
			write(".child { position:absolute; visibility:visible }\n");
			write(".regular { position:absolute; visibility:visible }\n");
		} else {
			write(".child { display:none }\n")
		}
	write("</style>");
	}
}

isExpanded = false;

function showallparent() {
	if (NS4) {
		for (i=0; i<document.layers.length; i++) {
			whichEl = document.layers[i];
			if (whichEl.id.indexOf("Parent") != -1) whichEl.visibility = "show";
		}
		arrange();	
	} else {
		(!IE4 && BID) ? aColl = document.getElementsByTagName("DIV") : aColl = document.all.tags("DIV");
		for (i=0; i<aColl.length; i++) {
			if (aColl[i].id.indexOf("Parent") != -1) aColl[i].style.display = "block";
		}
	}
}

function arrange() {
    nextY = document.layers[firstInd].pageY + document.layers[firstInd].document.height;
    for (i=firstInd+1; i<document.layers.length; i++) {
        whichEl = document.layers[i];
        if (whichEl.visibility != "hide") {
            whichEl.pageY = nextY;
            nextY += whichEl.document.height;
        }
    }
}

function initIt(){
    if (!okver) return;
    if (NS4) {
        for (i=0; i<document.layers.length; i++) {
            whichEl = document.layers[i];
            if (whichEl.id.indexOf("Child") != -1) whichEl.visibility = "hide";
        }
        arrange();
    } else {
		(!IE4 && BID) ? divColl = document.getElementsByTagName("DIV") : divColl = document.all.tags("DIV");
		for (i=0; i<divColl.length; i++) {
			if (divColl[i].className == "child") divColl[i].style.display = "none";
		}
	}
}

function expandIt(el,collall,step,fieldstep,hidehref,scroll) {
	if (!okver) return;
	if (scroll) window.scrollTo(0,0);
	if (collall) { collapseAll(); }
	if (NS4) {
		for (i=firstInd; i<document.layers.length; i++) {
			whichEl = document.layers[i];
			if (whichEl.id.indexOf(el+"Child") != -1) {
				if (whichEl.visibility == "hide") {
					whichEl.visibility = "show";
				} else {
					whichEl.visibility = "hide";
				}
        			arrange();
        		}	
    		}
    	} else {
		(!IE4 && BID) ? divColl = document.getElementsByTagName("DIV") : divColl = document.all.tags("DIV");
		for (i=0; i<divColl.length; i++) {
			if (divColl[i].className == "child") {
				if (divColl[i].id.indexOf(el+"Child") != -1) {
        					if (divColl[i].style.display == "none") {
            						divColl[i].style.display = "block";  
        					} else {
            						divColl[i].style.display = "none";
					}
				}
			}	
		}
	}
	if (hidehref) {
		showallparent();
		if (NS4) {
			for (i=firstInd; i<document.layers.length; i++) {
				whichEl = document.layers[i];
				if (whichEl.id.indexOf(el+"Parent") != -1) {
				whichEl.visibility = "hide";
			}
		}
			arrange();
		} else {
			(!IE4 && BID) ? divColl = document.getElementsByTagName("DIV") : divColl = document.all.tags("DIV");
			for (i=0; i<divColl.length; i++) {
				if (divColl[i].className == "parent") {
					if (divColl[i].id.indexOf(el+"Parent") != -1) {
            						divColl[i].style.display = "none";
					}
				}
			}
		}
	}
	if (step) {
		eval(bell+fieldstep+belr+".value=\""+step+"\";");
	}
}

function collapseIt(el) {
	if (!okver) return;
	if (NS4) {
		for (i=firstInd; i<document.layers.length; i++) {
			whichEl = document.layers[i];
			whichEl.visibility = "hide";
        			arrange();
    		}
    	} else {
		(!IE4 && BID) ? divColl = document.getElementsByTagName("DIV") : divColl = document.all.tags("DIV");
		for (i=0; i<divColl.length; i++) {
			if (divColl[i].className == "child") {
				if (divColl[i].id.indexOf(el+"Child") != -1) {
            					divColl[i].style.display = "none";
				}
			}	
		}
	}
}

function collapseAll() {
	if (!okver) return;
	if (NS4) {
		for (i=firstInd; i<document.layers.length; i++) {
			whichEl = document.layers[i];
			if (whichEl.id.indexOf("Child") != -1 && whichEl.id.indexOf("dontshow") == -1) {
				whichEl.visibility = "hide";
			}
		}
	arrange();
	scrollTo(0,document.layers[firstInd].pageY);
	} else {
		(!IE4 && BID) ? divColl = document.getElementsByTagName("DIV") : divColl = document.all.tags("DIV");
		for (i=0; i<divColl.length; i++) {
			if (divColl[i].className == "child" && divColl[i].id.indexOf("dontshow") == -1) {
				divColl[i].style.display = "none";
			}
		}
	}
	isExpanded = !isExpanded;
}

function expcollAll() {
	if (!okver) return;
	if (NS4) {
		for (i=firstInd; i<document.layers.length; i++) {
			whichEl = document.layers[i];
			if (whichEl.id.indexOf("Child") != -1 && divColl[i].id.indexOf("dontshow") == -1) {
				whichEl.visibility = (isExpanded) ? "hide" : "show";
			}
		}
		arrange();
		if (isExpanded) scrollTo(0,document.layers[firstInd].pageY);
    } else {
		(!IE4 && BID) ? divColl = document.getElementsByTagName("DIV") : divColl = document.all.tags("DIV");
		for (i=0; i<divColl.length; i++) {
			if (divColl[i].className == "child" && divColl[i].id.indexOf("dontshow") == -1) {
				divColl[i].style.display = (isExpanded) ? "none" : "block";
			}
		}
	}
	isExpanded = !isExpanded;
}
