/******************************************************************************************
* Code for in-page popups
******************************************************************************************/
var BOSIpopup_active = null;
var BOSIpopup_ephem = false; /* ephemeral: clicking outside the poup will kill it */
var BOSIpopup_mover = null;
var BOSIpopup_moveDX = null;
var BOSIpopup_moveDY = null;

function BOSIpopup_popup(element,id,ephem) {
	if(ephem) {BOSIpopup_ephem=true;} else {BOSIpopup_ephem=false;}
	var p=document.getElementById(id);
	var hider=document.getElementById('hider');
	hider.style.width=document.documentElement.scrollWidth + 'px';
	hider.style.height=document.documentElement.scrollHeight + 'px';
	hider.style.display='block';
	BOSIpopup_active = p;
	p.style.display='block';
	var locX = (getPageOffsetLeft(element) - p.offsetWidth); locX = Math.max(locX,20);
	var locY = (getPageOffsetTop(element) - p.offsetHeight); locY = Math.max(locY,20);
	p.style.display='none';
	p.style.left = locX + 'px';
	p.style.top = locY + 'px';
	p.style.display='block';
}		

function BOSIpopup_mousedown(evt) {
	mx=(ie5)?event.clientX+document.documentElement.scrollLeft:evt.pageX;
	my=(ie5)?event.clientY+document.documentElement.scrollTop:evt.pageY;
	document.detachEvent("onmousemove", BOSIpopup_mousemove);
	p = BOSIpopup_active;
	if(!p || p.style.display=='none') {
		BOSIpopup_active = null;
		return true;
	}
	if(BOSIpopup_ephem && !(mx>p.offsetLeft && mx<(p.offsetLeft+p.offsetWidth) && my>p.offsetTop && my<(p.offsetTop+p.offsetHeight))) {
		// outside window
		p.style.display='none'; 
		document.getElementById('hider').style.display='none';
		BOSIpopup_active = null;
		return false;
	} else if (mx>(p.offsetLeft+p.offsetWidth-13) && mx<(p.offsetLeft+p.offsetWidth) && my>p.offsetTop && my<(p.offsetTop+20)) {
		// in X button
		p.style.display='none'; 
		document.getElementById('hider').style.display='none';
		BOSIpopup_active = null;
		return false;
	} else if (mx>p.offsetLeft && mx<(p.offsetLeft+p.offsetWidth) && my>p.offsetTop && my<(p.offsetTop+20)) {
		// in title bar
		BOSIpopup_mover = p;
		BOSIpopup_moveDX = mx - p.offsetLeft;
		BOSIpopup_moveDY = my - p.offsetTop;
		document.attachEvent("onmousemove", BOSIpopup_mousemove);
		return false;
	}
	return true;
}

function BOSIpopup_mousemove(evt) {
	mx=(ie5)?event.clientX+document.documentElement.scrollLeft:evt.pageX;
	my=(ie5)?event.clientY+document.documentElement.scrollTop:evt.pageY;
	p = BOSIpopup_mover;
	p.style.display='none';
	BOSIpopup_mover.style.left = mx - BOSIpopup_moveDX + 'px';
	BOSIpopup_mover.style.top  = my - BOSIpopup_moveDY + 'px';
	p.style.display='block';
	return false;
}

function BOSIpopup_popdown(id) {
	if(!BOSIpopup_active) return false;
	BOSIpopup_active.style.display='none';
	document.getElementById('hider').style.display='none';
	BOSIpopup_active = null;
}

function BOSIpopup_mouseup(evt) {
	document.detachEvent("onmousemove", BOSIpopup_mousemove);
	BOSIpopup_mover = null;
	return false;
}

//document.attachEvent("onmousedown", BOSIpopup_mousedown);
//document.attachEvent("onmouseup", BOSIpopup_mouseup);
document.onmousedown = BOSIpopup_mousedown;
document.onmouseup = BOSIpopup_mouseup;
