X-Git-Url: http://wagnertech.de/git?a=blobdiff_plain;f=bin%2Fmozilla%2Fmenujs.pl;h=54637216c00b0c30748e41159472dfcfc3857dbe;hb=15c3d13829af434873b0a3a1efe4ab6fa2e00b19;hp=f4455d606a818f73a7702176d77794f7ee24ee48;hpb=57bf9c89a037036fcf433de39643778854defe51;p=kivitendo-erp.git diff --git a/bin/mozilla/menujs.pl b/bin/mozilla/menujs.pl index f4455d606..54637216c 100644 --- a/bin/mozilla/menujs.pl +++ b/bin/mozilla/menujs.pl @@ -35,13 +35,11 @@ # 2004-12-14 - Holger Lindemann ####################################################################### -my $menufile = "menu.ini"; -use SL::Menu; -use CGI::Carp qw(fatalsToBrowser); - +use utf8; use strict; -my $locale; +use SL::Menu; +use CGI::Carp qw(fatalsToBrowser); 1; @@ -82,7 +80,7 @@ sub clock_line { my $login = "[Nutzer " . $form->{login} . " - " - . $locale->text('Logout') + . $::locale->text('Logout') . "] "; my ($Sekunden, $Minuten, $Stunden, $Monatstag, $Monat, $Jahr, $Wochentag, $Jahrestag, $Sommerzeit) @@ -136,10 +134,9 @@ sub acc_menu { my $form = $main::form; my %myconfig = %main::myconfig; - $locale = Locale->new($myconfig{countrycode}, "menu"); my $mainlevel = $form->{level}; $mainlevel =~ s/$mainlevel--//g; - my $menu = new Menu "$menufile"; + my $menu = Menu->new("menu.ini"); $| = 1; @@ -181,152 +178,152 @@ var isNS4 = (document.layers ? true : false); //var KO = (navigator.appName=="Konqueror" \|\| navigator.appName=="Opera") ; var KO = ((navigator.userAgent.indexOf('Opera',0) != -1) \|\| (navigator.userAgent.indexOf('Konqueror',0) != -1)); function getRef(id) { - if (isDOM) return document.getElementById(id); - if (isIE4) return document.all[id]; - if (isNS4) return document.layers[id]; + if (isDOM) return document.getElementById(id); + if (isIE4) return document.all[id]; + if (isNS4) return document.layers[id]; } function getSty(id) { - return (isNS4 ? getRef(id) : getRef(id).style); + return (isNS4 ? getRef(id) : getRef(id).style); } var popTimer = 0; var litNow = new Array(); function popOver(menuNum, itemNum) { - if (KO) document.getElementById("win1").style.visibility = "hidden"; - clearTimeout(popTimer); - hideAllBut(menuNum); - litNow = getTree(menuNum, itemNum); - changeCol(litNow, true); - targetNum = menu[menuNum][itemNum].target; - if (targetNum > 0) { - thisX = parseInt(menu[menuNum][0].ref.left) + parseInt(menu[menuNum][itemNum].ref.left); - thisY = parseInt(menu[menuNum][0].ref.top) + parseInt(menu[menuNum][itemNum].ref.top); - with (menu[targetNum][0].ref) { - left = parseInt(thisX + menu[targetNum][0].x); - top = parseInt(thisY + menu[targetNum][0].y); - visibility = 'visible'; - } - } + if (KO) document.getElementById("win1").style.visibility = "hidden"; + clearTimeout(popTimer); + hideAllBut(menuNum); + litNow = getTree(menuNum, itemNum); + changeCol(litNow, true); + targetNum = menu[menuNum][itemNum].target; + if (targetNum > 0) { + thisX = parseInt(menu[menuNum][0].ref.left) + parseInt(menu[menuNum][itemNum].ref.left); + thisY = parseInt(menu[menuNum][0].ref.top) + parseInt(menu[menuNum][itemNum].ref.top); + with (menu[targetNum][0].ref) { + left = parseInt(thisX + menu[targetNum][0].x); + top = parseInt(thisY + menu[targetNum][0].y); + visibility = 'visible'; + } + } } function popOut(menuNum, itemNum) { - if ((menuNum == 0) && !menu[menuNum][itemNum].target) - hideAllBut(0) - if (KO) document.getElementById("win1").style.visibility = "visible"; - else - popTimer = setTimeout('hideAllBut(0)', 500); + if ((menuNum == 0) && !menu[menuNum][itemNum].target) + hideAllBut(0) + if (KO) document.getElementById("win1").style.visibility = "visible"; + else + popTimer = setTimeout('hideAllBut(0)', 500); } function getTree(menuNum, itemNum) { - itemArray = new Array(menu.length); - while(1) { - itemArray[menuNum] = itemNum; - if (menuNum == 0) return itemArray; - itemNum = menu[menuNum][0].parentItem; - menuNum = menu[menuNum][0].parentMenu; - } + itemArray = new Array(menu.length); + while(1) { + itemArray[menuNum] = itemNum; + if (menuNum == 0) return itemArray; + itemNum = menu[menuNum][0].parentItem; + menuNum = menu[menuNum][0].parentMenu; + } } function changeCol(changeArray, isOver) { - for (menuCount = 0; menuCount < changeArray.length; menuCount++) { - if (changeArray[menuCount]) { - newCol = isOver ? menu[menuCount][0].overCol : menu[menuCount][0].backCol; - with (menu[menuCount][changeArray[menuCount]].ref) { - if (isNS4) bgColor = newCol; - else backgroundColor = newCol; - } - } - } + for (menuCount = 0; menuCount < changeArray.length; menuCount++) { + if (changeArray[menuCount]) { + newCol = isOver ? menu[menuCount][0].overCol : menu[menuCount][0].backCol; + with (menu[menuCount][changeArray[menuCount]].ref) { + if (isNS4) bgColor = newCol; + else backgroundColor = newCol; + } + } + } } function hideAllBut(menuNum) { - var keepMenus = getTree(menuNum, 1); - for (count = 0; count < menu.length; count++) - if (!keepMenus[count]) - menu[count][0].ref.visibility = 'hidden'; - changeCol(litNow, false); + var keepMenus = getTree(menuNum, 1); + for (count = 0; count < menu.length; count++) + if (!keepMenus[count]) + menu[count][0].ref.visibility = 'hidden'; + changeCol(litNow, false); } function Menu(isVert, popInd, x, y, width, overCol, backCol, borderClass, textClass) { - this.isVert = isVert; - this.popInd = popInd - this.x = x; - this.y = y; - this.width = width; - this.overCol = overCol; - this.backCol = backCol; - this.borderClass = borderClass; - this.textClass = textClass; - this.parentMenu = null; - this.parentItem = null; - this.ref = null; + this.isVert = isVert; + this.popInd = popInd + this.x = x; + this.y = y; + this.width = width; + this.overCol = overCol; + this.backCol = backCol; + this.borderClass = borderClass; + this.textClass = textClass; + this.parentMenu = null; + this.parentItem = null; + this.ref = null; } function Item(text, href, frame, length, spacing, target) { - this.text = text; - this.href = href; - this.frame = frame; - this.length = length; - this.spacing = spacing; - this.target = target; - this.ref = null; + this.text = text; + this.href = href; + this.frame = frame; + this.length = length; + this.spacing = spacing; + this.target = target; + this.ref = null; } function go(link,frame) { - tmp=eval("top."+frame); - tmp.location=link; + tmp=eval("top."+frame); + tmp.location=link; //top.main_window.location=link; } function writeMenus() { - if (!isDOM && !isIE4 && !isNS4) return; - for (currMenu = 0; currMenu < menu.length; currMenu++) with (menu[currMenu][0]) { - var str = '', itemX = 0, itemY = 0; - for (currItem = 1; currItem < menu[currMenu].length; currItem++) with (menu[currMenu][currItem]) { - var itemID = 'menu' + currMenu + 'item' + currItem; - var w = (isVert ? width : length); - var h = (isVert ? length : width); - if (isDOM \|\| isIE4) { - str += '
'; - str += ''; - str +=''; - if (target > 0) { - menu[target][0].parentMenu = currMenu; - menu[target][0].parentItem = currItem; - if (popInd) str += ''; - } - str += '
' + text + '' + popInd + '
' + (isNS4 ? '' : '
'); - if (isVert) itemY += length + spacing; - else itemX += length + spacing; - } - if (isDOM) { - var newDiv = document.createElement('div'); - document.getElementsByTagName('body').item(0).appendChild(newDiv); - newDiv.innerHTML = str; - ref = newDiv.style; - ref.position = 'absolute'; - ref.visibility = 'hidden'; - } - if (isIE4) { - document.body.insertAdjacentHTML('beforeEnd', ''); - ref = getSty('menu' + currMenu + 'div'); - } - if (isNS4) { - ref = new Layer(0); - ref.document.write(str); - ref.document.close(); - } - for (currItem = 1; currItem < menu[currMenu].length; currItem++) { - itemName = 'menu' + currMenu + 'item' + currItem; - if (isDOM \|\| isIE4) menu[currMenu][currItem].ref = getSty(itemName); - if (isNS4) menu[currMenu][currItem].ref = ref.document[itemName]; - } - } - with(menu[0][0]) { - ref.left = x; - ref.top = y; - ref.visibility = 'visible'; + if (!isDOM && !isIE4 && !isNS4) return; + for (currMenu = 0; currMenu < menu.length; currMenu++) with (menu[currMenu][0]) { + var str = '', itemX = 0, itemY = 0; + for (currItem = 1; currItem < menu[currMenu].length; currItem++) with (menu[currMenu][currItem]) { + var itemID = 'menu' + currMenu + 'item' + currItem; + var w = (isVert ? width : length); + var h = (isVert ? length : width); + if (isDOM \|\| isIE4) { + str += '
'; + str += ''; + str +=''; + if (target > 0) { + menu[target][0].parentMenu = currMenu; + menu[target][0].parentItem = currItem; + if (popInd) str += ''; + } + str += '
' + text + '' + popInd + '
' + (isNS4 ? '' : '
'); + if (isVert) itemY += length + spacing; + else itemX += length + spacing; + } + if (isDOM) { + var newDiv = document.createElement('div'); + document.getElementsByTagName('body').item(0).appendChild(newDiv); + newDiv.innerHTML = str; + ref = newDiv.style; + ref.position = 'absolute'; + ref.visibility = 'hidden'; + } + if (isIE4) { + document.body.insertAdjacentHTML('beforeEnd', ''); + ref = getSty('menu' + currMenu + 'div'); + } + if (isNS4) { + ref = new Layer(0); + ref.document.write(str); + ref.document.close(); + } + for (currItem = 1; currItem < menu[currMenu].length; currItem++) { + itemName = 'menu' + currMenu + 'item' + currItem; + if (isDOM \|\| isIE4) menu[currMenu][currItem].ref = getSty(itemName); + if (isNS4) menu[currMenu][currItem].ref = ref.document[itemName]; + } + } + with(menu[0][0]) { + ref.left = x; + ref.top = y; + ref.visibility = 'visible'; } } var menu = new Array(); @@ -346,12 +343,12 @@ nsResizeHandler = new Function('if (popOldWidth != window.innerWidth) location.r if (isNS4) document.captureEvents(Event.CLICK); document.onclick = clickHandle; function clickHandle(evt) { - if (isNS4) document.routeEvent(evt); - hideAllBut(0); - if (KO) document.getElementById("win1").style.visibility = "visible"; + if (isNS4) document.routeEvent(evt); + hideAllBut(0); + if (KO) document.getElementById("win1").style.visibility = "visible"; } function moveRoot() { - with(menu[0][0].ref) left = ((parseInt(left) < 100) ? 100 : 5); + with(menu[0][0].ref) left = ((parseInt(left) < 100) ? 100 : 5); } // End --> @@ -390,7 +387,7 @@ sub section_menu { my $ml = $item; $label =~ s/$level--//g; $ml =~ s/--.*//; - $label = $locale->text($label); + $label = $::locale->text($label); $label =~ s/ / /g; $menu->{$item}{target} = "main_window" unless $menu->{$item}{target}; @@ -399,11 +396,11 @@ sub section_menu { # Untermen if ($mlz{"s$ml"} > 1) { - $z++; - $sm = 1; + $z++; + $sm = 1; } else { - $z = $sm; - $mlz{"s$ml"}++; + $z = $sm; + $mlz{"s$ml"}++; } print qq|menu[$mlz{$ml}][$z] = new Item('$label', '#', '', defLength, 0, | @@ -419,7 +416,7 @@ sub section_menu { } else { if ($menu->{$item}{module}) { - #Untermenüpunkte + #Untermenüpunkte my $target = $menu->{$item}{target}; my $uri = $menu->menuitem_js(\%myconfig, \%$form, $item, $level); @@ -435,7 +432,7 @@ sub section_menu { $sm = 1; my $breit = 15 + length($label) * 6; print - qq|menu[0][$mm] = new Item(' $label', '#', '', $breit, 10, $pm); \n|; + qq|menu[0][$mm] = new Item(' $label', '#', '', $breit, 10, $pm); \n|; print qq|menu[$pm] = new Array();\n|; print qq|menu[$pm][0] = new Menu(true, '>', 0, 20, 180, defOver, defBack, 'itemBorder', 'itemText');\n|;