From: Claudio Sacerdoti Coen Date: Thu, 16 Sep 2004 15:47:33 +0000 (+0000) Subject: The jsmenu is now under CVS. X-Git-Tag: moogle_mathql~4 X-Git-Url: http://matita.cs.unibo.it/gitweb/?a=commitdiff_plain;h=652fae70919845d39be446a18175715c8ce83831;p=helm.git The jsmenu is now under CVS. --- diff --git a/helm/graphs/jsmenu/HM_Arrays.js b/helm/graphs/jsmenu/HM_Arrays.js new file mode 100644 index 000000000..467506c3d --- /dev/null +++ b/helm/graphs/jsmenu/HM_Arrays.js @@ -0,0 +1,250 @@ + +HM_Array1 = [ +[150,,, +,,,,,,,,,,,,,,,, +1,true], +["Experts","http://www.webreference.com/experts/",1,0,1], +["Contents","http://www.webreference.com/index2.html",1,0,0], +["Services","http://www.webreference.com/index2.html",1,0,1], +["About","http://www.webreference.com/about.html",1,0,0], +["Hot Sites","http://www.webreference.com/hot/",1,0,1] +] + +HM_Array1_1 = [ +[], +["3-D Animation","http://www.webreference.com/3d/",1,0,0], +["Design","http://www.webreference.com/dlab/",1,0,0], +["HTML","http://www.webreference.com/html/",1,0,0], +["JavaScript","http://www.webreference.com/js/",1,0,0], +["Graphics","http://www.webreference.com/graphics/",1,0,0], +["DHTML","http://www.webreference.com/dhtml/",1,0,1], +["Perl","http://www.webreference.com/perl/",1,0,0], +["XML","http://www.webreference.com/xml/",1,0,0] +] + +HM_Array1_3 = [ +[], +["Features","http://www.webreference.com/articles.html",1,0,0], +["Forum","http://www.webreference.com/cgi-bin/Ultimate.cgi?action=intro",1,0,0], +["How-to","http://www.webreference.com/dev/",1,0,0], +["New","http://www.webreference.com/headlines/",1,0,0], +["Hot Sites","http://www.webreference.com/hot/",1,0,0] +] + +HM_Array1_5 = [ +[], +["3-D Animation","http://www.webreference.com/3d/",1,0,0], +["Design","http://www.webreference.com/dlab/",1,0,0], +["HTML","http://www.webreference.com/html/",1,0,0], +["JavaScript","http://www.webreference.com/js/",1,0,0], +["Graphics","http://www.webreference.com/graphics/",1,0,0], +["DHTML","http://www.webreference.com/dhtml/",1,0,1], +["Perl","http://www.webreference.com/perl/",1,0,0], +["XML","http://www.webreference.com/xml/",1,0,0] +] + +HM_Array1_1_6 = [ +[], +["Diner","http://www.webreference.com/dhtml/diner/",1,0,0], +["Dynomat","http://www.webreference.com/dhtml/dynomat/",1,0,0], +["Links","http://www.webreference.com/dhtml/links/",1,0,0] +] + +HM_Array2 = [ +[100, // menu width +"HM_f_CenterMenu('HM_Menu2')", // left_position +90, // top_position +"red", // font_color +"yellow", // mouseover_font_color +"yellow", // background_color +"black", // mouseover_background_color +"blue", // border_color +"green", // separator_color +1, // top_is_permanent +1, // top_is_horizontal +0, // tree_is_horizontal +1, // position_under +1, // top_more_images_visible +1, // tree_more_images_visible +"null", // evaluate_upon_tree_show +"null", // evaluate_upon_tree_hide +, // right_to_left +1], // display_on_click +["Experts","http://www.webreference.com/experts/",1,0,1], +["Contents","http://www.webreference.com/index2.html",1,0,0], +["Services","http://www.webreference.com/index2.html",1,0,1], +["About","http://www.webreference.com/about.html",1,0,1] +] + +HM_Array2_1 = [ +[], +["3-D Animation","http://www.webreference.com/3d/",1,0,0], +["Design","http://www.webreference.com/dlab/",1,0,0], +["HTML","http://www.webreference.com/html/",1,0,0], +["JavaScript","http://www.webreference.com/js/",1,0,0], +["Graphics","http://www.webreference.com/graphics/",1,0,0], +["DHTML","http://www.webreference.com/dhtml/",1,0,0], +["Perl","http://www.webreference.com/perl/",1,0,0], +["XML","http://www.webreference.com/xml/",1,0,0] +] + +HM_Array2_3 = [ +[], +["Features","http://www.webreference.com/articles.html",1,0,0], +["Forum","http://www.webreference.com/cgi-bin/Ultimate.cgi?action=intro",1,0,0], +["How-to","http://www.webreference.com/dev/",1,0,0], +["New","http://www.webreference.com/headlines/",1,0,0], +["Hot Sites","http://www.webreference.com/hot/",1,0,0] +] + +HM_Array2_4 = [ +[], +["Features","http://www.webreference.com/articles.html",1,0,0], +["Forum","http://www.webreference.com/cgi-bin/Ultimate.cgi?action=intro",1,0,0], +["How-to","http://www.webreference.com/dev/",1,0,0], +["New","http://www.webreference.com/headlines/",1,0,0], +["Hot Sites","http://www.webreference.com/hot/",1,0,0] +] + +HM_Array2_1_6 = [ +[], +["Diner","http://www.webreference.com/dhtml/diner/",1,0,0], +["Dynomat","http://www.webreference.com/dhtml/dynomat/",1,0,0], +["Links","http://www.webreference.com/dhtml/links/",1,0,0] +] + +HM_Array3 = [ +[120, // menu width +200, // left_position +300, // top_position +"black", // font_color +"white", // mouseover_font_color +"white", // background_color +"black", // mouseover_background_color +"black", // border_color +"gray", // separator_color +0, // top_is_permanent +0, // top_is_horizontal +0, // tree_is_horizontal +1, // position_under +1, // top_more_images_visible +1, // tree_more_images_visible +"null", // evaluate_upon_tree_show +"null", // evaluate_upon_tree_hide +, // right_to_left +], // display_on_click +["Experts","http://www.webreference.com/experts/",1,0,1], +["Contents","http://www.webreference.com/index2.html",1,0,0], +["Services","http://www.webreference.com/index2.html",1,0,1], +["About","http://www.webreference.com/about.html",1,0,0] +] + +HM_Array3_1 = [ +[], +["3-D Animation","http://www.webreference.com/3d/",1,0,0], +["Design","http://www.webreference.com/dlab/",1,0,0], +["HTML","http://www.webreference.com/html/",1,0,0], +["JavaScript","http://www.webreference.com/js/",1,0,0], +["Graphics","http://www.webreference.com/graphics/",1,0,0], +["DHTML","http://www.webreference.com/dhtml/",1,0,1], +["Perl","http://www.webreference.com/perl/",1,0,0], +["XML","http://www.webreference.com/xml/",1,0,0] +] + +HM_Array3_3 = [ +[], +["Features","http://www.webreference.com/articles.html",1,0,0], +["Forum","http://www.webreference.com/cgi-bin/Ultimate.cgi?action=intro",1,0,0], +["How-to","http://www.webreference.com/dev/",1,0,0], +["New","http://www.webreference.com/headlines/",1,0,0], +["Hot Sites","http://www.webreference.com/hot/",1,0,0] +] + +HM_Array3_1_6 = [ +[], +["Diner","http://www.webreference.com/dhtml/diner/",1,0,0], +["Dynomat","http://www.webreference.com/dhtml/dynomat/",1,0,0], +["Links","http://www.webreference.com/dhtml/links/",1,0,0] +] + +HM_Array4 = [ +[120, +"mouse_x_position + 20", +"mouse_y_position + 20", +,,,,,,,,,,,,,,, +true], +["Experts","http://www.webreference.com/experts/",1,0,1], +["Contents","http://www.webreference.com/index2.html",1,0,0], +["Services","http://www.webreference.com/index2.html",1,0,0], +["About","http://www.webreference.com/about.html",1,0,0] +] + +HM_Array4_1 = [ +[], +["3-D Animation","http://www.webreference.com/3d/",1,0,0], +["Design","http://www.webreference.com/dlab/",1,0,0], +["HTML","http://www.webreference.com/html/",1,0,0], +["JavaScript","http://www.webreference.com/js/",1,0,0], +["Graphics","http://www.webreference.com/graphics/",1,0,0], +["DHTML","http://www.webreference.com/dhtml/",1,0,0], +["Perl","http://www.webreference.com/perl/",1,0,0], +["XML","http://www.webreference.com/xml/",1,0,0] +] + +HM_Array5 = [ +[100, // menu_width +70, // left_position +170, // top_position +"red", // font_color +"yellow", // mouseover_font_color +"yellow", // background_color +"black", // mouseover_background_color +"blue", // border_color +"green", // separator_color +1, // top_is_permanent +1, // top_is_horizontal +0, // tree_is_horizontal +1, // position_under +0, // top_more_images_visible +1, // tree_more_images_visible +"null", // evaluate_upon_tree_show +"null", // evaluate_upon_tree_hide +, // right_to_left +, // display_on_click +true, // top_is_variable_width +, // tree_is_variable_width +], +["Experts","http://www.webreference.com/experts/",1,0,1], +["Contents","http://www.webreference.com/index2.html",1,0,0], +["Services","http://www.webreference.com/index2.html",1,0,1], +["About","http://www.webreference.com/about.html",1,0,0] +] + +HM_Array5_1 = [ +[], +["3-D Animation","http://www.webreference.com/3d/",1,0,0], +["Design","http://www.webreference.com/dlab/",1,0,0], +["HTML","http://www.webreference.com/html/",1,0,0], +["JavaScript","http://www.webreference.com/js/",1,0,0], +["Graphics","http://www.webreference.com/graphics/",1,0,0], +["DHTML","http://www.webreference.com/dhtml/",1,0,1], +["Perl","http://www.webreference.com/perl/",1,0,0], +["XML","http://www.webreference.com/xml/",1,0,0] +] + +HM_Array5_3 = [ +[], +["Features","http://www.webreference.com/articles.html",1,0,0], +["Forum","http://www.webreference.com/cgi-bin/Ultimate.cgi?action=intro",1,0,0], +["How-to","http://www.webreference.com/dev/",1,0,0], +["New","http://www.webreference.com/headlines/",1,0,0], +["Hot Sites","http://www.webreference.com/hot/",1,0,0] +] + +HM_Array5_1_6 = [ +[], +["Diner","http://www.webreference.com/dhtml/diner/",1,0,0], +["Dynomat","http://www.webreference.com/dhtml/dynomat/",1,0,0], +["Links","http://www.webreference.com/dhtml/links/",1,0,0] +] + diff --git a/helm/graphs/jsmenu/HM_Arrays_prova.js b/helm/graphs/jsmenu/HM_Arrays_prova.js new file mode 100644 index 000000000..93143accd --- /dev/null +++ b/helm/graphs/jsmenu/HM_Arrays_prova.js @@ -0,0 +1,60 @@ + +HM_Array1 = [ +[150,,, +,,,,,,,,,,,,,,,, +1,true], +["Experts","http://www.webreference.com/experts/",1,0,1], +["Contents","http://www.webreference.com/index2.html",1,0,0], +["Services","http://www.webreference.com/index2.html",1,0,1], +["About","http://www.webreference.com/about.html",1,0,0], +["Hot Sites","http://www.webreference.com/hot/",1,0,1] +] + +HM_Array1_1 = [ +[], +["3-D Animation","http://www.webreference.com/3d/",1,0,0], +["Design","http://www.webreference.com/dlab/",1,0,0], +["HTML","http://www.webreference.com/html/",1,0,0], +["JavaScript","http://www.webreference.com/js/",1,0,0], +["Graphics","http://www.webreference.com/graphics/",1,0,0], +["DHTML","http://www.webreference.com/dhtml/",1,0,1], +["Perl","http://www.webreference.com/perl/",1,0,0], +["XML","http://www.webreference.com/xml/",1,0,0] +] + +HM_Array1_3 = [ +[], +["Features","http://www.webreference.com/articles.html",1,0,0], +["Forum","http://www.webreference.com/cgi-bin/Ultimate.cgi?action=intro",1,0,0], +["How-to","http://www.webreference.com/dev/",1,0,0], +["New","http://www.webreference.com/headlines/",1,0,0], +["Hot Sites","http://www.webreference.com/hot/",1,0,0] +] + +HM_Array1_5 = [ +[], +["3-D Animation","http://www.webreference.com/3d/",1,0,0], +["Design","http://www.webreference.com/dlab/",1,0,0], +["HTML","http://www.webreference.com/html/",1,0,0], +["JavaScript","http://www.webreference.com/js/",1,0,0], +["Graphics","http://www.webreference.com/graphics/",1,0,0], +["DHTML","http://www.webreference.com/dhtml/",1,0,1], +["Perl","http://www.webreference.com/perl/",1,0,0], +["XML","http://www.webreference.com/xml/",1,0,0] +] + +HM_Array1_1_6 = [ +[], +["Diner","http://www.webreference.com/dhtml/diner/",1,0,0], +["Dynomat","http://www.webreference.com/dhtml/dynomat/",1,0,0], +["Links","http://www.webreference.com/dhtml/links/",1,0,0] +] + +HM_Array2 = [ +[150,,, +,,,,,,,,,,,,,,,, +1,true], +["Pippo","http://www.inria.fr",1,0,1], +["Pluto","http://www.cs.unibo.it",1,0,0], +["Paperino","http://www.larepubblica.it",1,0,1], +] diff --git a/helm/graphs/jsmenu/HM_Loader.js b/helm/graphs/jsmenu/HM_Loader.js new file mode 100644 index 000000000..2c7e31f68 --- /dev/null +++ b/helm/graphs/jsmenu/HM_Loader.js @@ -0,0 +1,89 @@ +/*HM_Loader.js +* by Peter Belesis. v4.1.1 011002 +* Copyright (c) 2001 Peter Belesis. All Rights Reserved. +*/ + + HM_DOM = (document.getElementById) ? true : false; + HM_NS4 = (document.layers) ? true : false; + HM_IE = (document.all) ? true : false; + HM_IE4 = HM_IE && !HM_DOM; + HM_Mac = (navigator.appVersion.indexOf("Mac") != -1); + HM_IE4M = HM_IE4 && HM_Mac; + HM_Opera = (navigator.userAgent.indexOf("Opera")!=-1); + HM_Konqueror = (navigator.userAgent.indexOf("Konqueror")!=-1); + +HM_IsMenu = !HM_Opera && !HM_Konqueror && !HM_IE4M && (HM_DOM || HM_NS4 || HM_IE4); + +HM_BrowserString = HM_NS4 ? "NS4" : HM_DOM ? "DOM" : "IE4"; + + +if(window.event + "" == "undefined") event = null; +function HM_f_PopUp(){return false}; +function HM_f_PopDown(){return false}; +popUp = HM_f_PopUp; +popDown = HM_f_PopDown; + + +HM_GL_MenuWidth = 150; +HM_GL_FontFamily = "Arial,sans-serif"; +HM_GL_FontSize = 10; +HM_GL_FontBold = true; +HM_GL_FontItalic = false; +HM_GL_FontColor = "black"; +HM_GL_FontColorOver = "white"; +HM_GL_BGColor = "transparent"; +HM_GL_BGColorOver = "transparent"; +HM_GL_ItemPadding = 3; + +HM_GL_BorderWidth = 2; +HM_GL_BorderColor = "red"; +HM_GL_BorderStyle = "solid"; +HM_GL_SeparatorSize = 2; +HM_GL_SeparatorColor = "yellow"; + +HM_GL_ImageSrc = "HM_More_black_right.gif"; +HM_GL_ImageSrcLeft = "HM_More_black_left.gif"; + +HM_GL_ImageSrcOver = "HM_More_white_right.gif"; +HM_GL_ImageSrcLeftOver = "HM_More_white_left.gif"; + +HM_GL_ImageSize = 5; +HM_GL_ImageHorizSpace = 5; +HM_GL_ImageVertSpace = 5; + +HM_GL_KeepHilite = false; +HM_GL_ClickStart = false; +HM_GL_ClickKill = 0; +HM_GL_ChildOverlap = 40; +HM_GL_ChildOffset = 10; +HM_GL_ChildPerCentOver = null; +HM_GL_TopSecondsVisible = .5; +HM_GL_ChildSecondsVisible = .3; +HM_GL_StatusDisplayBuild = 0; +HM_GL_StatusDisplayLink = 1; +HM_GL_UponDisplay = null; +HM_GL_UponHide = null; + +HM_GL_RightToLeft = false; +HM_GL_CreateTopOnly = HM_NS4 ? true : false; +HM_GL_ShowLinkCursor = true; + +// the following function is included to illustrate the improved JS expression handling of +// the left_position and top_position parameters +// you may delete if you have no use for it + +function HM_f_CenterMenu(topmenuid) { + var MinimumPixelLeft = 0; + var TheMenu = HM_DOM ? document.getElementById(topmenuid) : HM_IE4 ? document.all(topmenuid) : eval("window." + topmenuid); + var TheMenuWidth = HM_DOM ? parseInt(TheMenu.style.width) : HM_IE4 ? TheMenu.style.pixelWidth : TheMenu.clip.width; + var TheWindowWidth = HM_IE ? document.body.clientWidth : window.innerWidth; + return Math.max(parseInt((TheWindowWidth-TheMenuWidth) / 2),MinimumPixelLeft); +} + +if(HM_IsMenu) { + document.write("<\/SCR" + "IPT>"); + document.write("<\/SCR" + "IPT>"); +} + + +//end \ No newline at end of file diff --git a/helm/graphs/jsmenu/HM_Loader_prova.js b/helm/graphs/jsmenu/HM_Loader_prova.js new file mode 100644 index 000000000..ed8f95752 --- /dev/null +++ b/helm/graphs/jsmenu/HM_Loader_prova.js @@ -0,0 +1,89 @@ +/*HM_Loader.js +* by Peter Belesis. v4.1.1 011002 +* Copyright (c) 2001 Peter Belesis. All Rights Reserved. +*/ + + HM_DOM = (document.getElementById) ? true : false; + HM_NS4 = (document.layers) ? true : false; + HM_IE = (document.all) ? true : false; + HM_IE4 = HM_IE && !HM_DOM; + HM_Mac = (navigator.appVersion.indexOf("Mac") != -1); + HM_IE4M = HM_IE4 && HM_Mac; + HM_Opera = (navigator.userAgent.indexOf("Opera")!=-1); + HM_Konqueror = (navigator.userAgent.indexOf("Konqueror")!=-1); + +HM_IsMenu = !HM_Opera && !HM_Konqueror && !HM_IE4M && (HM_DOM || HM_NS4 || HM_IE4); + +HM_BrowserString = HM_NS4 ? "NS4" : HM_DOM ? "DOM" : "IE4"; + + +if(window.event + "" == "undefined") event = null; +function HM_f_PopUp(){return false}; +function HM_f_PopDown(){return false}; +popUp = HM_f_PopUp; +popDown = HM_f_PopDown; + + +HM_GL_MenuWidth = 150; +HM_GL_FontFamily = "Arial,sans-serif"; +HM_GL_FontSize = 10; +HM_GL_FontBold = true; +HM_GL_FontItalic = false; +HM_GL_FontColor = "black"; +HM_GL_FontColorOver = "white"; +HM_GL_BGColor = "transparent"; +HM_GL_BGColorOver = "transparent"; +HM_GL_ItemPadding = 3; + +HM_GL_BorderWidth = 2; +HM_GL_BorderColor = "red"; +HM_GL_BorderStyle = "solid"; +HM_GL_SeparatorSize = 2; +HM_GL_SeparatorColor = "yellow"; + +HM_GL_ImageSrc = "HM_More_black_right.gif"; +HM_GL_ImageSrcLeft = "HM_More_black_left.gif"; + +HM_GL_ImageSrcOver = "HM_More_white_right.gif"; +HM_GL_ImageSrcLeftOver = "HM_More_white_left.gif"; + +HM_GL_ImageSize = 5; +HM_GL_ImageHorizSpace = 5; +HM_GL_ImageVertSpace = 5; + +HM_GL_KeepHilite = false; +HM_GL_ClickStart = false; +HM_GL_ClickKill = 0; +HM_GL_ChildOverlap = 40; +HM_GL_ChildOffset = 10; +HM_GL_ChildPerCentOver = null; +HM_GL_TopSecondsVisible = .5; +HM_GL_ChildSecondsVisible = .3; +HM_GL_StatusDisplayBuild = 0; +HM_GL_StatusDisplayLink = 1; +HM_GL_UponDisplay = null; +HM_GL_UponHide = null; + +HM_GL_RightToLeft = false; +HM_GL_CreateTopOnly = HM_NS4 ? true : false; +HM_GL_ShowLinkCursor = true; + +// the following function is included to illustrate the improved JS expression handling of +// the left_position and top_position parameters +// you may delete if you have no use for it + +function HM_f_CenterMenu(topmenuid) { + var MinimumPixelLeft = 0; + var TheMenu = HM_DOM ? document.getElementById(topmenuid) : HM_IE4 ? document.all(topmenuid) : eval("window." + topmenuid); + var TheMenuWidth = HM_DOM ? parseInt(TheMenu.style.width) : HM_IE4 ? TheMenu.style.pixelWidth : TheMenu.clip.width; + var TheWindowWidth = HM_IE ? document.body.clientWidth : window.innerWidth; + return Math.max(parseInt((TheWindowWidth-TheMenuWidth) / 2),MinimumPixelLeft); +} + +if(HM_IsMenu) { + document.write("<\/SCR" + "IPT>"); + document.write("<\/SCR" + "IPT>"); +} + + +//end diff --git a/helm/graphs/jsmenu/HM_More_black_left.gif b/helm/graphs/jsmenu/HM_More_black_left.gif new file mode 100644 index 000000000..ae9b1dd0f Binary files /dev/null and b/helm/graphs/jsmenu/HM_More_black_left.gif differ diff --git a/helm/graphs/jsmenu/HM_More_black_right.gif b/helm/graphs/jsmenu/HM_More_black_right.gif new file mode 100644 index 000000000..ca628ba69 Binary files /dev/null and b/helm/graphs/jsmenu/HM_More_black_right.gif differ diff --git a/helm/graphs/jsmenu/HM_More_blue_left.gif b/helm/graphs/jsmenu/HM_More_blue_left.gif new file mode 100644 index 000000000..1637826ab Binary files /dev/null and b/helm/graphs/jsmenu/HM_More_blue_left.gif differ diff --git a/helm/graphs/jsmenu/HM_More_blue_right.gif b/helm/graphs/jsmenu/HM_More_blue_right.gif new file mode 100644 index 000000000..ebc8f9bca Binary files /dev/null and b/helm/graphs/jsmenu/HM_More_blue_right.gif differ diff --git a/helm/graphs/jsmenu/HM_More_cyan_left.gif b/helm/graphs/jsmenu/HM_More_cyan_left.gif new file mode 100644 index 000000000..48e832532 Binary files /dev/null and b/helm/graphs/jsmenu/HM_More_cyan_left.gif differ diff --git a/helm/graphs/jsmenu/HM_More_cyan_right.gif b/helm/graphs/jsmenu/HM_More_cyan_right.gif new file mode 100644 index 000000000..788d9d2be Binary files /dev/null and b/helm/graphs/jsmenu/HM_More_cyan_right.gif differ diff --git a/helm/graphs/jsmenu/HM_More_green_left.gif b/helm/graphs/jsmenu/HM_More_green_left.gif new file mode 100644 index 000000000..132e1d2dd Binary files /dev/null and b/helm/graphs/jsmenu/HM_More_green_left.gif differ diff --git a/helm/graphs/jsmenu/HM_More_green_right.gif b/helm/graphs/jsmenu/HM_More_green_right.gif new file mode 100644 index 000000000..dfaaf00d0 Binary files /dev/null and b/helm/graphs/jsmenu/HM_More_green_right.gif differ diff --git a/helm/graphs/jsmenu/HM_More_magenta_left.gif b/helm/graphs/jsmenu/HM_More_magenta_left.gif new file mode 100644 index 000000000..e6369cf7c Binary files /dev/null and b/helm/graphs/jsmenu/HM_More_magenta_left.gif differ diff --git a/helm/graphs/jsmenu/HM_More_magenta_right.gif b/helm/graphs/jsmenu/HM_More_magenta_right.gif new file mode 100644 index 000000000..56179da04 Binary files /dev/null and b/helm/graphs/jsmenu/HM_More_magenta_right.gif differ diff --git a/helm/graphs/jsmenu/HM_More_red_left.gif b/helm/graphs/jsmenu/HM_More_red_left.gif new file mode 100644 index 000000000..b36de2008 Binary files /dev/null and b/helm/graphs/jsmenu/HM_More_red_left.gif differ diff --git a/helm/graphs/jsmenu/HM_More_red_right.gif b/helm/graphs/jsmenu/HM_More_red_right.gif new file mode 100644 index 000000000..035f5e600 Binary files /dev/null and b/helm/graphs/jsmenu/HM_More_red_right.gif differ diff --git a/helm/graphs/jsmenu/HM_More_white_left.gif b/helm/graphs/jsmenu/HM_More_white_left.gif new file mode 100644 index 000000000..935308d99 Binary files /dev/null and b/helm/graphs/jsmenu/HM_More_white_left.gif differ diff --git a/helm/graphs/jsmenu/HM_More_white_right.gif b/helm/graphs/jsmenu/HM_More_white_right.gif new file mode 100644 index 000000000..969fc4972 Binary files /dev/null and b/helm/graphs/jsmenu/HM_More_white_right.gif differ diff --git a/helm/graphs/jsmenu/HM_More_yellow_left.gif b/helm/graphs/jsmenu/HM_More_yellow_left.gif new file mode 100644 index 000000000..8e10145ff Binary files /dev/null and b/helm/graphs/jsmenu/HM_More_yellow_left.gif differ diff --git a/helm/graphs/jsmenu/HM_More_yellow_right.gif b/helm/graphs/jsmenu/HM_More_yellow_right.gif new file mode 100644 index 000000000..8a438b938 Binary files /dev/null and b/helm/graphs/jsmenu/HM_More_yellow_right.gif differ diff --git a/helm/graphs/jsmenu/HM_ScriptDOM.js b/helm/graphs/jsmenu/HM_ScriptDOM.js new file mode 100644 index 000000000..498a5912b --- /dev/null +++ b/helm/graphs/jsmenu/HM_ScriptDOM.js @@ -0,0 +1,962 @@ +/*HM_ScriptDOM.js +* by Peter Belesis. v4.1.1 011002 +* Copyright (c) 2001 Peter Belesis. All Rights Reserved. +* Originally published and documented at http://www.dhtmlab.com/ +* Available solely from INT Media Group. Incorporated under exclusive license. +* Contact licensing@internet.com for more information. +*/ + +HM_IE5M = HM_IE && HM_Mac; +HM_IE5W = HM_IE && !HM_Mac; +HM_NS6 = (navigator.vendor == ("Netscape6") || navigator.product == ("Gecko")); +HM_IEpos = HM_IE || (HM_NS6 && parseInt(navigator.productSub)>=20010710); +HM_IEDTD = (HM_IE && document.doctype) ? document.doctype.name.indexOf(".dtd")!=-1 : false; +HM_IEnoDTD = HM_IE && !HM_IEDTD; + +HM_a_Parameters = [ + ["MenuWidth", 150, "number"], + ["FontFamily", "Arial,sans-serif"], + ["FontSize", 10, "number"], + ["FontBold", false, "boolean"], + ["FontItalic", false, "boolean"], + ["FontColor", "black"], + ["FontColorOver", "white"], + ["BGColor", "white"], + ["BGColorOver", "black"], + ["ItemPadding", 3, "number"], + ["BorderWidth", 2, "number"], + ["BorderColor", "red"], + ["BorderStyle", "solid"], + ["SeparatorSize", 1, "number"], + ["SeparatorColor", "yellow"], + ["ImageSrc", "HM_More_black_right.gif"], + ["ImageSrcOver", null], + ["ImageSrcLeft", "HM_More_black_left.gif"], + ["ImageSrcLeftOver", null], + ["ImageSize", 5, "number"], + ["ImageHorizSpace", 0, "number"], + ["ImageVertSpace", 0, "number"], + ["KeepHilite", false, "boolean"], + ["ClickStart", false, "boolean"], + ["ClickKill", true, "boolean"], + ["ChildOverlap", 20, "number"], + ["ChildOffset", 10, "number"], + ["ChildPerCentOver", null, "number"], + ["TopSecondsVisible", .5, "number"], + ["ChildSecondsVisible",.3, "number"], + ["StatusDisplayBuild", 1, "boolean"], + ["StatusDisplayLink", 1, "boolean"], + ["UponDisplay", null, "delayed"], + ["UponHide", null, "delayed"], + ["RightToLeft", false, "boolean"], + ["CreateTopOnly", 0, "boolean"], + ["ShowLinkCursor", false, "boolean"] +] + +HM_MenuIDPrefix = "HM_Menu"; +HM_ItemIDPrefix = "HM_Item"; +HM_ArrayIDPrefix = "HM_Array"; + +Function.prototype.isFunction = true; +Function.prototype.isString = false; +String.prototype.isFunction = false; +String.prototype.isString = true; +String.prototype.isBoolean = false; +String.prototype.isNumber = false; +Number.prototype.isString = false; +Number.prototype.isFunction = false; +Number.prototype.isBoolean = false; +Number.prototype.isNumber = true; +Boolean.prototype.isString = false; +Boolean.prototype.isFunction = false; +Boolean.prototype.isBoolean = true; +Boolean.prototype.isNumber = false; +Array.prototype.itemValidation = false; +Array.prototype.isArray = true; + +if(HM_IE) { + HM_a_ElementsCreated = []; + + function HM_f_StoreElement(el){ + HM_a_ElementsCreated[HM_a_ElementsCreated.length] = el; + } +} + +function HM_f_AssignParameters(paramarray){ + var ParamName = paramarray[0]; + var DefaultValue = paramarray[1]; + var FullParamName = "HM_" + ParamName; + + if (typeof eval("window.HM_PG_" + ParamName) == "undefined") { + if (typeof eval("window.HM_GL_" + ParamName) == "undefined") { + eval(FullParamName + "= DefaultValue"); + } + else { + eval(FullParamName + "= HM_GL_" + ParamName); + } + } + else { + eval(FullParamName + "= HM_PG_" + ParamName); + } + + paramarray[0] = FullParamName; + paramarray[1] = eval(FullParamName); +} + +function HM_f_EvalParameters(valuenew,valueold,valuetype){ + var TestString, ParPosition; + + if(typeof valuenew == "undefined" || valuenew == null || (valuenew.isString && valuenew.length == 0)){ + return valueold; + } + + if(valuetype != "delayed"){ + while(valuenew.isString) { + ParPosition = valuenew.indexOf("("); + if(ParPosition !=-1) { + TestString = "window." + valuenew.substr(0,ParPosition); + if (typeof eval(TestString) != "undefined" && eval(TestString).isFunction) { + valuenew = eval(valuenew); + } + } + else break + } + } + + while(valuenew.isFunction) {valuenew = valuenew()} + + switch(valuetype){ + case "number": + while (valuenew.isString) {valuenew = eval(valuenew)} + break; + case "boolean": + while (!valuenew.isBoolean) { + valuenew = (valuenew.isNumber) ? valuenew ? true : false : eval(valuenew); + } + break; + } + + return valuenew; +} + +for (i=0;i 1) { + MenuArrayIsValid = true; + if(!TheMenuArray.itemValidation) { + while((typeof TheMenuArray[TheMenuArray.length-1] != "object") || (!TheMenuArray[TheMenuArray.length-1].isArray)) { + TheMenuArray.length--; + } + TheMenuArray.itemValidation = true; + } + } + } + return MenuArrayIsValid; +} + +if(!window.HM_a_TreesToBuild) { + HM_a_TreesToBuild = []; + for(i=1; i<100; i++){ + if(HM_f_ValidateArray(HM_ArrayIDPrefix + i)) HM_a_TreesToBuild[HM_a_TreesToBuild.length] = i; + } +} + +HM_CurrentArray = null; +HM_CurrentTree = null; +HM_CurrentMenu = null; +HM_CurrentItem = null; +HM_a_TopMenus = []; +HM_AreLoaded = false; +HM_AreCreated = false; +HM_BeingCreated = false; +HM_UserOverMenu = false; +HM_HideAllTimer = null; +HM_TotalTrees = 0; +HM_ZIndex = 5000; + +function HM_f_StartIt() { + if(HM_AreCreated) return; + if((typeof(document.body) == "undefined") || (document.body == null)) return; + HM_AreLoaded = true; + if (HM_ClickKill) { + HM_f_OtherMouseDown = (document.onmousedown) ? document.onmousedown : new Function; + document.onmousedown = function(){HM_f_PageClick();HM_f_OtherMouseDown()} + } + else { + HM_TopMilliSecondsVisible = HM_TopSecondsVisible * 1000; + } + HM_f_MakeTrees(); + HM_f_OtherOnLoad(); +} + +function HM_f_MakeTrees(){ + HM_BeingCreated = true; + var TreeParams = null; + var TreeHasChildren = false; + var ItemArray = null; + + for(var t=0; t WindowRightEdge) { + if (this.hasParent) { + this.xPos = ((ParentLeftEdge - this.parentItem.DistanceToLeftEdge) + this.parentItem.ChildOverlap) - this.offsetWidth; + } + else { + dif = MenuRightEdge - WindowRightEdge; + this.xPos -= dif; + } + this.xPos = Math.max(5,this.xPos); + } + + if (MenuBottomEdge > WindowBottomEdge) { + dif = MenuBottomEdge - WindowBottomEdge; + this.yPos -= dif; + } + + if (MenuLeftEdge < WindowLeftEdge) { + if (this.hasParent) { + this.xPos = (ParentLeftEdge + this.parentItem.DistanceToRightEdge) - this.parentItem.ChildOverlap; + MenuRightEdge = this.xPos + this.offsetWidth; + if(MenuRightEdge > WindowRightEdge) this.xPos -= (MenuRightEdge - WindowRightEdge); + } + else {this.xPos = 5} + } +} + +function HM_f_LinkIt() { + if (this.linkText.indexOf("javascript:")!=-1) eval(this.linkText) + else { + HM_f_HideAll(); + location.href = this.linkText; + } +} + +function HM_f_PopDown(menuname){ + if (!HM_AreLoaded || !HM_AreCreated) return; + menuname = menuname.replace("elMenu",HM_MenuIDPrefix); + var MenuToHide = document.getElementById(menuname); + if(!MenuToHide)return; + MenuToHide.isOn = false; + if (!HM_ClickKill) MenuToHide.hideTop(); +} + +function HM_f_HideAll(callingmenu) { + for(var i=0; i=0; i--){ + TempElement = HM_a_ElementsCreated[i]; + TempElement.parentMenu = null; + TempElement.parentItem = null; + TempElement.itemElement = null; + TempElement.currentItem = null; + TempElement.child = null; + TempElement.siblingBelow = null; + TempElement.imgLyr = null; + } + TempElement = null; + + for(var i=0; i 1) { + MenuArrayIsValid = true; + if(!TheMenuArray.itemValidation) { + while((typeof TheMenuArray[TheMenuArray.length-1] != "object") || (!TheMenuArray[TheMenuArray.length-1].isArray)) { + TheMenuArray.length--; + } + TheMenuArray.itemValidation = true; + } + } + } + return MenuArrayIsValid; +} + +if(!window.HM_a_TreesToBuild) { + HM_a_TreesToBuild = []; + for(i=1; i<100; i++){ + if(HM_f_ValidateArray(HM_ArrayIDPrefix + i)) HM_a_TreesToBuild[HM_a_TreesToBuild.length] = i; + } +} + +HM_CurrentArray = null; +HM_CurrentTree = null; +HM_CurrentMenu = null; +HM_CurrentItem = null; +HM_a_TopMenus = []; +HM_AreLoaded = false; +HM_AreCreated = false; +HM_BeingCreated = false; +HM_UserOverMenu = false; +HM_HideAllTimer = null; +HM_TotalTrees = 0; +HM_ZIndex = 5000; + +function propertyTransfer(){ + this.obj = eval(this.id + "Obj"); + for (temp in this.obj) {this[temp] = this.obj[temp]} +} + +function HM_f_StartIt() { + if((typeof(document.body) == "undefined") || (document.body == null)) return; + if(HM_AreCreated) return; + HM_AreLoaded = true; + if (HM_ClickKill) { + HM_f_OtherMouseDown = (document.onmousedown) ? document.onmousedown : new Function; + document.onmousedown = function(){HM_f_PageClick();HM_f_OtherMouseDown()} + } + else { + HM_TopMilliSecondsVisible = HM_TopSecondsVisible * 1000; + } + HM_f_MakeTrees(); + HM_f_OtherOnLoad(); +} + +function HM_f_MakeTrees(){ + HM_BeingCreated = true; + var TreeParams = null; + var TreeHasChildren = false; + var ItemArray = null; + + for(var t=0; t"; + if(HM_CurrentMenu.showImage) { + var FullPadding = (HM_ItemPadding*2) + HM_ImageSize + HM_ImageHorizSpace; + } + if(hasmore && HM_CurrentMenu.showImage) { + var ImgSrc = HM_CurrentTree.RightToLeft ? HM_ImageSrcLeft : HM_ImageSrc; + var ImgStyle = "top:"+ (HM_ItemPadding + HM_ImageVertSpace) + "px;width:"+ HM_ImageSize + "px;"; + var ImgString = ""; + TempString += ImgString; + } + TempString += disptext + ""; + return TempString; +} + +function HM_f_SetItemProperties(itemid,itemidsuffix) { + this.tree = HM_CurrentTree; + this.itemsetup = HM_f_ItemSetup; + this.index = HM_CurrentMenu.itemCount - 1; + this.isLastItem = (HM_CurrentMenu.itemCount == HM_CurrentMenu.maxItems); + this.array = HM_CurrentMenu.array[HM_CurrentMenu.itemCount]; + this.dispText = this.array[0]; + this.linkText = this.array[1]; + this.permHilite = HM_f_EvalParameters(this.array[3],false,"boolean"); + this.hasRollover = (!this.permHilite && HM_f_EvalParameters(this.array[2],true,"boolean")); + this.hasMore = HM_f_EvalParameters(this.array[4],false,"boolean") && HM_f_ValidateArray(HM_ArrayIDPrefix + itemidsuffix); + this.childID = this.hasMore ? (HM_MenuIDPrefix + itemidsuffix) : null; + this.child = null; + this.onmouseover = HM_f_ItemOver; + this.onmouseout = HM_f_ItemOut; + this.setItemStyle = HM_f_SetItemStyle; + this.itemStr = HM_f_GetItemDivStr(itemid,this.dispText,this.hasMore); + this.showChild = HM_f_ShowChild; + this.ChildOverlap = null; +} + +function HM_f_Make4ItemElement(menucount) { + var ItemIDSuffix = menucount + "_" + HM_CurrentMenu.itemCount; + var LayerID = HM_ItemIDPrefix + ItemIDSuffix; + var ObjectID = LayerID + "Obj"; + eval(ObjectID + " = new Object()"); + ItemElement = eval(ObjectID); + ItemElement.setItemProperties = HM_f_SetItemProperties; + ItemElement.setItemProperties(LayerID,ItemIDSuffix); + return ItemElement; +} + +function HM_f_MakeElement(menuid) { + var MenuObject; + var LayerID = menuid; + var ObjectID = LayerID + "Obj"; + eval(ObjectID + " = new Object()"); + MenuObject = eval(ObjectID); + return MenuObject; +} + +function HM_f_MakeMenu(menucount) { + if(!HM_f_ValidateArray(HM_ArrayIDPrefix + menucount)) return false; + HM_CurrentArray = eval(HM_ArrayIDPrefix + menucount); + NewMenu = document.all(HM_MenuIDPrefix + menucount); + if(!NewMenu) { + NewMenu = HM_f_MakeElement(HM_MenuIDPrefix + menucount); + NewMenu.array = HM_CurrentArray; + NewMenu.tree = HM_CurrentTree; + + if(HM_CurrentMenu) { + NewMenu.parentMenu = HM_CurrentMenu; + NewMenu.parentItem = HM_CurrentMenu.itemElement; + NewMenu.parentItem.child = NewMenu; + NewMenu.hasParent = true; + NewMenu.isHorizontal = HM_CurrentTree.TreeIsHorizontal; + NewMenu.showImage = HM_CurrentTree.TreeImageShow; + } + else { + NewMenu.isHorizontal = HM_CurrentTree.TopIsHorizontal; + NewMenu.showImage = HM_CurrentTree.TopImageShow; + } + + HM_CurrentMenu = NewMenu; + HM_CurrentMenu.itemCount = 0; + HM_CurrentMenu.maxItems = HM_CurrentMenu.array.length - 1; + HM_CurrentMenu.showIt = HM_f_ShowIt; + HM_CurrentMenu.keepInWindow = HM_f_KeepInWindow; + HM_CurrentMenu.onmouseover = HM_f_MenuOver; + HM_CurrentMenu.onmouseout = HM_f_MenuOut; + HM_CurrentMenu.hideTree = HM_f_HideTree + HM_CurrentMenu.hideParents = HM_f_HideParents; + HM_CurrentMenu.hideChildren = HM_f_HideChildren; + HM_CurrentMenu.hideTop = HM_f_HideTop; + HM_CurrentMenu.hideSelf = HM_f_HideSelf; + HM_CurrentMenu.count = menucount; + HM_CurrentMenu.hasChildVisible = false; + HM_CurrentMenu.isOn = false; + HM_CurrentMenu.hideTimer = null; + HM_CurrentMenu.currentItem = null; + HM_CurrentMenu.setMenuStyle = HM_f_SetMenuStyle; + HM_CurrentMenu.sizeFixed = false; + HM_CurrentMenu.fixSize = HM_f_FixSize; + HM_CurrentMenu.onselectstart = HM_f_CancelSelect; + HM_CurrentMenu.moveTo = HM_f_MoveTo; + HM_CurrentMenu.IsVariableWidth = ((HM_CurrentMenu.hasParent && HM_CurrentTree.TreeIsVariableWidth) || (!HM_CurrentMenu.hasParent && HM_CurrentTree.TopIsVariableWidth)); + HM_CurrentMenu.htmlString = ""); + menuLyr = document.all(HM_MenuIDPrefix + menucount); + menuLyr.propertyTransfer = propertyTransfer; + menuLyr.propertyTransfer(); + HM_CurrentMenu = menuLyr; + if(!HM_CurrentMenu.hasParent)HM_CurrentTree.treeParent = HM_CurrentTree.startChild = HM_CurrentMenu; + HM_CurrentMenu.setMenuStyle(); + HM_CurrentMenu.items = HM_CurrentMenu.children; + HM_CurrentMenu.lastItem = HM_CurrentMenu.items[HM_CurrentMenu.items.length-1]; + for(var i=0; i0 ? HM_CurrentMenu.items[i-1] : null; + it.propertyTransfer = propertyTransfer; + it.propertyTransfer(); + it.itemsetup(i+1); + } + HM_CurrentMenu.moveTo(0,0); + return HM_CurrentMenu; +} + +function HM_f_SetMenuStyle(){ + with(this.style) { + borderWidth = HM_BorderWidth + "px"; + borderColor = HM_CurrentTree.BorderColor; + borderStyle = HM_BorderStyle; + overflow = "hidden"; + cursor = "default"; + } +} + +function HM_f_SetItemStyle() { + with(this.style){ + backgroundColor = (this.permHilite) ? HM_CurrentTree.BGColorOver : HM_CurrentTree.BGColor; + color = (this.permHilite) ? HM_CurrentTree.FontColorOver : HM_CurrentTree.FontColor; + font = ((HM_FontBold) ? "bold " : "normal ") + HM_FontSize + "pt " + HM_FontFamily; + padding = HM_ItemPadding + "px"; + fontStyle = (HM_FontItalic) ? "italic" : "normal"; + overflow = "hidden"; + pixelWidth = HM_CurrentTree.ItemWidth; + + if((this.menu.showImage && (!this.menu.IsVariableWidth || (this.menu.IsVariableWidth && this.tree.RightToLeft && !this.menu.isHorizontal))) || (this.menu.IsVariableWidth && this.imgLyr)) { + + var FullPadding = (HM_ItemPadding*2) + HM_ImageSize + HM_ImageHorizSpace; + if (this.tree.RightToLeft) paddingLeft = FullPadding + "px"; + else paddingRight = FullPadding + "px"; + } + if(!this.isLastItem) { + var SeparatorString = HM_SeparatorSize + "px solid " + this.tree.SeparatorColor; + if (this.menu.isHorizontal) borderRight = SeparatorString; + else borderBottom = SeparatorString; + } + + if(this.menu.isHorizontal){ + pixelTop = 0; + if(this.menu.IsVariableWidth) { + this.realWidth = this.scrollWidth; + if(this.isLastItem) pixelWidth = this.realWidth; + else pixelWidth = (this.realWidth + HM_SeparatorSize); + pixelLeft = this.index ? (this.siblingBelow.style.pixelLeft + this.siblingBelow.style.pixelWidth) : 0; + if(this.isLastItem) { + LeftAndWidth = pixelLeft + pixelWidth; + this.menu.style.pixelWidth = LeftAndWidth + (HM_BorderWidth * 2); + } + + } + else { + if(this.isLastItem) pixelWidth = (HM_CurrentTree.MenuWidth - HM_BorderWidth - HM_SeparatorSize); + else pixelWidth = (HM_CurrentTree.MenuWidth - HM_BorderWidth); + pixelLeft = (this.index * (HM_CurrentTree.MenuWidth - HM_BorderWidth)); + var LeftAndWidth = pixelLeft + pixelWidth; + this.menu.style.pixelWidth = LeftAndWidth + (HM_BorderWidth * 2); + } + } + else { + pixelLeft = 0; + } + } +} + +function HM_f_FixSize(makevis){ + if(this.isHorizontal) { + var MaxItemHeight = 0; + for(i=0; i WindowRightEdge) { + if (this.hasParent) { + this.xPos = ((ParentLeftEdge - this.parentItem.DistanceToLeftEdge) + this.parentItem.ChildOverlap) - this.offsetWidth; + } + else { + dif = MenuRightEdge - WindowRightEdge; + this.xPos -= dif; + } + this.xPos = Math.max(5,this.xPos); + } + + if (MenuBottomEdge > WindowBottomEdge) { + dif = MenuBottomEdge - WindowBottomEdge; + this.yPos -= dif; + } + + if (MenuLeftEdge < WindowLeftEdge) { + if (this.hasParent) { + this.xPos = (ParentLeftEdge + this.parentItem.DistanceToRightEdge) - this.parentItem.ChildOverlap; + MenuRightEdge = this.xPos + this.style.pixelWidth; + if(MenuRightEdge > WindowRightEdge) this.xPos -= (MenuRightEdge - WindowRightEdge); + } + else {this.xPos = 5} + } +} + +function HM_f_LinkIt() { + if (this.linkText.indexOf("javascript:")!=-1) eval(this.linkText) + else { + HM_f_HideAll(); + location.href = this.linkText; + } +} + +function HM_f_PopDown(menuname){ + if (!HM_AreLoaded || !HM_AreCreated) return; + menuname = menuname.replace("elMenu",HM_MenuIDPrefix); + var MenuToHide = document.all(menuname); + if(!MenuToHide)return; + MenuToHide.isOn = false; + if (!HM_ClickKill) MenuToHide.hideTop(); +} + +function HM_f_HideAll(callingmenu) { + for(var i=0; i 1) { + MenuArrayIsValid = true; + if(!TheMenuArray.itemValidation) { + while((typeof TheMenuArray[TheMenuArray.length-1] != "object") || (!TheMenuArray[TheMenuArray.length-1].isArray)) { + TheMenuArray.length--; + } + TheMenuArray.itemValidation = true; + } + } + } + return MenuArrayIsValid; +} + +if(!window.HM_a_TreesToBuild) { + HM_a_TreesToBuild = []; + for(i=1; i<100; i++){ + if(HM_f_ValidateArray(HM_ArrayIDPrefix + i)) HM_a_TreesToBuild[HM_a_TreesToBuild.length] = i; + } +} + +HM_CurrentArray = null; +HM_CurrentTree = null; +HM_CurrentMenu = null; +HM_CurrentItem = null; +HM_a_TopMenus = []; +HM_AreLoaded = false; +HM_AreCreated = false; +HM_BeingCreated = false; +HM_UserOverMenu = false; +HM_HideAllTimer = null; +HM_TotalTrees = 0; +HM_ZIndex = 5000; + +function HM_f_Initialize() { + if(HM_AreCreated) { + for(var i=0; i" + TempString + ""; + var TempStringOver = TempString.fontcolor(HM_CurrentTree.FontColorOver); + TempString = TempString.fontcolor(HM_CurrentTree.FontColor); + return [TempString,TempStringOver]; +} + +function HM_f_MakeMenu(menucount) { + if(!HM_f_ValidateArray(HM_ArrayIDPrefix + menucount)) return false; + HM_CurrentArray = eval(HM_ArrayIDPrefix + menucount); + + NewMenu = eval("window." + HM_MenuIDPrefix + menucount); + if(!NewMenu) { + eval(HM_MenuIDPrefix + menucount + " = new Layer(HM_CurrentTree.MenuWidth,window)"); + NewMenu = eval(HM_MenuIDPrefix + menucount); + + if(HM_CurrentMenu) { + NewMenu.parentMenu = HM_CurrentMenu; + NewMenu.parentItem = HM_CurrentItem; + NewMenu.parentItem.child = NewMenu; + NewMenu.hasParent = true; + NewMenu.isHorizontal = HM_CurrentTree.TreeIsHorizontal; + NewMenu.showImage = HM_CurrentTree.TreeImageShow; + } + else { + NewMenu.isHorizontal = HM_CurrentTree.TopIsHorizontal; + NewMenu.showImage = HM_CurrentTree.TopImageShow; + } + + HM_CurrentMenu = NewMenu; + HM_CurrentMenu.count = menucount; + HM_CurrentMenu.tree = HM_CurrentTree; + HM_CurrentMenu.array = HM_CurrentArray; + HM_CurrentMenu.maxItems = HM_CurrentArray.length - 1; + HM_CurrentMenu.bgColor = HM_CurrentTree.BorderColor; + HM_CurrentMenu.IsVariableWidth = ((HM_CurrentMenu.hasParent && HM_CurrentTree.TreeIsVariableWidth) || (!HM_CurrentMenu.hasParent && HM_CurrentTree.TopIsVariableWidth)); + HM_CurrentMenu.onmouseover = HM_f_MenuOver; + HM_CurrentMenu.onmouseout = HM_f_MenuOut; + HM_CurrentMenu.moveTo(0,0); + } + + if(!HM_CurrentTree.treeParent) HM_CurrentTree.treeParent = HM_CurrentTree.startChild = HM_CurrentMenu; + + while (HM_CurrentMenu.itemCount < HM_CurrentMenu.maxItems) { + HM_CurrentMenu.itemCount++; + HM_CurrentItem = eval("window." + HM_ItemIDPrefix + menucount + "_" + HM_CurrentMenu.itemCount); + if(!HM_CurrentItem) { + eval(HM_ItemIDPrefix + menucount + "_" + HM_CurrentMenu.itemCount + " = new Layer(HM_CurrentTree.ItemWidth - (HM_ItemPadding*2),HM_CurrentMenu)") + if(HM_StatusDisplayBuild) status = "Creating Hierarchical Menus: " + menucount + " / " + HM_CurrentMenu.itemCount; + HM_CurrentItem = eval(HM_ItemIDPrefix + menucount + "_" + HM_CurrentMenu.itemCount); + HM_CurrentItem.itemSetup(menucount + "_" + HM_CurrentMenu.itemCount); + } + if(HM_CurrentItem.hasMore && (!HM_CreateTopOnly || HM_AreCreated && HM_CreateTopOnly)) { + MenuCreated = HM_f_MakeMenu(menucount + "_" + HM_CurrentMenu.itemCount); + if(MenuCreated) { + HM_CurrentMenu = HM_CurrentMenu.parentMenu; + HM_CurrentArray = HM_CurrentMenu.array; + } + } + } + HM_CurrentMenu.itemCount = 0; + if (HM_CurrentMenu.isHorizontal) { + HM_CurrentMenu.clip.right = HM_CurrentMenu.lastItem.left + HM_CurrentMenu.lastItem.clip.right + HM_BorderWidth; + } + else { + HM_CurrentMenu.clip.right = HM_CurrentMenu.lastItem.clip.width + (HM_BorderWidth*2); + } + HM_CurrentMenu.clip.bottom = HM_CurrentMenu.lastItem.top + HM_CurrentMenu.lastItem.clip.bottom + HM_BorderWidth; + return HM_CurrentMenu; +} + +function HM_f_ItemSetup(itemidsuffix) { + this.menu = HM_CurrentMenu; + this.tree = HM_CurrentTree; + this.index = HM_CurrentMenu.itemCount - 1; + this.array = HM_CurrentArray[HM_CurrentMenu.itemCount]; + this.dispText = this.array[0]; + this.linkText = this.array[1]; + this.permHilite = HM_f_EvalParameters(this.array[3],false,"boolean"); + this.hasRollover = (!this.permHilite && HM_f_EvalParameters(this.array[2],true,"boolean")); + this.hasMore = HM_f_EvalParameters(this.array[4],false,"boolean") && HM_f_ValidateArray(HM_ArrayIDPrefix + itemidsuffix); + var HtmlStrings = HM_f_GetItemHtmlStr(this.dispText); + this.htmStr = HtmlStrings[0]; + this.htmStrOver = HtmlStrings[1]; + this.visibility = "inherit"; + this.onmouseover = HM_f_ItemOver; + this.onmouseout = HM_f_ItemOut; + this.menu.lastItem = this; + this.showChild = HM_f_ShowChild; + + this.ClickStart = this.hasMore && this.tree.ClickStart && (this.tree.TopIsPermanent && (this.tree.treeParent==this.menu)); + if(this.ClickStart) { + this.captureEvents(Event.MOUSEUP); + this.onmouseup = this.showChild; + this.linkText = ""; + } + else { + if (this.linkText) { + this.captureEvents(Event.MOUSEUP); + this.onmouseup = HM_f_LinkIt; + } + } + + this.txtLyrOff = new Layer(HM_CurrentTree.ItemTextWidth - (HM_ItemPadding*2),this); + with(this.txtLyrOff) { + document.write(this.permHilite ? this.htmStrOver : this.htmStr); + document.close(); + if (HM_CurrentTree.RightToLeft && this.menu.showImage && (!this.menu.isHorizontal || (this.menu.isHorizontal && (!this.menu.IsVariableWidth || (this.menu.IsVariableWidth && this.hasMore))) )) left = HM_ItemPadding + HM_ImageSize + HM_ImageHorizSpace; + visibility = "inherit"; + } + + if(this.menu.IsVariableWidth){ + this.ItemTextWidth = this.txtLyrOff.document.width; + this.ItemWidth = this.ItemTextWidth + (HM_ItemPadding*2); + if(HM_CurrentMenu.showImage) { + if(!this.menu.isHorizontal || this.hasMore) { + this.ItemWidth += (HM_ItemPadding + HM_ImageSize + HM_ImageHorizSpace); + } + } + } + else { + this.ItemWidth = this.tree.ItemWidth; + this.ItemTextWidth = this.tree.ItemTextWidth; + } + if (this.menu.isHorizontal) { + if (this.index) this.left = this.siblingBelow.left + this.siblingBelow.clip.width + HM_SeparatorSize; + else this.left = (HM_BorderWidth + HM_ItemPadding); + this.top = (HM_BorderWidth + HM_ItemPadding); + } + else { + this.left = (HM_BorderWidth + HM_ItemPadding); + if (this.index) this.top = this.siblingBelow.top + this.siblingBelow.clip.height + HM_SeparatorSize; + else this.top = (HM_BorderWidth + HM_ItemPadding) + } + this.clip.top = this.clip.left = -HM_ItemPadding; + this.clip.right = this.ItemWidth - HM_ItemPadding; + this.bgColor = this.permHilite ? this.tree.BGColorOver : this.tree.BGColor; + + if(this.tree.NSFontOver) { + if(!this.permHilite){ + this.txtLyrOn = new Layer(this.ItemTextWidth,this); + with(this.txtLyrOn) { + if (HM_CurrentTree.RightToLeft && this.menu.showImage && (!this.menu.isHorizontal || (this.menu.isHorizontal && (!this.menu.IsVariableWidth || (this.menu.IsVariableWidth && this.hasMore))) )) left = HM_ItemPadding + HM_ImageSize + HM_ImageHorizSpace; + visibility = "hide"; + } + } + } + + this.fullClip = this.txtLyrOff.document.height + (HM_ItemPadding * 2); + if(this.menu.isHorizontal) { + if(this.index) { + var SiblingHeight = this.siblingBelow.clip.height; + this.fullClip = Math.max(SiblingHeight,this.fullClip); + if(this.fullClip > SiblingHeight) { + var SiblingPrevious = this.siblingBelow; + while(SiblingPrevious != null) { + SiblingPrevious.clip.height = this.fullClip; + SiblingPrevious = SiblingPrevious.siblingBelow; + } + } + } + } + this.clip.height = this.fullClip; + + if(!this.menu.isHorizontal && this.menu.IsVariableWidth) { + this.fullWidth = this.clip.width; + if(this.index) { + var SiblingWidth = this.siblingBelow.clip.width; + this.fullWidth = Math.max(SiblingWidth,this.fullWidth); + SiblingPrevious = this.siblingBelow; + while(SiblingPrevious != null) { + SiblingPrevious.clip.width = this.fullWidth; + SiblingPrevious.dummyLyr.clip.width = this.fullWidth; + if(SiblingPrevious.hasMore) { + SiblingPrevious.DistanceToRightEdge = SiblingPrevious.clip.right + SiblingPrevious.WhatsOnRight; + SiblingPrevious.DistanceToLeftEdge = HM_ItemPadding + SiblingPrevious.WhatsOnLeft; + SiblingPrevious.CompleteWidth = SiblingPrevious.ItemWidth + SiblingPrevious.WhatsOnLeft + SiblingPrevious.WhatsOnRight; + SiblingPrevious.ChildOverlap = (parseInt((HM_ChildPerCentOver != null) ? (HM_ChildPerCentOver * SiblingPrevious.CompleteWidth) : HM_ChildOverlap)); + } + if(SiblingPrevious.imgLyr && !HM_CurrentTree.RightToLeft) { + SiblingPrevious.imgLyr.left = this.fullWidth - (HM_ItemPadding * 2) - HM_ImageSize - HM_ImageHorizSpace; + } + SiblingPrevious = SiblingPrevious.siblingBelow; + } + } + this.clip.width = this.fullWidth; + } + + this.dummyLyr = new Layer(100,this); + with(this.dummyLyr) { + left = top = -HM_ItemPadding; + clip.width = this.clip.width; + clip.height = this.clip.height; + visibility = "inherit"; + } + + if(this.hasMore && HM_CurrentMenu.showImage) { + this.imageSrc = this.tree.RightToLeft ? HM_ImageSrcLeft : HM_ImageSrc; + this.hasImageRollover = ((!this.tree.RightToLeft && HM_ImageSrcOver) || (this.tree.RightToLeft && HM_ImageSrcLeftOver)); + if(this.hasImageRollover) { + this.imageSrcOver = this.tree.RightToLeft ? HM_ImageSrcLeftOver : HM_ImageSrcOver; + if(this.permHilite) this.imageSrc = this.imageSrcOver; + } + this.imgLyr = new Layer(HM_ImageSize,this); + + with(this.imgLyr) { + document.write(""); + document.close(); + moveBelow(this.txtLyrOff); + left = (HM_CurrentTree.RightToLeft) ? HM_ImageHorizSpace : this.ItemWidth - (HM_ItemPadding * 2) - HM_ImageSize - HM_ImageHorizSpace; + top = HM_ImageVertSpace; + visibility = "inherit"; + } + this.imageElement = this.imgLyr.document.images[0]; + } + + if(this.hasMore) { + this.WhatsOnRight = (!this.menu.isHorizontal || (this.menu.isHorizontal && this.isLastItem)) ? HM_BorderWidth : HM_SeparatorSize; + this.DistanceToRightEdge = this.clip.right + this.WhatsOnRight; + this.WhatsOnLeft = (!this.menu.isHorizontal || (this.menu.isHorizontal && this.index==0)) ? HM_BorderWidth : HM_SeparatorSize; + this.DistanceToLeftEdge = HM_ItemPadding + this.WhatsOnLeft; + this.CompleteWidth = this.ItemWidth + this.WhatsOnLeft + this.WhatsOnRight; + this.ChildOverlap = (parseInt((HM_ChildPerCentOver != null) ? (HM_ChildPerCentOver * this.CompleteWidth) : HM_ChildOverlap)); + } +} + +function HM_f_PopUp(menuname,e){ + if (!HM_AreLoaded) return; + menuname = menuname.replace("elMenu",HM_MenuIDPrefix); + var TempMenu = eval("window."+menuname); + if(!TempMenu)return; + HM_CurrentMenu = TempMenu; + if (HM_CurrentMenu.tree.ClickStart) { + var ClickElement = e.target; + ClickElement.onclick = HM_f_PopMenu; + } + else HM_f_PopMenu(e); +} + +function HM_f_PopMenu(e){ + if (!HM_AreLoaded || !HM_AreCreated) return true; + if (HM_CurrentMenu.tree.ClickStart && e.type != "click") return true; + HM_f_HideAll(); + HM_CurrentMenu.hasParent = false; + HM_CurrentMenu.tree.startChild = HM_CurrentMenu; + var mouse_x_position = e.pageX; + var mouse_y_position = e.pageY; + HM_CurrentMenu.xPos = (HM_CurrentMenu.tree.MenuLeft!=null) ? eval(HM_CurrentMenu.tree.MenuLeft) : mouse_x_position; + HM_CurrentMenu.yPos = (HM_CurrentMenu.tree.MenuTop!=null) ? eval(HM_CurrentMenu.tree.MenuTop) : mouse_y_position; + + HM_CurrentMenu.keepInWindow(); + HM_CurrentMenu.moveTo(HM_CurrentMenu.xPos,HM_CurrentMenu.yPos); + HM_CurrentMenu.isOn = true; + HM_CurrentMenu.showIt(true); + return false; +} + +function HM_f_MenuOver() { + if(!this.tree.startChild){this.tree.startChild = this} + if(this.tree.startChild == this) HM_f_HideAll(this) + this.isOn = true; + HM_UserOverMenu = true; + HM_CurrentMenu = this; + if (this.hideTimer) clearTimeout(this.hideTimer); +} + +function HM_f_MenuOut() { + this.isOn = false; + HM_UserOverMenu = false; + if(HM_StatusDisplayLink) status = ""; + if(!HM_ClickKill) { + clearTimeout(HM_HideAllTimer); + HM_HideAllTimer = null; + HM_HideAllTimer = setTimeout("HM_CurrentMenu.hideTree()",HM_ChildMilliSecondsVisible); + } +} + +function HM_f_ShowChild(){ + if(!this.child) { + HM_CurrentTree = this.tree; + HM_CurrentMenu = this.menu; + HM_CurrentItem = this; + this.child = HM_f_MakeMenu(this.menu.count + "_"+(this.index+1)); + this.tree.treeParent = this.menu; + this.tree.startChild = this.menu; + } + if (this.tree.PositionUnder && (this.menu == this.tree.treeParent)) { + this.child.xPos = this.pageX + this.clip.left - HM_BorderWidth; + this.child.yPos = this.menu.top + this.menu.clip.height - HM_BorderWidth; + } + else { + this.oL = this.pageX; + this.child.offsetWidth = this.child.clip.width; + this.oT = this.pageY + this.clip.top - HM_BorderWidth; + if(this.tree.RightToLeft) { + this.child.xPos = ((this.oL - this.DistanceToLeftEdge) + this.ChildOverlap) - this.child.offsetWidth; + } + else { + this.child.xPos = (this.oL + this.DistanceToRightEdge) - this.ChildOverlap; + } + this.child.yPos = this.oT + HM_ChildOffset + HM_BorderWidth; + } + if(!this.tree.PositionUnder || this.menu!=this.tree.treeParent) this.child.keepInWindow(); + this.child.moveTo(this.child.xPos,this.child.yPos); + this.menu.hasChildVisible = true; + this.menu.visibleChild = this.child; + this.child.showIt(true); +} + +function HM_f_ItemOver(){ + if (HM_KeepHilite) { + if (this.menu.currentItem && this.menu.currentItem != this && this.menu.currentItem.hasRollover) { + with(this.menu.currentItem){ + bgColor = this.tree.BGColor; + if(this.tree.NSFontOver) { + txtLyrOff.visibility = "inherit"; + txtLyrOn.visibility = "hide"; + } + } + if(this.menu.currentItem.hasImageRollover)this.menu.currentItem.imageElement.src = this.menu.currentItem.imageSrc; + } + } + if(this.hasRollover) { + this.bgColor = this.tree.BGColorOver; + if(this.tree.NSFontOver) { + if(!this.txtLyrOn.isWritten){ + this.txtLyrOn.document.write(this.htmStrOver); + this.txtLyrOn.document.close(); + this.txtLyrOn.isWritten = true; + } + this.txtLyrOff.visibility = "hide"; + this.txtLyrOn.visibility = "inherit"; + } + if(this.hasImageRollover)this.imageElement.src = this.imageSrcOver; + } + + if(HM_StatusDisplayLink) status = this.linkText; + this.menu.currentItem = this; + if (this.menu.hasChildVisible) { + if(this.menu.visibleChild == this.child && this.menu.visibleChild.hasChildVisible) this.menu.visibleChild.hideChildren(this); + else this.menu.hideChildren(this); + } + + if (this.hasMore && !this.ClickStart) this.showChild(); +} + +function HM_f_ItemOut() { + if ( (!HM_KeepHilite || ((this.tree.TopIsPermanent && (this.tree.treeParent==this)) && !this.menu.hasChildVisible)) && this.hasRollover) { + with(this){ + bgColor = this.tree.BGColor; + if(this.tree.NSFontOver) { + txtLyrOff.visibility = "inherit"; + txtLyrOn.visibility = "hide"; + } + if(this.hasImageRollover)this.imageElement.src = this.imageSrc; + } + } + if(!HM_ClickKill && !HM_UserOverMenu) { + clearTimeout(HM_HideAllTimer); + HM_HideAllTimer = null; + HM_HideAllTimer = setTimeout("HM_CurrentMenu.hideTree()",HM_ChildMilliSecondsVisible); + } +} + +function HM_f_ShowIt(on) { + if (!(this.tree.TopIsPermanent && (this.tree.treeParent==this))) { + if(!this.hasParent || (this.hasParent && this.tree.TopIsPermanent && (this.tree.treeParent==this.parentMenu) )) { + if (on == this.hidden) + eval(on ? this.tree.UponDisplay : this.tree.UponHide) + } + if (on) this.zIndex = ++HM_ZIndex; + this.visibility = on ? "show" : "hide"; + } + if (HM_KeepHilite && this.currentItem && this.currentItem.hasRollover) { + with(this.currentItem){ + bgColor = this.tree.BGColor; + if(this.tree.NSFontOver) { + txtLyrOff.visibility = "inherit"; + txtLyrOn.visibility = "hide"; + } + } + if(this.currentItem.hasImageRollover)this.currentItem.imageElement.src = this.currentItem.imageSrc; + } + this.currentItem = null; +} + +function HM_f_KeepInWindow() { + var ExtraSpace = 10; + var WindowLeftEdge = window.pageXOffset; + var WindowTopEdge = window.pageYOffset; + var WindowWidth = window.innerWidth; + var WindowHeight = window.innerHeight; + var WindowRightEdge = (WindowLeftEdge + WindowWidth) - ExtraSpace; + var WindowBottomEdge = (WindowTopEdge + WindowHeight) - ExtraSpace; + + var MenuLeftEdge = this.xPos; + var MenuRightEdge = MenuLeftEdge + this.clip.width; + var MenuBottomEdge = this.yPos + this.clip.height; + + if (this.hasParent) { + var ParentLeftEdge = this.parentItem.pageX; + this.offsetWidth = this.clip.width; + } + if (MenuRightEdge > WindowRightEdge) { + if (this.hasParent) { + this.xPos = ((ParentLeftEdge - this.parentItem.DistanceToLeftEdge) + this.parentItem.ChildOverlap) - this.offsetWidth; + } + else { + dif = MenuRightEdge - WindowRightEdge; + this.xPos -= dif; + } + this.xPos = Math.max(5,this.xPos); + } + + if (MenuBottomEdge > WindowBottomEdge) { + dif = MenuBottomEdge - WindowBottomEdge; + this.yPos -= dif; + } + + if (MenuLeftEdge < WindowLeftEdge) { + if (this.hasParent) { + this.xPos = (ParentLeftEdge + this.parentItem.DistanceToRightEdge) - this.parentItem.ChildOverlap; + MenuRightEdge = this.xPos + this.offsetWidth; + if(MenuRightEdge > WindowRightEdge) this.xPos -= (MenuRightEdge - WindowRightEdge); + } + else {this.xPos = 5} + } +} + +function HM_f_LinkIt() { + if (this.linkText.indexOf("javascript:")!=-1) eval(this.linkText) + else { + HM_f_HideAll(); + location.href = this.linkText; + } +} + +function HM_f_PopDown(menuname){ + if (!HM_AreLoaded || !HM_AreCreated) return; + menuname = menuname.replace("elMenu",HM_MenuIDPrefix); + var MenuToHide = eval("window."+menuname); + if(!MenuToHide)return; + MenuToHide.isOn = false; + if (!HM_ClickKill) MenuToHide.hideTop(); +} + +function HM_f_HideAll(callingmenu) { + for(var i=0; i + +HM Version 4.1.1 Examples + + + + + + + + +
+

Sample HTML page with 5 Hierarchical Menus

+

Permanent Centered Horizontal Menu (Cascades on click):

+

+

Permanent Horizontal Variable-Width Menu (Cascades on mouseover):

+

+

+ Relative-to-Mouse-Position Vertical Variable-Width Popup Menu (Displays on mouseover)

+
+ +

+ Relative-to-Mouse-Position Using Keywords Popup Menu (Displays on click)

+
+

+ Absolute Position Popup Menu (Displays on mouseover)

+
+ + + + diff --git a/helm/graphs/jsmenu/prova.gif b/helm/graphs/jsmenu/prova.gif new file mode 100644 index 000000000..7f53e61db Binary files /dev/null and b/helm/graphs/jsmenu/prova.gif differ diff --git a/helm/graphs/jsmenu/prova.html b/helm/graphs/jsmenu/prova.html new file mode 100644 index 000000000..7f242943a --- /dev/null +++ b/helm/graphs/jsmenu/prova.html @@ -0,0 +1,87 @@ + + +HM Version 4.1.1 Examples + + + + + + + + + + + + + + + + + +