function mouseX(evt) {
	if (evt.pageX) return evt.pageX;
	else if (evt.clientX)
   	return evt.clientX + (document.documentElement.scrollLeft ?
   	document.documentElement.scrollLeft :
   	document.body.scrollLeft);
	else return null;
}

function mouseY(evt) {
	if (evt.pageY) return evt.pageY;
	else if (evt.clientY)
   	return evt.clientY + (document.documentElement.scrollTop ?
   	document.documentElement.scrollTop :
   	document.body.scrollTop);
	else return null;
}

function showToolTip( strText, oEvent ) {
	var tipLayer = document.getElementById( 'TipLayer' );
	if ( !tipLayer ) {
		var tipLayer = document.createElement( 'div' );
		tipLayer.id = 'TipLayer';
		document.body.appendChild( tipLayer );
	}
	if ( oEvent.pageX ) {
		var posX = oEvent.pageX + 10;
		var posY = oEvent.pageY + 10;
	} else {
		var posX = oEvent.clientX + 10;
		var posY = oEvent.offsetY + 10;
	}
	tipLayer.style.visibility = 'visible';
	tipLayer.style.left = ( mouseX( oEvent ) + 10 ) + 'px';
	tipLayer.style.top = ( mouseY( oEvent ) + 10 ) + 'px';
	tipLayer.innerHTML = strText;
}

function hideToolTip() {
	var tipLayer = document.getElementById( 'TipLayer' );
	tipLayer.style.visibility = 'hidden';
}

var toolTipRules = {
    'area.mapbranch' : function( element ) {
        element.onmouseover = function( e ) {
            if ( e ) {
                var element = e.target;
            } else {
					e = window.event;
                var element = window.event.srcElement;
            }
				var arrID = element.id.split( '_' );
				showToolTip( $('branch_title_' + arrID[2]).title, e );
        }
		  element.onmousemove = function( e ) {
            if ( e ) {
                var element = e.target;
            } else {
					e = window.event;
                var element = window.event.srcElement;
            }
				var arrID = element.id.split( '_' );
				showToolTip( $('branch_title_' + arrID[2]).title, e );
        }
        element.onmouseout = function( e ) {
            hideToolTip();
        }
    }
}

Behaviour.register( toolTipRules );