buddhist.js 3.0 KB

12345678
  1. /*
  2. Copyright (c) 2004-2009, The Dojo Foundation All Rights Reserved.
  3. Available via Academic Free License >= 2.1 OR the modified BSD license.
  4. see: http://dojotoolkit.org/license for details
  5. */
  6. if(!dojo._hasResource["dojox.date.buddhist"]){dojo._hasResource["dojox.date.buddhist"]=true;dojo.provide("dojox.date.buddhist");dojo.experimental("dojox.date.buddhist");dojo.require("dojox.date.buddhist.Date");dojo.require("dojo.date");dojox.date.buddhist.getDaysInMonth=function(_1){return dojo.date.getDaysInMonth(_1.toGregorian());};dojox.date.buddhist.isLeapYear=function(_2){return dojo.date.isLeapYear(_2.toGregorian());};dojox.date.buddhist.compare=function(_3,_4,_5){return dojo.date.compare(_3,_4,_5);};dojox.date.buddhist.add=function(_6,_7,_8){var _9=new dojox.date.buddhist.Date(_6);switch(_7){case "day":_9.setDate(_6.getDate(true)+_8);break;case "weekday":var _a,_b;var _c=_8%5;if(!_c){_a=(_8>0)?5:-5;_b=(_8>0)?((_8-5)/5):((_8+5)/5);}else{_a=_c;_b=parseInt(_8/5);}var _d=_6.getDay();var _e=0;if(_d==6&&_8>0){_e=1;}else{if(_d==0&&_8<0){_e=-1;}}var _f=_d+_a;if(_f==0||_f==6){_e=(_8>0)?2:-2;}_8=(7*_b)+_a+_e;_9.setDate(_6.getDate(true)+_8);break;case "year":_9.setFullYear(_6.getFullYear()+_8);break;case "week":_8*=7;_9.setDate(_6.getDate(true)+_8);break;case "month":_9.setMonth(_6.getMonth()+_8);break;case "hour":_9.setHours(_6.getHours()+_8);break;case "minute":_9.setMinutes(_6.getMinutes()+_8);break;case "second":_9.setSeconds(_6.getSeconds()+_8);break;case "millisecond":_9.setMilliseconds(_6.getMilliseconds()+_8);break;}return _9;};dojox.date.buddhist.difference=function(_10,_11,_12){_11=_11||new dojox.date.buddhist.Date();_12=_12||"day";var _13=_10.getFullYear()-_11.getFullYear();var _14=1;switch(_12){case "weekday":var _15=Math.round(dojox.date.buddhist.difference(_10,_11,"day"));var _16=parseInt(dojox.date.buddhist.difference(_10,_11,"week"));var mod=_15%7;if(mod==0){_15=_16*5;}else{var adj=0;var _17=_11.getDay();var _18=_10.getDay();_16=parseInt(_15/7);mod=_15%7;var _19=new dojox.date.buddhist.Date(_10);_19.setDate(_19.getDate(true)+(_16*7));var _1a=_19.getDay();if(_15>0){switch(true){case _17==5:adj=-1;break;case _17==6:adj=0;break;case _18==5:adj=-1;break;case _18==6:adj=-2;break;case (_1a+mod)>5:adj=-2;}}else{if(_15<0){switch(true){case _17==5:adj=0;break;case _17==6:adj=1;break;case _18==5:adj=2;break;case _18==6:adj=1;break;case (_1a+mod)<0:adj=2;}}}_15+=adj;_15-=(_16*2);}_14=_15;break;case "year":_14=_13;break;case "month":var _1b=(_10.toGregorian()>_11.toGregorian())?_10:_11;var _1c=(_10.toGregorian()>_11.toGregorian())?_11:_10;var _1d=_1b.getMonth();var _1e=_1c.getMonth();if(_13==0){_14=_1b.getMonth()-_1c.getMonth();}else{_14=12-_1e;_14+=_1d;var i=_1c.getFullYear()+1;var e=_1b.getFullYear();for(i;i<e;i++){_14+=12;}}if(_10.toGregorian()<_11.toGregorian()){_14=-_14;}break;case "week":_14=parseInt(dojox.date.buddhist.difference(_10,_11,"day")/7);break;case "day":_14/=24;case "hour":_14/=60;case "minute":_14/=60;case "second":_14/=1000;case "millisecond":_14*=_10.toGregorian().getTime()-_11.toGregorian().getTime();}return Math.round(_14);};}