// options

	function deleteopts(obj) {
		var numopts;
		while(obj.length) {
			numopts = obj.length;
			for ( var i=0; i<numopts; i++ ) {
				obj.options[i] = null;
			}
		}
	}
	function fillopts(obj, newopts) {
		deleteopts(obj);
		for (var key in newopts) {
			var value = newopts[key];
			var opt = new Option(value, key);
			obj.options[obj.length] = opt;
		}
		obj.selectedIndex = 0;
	}
	function deletefillopts(target,options) {
		if(target) {
			deleteopts(target);
			if(options) {
				fillopts(target,options);
				target.selectedIndex = 0;
			}
		}
	}
	function updateopts(sourceid,targetid,options) {
		var source = document.getElementById(sourceid);
		if(source) {
			deletefillopts(document.getElementById(targetid),options[source.options[source.selectedIndex].value]);
		}
	}

	function hideelementif(name,test,value) {
		var obj = document.getElementById(name);
		if(obj) {
			if(test == value) {
				obj.style.visibility = 'hidden';
			} else {
				obj.style.visibility = 'visible';
			}
		}
	}

// frames

	function getFrame(name) {
		var frames = document.getElementsByTagName('frame');
		for(var j=0; j<frames.length; j++) {
			if(frames[j].getAttribute('name') == name) {
				return(frames[j]);
			}
		}
		return(false);
	}
	function getFrameset(name) {
		var frame = getFrame(name);
		if(frame) {
			var frameset = frame.parentNode;
			var element = frameset.firstChild;
			frameset.myindex = 0;
			do {
				if(element.tagName && element.tagName.toLowerCase() == 'frame') {
					if(element.name == frame.name) {
						return(frameset);
					}
					frameset.myindex++;
				}
			} while(element = element.nextSibling);
		}
		return(false);
	}
	function updateFrameset(frameset,index,size) {
		var name = frameset.getAttribute('cols') ? 'cols' : 'rows';
		var sizes = frameset.getAttribute(name).split(',');
		var value = '';
		for(var i=0; i<sizes.length; i++) {
			value += (value.length>0 ? ',' : '')+(i==index ? size : sizes[i]);
		}
		frameset.setAttribute(name,value);
	}
	function showframe(name,size) {
		var frameset = getFrameset(name);
		if(frameset) {
			updateFrameset(frameset,frameset.myindex,size);
		}
	}
	function hideframe(name) {
		var frameset = getFrameset(name);
		if(frameset) {
			updateFrameset(frameset,frameset.myindex,0);
		}
	}

	function showifframe() {
		if(parent != window) {
			parent.showframe(framename,framesize);
		}
	}
	function hideifframe() {
		if(parent != window) {
			parent.hideframe(window.name);
			window.location.href = 'about:blank';
		} else {
			window.close();
		}
	}

// defaults

var framename = 'help';
var framesize = '40%';
