function toggle(lnk, num_children) {
	if (typeof lnk != 'string') {
		if (typeof lnk == 'undefined') return false;
		var imgs = _lnk2imgs(lnk, num_children);
		for (var i = 0; i < imgs.length; i++) {
			var url = imgs[i].src;
			var lead = url.substr(0, url.lastIndexOf('.') - 1);
			var state = url.substr(url.lastIndexOf('.') - 1, 1);
			var ext = url.substr(url.lastIndexOf('.'));
			state = Math.abs(parseInt(state) - 1);
			if (/\d+/.test(state)) {
				imgs[i].src = lead + state + ext;
			}
		}
	}
	// Direct access API handler:
	else {
		var handle = lnk;
		if (!dom.finished || typeof dom.handles[handle] == 'undefined') return false;
		var url = dom.handles[handle].src;
		var lead = url.substr(0, url.lastIndexOf('.') - 1);
		var state = url.substr(url.lastIndexOf('.') - 1, 1);
		var ext = url.substr(url.lastIndexOf('.'));
		state = Math.abs(parseInt(state) - 1);
		dom.handles[handle].src = lead + state + ext;
	}
	return true;
}

function init_mo() {
	if (!dom.finished) return false;
	dom.preloaded = [];
	for (h in dom.handles) {
		var handle = dom.handles[h];
		if (typeof handle.src != 'undefined' && handle.src != null) {
			var url = handle.src;
			var lead = url.substr(0, url.lastIndexOf('.') - 1);
			var state = url.substr(url.lastIndexOf('.') - 1, 1);
			if ((state == 0) || (state == 1) ) {
				var ext = url.substr(url.lastIndexOf('.'));
			    state = Math.abs(parseInt(state) - 1);
    			url = lead + state + ext;
	    		dom.preloaded[dom.preloaded.length] = new Image();
	    		dom.preloaded[dom.preloaded.length - 1].src = url;
		    }
		}
	}
	return true;
}

function _lnk2imgs(lnk, num_children) {
	if (typeof lnk == 'undefined') return [];
	if (typeof num_children == 'undefined') {
		num_children = 1;
	}
	var doc = document;
	if (typeof lnk.document != 'undefined') {
		doc = lnk.document;
	}
	var imgs = [];
	// DOM method:
	var children = [];
	if (typeof lnk.children != 'undefined') children = lnk.children;
	if (typeof lnk.childNodes != 'undefined') children = lnk.childNodes;
	for (var i = 0; i < children.length; i++) {
		if (children[i].tagName == "IMG") imgs[imgs.length] = children[i];
	}
	// Fallback method for Netscape 4:
	// Requires combined images to form a solid rectangle, images with
	// differences in height (including vspace) don't map correctly to the
	// coordinates of the surrounding link.
	if (imgs.length == 0) {
		for (var i = 0; i < doc.images.length; i++) {
			var image = doc.images[i];
			if (typeof image.x != 'undefined'
				&& (image.x - image.hspace) == lnk.x
				&& (image.y - image.vspace) == lnk.y
			) {
				// Get children up to the number specified by num_children:
				for (var b = 0; b < num_children; b++) {
					if (b > i) last;
					imgs.push(doc.images[i - b]);
				}
			}
		}
	}
	return imgs;
}

function MM_reloadPage(init) {  //reloads the window if Nav4 resized
  if (init==true) with (navigator) {if ((appName=="Netscape")&&(parseInt(appVersion)==4)) {
    document.MM_pgW=innerWidth; document.MM_pgH=innerHeight; onresize=MM_reloadPage; }}
  else if (innerWidth!=document.MM_pgW || innerHeight!=document.MM_pgH) location.reload();
}
MM_reloadPage(true);

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_showHideLayers() { //v6.0
  var i,p,v,obj,args=MM_showHideLayers.arguments;
  for (i=0; i<(args.length-2); i+=3) if ((obj=MM_findObj(args[i]))!=null) { v=args[i+2];
    if (obj.style) { obj=obj.style; v=(v=='show')?'visible':(v=='hide')?'hidden':v; }
    obj.visibility=v; }
}

function newPopup(source, name, width, height) {
if(width) width = width;
else width = 640;

if(height) height = height;
else height = 480;

xl = (screen.availWidth/2)-(width/2);
tt = (screen.availHeight/2)-(height/2);
newWindowScreen=window.open(source,name,'toolbar=no,scrolling=auto,resizable=no,location=no,directories=no,status=yes,scrollbars=yes,menubar=no,width='+width+',height='+height+',left='+xl+',top='+tt);
newWindowScreen.focus();
}

