/*

var Timeout = 0;	

function getPosition(e) { 
    //get mouse pointer position
    e = e || window.event;
    var cursor = {x:0, y:0};
    if (e.pageX || e.pageY) {
        cursor.x = e.pageX;
        cursor.y = e.pageY;
    } 
    else {
        var de = document.documentElement;
        var b = document.body;
        cursor.x = e.clientX + 
            (de.scrollLeft || b.scrollLeft) - (de.clientLeft || 0);
        cursor.y = e.clientY + 
            (de.scrollTop || b.scrollTop) - (de.clientTop || 0);
    }
    return cursor;
}
*/

function getWindowWidth() {
	if(navigator.appName == "Microsoft Internet Explorer") {
		return document.body.clientWidth;
	} else {
		return window.innerWidth;
	}
}

function getWindowHeight() {
	if(navigator.appName == "Microsoft Internet Explorer") {
		return document.body.clientHeight;
	} else {
		return window.innerHeight;
	}
}


// define array of objects to validate

var PageObjects = new Array();

function AddPageObject(elemname, tttext)
{
	var o = new Object();
	o.Name = elemname;
	o.regtipText = tttext;

	PageObjects.push(o);
}


// regtip functionality

var regtip = {
	Show :	function(obj)
			{
				//alert(obj.id);
				var i;
				var offsetX = -200;
				var offsetY = -30;
				
				
				//place tooltip on the opposite side if the mouse pointer is near right/bottom edge of the page
				//if (DL_GetElementLeft(document.getElementById(obj.id)) + 260 > getWindowWidth()) {
					//alert("place left");
					//offsetX = offsetX - 280;
				//}
				//if (DL_GetElementTop(document.getElementById(obj.id)) - document.body.scrollTop + 130 > getWindowHeight()) {
					//alert("place up");
					//offsetY = offsetY - 120;
				//}
				
				for(i = 0; i < PageObjects.length; i++)
					if(PageObjects[i].Name == obj.id) {
						break;
					}
	
				if(i < PageObjects.length)
				{
					tt = PageObjects[i].regtipText;
					
					if(tt != null) {
						this.Set(tt, DL_GetElementLeft(document.getElementById(obj.id))+offsetX, DL_GetElementTop(obj)+offsetY); // xxxxxxxxx
					} 
				}
				
				return true;
			},
	Hide :	function() { this.Set("", -500, -500); },
	Set :	function(text, x, y)
			{
				var content = document.getElementById('regtipcontent');
				content.innerHTML = text;
				var tt = document.getElementById('regtip');
				var ttend = document.getElementById('regtipend');
				var h = DL_GetElementTop(ttend)+3 - DL_GetElementTop(tt);
				tt.style.left = x;
				tt.style.top = y - h/2;
			}
	}


function DL_GetElementLeft(eElement)
{
   if (!eElement && this)  eElement = this;
   
   var DL_bIE = document.all ? true : false; 
   var nLeftPos = eElement.offsetLeft;       
   var eParElement = eElement.offsetParent;  

   while (eParElement != null)
   {                                         
      if(DL_bIE)                             
      {
         if( (eParElement.tagName != "TABLE") && (eParElement.tagName != "BODY") )
         {                                   
            nLeftPos += eParElement.clientLeft; 
         }
      }
      else                                   
      {
         if(eParElement.tagName == "TABLE")  
         {                                   
            var nParBorder = parseInt(eParElement.border);
            if(isNaN(nParBorder))            
            {                                
               var nParFrame = eParElement.getAttribute('frame');
               if(nParFrame != null)         
               {
                  nLeftPos += 1;             
               }
            }
            else if(nParBorder > 0)          
            {
               nLeftPos += nParBorder;       
            }
         }
      }
      nLeftPos += eParElement.offsetLeft;    
      eParElement = eParElement.offsetParent; 
   }                                         
   return nLeftPos;                          
}

/* returns true topPos */
function DL_GetElementTop(eElement)
{
   if (!eElement && this) eElement = this; 
   
   var DL_bIE = document.all ? true : false; 
   var nTopPos = eElement.offsetTop;         
   var eParElement = eElement.offsetParent;  

   while (eParElement != null)
   {                                         
      if(DL_bIE)                             
      {
         if( (eParElement.tagName != "TABLE") && (eParElement.tagName != "BODY") )
         {                                   
            nTopPos += eParElement.clientTop; 
         }
      }
      else                                   
      {
         if(eParElement.tagName == "TABLE")  
         {                                   
            var nParBorder = parseInt(eParElement.border);
            if(isNaN(nParBorder))            
            {                                
               var nParFrame = eParElement.getAttribute('frame');
               if(nParFrame != null)         
               {
                  nTopPos += 1;              
               }
            }
            else if(nParBorder > 0)          
            {
               nTopPos += nParBorder;        
            }
         }
      }

      nTopPos += eParElement.offsetTop;      
      eParElement = eParElement.offsetParent; 
   }                                         
   return nTopPos;                           
}
