/* UTIL-GENERAL.JS
	general purpose javascript code for common website functionality...
*/

	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.1-ms
		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; }
			if (v=="showX") { obj.visibility="visible"; obj.display="inline"; }
			else if (v=="hideX") { obj.visibility="hidden"; obj.display="none"; }
			else obj.visibility=v;
		}
	}	
	
	function MM_jumpMenu(targ,selObj,restore) { //v3.0
		eval(targ+".location='"+selObj.options[selObj.selectedIndex].value+"'");
		if (restore) selObj.selectedIndex=0;
	}
	
	function findPos(objName) {
	// gets the 'top' and 'left' positions of an object.

		var r=Array();
		var obj=document.getElementById(objName);
		var curtop=0;
		var curleft=0;
		if (obj) {
			if (obj.offsetParent) {
				while (obj.offsetParent) {
					curtop+=obj.offsetTop;
					curleft+=obj.offsetLeft;
					obj=obj.offsetParent;
				}
			}
			else {
				if (obj.y) curtop+=obj.y;
				if (obj.x) curleft+=obj.x;
			}
		}
		else alert("could not find "+objName);
		r[0]=curtop;
		r[1]=curleft;
		return r;
	}	