text: /*
  	Copyright (c) 2004-2009, The Dojo Foundation All Rights Reserved.
  	Available via Academic Free License >= 2.1 OR the modified BSD license.
  	see: http://dojotoolkit.org/license for details
  */
  
  
  if(!dojo._hasResource["dojox.date.IslamicDate"]){
  dojo._hasResource["dojox.date.IslamicDate"]=true;
  dojo.provide("dojox.date.IslamicDate");
  dojo.experimental("dojox.date.IslamicDate");
  dojo.require("dojo.date.locale");
  dojo.require("dojo.date");
  dojo.requireLocalization("dojo.cldr","islamic",null,"ROOT,ar");
  dojo.declare("dojox.date.IslamicDate",null,{_date:0,_month:0,_year:0,_hours:0,_minutes:0,_seconds:0,_milliseconds:0,_day:0,_GREGORIAN_EPOCH:1721425.5,_ISLAMIC_EPOCH:1948439.5,constructor:function(){
  var _1=arguments.length;
  if(_1==0){
  var d=new Date();
  this._day=d.getDay();
  this.fromGregorian(d);
  }else{
  if(_1==1){
  this.parse(arguments[0]);
  }else{
  if(_1>=3){
  this._year=arguments[0];
  this._month=arguments[1];
  this._date=arguments[2];
  this._hours=arguments[3]||0;
  this._minutes=arguments[4]||0;
  this._seconds=arguments[5]||0;
  this._milliseconds=arguments[6]||0;
  }
  }
  }
  },getDate:function(){
  return parseInt(this._date);
  },getMonth:function(){
  return parseInt(this._month);
  },getFullYear:function(){
  return parseInt(this._year);
  },getDay:function(){
  var gd=this.toGregorian();
  return gd.getDay();
  },getHours:function(){
  return this._hours;
  },getMinutes:function(){
  return this._minutes;
  },getSeconds:function(){
  return this._seconds;
  },getMilliseconds:function(){
  return this._milliseconds;
  },setDate:function(_4){
  _4=parseInt(_4);
  if(_4>0&&_4<=this.getDaysInIslamicMonth(this._month,this._year)){
  this._date=_4;
  }else{
  var _5;
  if(_4>0){
  for(_5=this.getDaysInIslamicMonth(this._month,this._year);_4>_5;_4-=_5,_5=this.getDaysInIslamicMonth(this._month,this._year)){
  this._month++;
  if(this._month>=12){
  this._year++;
  this._month-=12;
  }
  }
  this._date=_4;
  }else{
  for(_5=this.getDaysInIslamicMonth((this._month-1)>=0?(this._month-1):11,((this._month-1)>=0)?this._year:this._year-1);_4<=0;_5=this.getDaysInIslamicMonth((this._month-1)>=0?(this._month-1):11,((this._month-1)>=0)?this._year:this._year-1)){
  this._month--;
  if(this._month<0){
  this._year--;
  this._month+=12;
  }
  _4+=_5;
  }
  this._date=_4;
  }
  }
  return this;
  },setYear:function(_6){
  this._year=parseInt(_6);
  },setMonth:function(_7){
  this._year+=Math.floor(_7/12);
  this._month=Math.floor(_7%12);
  },setHours:function(){
  var _8=arguments.length;
  var _9=0;
  if(_8>=1){
  _9=parseInt(arguments[0]);
  }
  if(_8>=2){
  this._minutes=parseInt(arguments[1]);
  }
  if(_8>=3){
  this._seconds=parseInt(arguments[2]);
  }
  if(_8==4){
  this._milliseconds=parseInt(arguments[3]);
  }
  while(_9>=24){
  this._date++;
  var _a=this.getDaysInIslamicMonth(this._month,this._year);
  if(this._date>_a){
  this._month++;
  if(this._month>=12){
  this._year++;
  this._month-=12;
  }
  this._date-=_a;
  }
  _9-=24;
  }
  this._hours=_9;
  },setMinutes:function(_b){
  while(_b>=60){
  this._hours++;
  if(this._hours>=24){
  this._date++;
  this._hours-=24;
  var _c=this.getDaysInIslamicMonth(this._month,this._year);
  if(this._date>_c){
  this._month++;
  if(this._month>=12){
  this._year++;
  this._month-=12;
  }
  this._date-=_c;
  }
  }
  _b-=60;
  }
  this._minutes=_b;
  },setSeconds:function(_d){
  while(_d>=60){
  this._minutes++;
  if(this._minutes>=60){
  this._hours++;
  this._minutes-=60;
  if(this._hours>=24){
  this._date++;
  this._hours-=24;
  var _e=this.getDaysInIslamicMonth(this._month,this._year);
  if(this._date>_e){
  this._month++;
  if(this._month>=12){
  this._year++;
  this._month-=12;
  }
  this._date-=_e;
  }
  }
  }
  _d-=60;
  }
  this._seconds=_d;
  },setMilliseconds:function(_f){
  while(_f>=1000){
  this.setSeconds++;
  if(this.setSeconds>=60){
  this._minutes++;
  this.setSeconds-=60;
  if(this._minutes>=60){
  this._hours++;
  this._minutes-=60;
  if(this._hours>=24){
  this._date++;
  this._hours-=24;
  var _10=this.getDaysInIslamicMonth(this._month,this._year);
  if(this._date>_10){
  this._month++;
  if(this._month>=12){
  this._year++;
  this._month-=12;
  }
  this._date-=_10;
  }
  }
  }
  }
  _f-=1000;
  }
  this._milliseconds=_f;
  },toString:function(){
  var x=new Date();
  x.setHours(this._hours);
  x.setMinutes(this._minutes);
  x.setSeconds(this._seconds);
  x.setMilliseconds(this._milliseconds);
  var _12=x.toTimeString();
  return (dojox.date.IslamicDate.weekDays[this.getDay()]+" "+dojox.date.IslamicDate.months[this._month]+" "+this._date+" "+this._year+" "+_12);
  },toGregorian:function(){
  var _13=this._year;
  var _14=this._month;
  var _15=this._date;
  var _16=_15+Math.ceil(29.5*_14)+(_13-1)*354+Math.floor((3+(11*_13))/30)+this._ISLAMIC_EPOCH-1;
  var wjd=Math.floor(_16-0.5)+0.5,_18=wjd-this._GREGORIAN_EPOCH,_19=Math.floor(_18/146097),dqc=this._mod(_18,146097),_1b=Math.floor(dqc/36524),_1c=this._mod(dqc,36524),_1d=Math.floor(_1c/1461),_1e=this._mod(_1c,1461),_1f=Math.floor(_1e/365),_20=(_19*400)+(_1b*100)+(_1d*4)+_1f;
  if(!(_1b==4||_1f==4)){
  _20++;
  }
  var _21=this._GREGORIAN_EPOCH+(365*(_20-1))+Math.floor((_20-1)/4)-(Math.floor((_20-1)/100))+Math.floor((_20-1)/400);
  var _22=wjd-_21;
  var tjd=(this._GREGORIAN_EPOCH-1)+(365*(_20-1))+Math.floor((_20-1)/4)-(Math.floor((_20-1)/100))+Math.floor((_20-1)/400)+Math.floor((739/12)+((dojo.date.isLeapYear(new Date(_20,3,1))?-1:-2))+1);
  var _24=((wjd<tjd)?0:(dojo.date.isLeapYear(new Date(_20,3,1))?1:2));
  var _25=Math.floor((((_22+_24)*12)+373)/367);
  var _26=(this._GREGORIAN_EPOCH-1)+(365*(_20-1))+Math.floor((_20-1)/4)-(Math.floor((_20-1)/100))+Math.floor((_20-1)/400)+Math.floor((((367*_25)-362)/12)+((_25<=2)?0:(dojo.date.isLeapYear(new Date(_20,_25,1))?-1:-2))+1);
  var day=(wjd-_26);
  var _28=new Date(_20,_25-1,day);
  _28.setHours(this._hours);
  _28.setMilliseconds(this._milliseconds);
  _28.setMinutes(this._minutes);
  _28.setSeconds(this._seconds);
  return _28;
  },fromGregorian:function(_29){
  var _2a=new Date(_29);
  var _2b=_2a.getFullYear(),_2c=_2a.getMonth(),_2d=_2a.getDate();
  var _2e=(this._GREGORIAN_EPOCH-1)+(365*(_2b-1))+Math.floor((_2b-1)/4)+(-Math.floor((_2b-1)/100))+Math.floor((_2b-1)/400)+Math.floor((((367*(_2c+1))-362)/12)+(((_2c+1)<=2)?0:(dojo.date.isLeapYear(_2a)?-1:-2))+_2d)+(Math.floor(_2a.getSeconds()+60*(_2a.getMinutes()+60*_2a.getHours())+0.5)/86400);
  _2e=Math.floor(_2e)+0.5;
  var _2f=_2e-1948440;
  var _30=Math.floor((30*_2f+10646)/10631);
  var _31=Math.ceil((_2f-29-this._yearStart(_30))/29.5);
  _31=Math.min(_31,11);
  var _32=Math.ceil(_2f-this._monthStart(_30,_31))+1;
  this._date=_32;
  this._month=_31;
  this._year=_30;
  this._hours=_2a.getHours();
  this._minutes=_2a.getMinutes();
  this._seconds=_2a.getSeconds();
  this._milliseconds=_2a.getMilliseconds();
  this._day=_2a.getDay();
  return this;
  },parse:function(_33){
  var _34=_33.toString();
  var _35=/\d{1,2}\D\d{1,2}\D\d{4}/;
  var sD,jd,mD=_34.match(_35);
  if(mD){
  mD=mD.toString();
  sD=mD.split(/\D/);
  this._month=sD[0]-1;
  this._date=sD[1];
  this._year=sD[2];
  }else{
  mD=_34.match(/\D{4,}\s\d{1,2}\s\d{4}/);
  if(mD){
  mD=mD.toString();
  var _39=mD.match(/\d{1,2}\s\d{4}/);
  _39=_39.toString();
  var _3a=mD.replace(/\s\d{1,2}\s\d{4}/,"");
  _3a=_3a.toString();
  this._month=dojo.indexOf(this._months,_3a);
  sD=_39.split(/\s/);
  this._date=sD[0];
  this._year=sD[1];
  }
  }
  var _3b=_34.match(/\d{2}:/);
  if(_3b!=null){
  _3b=_3b.toString();
  var _3c=_3b.split(":");
  this._hours=_3c[0];
  _3b=_34.match(/\d{2}:\d{2}/);
  if(_3b){
  _3b=_3b.toString();
  _3c=_3b.split(":");
  }
  this._minutes=_3c[1]!=null?_3c[1]:0;
  _3b=_34.match(/\d{2}:\d{2}:\d{2}/);
  if(_3b){
  _3b=_3b.toString();
  _3c=_3b.split(":");
  }
  this._seconds=_3c[2]!=null?_3c[2]:0;
  }else{
  this._hours=0;
  this._minutes=0;
  this._seconds=0;
  }
  this._milliseconds=0;
  },valueOf:function(){
  var _3d=this.toGregorian();
  return _3d.valueOf();
  },_yearStart:function(_3e){
  return (_3e-1)*354+Math.floor((3+11*_3e)/30);
  },_monthStart:function(_3f,_40){
  return Math.ceil(29.5*_40)+(_3f-1)*354+Math.floor((3+11*_3f)/30);
  },_civilLeapYear:function(_41){
  return (14+11*_41)%30<11;
  },getDaysInIslamicMonth:function(_42,_43){
  var _44=0;
  _44=29+((_42+1)%2);
  if(_42==11&&this._civilLeapYear(_43)){
  _44++;
  }
  return _44;
  },_mod:function(a,b){
  return a-(b*Math.floor(a/b));
  }});
  dojox.date.IslamicDate.getDaysInIslamicMonth=function(_47){
  return new dojox.date.IslamicDate().getDaysInIslamicMonth(_47.getMonth(),_47.getFullYear());
  };
  dojox.date.IslamicDate._getNames=function(_48,_49,use,_4b){
  var _4c;
  var _4d=dojo.i18n.getLocalization("dojo.cldr","islamic",_4b);
  var _4e=[_48,use,_49];
  if(use=="standAlone"){
  _4c=_4d[_4e.join("-")];
  }
  _4e[1]="format";
  return (_4c||_4d[_4e.join("-")]).concat();
  };
  dojox.date.IslamicDate.weekDays=dojox.date.IslamicDate._getNames("days","wide","format");
  dojox.date.IslamicDate.months=dojox.date.IslamicDate._getNames("months","wide","format");
  }
  