var W3C = (document.getElementById) ? true : false; var IEX = typeof document.all != 'undefined' && typeof window.opera == 'undefined' && navigator.vendor != 'KDE'; var IE4 = (document.all && !W3C) ? true : false; var IE5 = (document.all && W3C) ? true : false; var NS4 = (document.layers) ? true : false; var NS6 = (W3C && navigator.appName.indexOf("Netscape")>=0) ? true : false; function call(mC,bL){ var D = null; if(mC && typeof mC == 'object' && typeof bL == 'function'){ var KB = []; var XB = arguments.length; for(var X = 2; X < XB; X++){ KB[X - 2] = arguments[X]; } D = bL.apply(mC,KB); } return D; } function fixMethod(UB,cL,V){ if(UB && typeof UB == 'object' && cL && typeof(cL) == 'string' && V && typeof(V) == 'function' && typeof UB[cL] == 'undefined'){ UB[cL] = V; } } function fixEvent(UB){ fixMethod(UB,'addEventListener',dL); fixMethod(UB,'removeEventListener',fL); return; function dL(U,V,MB){ if(U && V){ if(typeof V != 'function'){ V = V.handleEvent; } if(typeof V != 'function') return; if(this.attachEvent){ this.attachEvent('on' + U,V); } else { var eL = this['on' + U]; if (typeof this['on' + U] != 'function'){ this['on' + U] = V; } else { this['on' + U] = function(){ eL(); V(); }; } } } }; function fL(U,V,MB){ if(U && V){ if(typeof V != 'function'){ V = V.handleEvent; } if(typeof V != 'function') return; if(this.detachEvent){ this.detachEvent('on' + U,V); } } }; } fixEvent(window); fixEvent(document); function fixContains(UB){ fixMethod(UB,'contains',gL); function gL(hL){ if (hL == null) { return false; } else if ( hL == this) { return true; } else { return this.contains(hL.parentNode); } } } function attach(mC,BN,MB){ if(!mC || typeof mC != 'object') return; try { switch(typeof(BN)){ case 'function': mC.$ = BN; mC.$(); delete mC.$; break; case 'object': for(var a in BN){ var PB = BN[a]; if(PB instanceof Array){ if(!mC[a] || MB){ mC[a] = []; } for(var X in PB){ var c = PB[X]; if(c instanceof Object && PB.toString() == '[object Object]'){ mC[a][X] = {}; attach(mC[a][X],c,MB); } else { mC[a][X] = c; } } } else if(PB instanceof Object && PB.toString() == '[object Object]'){ if(!a.match(/(CHILD|PARENT|SUPER)/i)){ if(!mC[a]){ mC[a] = {}; } attach(mC[a],PB,MB); } } else if(MB || typeof(mC[a]) == 'undefined') { mC[a] = PB; } } break; } } catch(e){} }; function detach(mC,EC){ if(!mC || typeof mC != 'object') return; if(q){ q = q.split('.'); var XB = q.length; var X = 0; var O = mC; var zG = [mC]; for(; X < XB - 1; X++){ var b = q[X]; var R = ''; if(b.match(/^([^\[]+)\[([^\]]*)\]/)){ b = RegExp.$1; R = RegExp.$2; } zG[X + 1] = O = O[b]; if(O && R != ''){ O = O[R]; } if(O == null) break; } if(O){ delete O[q[X]]; } var CN = true; for(; X > 0 && CN; X--){ O = zG[X]; for(var DN in O){ CN = false; break; } if(CN){ delete zG[X - 1][q[X - 1]]; } } } }; function branch (mC,q,Z){ var D = mC; if(q){ q = q.split('.'); for(var X = 0; X < q.length; X++){ var b = q[X]; var R = ''; if(b.match(/^([^\[]+)\[([^\]]*)\]/)){ b = RegExp.$1; R = RegExp.$2; } D = D[b]; if(D && R != ''){ D = D[R]; } if(D == null) break; } } return D || Z; }; function getElementById(A){ var D = null; if(document.getElementById){ D = document.getElementById(A); } else if(document.layers){ D = document.layers[A]; } else if(document.all) { D = document.all[A]; } return D; }; if (!window.getComputedStyle){ window.getComputedStyle = function(UB,p_psd){ return UB ? UB.currentStyle : null; } } String.prototype.padLeft = function(jF,d){ var PB = this.toString(); if(jF){ jF = jF.substr(0,1); var XB = this.length; for(; d > XB; d--){ PB = jF + PB; } } return PB; }; String.prototype.padRight = function(jF,d){ var PB = this.toString(); if(jF){ jF = jF.substr(0,1); var XB = this.length; for(; d > XB; d--){ PB += jF; } } return PB; }; var DOMDOCUMENT_PROGID = [ "Msxml2.DOMDocument.5.0", "Msxml2.DOMDocument.4.0", "Msxml2.DOMDocument.3.0", "MSXML2.DOMDocument", "MSXML.DOMDocument", "Microsoft.XMLDOM" ]; var HTTPREQUEST_PROGID = [ 'Msxml2.XMLHTTP', 'Microsoft.XMLHTTP' ]; function getActiveXObject(TJ){ var D = null; if(typeof ActiveXObject != 'undefined'){ TJ = typeof TJ == 'string' ? [TJ] : TJ; for(var X = 0; !D && X < TJ.length; X++){ try { D = new ActiveXObject(TJ[X]); } catch(e){} } } return D; }; if(!DOMDocument){ function DOMDocument(ON, PN){ var wD = null; if(document.implementation && document.implementation.createDocument){ wD = document.implementation.createDocument(ON ? ON : "", PN ? PN : "", null); wD.addEventListener("load", function(){ if (!wD.documentElement || wD.documentElement.tagName == "parsererror"){ wD.parseError = -1; } wD.readyState = 4; if (wD.onreadystatechange != null && typeof wD.onreadystatechange == "function"){ wD.onreadystatechange(); } }, false); } else { wD = getActiveXObject(DOMDOCUMENT_PROGID); } return wD; } } var SYS = { SDE: {}, ENV: { ico: '/_ico/', lib: '/_lib/' }, reg: function(EC,BN){ var ZE = EC.split('.'); if(ZE && ZE.shift() == 'SYS'){ var O = this; for(var X in ZE){ var YC = ZE[X]; if(O[YC] == null){ O[YC] = {}; } O = O[YC]; } attach(O,BN); } }, get: function(AK,Z){ return branch(this,AK,Z); }, set: function(H){ attach(this,H,true); }, sde: function(){ var KB = arguments[0]; switch(typeof(KB)){ case 'string': return this.get('SDE' + (KB != '' ? '.' + KB : ''),arguments[1]); break; case 'object': this.set({SDE:KB}); break; } }, sys: function() { var KB = arguments[0]; switch(typeof(KB)){ case 'string': return this.get('SDE.sys' + (KB != '' ? '.' + KB : ''),arguments[1]); break; case 'object': this.set({SDE:{sys:KB}}); break; } }, app: function(){ var KB = arguments[0]; switch(typeof(KB)){ case 'string': return this.get('SDE.app' + (KB != '' ? '.' + KB : ''),arguments[1]); break; case 'object': this.set({SDE:{app:KB}}); break; } }, cki: function(p_cki,H,Z){ var D = null; if(p_cki){ p_cki = SYS.UTL.join('_',this.sys('sys'),this.sys('sid'),this.sys('web'),p_cki); var PB = SYS.CNV.str2dat(unescape(SYS.DOM.CKI.get(p_cki,'{}'))); if(H==null || typeof(H)=='string'){ D = branch(PB,H,Z); } else if(typeof(H)=='object') { if(typeof(PB)=='object'){ attach(PB,H,true); } else { PB = H } SYS.DOM.CKI.set(p_cki,SYS.CNV.dat2str(PB),'y',Z); } } return D; }, evt: function(mC,U){ return window.event ? window.event : U; }, str: function(MB){ return SYS.CNV.dat2str(this.SDE,MB); }, sts: function(){ return this.IB; }, etc: function(AK,P,MB){ var PB = {}; PB[AK] = P; this.cki('ETC',PB,1); if(MB){ window.location = self.location; } }, end: function(){ window.close(); }, out: function(RB,A,MB){ if(RB){ if(this.sts()){ cD(RB,A,MB); } else { if(A){ this.dep({ dep: [{tod:'elm',elm:A}], max: A == '_BODY_' ? 1 : 100, cbf: function(){ cD(RB,A,MB); } }); } else { document.write(RB); } } } function cD(RB,A,MB){ var _ = getElementById(A); RB = (RB || '').replace(/<\/?form[^>]*>/gi,''); if(_){ var N = _.innerHTML; _.innerHTML = MB < 0 ? (RB + N) : (MB > 0 ? N + RB : RB); } else if(A == '_BODY_' && RB){ var cK = document.body || document.getElementsByTagName('body')[0]; if(cK){ cK.insertAdjacentHTML('beforeEnd', RB); } } } }, dep: function(H){ if(H && typeof H.cbf == 'function'){ H.max = H.max || 100; var fB = true; var iL = H.dep; for(var X in iL){ var F = iL[X] || {}; switch(F.tod){ case 'id': case 'iid': case 'elm': fB = getElementById(F.elm); break; case 'cbf': if(typeof F.cbf == 'function'){ fB = F.cbf(F.arg); } break; } if (!fB) break; } if(fB || (SYS.sts() && --H.max < 1)){ H.cbf(fB,H.arg); } else { setTimeout(function(){SYS.dep(H)},H.tmo || 50); } } return false; }, run: function(bL){ this.dep({cbf:bL}); }, act: function(H,p_chk,cB,dB,eB){ var D = false; if(typeof(H) == 'string'){ window.open(H,eB || '_self'); } else { var IC = getElementById('APP_FRM'); if(!IC){ IC = SYS.DOM.createElement({ tag: 'FORM', att: {id:'APP_FRM',method:'POST'} }); document.body.appendChild(IC); } if(IC){ for(var vD in H){ if(H[vD] != null){ YD(IC,vD,H[vD]); } } if((typeof(cB) != 'function' || cB(IC)) && (!p_chk || SYS.CHK.all(p_chk)) && (typeof(dB) != 'function' || dB(IC))){ YD(IC,'_sde',SYS.CNV.dat2str(SYS.sde(''),1)); if(eB) IC.target = eB; IC.submit(); D = true; } } } return D; function YD(aB,bB,P){ if(!aB[bB]){ var _ = SYS.DOM.createElement({ tag: 'input', att: {type:'hidden', name:bB} }); if(_){ aB.appendChild(_); } } aB[bB].value = P; } }, url: function(FC,MB){ FC = SYS.UTL.fullDir(this.sys('url') || '',FC); return MB ? SYS.UTL.fullURL(FC) : FC; }, rnd: function(p_pre,p_suf){ return (p_pre || 'VietITS') + (new Date()).getTime() + Math.floor(1000 * Math.random()) + (p_suf || ''); }, gen: function(p_pre,p_suf){ return this.rnd(p_pre,p_suf); }, msg: function(p_msg){ alert(p_msg); }, IB: false, _prn: null }; window.addEventListener('load',function(){SYS.IB = true;},false); SYS.reg('SYS.UTL',{ fullDir: function (EC,FC){ var D = ''; EC = EC ? EC : ''; FC = FC ? FC : ''; EC = EC.replace(/\\/g,'/'); FC = FC.replace(/\\/g,'/'); if(!FC) { D = EC; } else if(FC.match(/^\//)){ D = FC; } else { var GC = ''; if(FC.match(/^([^\?]*)(\?.*)$/)){ FC = RegExp.$1; GC = RegExp.$2; } var TB = 0; FC = FC.split('/'); EC = EC.split('/'); for(; TB < FC.length; TB++){ if(FC[TB] != '..') break; } var XB = EC.length - TB - 1; if(XB > 0){ D = EC[0] ? EC[0] : '/'; for(var X = 1; X < XB; X++){ D += (D != '/' ? '/' : '') + EC[X]; } } for(; TB < FC.length; TB++){ D += (D ? '/' : '') + FC[TB]; } D += GC; } return D; }, fullURL: function (FC){ var D = ''; FC = this.parseURL(FC); D += (FC.protocol || location.protocol) + '//'; D += (FC.hostname || location.hostname); var NN = FC.port || location.port || ''; if(NN) D += ':' + NN; D += this.fullDir(location.pathname,FC.pathname); if(FC.search) D += FC.search; if(FC.hash) D += FC.hash; return D; }, parseURL: function(FC){ var D = {}; FC = FC || location.href; if(FC && FC.match(/^([^:]*:)(\/\/.*)/)){ D.protocol = RegExp.$1; FC = RegExp.$2; } if(FC && FC.match(/^\/\/([^\/]*)(.*)/)){ var NB = RegExp.$1; FC = RegExp.$2; if(NB.match(/^([^:]*)(:.*)/)){ D.hostname = RegExp.$1; D.port = RegExp.$2; } else { D.hostname = NB; } } if(FC){ if(FC.match(/^([^\?]*)(\?.*)/)){ D.pathname = RegExp.$1; FC = RegExp.$2; } else { D.pathname = FC; FC = null; } } if(FC){ if(FC.match(/^([^#]*)(#.*)/)){ D.search = RegExp.$1; D.hash = RegExp.$2; } else { D.search = FC; } } return D; }, findTLS: function (p_tls,P,AK){ var D = null; AK = AK || 'iid'; for(var X in p_tls){ var F = p_tls[X]; if(F[AK] == P){ D = F; break; } D = this.findTLS(F.sub,P,AK); if(D) break; } return D; }, filltpl: function (RB,mN,p_beg,p_end,MB){ var D = mN; if(D){ p_beg = p_beg || '<!--%'; p_end = p_end || '%-->'; MB = MB || 'ig'; for(var b in RB){ var PB = RB[b]; if(PB != null){ var zB = new RegExp(p_beg + b + p_end,MB); D = D.replace(zB,PB); } } } return D; }, join: function(aD){ aD = aD || ''; var D = ''; var XB = arguments.length; for(var X = 1; X < XB; X++){ var PB = arguments[X]; if(PB != null && PB != ''){ D += (D ? aD : '') + PB; } } return D; }, stringBuilder: function(H){ return new oN(H); function oN(H){ if(H){ this.pN = H.str || ''; this.TD = H.sep || ''; } } oN.prototype.string = function(){ return this.pN; }; oN.prototype.addstr = function(qN, rN, aD){ aD = (qN && rN) ? (aD || this.TD) : ''; var D = qN || ''; if(rN){ if(D){ D += aD || this.TD; } D += rN; } return D; }; oN.prototype.append = function(QB, aD){ this.pN = this.addstr(this.pN, QB, aD); return this.pN; }; }, _END_: true }); SYS.reg('SYS.NET',{ open: function(H){ return new DO(H); }, send: function(H){ var D = this.open(H); if(D){ D.send(); } return D; }, _num: 0, _grp: {}, _END: true }); function DO(H){ this.eH = H || {}; }; DO.prototype.get = function(OB, Z){ return this.eH[OB] != null ? this.eH[OB] : Z; }; DO.prototype.set = function(OB, P){ this.eH[OB] = P; }; DO.prototype.send = function(H){ var D = false; if(!this.EO){ if (window.XMLHttpRequest) { this.EO = new XMLHttpRequest(); } else if (window.ActiveXObject) { this.EO = getActiveXObject(HTTPREQUEST_PROGID); } if(this.EO){ this.IB = 0; H = H || this.eH || {}; var AB = H.url || window.location.href; var N = H.params || {}; var e = H.header || {}; var VN = H.method || 'GET'; if (VN.match(/GET/i) && H.random) { N['$req'] = SYS.rnd('NET'); } var GC = ''; for(var vD in N){ var PB = N[vD]; if(PB != null && PB != ''){ GC += (GC ? '&' : '') + encodeURIComponent(vD) + '=' + encodeURIComponent(PB); } } if (VN.match(/GET/i)) { if(GC != ''){ AB += ((AB.indexOf("?") >-1 ) ? "&" : "?" ) + GC; } GC = null; } else { e['Content-Type'] = 'application/x-www-form-urlencoded'; } this.EO.open(VN, AB, H.async, H.userName, H.password); if(e && typeof(this.EO.setRequestHeader) == "function"){ for(var vD in e){ this.EO.setRequestHeader(vD, e[vD]); } } var FO = this; FO.EO.onreadystatechange = function() { if(FO && FO.EO){ switch(FO.EO.readyState){ case 1: FO.IO(); break; case 2: FO.JO(); break; case 3: FO.KO(); break; case 4: FO.LO(); break; } } }; if (H.timeout > 0) { setTimeout(function(){FO.MO()}, H.timeout); } this.EO.send(GC); D = true; } } return D; }; DO.prototype.stop = function() { var D = false; if (this.EO != null && this.IB < 4) { this.IB = 5; delete this.EO['onreadystatechange']; this.EO.abort(); this.HO(); this.EO = null; D = true; } return D; }; DO.prototype.GO = function() { SYS.NET._num++; if (SYS.NET._num == 1 && typeof(SYS.NET.onStart) == "function") { SYS.NET.onStart(); } var KB = this.eH || {}; if (KB.group) { if (typeof(SYS.NET._grp[KB.group]) == "undefined") { SYS.NET._grp[KB.group] = 0; } SYS.NET._grp[KB.group]++; if (SYS.NET._grp[KB.group] == 1 && typeof(KB.onGroupStart) == "function") { KB.onGroupStart(KB.group); } } }; DO.prototype.HO = function() { SYS.NET._num--; if (SYS.NET._num == 0 && typeof(window['SYS.NET.onStop']) == "function") { SYS.NET.onStop(); } var KB = this.eH || {}; if (KB.group) { SYS.NET._grp[KB.group]--; if (SYS.NET._grp[KB.group] == 0 && typeof(KB.onGroupStop) == "function") { KB.onGroupStop(KB.group); } } }; DO.prototype.IO = function() { if(this.IB < 1){ this.IB = 1; this.GO(); if (typeof(this.eH.onLoading) == "function") { this.eH.onLoading(this); } } }; DO.prototype.JO = function() { if(this.IB < 2){ this.IB = 2; if (typeof(this.eH.onLoaded)=="function") { this.eH.onLoaded(this); } } }; DO.prototype.KO = function() { if(this.IB < 3){ this.IB = 3; if (typeof(this.eH.onInteractive)=="function") { this.eH.onInteractive(this); } } }; DO.prototype.LO = function() { if(this.IB < 4){ this.IB = 4; delete this.EO['onreadystatechange']; this.HO(); this.status = this.EO.status; this.statusText = this.EO.statusText; this.responseText = this.EO.responseText; this.responseXML = this.EO.responseXML; var KB = this.eH; if (typeof(KB.onComplete) == "function") { KB.onComplete(this); } if (this.EO.status == 200 && typeof(KB.onSuccess) == "function") { KB.onSuccess(this); } else if (typeof(KB.onError) == "function") { KB.onError(this); } this.EO = null; } }; DO.prototype.MO = function() { if (this.stop() && typeof(this.eH.onTimeout) == "function") { this.eH.onTimeout(this); } }; SYS.reg('SYS.XML',{ parse: function(p_xml){ var D = null; try { if(ActiveXObject){ D = getActiveXObject(DOMDOCUMENT_PROGID); D.async = false; D.loadXML(p_xml); } else if(DOMParser){ var O = new DOMParser(); r_ret = O.parseFromString(p_xml, "text/xml"); } else if(XMLHttpRequest){ var O = new XMLHttpRequest(); O.open('GET', 'data:text/xml;charset=tf-8;' + encodeURIComponent(p_xml), false); O.send(null); D = O.responseXML; } } catch (e) { alert(e.message); } return D; }, _END_: true }); SYS.reg('SYS.RES',{ load: function load(RB){ for(var b in RB){ var F = RB[b]; if(F.url){ switch(F.toi){ case 'img': var YB = new Image(); YB.src = F.url; break; } } } }, _END_: true }); SYS.reg('SYS.NUM',{ parseInt: function(P,Z){ var D = parseInt(P); Z = parseInt(Z); if(isNaN(D)) D = isNaN(Z) ? 0 : Z; return D; }, _END_: true }); SYS.reg('SYS.DTM',{ dat: function(BH,kB){ return SYS.CNV.dtm2dat(BH,kB); }, chk: function(BH,kB){ var D = false; BH = this.dat(BH,kB); if(BH){ var $B = new Date(BH.y,BH.m - 1,BH.d); if(!isNaN($B) && $B.getDate() == BH.d && $B.getMonth() == BH.m - 1){ var NH = $B.getYear(); NH += NH < 2000 ? 1900 : 0; D = (NH == BH.y); } } return D; }, cmp: function(FH,GH,kB){ var D = 0; FH = this.dat(FH,kB); GH = this.dat(GH,kB); if(FH || GH){ if(!FH){ D = 1; } else if(!GH){ D = -1; } else { D = FH.y - GH.y; if(D == 0){ D = FH.m - GH.m; if(D == 0){ D = FH.d - GH.d; if(D == 0){ D = FH.h - GH.h; if(D == 0){ D = FH.i - GH.i; if(D == 0){ D = FH.s - GH.s; } } } } } } } return D; }, fmt: function(BH,MB,p_his,kB){ return this.str(BH,MB,p_his,kB); }, str: function(BH,MB,p_his,kB){ kB = kB || SYS.sys('fmt.dtm','y-m-d'); p_his = p_his ? ' h:i:s' : ''; if(MB){ return SYS.CNV.dtm2str(BH,'y-m-d' + p_his,kB); } else { return SYS.CNV.dtm2str(BH,kB + p_his,'y-m-d'); } }, _END_: true }); SYS.reg('SYS.CNV',{ str2str: function (QB){ var D = QB || ''; D = D.replace(/\\/g,"\\\\"); D = D.replace(/\'/g,"\\\'"); D = D.replace(/\"/g,"\\\""); return D; }, str2dat: function (QB){ try { eval('var D=' + QB); return D; } catch(e){ return null; } }, js2perl: function (RB){ return this.dat2str(RB); }, dat2str: function (RB,MB){ var D = null; switch(typeof(RB)){ case 'function': break; case 'string': D = "'" + this.str2str(RB.toString()) + "'"; break; case 'boolean': D = RB ? 1 : 0; break; case 'number': D = RB; break; case 'object': if(RB){ D = ''; if(typeof(RB.length) == 'undefined'){ for(var b in RB){ var P = this.dat2str(RB[b],MB); if(P != null){ D += (D ? "," : "") + ("'" + b + "'") + (MB ? "=>" : ":") + P; } } D = "{" + D + "}"; } else { for(var SB = 0; SB < RB.length; SB++){ var P = this.dat2str(RB[SB],MB); if(P != null) D += (D ? "," : "") + P; } D = "[" + D + "]"; } } break; } return D; }, dat2xml: function (RB){ var D = null; if(RB != null){ switch(typeof(RB)){ case 'object': D = ''; if(typeof(RB.length) == 'undefined'){ for(var $ in RB){ D += '<' + $; var TB = null; var N = RB[$]; if(N != null){ var a = null; if(typeof(N) == 'object'){ if(N.length && typeof(N[0]) == 'object'){ a = N.shift(); } else { a = N; N = null; } } for(var b in a){ var PB = a[b]; switch(typeof(PB)){ case 'boolean': PB = PB ? b : null; break; case 'object': if(PB){ var c = ''; for(var F in PB){ if(PB[F] != null){ c += F + ':' + PB[F] + ';'; } } PB = c; } break; } if(PB != null){ D += ' ' + b.toLowerCase() + '="' + PB.toString().replace(/\"/g,'&quot;') + '"'; } } TB = this.dat2xml(N); } D += (TB != null) ? ('>' + TB + '</' + $ + '>') : ' />'; } } else { for(var X = 0; X < RB.length; X++){ var PB = this.dat2xml(RB[X]); if(PB){ D += PB; } } } break; case 'function': D = RB(); break; case 'boolean': case 'string': case 'number': case 'undefined': default: D = RB.toString(); break; } } return D; }, dat2dat: function (RB){ var D; if(RB && typeof(RB) == 'object'){ D = RB.length ? [] : {}; for(var b in RB){ D[b] = this.dat2dat(RB[b]); } } else { D = RB; } return D; }, dtm2dat: function (BH,kB){ var D = null; if(BH){ BH = BH.toString().split(' '); var N = BH[0]; var CH = BH[1] ? BH[1] : '00:00:00'; N = N.replace(/\//g,'-'); N = N.split('-'); CH = CH.split(':'); if(N.length == 3){ kB = kB || SYS.sys('fmt.dtm','y-m-d'); kB = kB.toLowerCase(); kB = kB.replace(/[^ymd]/gi,''); kB = (kB && kB.match(/^dmy|mdy|ymd|myd|ydm|dym$/i)) ? kB : 'ymd'; var NH = parseInt(N[kB.indexOf('y')],10); var gH = parseInt(N[kB.indexOf('m')],10); var hH = parseInt(N[kB.indexOf('d')],10); var YL = parseInt(CH[0],10) || 0; var v_min = parseInt(CH[1],10) || 0; var ZL = parseInt(CH[2],10) || 0; if(NH > 0 && gH > 0 && gH < 13 && hH > 0 && hH < 32 && YL > -1 && YL < 25 && v_min > -1 && v_min < 60 && ZL > -1 && ZL < 60){ D = {y:NH,m:gH,d:hH,h:YL,i:v_min,s:ZL}; } } } return D; }, dtm2str: function (BH,kB,$H){ var D = ''; if(typeof(BH) == 'string'){ BH = this.dtm2dat(BH,$H); } if(BH && typeof(BH) == 'object'){ D = kB || 'y-m-d h:i:s'; var zG = ['y','m','d','h','i','s']; for(var X in zG){ var b = zG[X]; var PB = BH[b] ? BH[b] : ''; if(b != 'y'){ PB = PB.toString().padLeft('0',2); } D = D.replace(new RegExp(b,"g"),PB); } for(var X in zG){ var b = zG[X]; var PB = BH[b] ? BH[b] : ''; D = D.replace(new RegExp(b,"g"),PB); } } return D; }, str2dtm: function (BH,kB){ var D = null; BH = this.dtm2dat(BH,kB); if(BH){ D = new Date(BH.y,BH.m,BH.d - 1,BH.h,BH.i,BH.s); } return D; }, num2str: function(eD,IK,JK,aD){ var D = ''; aD = aD ? aD : ','; JK = JK ? JK : '.'; eD = eD != null ? eD.toString() : ''; if(eD.match(/^([+-]?[0-9]*)(.([0-9]*))?$/)){ var v_int = RegExp.$1; var KK = RegExp.$3; D = this.int2str(v_int,JK); if(IK > 0){ D = (D != '') ? D : '0'; D += aD + KK.padRight('0',IK).substr(0,IK); } } return D; }, int2str: function(eD,aD){ aD = aD ? aD : '.'; var D = ''; eD = eD.toString(); if(eD.match(/^([+-]?)([0-9.]*)$/)){ var BK = RegExp.$1; eD = RegExp.$2; while(eD) { if(eD.match(/^(.*?)(\d{3})$/)){ D = RegExp.$2 + (D ? aD : '') + D; eD = RegExp.$1; } else { D = eD + (D ? aD : '') + D; eD = ''; } } D = BK + D; } return D; }, xml2dat: function(p_xml,MB){ var D = null; try { if(typeof p_xml == 'string'){ p_xml = SYS.XML.parse(p_xml); } if(p_xml){ D = MB ? OO(p_xml.documentElement) : NO(p_xml.documentElement); } } catch (e) {} return D; function NO(UB){ var D = null; if(UB){ switch(UB.nodeType){ case 1: D = {}; var $ = UB.nodeName; D[$] = [{}]; var TN = UB.attributes; if(TN){ var XB = TN.length; for(var X = 0; X < XB; X++){ var F = TN.item(X); var PB = F.nodeValue; if(PB){ D[$][0][F.nodeName] = PB; } } } var MD = UB.childNodes; var XB = MD.length; for(var X = 0; X < XB; X++){ var c = NO(MD.item(X)); if(c){ D[$].push(c); } } break; case 3: case 4: D = UB.nodeValue; break; } } return D; }; function OO(mC){ var D = null; if(mC){ if(mC.nodeType != null){ var PB = null; var a = null; var b = mC.nodeName; switch(mC.nodeType){ case 1: var MD = mC.attributes; if(MD){ var XB = MD.length; for(var X = 0; X < XB; X++){ var F = MD.item(X); var PB = F.nodeValue; if(PB){ a = a || {}; a[F.nodeName] = PB; } } } PB = OO(mC.childNodes); break; case 3: case 4: PB = mC.nodeValue; break; } if(PB != null && PB != ''){ D = D || {}; D[b] = PB; } if(a){ D = D || {}; D[b] = D[b] || {}; D[b]['#attr'] = a; } } else { var XB = mC.length; for(var X = 0; X < XB; X++){ var _ = mC.item(X); var b = _.nodeName; var PB = OO(_); if(PB != null){ PB = PB[b]; if(PB != null && PB != ''){ if(PB != null && PB != ''){ D = D || {}; if(D[b]){ if(!(D[b] instanceof Array)){ D[b] = [D[b]]; } D[b].push(PB); } else { D[b] = PB; } } } } } } } return D; }; }, _END_: true }); SYS.reg('SYS.CHK',{ all: function(Z){ var iB = ''; for(var X in Z){ var g = Z[X]; var _ = getElementById(g.iid || g.fld || ''); if(_){ g.val = _.value; } var PB = g.val; var gB = g.tof || 'str'; var hB = g.req || false; var fB = true; switch(gB.toLowerCase()){ case 'dtm': fB = !(hB || PB) || (PB && this.dtm(PB) && this.fnc(g.fnc,g)); break; case 'num': fB = !(hB || PB) || (PB && this.num(PB) && this.fnc(g.fnc,g)); break; case 'eml': fB = !(hB || PB) || (PB && this.eml(PB) && this.fnc(g.fnc,g)); break; case 'rex': fB = !(hB || PB) || (PB && this.rex(g) && this.fnc(g.fnc,g)); break; case 'two': fB = !(hB || PB) || (PB && this.cmp(g) && this.fnc(g.fnc,g)); break; case 'cmp': fB = !(hB || PB) || (PB && this.cmp(g) && this.fnc(g.fnc,g)); break; case 'rng': fB = !(hB || PB) || (PB && this.rng(g) && this.fnc(g.fnc,g)); break; case 'str': case 'fnc': default: fB = !(hB || PB) || (PB && this.fnc(g.fnc,g)); break; } if(!fB){ iB += (iB ? '\n' : '') + (g.msg || 'Invalid value!'); } } if(iB != ''){ SYS.msg(iB); } return iB == ''; }, dtm: function(BH){ return SYS.DTM.chk(BH); }, num: function(H){ return !isNaN(H); }, eml: function(p_eml){ return this.rex({val:p_eml,rex:/^\w+([-+.\']\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*$/i}); }, fnc: function(bL,H){ var D = true; if(typeof(bL) == 'function'){ D = bL(H); } return D; }, rex: function(H){ var D = false; if(H && H.val != null && H.rex != null){ var ZB = H.rex instanceof RegExp ? H.rex : new RegExp(H.rex,H.flg); D = ZB.test(H.val); } return D; }, cmp: function(H){ H = H || {}; var PB = this.fix(H.val); var D = PB != null; if(D){ var fB = true; var tM = this.fix(H.cmp); switch(H.tod){ case 'dtm': D = SYS.DTM.cmp(PB,tM); break; case 'num': PB = parseFloat(PB); tM = parseFloat(tM); if(isNaN(PB) || isNaN(tM)){ D = false; fB = false; break; } default: D = (PB < tM ? -1 : (PB > tM ? 1 : 0)) } if(fB){ switch(H.ope){ case '<': D = D < 0; break; case '<=': D = D <= 0; break; case '>=': D = D >= 0; break; case '>': D = D > 0; break; case '!=': D = D != 0; break; case '==': default: D = D == 0; } } } return D; }, rng: function(H){ H = H || {}; var PB = this.fix(H.val); var D = PB != null; if(D){ var v_min = this.fix(H.min); var oB = this.fix(H.max); switch(KB.tod){ case 'dtm': if(D && v_min != null){ D = SYS.DTM.cmp(v_min,PB) <= 0; } if(D && oB != null){ D = SYS.DTM.cmp(PB,oB) <= 0; } break; case 'str': case 'num': default : if(D && v_min != null){ D = v_min <= PB; } if(D && oB != null){ D = PB <= oB; } } } return KB.flg ? !D : D; }, fix: function(H){ var D = H; if(D && D.toString().match(/^\{(.*)\}$/)){ var _ = getElementById(RegExp.$1); D = _ ? _.value : null; } return D; }, __END__: true }); SYS.reg('SYS.DOM',{ createElement: function (H){ var D = null; if(H != null){ var NB = H.toString(); switch(typeof(H)){ case 'object': if(typeof(H.length) == 'undefined'){ var $ = H.tag ? H.tag : 'div'; var a = H.att; var N = H.dat; if(NS6){ D = document.createElement($); if(D){ for(var b in a){ D.setAttribute(b,a[b]); } } } else if(IE4 || IE5){ var BB = '<' + $; for(var b in a){ var PB = a[b]; if(PB != null){ switch(typeof(PB)){ case 'undefined': break; case 'boolean': if(PB){ BB += ' ' + b; } break; default: BB += ' ' + b + '="' + PB + '"'; } } } BB += '>'; D = document.createElement(BB); } if(D && N){ if(typeof(N) == 'object' && N.length){ for(var X = 0; X < N.length; X++){ try { var _ = this.createElement(N[X]); if(_) D.appendChild(_); } catch(e){} } } else { try { var _ = this.createElement(N); if(_) D.appendChild(_); } catch(e){} } } } else { D = document.createTextNode(NB); } break; default: D = document.createTextNode(NB); } } return D; }, removeElement: function(UB){ try { if(typeof(UB) != 'object') UB = getElementById(UB); if(UB){ var VB = UB.parentNode; if(VB) VB.removeChild(UB); else UB = null; } } catch(e){} }, attachElement: function(UB,WB){ try { if(typeof(WB) == 'string'){ WB = getElementById(WB); } if(!WB) WB = document.body; WB.appendChild(UB); } catch(e){} }, createTag: function(){ var D = ''; var XB = arguments.length; if(XB){ var $ = arguments[0]; var KB = {}; KB[$] = []; var X = 1; if(typeof(arguments[1]) == 'object'){ KB[$].push(arguments[1]); X = 2; } for(;X < XB; X++){ KB[$].push(arguments[X]); } D = SYS.CNV.dat2xml(KB); } return D; }, cbobox: function (H){ var NL = []; H = H || {}; if(H.flg){ NL.push({option: [{value:''},'']}); } for(var X in H.dat){ var F = H.dat[X]; NL.push({ option: [{ value: F.iid, selected: F.iid==H.def },(H.inc ? F.iid + ' ' : '') + (F.ttl || '')] }); } return SYS.CNV.dat2xml({select: [H.att,NL]}); }, _END_: true }); SYS.reg('SYS.DOM.CKI',{ get: function (A,Z){ var D = ''; var PB = document.cookie; var ZB = new RegExp('\\b' + A + '=([^;]*)(;|$)',"i"); if(PB.match(ZB)){ D = unescape(RegExp.$1); } return (D != '' ? D : Z); }, set: function set(A,P,B,C){ var _B = ''; if(C){ var $B = new Date(); switch(B){ case 'y': $B.setYear($B.getYear() + C); break; case 'm': $B.setMonth($B.getMonth() + C); break; case 'd': $B.setDate($B.getDate() + C); break; case 'h': $B.setHours($B.getHours() + C); break; case 'n': $B.setMinutes($B.getMinutes() + C); break; case 's': $B.setSeconds($B.getSeconds() + C); break; } _B = 'expires=' + $B.toGMTString(); } document.cookie = A + '=' + P + ';' + _B; }, del: function (A){ this.set(A,'','s',-1); }, _END_: true }); SYS.reg('SYS.DOM.ELM',{ mouseover: function(UB,H){ if(UB){ fixEvent(UB); H = H || {}; UB.LC = H.cls || 'hover'; UB.removeEventListener('mouseover',SYS.DOM.ELM.mouseover,true); UB.addEventListener('mouseover',PO,true); UB.addEventListener('mouseout',QO,true); } function PO(){ UB.className += ' ' + UB.LC; } function QO(){ UB.className = UB.className.replace(' ' + UB.LC,''); } }, _END_: true }); SYS.reg('SYS.GUI.MNU',{ reg: function(H){ return new RO(H); }, obj: function(A,mC){ if(mC){ this.G[A] = mC; } return this.G[A]; }, G: {} }); function RO(H){ this.I = SYS.rnd('MNU'); this.L = H.ico; this.LC = H.cls ? H.cls : ['mnu']; this.QC = null; this.PC = ''; this.LD = H.win || '_BODY_'; return SYS.GUI.MNU.obj(this.I,this); }; RO.prototype.draw = function(H){ if(H && H.iid){ var jL = this.make(H); SYS.out(jL.pop(),H.iid); SYS.out(jL.join(''),this.LD,1); } }; RO.prototype.make = function(H){ var D = []; if(H && typeof(H) == 'object'){ this.SC = H.lng; this.XC(D,0,'',H.dat,H.bar); delete this.SC; } return D; }; RO.prototype.hide = function(){ var pB = this.PC.split('_'); var WC = pB[0]; for(var X = 1; X < pB.length; X++){ WC += '_' + pB[X]; var F = getElementById('i_' + WC); F.className = F.className.replace(/hilite/,'normal'); var VC = getElementById('m_' + WC); if(VC){ VC.style.display = "none"; var tJ = getElementById('f_' + WC); if(tJ){ tJ.style.display = "none"; } } else { break; } } this.PC = ''; }; RO.prototype.XC = function(kL,HE,A,RB){ if(!RB) return ''; var D = ''; var IE = false; var h = this.ID(HE); for(var X = 0; X < RB.length; X++){ var F = RB[X]; var YC = (A ? A + '_' : '') + X; if(F.flg == 0){ IE = true; } else { if(F.flg == 1){ F = this.jC(h,F); } else { this.XC(kL,HE + 1,YC,F.sub); F = this.cC(h,YC,F); } if(F && IE){ D += this.kC(h); } D += F; IE = false; } } if(D){ var YC = this.I + (A ? '_' + A : ''); D = SYS.CNV.dat2xml([{ div: [{ id: 'm_' + YC, CLASS: h, style: { position: HE < 1 ? null : 'absolute', display: HE < 1 ? null : 'none', 'z-index': 1000 } },D] }, HE < 1 ? null : { iframe: [{ id: 'f_' + YC, style: { position:'absolute', display: 'none', width:0,height:0, left:0,top:0, border:0 } },''] }]); kL.push(D); } }; RO.prototype.jC = function(CE,JD){ return SYS.CNV.dat2xml({ div: [{ CLASS: 'entry static', onmouseout:'SYS.GUI.MNU.obj(\'' + this.I + '\').rL(true)', onmouseover:'SYS.GUI.MNU.obj(\'' + this.I + '\').rL(false)' }, JD.ico ? this.AF(JD.ico) : null, this.sH(JD.ttl)] }); }; RO.prototype.kC = function(){ return SYS.CNV.dat2xml({ div: [{CLASS: 'entry spacer'},'&nbsp;'] }); }; RO.prototype.cC = function(CE,A,JD){ var bD = this.I; var aC = null; if(JD.lnk){ var bC = JD.dst ? '\'' + SYS.CNV.str2str(JD.dst) + '\'' : 'null'; aC = 'SYS.GUI.MNU.obj(\'' + bD + '\').HD({flg:' + JD.flg + ',dat:\'' + SYS.CNV.str2str(JD.lnk) + '\',dst:' + bC + '})'; } return SYS.CNV.dat2xml({ div: [{ id:'i_' + bD + '_' + A, CLASS: 'entry normal', onmouseout: 'SYS.GUI.MNU.obj(\'' + bD + '\').rL(true)', onmouseover: 'SYS.GUI.MNU.obj(\'' + bD + '\').lC(this)', onclick: aC }, this.AF(JD.ico), this.sH(JD.ttl)] }); }; RO.prototype.lC = function(JD){ this.rL(false); JD.className = JD.className.replace(/normal/,'hilite'); var YC = JD.id.substr(2); var qC = YC.split('_'); var nC = this.PC; if(nC){ var pC = nC.split('_'); var X = 1; var WC = qC[0]; for(; X < pC.length; X++){ if(pC[X] != qC[X]) break; WC += '_' + pC[X]; } for(; X < pC.length; X++){ WC += '_' + pC[X]; var F = getElementById('i_' + WC); F.className = F.className.replace(/hilite/,'normal'); var VC = getElementById('m_' + WC); if(VC){ VC.style.display = "none"; var tJ = getElementById('f_' + WC); if(tJ){ tJ.style.display = "none"; } } else { break; } } } this.PC = YC; var VC = getElementById('m_' + YC); if(VC && VC.style.display == 'none'){ var VB = JD.parentNode; var v_win = this.sL(); VC.style.display = 'block'; VC.style.zIndex = VB.style.zIndex + 1; var DD = VC.offsetWidth; var ED = VC.offsetHeight; var c = this.tL(JD); var lL = c.left; var mL = c.top; c = this.tL(VB); var AD = c.left; var zC = c.top; var BD = VB.offsetWidth; var CD = VB.offsetHeight; var nL = v_win.scrollLeft; var oL = v_win.scrollTop; var pL = v_win.clientWidth; var qL = v_win.clientHeight; var tC,uC; var DK = getComputedStyle(JD,''); if(DK.display == 'inline'){ tC = lL; uC = mL + JD.offsetHeight; if(tC + DD > nL + pL){ tC = nL + pL - DD; } if(uC + ED > oL + qL){ if((qL - CD)/2 < zC - oL) uC = zC - ED; else uC = oL + qL - ED; } } else { tC = AD + VB.offsetWidth; uC = mL; if(tC + DD > nL + pL){ if((pL - BD)/2 < AD - nL) tC = AD - DD; else tC = nL + pL - DD; } if(uC + ED > oL + qL){ uC = oL + qL - ED; } } VC.style.left = tC < nL ? nL : tC; VC.style.top = uC < oL ? oL : uC; var tJ = getElementById('f_' + YC); if(tJ){ tJ.style.top = VC.offsetTop; tJ.style.left = VC.offsetLeft; tJ.style.width = VC.offsetWidth; tJ.style.height = VC.offsetHeight; tJ.style.zIndex = VC.style.zIndex - 1; tJ.style.display = 'block'; } } }; RO.prototype.rL = function(MB){ clearTimeout(this.QC); this.QC = null; if(MB && this.PC){ this.QC = setTimeout('SYS.GUI.MNU.obj(\''+ this.I + '\').hide()',500); } }; RO.prototype.HD = function(H){ if(H){ this.hide(); switch(H.flg){ case 4: window.open(H.dat,H.dst || '_blank'); break; case 5: eval(H.dat); break; case 3: default: SYS.act(SYS.CNV.str2dat(H.dat),null,null,null,H.dst); break; } } }; RO.prototype.AF = function(eC){ var D = null; if(this.L && eC){ D = SYS.CNV.dat2xml({ img: { src: SYS.UTL.fullDir(SYS.ENV.ico,eC), align:'absbottom', width:this.L.wid, height:this.L.hei } }); } return D; }; RO.prototype.sH = function(fC){ if(this.SC){ fC = this.SC[fC]; } return fC || ''; }; RO.prototype.sL = function(){ var D = this.LD; if(!D || typeof D == 'string'){ D = getElementById(D) || document.body || document.getElementsByTagName('body')[0]; this.LD = D; } return D; }; RO.prototype.ID = function(HE){ if(HE >= this.LC.length){ HE = this.LC.length - 1; } var D = this.LC[HE]; for(var X = 1; X < arguments.length; X++){ D += '_' + arguments[X]; } return D; }; RO.prototype.tL = function (UB){ var D = {left: 0, top: 0}; var v_win = this.sL(); while (UB != null){ D.left += UB.offsetLeft; D.top += UB.offsetTop; UB = UB.offsetParent; if(UB == v_win) break; } return D; }; SYS.reg('SYS.GUI.TIP',{ init: function(H){ if(H){ if(H.css) this.MK = H.css; if(H.o_x != null) this.sN = H.o_x; if(H.o_y != null) this.tN = H.o_y; } }, show: function(p_tip, p_css){ if(p_tip){ if(!this.k && SYS.sts()){ var O = SYS.DOM.createElement({ tag:'div', att:{CLASS:p_css || this.MK, style:'position:absolute;'} }); if(O){ SYS.DOM.attachElement(O); this.k = O; } } if(this.k){ this.k.innerHTML = p_tip; document.addEventListener('mousemove', SYS.GUI.TIP.$mov, false); } } }, hide: function(){ if(this.k){ this.k.style.display = 'none'; this.k.style.left = -1 * this.k.offsetWidth - 100; document.removeEventListener('mousemove', SYS.GUI.TIP.$mov, false); } }, $mov: function(U){ var CM = SYS.GUI.TIP; if(CM.k){ CM.k.style.display = 'block'; var uN = CM.sN; var vN = CM.tN; var wN, xN; var yN, zN, AO, BO; var lE = CM.k.offsetWidth; var mE = CM.k.offsetHeight; if(event){ var v_win = (document.compatMode && document.compatMode != "BackCompat") ? document.documentElement : document.body; wN = event.clientX; xN = event.clientY; yN = v_win.scrollLeft; v_s_y = v_win.scrollTop; AO = v_win.clientWidth; BO = v_win.clientHeight; } else { wN = U.clientX; xN = U.clientY; yN = window.pageXOffset; v_s_y = window.pageYOffset; AO = window.clientWidth; BO = window.clientHeight; } if(wN + lE + uN > AO && wN > lE + uN){ uN *= -1; wN -= lE; } if(xN + mE + vN > BO && xN > mE + vN){ vN *= -1; xN -= mE; } CM.k.style.top = v_s_y + xN + vN; CM.k.style.left = yN + wN + uN; } }, sN: 0, tN: 10, MK: 'tip', k: null }); var APP = { pH: {}, init: function(H){ if(H){ SYS.sde(H.sde); delete H.sde; this.msg(H.msg); delete H.msg; this.set(H); } this.pH.app = this.pH.app ? this.pH.app : 'APP'; if(typeof(this.beg) == 'function'){ this.beg(); } if(typeof(this.run) == 'function'){ var LK = this; SYS.dep({cbf:function(){LK.run()}}); } }, get: function(AK,Z){ return branch(this.pH,AK,Z); }, set: function(H){ attach(this.pH,H,true); }, sts: function(p_msg){ if(p_msg != null){ window.status = p_msg; } }, msg: function(p_msg){ if(p_msg){ alert(p_msg); } }, etc: function(AK,P){ if(AK && P){ SYS.etc(AK,P,true); } }, lng: function(p_lng){ if(!p_lng) return false; var zG = SYS.sys('lng.usr') || []; if(p_lng != (SYS.cki('ETC','lng') || zG[0])){ for(var X in zG){ if(p_lng == zG[X]){ this.etc('lng',p_lng,true); break; } } } }, end: function(){ SYS.end(); }, win: function(p_req,p_win,UB){ p_win = p_win || {}; var v_win = p_win.win || 'APP_WIN'; var y = p_win.wid || 600; var z = p_win.hei || 400; window.open(this.url(p_req),v_win,"location=no,menubar=no,resizable=yes,scrollbars=yes,status=no,toolbar=no,width=" + y + ",height=" + z); }, prn: function(H){ if(H){ window.open(this.url(H),"APP_PRN"); } }, gui: function(H){ if(H.iid && H.dat){ var O = new SYS.GUI.MNU.reg({cls:H.cls, ico:H.ico}); O.draw({iid:H.iid, dat:H.dat}); } }, url: function(H){ var GC = this.$qry(H); return this.get('cgi') + (GC ? '?' + GC : ''); }, rss: function(H){ if(H && H.net && H.net.url && H.out && H.out.elm){ var FO = H.net; FO.onSuccess = function(p_net){ function SO(bB,mN){ var D = null; if(bB){ D = bB['#text']; if(D && mN){ D = mN.replace(/{FLD}/gi,D); } } return D; } function TO(bB,mN){ return bB ? SO(bB.url,mN) : null; } var ML = SYS.CNV.xml2dat(p_net.responseText,true); if(ML && ML.rss){ ML = ML.rss; var oB = H.max || {}; var aO = oB.grp || 1; var bO = oB.itm || 10; var vD = H.fld || {}; var cO = vD.grp || {}; var dO = vD.itm || {}; var N = []; var UO = ML.channel; if(!(UO instanceof Array)){ UO = [UO]; } for(var WG in UO){ var VO = UO[WG] || {}; var WO = VO.item; var XO = []; for(var X in WO){ var YO = WO[X] || {}; XO.push({ ttl: dO.ttl ? SO(YO.title) : null, dtm: dO.dtm ? SO(YO.pubDate) : null, img: dO.img ? TO(YO.image) : null, abs: dO.abs ? SO(YO.description) : null, lnk: dO.lnk ? SO(YO.link,"window.open('{FLD}','_blank')") : null }); if(X >= bO) break; } if(XO.length){ N.push({ ttl: cO.ttl ? SO(VO.title) : null, dtm: cO.dtm ? SO(VO.pubDate) : null, img: cO.img ? TO(VO.image) : null, abs: cO.abs ? SO(VO.description) : null, lnk: cO.lnk ? SO(VO.link,"window.open('{FLD}','_blank')") : null, itm: XO }); if(WG >= aO) break; } } if(N.length){ var NL = H.out; NL.toc = NL.toc || 'mix'; if(NL.toc == 'mix'){ NL.dat = N; } else { NL.dat = N[0].itm; } APP.out(NL,true); } } }; SYS.NET.send(FO); } }, out: function(H, MB){ var lD = { btn: function (H){ var D = null; if(H && H.dat){ var N = H.dat; D = { button: [{ title: N.tip, onclick: N.lnk },!N.ico ? null : { img: {src:N.ico, align:'absbottom', border:0} }, N.ttl] }; } return D; }, adv: function (H){ var D = []; if(H && H.dat){ var N = H.dat instanceof Array ? H.dat : [H.dat]; var aE = H.stp || 1; var DK = (H.css || '').split(','); var XB = DK.length; for(var X in N){ var F = N[X]; if(!F.src) continue; if(D.length && H.spc && !(X % aE)){ D.push(this.$spc()); } var CF = F.src; if(F.lnk){ CF = {a:[{href:F.lnk, target:'_blank'}, CF]}; } var a = F._at || F.att || {}; a.CLASS = ['entry', DK[X%XB], a.CLASS].join(' '); D.push({div:[a, CF]}); } } return D.length ? D : null; }, ols: function (H){ var D = null; if(H && H.dat){ var NL = []; var N = H.dat instanceof Array ? H.dat : [H.dat]; var gB = H.tof; var uL = H.fmt; var DK = (H.css || '').split(','); var XB = DK.length; for(var X in N){ var F = N[X]; var jL = this.cC(F, uL, gB); if(!jL) continue; var a = F._at || F.att || {}; a.CLASS = ['entry', DK[X%XB], a.CLASS].join(' '); NL.push({li:[a, jL]}); } if(NL.length){ D = {ol:[{start:H.off}, NL]}; if(H.ttl){ D = [this.yH.ttl(H.ttl, H, 'ttl'), D]; } } } return D; }, uls: function (H){ var D = null; if(H && H.dat){ var NL = []; var N = H.dat instanceof Array ? H.dat : [H.dat]; var gB = H.tof; var uL = H.fmt; var DK = (H.css || '').split(','); var XB = DK.length; for(var X in N){ var F = N[X]; var jL = this.cC(F, uL, gB); if(!jL) continue; var a = F._at || F.att || {}; a.CLASS = ['entry', DK[X%XB], a.CLASS].join(' '); NL.push({li:[a, jL]}); } if(NL.length){ D = {ul:[null,NL]}; if(H.ttl){ D = [this.yH.ttl(H.ttl, H, 'ttl'), D]; } } } return D; }, dls: function (H){ var D = []; if(H && H.dat){ var N = H.dat instanceof Array ? H.dat : [H.dat]; var gB = H.tof; var uL = H.fmt; var aE = H.stp || 1; var DK = (H.css || '').split(','); var XB = DK.length; for(var X in N){ var F = N[X]; var jL = this.cC(F, uL, gB); if(!jL) continue; if(D.length && H.spc && !(X % aE)){ D.push(this.$spc()); } var a = F._at || F.att || {}; a.CLASS = ['entry', DK[X%XB], a.CLASS].join(' '); D.push({div:[a, jL]}); } if(D.length > 0 && H.ttl){ D.unshift(this.yH.ttl(H.ttl, H, 'ttl')); } } return D.length ? D : null; }, mix: function (H){ var D = []; var N = H ? H.dat : null; if(N){ var gB = H.tof; var uL = H.fmt || 't'; var JN = H.itm || {}; var KN = H.rel || {}; var aE = H.stp || 1; var DK = (H.css || '').split(','); var XB = DK.length; for(var X in N){ var F = N[X]; JN.dat = F.itm; KN.dat = F.rel; var c = APP.out(JN); if(c){ if(D.length && H.spc && !(X % aE)){ D.push(this.$spc()); } var a = F._at || F.att || {}; a.CLASS = ['entry', DK[X%XB], a.CLASS].join(' '); D.push({ div: [a,{ div: [{CLASS:'group'},this.cC(F, uL, gB)] }, c, APP.out(KN)] }); } } } return D.length ? D : null; }, aux: function (H){ var D = []; var N = H.dat; var NB = ''; for(var X in N){ var XH = []; var f = N[X]; var PB = f.val.split(/\r/); for(var WG in PB){ var ZH = $M('td',PB[WG]); if(ZH){ XH.push(ZH); } } if(XH.length){ if(D.length && H.spc){ D.push(this.$spc()); } D.push({ table:[{CLASS:'table'},$M('th',f.hdr),XH] }); } } return D; function $M(p,WH){ var D = []; if(!WH.match(/^\s*$/)){ var MD = WH.split(/#/); for(var X in MD){ var aM = {}; aM[p] = [{CLASS:'col_' + X},MD[X]]; D.push(aM); } } return D.length ? {tr:[null,D]} : null; } }, rol: function (H){ var D = null; if(H && H.dat){ var a = H.att || H._at || {}; a.onmouseover = 'this.stop();'; a.onmouseout = 'this.start();'; D = {marquee: [a, H.dat]}; } return D; }, yH: { stl: function (P){ return P ? {div:[{CLASS:'stitle'}, P]} : null; }, ttl: function (fC, RB, kB){ var D = null; if(fC){ var CO = ''; var NL = ''; var a = {}; if(RB.lnk){ a.onclick = RB.lnk; CO += "this.className += ' hover';"; NL += "this.className = this.className.replace(/\\s*hover/,'');"; } if(RB.tip && (kB || '').match(/^[A-Z]+$/)){ var CM = SYS.CNV.str2str(RB.tip); CO += "SYS.GUI.TIP.show('" + CM + "');"; NL += "SYS.GUI.TIP.hide();"; } a.onmouseover = CO || null; a.onmouseout = NL || null; D = {div: [{CLASS:'title'},{span:[a, fC]}]}; } return D; }, abs: function (P){ return P ? {div:[{CLASS:'brief'}, P]} : null; }, cnt: function (P){ return P ? {div:[{CLASS:'ctext'}, P]} : null; }, dtm: function (P){ return P ? {div:[{CLASS:'pdate'}, P]} : null; }, img: function ($H, RB, kB){ var D = null; if($H){ var CO = ''; var NL = ''; var a = {src:$H}; if(RB.lnk){ a.onclick = RB.lnk; CO += "this.className += ' hover';"; NL += "this.className = this.className.replace(/\\s*hover/,'');"; } if(RB.tip && (kB || '').match(/^[A-Z]+$/)){ var CM = SYS.CNV.str2str(RB.tip); CO += "SYS.GUI.TIP.show('" + CM + "');"; NL += "SYS.GUI.TIP.hide();"; } a.onmouseover = CO || null; a.onmouseout = NL || null; if(RB.des){ D = { table: [{CLASS:'image'},{ tr: [null,{ td: [null, {img:a}, {div:[{CLASS:'itext'}, RB.des]}] }] }] }; } else { D = { div: [{CLASS:'image'}, {img:a}] }; } } return D; }, med: function (p_med){ var D = null; if(p_med && typeof(APP.med) == 'function'){ D = { div: [{CLASS: 'media', onclick:"APP.med('" + p_med + "')"},{ img: {src:'/_ico/ico_media.gif', align:'absbottom', border:0} }] }; } return D; }, aut: function (P){ return P ? {div:[{CLASS:'author'}, P]} : null; }, src: function (P){ return P ? {div:[{CLASS:'source'}, P]} : null; }, $tip: function (p_tip){ var D = (p_tip || '').replace(/<[^>]*>/g,''); var XB = D.length; if(XB > 80){ for(var X = 70; X < XB; X++){ if(D.substr(X,1).match(/[\s\.,:;]/)){ D = D.substr(0,X) + '...'; break; } } } return D; }, $clr: function (){ return {div:[{CLASS:'clear'}, '']}; } }, $tip: function(JD){ var D = null; var CM = JD.tip || '{tdia}'; if(CM.match(/^\{([a-z]+)\}$/i)){ var uL = RegExp.$1.toLowerCase(); var F = {}; for(var vD in JD){ F[vD] = JD[vD] ? JD[vD].toString().replace(/\n|\r/g,'') : ''; } D = SYS.CNV.dat2xml(this.$fmt(F, uL)); } return D; }, cC: function (RB, kB, p_tof){ return p_tof ? this.$tpl(RB, kB) : this.$fmt(RB, kB); }, $fmt: function (JD, kB){ var D = []; JD = JD || {}; kB = kB || 'smtdiacuo'; JD.tip = kB.match(/[A-Z]/) ? this.$tip(JD) : null; kB = kB.split(''); for(var X in kB){ var $ = null; var vJ = kB[X]; switch(vJ.toLowerCase()){ case 's': $ = this.yH.stl(JD.stl,JD,vJ); break; case 't': case 'z': var _C = JD.ttl; if(_C){ if(vJ.match(/z/i)){ var $B = JD.dtm; _C += $B ? ' (' + $B + ')' : ''; } $ = this.yH.ttl(_C,JD,vJ); } break; case 'd': $ = this.yH.dtm(JD.dtm,JD,vJ); break; case 'f': case 'i': case 'j': if(JD.img || JD.alt || vJ.match(/f/i)){ $ = this.yH.img(JD.img || JD.alt || '/_ico/ico_spacer.gif',JD,vJ); } break; case 'm': $ = this.yH.med(JD.med,JD,vJ); break; case 'a': $ = this.yH.abs(JD.abs,JD,vJ); break; case 'c': $ = this.yH.cnt(JD.cnt,JD,vJ); break; case 'u': $ = this.yH.aut(JD.aut,JD,vJ); break; case 'o': $ = this.yH.src(JD.src,JD,vJ); break; case 'x': $ = this.$clr(); break; } if($){ D.push($); } } return D.length ? D : null; }, $tpl: function (RB, mN){ mN = mN || ''; RB = RB || {}; RB.tip = this.$tip(RB); var ZB = /<([a-z]):([a-z]+)\s*(?:\/|>(.+?)<\/\1:\2)>/i; while(mN.match(ZB)){ var hN = RegExp.$1; var $ = RegExp.$2; var vD = $.toLowerCase(); var iN = this.$tpl(RB, RegExp.$3); var PB = RB[vD]; if(PB){ if(iN){ PB = iN.replace('{val}',PB); } if(hN == 'f' && typeof this.yH[vD] == 'function'){ PB = SYS.CNV.dat2xml(this.yH[vD](PB,RB,$)); } } mN = mN.replace(ZB, PB || ''); } return mN; }, $spc: function (){ return {div:[{CLASS:'space'},'']}; }, $clr: function (){ return {div:[{CLASS:'clear'},'']}; } }; var NL = null; if(H && typeof(H) == 'object'){ var JB = H.sub; if(JB && typeof(JB) == 'object'){ H.dat = this.out(JB); } var jN = H.toc; if(jN && typeof lD[jN] == 'function'){ NL = lD[jN](H); if(NL){ NL = H.cls ? {div: [{CLASS: H.cls}, NL]} : NL; if(MB){ SYS.out(SYS.CNV.dat2xml(NL), H.elm); } } } } return NL; }, $qry: function(H){ var D = ''; if(typeof H == 'string'){ D = H; } else { for(var b in H){ var PB = H[b]; if(PB){ D += (D ? '&' : '') + escape(b) + '=' + escape(PB); } } } return D; } }; function CVAR(){ this.pH = {}; } CVAR.prototype.get = function(AK,Z){ return branch(this.pH,AK,Z); }; CVAR.prototype.set = function(P){ attach(this.pH,P,true); }; function _obsolete(EN,FN,MB){ if(MB){ alert(EN + ' is no longer existed! Use ' + FN + ' instead!'); } else { status = EN + ' is obsolete! Use ' + FN + ' instead!'; } }; function fullDir(EC,FC){ _obsolete('fullDir','SYS.UTL.fullDir'); return SYS.UTL.fullDir(EC,FC); }; function fullURL(FC){ _obsolete('fullURL','SYS.UTL.fullURL'); return SYS.UTL.fullURL(FC); }; function parseURL(FC){ _obsolete('parseURL','SYS.UTL.parseURL'); return SYS.UTL.parseURL(FC); }; function filltmp(RB,DC){ _obsolete('filltmp','SYS.UTL.filltpl'); return SYS.UTL.filltpl(RB,DC); }; function str2str(QB){ _obsolete('str2str','SYS.CNV.str2str'); return SYS.CNV.str2str(QB); }; function str2dat(QB){ _obsolete('str2dat','SYS.CNV.str2dat'); return SYS.CNV.str2dat(QB); }; function js2perl(RB){ _obsolete('js2perl','SYS.CNV.js2perl'); return SYS.CNV.js2perl(RB); }; function dat2str(RB,MB){ _obsolete('dat2str','SYS.CNV.dat2str'); return SYS.CNV.dat2str(RB,MB); }; function dat2xml(RB){ _obsolete('dat2xml','SYS.CNV.dat2xml'); return SYS.CNV.dat2xml(RB); }; function dat2dat(RB){ _obsolete('dat2dat','SYS.CNV.dat2dat'); return SYS.CNV.dat2dat(RB); }; function dtm2dat(BH,kB){ _obsolete('dtm2dat','SYS.CNV.dtm2dat'); return SYS.CNV.dtm2dat(BH,kB); }; function dtm2str(BH,kB,$H){ _obsolete('dtm2str','SYS.CNV.dtm2str'); return SYS.CNV.dtm2str(BH,kB,$H); }; function str2dtm(BH,kB){ _obsolete('str2dtm','SYS.CNV.str2dtm'); return SYS.CNV.str2dtm(BH,kB); }; function get_cookie(A,Z){ _obsolete('get_cookie','SYS.DOM.CKI.get'); return SYS.DOM.CKI.get(A,Z); }; function set_cookie(A,P,B,C){ _obsolete('set_cookie','SYS.DOM.CKI.set'); SYS.DOM.CKI.set(A,P,B,C); }; function del_cookie(A){ _obsolete('del_cookie','SYS.DOM.CKI.del'); SYS.DOM.CKI.del(A); }; function getVar(OB,AK,Z){ _obsolete('getVar','branch'); return branch(OB,AK,Z); }; function setVar(OB,P){ _obsolete('setVar','attach'); attach(OB,P,true); }; function parse_int(P,Z){ _obsolete('parse_int','SYS.NUM.parseInt'); return SYS.NUM.parseInt(P,Z); }; function num2str(eD,IK,JK,aD) { _obsolete('num2str','SYS.CNV.num2str'); return SYS.CNV.num2str(eD,IK,JK,aD); }; function int2str(eD,aD) { _obsolete('int2str','SYS.CNV.int2str'); return SYS.CNV.int2str(eD,aD); }; function cmp2dtm(FH,GH,kB){ _obsolete('cmp2dtm','SYS.DTM.cmp'); return SYS.DTM.cmp(FH,GH,kB); }; function join(aD){ _obsolete('join','SYS.UTL.join',true); }; function createElement(H){ _obsolete('createElement','SYS.DOM.createElement'); return SYS.DOM.createElement(H); }; function removeElement(UB){ _obsolete('removeElement','SYS.DOM.removeElement'); return SYS.DOM.removeElement(UB); }; function attachElement(UB,WB){ _obsolete('attachElement','SYS.DOM.attachElement'); return SYS.DOM.attachElement(UB); }; function createTag(){ _obsolete('createTag','SYS.DOM.createTag',true); }; function cboBox(H){ _obsolete('cboBox','SYS.DOM.cbobox'); return SYS.DOM.cbobox(H); }; function doAct(H,bB,cB,dB,eB){ _obsolete('doAct','SYS.act'); return SYS.act(H,bB,cB,dB,eB); }; 