
var defaultLocaleInfo,mod,muharram,getMuharram;defaultLocaleInfo={SUNDAY:'Sunday:Sun',MONDAY:'Monday:Mon',TUESDAY:'Tuesday:Tue',WEDNESDAY:'Wednesday:Wen',THURSDAY:'Thursday:Thu',FRIDAY:'Friday:Fri',SATURDAY:'Saturday:Sat',JANUARY:'Mu\u1e25arram',FEBRUARY:'\u1e62afar',MARCH:'Rab\u012b\' al-Awwal',APRIL:'Rab\u012b\' al-\u0100\u1e25ir',MAY:'Jum\u0101d\u0101 al-\u016al\u0101',JUNE:'Jum\u0101d\u0101 al-\u0100\u1e25ira',JULY:'Rajab',AUGUST:'Sha\'b\u0101n',SEPTEMBER:'Rama\u1e0d\u0101n',OCTOBER:'Shaww\u0101l',NOVEMBER:'Dhu al-Qa\'da',DECEMBER:'Dhu al-\u1e24ijja',UNDECIMBER:'',AM:'AM',PM:'PM',ERA0:'',ERA1:'',COUNT0:'th',COUNT1:'st',COUNT2:'nd',COUNT3:'rd',COUNT21:'st',COUNT22:'nd',COUNT23:'rd',COUNT31:'st',COUNTN:'th'};mod=function(x,y){return(x-y*(Math.floor(x/y)));};muharram={};getMuharram=function(y){var m=muharram;if(!m[y]){m[y]=354*(y-1)+Math.floor((3+11*y)/30);}
return(m[y]);};module.exports={getName:function(){return("islamic");},getStartOfDay:function(){return(JSORM.calendar.SUNSET);},RD0_DAYS:227015,getDefaultLocale:function(){return('en_US');},getDefaultLocaleInfo:function(key){return(defaultLocaleInfo[key]);},leaps:{},isLeapYear:function(y){var leaps=this.leaps;if(!leaps[y]){leaps[y]=mod((14+11*y),30)<11;}
return(leaps[y]);},getMonthDays:function(m){return(Math.ceil(29.5*m));},daysToCalendar:function(date){var c=this,epoch=c.RD0_DAYS,y,priorDays,m,monthDays,day,era,leap,cal;y=Math.floor((30*(date-epoch)+10646)/10631);priorDays=date-epoch-getMuharram(y);m=Math.floor(priorDays/29.5);monthDays=c.getMonthDays(m);day=priorDays-monthDays+1;era=0;leap=c.isLeapYear(y);cal={ERA:era,YEAR:y,MONTH:m+1,DATE:day,DAY_OF_YEAR:priorDays+1,LEAP:leap?1:0};return(cal);},calendarToDays:function(e,y,m,d){var epoch=this.RD0_DAYS,yearDays,monthDays,fd;yearDays=getMuharram(y);monthDays=this.getMonthDays(m-1);fd=epoch+yearDays+monthDays+d-1;return(fd);},getMaxEra:function(){return(0);},getMinEra:function(){return(0);},getMaxYear:function(era){return(100000000000000);},getMinYear:function(era){return(1);},getMaxMonth:function(era,year){return(12);},getMinMonth:function(era,year){return(1);},getMaxDate:function(era,year,month){return((month===12&&this.isLeapYear(year))||mod(month,2)===1?30:29);},getMinDate:function(era,year,month){return(1);},getMaxDayOfYear:function(era,year){return(this.isLeapYear(year)?355:354);},getMinDayOfYear:function(era,year){return(1);}};