// --- Тексты подсказок ---
ToolTip.text = new Array();

// -- Тэги для которых можно создавать подсказки ---
ToolTip.tags = new Array();
ToolTip.tags[0] = 'SPAN';
ToolTip.tags[1] = 'A';
ToolTip.tags[2] = 'IMG';
ToolTip.tags[3] = 'P';
ToolTip.tags[4] = 'DIV';
ToolTip.tags[5] = 'TABLE';
ToolTip.tags[6] = 'TR';
ToolTip.tags[7] = 'TD';
ToolTip.tags[8] = 'FRAME';
ToolTip.tags[10] = 'H1';
ToolTip.tags[11] = 'H2';
ToolTip.tags[12] = 'H3';
ToolTip.tags[13] = 'H4';
ToolTip.tags[14] = 'H5';
ToolTip.tags[15] = 'TH';
ToolTip.tags[16] = 'INPUT';
ToolTip.tags[17] = 'TEXTAREA';
// -- end Тэги для которых можно создавать подсказки ---

// --- Стиль подсказок ---
ToolTip.offsetX=50; //смещения подсказки от курсора
ToolTip.offsetY=5; //
ToolTip.bgColor='#E0E0FF';
ToolTip.borderWidth=1;
ToolTip.borderColor='#002299';
ToolTip.borderStyle='solid';
ToolTip.padding=9;
ToolTip.color = '#000044';
ToolTip.fontFamily = 'Verdana,Geneva,sans-serif';
ToolTip.fontSize = '8pt';
ToolTip.fontWeight = 'normal';
ToolTip.titleBackground = '#002299';
ToolTip.titleColor = '#ffffff';
ToolTip.titleFontFamily = 'Verdana,Geneva,sans-serif';
ToolTip.titleFontSize = '8pt';
ToolTip.ShadowColor 	= '#C0C0C0';
ToolTip.ShadowWidth 	= 5;
// --- end Стиль подсказок ---

// -- Создаем динамические подсказки --
function ToolTip(obj, tooltext) {
  if(!obj||obj.nodeType!=1) throw "Illigal argument exception"; //обьект к кому привязываем подсказку

  //-- Разметка подсказки ---
  var tip=document.createElement("DIV");
  tip.style.position="absolute";
  tip.style.visibility="hidden";
  tip.innerHTML='';
  document.body.appendChild(tip);
  
  //-- события --
  obj.onmouseout=function (ev) {
      tip.style.visibility="hidden";
      tip.innerHTML='';
      tip.id="";
  };
  obj.onmousemove=function(ev) { //если не нужно что бы подскасзка бегала, то onmouseover
      tip.style.visibility="visible";
      if(window.event) ev=window.event;
      tip.style.left=ev.clientX + document.body.scrollLeft + ToolTip.offsetX;
      tip.style.top=ev.clientY + document.body.scrollTop + ToolTip.offsetY;	
      MakeTip(tip, tooltext);
  };
}


// -- Переберем заданные элементы, дадим подказку тем у кого есть аттрибут tooltip --
function initToolTips() {
    var tags, tooltext;
    for(var i=0; i<ToolTip.tags.length; i++) {
       tags=document.body.getElementsByTagName(ToolTip.tags[i]);
       for(var j=0; j<tags.length; j++)
            if((tooltext=tags[j].getAttribute("tooltip"))) ToolTip(tags[j], tooltext);
   }
}

// -- Разметка подсказки --
function MakeTip(tip, tooltext)
{
  tip.innerHTML='';
  tip.id="tool_tip";
  
  //-- Заголовок ---
  title=(tooltext.indexOf(':') != -1) ? tooltext.substring(0,tooltext.indexOf(':')) : '';
  if(title.length!=0)
  {
	tip.innerHTML='<div id="tool_tip_title" style="position:relative;z-index:1;"><table id="tool_tip_title_table" cellspacing=0 cellpadding=0 border=0 style="position:relative;margin:0px;padding:0px;border-width:0px;left:0px;top:0px;line-height:normal;width:auto;"><tr><td id="tool_tip_title_inner" style="position:relative;margin:0px;padding:0px;border-width:0px;left:0px;top:0px;line-height:normal;width:auto;">'+title+'</tr></td></table></div>';
	
	css = document.getElementById("tool_tip_title").style;
	css.background = ToolTip.titleBackground;
	css.paddingTop = "0px";
	css.paddingBottom = "1px";
	css.paddingLeft = css.paddingRight = ToolTip.padding + "px";
	
	css = document.getElementById("tool_tip_title_inner").style;
	css.color = ToolTip.titleColor;
	css.fontFamily = ToolTip.titleFontFamily;
	css.fontSize = ToolTip.titleFontSize;
	css.fontWeight = "bold";
  }
  
  //-- Тело ---
  txt = (tooltext.indexOf(':') != -1) ? tooltext.substring(tooltext.indexOf(':')+1) : tooltext;
  txt = getText(txt); 
  tip.innerHTML=tip.innerHTML+'<div id="tool_tip_body" style="position:relative;z-index:0;"><table cellspacing=0 cellpadding=0 border=0 style="position:relative;margin:0px;padding:0px;border-width:0px;left:0px;top:0px;line-height:normal;width:auto;"><tr><td id="tool_tip_body_inner" style="position:relative;margin:0px;padding:0px;border-width:0px;left:0px;top:0px;line-height:normal;width:auto;">'+txt+'</tr></td></table></div>';
  
  css = document.getElementById("tool_tip_body").style;
  if(ToolTip.borderWidth)
  {
	css.borderColor = ToolTip.borderColor;
	css.borderStyle = ToolTip.borderStyle;
	css.borderWidth = ToolTip.borderWidth + "px";
  }
  if(ToolTip.bgColor.length)
		css.background = ToolTip.bgColor;
  css.padding = ToolTip.padding + "px";
  
  css = document.getElementById("tool_tip_body_inner").style;
  css.color = ToolTip.color;
  css.fontFamily = ToolTip.fontFamily;
  css.fontSize = ToolTip.fontSize;
  css.fontWeight = ToolTip.fontWeight;
	 
  width=document.getElementById("tool_tip").offsetWidth;
  
  //-- Тень ---
  if(ToolTip.ShadowWidth)
  {
	tip.innerHTML=tip.innerHTML+'<div id="tool_tip_shadow_right" style="position:absolute;overflow:hidden;"></div><div id="tool_tip_shadow_bottom" style="position:relative;overflow:hidden;"></div>';
	
  	width += ToolTip.ShadowWidth;
	shadow_off = Math.floor((ToolTip.ShadowWidth * 4) / 3);
	// --Нижняя тень--
	css = document.getElementById("tool_tip_shadow_bottom").style;
	css.left = shadow_off + "px";
	css.width = (width - shadow_off - ToolTip.ShadowWidth) + "px";
	css.height = ToolTip.ShadowWidth + "px";
	css.background = ToolTip.ShadowColor;
	// --Правая тень--
	css = document.getElementById("tool_tip_shadow_right").style;
	css.top = shadow_off + "px";
	css.left = (width - ToolTip.ShadowWidth) + "px";
	css.width = ToolTip.ShadowWidth + "px";
	css.background = ToolTip.ShadowColor;
  }
  
  // --Выравнивание высоты правой тени--
  height = document.getElementById("tool_tip").offsetHeight;
  if(document.getElementById("tool_tip_shadow_right"))
  	document.getElementById("tool_tip_shadow_right").style.height = (height - shadow_off) + "px";	
}
// -- end Разметка подсказки --


  

