// JavaScript Document
function findPosX(obj)
{
	var curleft = 0;
	if (obj.offsetParent)
	{
		while (obj.offsetParent)
		{
			curleft += obj.offsetLeft - (obj.scrollLeft || 0);
			obj = obj.offsetParent;
		}
	}
	return curleft;
}


 function findPosY(obj)
  {
    var curtop = 0;
    if(obj.offsetParent)
        while(1)
        {
          curtop += obj.offsetTop;
          if(!obj.offsetParent)
            break;
          obj = obj.offsetParent;
        }
    else if(obj.y)
        curtop += obj.y;
    return curtop;
  }



function findScrollX() {
	var x;
	if (self.pageYOffset) // all except Explorer
	{
		x = self.pageXOffset;
	}
	else if (document.documentElement && document.documentElement.scrollTop)
		// Explorer 6 Strict
	{
		x = document.documentElement.scrollLeft;
	}
	else if (document.body) // all other Explorers
	{
		x = document.body.scrollLeft;
	}
	
	return x;
}

function findScrollY() {
	var y;
	if (self.pageYOffset) // all except Explorer
	{
		y = self.pageYOffset;
	}
	else if (document.documentElement && document.documentElement.scrollTop)
		// Explorer 6 Strict
	{
		y = document.documentElement.scrollTop;
	}
	else if (document.body) // all other Explorers
	{
		y = document.body.scrollTop;
	}
	
	return y;
}


function AttachEvent(obj,evt,fnc,useCapture){
	if (obj.addEventListener){
		obj.addEventListener(evt,fnc,useCapture);
		return true;
	} else if (obj.attachEvent) return obj.attachEvent("on"+evt,fnc);
	else obj['on'+evt]=fnc;
	return true;
}



function getWinDim(dim)
{
	var w = 0;
	var h = 0;
	//IE
	if(!window.innerWidth){
		//strict mode
		if(!(document.documentElement.clientWidth == 0)) {
			w = document.documentElement.clientWidth;
			h = document.documentElement.clientHeight;
		} else //quirks mode
		{
			w = document.body.clientWidth;
			h = document.body.clientHeight;
		}
	} else //w3c
	{
		w = window.innerWidth;
		h = window.innerHeight;
	}
	
	if(dim == "w") return w;
	else if(dim == "h") return h;	
	else return [w, h];
	
}


var bodySize100 = 140;

function bodySize(percent){
	//access globals
	var actual = (percent * .01) * bodySize100;
	var actual = actual + "%";
	document.body.style.fontSize = actual;
}


//target id to show/hide is this.id + "Tee"; target display is block unless indexOf reveals "IL" for inline
//remember IE6 needs events like obj.onclick = ; NOT with attach f()
//add custom attr: if finds togcls="toggleClass", alterns "toggleClassOn" "toggleClassOff"
function simpleTog(thg, state){
	if(typeof(thg) == 'string') {
		var th = document.getElementById(thg);
	}
	else var th = this;
	if(state) state = "Off";
	else state = "ON";
	
	var tid = th.id;
	var tar = document.getElementById(tid + "Tee");
	if(tar && tid.indexOf("IL") > 0) var disp = "inline";
	else var disp = "block";
	
	if(tar){
		var tat = th.getAttribute('togcls');
		if(tar.style.display == disp || state == "Off"){
			tar.style.display = "none";
			if(tat) th.className = tat + "Off";
		} else {
			tar.style.display = disp;
			if(tat) th.className = tat + "On";
		}
	}
}	
//inits the toggles for all tagNames in container if finds id+"Tee", sets initState "On" = expanded "Off" = closed
var simpleTogArray = new Array();

//inits the toggles for all tagNames in container if finds id+"Tee", sets initState "On" = expanded "Off" = closed
//exclusive set to true: only one tog can be open at a time
function simpleTogInit(container,tagName,initState,exclusive){
	var set = container.getElementsByTagName(tagName);
	var t=0;
	for(var j=0;j<set.length;j++){
		var tid = set[j].id;
		var eid = document.getElementById(tid + "Tee");
		if(eid) {
			if(exclusive) set[j].onclick = simpleTogExcl;
			else set[j].onclick = simpleTog;
			
			simpleTogArray[t] = tid;
			t++;

			if(tid.indexOf("IL") > 0) var disp = "inline";
			else var disp = "block";
			var cls =  set[j].getAttribute('togcls');
			if(initState == "On") {
				eid.style.display = disp;
				if(cls)	set[j].className = cls + "On";
			} else {
				eid.style.display = "none";
				if(cls)	set[j].className = cls + "Off";
			}
		}
	}
}
function simpleTogExcl(){
	var tid = this.id;
	for(var t=0; t< simpleTogArray.length;t++){
		if(simpleTogArray[t] != tid){
			simpleTog(simpleTogArray[t],"Off");
		}
	}
	simpleTog(this.id);
}


function popitup(url, W, H, params) {
	var IEtopUIH = 125; var IEbotUIH = 32; var IEUIW = 24;
	var clientW = screen.width;
	var clientH = screen.height;
	if(!params) var params = '';
	if(!H) var H = 300;
	if(!W) var W = 400;
	
	var nuparams = "width=" + W + ",height=" + H;
	if(params != '') nuparams = nuparams + "," + params;
	
	var nx = Math.floor((clientW - W) * .5);
	var ny = Math.floor((clientH - H) * .5);

	if(!newwindow) var newwindow = '';
	if (!newwindow.closed && newwindow.location) {
		newwindow.location.href = url;
	} else {
		newwindow=window.open(url,'mhspop', nuparams);
		if (!newwindow.opener) newwindow.opener = self;
	}

	newwindow.moveTo(nx,ny);
	
	if (window.focus) {newwindow.focus()}

	return false;
}

var ILpopText = "<center>Close this window</center>";
				//evt (this), text, and pid (id of popup) are required
function ILpopUp(evt,text,pid,dis,w,mH){
		if(pid){
			if(document.getElementById(pid)) return false;
			
			var poppy = document.createElement('div');
			poppy.style.background = "#ffffff"; poppy.style.color = "#000000"; poppy.style.padding = "1em";
			poppy.id = pid;
			var dW = 300; var dH = 50; var dDis = 15; //default w,h
			if(w) dW = w;
			if(mH) dH = mH; //minHeight
			if(dis) dDis = dis;
			//glean top, left of this
			var t = findPosY(evt);
			var l = findPosX(evt);
			//glean viewport dims.
			var VPh = getWinDim('h');
			var VPw = getWinDim('w');
			//where to put?
			if(((l + dW) + dDis) > VPw) plX = (l - dW) + dDis; //if left is too far
			else plX = l + dDis;
			
			if(t + dH + dDis > VPh) plY = t - dH - dDis;//if down is too far
			else plY = t + dDis;
			
			//generate div: find body. insert abs-pos div
			poppy.innerHTML = text + ILpopText;
			document.body.appendChild(poppy);
			//set style;
			poppy.style.position = "absolute";
			poppy.style.top = plY + "px";
			poppy.style.left = plX + "px";
			poppy.style.width = dW + "px";
			poppy.style.minHeight = dH + "px";
			poppy.style.zIndex = "9999";
			//create close f()
			poppy.onclick = function() {document.body.removeChild(this);}
		}
		return false;
}

