PageSourceSearch

https://www.business-qr-code.com/admin/js/menu.js

js business-qr-code.com collected 2026-10-06 21:50:27 UTC 4,534 bytes, 117 lines download raw bytes

1function buildMenu(uid, module_id) {	// делает асинхронный HTTP запрос, используя объект XMLHttpRequest
2
3	loadXMLDoc( "/admin/menu.php?uid=" + uid + "&module_id=" + module_id + "&" + intRandom(), handler_load_menu );
4
5}
6
7
8
9var menuState=0;
10
11menuItems = [ ['Редактировать', 'javascript://',
12						                  ['', '', ''],
13						                  ['', '', ''],
14						                  ['', '', ''],
15						                  ['', '', ''],
16						                  ['', '', ''],
17						                  ['', '', ''],
18						                  ['', '', ''],
19						                  ['', '', ''],
20						                  ['', '', ''],
21						                  ['', '', ''],
22						                  ['', '', ''],
23						                  ['', '', ''],
24						                  ['', '', ''],
25						                  ['', '', ''],
26						                  ['', '', ''],
27						                  ['', '', ''],
28						                  ['', '', ''],
29						                  ['', '', ''],
30						                  ['', '', ''],
31						                  ['', '', ''],  // 24.12.10 
32						                  ['', '', ''],   
33						                  ['', '', ''],   
34						                  ['', '', ''],
35						                  ['', '', ''],
36						                  ['', '', ''],  // 16.01.13 
37						                  ['', '', ''],  // 16.01.13
38						                  ['', '', ''],  // 22.04.13
39						                  ['', '', ''],  // 02.11.13
40						                  ['', '', '']]/*,
41              ['Настройки', 'javascript://'],
42              ['Помощь', 'javascript://']*/
43            ];		
44
45
46function handler_load_menu( req ) {
47   // only if req shows "complete"
48   if( req.readyState == 4 ) {
49      closeOnProcessDialog();
50      // only if "OK"
51      if( req.status == 200 ) {
52         
53		  var xmlResponse = req.responseXML.documentElement;   // получает корневой элемент XML структуры
54		  var xmlItems = xmlResponse.childNodes;
55
56		  for ( var i = 0; i < xmlItems.length/3; i++ ) {
57	          menuItems[0][i+2][0] = xmlItems[i*3].firstChild.nodeValue;
58	          menuItems[0][i+2][1] = xmlItems[i*3+1].firstChild.nodeValue;
59			  menuItems[0][i+2][2] = xmlItems[i*3+2].firstChild.nodeValue;
60		  }
61		 
62		 
63      } else {
64         ajax_message( "Сервер не отвечает" );
65      }
66   }
67
68} // End function handler_load_data
69
70
71function setMenuItem(obj,nItem) {
72   result = '';
73   subMenuObj = document.getElementById('subMenu');
74   for (var i = 2; i < menuItems[nItem].length; i++) {
75      if( !(menuItems[nItem][i][1] == '') ) { 
76		 if( menuItems[nItem][i][2] != menuItems[nItem][i-1][2] ) { 
77	        result += "<tr><td class=\"separator\"></td></tr>";
78	     } 
79	     result += "<tr><td onMouseOver=\"this.className='menuOn'; document.getElementById('menuItem"+nItem+"').className='menuOn'\" onmouseout=\"this.className='menuOff'; document.getElementById('menuItem"+nItem+"').className='menuOff'\" onClick=\"noneMenu();\"><a href=\""+menuItems[nItem][i][1]+"\">"+menuItems[nItem][i][0]+"</a></td></tr>";
80     }
81	     
82   }
83   if( result ) {
84      subMenuObj.style.left = getPosX(obj);
85      subMenuObj.style.top = getPosY(obj) + obj.offsetHeight;
86      subMenuObj.innerHTML = '<table>' + result + '</table>';
87      menuState=2;
88   } else {
89      subMenuObj.innerHTML = '';
90   }
91}
92
93
94function noneMenu() {
95   if (menuState==2) {menuState=1;return;}
96   subMenuObj = document.getElementById('subMenu');
97   subMenuObj.innerHTML="";
98   for (var i = 0; i < menuItems.length; i++) {
99     document.getElementById('menuItem'+i).className='menuOff';
100   }
101   menuState=0;
102}
103
104
105function menuHTML(menuItems, userInfo) {
106   result = "<table><tr>";
107   for (var i = 0; i < menuItems.length; i++) {
108      result += "<td id=\"menuItem"+i+"\" onClick=\"setMenuItem(this,"+i+");\" onMouseOver=\"this.className='menuOn'; if (menuState!=0) { setMenuItem(this,"+i+"); menuState=1;}\" onmouseout=\"this.className='menuOff';\"><a href=\"" + menuItems[i][1] + "\">" + menuItems[i][0] + "</a></td>";
109   }   
110   result += "<td width=\"100%\" align=\"right\">" + userInfo + "</td></tr></table>";
111   result += "<div id=\"subMenu\" style=\"position:absolute; left:100; top:35;\"></div>";
112   return result;
113}
114
115function generate_menu() {
116   document.getElementById('menu').innerHTML = menuHTML(menuItems, document.getElementById('userInfo').innerHTML);
117}

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.