
function MM_findObj(n, d) {
//alert("in findObj");
  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_changeProp(objName,x,theProp,theValue) {
//alert("in change prop");
  var obj = MM_findObj(objName);
//alert("after findObj");
  if (obj && (theProp.indexOf("style.")==-1 || obj.style)){
    if (theValue == true || theValue == false)
      eval("obj."+theProp+"="+theValue);
    else eval("obj."+theProp+"='"+theValue+"'");
  }
}

function getScrollLeft(){
	if(typeof window.pageXOffset=="number")
		return window.pageXOffset;
	if(document.documentElement.scrollLeft)
		return Math.max(document.documentElement.scrollLeft,document.body.scrollLeft);
	else if(document.body.scrollLeft!=null)
		return document.body.scrollLeft;
	return 0;
}

function getScrollTop(){
	if(typeof window.pageYOffset=="number")
		return window.pageYOffset;
	if(document.documentElement.scrollTop)
		return Math.max(document.documentElement.scrollTop,document.body.scrollTop);
	else if(document.body.scrollTop!=null)
		return document.body.scrollTop;
	return 0;
}

function getAbsX(elt) { return (elt.x) ? elt.x : getAbsPos(elt,"Left"); }
function getAbsY(elt) { return (elt.y) ? elt.y : getAbsPos(elt,"Top"); }
function getAbsPos(elt,which) {
 iPos = 0;
 while (elt != null) {
  iPos += elt["offset" + which];
  elt = elt.offsetParent;
 }
 return iPos;
}

function MM_moveRelative(objName,event) {
	
  	var obj = MM_findObj(objName);
	if (! (obj.style.visibility == 'visible')) {
		x=event.clientX+getScrollLeft() - getAbsX(obj.offsetParent) - 10;
		y=event.clientY+getScrollTop() - getAbsY(obj.offsetParent) - 10;
		MM_changeProp(objName,x,"style.left",x + "px");
		MM_changeProp(objName,x,"style.top",y + "px");
	}
}
