X-Git-Url: http://source.jalview.org/gitweb/?a=blobdiff_plain;f=examples%2Ftestdata%2Fphyre2results%2F56da5616b4559c93%2Fcss%2Fskinnytip.js;fp=examples%2Ftestdata%2Fphyre2results%2F56da5616b4559c93%2Fcss%2Fskinnytip.js;h=a865217f700dd91e9366c8c83f645f0b9da4f804;hb=42ca4613b0a07bab7c27a61b11acafdc9a3c27d1;hp=0000000000000000000000000000000000000000;hpb=f1ad88cc8d9b26244086e5c24b73fb80b0ff0a38;p=jalview.git diff --git a/examples/testdata/phyre2results/56da5616b4559c93/css/skinnytip.js b/examples/testdata/phyre2results/56da5616b4559c93/css/skinnytip.js new file mode 100644 index 0000000..a865217 --- /dev/null +++ b/examples/testdata/phyre2results/56da5616b4559c93/css/skinnytip.js @@ -0,0 +1,268 @@ +///////////////////////////////////////////////////////////////////// +//SkinnyTip 2.00 - Elliott Brueggeman - April 19, 2007 +//JavaScript Popup Tooltip Library +//Project Homepage: http://www.ebrueggeman.com/skinnytip +//Documentation available on project homepage +//////////////////////////////////////////////////////////////////// +//Rights: Free for personal use and corporate use if sites +//include a link to the project homepage +////////////////////////////////////////////////////////////////////// + + +//Call mouse capture handler function on page load +captureMouse(); + +//CUSTOM VARS - Initialized below +var v_divname; +var v_text; +var v_title; +var v_xoffset; +var v_yoffset; +var v_backcolor; +var v_bordercolor; +var v_textcolor; +var v_titletextcolor; +var v_width; +var v_border; +var v_title_padding; +var v_content_padding; +var v_fontface; +var v_fontsize; +var v_titlefontsize; + +//INTERNAL VARIABLES +var v_xcoordinate = 0; +var v_ycoordinate = 0; +var v_visible = 0; +var v_havemouse = 0; +var v_layer = null; + +function tooltip(displaytext, title, commands) { + //Reset variables for this tool tip + init_tooltip(); + + //Title and Text + v_title=title; + v_text=displaytext; + + //Parse commands if any + parseCommands(commands); + + + if (v_layer) { + v_layer=getLayer(v_divname); + } + + if (!(v_layer=createDivContainer())) { + return false; + } + + mainMethod(); +} + +function init_tooltip() { + + v_divname = 'tiplayer'; + v_text = 'Default Text'; + v_title = ''; + + //UI Variables + v_xoffset = 15; + v_yoffset = 15; + v_backcolor = '#f6f5ee'; + v_bordercolor = '#88344b'; + v_textcolor = '#000000'; + v_titletextcolor = '#000000'; + v_width = 300; + + v_border = 2; + v_title_padding = '1px'; + v_content_padding = '1px 3px'; + + v_fontface = 'Arial, Helvetica, Sans-Serif'; + v_fontsize = 14; + v_titlefontsize = 14; + + //SYSTEM VARIABLES + v_visible = 0; + v_layer = null; +} + +function parseCommands(commands) { + if (commands != null) { + var comArray = commands.split(','); + for (var i = 0; i < comArray.length; i++) { + var args = comArray[i].split(':'); + eval('v_' + trimWhitespace(args[0]) + '="' + trimWhitespace(args[1]) + '"'); + } + } +} + +// Clears popups if appropriate +function hideTip() { + if (v_visible == 1) { + if (v_layer != null) { + v_layer.style.visibility = 'hidden'; + v_visible = 0; + } + } + return true; +} + +function mainMethod() { + v_visible = 0; + + var html = makeHTML(v_text, v_title); + createPopup(html); + + //if we have mouse coordinates, position layer and make visible + if (v_havemouse == 1) { + positionLayer(); + v_visible = 1; + v_layer.style.visibility = 'visible'; + } +} + +function makeHTML(text, title) { + + var container_style = 'width:' + v_width + 'px;'; + container_style += 'border:' + v_border + 'px solid ' + v_bordercolor + ';'; + container_style += 'background-color:' + v_backcolor + ';'; + container_style += 'font-family:' + v_fontface + ';'; + container_style += 'font-size:' + v_fontsize + 'px;'; + + var title_style = 'background-color:' + v_bordercolor + ';'; + title_style += 'padding:' + v_title_padding + ';'; + title_style += 'color:' + v_titletextcolor + ';'; + + var content_style = 'padding:' + v_content_padding + ';'; + content_style += 'color:' + v_textcolor + ';'; + + var txt = '
'; + if (title!=null && title.length>0) { + txt += '
' + title + '
'; + } + txt += '
' + text + '
'; + txt += '
'; + + return txt; +} + +//Positions popup according to mouse input +function positionLayer() { + + var placeX = 300; + var placeY = 300; + + //get final placement + placeX = horizontalPlacement(); + placeY = verticalPlacement(); + + //Move the object + v_layer.style.left = placeX + 'px'; + v_layer.style.top = placeY + 'px'; +} + +//called when the mouse moves +//sets mouse related variables +function mouseMoveHandler(e) { + if (!e) { + e = event; + } + if (e.clientX) { + //if there is an x pos property + //GET MOUSE LOCATION + v_xcoordinate = mouseX(e); + v_ycoordinate = mouseY(e); + v_havemouse = 1; + } + if (v_visible == 1) { + positionLayer(); + } +} + +//get mouse x coordinate +function mouseX(evt) { + if (evt.pageX) return evt.pageX; + else if (evt.clientX) { + return evt.clientX + (document.documentElement.scrollLeft ? + document.documentElement.scrollLeft : + document.body.scrollLeft); + } + else { + return null; + } +} + +//get mouse y coordinate +function mouseY(evt) { + if (evt.pageY) { + return evt.pageY; + } + else if (evt.clientY) { + return evt.clientY + (document.documentElement.scrollTop ? + document.documentElement.scrollTop : + document.body.scrollTop); + } + else { + return null; + } +} + +//Set mouse handler +function captureMouse() { + document.onmousemove = mouseMoveHandler; +} + +//Creates the popup +function createPopup(input) { + + var popupwidth = v_width; + var text; + var zindex; + + text = createBackLayer(popupwidth,zindex++); + text += '
' + input + '
'; + + if (typeof v_layer.innerHTML != 'undefined') { + v_layer.innerHTML = text; + } + + //After writing html measure height of backlayer to set height of iframe + var backlayer=self.document.getElementById("backdrop"); + var container=self.document.getElementById("skinnytip_container"); + backlayer.height = container.offsetHeight; +} + +//Back layer prevents forms from showing through popups +function createBackLayer(width, Z) { + //Create backdrop with 0 height + return ''; +} + +//get horizontal box placement +function horizontalPlacement() { + placeX = v_xcoordinate + v_xoffset; + return placeX; +} + +//get vertical box placement +function verticalPlacement() { + return v_ycoordinate + v_yoffset; +} + +// create the div container for popup content if it doesn't exist +function createDivContainer() { + var divContainer = self.document.getElementById(v_divname); + return divContainer; +} + +function trimWhitespace(str) { + while(str.charAt(0) == (" ") ) { + str = str.substring(1); + } + while(str.charAt(str.length-1) == " " ) { + str = str.substring(0,str.length-1); + } + return str; +}