var pageLoaded=true;
function activateTooltip(ac,event,tooltip,width,pic)
{
   if (!pageLoaded) return;
   if (tooltip=='') return;
   if (ac.getAttribute('title')) ac.setAttribute('title','');

   var tooltipElement;
   if (ac.tooltipId)
   {
      tooltipElement=document.getElementById(ac.tooltipId);
   } else
   {
      tooltipElement=document.createElement("div");
      tooltipElement.style.left='5px';
      tooltipElement.style.top='5px';
      tooltipElement.className="ocp_tooltip";
      tooltipElement.innerHTML=tooltip;
      if (pic)
      {
         var img=document.createElement('img');
         img.src=pic;
         img.style.position='absolute';
         img.style.right='0px';
         img.style.top='0px';
         tooltipElement.appendChild(img);
      }
      if ((is_ie()) || (width=='auto')) tooltipElement.style.width=width; else tooltipElement.style.maxWidth=width;
      tooltipElement.style.position='absolute';
      tooltipElement.id=Math.floor(Math.random()*1000);
      ac.tooltipId=tooltipElement.id;
      document.body.appendChild(tooltipElement);
   }
   tooltipElement.style.display='block';

   repositionTooltip(ac,event);
}
function repositionTooltip(ac,event)
{
   if (!pageLoaded) return;
   if (!ac.tooltipId) return;

   var tooltipElement=document.getElementById(ac.tooltipId);
   if (tooltipElement)
   {
      var x=(event.type=='focus')?(getWindowScrollX()+getWindowWidth()/2):(getMouseX(event)+10);
      var y=(event.type=='focus')?(getWindowScrollY()+getWindowHeight()/2-40):(getMouseY(event)+10);
      var x_excess=x-getWindowWidth()-getWindowScrollX()+tooltipElement.scrollWidth+10;
      if (x_excess>0) x-=x_excess;
      var y_excess=y-getWindowHeight()-getWindowScrollY()+tooltipElement.scrollHeight+10;
      if (y_excess>0) y-=y_excess;
      tooltipElement.style.left=x+'px';
      tooltipElement.style.top=y+'px';
   }
}
function deactivateTooltip(ac,event)
{
   if ((!pageLoaded) || (!ac.tooltipId)) return;

   var tooltipElement=document.getElementById(ac.tooltipId);
   if (tooltipElement) tooltipElement.style.display='none';
}

function resizeFrame(name)
{
   var frame_element=document.getElementById(name);
   var frame_window;
   if (top.frames[name]) frame_window=top.frames[name]; else if (window.frames[name]) frame_window=window.frames[name]; else return;
   if ((frame_element) && (frame_window) && (frame_window.document) && (frame_window.document.body))
   {
      var h=frame_window.document.body.scrollHeight;
      if ((h)+'px'!=frame_element.style.height)
      {
         frame_element.style.height=(h)+'px';
         if (element_global) element_global.style.height='auto';
      }
   }
}
// Browser sniffing
function is_opera()
{
   return browser_matches('opera');
}
function is_ie()
{
   return browser_matches('ie');
}
function browser_matches(code)
{
   var browser=navigator.userAgent.toLowerCase();
   var os=navigator.platform.toLowerCase()+' '+browser;

   var _is_opera=browser.indexOf('opera')!=-1;
   var is_konqueror=browser.indexOf('konqueror')!=-1;
   var is_safari=browser.indexOf('applewebkit')!=-1;
   var is_gecko=(browser.indexOf('gecko')!=-1) && !_is_opera && !is_konqueror && !is_safari;
   var _is_ie=(browser.indexOf('msie')!=-1) && !_is_opera;
   var is_ie_old=(browser.indexOf('msie 7')==-1) && _is_ie;
   var is_ie5=(browser.indexOf('msie 5')!=-1) && _is_ie;
   var is_ie_new=(!is_ie_old) && _is_ie;

   switch (code)
   {
      case 'no_alpha_ie':
         // By Erik Arvidsson
         return ((/MSIE ((5\.5)|[6])/.test(navigator.userAgent)) && (navigator.platform=="Win32") && (!_is_opera));
      case 'wysiwyg':
         return _is_ie || is_gecko;
      case 'windows':
         return os.indexOf('windows')!=-1 || os.indexOf('win32')!=-1;
      case 'mac':
         return os.indexOf('mac')!=-1;
      case 'linux':
         return os.indexOf('linux')!=-1;
      case 'odd_os':
         return (os.indexOf('windows')==-1) && (os.indexOf('mac')==-1) && (os.indexOf('linux')==-1);
      case 'opera':
         return _is_opera;
      case 'ie':
         return _is_ie;
      case 'ie5':
         return is_ie5;
      case 'ie_old':
         return is_ie_old;
      case 'ie_new':
         return is_ie_new;
      case 'has_artificial_monopoly':
         return _is_ie;
      case 'has_fanboys':
         return is_gecko;
      case 'gecko':
         return is_gecko;
      case 'konqueror':
         return is_konqueror;
      case 'safari':
         return is_safari;
      case 'odd_browser':
         return !_is_opera && !is_konqueror && !is_safari && !is_gecko && !_is_ie;
      case 'quirk__internalised_list_indent':
         return is_gecko;
      case 'quirk__list_indent_in_ul_instead_of_li':
         return _is_opera;
   }

   // Should never get here
   return false;
}
// Dimension functions
function getMouseX(event)
{
   return event.pageX?event.pageX:event.clientX+getWindowScrollX();
}
function getMouseY(event)
{
   return event.pageY?event.pageY:event.clientY+getWindowScrollY();
}
function getWindowWidth()
{
   if (window.innerWidth) return window.innerWidth-18;
   if ((document.documentElement) && (document.documentElement.clientWidth)) return document.documentElement.clientWidth;
   if ((document.body) && (document.body.clientWidth)) return document.body.clientWidth;
   return 0;
}
function getWindowHeight()
{
   if (window.innerHeight) return window.innerHeight-18;
   if ((document.documentElement) && (document.documentElement.clientHeight)) return document.documentElement.clientHeight;
   if ((document.body) && (document.body.clientHeight)) return document.body.clientHeight;
   return 0;
}
function getWindowScrollWidth()
{
   return document.body.scrollWidth;
}
function getWindowScrollHeight()
{
   return document.body.scrollHeight;
}
function getWindowScrollX()
{
  	if (window.pageXOffset) return window.pageXOffset;
  	if ((document.documentElement) && (document.documentElement.scrollLeft)) return document.documentElement.scrollLeft;
  	if ((document.body) && (document.body.scrollLeft)) return document.body.scrollLeft;
  	if (window.scrollX) return window.scrollX;
   return 0;
}
function getWindowScrollY()
{
  	if (window.pageYOffset) return window.pageYOffset;
  	if ((document.documentElement) && (document.documentElement.scrollTop)) return document.documentElement.scrollTop;
  	if ((document.body) && (document.body.scrollTop)) return document.body.scrollTop;
  	if (window.scrollTop) return window.scrollTop;
   return 0;
}
function findPosX(obj) // Courtesy of quirksmode
{
	var curleft=0;
	if (obj.offsetParent)
	{
		while (obj.offsetParent)
		{
		   if ((obj.style.position=='absolute') && (obj.style.left.indexOf('px')!=-1))
		   {
		      curleft+=sts(obj.style.left);
		      break;
		   }
			curleft+=obj.offsetLeft
			obj=obj.offsetParent;
		}
	}
	else if (obj.x) curleft+=obj.x;
	return curleft;
}
function findPosY(obj) // Courtesy of quirksmode
{
	var curtop = 0;
	if (obj.offsetParent)
	{
		while (obj.offsetParent)
		{
		   if ((obj.style.position=='absolute') && (obj.style.top.indexOf('px')!=-1))
		   {
		      curtop+=sts(obj.style.top);
		      break;
		   }
			curtop+=obj.offsetTop
			obj=obj.offsetParent;
		}
	}
	else if (obj.y) curtop+=obj.y;
	return curtop;
}
function findWidth(obj)
{
   return obj.offsetWidth;
}
function findHeight(obj)
{
   return obj.offsetHeight;
}

function enter_pressed(event,altChar)
{
   if (!event) event=window.event;
   if ((altChar) && (((event.which) && (event.which==altChar.charCodeAt(0))) || ((event.keyCode) && (event.keyCode==altChar.charCodeAt(0))))) return true;
   return (((event.which) && (event.which==13)) || ((event.keyCode) && (event.keyCode==13)));
}
