
CCTooltip.offsetxpoint = -20;
CCTooltip.offsetypoint = 20;
CCTooltip.ie = document.all;
CCTooltip.ns6 = document.getElementById && !document.all;
CCTooltip.enabletip = false;
CCTooltip.currentDivName;
CCTooltip.isHideSearchTip = false;

CCTooltip.width='';

function CCTooltip(text,cssClass,width){
    this.divTooltip = document.createElement('div');
    this.divTooltip.name = 'divTooltip';
    this.divTooltip.id = 'divTooltip';
    this.divTooltip.style.display ='none';
    this.divTooltip.style.zIndex ='99999999';
    this.divTooltip.style.left = '0px';
    this.divTooltip.style.top = '0px';
    this.divTooltip.style.position = 'absolute';
    
    document.body.appendChild(this.divTooltip);
    
    if(!text) text='';
    if (cssClass) this.cssClass=cssClass;
    if (width) this.width=width;
    this.text=text;
    document.onmousemove = this.positiontip;     
}



CCTooltip.ietruebody = function() {
	return (document.compatMode && document.compatMode != 'BackCompat' ) ? document.documentElement : document.body;
}

CCTooltip.prototype.show = function(thetext) {    
    if (CCTooltip.width!='') this.width = CCTooltip.width;
    var cssClass = this.cssClass;
    var thewidth=this.width;
    var divname = this.divTooltip.id;
	if ( !CCTooltip.isHideSearchTip ) {
		CCTooltip.currentDivName = divname;		
		if ( CCTooltip.ie || CCTooltip.ns6 )
			var tipobj = document.all ? document.all[ divname ] : document.getElementById? document.getElementById( divname ) : '';
		if ( CCTooltip.ns6 || CCTooltip.ie ) {
			if ( typeof thewidth != 'undefined' ) tipobj.style.width = thewidth+'px';
			if ( typeof cssClass !='undefined' && cssClass != '') tipobj.className = cssClass;			
			if ( thetext ) {
				tipobj.innerHTML = thetext;				
				CCTooltip.enabletip = true;				
			}
			return false;
		}
	}
	CCTooltip.isHideSearchTip = false;
}

CCTooltip.prototype.positiontip = function( e ) {    
    var tipobj;    
	if ( CCTooltip.ie || CCTooltip.ns6 )
	{	    
	    tipobj = document.all? document.all[ CCTooltip.currentDivName ] : document.getElementById? document.getElementById( CCTooltip.currentDivName ) : '';	    
	}
	if ( tipobj ) {	    
		if ( CCTooltip.enabletip ) {
			var curX = ( CCTooltip.ns6 )? e.pageX : (document.all ? event.x : e.x) + CCTooltip.ietruebody().scrollLeft;
			var curY = ( CCTooltip.ns6 )? e.pageY : (document.all ? event.y : e.y) + CCTooltip.ietruebody().scrollTop;			
			var bottomedge = CCTooltip.ie && !window.opera? CCTooltip.ietruebody().clientHeight- (document.all ? event.clientY : e.clientY)-CCTooltip.offsetypoint : window.innerHeight-e.clientY-CCTooltip.offsetypoint-20;
			var leftedge = ( CCTooltip.offsetxpoint < 0 ) ? CCTooltip.offsetxpoint * ( -1 ) : -1000;
			
			var rightedge = CCTooltip.ie && !window.opera?CCTooltip.ietruebody().clientWidth+CCTooltip.ietruebody().clientLeft : window.innerWidth-e.clientX-CCTooltip.offsetxpoint-20;
            var objRight = (document.all ? event.x : e.x) + tipobj.clientWidth;
			
			
			if ( rightedge < objRight )
			{window.status = '';
				tipobj.style.left = CCTooltip.ie? CCTooltip.ietruebody().scrollLeft+ (document.all ? event.clientX : e.clientX)-tipobj.offsetWidth +'px' : window.pageXOffset+e.clientX-tipobj.offsetWidth+'px';
			}
			else if( curX < leftedge )
			{window.status = '';
			    tipobj.style.left = CCTooltip.ie? CCTooltip.ietruebody().scrollLeft+ (document.all ? event.clientX : e.clientX)-tipobj.offsetWidth +'px' : window.pageXOffset+e.clientX-tipobj.offsetWidth+'px';
			    curY += 25;				
			}
			else
			{
				tipobj.style.left = curX + 'px'
			}

			if ( bottomedge < tipobj.offsetHeight )
				tipobj.style.top = CCTooltip.ie ? CCTooltip.ietruebody().scrollTop+(document.all ? event.clientY : e.clientY)-tipobj.offsetHeight-CCTooltip.offsetypoint+10+ 'px' : window.pageYOffset + e.clientY - tipobj.offsetHeight - CCTooltip.offsetypoint +10+ 'px';
			else
				tipobj.style.top = curY + CCTooltip.offsetypoint +10+ 'px';
			tipobj.style.display = 'block';
		}
		else
			tipobj.style.display = 'none';
	}
}
CCTooltip.prototype.hide = function() {
	if ( CCTooltip.ns6 || CCTooltip.ie ) {
		if ( CCTooltip.ie || CCTooltip.ns6 )
			var tipobj = document.all?document.all[ CCTooltip.currentDivName ] : document.getElementById? document.getElementById( CCTooltip.currentDivName ) : '';
		CCTooltip.enabletip = false;
		if ( tipobj )
			tipobj.style.display = 'none';
	}
}
CCTooltip.prototype.hideSearchTip = function() {
	CCTooltip.isHideSearchTip = true;
	this.hide();
}	
	