var glossary = new Array();
	glossary[1] = '<img src="images/glossary/natural.gif" alt="" width="408" height="138" border="0">';
	glossary[2] = '<img src="images/glossary/surgical.gif" alt="" width="408" height="93" border="0">';
	glossary[3] = '<img src="images/glossary/ovaries.gif" alt="" width="408" height="155" border="0">';
	glossary[4] = '<img src="images/glossary/oophorectomy.gif" alt="" width="408" height="79" border="0">';
	glossary[5] = '<img src="images/glossary/estrogen.gif" alt="" width="408" height="93" border="0">';
	glossary[6] = '<img src="images/glossary/progestin.gif" alt="" width="408" height="108" border="0">';
	glossary[7] = '<img src="images/glossary/cardio.gif" alt="" width="408" height="93" border="0">';
	glossary[8] = '<img src="images/glossary/hysterectomy.gif" alt="" width="408" height="79" border="0">';
	glossary[9] = '<img src="images/glossary/smear.gif" alt="" width="408" height="108" border="0">';
	glossary[10]= '<img src="images/glossary/symptoms.gif" alt="" width="408" height="123" border="0">';

var dw_event = {
	add: function (obj, etype, fp, cap ) {
		cap = cap || false;
		if ( obj.addEventListener ) obj.addEventListener( etype, fp, cap );
		else if ( obj.attachEvent ) obj.attachEvent( "on" + etype, fp );
	}, 

	remove: function( obj, etype, fp, cap ) {
		cap = cap || false;
		if ( obj.removeEventListener ) obj.removeEventListener( etype, fp, cap );
		else if ( obj.detachEvent ) obj.detachEvent( "on" + etype, fp );
	}, 
	
	DOMit: function(e) { 
		e = e ? e : window.event;
		e.tgt = e.srcElement ? e.srcElement : e.target;
		if ( !e.preventDefault ) e.preventDefault = function () { return false; }
		if ( !e.stopPropagation ) e.stopPropagation = function () { if ( window.event ) window.event.cancelBubble = true; }
		return e;
	}
}

var viewport = {
	getWinWidth: function () {
		this.width = 0;
		if (window.innerWidth) this.width = window.innerWidth - 18;
		else if (document.documentElement && document.documentElement.clientWidth) 
			this.width = document.documentElement.clientWidth;
		else if (document.body && document.body.clientWidth) 
			this.width = document.body.clientWidth;
	},
	
	getWinHeight: function () {
		this.height = 0;
		if (window.innerHeight) this.height = window.innerHeight - 18;
		else if (document.documentElement && document.documentElement.clientHeight) 
			this.height = document.documentElement.clientHeight;
		else if (document.body && document.body.clientHeight) 
			this.height = document.body.clientHeight;
	},
	
	getScrollX: function () {
		this.scrollX = 0;
		if (typeof window.pageXOffset == "number") this.scrollX = window.pageXOffset;
		else if (document.documentElement && document.documentElement.scrollLeft)
			this.scrollX = document.documentElement.scrollLeft;
		else if (document.body && document.body.scrollLeft) 
			this.scrollX = document.body.scrollLeft; 
		else if (window.scrollX) this.scrollX = window.scrollX;
	},
	
	getScrollY: function () {
		this.scrollY = 0;    
		if (typeof window.pageYOffset == "number") this.scrollY = window.pageYOffset;
		else if (document.documentElement && document.documentElement.scrollTop)
			this.scrollY = document.documentElement.scrollTop;
		else if (document.body && document.body.scrollTop) 
			this.scrollY = document.body.scrollTop; 
		else if (window.scrollY) this.scrollY = window.scrollY;
	},
	
	getAll: function () {
		this.getWinWidth(); 
		this.getWinHeight();
		this.getScrollX(); 
		this.getScrollY();
	}

}

var Glossary = {
	followMouse: false,
	offX: 8,
	offY: 12,
	tipID: "glossary-item",
	showDelay: 100,
	hideDelay: 500,
	ready: false,
	timer: null,
	tip: null,
	init: function() {
		if ( document.createElement && document.body && typeof document.body.appendChild != "undefined" ) {
			if ( !document.getElementById( this.tipID ) ) {
				var  el = document.createElement("DIV");
				el.id = this.tipID;
				document.body.appendChild(el);
			}
			this.ready=true;
		}
	},
	show:function ( e, msg ) {
		if ( this.timer ) {
			clearTimeout(this.timer);
			this.timer=0;
		}
		
		this.tip = document.getElementById( this.tipID );
		if ( this.followMouse ) dw_event.add( document, "mousemove", this.trackMouse, true );
		this.writeTip( "" );
		this.writeTip(msg);
		viewport.getAll();
		this.positionTip( e );
		this.timer = setTimeout( "Glossary.toggleVis( '" + this.tipID + "', 'visible') ", this.showDelay);
	},
	
	writeTip:function( msg ) {
		if ( this.tip && typeof this.tip.innerHTML != "undefined" ) this.tip.innerHTML = msg;
	},
	
	positionTip:function( e ) {
		if ( this.tip && this.tip.style ) {
			var x = e.pageX ? e.pageX : e.clientX + viewport.scrollX;
			var y = e.pageY ? e.pageY : e.clientY + viewport.scrollY;
			if ( x + this.tip.offsetWidth + this.offX > viewport.width + viewport.scrollX ) {
				x = x - this.tip.offsetWidth - this.offX;
				if ( x < 0 ) x = 0;
			}
			else x = x + this.offX;
			if ( y + this.tip.offsetHeight + this.offY > viewport.height + viewport.scrollY ) {
				y = y - this.tip.offsetHeight - this.offY;
				if ( y < viewport.scrollY ) y = viewport.height + viewport.scrollY - this.tip.offsetHeight;
			}
			else y = y + this.offY;
			this.tip.style.left = x + "px";
			this.tip.style.top = y + "px";
		}
	},
	
	hide:function() {
		if ( this.timer ) {
			clearTimeout( this.timer );
			this.timer = 0;
		}
		this.timer = setTimeout( "Glossary.toggleVis( '" + this.tipID + "', 'hidden' )", this.hideDelay);
		if ( this.followMouse ) dw_event.remove( document, "mousemove", this.trackMouse, true );
		this.tip = null;
	},
	
	toggleVis:function( id, vis ) {
		var el = document.getElementById( id );
		if ( el ) el.style.visibility = vis;
	},
	trackMouse:function( e ) { 
		e = dw_event.DOMit( e );
		Glossary.positionTip( e );
	}
};