I developed a Hijri calendar Component for flash and flex and thought I will put it up for those who are interested. The component was developed in flash in order to learn component development for flex. I will post a tutorial or white paper on component development for flex application soon. Check back if you are interested. What made development of this component interesting was the fact that the Hijri calendar depends alot on factors that are not consistent. To explain this, here is a chapter that explains the inconsistency is the Hijri calendar system:
For religious reasons, the beginning of a Hijri month is marked not by the start of a new moon, but by a physical (i.e., an actual human) sighting of the crescent moon at a given locale. From the Fiqhi standpoint, one may begin the fast in RamDHaan, for example, based on “local” sighting (IKHTILAF AL-MATALE’) or based on sighting anywhere in the Muslim World (ITTEHAD AL-MATALE’). Although different, both of these positions are valid Fiqhi positions.
Astronomically, some data are definitive and conclusive (i.e. the time of the BIRTH of a new moon). However, determining the VISIBILITY of the crescent is not as definitive or conclusive; rather it is dependent upon several factors, mostly optical in nature. This makes it difficult to produce (in advance) Islamic calendars that are reliable (in the sense that they are consistent with actual crescent visibility).
Efforts for obtaining an astronomical criterion for predicting the time of first lunar visibility go back the the Babylonian era, with significant improvements and work done later by Muslim and other scientists. These efforts have resulted in the development in a number of criteria for predicting first possible sighting of a crescent. However, there remains a measure of uncertainty associated with all criteria developed thus far. Moreover, there has been little work in the area of estimating crescent visibility on global (as opposed to local) scale. Until this happens, no Hijri calendar software can be 100% reliable, and actual crescent sighting remains essential especially for fixing important dates such as the beginning of RamaDHaan and the two `iyds.
The slight differences in printed Islamic calendars, worldwide, can therefore be traced to two primary factors: (1) the absence of a global criterion for first visibility; and (2) the use of different visibility criterion (or method of calculation). Weather conditions and differences in the observer’s location also explain why there are sometimes differences in the observances of Islamic dates, worldwide.
Due, to this reason, any Hijri Calender software or component has a error of _/+ 1 day. You can download the Hijri Calender component here. Enjoy it.