Fixed Rico.Corner.round to be compatible with latest browsers/CSS3 - in both Rico2...
[infodrom/rico3] / examples / menu.js
1 var acc;\r
2 Rico.onLoad( function() {\r
3   Rico.$('RicoVersion').innerHTML=Rico.Version;\r
4   arPath=location.pathname.split('/');\r
5   Rico.$('RicoDir').innerHTML=arPath[arPath.length-2].toUpperCase().replace(/DOT/,'.');\r
6   Rico.Corner.round('menuheader');\r
7   acc=new Rico.Accordion( 'accordion1', {panelHeight:100} );\r
8   //WinResize();\r
9   setLinks(Rico.select('#accordion1 ul a'));\r
10   setParm(Rico.$('lib_prototype/1.7/prototype.js'));\r
11   setParm(Rico.$('theme_j-ui-lightness'));\r
12   setTimeout(WinResize,5);\r
13   setTimeout(function() {Event.observe(top, "resize", WinResize, false);},100);\r
14 });\r
15 \r
16 function setLinks(links) {\r
17   for (var i=0; i<links.length; i++) {\r
18     links[i].href='javascript:void(0)';\r
19     Rico.eventBind(links[i],"click", Rico.eventHandle(window,'processClick'));\r
20   }\r
21 };\r
22 \r
23 function CalcAccHt() {\r
24   var winht=Rico.windowHeight();\r
25   var txtht=Rico.$('accordion1').offsetTop;\r
26   var titleht=acc.titles.length * (acc.titles[0].offsetHeight + 5);\r
27   return Math.max(winht-txtht-titleht-35,60);\r
28 }\r
29 \r
30 function WinResize(e) {\r
31   acc.setPanelHeight(CalcAccHt());\r
32 }\r
33 \r
34 function processClick(e) {\r
35   var elem=Rico.eventElement(e);\r
36   if (elem.tagName != 'A') elem=Rico.getParentByTagName(elem,'a');\r
37   //alert(elem.tagName+' '+elem.id);\r
38   setParm(elem);\r
39   var form=document.forms[0];\r
40   if (!form.action) return;\r
41   //alert(form.id+': '+form.action);\r
42   // IE6 requires a delay\r
43   setTimeout(function() { form.submit(); return false; }, 20);\r
44 }\r
45 \r
46 function setParm(elem) {\r
47   var idx=elem.id.indexOf('_');\r
48   if (idx < 0) return;\r
49   var prefix=elem.id.substr(0,idx);\r
50   var suffix=elem.id.substr(idx+1);\r
51   //alert(prefix+' * '+suffix);\r
52   var form=document.forms[0];\r
53   if (prefix=='demo') {\r
54     form.action=suffix;\r
55   } else {\r
56     Rico.$(prefix).value=suffix;\r
57   }\r
58   var spanid=prefix+'span';\r
59   Rico.$(spanid).innerHTML=Rico.stripTags(elem.innerHTML);\r
60 }\r