/*创建出的函数唯有在调用时第一参数等于target的时候才执行任务函数。*/ function createTargeted(h, o, scope){ return function(){ if(o.target == arguments[0]){ h.apply(scope, Array.prototype.slice.call(arguments, 0)); } }; }; /*创建出的函数将在被调用时延时指定的事件后被执行,该延时任务将被放在监听器对象的task属性,延迟时间到点前再次被调用将清除前一次的执行。*/ function createBuffered(h, o, l, scope){ l.task = new task.DelayedTask(); return function(){ l.task.delay(o.buffer, h, scope, Array.prototype.slice.call(arguments, 0)); }; }; /*创建出的函数作为监听器函数将只执行一次,执行完后被自动删除。*/ function createSingle(h, e, fn, scope){ return function(){ e.removeListener(fn, scope); return h.apply(scope, arguments); }; }; /*创建出的函数将在被调用时延时指定的事件后被执行,该延时任务将被压入监听器的tasks队列中,延时时间到点前再次被调用将不会清除前次的执行。*/ function createDelayed(h, o, l, scope){ return function(){ var task = new task.DelayedTask(); if(!l.tasks) { l.tasks = []; } l.tasks.push(task); task.delay(o.delay || 10, h, scope, Array.prototype.slice.call(arguments, 0)); }; }; (function(){ //缓存页面背景图 if ($.browser.msie && parseInt($.browser.version) <= 6) { document.execCommand("BackgroundImageCache", false, true); } /** * @class Util * @singleton */ Util = { ZH : "zh", EN : "en", IS_DEBUG : true, //DEBUG_URL : "192.168.182.40" //DEBUG_URL : "192.168.31.103" //DEBUG_URL : "10.10.10.172" //DEBUG_URL : "192.168.23.76" DEBUG_URL : "192.168.1.1" //DEBUG_URL : "10.10.10.134" //DEBUG_URL : "10.10.10.145" }; /** * @description 将对象c的属性复制到对象o,如果有 默认值defaults,先将defaults的属性复制到o. * @param o 目标对象 * @param c 拷贝对象 * @param defaults 默认对象 */ Util.apply = function(o, c, defaults){ if(defaults){ Util.apply(o, defaults); } if(o && c && typeof c == 'object'){ for(var p in c){ o[p] = c[p]; } } return o; }; var ua = navigator.userAgent.toLowerCase(), check = function(r){ return r.test(ua); }, isOpera = check(/opera/), isIE = !isOpera && check(/msie/); Util.apply(Util, { /** * 当前运行环境是否是IE浏览器 * @property * @type Boolean */ isIE : isIE, map : {}, time : [], cache : {}, component: {}, _setMark : function () { arguments = Array.prototype.slice.apply(arguments); var mark = arguments.shift(); var arg = arguments.length == 1 && (Util.isObject(arguments[0]) || Util.isArray(arguments[0])) ? arguments[0] : arguments; $("[mark='" + mark + "']").html(this.constant["language"][mark].format(arg)); }, //返回当前浏览器默认的语言类型 isZh : (function () { var o = window.navigator; //var lan = o.userLangeage || o.language || o.systemLanguage || o.browserLanguage ; //lan = 'zh-cn'; try{ lan = o.browserLanguage.toLowerCase() == "zh-cn"; } catch(e){ try{ lan = o.language.toLowerCase() == "zh-cn"; }catch(e){} } __isZh = lan; return __isZh; })(), //保存语言类型到配置中 save_language : function(language_type){ var req = null; try{ req = new ActiveXObject("Msxml2.XMLHTTP"); } catch(e){ try{ req = new ActiveXObject("Microsoft.XMLHTTP"); } catch(oc){ req = null; } } if ((req == null)&&((typeof XMLHttpRequest)!="undefined")){ req = new XMLHttpRequest(); } if(req){ try{ ipaddr = "http://" + window.location.hostname + "/cgi-bin/set_web_lang.cgi" + "?rand=" + Math.random() + "&language=" + language_type; req.open("GET", ipaddr, false); } catch(e){ alert("fail."); return; } try{ req.send(null); } catch(e){ return; } } }, _parse : function (strResult) { //解析当前模式 var SP1 = "",SP2="", curModeUrl = strResult.substring(strResult.indexOf(SP1)+SP1.length,strResult.indexOf(SP2)); var SP3 = "",SP4="", curModeTip = strResult.substring(strResult.indexOf(SP3)+SP3.length,strResult.indexOf(SP4)); //解析内容 var Delim = "