function findPosX(obj)
{
	var curleft = 0;
	if (obj.offsetParent)
	{
		while (obj.offsetParent)
		{
			curleft += obj.offsetLeft
			obj = obj.offsetParent;
		}
	}
	else if (obj.x)
		curleft += obj.x;
	return curleft;
}

function findPosY(obj)
{
	var curtop = 0;
	if (obj.offsetParent)
	{
		while (obj.offsetParent)
		{
			curtop += obj.offsetTop
			obj = obj.offsetParent;
		}
	}
	else if (obj.y)
		curtop += obj.y;
	return curtop;
}

function is_IE() {
    return (document.all)? true: false;
}

function CMT_mouseOver(obj) {
    var mdiv = obj.parentNode;
    var pdiv = mdiv.parentNode;
    if (is_IE()) {
        mdiv.style.height = pdiv.offsetHeight+'px';
        mdiv.style.width = pdiv.offsetWidth+'px';
    } else {
        // catch for empty content cases, makes a box instead of a line
        var height = (pdiv.clientHeight > mdiv.style.height)?pdiv.clientHeight:mdiv.style.height;
        mdiv.style.height = height+'px';
        mdiv.style.width = pdiv.clientWidth+'px';
    }
    
}

function CMT_mouseOut(obj) {
    var mdiv = obj.parentNode;
    if (is_IE()) {
        // if ie
        mdiv.style.height = '0px';
        mdiv.style.width = '0px';
    } else {
        // if moz
        mdiv.style.height = '';
        mdiv.style.width = '';
    }
}

function CMT_repositionMarker(obj) {
    var mdiv = obj.parentNode;
    var pdiv = mdiv.parentNode;
    // this is for IE

    mdiv.style.marginLeft = (findPosX(obj.parentNode.parentNode) - findPosX(mdiv)) +  'px';
    if (mdiv.nextSibling && findPosY(mdiv.nextSibling) > 0) mdiv.style.marginTop = (findPosY(mdiv.nextSibling) - findPosY(pdiv)) +  'px';
}

