﻿	/***********************************************
	* Cool DHTML tooltip script- © Dynamic Drive DHTML code library (www.dynamicdrive.com)
	* This notice MUST stay intact for legal use
	* Visit Dynamic Drive at http://www.dynamicdrive.com/ for full source code
	***********************************************/

	/* modified by CoR - added Cookie support + enable toggler + dhtmltooltip_content object */

	var offsetxpoint=-60; //Customize x offset of tooltip
	var offsetypoint=20; //Customize y offset of tooltip
	var ie=document.all;
	var ns6=document.getElementById && !document.all;
	var enabletip=false;
	var tips_enabled_cookie_name = "CoR_ToolTip_Enabled";
	var tips_on = true;

    var tipobj = "";

    function CoR_ToolTip_Init() {
    	if (ie||ns6) {
	    	tipobj = document.all? document.all["dhtmltooltip"] : document.getElementById? document.getElementById("dhtmltooltip") : ""
	    	tipobj_content = document.all? document.all["dhtmltooltip_content"] : document.getElementById? document.getElementById("dhtmltooltip_content") : ""
        }
	if (GetUserCookie(tips_enabled_cookie_name) == 'true') {
		tips_on = true;
	} else {
		tips_on = false;
	}
        document.onmousemove=positiontip
    }

	function ietruebody(){
		return (document.compatMode && document.compatMode!="BackCompat")? document.documentElement : document.body
	}

	function ddrivetip(thetext, thecolor, thewidth){
		if (tips_on == true) {
			if ((tipobj && tipobj_content) && (ns6||ie)) {
				if (typeof thewidth!="undefined") tipobj.style.width=thewidth+"px"
				if (typeof thecolor!="undefined" && thecolor!="") tipobj.style.backgroundColor=thecolor
				tipobj_content.innerHTML=thetext
				enabletip=true
				return false
			}
		}
	}

	function positiontip(e) {
		if ((tipobj && tipobj_content) && (enabletip)) {
			var curX=(ns6)?e.pageX : event.clientX+ietruebody().scrollLeft;
			var curY=(ns6)?e.pageY : event.clientY+ietruebody().scrollTop;
			//Find out how close the mouse is to the corner of the window
			var rightedge=ie&&!window.opera? ietruebody().clientWidth-event.clientX-offsetxpoint : window.innerWidth-e.clientX-offsetxpoint-20
			var bottomedge=ie&&!window.opera? ietruebody().clientHeight-event.clientY-offsetypoint : window.innerHeight-e.clientY-offsetypoint-20

			var leftedge=(offsetxpoint<0)? offsetxpoint*(-1) : -1000

			//if the horizontal distance isn't enough to accomodate the width of the context menu
			if (rightedge<tipobj.offsetWidth)
				//move the horizontal position of the menu to the left by it's width
				tipobj.style.left=ie? ietruebody().scrollLeft+event.clientX-tipobj.offsetWidth+"px" : window.pageXOffset+e.clientX-tipobj.offsetWidth+"px"
			else if (curX<leftedge)
				tipobj.style.left="5px"
			else
				//position the horizontal position of the menu where the mouse is positioned
				tipobj.style.left=curX+offsetxpoint+"px"

			//same concept with the vertical position
			if (bottomedge<tipobj.offsetHeight)
				tipobj.style.top=ie? ietruebody().scrollTop+event.clientY-tipobj.offsetHeight-offsetypoint+"px" : window.pageYOffset+e.clientY-tipobj.offsetHeight-offsetypoint+"px"
			else
				tipobj.style.top=curY+offsetypoint+"px"
			tipobj.style.visibility="visible"
		}
	}

	function hideddrivetip() {
		if ((tipobj && tipobj_content) && (ns6||ie)) {
			enabletip=false
			tipobj.style.visibility="hidden"
			tipobj.style.left="-1000px"
			tipobj.style.backgroundColor=''
			tipobj.style.width=''
		}
	}

	function toggle_tooltips(on_msg, off_msg) {
		var toggle_msg = document.getElementById("tooltip_toggler");
		tips_on = !tips_on;
		UpdateUserCookie(tips_enabled_cookie_name, tips_on);
		if (tips_on == true) {
			toggle_msg.innerHTML = on_msg;
		} else {
			toggle_msg.innerHTML = off_msg;
		}
	}

function UpdateUserCookie(cookieName, cookieValue) {
    date = new Date();
    date.setTime(date.getTime() + (1000 * 60 * 60 * 24 * 30)); 
    document.cookie = cookieName + "=" + cookieValue + "; expires=" + date.toGMTString();
}

function GetUserCookie(crumbName) {
    colCookie = document.cookie.split("; ");
    
    for (a=0; a < colCookie.length; a++) {
        colCrumb = colCookie[a].split("=");                    
        if(colCrumb[0] == crumbName) {
            return unescape(colCrumb[1]);
        }
    }

    return "";

}

function SetTogglerMessage(on_msg, off_msg) {
	var toggle_msg = document.getElementById("tooltip_toggler");
	if (tips_on == true) {
		toggle_msg.innerHTML = on_msg;
	} else {
		toggle_msg.innerHTML = off_msg;
	}
}