
function startTooltip(o,i,e) {
	showTooltip(o,'','');
}

function endTooltip(o,i,e) {
	hideTooltip();
}

function setBasicTooltip(o,i,e) {
	el = document.getElementById(i + 'TooltipMsg');
	if (el) {
		showTooltip(o,'',el.innerHTML);
	}
}

function showBannerTooltip(el,ttType,ttC) {
	if (document.getElementById) {
		var elTt=document.getElementById('tooltip');
		if (elTt) {
			elTt.className = 'goldfish';
		}
	}
	showTooltip(el,ttType,ttC)
}

function hideBannerTooltip() {
	hideTooltip();
	if (document.getElementById) {
		var elTt=document.getElementById('tooltip');
		if (elTt) {
			elTt.className = '';
		}
	}
}

function showTooltip(el,ttType,ttC) {
	clearTimeout(ttTimer);
	if (ttState == 1) {
		return;
	}
	var icoLeft = xPageX(el);
	var icoTop = xPageY(el);
	var icoW = xWidth(el);
	var icoH = xHeight(el);
	var winScrollLeft = xScrollLeft();
	var winScrollTop = xScrollTop();
	var elContent = document.getElementById('content');
	var elSidebar = document.getElementById('sidebar');
	var elSliders = document.getElementById('sliders');
	if (isChild(el, elContent)) {
		icoLeft -= xScrollX(elContent);
		icoTop -= xScrollY(elContent);
	}
	else if (isChild(el, elSidebar)) {
		icoLeft -= xScrollX(elSidebar);
		icoTop -= xScrollY(elSidebar);
	}
	else if (isChild(el, elSliders)) {
		icoLeft -= xScrollX(elSliders);
		icoTop -= xScrollY(elSliders);
	}
	if (navigator.userAgent.indexOf("MSIE")>-1) {
		icoLeft += winScrollLeft;
		icoTop += winScrollTop;
	}
	if (window.opener) { 
		icoLeft -= winScrollLeft;
		icoTop -= winScrollTop;
	}
	var ttLeft=icoLeft+icoW;
	var ttTop=icoTop+icoH;
	if (document.getElementById) {
		var elTt=document.getElementById('tooltip');
		var elInner=document.getElementById('ttContainer');
		if (elTt && elInner) {
			if (ttType=='image') {
				elInner.style.padding = '0';
				if (ttC != '') {
					ttC = '<div class="ttImage">' + ttC + '</div>';
				}
				if (el.id) {
					var idStr = el.id;
					var aId = idStr.split('¤');
					var elCaption=document.getElementById('caption_' + aId[1]);
					if (elCaption && elCaption.innerHTML != '') {
						ttC = '<div class="ttImageCaption">' + elCaption.innerHTML + '</div>' + ttC
					}
					var elImage=document.getElementById('image_' + aId[1]);
					if (elImage && elImage.innerHTML != '') {
						ttC = '<div class="ttImage"><img src="/images/thumbnail.aspx?f=' + elImage.innerHTML + '&w=100&q=80" width="100" alt /></div>' + ttC
					}
					if (ttC != '') {
						elInner.innerHTML = ttC;
					}
					else {
						return;
					}
				}
				else if (ttC != '') {
					elInner.innerHTML = ttC;
				}
				else {
					elInner.innerHTML = 'This is a test:<br />x = ' + ttLeft + '<br />y = ' + ttTop;
				}
				ttState = 0;
			}
			else if (ttType=='cal') {
				if (el.id) {
					var idStr = el.id;
					var aId = idStr.split('¤');
					if (document.getElementById(aId[1])) {
						entryTarget = aId[1];
					}
					else {
						return;
					}
				}
				elInner.style.padding = '0';
				elInner.style.margin = '0';
				ttC = '<table id="datePikker">';
				ttC+='<tr class="datePikHeader">'
				ttC+='<td id="datePikSubY" onclick="csuby()"></td>'
				ttC+='<td id="datePikSubM" onclick="csubm()"></td>'
				ttC+='<td colspan=3 id="datePikTitle" onclick="ccurm()"></td>'
				ttC+='<td id="datePikAddM" onclick="caddm()"></td>'
				ttC+='<td id="datePikAddY" onclick="caddy()"></td>'
				ttC+='</tr>';
				ttC+='<tr class="datePikWeekdays">'
				ttC+='<td>S</td><td>M</td><td>T</td><td>W</td><td>T</td><td>F</td><td>S</td>'
				ttC+='</tr>';
				for(var kk=1;kk<=6;kk++) {
					ttC+='<tr class="datePikWeek">';
					for(var tt=1;tt<=7;tt++) {
						num=7 * (kk-1) - (-tt);
						if (tt == 1) {
							ttC+='<td id="v' + num + '" class="datePikSun">&nbsp;</td>';
						}
						else {
							ttC+='<td id="v' + num + '" class="datePikDay">&nbsp;</td>';
						}
					}
					ttC+='</tr>';
				}
				ttC+='</table>';
				elInner.innerHTML = ttC
				ttTimer = setTimeout('loadDate()',50);
			}
			else if (ttType=='clock') {
				if (el.id) {
					var idStr = el.id;
					var aId = idStr.split('¤');
					if (document.getElementById(aId[1])) {
						entryTarget = aId[1];
					}
					else {
						return;
					}
				}
				elInner.style.padding = '0';
				elInner.style.margin = '0';
				ttC = '<table id="timePikker">';
				ttC+='<tr class="timePikHeader1">'
				ttC+='<td>&nbsp;</td>'
				ttC+='<td></td>'
				ttC+='<td id="timePikAddMM10" onclick="caddMM10()"></td>'
				ttC+='<td id="timePikCloser" onclick="closeTimePik(event)">&nbsp;</td>'
				ttC+='</tr>';
				ttC+='<tr class="timePikHeader2">'
				ttC+='<td rowspan="3" id="timePikPaste" onclick="pasteTimePik(event)"></td>'
				ttC+='<td id="timePikAddHH" onclick="caddHH()"></td>'
				ttC+='<td id="timePikAddMM" onclick="caddMM()"></td>'
				ttC+='<td id="timePikAddAMPM" onclick="caddAMPM()"></td>'
				ttC+='</tr>';
				ttC+='<tr class="timePikValues">'
				ttC+='<td id="timePikValueHH" onclick="caddHH()"></td>'
				ttC+='<td id="timePikValueMM" onclick="caddMM()"></td>'
				ttC+='<td id="timePikValueAMPM" onclick="caddAMPM()"></td>'
				ttC+='</tr>';
				ttC+='<tr class="timePikFooter1">'
				ttC+='<td id="timePikSubHH" onclick="csubHH()"></td>'
				ttC+='<td id="timePikSubMM" onclick="csubMM()"></td>'
				ttC+='<td id="timePikSubAMPM" onclick="csubAMPM()"></td>'
				ttC+='</tr>';
				ttC+='<tr class="timePikFooter2">'
				ttC+='<td></td>'
				ttC+='<td></td>'
				ttC+='<td id="timePikSubMM10" onclick="csubMM10()"></td>'
				ttC+='<td></td>'
				ttC+='</tr>';
				ttC+='</table>';
				elInner.innerHTML = ttC
				ttTimer = setTimeout('loadTime()',20);
			}
			else {
				elInner.style.padding = '5px 7px 0 7px';
				if (ttC != '') {
					ttC = '<div class="ttContent">' + ttC + '</div>';
				}
				if (el.id) {
					var idStr = el.id;
					var aId = idStr.split('¤');
					var elHtml=document.getElementById('server_' + aId[1]);
					if (elHtml && elHtml.innerHTML != '') {
						ttC = '<div class="ttContent">' + elHtml.innerHTML + '</div>' + ttC;
					}
					var elError=document.getElementById('error_' + aId[1]);
					if (elError && elError.innerHTML != '') {
						ttC = '<div class="ttError">' + elError.innerHTML + '</div>' + ttC;
					}
					var elShared=document.getElementById('TooltipSharedMsg');
					if (elShared && elShared.innerHTML != '') {
						if (ttC != '') {
							ttC = '<div class="ttContent"><b>' + ttC + '</b></div>';
						}
						ttC = ttC + '<div class="ttContent" id="ttSaveOnClose">' + elShared.innerHTML + '</div>';
					}
					if (ttC != '') {
						elInner.innerHTML = ttC;
					}
					else {
						return;
					}
				}
				else if (ttC != '') {
					elInner.innerHTML = ttC;
				}
				else {
					elInner.innerHTML = 'This is a test:<br />x = ' + ttLeft + '<br />y = ' + ttTop;
				}
				ttState = 0;
			}
			var ttW = xWidth(elTt);
			if (ttW >= 250) {
				xWidth(elTt, 250);
				ttW = 250;
			}
			var ttH = xHeight(elTt);
			if (elTt.iframeEl) {
				xWidth(elTt.iframeEl, ttW);
				xHeight(elTt.iframeEl, ttH);
			}
			if ((ttLeft + ttW) > (vupW - 30)) {
				ttLeft = vupW - (ttW + 30);
				if (ttLeft < 1) {
					ttLeft = 1;
				}
			}
			if ((ttTop + ttH) > ((vupH + winScrollTop) - 20)) {
				ttTop = (vupH + winScrollTop) - (ttH + 20);
				if (ttTop < 1) {
					ttTop = 1;
				}
			}
			if (((ttTop<(icoTop+icoH))&&(ttLeft<(icoLeft+icoW)))&&(((ttTop+ttH)>=(icoTop+icoH))&&((ttLeft+ttW)>=(icoLeft+icoW)))) {
				if ((vupH-(icoTop+icoH)) >= ttH) {
					ttTop = icoTop+icoH;
				}
				else {
					ttTop = icoTop-ttH;
				}
				if ((vupW-(icoLeft+icoW)) >= ttW) {
					ttLeft = icoLeft+icoW;
				}
				else {
					ttLeft = icoLeft-ttW;
				}
			}
			xTop(elTt,ttTop);
			xLeft(elTt,ttLeft);
		}
	}
}

function resetTooltip() {
	if (document.getElementById) {
		elShared = document.getElementById('TooltipSharedMsg');
		if (elShared) {
			elSave = document.getElementById('ttSaveOnClose');
			if (elSave) {
				if (elShared.innerHTML == '' && elSave.innerHTML != '') {
					elShared.innerHTML = elSave.innerHTML;
				}
			}
		}
		hideTooltip();
	}
}

function hideTooltip() {
	clearTimeout(ttTimer);
	if (ttState == 1) {
		return;
	}
	if (document.getElementById) {
		var elTt=document.getElementById('tooltip');
		var elInner=document.getElementById('ttContainer');
		if (elTt && elInner) {
			xTop(elTt,-9999);
			xLeft(elTt,-9999);
			elInner.innerHTML = '';
			elTt.style.width = 'auto';
			elTt.style.height = 'auto';
			if (elTt.iframeEl) {
				elTt.iframeEl.style.width = 'auto';
				elTt.iframeEl.style.height = 'auto';
			}
		}
	}
}

function attachTtEvents(el) {
	if (el.title) {
		var c = el.title;
		if (c.indexOf('image:')>-1) {
			c = c.substring(6);
			el.onmouseover = function() {
				showTooltip(el,'image',c);
				return false;
			}
			el.onmouseout = function() {
				hideTooltip();
				return false;
			}
			el.title = '';
		}
		else if (c.indexOf('cal:')>-1) {
			c = c.substring(4);
			el.onclick = function() {
				showTooltip(el,'cal',c);
				return false;
			}
			el.title = 'Click to DatePik';
		}
		else if (c.indexOf('clock:')>-1) {
			c = c.substring(6);
			el.onclick = function() {
				showTooltip(el,'clock',c);
				return false;
			}
			el.title = 'Click to TimePik';
		}
		else {
			el.onmouseover = function() {
				showTooltip(el,'',c);
				return false;
			}
			el.onmouseout = function() {
				hideTooltip();
				return false;
			}
			el.title = '';
		}
	}
	else {
		el.onmouseover = function() {
			showTooltip(el,'','');
			return false;
		}
		el.onmouseout = function() {
			hideTooltip();
			return false;
		}
		el.title = '';
	}
}

function initTooltips() {
	clearTimeout(ttTimer);
	var spans = document.getElementsByTagName('span');
	for (var i=0;i < spans.length;i++) {
		var spanEl = spans.item(i);
		if (spanEl.className) {
			var spanClass = spanEl.className
			if (spanClass.indexOf('ttIcon')>-1) {
				spanEl.hasBox = 1;
				attachTtEvents(spanEl);
			}
		}
	}
	if ((parseInt(navigator.appVersion)<=6) && (navigator.userAgent.indexOf("MSIE")>-1)) {
		initTtIframe();
	}
}

function initTtIframe() {
	if (document.getElementById) {
		var elTt = document.getElementById('tooltip');
		if (elTt) {
			if (!elTt.iframeEl) {
				var iframeEl = document.createElement('IFRAME');
				iframeEl.src = '/lib/ssi/layout/iframe.htm';
				iframeEl.frameBorder = '0';
				iframeEl.style.display = 'none';
				iframeEl.style.position = 'absolute';
				iframeEl.style.filter = 'progid:DXImageTransform.Microsoft.Alpha(style=0,opacity=0)';
				elTt.iframeEl = elTt.parentNode.insertBefore(iframeEl, elTt);
			}
		}
	}
}

function waitTooltips() {
	ttTimer = setTimeout('initTooltips()', 50);
}

addLoadEvent(waitTooltips);

