// adjust horizontal and vertical offsets here
// (distance from mouseover event which activates tooltip)
Tooltip.offX = 0;  
Tooltip.offY = 8;
Tooltip.followMouse = false;  // must be turned off for hover-tip

// tooltip content variables
var fondbolag = '<a href="http://www.robur.se">Robur</a><br/><a href="http://www.handelsbanken.se/fonder">Handelsbanken Fonder</a><br/><a href="http://www.seb.se/pow/borsfinans/default.asp?ss=/pow/borsfinans/fondkurslista/kurslista.asp">S E B Fonder</a><br/><a href="http://www.skandia.se">Skandias fondutbud</a> (Alla f&ouml;rvaltare)';
var stockholm = '<b>Large Cap</b>, svenska aktier<br/><b>Mid Cap</b>, svenska aktier<br/><b>Small Cap</b>, svenska aktier<br/><b>First North</b>, Norden<br/><b>NGM Equity</b><br/><br/>Alla kurser &auml;r justerade f&ouml;r splittar och emissioner.';
var periodlangd = 'Hur l&aring;ng period bak&aring;t som anv&auml;nds n&auml;r<br/>man optimerar modellernas parametrar';
var parametrar = 'F&ouml;r varje modell kan man justera ett antal parametrar (inst&auml;llningar).<br/>Parametrarna best&auml;mmer bl.a. p&aring; vilket s&auml;tt och hur snabbt modellen<br/>ska reagera p&aring; kursr&ouml;relser';
var optama = 'L&auml;s mer om <span class="orange">OptAMA</span> <a href="http://www.optimalbors.se/adaptivt_glidande_medelvaerde.htm">h&auml;r</a>';
var effektiv = 'Med en effektiv marknad menas en marknad d&auml;r alla akt&ouml;rer<br/>handlar rationellt och har tillg&aring;ng till samma information';
var price_gap = 'Pl&ouml;tslig kraftig kursf&ouml;r&auml;ndring till en ny niv&aring;<br/>efter en period d&aring; det inte har varit n&aring;gon trend';
var click_here = 'Klicka f&ouml;r att f&ouml;rstora<br/> och f&aring; mer info!';
var redgreen = 'N&auml;r det &auml;r gr&ouml;nt visar <span class="orange">Optimal B&ouml;rs</span> att du ska k&ouml;pa/beh&aring;lla aktien.<br/>N&auml;r det blir r&ouml;tt s&aring; uppmanar programmet dig att s&auml;lja.<br/>Den bl&aring;a kurvan visar kapitalutvecklingen j&auml;mf&ouml;rt med aktiens<br/>v&auml;rdeutveckling(svart).';
var advanced = '<ul><li>Courtage</li><li>Robust optimering</li><li>Begr&auml;nsa &ouml;veranpassning</li><li>Realitetssimulering</li><li>Hur m&aring;nga handelsdagar dr&ouml;jer det innan en aff&auml;r &auml;r genomf&ouml;rd?</li><li>Har kurshistorik n&auml;rmare i tiden st&ouml;rre betydelse &auml;n kurshistorik l&auml;ngre tid tillbaka?</li><li>Startvillkor</li><li>Parameterintervall som unders&ouml;ks</li><li>Optimeringsnoggrannhet</li></ul>';
var adaptive = 'Optimal B&ouml;rs adaptivt glidande medelv&auml;rde';
var ma = 'Ett glidande medelv&auml;rde utj&auml;mnar t.ex en aktiekurs. Utj&auml;mningen av signalen(aktiekursen)<br/>minskar p&aring; bruset, men sker till bekostnad av en f&ouml;rdr&ouml;jning. Det enklaste glidande<br/>medelv&auml;rdet utj&auml;mnar en aktiekurs genom att varje dag visa genomsnittet f&ouml;r de senaste<br/>dagarnas slutkurser. Glidande medelv&auml;rden anv&auml;nds inte enbart p&aring; aktiekurser utan &auml;ven<br/>p&aring; andra signaler i modellerna.';
var overadapt = 'Vid optimering finns det risk f&ouml;r att modellerna blir &ouml;veranpassade till<br/>kurshistoriken. Modellerna blir d&aring; bra p&aring; att ge k&ouml;p- och s&auml;ljsignaler<br/>f&ouml;r historiska kursv&auml;rden, men s&auml;mre p&aring; att ge k&ouml;p- och s&auml;ljsignaler<br/>f&ouml;r framtiden.';
var index='OMX Stockholm 30<br/>OMXS All Share<br/>DJ Euro Stoxx 50<br/>DJ Industrial Average<br/>NASDAQ Composite<br/>Nikkei 225<br/>Frankfurt DAX<br/>London FTSE 100<br/>OMX K&ouml;penhamn 20<br/>Oslo All Share<br/>Oslo OBX<br/>S&P MIB Index (Italien)<br/>Madrid General(Spanien)<br/>Paris CAC 40<br/>Wien ATX<br/>RTS Index (Ryssland)<br/>Hong Kong Hang Seng<br/>Hang Seng(China)<br/>Shanghai Composite<br/>Seoul Composite (Sydkorea)<br/>Jakarta Composite (Indonesien)<br/>KLSE Composite (Malaysia)<br/>All Ordinaries(Australien)<br/>BSE Sensex (Indien)<br/>NASDAQ-100<br/>S&P 500 (USA)<br/>S&P 600 SmallCap Index(USA)<br/>S&P TSX Composite (Canada)<br/>MerVal (Argentina)<br/>IPC (Mexico)<br/>Bovespa (Brasilien)<br/>CBOE Gold Index<br/>CBOE Oil Index';
var currencies = '<ul><li>US-Dollar (USD)</li><li>EMU euro (EUR)</li><li>Japanska yen (JPY)</li><li>Brittiska pund (GBP)</li><li>Schweiziska franc (CHF)</li><li>Kanadeniska dollar (CAD)</li><li>Danska kronor (DKK)</li><li>Norska kronor (NOK)</li><li>Svenska kronor (SEK)</li></ul>';
var building = 'Hj&auml;lp oss f&ouml;rb&auml;ttra v&aring;r "B&auml;sta modeller och inst&auml;llningar"/"Rapporter" databas<br/>och du f&aring;r full tillg&aring;ng till Optimal B&ouml;rs GRATIS i 9 m&aring;nader!<br/><br/><a href="http://www.optimaltrader.net/building.htm">Mer info (engelska)</a><br/><br/>Obs! Begr&auml;nsade platser!';

function doTooltip(e, msg) {
  if ( typeof Tooltip == "undefined" || !Tooltip.ready ) return;
  Tooltip.clearTimer();
  var tip = document.getElementById? document.getElementById(Tooltip.tipID): null;
  if ( tip && tip.onmouseout == null ) {
      tip.onmouseout = Tooltip.tipOutCheck;
      tip.onmouseover = Tooltip.clearTimer;
  }
  Tooltip.show(e, msg);
}

function hideTip() {
  if ( typeof Tooltip == "undefined" || !Tooltip.ready ) return;
  Tooltip.timerId = setTimeout("Tooltip.hide()", 100);
}

Tooltip.tipOutCheck = function(e) {
  e = dw_event.DOMit(e);
  // is element moused into contained by tooltip?
  var toEl = e.relatedTarget? e.relatedTarget: e.toElement;
  if ( this != toEl && !contained(toEl, this) ) Tooltip.hide();
}

// returns true of oNode is contained by oCont (container)
function contained(oNode, oCont) {
  if (!oNode) return; // in case alt-tab away while hovering (prevent error)
  while ( oNode = oNode.parentNode ) if ( oNode == oCont ) return true;
  return false;
}

Tooltip.timerId = 0;
Tooltip.clearTimer = function() {
  if (Tooltip.timerId) { clearTimeout(Tooltip.timerId); Tooltip.timerId = 0; }
}

Tooltip.unHookHover = function () {
    var tip = document.getElementById? document.getElementById(Tooltip.tipID): null;
    if (tip) {
        tip.onmouseover = null; 
        tip.onmouseout = null;
        tip = null;
    }
}

dw_event.add(window, "unload", Tooltip.unHookHover, true);