var _baseUri='';
var _timeOnPageUpdateInterval=10;
var numUpdates=0;
if(typeof baseUri!='undefined'){
	_baseUri=baseUri;
}
if(typeof timeOnPageUpdateInterval!='undefined'){
	_timeOnPageUpdateInterval=timeOnPageUpdateInterval;
}
function updateInnerHTML(url,divTag){
	var myAjax = new Ajax.Updater(
	   divTag, 
			url, 
			{
				method: 'get',
				parameters: 'www=yes',
				evalScripts:true
			});
}
var trackBehaviorUrl=_baseUri+'TrackBehavior.do?type=';
function trackClick(source,detail,rid,elapsedTime){
	trackBehavior('click',source,detail,rid,elapsedTime,true);
}
function trackTabClick(source,detail,rid,elapsedTime){
	trackBehavior('click',source,detail,rid,elapsedTime,false);
}
function trackHover(source,detail,rid){
	trackBehavior('hover',source,detail,rid,'',false);
}
function trackView(source,detail,rid,elapsedTime){
	trackBehavior('view',source,detail,rid,elapsedTime,false);
	//setTimeout("trackTime(_timeOnPageUpdateInterval)",_timeOnPageUpdateInterval*1000);
}
function trackTime(elapsedTime){
	numUpdates++;
	trackBehavior('time','','','',elapsedTime,false);
	if(numUpdates<30)
		setTimeout("trackTime(_timeOnPageUpdateInterval)",_timeOnPageUpdateInterval*1000);
}
function trackBehavior(type,source,detail,rid,elapsedTime,synch){	
	var url=trackBehaviorUrl+type+'&source='+source+'&detail='+escape(detail)+'&rid='+rid+'&elapsedTime='+elapsedTime;
	if(synch){
		var myAjax = new Ajax.Updater(
	   'dummydivtag', 
			url, 
			{
				asynchronous: false,
				method: 'get',
				parameters: 'www=yes'
			});
	}else{
		var myAjax = new Ajax.Request(
				url, 
				{
					asynchronous: false,
					method: 'get', 
					onComplete: handleTBSuccess
				});
	}
	return false;
}
var handleTBSuccess = function(o){}

var originalFirstChild;
var pendingT;
function ajaxPopup(which, url, x, y, delay) {
  if (typeof(originalFirstChild) == 'undefined') {
    originalFirstChild = document.body.firstChild;
  }
  x = document.all ? (event.clientX + document.body.scrollLeft) : x;
  y = document.all ? (event.clientY + document.body.scrollTop) : y;
  element = document.createElement('div');
  element.style.position = 'absolute';
  element.style.zIndex = 1000;
  element.style.visibility = 'hidden';
  excessWidth = 0;
  if (document.all) {
    excessWidth = 50;
  }
  excessHeight = 20;

  var myAjax = new Ajax.Updater(
	   element, 
			url, 
			{
				asynchronous: false,
				method: 'get'
			});
			
  //element.innerHTML = '<div class="p1"><table width="300" cellspacing="0" cellpadding="0" border="0"><tr><td><table width="100%"><tr><td><span class="p2">' + unescape(string) + '</span></td></tr></table></td></tr></table></div>';
  //alert('html:'+element.innerHTML);
  renderedElement = document.body.insertBefore(element, document.body.firstChild);
  renderedWidth = renderedElement.offsetWidth;
  renderedHeight = renderedElement.offsetHeight;

  overFlowX = x + renderedWidth + excessWidth - document.body.offsetWidth;
  x = overFlowX > 0 ? x - overFlowX : x;

  overFlowY = y + renderedHeight + excessHeight - window.innerHeight - window.pageYOffset;
  y = overFlowY > 0 ? y - overFlowY : y;

  renderedElement.style.top = (y + 15) + 'px';
  renderedElement.style.left = (x + 15) + 'px';

  if (pendingT) {
    clearTimeout(pendingT);
  }
  pendingT=setTimeout("renderedElement.style.visibility = 'visible'", delay);
  alert('here');
}

function destroyAjaxPopup() {
  if (document.body.firstChild != originalFirstChild) {
    document.body.removeChild(document.body.firstChild);
    if (pendingT) {
      clearTimeout(pendingT);
    }
  }
}