1function SectionSH(
id, action, prefix)
3 var section = document.getElementById(
id);
4 if ((action !=
'show') && (action !=
'hide'))
5 action = section.style.display !=
'none' ?
'hide' :
'show';
6 var arCookie =
new Array();
7 var arCookie_ =
new Array();
10 var all_checkbox = document.getElementById(prefix+
'_all_checkbox');
11 var c_name =
'<?=COption::GetOptionString("main", "cookie_name", "BITRIX_SM")."_FORUM_FILTER"?>';
12 if (document.cookie.length>0)
14 c_start=document.cookie.indexOf(c_name +
"=");
17 c_start=c_start + c_name.length+1
18 c_end=document.cookie.indexOf(
";",c_start)
20 c_end=document.cookie.length
21 strCookie = unescape(document.cookie.substring(c_start,c_end))
24 if (strCookie.length > 0)
26 arCookie_ = strCookie.split(
'/');
27 for (var ii=0; ii<arCookie_.length; ii++)
29 tmp = arCookie_[ii].split(
'-');
31 arCookie[tmp[0]] = tmp[1];
35 arCookie[id] = (action !=
'show' ?
'N':
'Y');
39 for (var key in arCookie)
41 if (arCookie[key] ==
'Y')
42 arCookie_.push(key+
'-'+arCookie[key]);
45 if (arCookie_.length > 0)
46 document.cookie = c_name+
'='+arCookie_.join(
'/')+
'; expires=Thu, 31 Dec 2030 23:59:59 GMT; path=/;';
48 document.cookie = c_name+
"=Y; expires=Sun, 31 Dec 2000 23:59:59 GMT; path=/;";
52 section.style.display =
'none';
53 document.getElementById(
id+
'_checkbox').checked =
false;
54 all_checkbox.checked =
false;
59 section.style.display =
'table-row';
62 section.style.display =
'block';
64 document.getElementById(
id+
'_checkbox').checked =
true;
68function SectionGA(
id, checkbox_ga)
71 if (checkbox_ga.checked !=
true)
73 table = document.getElementById(
id+
'_table');
75 for(var i=1; i<table.rows.length; i++)
77 if (table.rows[i].id.substring(0,
id.length) ==
id)
79 SectionSH(table.rows[i].id, action,
id);
89 addEvent:
function(el, evname, func, capture)
92 el.attachEvent(
"on" + evname, func);
93 else if(el.addEventListener)
94 el.addEventListener(evname, func,
false);
96 el[
"on" + evname] = func;
97 this.arEvents[this.arEvents.length] = {
'element': el,
'event': evname,
'fn': func};
100 removeEvent:
function(el, evname, func)
103 el.detachEvent(
"on" + evname, func);
104 else if(el.removeEventListener)
105 el.removeEventListener(evname, func,
false);
107 el[
"on" + evname] =
null;
110 removeAllEvents:
function(el)
112 for(var i in this.arEvents)
114 if(this.arEvents[i] && (el==
false || el==this.arEvents[i].element))
116 jsUtils.removeEvent(this.arEvents[i].element, this.arEvents[i].event, this.arEvents[i].fn);
117 this.arEvents[i] =
null;
121 this.arEvents.length = 0;
124 GetRealPos:
function(el)
126 if(!el || !el.offsetParent)
129 res[
"left"] = el.offsetLeft;
130 res[
"top"] = el.offsetTop;
131 var objParent = el.offsetParent;
132 while(objParent && objParent.tagName !=
"BODY")
134 res[
"left"] += objParent.offsetLeft;
135 res[
"top"] += objParent.offsetTop;
136 objParent = objParent.offsetParent;
138 res[
"right"]=res[
"left"] + el.offsetWidth;
139 res[
"bottom"]=res[
"top"] + el.offsetHeight;
144 FindChildObject:
function(obj, tag_name, class_name)
148 var tag = tag_name.toUpperCase();
149 var cl = (class_name? class_name.toLowerCase() :
null);
150 var n = obj.childNodes.length;
151 for(var j=0; j<n; j++)
153 var child = obj.childNodes[j];
154 if(child.tagName && child.tagName.toUpperCase() == tag)
155 if(!class_name || child.className.toLowerCase() == cl)
161 FindNextSibling:
function(obj, tag_name)
166 var tag = tag_name.toUpperCase();
169 var sibling = o.nextSibling;
170 if(sibling.tagName && sibling.tagName.toUpperCase() == tag)
177 FindPreviousSibling:
function(obj, tag_name)
182 var tag = tag_name.toUpperCase();
183 while(o.previousSibling)
185 var sibling = o.previousSibling;
186 if(sibling.tagName && sibling.tagName.toUpperCase() == tag)
193 FindParentObject:
function(obj, tag_name)
198 var tag = tag_name.toUpperCase();
201 var parent = o.parentNode;
202 if(parent.tagName && parent.tagName.toUpperCase() == tag)
211 return (document.attachEvent && !
this.IsOpera());
216 return (navigator.userAgent.toLowerCase().indexOf(
'opera') != -1);
219 ToggleDiv:
function(div)
221 var
style = document.getElementById(div).style;
222 if(
style.display!=
"none")
223 style.display =
"none";
225 style.display =
"block";
226 return (
style.display !=
"none");
229 urlencode:
function(s)
231 return escape(s).replace(
new RegExp(
'\\+',
'g'),
'%2B');
236 var w = screen.width, h = screen.height;
239 w = document.body.offsetWidth;
240 h = document.body.offsetHeight;
242 window.open(url,
'',
'status=no,scrollbars=yes,resizable=yes,width='+
width+
',height='+
height+
',top='+Math.floor((h -
height)/2-14)+
',left='+Math.floor((w -
width)/2-5));
245 SetPageTitle:
function(s)
247 document.title = BX(
"FORUMJS_TITLE")+s;
248 var h1 = document.getElementsByTagName(
"H1");
253 LoadPageToDiv:
function(url, div_id)
255 var div = document.getElementById(div_id);
258 CHttpRequest.Action =
function(result)
261 document.getElementById(div_id).innerHTML = result;
264 CHttpRequest.Send(url);
271 r = s.replace(re,
"");
273 r = r.replace(re,
"");
277 Redirect:
function(args, url)
279 var e =
null, bShift =
false;
296 False:
function(){
return false;},
298 AlignToPos:
function(pos, w, h)
300 var x = pos[
"left"], y = pos[
"bottom"];
302 var body = document.body;
303 if((body.clientWidth + body.scrollLeft) - (pos[
"left"] + w) < 0)
305 if(pos[
"right"] - w >= 0 )
306 x = pos[
"right"] - w;
311 if((body.clientHeight + body.scrollTop) - (pos[
"bottom"] + h) < 0)
313 if(pos[
"top"] - h >= 0)
319 return {
'left':x,
'top':y};
346function ForumPopupMenu(
id)
350 this.controlDiv =
null;
354 this.Show =
function(div,
left,
top)
356 var zIndex = parseInt(div.style.zIndex);
357 if(zIndex <= 0 || isNaN(zIndex))
359 div.style.zIndex = zIndex;
360 div.style.left =
left +
"px";
361 div.style.top =
top +
"px";
365 var frame = document.getElementById(div.id+
"_frame");
368 frame = document.createElement(
"IFRAME");
369 frame.src =
"javascript:''";
370 frame.id = div.id+
"_frame";
371 frame.style.position =
'absolute';
372 frame.style.zIndex = zIndex-1;
373 document.body.appendChild(frame);
375 frame.style.width = div.offsetWidth +
"px";
376 frame.style.height = div.offsetHeight +
"px";
377 frame.style.left = div.style.left;
378 frame.style.top = div.style.top;
379 frame.style.visibility =
'visible';
383 this.PopupShow =
function(pos)
385 var div = document.getElementById(this.menu_id);
389 setTimeout(
function(){jsUtils.addEvent(document,
"click", _this.CheckClick)}, 10);
390 jsUtils.addEvent(document,
"keypress", _this.OnKeyPress);
392 var w = div.offsetWidth;
393 var h = div.offsetHeight;
394 pos = jsUtils.AlignToPos(pos, w, h);
396 div.style.width = w +
'px';
397 div.style.visibility =
'visible';
399 this.Show(div, pos[
"left"], pos[
"top"]);
401 div.ondrag = jsUtils.False;
402 div.onselectstart = jsUtils.False;
403 div.style.MozUserSelect =
'none';
406 this.PopupHide =
function()
408 var div = document.getElementById(this.menu_id);
411 var frame = document.getElementById(div.id+
"_frame");
413 frame.style.visibility =
'hidden';
415 div.style.visibility =
'hidden';
421 this.controlDiv =
null;
422 jsUtils.removeEvent(document,
"click", _this.CheckClick);
423 jsUtils.removeEvent(document,
"keypress", _this.OnKeyPress);
426 this.CheckClick =
function(e)
428 var div = document.getElementById(_this.menu_id);
432 if (div.style.visibility !=
'visible')
435 var x = e.clientX + document.body.scrollLeft;
436 var y = e.clientY + document.body.scrollTop;
439 var posLeft = parseInt(div.style.left);
440 var posTop = parseInt(div.style.top);
441 var posRight = posLeft + div.offsetWidth;
442 var posBottom = posTop + div.offsetHeight;
443 if(x >= posLeft && x <= posRight && y >= posTop && y <= posBottom)
448 var pos = jsUtils.GetRealPos(_this.controlDiv);
449 if(x >= pos[
'left'] && x <= pos[
'right'] && y >= pos[
'top'] && y <= pos[
'bottom'])
455 this.OnKeyPress =
function(e)
457 if(!e) e = window.event
463 this.IsVisible =
function()
465 return (document.getElementById(
this.menu_id).style.visibility !=
'hidden');
468 this.ShowMenu =
function(control)
470 if(this.controlDiv == control)
476 control.className +=
'-hover';
478 var pos = jsUtils.GetRealPos(control);
492 this.controlDiv = control;
493 this.OnClose =
function()
495 control.className = control.className.replace(/\-hover/ig,
"");
hidden PROPERTY[<?=$propertyIndex?>][CODE]<?=htmlspecialcharsEx( $propertyCode)?> height
bx popup label bx width30 PAGE_NEW_MENU_NAME text width
bx_acc_lim_group_list limitGroupList[] multiple<?=$group[ 'ID']?> ID selected margin top
hidden mSiteList<?=htmlspecialcharsbx(serialize( $siteList))?><?=htmlspecialcharsbx( $siteList[ $j]["ID"])?> _Propery<? if(((COption::GetOptionString( $module_id, "different_set", "N")=="Y") &&( $j !=0))||(COption::GetOptionString( $module_id, "different_set", "N")=="N")) echo "display: none;"?> top adm detail content cell l top adm detail content cell r heading center center ID left