i_base.js 6.71 KB
Newer Older
Zhou Yang's avatar
Zhou Yang committed
1
I("I.url,I.cok,I.dt,I.data,I.timeout");I.url.ovrCas(function(a){I.extend(a,{_val:"",_def:location.href,_params:0});return a},{reg:function(a){return new RegExp("(&|\\?)"+a+"(?:=([^&]*)|$)","i")},def:function(){var a=this._def;if(a.indexOf("#")<a.indexOf("?")){a=a.replace("#","?")}return a},val:function(c,b){var a=this;a._val=c?c:(a._val?a._val:a.def());return b?a._val.replace(/\?/,b):a._val},params:function(d){var b=this,c={};function a(e){e.replace(/[&?]([^?&=]*)(?:=([^&]*)|$)/g,function(f,g,h){c[g.toLowerCase()]=decodeURI(h)});return c}d?a(d):(c=b._params?b._params:b._params=a(b.val()));return c},hasDomain:function(c){var a=this,b=/^http\w?\:\/\/([^\/]+)\/.*$/;return a.val().replace(b,"$1")==c.replace(b,"$1")},page:function(c){var a=this,b=(c?c:a._def).replace(/\?.*$/i,"");if(c){a._val=a.val().replace(/^[^?]*/i,b);return a}else{return b}},get:function(c,b){var a=this,d=a._params,e=(d?d:a.params())[c.toLowerCase()];e?0:e="";return typeof(b)=="number"?e.split("_")[b]:e},set:function(b,e){if(!b){return this}var a=this,d=a.val(e),c=typeof(b)=="string"?a.params("?"+b):b;if(d.indexOf("?")==-1){d=d+"?"}$.each(c,function(f,h){var g=h?f+"="+encodeURI(h):"";d=a.reg(f).test(d)?d.replace(a.reg(f),"$1"+g):d+"&"+g});a._val=d.replace(/&+/g,"&").replace(/\?&+/g,"?").replace(/[?&]+$/,"");return a},clear:function(g,j){var f=this,b=g;if(!b){f._val=f._def;return f}typeof(b)=="string"?b=b.split(","):0;var h=f.val(j),d=b.length;for(var e=0;e<d;e++){h=h.replace(f.reg(b[e]),"$1")}f._val=h.replace(/&+/g,"&").replace(/\?&+/g,"?").replace(/[?&]+$/,"");return f},exist:function(j,e){var g=this,b=j,d;typeof(b)=="string"?b=b.split(","):0;d=b.length;for(var f=0;f<d;f++){var h=b[f],k=g.get(h);if(k){e(f,h,k)}}return g},setNext:function(g,c,e){var f=this,b=c,d=e?e:b.length-1;var i=b.join(","),h=f.get(g),j;i.replace(new RegExp("(?:^|,)"+h+"(?:$|,)([^,]+|$)"),function(k,l){j=l});j=j==""?b[0]:(j?j:b[(d+1)%b.length]);f.val(b[d]==j?"":j);return f},next:function(e,a,d){var c=this,f={},g=c.get(e,d);for(var b=0;b<a.length;b++){f[a[b]]=a[b+1]}return f[g]?f[g]:a[0]},go:function(a){location=this.val(a);return this},toString:function(a){var b=this.val();return a?decodeURI(b):b}});I.cok.ovrCas({_day:1000*60*60*24,_cookies:0,__init:function(){var h=this,a=h._cookies={};if(document.cookie){var d=document.cookie.split(";"),j=/^\s+|\s+$/g,f=/([^=]+)\=(.*)$/;var e=function(c,i,k){a[i]=decodeURIComponent(k)};for(var g=0,b=d.length;g<b;g++){d[g].replace(j,"").replace(f,e)}}return h},params:function(){if(!this._cookies){m.__init()}return this._cookies},get:function(c){var b=this,a=b._cookies;if(!a){b.__init();a=b._cookies}return a[c]},set:function(d,e,a){var c,b=new Date();if(a){c=";expires="+b.setTime(b.getTime()+a*this._day).toUTCString()+";path=/"}document.cookie=[d,"=",encodeURIComponent(e),c].join("");return this},remove:function(e){var f=e.constructor==String?[e]:e;for(var b=0,a=f.length;b<a;b++){var d=f[b];delete this._cookies[d];document.cookie=d+"=;expires="+new Date().toUTCString()+";path=/"}return this},clear:function(){document.cookie="";if(document.cookie){this.remove(document.cookie.replace(/\=[^;]*(?:;\s*|$\s*)/g,",").split(","))}return this}});I.dt.ovrCas(function(a){var b=I.extend(a,{_dt:new Date()}),d=a._args[0];if(!d){return b}if(typeof(d)=="number"){b._dt=new Date(d*1000);return b}var c=/^\s*(?:(\d{4})[\/\-])?(\d{1,2})[\/\-](\d{1,2})( \d{1,2}\:\d{1,2}\:\d{1,2})?\s*$/g;d=d.replace(c,function(i,e,f,g,h){return(e?e:b._dt.getFullYear())+"/"+f+"/"+g+(h?h:" 00:00:00")});b._dt=new Date(d);I.extend(b,fnDate);return b}).ovrCas({remDays:function(){var a=this,b=new Date();if(a._dt<=b){a._dt.setFullYear(b.getFullYear()+1)}tm=Math.ceil((a._dt-b)/60000/60/24);return tm},year:function(){return this._dt.getFullYear()},cn:function(){return this.datetime("yyyy年MM月dd日 星期cnddd")},en:function(){return this.datetime("enMM dd,yyyy on enddd")},datetime:function(b){var c=this,a=c._dt;str=b.replace(/(yyyy|enMMx|enMM|cnMM|MM|endddx|enddd|cnddd|ddd|dd|hh|mm|ss)/g,function(d){return c._langs[d](a)});return str},_langs:{yyyy:function(a){return a.getFullYear()},enMMx:function(a){return["Jan","Feb","Mar","Apr","Maj","Jun","Jul","Aug","Sep","Okt","Nov","Dec"][a.getMonth()]},enMM:function(a){return["January","February","March","April","May","June","July","August","September","October","November","December"][a.getMonth()]},cnMM:function(a){return["一","二","三","四","五","六","七","八","九","十","十一","十二"][a.getMonth()]},MM:function(a){var b=a.getMonth()+1;return b<10?"0"+b:b},endddx:function(a){return["Sun","Mon","Tue","Wed","Thu","Fri","Sat"][a.getDay()]},enddd:function(a){return["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"][a.getDay()]},cnddd:function(a){return["日","一","二","三","四","五","六"][a.getDay()]},ddd:function(a){return a.getDay()||7},dd:function(a){var b=a.getDate();return b<10?"0"+b:b},hh:function(a){var b=a.getHours();return b<10?"0"+b:b},mm:function(a){var b=a.getMinutes();return b<10?"0"+b:b},ss:function(a){var b=a.getSeconds();return b<10?"0"+b:b}}});I.data.extCas({oninit:function(){this._data},getData:function(){},setData:function(){}});I.timeout.extCas(function(f){var c=f._args[0];c=I.extend({speed:20,step:"sin",onstop:f.empty},c);var h=c.speed,b=0,d=1,l,j=0,k={sin:function(o){return Math.sin(0.5*o*Math.PI/d)}}[c.step],n=0,g=[],a,i=function(o){j=1;d=Math.ceil(o.tm/h);o.onstart();a=function(){b++;o.onstep(o.step(b));if(b>d||b<0){if(g[0]){b=0;o.onend();i(g.splice(0,1)[0])}else{e();o.onend()}}};l=setInterval(a,h)},e=function(){clearInterval(l);j=0;b=0};I.extend(f,{cfg:function(o){I.extend(c,o);return this},start:function(r,p){if(!r){l=setInterval(a,h)}var q=this,o=I.extend({tm:r,step:k[p.step]||k.sin,onstart:p.onstart||q.empty,onstep:p.onstart||q.empty,onend:p.onend||q.empty});if(j!=0){g.push(o);return q}if(g[0]){g.push(o)}i(g.splice(0,1)[0]);return q},back:function(){return this},stop:function(o,p){if(o){g.splice(g.length)}if(p){var q=g;g=[];b=d;a();g=q}else{clearInterval(l);j=0}c.onstop()}});return f});String.prototype.toDateTime=function(){return new Date(this.replace(/\-/g,"/"))};Date.prototype.format=function(c){var b=c,j=/yyyy|MM|dd|hh|HH|mm|ss/g,h=this.getMonth()+1,a=this.getDate(),e=this.getHours(),d=e%12,g=this.getMinutes(),k=this.getSeconds();var i={yyyy:this.getFullYear(),M:h,d:a,h:d,m:g,s:k,MM:h>9?h:"0"+h,dd:a>9?a:"0"+a,HH:e>9?e:"0"+e,hh:d>9?d:"0"+d,mm:g>9?g:"0"+g,ss:k>9?k:"0"+k};return b.replace(j,function(f){return i[f]})};Date.prototype.addMinutes=function(a){this.setMinutes(this.getMinutes()+a);return this};Date.prototype.getNextTimeMinutes=function(a,b){var c=Math.ceil(((b||new Date())-this)/(a*60*1000));return c*a};Date.prototype.getTotalMS=function(){return this.valueOf()};Date.prototype.clone=function(){var a=this;return new Date(a.getFullYear(),a.getMonth(),a.getDate(),a.getHours(),a.getMinutes(),a.getSeconds())};