var _____WB$wombat$assign$function_____ = function(name) {return (self._wb_wombat && self._wb_wombat.local_init && self._wb_wombat.local_init(name)) || self[name]; };
if (!self.__WB_pmw) { self.__WB_pmw = function(obj) { this.__WB_source = obj; return this; } }
{
let window = _____WB$wombat$assign$function_____("window");
let self = _____WB$wombat$assign$function_____("self");
let document = _____WB$wombat$assign$function_____("document");
let location = _____WB$wombat$assign$function_____("location");
let top = _____WB$wombat$assign$function_____("top");
let parent = _____WB$wombat$assign$function_____("parent");
let frames = _____WB$wombat$assign$function_____("frames");
let opener = _____WB$wombat$assign$function_____("opener");
/*
[Discuz!] (C)2001-2009 Comsenz Inc.
This is NOT a freeware, use is subject to license terms
$Id: common.js 20980 2009-11-05 02:06:19Z monkey $
*/
var BROWSER = {};
var USERAGENT = navigator.userAgent.toLowerCase();
BROWSER.ie = window.ActiveXObject && USERAGENT.indexOf('msie') != -1 && USERAGENT.substr(USERAGENT.indexOf('msie') + 5, 3);
BROWSER.firefox = document.getBoxObjectFor && USERAGENT.indexOf('firefox') != -1 && USERAGENT.substr(USERAGENT.indexOf('firefox') + 8, 3);
BROWSER.chrome = window.MessageEvent && !document.getBoxObjectFor && USERAGENT.indexOf('chrome') != -1 && USERAGENT.substr(USERAGENT.indexOf('chrome') + 7, 10);
BROWSER.opera = window.opera && opera.version();
BROWSER.safari = window.openDatabase && USERAGENT.indexOf('safari') != -1 && USERAGENT.substr(USERAGENT.indexOf('safari') + 7, 8);
BROWSER.other = !BROWSER.ie && !BROWSER.firefox && !BROWSER.chrome && !BROWSER.opera && !BROWSER.safari;
BROWSER.firefox = BROWSER.chrome ? 1 : BROWSER.firefox;
var DISCUZCODE = [];
DISCUZCODE['num'] = '-1';
DISCUZCODE['html'] = [];
var CSSLOADED = [];
var JSMENU = [];
JSMENU['active'] = [];
JSMENU['timer'] = [];
JSMENU['drag'] = [];
JSMENU['layer'] = 0;
JSMENU['zIndex'] = {'win':200,'menu':300,'prompt':400,'dialog':500};
JSMENU['float'] = '';
var AJAX = [];
AJAX['debug'] = 0;
AJAX['url'] = [];
AJAX['stack'] = [0, 0, 0, 0, 0, 0, 0, 0, 0, 0];
var clipboardswfdata = '';
var CURRENTSTYPE = null;
var discuz_uid = isUndefined(discuz_uid) ? 0 : discuz_uid;
var creditnotice = isUndefined(creditnotice) ? '' : creditnotice;
var cookiedomain = isUndefined(cookiedomain) ? '' : cookiedomain;
var cookiepath = isUndefined(cookiepath) ? '' : cookiepath;
if(BROWSER.firefox && window.HTMLElement) {
HTMLElement.prototype.__defineSetter__('outerHTML', function(sHTML) {
var r = this.ownerDocument.createRange();
r.setStartBefore(this);
var df = r.createContextualFragment(sHTML);
this.parentNode.replaceChild(df,this);
return sHTML;
});
HTMLElement.prototype.__defineGetter__('outerHTML', function() {
var attr;
var attrs = this.attributes;
var str = '<' + this.tagName.toLowerCase();
for(var i = 0;i < attrs.length;i++){
attr = attrs[i];
if(attr.specified)
str += ' ' + attr.name + '="' + attr.value + '"';
}
if(!this.canHaveChildren) {
return str + '>';
}
return str + '>' + this.innerHTML + '' + this.tagName.toLowerCase() + '>';
});
HTMLElement.prototype.__defineGetter__('canHaveChildren', function() {
switch(this.tagName.toLowerCase()) {
case 'area':case 'base':case 'basefont':case 'col':case 'frame':case 'hr':case 'img':case 'br':case 'input':case 'isindex':case 'link':case 'meta':case 'param':
return false;
}
return true;
});
HTMLElement.prototype.click = function(){
var evt = this.ownerDocument.createEvent('MouseEvents');
evt.initMouseEvent('click', true, true, this.ownerDocument.defaultView, 1, 0, 0, 0, 0, false, false, false, false, 0, null);
this.dispatchEvent(evt);
};
}
function $(id) {
return document.getElementById(id);
}
function display(id) {
$(id).style.display = $(id).style.display == '' ? 'none' : '';
}
function isUndefined(variable) {
return typeof variable == 'undefined' ? true : false;
}
function in_array(needle, haystack) {
if(typeof needle == 'string' || typeof needle == 'number') {
for(var i in haystack) {
if(haystack[i] == needle) {
return true;
}
}
}
return false;
}
function trim(str) {
return (str + '').replace(/(\s+)$/g, '').replace(/^\s+/g, '');
}
function strlen(str) {
return (BROWSER.ie && str.indexOf('\n') != -1) ? str.replace(/\r?\n/g, '_').length : str.length;
}
function mb_strlen(str) {
var len = 0;
for(var i = 0; i < str.length; i++) {
len += str.charCodeAt(i) < 0 || str.charCodeAt(i) > 255 ? (charset == 'utf-8' ? 3 : 2) : 1;
}
return len;
}
function mb_cutstr(str, maxlen, dot) {
var len = 0;
var ret = '';
var dot = !dot ? '...' : '';
maxlen = maxlen - dot.length;
for(var i = 0; i < str.length; i++) {
len += str.charCodeAt(i) < 0 || str.charCodeAt(i) > 255 ? (charset == 'utf-8' ? 3 : 2) : 1;
if(len > maxlen) {
ret += dot;
break;
}
ret += str.substr(i, 1);
}
return ret;
}
function checkall(form, prefix, checkall) {
var checkall = checkall ? checkall : 'chkall';
count = 0;
for(var i = 0; i < form.elements.length; i++) {
var e = form.elements[i];
if(e.name && e.name != checkall && (!prefix || (prefix && e.name.match(prefix)))) {
e.checked = form.elements[checkall].checked;
if(e.checked) {
count++;
}
}
}
return count;
}
function doane(event) {
e = event ? event : window.event;
if(!e) return;
if(BROWSER.ie) {
e.returnValue = false;
e.cancelBubble = true;
} else if(e) {
e.stopPropagation();
e.preventDefault();
}
}
function _attachEvent(obj, evt, func, eventobj) {
eventobj = !eventobj ? obj : eventobj;
if(obj.addEventListener) {
obj.addEventListener(evt, func, false);
} else if(eventobj.attachEvent) {
obj.attachEvent('on' + evt, func);
}
}
function _detachEvent(obj, evt, func, eventobj) {
eventobj = !eventobj ? obj : eventobj;
if(obj.removeEventListener) {
obj.removeEventListener(evt, func, false);
} else if(eventobj.detachEvent) {
obj.detachEvent('on' + evt, func);
}
}
function setcookie(cookieName, cookieValue, seconds, path, domain, secure) {
var expires = new Date();
expires.setTime(expires.getTime() + seconds * 1000);
domain = !domain ? cookiedomain : domain;
path = !path ? cookiepath : path;
document.cookie = escape(cookieName) + '=' + escape(cookieValue)
+ (expires ? '; expires=' + expires.toGMTString() : '')
+ (path ? '; path=' + path : '/')
+ (domain ? '; domain=' + domain : '')
+ (secure ? '; secure' : '');
}
function getcookie(name) {
var cookie_start = document.cookie.indexOf(name);
var cookie_end = document.cookie.indexOf(";", cookie_start);
return cookie_start == -1 ? '' : unescape(document.cookie.substring(cookie_start + name.length + 1, (cookie_end > cookie_start ? cookie_end : document.cookie.length)));
}
function thumbImg(obj, method) {
if(!obj) {
return;
}
obj.onload = null;
file = obj.src;
zw = obj.offsetWidth;
zh = obj.offsetHeight;
if(zw < 2) {
if(!obj.id) {
obj.id = 'img_' + Math.random();
}
setTimeout("thumbImg($('" + obj.id + "'), " + method + ")", 100);
return;
}
zr = zw / zh;
method = !method ? 0 : 1;
if(method) {
fixw = obj.getAttribute('_width');
fixh = obj.getAttribute('_height');
if(zw > fixw) {
zw = fixw;
zh = zw / zr;
}
if(zh > fixh) {
zh = fixh;
zw = zh * zr;
}
} else {
var widthary = imagemaxwidth.split('%');
if(widthary.length > 1) {
fixw = $('wrap').clientWidth - 200;
if(widthary[0]) {
fixw = fixw * widthary[0] / 100;
} else if(widthary[1]) {
fixw = fixw < widthary[1] ? fixw : widthary[1];
}
} else {
fixw = widthary[0];
}
if(zw > fixw) {
zw = fixw;
zh = zw / zr;
obj.style.cursor = 'pointer';
if(!obj.onclick) {
obj.onclick = function() {
zoom(obj, obj.src);
};
}
}
}
obj.width = zw;
obj.height = zh;
}
function imgzoom() {}
function attachimg() {}
function setCopy(text, msg){
if(BROWSER.ie) {
clipboardData.setData('Text', text);
if(msg) {
showDialog(msg, 'notice');
}
} else {
var msg = '
点此复制到剪贴板
' +
AC_FL_RunContent('id', 'clipboardswf', 'name', 'clipboardswf', 'devicefont', 'false', 'width', '120', 'height', '40', 'src', 'images/common/clipboard.swf', 'menu', 'false', 'allowScriptAccess', 'sameDomain', 'swLiveConnect', 'true', 'wmode', 'transparent', 'style' , 'margin-top:-20px');
showDialog(msg, 'info');
text = text.replace(/[\xA0]/g, ' ');
clipboardswfdata = text;
}
}
function getClipboardData() {
window.document.clipboardswf.SetVariable('str', clipboardswfdata);
}
function saveData(ignoreempty) {
var ignoreempty = isUndefined(ignoreempty) ? 0 : ignoreempty;
var obj = $('postform') && (($('fwin_newthread') && $('fwin_newthread').style.display == '') || ($('fwin_reply') && $('fwin_reply').style.display == '')) ? $('postform') : ($('fastpostform') ? $('fastpostform') : $('postform'));
if(!obj) return;
var data = subject = message = '';
for(var i = 0; i < obj.elements.length; i++) {
var el = obj.elements[i];
if(el.name != '' && (el.tagName == 'TEXTAREA' || el.tagName == 'INPUT' && (el.type == 'text' || el.type == 'checkbox' || el.type == 'radio')) && el.name.substr(0, 6) != 'attach') {
var elvalue = el.value;
if(el.name == 'subject') {
subject = trim(elvalue);
} else if(el.name == 'message') {
if(typeof wysiwyg != 'undefined' && wysiwyg == 1) {
elvalue = html2bbcode(editdoc.body.innerHTML);
}
message = trim(elvalue);
}
if((el.type == 'checkbox' || el.type == 'radio') && !el.checked) {
continue;
}
if(trim(elvalue)) {
data += el.name + String.fromCharCode(9) + el.tagName + String.fromCharCode(9) + el.type + String.fromCharCode(9) + elvalue + String.fromCharCode(9, 9);
}
}
}
if(!subject && !message && !ignoreempty) {
return;
}
if(BROWSER.ie){
with(document.documentElement) {
setAttribute("value", data);
save('Discuz');
}
} else if(window.sessionStorage){
sessionStorage.setItem('Discuz', data);
}
}
function switchAdvanceMode(url) {
var obj = $('postform') && (($('fwin_newthread') && $('fwin_newthread').style.display == '') || ($('fwin_reply') && $('fwin_reply').style.display == '')) ? $('postform') : $('fastpostform');
if(obj && obj.message.value != '') {
saveData();
url += '&cedit=yes';
}
location.href = url;
return false;
}
function updatestring(str1, str2, clear) {
str2 = '_' + str2 + '_';
return clear ? str1.replace(str2, '') : (str1.indexOf(str2) == -1 ? str1 + str2 : str1);
}
function toggle_collapse(objname, noimg, complex, lang) {
var obj = $(objname);
if(obj) {
obj.style.display = obj.style.display == '' ? 'none' : '';
var collapsed = getcookie('discuz_collapse');
collapsed = updatestring(collapsed, objname, !obj.style.display);
setcookie('discuz_collapse', collapsed, (collapsed ? 2592000 : -2592000));
}
if(!noimg) {
var img = $(objname + '_img');
if(img.tagName != 'IMG') {
if(img.className.indexOf('_yes') == -1) {
img.className = img.className.replace(/_no/, '_yes');
if(lang) {
img.innerHTML = lang[0];
}
} else {
img.className = img.className.replace(/_yes/, '_no');
if(lang) {
img.innerHTML = lang[1];
}
}
} else {
img.src = img.src.indexOf('_yes.gif') == -1 ? img.src.replace(/_no\.gif/, '_yes\.gif') : img.src.replace(/_yes\.gif/, '_no\.gif');
}
img.blur();
}
if(complex) {
var objc = $(objname + '_c');
if(objc) {
objc.className = objc.className == 'c_header' ? 'c_header closenode' : 'c_header';
}
}
}
function sidebar_collapse(lang) {
if(lang[0]) {
toggle_collapse('sidebar', null, null, lang);
$('wrap').className = $('wrap').className == 'wrap with_side s_clear' ? 'wrap s_clear' : 'wrap with_side s_clear';
} else {
var collapsed = getcookie('discuz_collapse');
collapsed = updatestring(collapsed, 'sidebar', 1);
setcookie('discuz_collapse', collapsed, (collapsed ? 2592000 : -2592000));
location.reload();
}
}
function loadcss(cssname) {
if(!CSSLOADED[cssname]) {
css = document.createElement('link');
css.type = 'text/css';
css.rel = 'stylesheet';
css.href = 'forumdata/cache/style_' + STYLEID + '_' + cssname + '.css?' + VERHASH;
var headNode = document.getElementsByTagName("head")[0];
headNode.appendChild(css);
CSSLOADED[cssname] = 1;
}
}
function showMenu(v) {
var ctrlid = isUndefined(v['ctrlid']) ? v : v['ctrlid'];
var showid = isUndefined(v['showid']) ? ctrlid : v['showid'];
var menuid = isUndefined(v['menuid']) ? showid + '_menu' : v['menuid'];
var ctrlObj = $(ctrlid);
var menuObj = $(menuid);
if(!menuObj) return;
var mtype = isUndefined(v['mtype']) ? 'menu' : v['mtype'];
var evt = isUndefined(v['evt']) ? 'mouseover' : v['evt'];
var pos = isUndefined(v['pos']) ? '43' : v['pos'];
var layer = isUndefined(v['layer']) ? 1 : v['layer'];
var duration = isUndefined(v['duration']) ? 2 : v['duration'];
var timeout = isUndefined(v['timeout']) ? 250 : v['timeout'];
var maxh = isUndefined(v['maxh']) ? 500 : v['maxh'];
var cache = isUndefined(v['cache']) ? 1 : v['cache'];
var drag = isUndefined(v['drag']) ? '' : v['drag'];
var dragobj = drag && $(drag) ? $(drag) : menuObj;
var fade = isUndefined(v['fade']) ? 0 : v['fade'];
var cover = isUndefined(v['cover']) ? 0 : v['cover'];
var zindex = isUndefined(v['zindex']) ? JSMENU['zIndex']['menu'] : v['zindex'];
if(typeof JSMENU['active'][layer] == 'undefined') {
JSMENU['active'][layer] = [];
}
if(evt == 'click' && in_array(menuid, JSMENU['active'][layer]) && mtype != 'win') {
hideMenu(menuid, mtype);
return;
}
if(mtype == 'menu') {
hideMenu(layer, mtype);
}
if(ctrlObj) {
if(!ctrlObj.initialized) {
ctrlObj.initialized = true;
ctrlObj.unselectable = true;
ctrlObj.outfunc = typeof ctrlObj.onmouseout == 'function' ? ctrlObj.onmouseout : null;
ctrlObj.onmouseout = function() {
if(this.outfunc) this.outfunc();
if(duration < 3 && !JSMENU['timer'][menuid]) JSMENU['timer'][menuid] = setTimeout('hideMenu(\'' + menuid + '\', \'' + mtype + '\')', timeout);
};
ctrlObj.overfunc = typeof ctrlObj.onmouseover == 'function' ? ctrlObj.onmouseover : null;
ctrlObj.onmouseover = function(e) {
doane(e);
if(this.overfunc) this.overfunc();
if(evt == 'click') {
clearTimeout(JSMENU['timer'][menuid]);
JSMENU['timer'][menuid] = null;
} else {
for(var i in JSMENU['timer']) {
if(JSMENU['timer'][i]) {
clearTimeout(JSMENU['timer'][i]);
JSMENU['timer'][i] = null;
}
}
}
};
}
}
var dragMenu = function(menuObj, e, op) {
e = e ? e : window.event;
if(op == 1) {
if(in_array(BROWSER.ie ? e.srcElement.tagName : e.target.tagName, ['TEXTAREA', 'INPUT', 'BUTTON', 'SELECT'])) {
return;
}
JSMENU['drag'] = [e.clientX, e.clientY];
JSMENU['drag'][2] = parseInt(menuObj.style.left);
JSMENU['drag'][3] = parseInt(menuObj.style.top);
document.onmousemove = function(e) {try{dragMenu(menuObj, e, 2);}catch(err){}};
document.onmouseup = function(e) {try{dragMenu(menuObj, e, 3);}catch(err){}};
doane(e);
} else if(op == 2 && JSMENU['drag'][0]) {
var menudragnow = [e.clientX, e.clientY];
menuObj.style.left = (JSMENU['drag'][2] + menudragnow[0] - JSMENU['drag'][0]) + 'px';
menuObj.style.top = (JSMENU['drag'][3] + menudragnow[1] - JSMENU['drag'][1]) + 'px';
doane(e);
} else if(op == 3) {
JSMENU['drag'] = [];
document.onmousemove = null;
document.onmouseup = null;
}
};
if(!menuObj.initialized) {
menuObj.initialized = true;
menuObj.ctrlkey = ctrlid;
menuObj.mtype = mtype;
menuObj.layer = layer;
menuObj.cover = cover;
if(ctrlObj && ctrlObj.getAttribute('fwin')) {menuObj.scrolly = true;}
menuObj.style.position = 'absolute';
menuObj.style.zIndex = zindex + layer;
menuObj.onclick = function(e) {
if(!e || BROWSER.ie) {
window.event.cancelBubble = true;
return window.event;
} else {
e.stopPropagation();
return e;
}
};
if(duration < 3) {
if(duration > 1) {
menuObj.onmouseover = function() {
clearTimeout(JSMENU['timer'][menuid]);
JSMENU['timer'][menuid] = null;
};
}
if(duration != 1) {
menuObj.onmouseout = function() {
JSMENU['timer'][menuid] = setTimeout('hideMenu(\'' + menuid + '\', \'' + mtype + '\')', timeout);
};
}
}
if(drag) {
dragobj.style.cursor = 'move';
dragobj.onmousedown = function(event) {try{dragMenu(menuObj, event, 1);}catch(e){}};
}
if(cover) {
var coverObj = document.createElement('div');
coverObj.id = menuid + '_cover';
coverObj.style.position = 'absolute';
coverObj.style.zIndex = menuObj.style.zIndex - 1;
coverObj.style.left = coverObj.style.top = '0px';
coverObj.style.width = '100%';
coverObj.style.height = document.body.scrollHeight + 'px';
coverObj.style.backgroundColor = '#000';
coverObj.style.filter = 'progid:DXImageTransform.Microsoft.Alpha(opacity=50)';
coverObj.style.opacity = 0.5;
$('append_parent').appendChild(coverObj);
}
}
menuObj.style.display = '';
if(cover) $(menuid + '_cover').style.display = '';
if(fade) {
var O = 0;
var fadeIn = function(O) {
if(O == 100) {
clearTimeout(fadeInTimer);
return;
}
menuObj.style.filter = 'progid:DXImageTransform.Microsoft.Alpha(opacity=' + O + ')';
menuObj.style.opacity = O / 100;
O += 10;
var fadeInTimer = setTimeout(function () {
fadeIn(O);
}, 50);
};
fadeIn(O);
menuObj.fade = true;
} else {
menuObj.style.filter = 'progid:DXImageTransform.Microsoft.Alpha(opacity=100)';
menuObj.style.opacity = 1;
menuObj.fade = false;
}
setMenuPosition(showid, menuid, pos);
if(maxh && menuObj.scrollHeight > maxh) {
menuObj.style.height = maxh + 'px';
if(BROWSER.opera) {
menuObj.style.overflow = 'auto';
} else {
menuObj.style.overflowY = 'auto';
}
}
if(!duration) {
setTimeout('hideMenu(\'' + menuid + '\', \'' + mtype + '\')', timeout);
}
if(!in_array(menuid, JSMENU['active'][layer])) JSMENU['active'][layer].push(menuid);
menuObj.cache = cache;
if(layer > JSMENU['layer']) {
JSMENU['layer'] = layer;
}
}
function setMenuPosition(showid, menuid, pos) {
var showObj = $(showid);
var menuObj = menuid ? $(menuid) : $(showid + '_menu');
if(isUndefined(pos)) pos = '43';
var basePoint = parseInt(pos.substr(0, 1));
var direction = parseInt(pos.substr(1, 1));
var sxy = sx = sy = sw = sh = ml = mt = mw = mcw = mh = mch = bpl = bpt = 0;
if(!menuObj || (basePoint > 0 && !showObj)) return;
if(showObj) {
sxy = fetchOffset(showObj);
sx = sxy['left'];
sy = sxy['top'];
sw = showObj.offsetWidth;
sh = showObj.offsetHeight;
}
mw = menuObj.offsetWidth;
mcw = menuObj.clientWidth;
mh = menuObj.offsetHeight;
mch = menuObj.clientHeight;
switch(basePoint) {
case 1:
bpl = sx;
bpt = sy;
break;
case 2:
bpl = sx + sw;
bpt = sy;
break;
case 3:
bpl = sx + sw;
bpt = sy + sh;
break;
case 4:
bpl = sx;
bpt = sy + sh;
break;
}
switch(direction) {
case 0:
menuObj.style.left = (document.body.clientWidth - menuObj.clientWidth) / 2 + 'px';
mt = (document.documentElement.clientHeight - menuObj.clientHeight) / 2;
break;
case 1:
ml = bpl - mw;
mt = bpt - mh;
break;
case 2:
ml = bpl;
mt = bpt - mh;
break;
case 3:
ml = bpl;
mt = bpt;
break;
case 4:
ml = bpl - mw;
mt = bpt;
break;
}
if(in_array(direction, [1, 4]) && ml < 0) {
ml = bpl;
if(in_array(basePoint, [1, 4])) ml += sw;
} else if(ml + mw > document.documentElement.scrollLeft + document.body.clientWidth && sx >= mw) {
ml = bpl - mw;
if(in_array(basePoint, [2, 3])) ml -= sw;
}
if(in_array(direction, [1, 2]) && mt < 0) {
mt = bpt;
if(in_array(basePoint, [1, 2])) mt += sh;
} else if(mt + mh > document.documentElement.scrollTop + document.documentElement.clientHeight && sy >= mh) {
mt = bpt - mh;
if(in_array(basePoint, [3, 4])) mt -= sh;
}
if(pos == '210') {
ml += 69 - sw / 2;
mt -= 5;
if(showObj.tagName == 'TEXTAREA') {
ml -= sw / 2;
mt += sh / 2;
}
}
if(direction == 0 || menuObj.scrolly) {
if(BROWSER.ie && BROWSER.ie < 7) {
if(direction == 0) mt += Math.max(document.documentElement.scrollTop, document.body.scrollTop);
} else {
if(menuObj.scrolly) mt -= Math.max(document.documentElement.scrollTop, document.body.scrollTop);
menuObj.style.position = 'fixed';
}
}
if(ml) menuObj.style.left = ml + 'px';
if(mt) menuObj.style.top = mt + 'px';
if(direction == 0 && BROWSER.ie && !document.documentElement.clientHeight) {
menuObj.style.position = 'absolute';
menuObj.style.top = (document.body.clientHeight - menuObj.clientHeight) / 2 + 'px';
}
if(menuObj.style.clip && !BROWSER.opera) {
menuObj.style.clip = 'rect(auto, auto, auto, auto)';
}
}
function fetchOffset(obj) {
var left_offset = 0, top_offset = 0;
if(obj.getBoundingClientRect){
var rect = obj.getBoundingClientRect();
var scrollTop = Math.max(document.documentElement.scrollTop, document.body.scrollTop);
var scrollLeft = Math.max(document.documentElement.scrollLeft, document.body.scrollLeft);
if(document.documentElement.dir == 'rtl') {
scrollLeft = scrollLeft + document.documentElement.clientWidth - document.documentElement.scrollWidth;
}
left_offset = rect.left + scrollLeft - document.documentElement.clientLeft;
top_offset = rect.top + scrollTop - document.documentElement.clientTop;
}
if(left_offset <= 0 || top_offset <= 0) {
left_offset = obj.offsetLeft;
top_offset = obj.offsetTop;
while((obj = obj.offsetParent) != null) {
left_offset += obj.offsetLeft;
top_offset += obj.offsetTop;
}
}
return { 'left' : left_offset, 'top' : top_offset };
}
function hideMenu(attr, mtype) {
attr = isUndefined(attr) ? '' : attr;
mtype = isUndefined(mtype) ? 'menu' : mtype;
if(attr == '') {
for(var i = 1; i <= JSMENU['layer']; i++) {
hideMenu(i, mtype);
}
return;
} else if(typeof attr == 'number') {
for(var j in JSMENU['active'][attr]) {
hideMenu(JSMENU['active'][attr][j], mtype);
}
return;
} else if(typeof attr == 'string') {
var menuObj = $(attr);
if(!menuObj || (mtype && menuObj.mtype != mtype)) return;
clearTimeout(JSMENU['timer'][attr]);
var hide = function() {
if(menuObj.cache) {
menuObj.style.display = 'none';
if(menuObj.cover) $(attr + '_cover').style.display = 'none';
} else {
menuObj.parentNode.removeChild(menuObj);
if(menuObj.cover) $(attr + '_cover').parentNode.removeChild($(attr + '_cover'));
}
var tmp = [];
for(var k in JSMENU['active'][menuObj.layer]) {
if(attr != JSMENU['active'][menuObj.layer][k]) tmp.push(JSMENU['active'][menuObj.layer][k]);
}
JSMENU['active'][menuObj.layer] = tmp;
};
if(menuObj.fade) {
var O = 100;
var fadeOut = function(O) {
if(O == 0) {
clearTimeout(fadeOutTimer);
hide();
return;
}
menuObj.style.filter = 'progid:DXImageTransform.Microsoft.Alpha(opacity=' + O + ')';
menuObj.style.opacity = O / 100;
O -= 10;
var fadeOutTimer = setTimeout(function () {
fadeOut(O);
}, 50);
};
fadeOut(O);
} else {
hide();
}
}
}
function showPrompt(ctrlid, evt, msg, timeout, negligible) {
var menuid = ctrlid ? ctrlid + '_pmenu' : 'ntcwin';
var duration = timeout ? 0 : 3;
if(!$(menuid)) {
var div = document.createElement('div');
div.id = menuid;
div.className = ctrlid ? 'promptmenu up' : 'ntcwin';
div.style.display = 'none';
$('append_parent').appendChild(div);
if(ctrlid) {
msg = '';
} else {
msg = negligible ? msg : '' + msg + '';
msg = '';
}
div.innerHTML = msg;
}
if(ctrlid) {
if($(ctrlid).evt !== false) {
var prompting = function() {
showMenu({'mtype':'prompt','ctrlid':ctrlid,'evt':evt,'menuid':menuid,'pos':'210'});
};
if(evt == 'click') {
$(ctrlid).onclick = prompting;
} else {
$(ctrlid).onmouseover = prompting;
}
}
showMenu({'mtype':'prompt','ctrlid':ctrlid,'evt':evt,'menuid':menuid,'pos':'210','duration':duration,'timeout':timeout,'fade':1,'zindex':JSMENU['zIndex']['prompt']});
$(ctrlid).unselectable = false;
} else {
showMenu({'mtype':'prompt','pos':'00','menuid':menuid,'duration':duration,'timeout':timeout,'fade':1,'zindex':JSMENU['zIndex']['prompt']});
}
}
function showCreditPrompt() {
var notice = getcookie('discuz_creditnotice').split('D');
if(notice.length < 2 || notice[9] != discuz_uid || getcookie('discuz_creditnoticedisable')) {
return;
}
var creditnames = creditnotice.split(',');
var creditinfo = [];
var s = '';
var e;
for(var i in creditnames) {
e = creditnames[i].split('|');
creditinfo[e[0]] = [e[1], e[2]];
}
for(i = 1; i <= 8; i++) {
if(notice[i] != 0 && creditinfo[i]) {
s += '' + creditinfo[i][0] + (notice[i] > 0 ? '+' : '') + notice[i] + '' + creditinfo[i][1] + '';
}
}
s && showPrompt(null, null, s, 2000, 1);
setcookie('discuz_creditnotice', '', -2592000);
}
function showDialog(msg, mode, t, func, cover) {
cover = isUndefined(cover) ? (mode == 'info' ? 0 : 1) : cover;
mode = in_array(mode, ['confirm', 'notice', 'info']) ? mode : 'alert';
var menuid = 'fwin_dialog';
var menuObj = $(menuid);
if(menuObj) hideMenu('fwin_dialog', 'dialog');
menuObj = document.createElement('div');
menuObj.style.display = 'none';
menuObj.className = 'fwinmask';
menuObj.id = menuid;
$('append_parent').appendChild(menuObj);
var s = ' | | |
| ';
s += t ? t : '提示信息';
s += '关闭';
if(mode == 'info') {
s += msg ? msg : '';
} else {
s += '
';
s += ' ';
}
s += ' | |
| | |
';
menuObj.innerHTML = s;
if($('fwin_dialog_submit')) $('fwin_dialog_submit').onclick = function() {
if(typeof func == 'function') func();
else eval(func);
hideMenu(menuid, 'dialog')
};
showMenu({'mtype':'dialog','menuid':menuid,'duration':3,'pos':'00','zindex':JSMENU['zIndex']['dialog'],'cache':0,'cover':cover});
}
function showWindow(k, url, mode, cache) {
mode = isUndefined(mode) ? 'get' : mode;
cache = isUndefined(cache) ? 1 : cache;
var menuid = 'fwin_' + k;
var menuObj = $(menuid);
if(disallowfloat && disallowfloat.indexOf(k) != -1) {
if(BROWSER.ie) url += (url.indexOf('?') != -1 ? '&' : '?') + 'referer=' + escape(location.href);
location.href = url;
return;
}
var fetchContent = function() {
if(mode == 'get') {
menuObj.url = url;
url += (url.search(/\?/) > 0 ? '&' : '?') + 'infloat=yes&handlekey=' + k;
ajaxget(url, 'fwin_content_' + k, null, '', '', function() {initMenu();show();});
} else if(mode == 'post') {
menuObj.act = $(url).action;
ajaxpost(url, 'fwin_content_' + k, '', '', '', function() {initMenu();show();});
}
showDialog('', 'info', ' 加载中...');
};
var initMenu = function() {
var objs = menuObj.getElementsByTagName('*');
for(var i = 0; i < objs.length; i++) {
if(objs[i].id) {
objs[i].setAttribute('fwin', k);
}
if(objs[i].className == 'float_ctrl') {
if(!objs[i].id) objs[i].id = 'fctrl_' + k;
drag = objs[i].id;
}
}
};
var show = function() {
hideMenu('fwin_dialog', 'dialog');
showMenu({'mtype':'win','menuid':menuid,'duration':3,'pos':'00','zindex':JSMENU['zIndex']['win'],'drag':typeof drag == 'undefined' ? '' : drag,'cache':cache});
};
if(!menuObj) {
menuObj = document.createElement('div');
menuObj.id = menuid;
menuObj.className = 'fwinmask';
menuObj.style.display = 'none';
$('append_parent').appendChild(menuObj);
menuObj.innerHTML = '';
fetchContent();
} else if((mode == 'get' && url != menuObj.url) || (mode == 'post' && $(url).action != menuObj.act)) {
fetchContent();
} else {
show();
}
doane();
}
function hideWindow(k) {
hideMenu('fwin_' + k, 'win');
hideMenu();
hideMenu('', 'prompt');
}
function Ajax(recvType, waitId) {
for(var stackId = 0; stackId < AJAX['stack'].length && AJAX['stack'][stackId] != 0; stackId++);
AJAX['stack'][stackId] = 1;
var aj = new Object();
aj.loading = '加载中...';
aj.recvType = recvType ? recvType : 'XML';
aj.waitId = waitId ? $(waitId) : null;
aj.resultHandle = null;
aj.sendString = '';
aj.targetUrl = '';
aj.stackId = 0;
aj.stackId = stackId;
aj.setLoading = function(loading) {
if(typeof loading !== 'undefined' && loading !== null) aj.loading = loading;
};
aj.setRecvType = function(recvtype) {
aj.recvType = recvtype;
};
aj.setWaitId = function(waitid) {
aj.waitId = typeof waitid == 'object' ? waitid : $(waitid);
};
aj.createXMLHttpRequest = function() {
var request = false;
if(window.XMLHttpRequest) {
request = new XMLHttpRequest();
if(request.overrideMimeType) {
request.overrideMimeType('text/xml');
}
} else if(window.ActiveXObject) {
var versions = ['Microsoft.XMLHTTP', 'MSXML.XMLHTTP', 'Microsoft.XMLHTTP', 'Msxml2.XMLHTTP.7.0', 'Msxml2.XMLHTTP.6.0', 'Msxml2.XMLHTTP.5.0', 'Msxml2.XMLHTTP.4.0', 'MSXML2.XMLHTTP.3.0', 'MSXML2.XMLHTTP'];
for(var i=0; i ' + aj.loading + '';
}
};
aj.processHandle = function() {
if(aj.XMLHttpRequest.readyState == 4 && aj.XMLHttpRequest.status == 200) {
for(k in AJAX['url']) {
if(AJAX['url'][k] == aj.targetUrl) {
AJAX['url'][k] = null;
}
}
if(aj.waitId) {
aj.waitId.style.display = 'none';
}
if(aj.recvType == 'HTML') {
aj.resultHandle(aj.XMLHttpRequest.responseText, aj);
} else if(aj.recvType == 'XML') {
if(aj.XMLHttpRequest.responseXML.lastChild) {
aj.resultHandle(aj.XMLHttpRequest.responseXML.lastChild.firstChild.nodeValue, aj);
} else {
if(AJAX['debug']) {
var error = mb_cutstr(aj.XMLHttpRequest.responseText.replace(/\r?\n/g, '\\n').replace(/"/g, '\\\"'), 200);
aj.resultHandle('ajaxerror', aj);
}
}
}
AJAX['stack'][aj.stackId] = 0;
}
};
aj.get = function(targetUrl, resultHandle) {
setTimeout(function(){aj.showLoading()}, 250);
if(in_array(targetUrl, AJAX['url'])) {
return false;
} else {
AJAX['url'].push(targetUrl);
}
aj.targetUrl = targetUrl;
aj.XMLHttpRequest.onreadystatechange = aj.processHandle;
aj.resultHandle = resultHandle;
var attackevasive = isUndefined(attackevasive) ? 0 : attackevasive;
var delay = attackevasive & 1 ? (aj.stackId + 1) * 1001 : 100;
if(window.XMLHttpRequest) {
setTimeout(function(){
aj.XMLHttpRequest.open('GET', aj.targetUrl);
aj.XMLHttpRequest.send(null);}, delay);
} else {
setTimeout(function(){
aj.XMLHttpRequest.open("GET", targetUrl, true);
aj.XMLHttpRequest.send();}, delay);
}
};
aj.post = function(targetUrl, sendString, resultHandle) {
setTimeout(function(){aj.showLoading()}, 250);
if(in_array(targetUrl, AJAX['url'])) {
return false;
} else {
AJAX['url'].push(targetUrl);
}
aj.targetUrl = targetUrl;
aj.sendString = sendString;
aj.XMLHttpRequest.onreadystatechange = aj.processHandle;
aj.resultHandle = resultHandle;
aj.XMLHttpRequest.open('POST', targetUrl);
aj.XMLHttpRequest.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
aj.XMLHttpRequest.send(aj.sendString);
};
return aj;
}
function newfunction(func){
var args = [];
for(var i=1; i]*?>([^\x00]*?)<\/script>/ig;
var arr = [];
while(arr = p.exec(s)) {
var p1 = /