/* IMPORTANT: Put script after tooltip div or put tooltip div just before . */ var dom = (document.getElementById) ? true : false; var ns5 = (!document.all && dom || window.opera) ? true: false; var ie5 = ((navigator.userAgent.indexOf("MSIE")>-1) && dom) ? true : false; var ie4 = (document.all && !dom) ? true : false; var nodyn = (!ns5 && !ie4 && !ie5 && !dom) ? true : false; var origWidth, origHeight; // avoid error of passing event object in older browsers if (nodyn) { event = "nope" } /////////////////////// CUSTOMIZE HERE //////////////////// // settings for tooltip // Do you want tip to move when mouse moves over link? var tipFollowMouse= true; // Be sure to set tipWidth wide enough for widest image var tipWidth= 450; var offX= 20; // how far from mouse to show tip var offY= 12; var tipBgColor= "#E7E7E7"; var tipBorderColor= "#999999"; var tipBorderWidth= 1; var tipBorderStyle= "solid"; var tipPadding= 1; //////////////////// START OF DETAIL DEFINITION /////////////////// // tooltip content goes here (image, description, optional bgColor, optional textcolor) var details = new Array(); // multi-dimensional arrays containing: // background-color for the left bar // title text // descrption // speaker name // speaker function // recommenation //////////////////// END OF DETAIL DEFINITION /////////////////// var table = '\ \ \ \ \ \ \ \

\ \ [TR_LIST]\
\
'; var trSpacer = '\ \ \ '; var trLine = '\ \ \ \ \ \ \ \ \ '; var trTitle = '\ \ [TITLE][SHORTDESCRIPTION]\ '; var trDescription = '\ \ [LONGDESCRIPTION]\ '; var trSpeaker = '\ \ [SPEAKER]
[FUNCTION]\ '; var trTarget = '\ \ [TARGET]\ '; var trMax = '\ \ Teilnehmerzahl beschränkt auf [MAX]\ '; //////////////////////////////////////////////////////////// // initTip - initialization for tooltip. // Global variables for tooltip. // Set styles // Set up mousemove capture if tipFollowMouse set true. //////////////////////////////////////////////////////////// var tooltip, tipcss; function initTip() { if (nodyn) return; tooltip = (ie4)? document.all['tipDiv']: (ie5||ns5)? document.getElementById('tipDiv'): null; tipcss = tooltip.style; if (ie4||ie5||ns5) { // ns4 would lose all this on rewrites tipcss.width = tipWidth+"px"; tipcss.backgroundColor = tipBgColor; tipcss.borderColor = tipBorderColor; tipcss.borderWidth = tipBorderWidth+"px"; tipcss.padding = tipPadding+"px"; tipcss.borderStyle = tipBorderStyle; } if (tooltip&&tipFollowMouse) { document.onmousemove = trackMouse; } } window.onload = initTip; ///////////////////////////////////////////////// // showDetails function // Assembles content for tooltip and writes // it to tipDiv ///////////////////////////////////////////////// var t1,t2; // for setTimeouts var tipOn = false; // check if over tooltip link function showDetails(evt, key) { if (!tooltip) return; if (t1) clearTimeout(t1); if (t2) clearTimeout(t2); tipOn = true; if (ie4||ie5||ns5) { var item = details[key]; var trList = ""; var trTemp = ""; var tableMain = ""; // title trTemp = (item.title != "") ? trTitle.replace("[TITLE]", item.title) : ""; trTemp = (item.shortDescription != "" && item.shortDescription != item.longDescription) ? trTemp.replace("[SHORTDESCRIPTION]", " – " + item.shortDescription) : trTemp.replace("[SHORTDESCRIPTION]", ""); trTemp += (trTemp != "") ? trSpacer : ""; trList += trTemp; // description trList += (item.longDescription != "") ? trDescription.replace("[LONGDESCRIPTION]", item.longDescription) : ""; // hp-speaker trList += (item.hpSpeaker != "") ? trLine + trSpeaker.replace("[SPEAKER]", item.hpSpeaker).replace("[FUNCTION]", item.hpSpeakerFunction) : ""; // ext-speaker trList += (item.extSpeaker != "") ? trLine + trSpeaker.replace("[SPEAKER]", item.extSpeaker).replace("[FUNCTION]", item.extSpeakerFunction) : ""; // target trList += (item.target != "") ? trLine + trTarget.replace("[TARGET]", item.target) : ""; // max participants trList += (item.max > 0) ? trLine + trMax.replace("[MAX]", item.max) : ""; tableMain = table.replace("[COLOR]", (item.color != "transparent") ? item.color : "#0066FF"); tableMain = tableMain.replace("[TR_LIST]", trList); tooltip.innerHTML = tableMain; } if (!tipFollowMouse) positionTip(evt); else t1=setTimeout("tipcss.visibility='visible'",100); } var mouseX, mouseY; function trackMouse(evt) { standardbody=(document.compatMode=="CSS1Compat")? document.documentElement : document.body //create reference to common "body" across doctypes mouseX = (ns5)? evt.pageX: window.event.clientX + standardbody.scrollLeft; mouseY = (ns5)? evt.pageY: window.event.clientY + standardbody.scrollTop; if (tipOn) positionTip(evt); } ///////////////////////////////////////////////////////////// // positionTip function // If tipFollowMouse set false, so trackMouse function // not being used, get position of mouseover event. // Calculations use mouseover event position, // offset amounts and tooltip width to position // tooltip within window. ///////////////////////////////////////////////////////////// function positionTip(evt) { if (!tipFollowMouse) { mouseX = (ns5)? evt.pageX: window.event.clientX + standardbody.scrollLeft; mouseY = (ns5)? evt.pageY: window.event.clientY + standardbody.scrollTop; } // tooltip width and height var tpWd = (ie4||ie5)? tooltip.clientWidth: tooltip.offsetWidth; var tpHt = (ie4||ie5)? tooltip.clientHeight: tooltip.offsetHeight; // document area in view (subtract scrollbar width for ns) var winWd = (ns5)? window.innerWidth-20+window.pageXOffset: standardbody.clientWidth+standardbody.scrollLeft; var winHt = (ns5)? window.innerHeight-20+window.pageYOffset: standardbody.clientHeight+standardbody.scrollTop; // check mouse position against tip and window dimensions // and position the tooltip if ((mouseX+offX+tpWd)>winWd) tipcss.left = mouseX-(tpWd+offX)+"px"; else tipcss.left = mouseX+offX+"px"; if ((mouseY+offY+tpHt)>winHt) tipcss.top = winHt-(tpHt+offY)+"px"; else tipcss.top = mouseY+offY+"px"; if (!tipFollowMouse) t1=setTimeout("tipcss.visibility='visible'",100); } function hideDetails() { if (!tooltip) return; t2=setTimeout("tipcss.visibility='hidden'",100); tipOn = false; } document.write('')