﻿//js class lab from www.tifoo.com; Author:赵志强
//Version : 2.0.6 [2009-5-21]
//self.onerror = function(){return true;}
var tifooB = { ua: navigator.userAgent.toLowerCase(), isIE: false, isFireFox: false, isChrome: false, isOpera: false, isSafari: false }; (tifooB.isIE = tifooB.ua.match(/msie ([\d.]+)/)) ? tifooB.IE = tifooB.isIE[1] : (tifooB.isFireFox = tifooB.ua.match(/firefox\/([\d.]+)/)) ? tifooB.FireFox = tifooB.isFireFox[1] : (tifooB.isChrome = tifooB.ua.match(/chrome\/([\d.]+)/)) ? tifooB.Chrome = tifooB.isChrome[1] : (tifooB.isOpera = tifooB.ua.match(/opera.([\d.]+)/)) ? tifooB.Opera = tifooB.isOpera[1] : (tifooB.isSafari = tifooB.ua.match(/version\/([\d.]+).*safari/)) ? tifooB.Safari = tifooB.isSafari[1] : 0;
function cBrowser() { this.agt = navigator.userAgent.toLowerCase(); this.isW3C = document.getElementById ? true : false; this.isIE = tifooB.isIE; this.isIE6 = tifooB.isIE && (tifooB.IE == "6.0"); this.isFireFox = tifooB.isFireFox; this.bodyWidth = this.isIE ? this.isIE6 ? document.body.offsetWidth : document.documentElement.offsetWidth : document.documentElement.clientWidth; this.bodyHeight = this.isIE ? this.isIE6 ? document.documentElement.clientHeight : document.documentElement.offsetHeight : document.documentElement.clientHeight; this.tbodyWidth = document.body.offsetWidth < this.bodyWidth ? this.bodyWidth : document.body.offsetWidth; this.tbodyHeight = document.body.offsetHeight < this.bodyHeight ? this.bodyHeight : document.body.offsetHeight; }; window.$ = function(o, tag, i) { var _oo = typeof (o) == "string" ? document.getElementById(o) : o; if (arguments.length == 1) { return _oo; }; var _oos = _oo.getElementsByTagName(tag); if (_oos.length > 0) { if (arguments.length == 2) { return _oos; }; var _i = 0; try { _i = parseInt(i.toString()); } catch (e) { }; return -1 < _i && _i < _oos.length ? _oos[_i] : _i >= _oos.length ? _oos[_oos.length - 1] : _oos[0]; } else { return null; }; }; window.getInnerText = function(id) { if (typeof id == "string") { var obj = document.getElementById(id); return obj ? obj.innerText || obj.textContent || "" : id; } else { return id.innerText || id.textContent || id.text || ""; } }; String.prototype.ltrim = function() { return this.replace(/^\s+/g, ""); }; String.prototype.rtrim = function() { return this.replace(/\s+$/g, ""); }; String.prototype.trim = function() { return this.replace(/^\s+|\s+$/g, ""); }; String.prototype.urlEncode = function() { return encodeURI(this).replace(/&/g, "%26"); }; String.prototype.htmlEncode = function() { var tempSpan = document.createElement("SPAN"); if (document.all) tempSpan.innerText = this; else tempSpan.textContent = this; return tempSpan.innerHTML; }; String.prototype.replaceAndChar = function() { var tstr = this.replace(/&/g, "%26"); tstr = tstr.replace(/\+/g, "%2B"); return tstr; }; function loadXmlDocument(sXml) { try { if (sXml.trim() == "") return null; var oXml = new ActiveXObject("Msxml2.DOMDocument"); oXml.async = false; oXml.resolveExternals = false; oXml.loadXML(sXml); return oXml; } catch (e) { try { var oParser = new DOMParser(); var oXmlDom = oParser.parseFromString(sXml, "text/xml"); return oXmlDom; } catch (E) { return null; } } }; function getQueryString(key) { if (key == null) { var urlGet = /.+\?(.*)/ig; if (urlGet.test(location.href)) return location.href.replace(urlGet, "$1"); else return ""; } var urlReg = new RegExp(".+[\?&]{1}" + key + "=(.*)", "ig"); if (urlReg.test(location.href)) { key = location.href.replace(urlReg, "$1"); return (key.split("&")[0]).split("#")[0]; } else return ""; }; var regexPatterns = { number: function() { return /^\d+$/g }, time: function() { return /^([0-1]{0,1}[0-9]|[2][0-3]):([0-5][0-9])$/g }, money: function() { return /^\d{1,15}(\.\d{1,4})?$/g }, date: function() { /^((((19|20)(([02468][048])|([13579][26]))-02-29))|((20[0-9][0-9])|(19[0-9][0-9]))-(((([1-9])|(1[0-2]))-(([1-9])|(1[0-9])|(2[0-8])))|(((([13578])|(1[02]))-31)|((([1,3-9])|(1[0-2]))-(29|30)))))$/g } }; function tifooAjax() { this.XHR = function() { var xo; try { xo = new ActiveXObject("Msxml2.XMLHTTP"); } catch (e) { try { xo = new ActiveXObject("Microsoft.XMLHTTP"); } catch (ee) { try { xo = new XMLHttpRequest(); } catch (eee) { xo = null; } } } return xo; }; this.getStr = null; this.sendUrl = arguments[0] || "./?a="; this.sendValues = arguments[1] || ""; this.completeFun = function() { }; var taClass = this; this.action = function(u) { if (u) taClass.sendUrl = u; var xo = taClass.XHR(); xo.open("POST", taClass.sendUrl, true); xo.setRequestHeader("cache-control", "no-cache"); xo.setRequestHeader("Content-Type", "application/x-www-form-urlencoded"); xo.send(taClass.sendValues); xo.onreadystatechange = function() { if (xo.readyState == 4) { if (xo.status == 200) { taClass.getStr = xo.responseText; taClass.completeFun(); return; } else { msgAlert.show("Ajax操作失败：" + xo.status, true); } } }; }; }; var tifooWindowParams = { count: 0, zIndex: 10000, focusObj: null, winResizeFun: null }; function tifooWindow() { this.getUrl = arguments[0] || "http://www.tifoo.com"; this.getWid = arguments[1] || 500; this.getHei = arguments[2] || 400; this.getTitle = arguments[3] || "..."; this.icoPath = arguments[4] || "../cm/imgs/icons/"; this.enableResize = arguments[5] || false; this.enableDrag = arguments[6] || false; this.center = arguments[7] == false ? false : true; this.disposeAndReload = arguments[8] || false; var twClass = this; this.obj_bg = this.obj_window = this.obj_iframe = this.obj_shadow = null; this.obj_left = this.obj_top = 0; this.obj_fullWindow = this.closeAndReload = false; this.dragStart = false; this.dragStart_X = this.dragStart_Y = this.dragStart_L = this.dragStart_T = 0; this.dragObj = null; this.createDragObj = function() { if (twClass.obj_fullWindow) return; document.onselect = function() { return false; }; twClass.dragObj = document.createElement("div"); twClass.dragObj.className = "twClass_DragObj"; document.body.appendChild(twClass.dragObj); twClass.dragObj.style.width = twClass.getWid + "px"; twClass.dragObj.style.height = twClass.getHei + "px"; twClass.dragObj.style.left = twClass.obj_left + "px"; twClass.dragObj.style.top = twClass.obj_top + "px"; document.onmousemove = function(event) { var event = event || window.event; twClass.dragStart_L = twClass.obj_left + event.clientX - twClass.dragStart_X; twClass.dragStart_T = twClass.obj_top + event.clientY - twClass.dragStart_Y; twClass.dragObj.style.left = twClass.dragStart_L + "px"; twClass.dragObj.style.top = twClass.dragStart_T + "px"; }; document.onmouseup = function() { twClass.dragStart = false; twClass.obj_window.style.left = (twClass.obj_left = twClass.dragStart_L) + "px"; twClass.obj_window.style.top = (twClass.obj_top = twClass.dragStart_T) + "px"; twClass.removeDragObj(); }; }; this.removeDragObj = function() { document.body.removeChild(this.dragObj); twClass.dragObj = null; document.onmousemove = function() { return }; document.onmouseup = function() { return }; };this.dispose = function() { if (twClass.closeAndReload) { window.location.reload(); return; }; tifooWindowParams.count--; document.body.removeChild(twClass.obj_window); if (tifooWindowParams.count == 0) { document.body.removeChild(twClass.obj_bg); window.onresize = tifooWindowParams.winResizeFun; }; twClass = null; if (tifooB.isIE) { var _formsElements = document.body.getElementsByTagName("INPUT"); if (_formsElements != null) { for (var i = 0; i < _formsElements.length; i++) { if (_formsElements[i].type == "text") try { _formsElements[i].focus(); document.body.focus(); return; } catch (e) { } } }; }; };    this.resize = function(resizeButton) { if (twClass.obj_fullWindow) { var _browser = new cBrowser(); twClass.obj_fullWindow = false; resizeButton.alt = "最大化"; resizeButton.src = resizeButton.src.replace("min", "max"); twClass.obj_window.style.left = twClass.obj_left + "px"; twClass.obj_window.style.top = twClass.obj_top + "px"; twClass.obj_window.style.width = twClass.getWid + "px"; twClass.obj_window.style.height = twClass.getHei + "px"; twClass.obj_iframe.style.width = twClass.getWid - 10 + "px"; twClass.obj_iframe.style.height = twClass.getHei - 33 + "px"; if (_browser.isIE6) twClass.obj_shadow.style.height = twClass.getHei + "px"; } else { var _browser = new cBrowser(); twClass.obj_fullWindow = true; resizeButton.alt = "最小化"; resizeButton.src = resizeButton.src.replace("max", "min"); if (_browser.isIE6) { twClass.obj_window.style.left = 5 + document.documentElement.scrollLeft + "px"; twClass.obj_window.style.top = 5 + document.documentElement.scrollTop + "px"; twClass.obj_shadow.style.height = _browser.bodyHeight - 20 + "px"; } else { twClass.obj_window.style.left = "5px"; twClass.obj_window.style.top = "5px"; }; twClass.obj_window.style.width = _browser.bodyWidth - 20 + "px"; twClass.obj_window.style.height = _browser.bodyHeight - 20 + "px"; twClass.obj_iframe.style.width = _browser.bodyWidth - 30 + "px"; twClass.obj_iframe.style.height = _browser.bodyHeight - 53 + "px"; } }; this.show = function() { var tempI = ++tifooWindowParams.count; var _browser = new cBrowser(); if (tempI == 1) { twClass.obj_bg = document.createElement("div"); twClass.obj_bg.id = "twClass_bg"; document.body.appendChild(twClass.obj_bg); twClass.obj_bg.style.height = _browser.tbodyHeight + "px"; if (_browser.isIE6) { twClass.obj_bg.innerHTML = "<iframe frameborder=\"0\" scrolling=\"no\" style=\"width:100%;height:100%;\"></iframe>"; } twClass.obj_bg.onclick = function() { if (tifooWindowParams.focusObj == null) { tifooWindowParams.focusObj = $("twClass_title_" + tifooWindowParams.count); }; tifooWindowParams.focusObj.className = "twc_title_hover"; setTimeout("tifooWindowParams.focusObj.className = \"twc_title\";", 60); setTimeout("tifooWindowParams.focusObj.className = \"twc_title_hover\";", 120); setTimeout("tifooWindowParams.focusObj.className = \"twc_title\";", 180); }; twClass.obj_bg.oncontextmenu = function() { return false; }; if (window.onresize != null) tifooWindowParams.winResizeFun = window.onresize; window.onresize = function() { if (tifooWindowParams.winResizeFun != null) tifooWindowParams.winResizeFun(); var __bw = new cBrowser(); var __bg = $("twClass_bg"); __bg.style.height = __bw.tbodyHeight + "px"; }; } else twClass.obj_bg = $("twClass_bg"); var tempButtons = " <img id=\"twClass_close_" + tempI + "\" alt=\"关闭\" src=\"" + twClass.icoPath + "close.gif\" />"; tempButtons += twClass.enableResize ? "<img id=\"twClass_resize_" + tempI + "\" ti=\"" + tempI + "\" alt=\"最大化\" src=\"" + twClass.icoPath + "max.gif\" />" : ""; var tempIframe = "<iframe id=\"twClass_iframe_" + tempI + "\" name=\"twClass_iframe_" + tempI + "\" frameborder=\"0\" scrolling=\"" + (_browser.isIE6 ? "yes" : "auto") + "\" style=\"width:" + (twClass.getWid - 13) + "px;height:" + (twClass.getHei - 33) + "px; margin:0; padding:0;\" src=\"" + twClass.getUrl + "\"></iframe>"; twClass.obj_window = document.createElement("div"); twClass.obj_window.id = "twClass_" + tempI; twClass.obj_window.className = "twClass"; twClass.obj_window.style.zIndex = tifooWindowParams.zIndex += tempI; twClass.obj_window.setAttribute("i", tempI); twClass.obj_window.oncontextmenu = function() { return false; }; twClass.obj_window.onmousedown = function(event) { if (!twClass) return; tifooWindowParams.focusObj = $("twClass_title_" + this.getAttribute("i")); tifooWindowParams.zIndex++; this.style.zIndex = tifooWindowParams.zIndex; if (twClass.enableDrag) { twClass.dragStart = true; var event = event || window.event; twClass.dragStart_X = event.clientX; twClass.dragStart_Y = event.clientY; twClass.dragStart_L = twClass.obj_left; twClass.dragStart_T = twClass.obj_top; twClass.createDragObj(); } }; twClass.obj_window.innerHTML = "<div id=\"twClass_body_" + tempI + "\" class=\"twClass_body\"><div id=\"twClass_title_" + tempI + "\" class=\"twc_title\"" + (twClass.enableDrag ? " style=\"cursor:move;\"" : "") + ">" + tempButtons + twClass.getTitle + "</div><div class=\"twc_iframe\">" + tempIframe + "</div></div><div id=\"twClass_shadow_" + tempI + "\" class=\"twClass_shadow\"" + (_browser.isIE6 ? " style=\"height:" + twClass.getHei + "\"" : "") + "></div>"; document.body.appendChild(twClass.obj_window); twClass.obj_iframe = $("twClass_iframe_" + tempI); twClass.obj_shadow = $("twClass_shadow_" + tempI); var _t_cb = $("twClass_close_" + tempI); _t_cb.onmousedown = function() { twClass.enableDrag = false; }; _t_cb.onclick = function() { twClass.dispose(); }; if (twClass.enableResize) { $("twClass_resize_" + tempI).onmousedown = function() { twClass.resize(this); }; $("twClass_title_" + tempI).ondblclick = function() { twClass.resize($("twClass_resize_" + tempI)); }; } twClass.obj_window.style.width = twClass.getWid + "px"; twClass.obj_window.style.height = twClass.getHei + "px"; if (twClass.center) { twClass.obj_left = (_browser.bodyWidth - twClass.getWid - 8) / 2; twClass.obj_top = (_browser.bodyHeight - twClass.getHei - 8) / 2; } else { twClass.obj_left = (20 * tempI); twClass.obj_top = (20 * tempI); }; if (_browser.isIE6) { twClass.obj_left += document.documentElement.scrollLeft; twClass.obj_top += document.documentElement.scrollTop; }; twClass.obj_window.style.top = twClass.obj_top + "px"; twClass.obj_window.style.left = twClass.obj_left + "px"; }; }; var msgAlert = { icoPath: "../cm/imgs/icons/", bg: null, o: null, show: function(s, b) { if (arguments.length == 0) { msgAlert.dispose(); return; } var __bw = new cBrowser(); if (this.bg == null) { this.bg = document.createElement("div"); this.bg.oncontextmenu = function() { return false; }; this.bg.id = "msgAlert_bg"; var _ie6_bg = "<iframe frameborder=\"0\" scrolling=\"no\" style=\"width:100%;height:100%;\"></iframe>"; if (__bw.isIE6) { this.bg.innerHTML = _ie6_bg; } document.body.appendChild(this.bg); /*if(__bw.bodyWidth > document.documentElement.offsetWidth){this.bg.style.width = __bw.bodyWidth + "px"; window.onresize = function() { $("msgAlert_bg").style.width="100%"; };};*/this.bg.style.height = __bw.tbodyHeight + "px"; this.o = document.createElement("div"); this.o.id = "msgAlert"; document.body.appendChild(this.o); }; this.o.innerHTML = "<div class=\"ma_txt\"><img src=\"" + this.icoPath + "loading.gif\" />" + s + "</div>"; if (b) this.o.innerHTML += "<div class=\"ma_button\"><img src=\"" + this.icoPath + "confirm.gif\" onclick=\"msgAlert.dispose()\" /></div>"; this.o.style.left = __bw.bodyWidth / 2 - this.o.offsetWidth / 2 + (__bw.isIE6 ? document.documentElement.scrollLeft : 0) + "px"; this.o.style.top = __bw.bodyHeight / 2 - this.o.offsetHeight / 2 + (__bw.isIE6 ? document.documentElement.scrollTop : 0) + "px"; }, dispose: function() { if (this.bg) { document.body.removeChild(this.o); document.body.removeChild(this.bg); this.bg = null; this.o = null; } } };
window.autoClick = function(o) { if (tifooB.isIE) o.click(); else { var evt = document.createEvent("MouseEvents"); evt.initEvent("click", true, true); o.dispatchEvent(evt); } };
function delConfirm(url) { if (confirm("确定要删除吗？操作将不可恢复。")) location.href = url; }
var _tw;
function popWindow(url, title, w, h) {
    if (title == null) title = "NYK";
    if (w == null) w = 400; if (h == null) w = 300;
    _tw = new tifooWindow(url, w, h, title);
    //_tw.enableDrag = true;
    _tw.show();
}
