var month = 0;
var day   = 0;
var year  = 0;

/*----------------------------------*/
/*-- Miami Geographical Positions --*/
/*----------------------------------*/
var ns    = 'N';  // North/South
var latd  = 25;   // Lattitude Degre
var latm  = 47;   // Lattitude Minutes
var ew    = 'W';  // East/West
var lngd  = 80;   // Longitude Degre
var lngm  = 8;    // Longitude Minutes
var tmz   = -5;   // TimeZone

i = ew.indexOf("W");
ewi = (i != -1) ? 0 : 1;
i = ns.indexOf("N");
nsi = (i != -1) ? 0 : 1;
var ampm  =  1;   // am/pm or 24 hour display


function doit()
{
   if( year < 1970 )
   {
      alert( "Cannot get information prior to 1970" );
      return;
   }

   var d, m, y;
   var nsi, ewi;
   var i;

   i = ns.indexOf("N");
   nsi = (i != -1) ? 0 : 1;

   i = ew.indexOf("W");
   ewi = (i != -1) ? 0 : 1;
 
   d = day   + 1;
   m = month + 1;
   y = year;

   dst = dayLightSave( m+"/"+d+"/"+y );

   adj   = tmz + dst;

   var time;
   var sunrise, sunset;
   var shaa_zmanit;

   time = suntime( d, m, y, 90, 50, lngd, lngm, ewi, latd, latm, nsi, adj );
   if( time[1] == 0 )
   {
      sunrise = time[2];
      sunset  = time[3];
      document.data.hanetz.value = timeadj( sunrise, ampm );
      document.data.shkia.value  = timeadj( sunset, ampm  );
      shaa_zmanit                = (sunset + 24.0 - sunrise) / 12;
   }

   time = suntime( d, m, y, 106, 6, lngd, lngm, ewi, latd, latm, nsi, adj );
   if( time[1] == 0 )
      document.data.alot.value = timeadj( time[2], ampm );

   time = suntime( d, m, y, 101, 0, lngd, lngm, ewi, latd, latm, nsi, adj );
   if( time[1] == 0 )
      document.data.misheyakir.value = timeadj(time[2], ampm);

   time = suntime(d, m, y, 96, 0, lngd, lngm, ewi, latd, latm, nsi, adj);
   if(time[1] == 0)
      document.data.tzeit.value = timeadj(time[3], ampm);

   document.data.shema.value    = timeadj( sunrise + shaa_zmanit *  3.00, ampm );
   document.data.tefillah.value = timeadj( sunrise + shaa_zmanit *  4.00, ampm );
   document.data.chatzot.value  = timeadj( sunrise + shaa_zmanit *  6.00, ampm );
   document.data.minchag.value  = timeadj( sunrise + shaa_zmanit *  6.50, ampm );
   document.data.minchak.value  = timeadj( sunrise + shaa_zmanit *  9.50, ampm );
   document.data.plag.value     = timeadj( sunrise + shaa_zmanit * 10.75, ampm );

   var yom = new Date( y, m-1, d );
   /*
   if( yom.getDay() == 6 )
   {
      // motzei shabbat (3 small stars)
      time = suntime( d, m, y, 98, 30, lngd, lngm, ewi, latd, latm, nsi, adj );
      if( time[1] == 0 )
         document.data.motzeiShabbat.value = timeadj(time[3], ampm);

      // knissat shabbat (sunset from day before)
      var day_before = new Date( yom.getTime() - 86400000 );
      db = day_before.getDate();
      mb = day_before.getMonth() + 1;
      yb = day_before.getYear();
      if(yb < 1900)
         yb += 1900;
      time = suntime( db, mb, yb, 90, 50, lngd, lngm, ewi, latd, latm, nsi, adj );
      document.data.knissatShabbat.value = timeadj(time[3] - 18.0/60.0, ampm);
   }
   else
   {
      document.data.motzeiShabbat.value = '';
      document.data.knissatShabbat.value = '';
   }
   */
}

/*----------------------------------------------------------------------------*/
/*---   set_date_vars ...                                                     */
/*----------------------------------------------------------------------------*/
function set_date_vars()
{
   month = document.data.month.selectedIndex;
   day   = document.data.day.selectedIndex;
   year  = document.data.year.value;
   len   = civMonthLength(month+1, year);
   if(day >= len)
   {
      day = len - 1;
      document.data.day.selectedIndex = day;
   }
}

/*----------------------------------------------------------------------------*/
/*---   date_vars_doit ...                                                    */
/*----------------------------------------------------------------------------*/
function date_vars_doit()
{
   set_date_vars();
   doit();
}

/*----------------------------------------------------------------------------*/
/*---   set_default_date ...                                                  */
/*----------------------------------------------------------------------------*/
function set_default_date()
{
   var now = new Date();
   var d   = now.getDate();
   var m   = now.getMonth();
   year    = now.getYear();
   if( year < 1900 )
      year += 1900;
   document.data.month.selectedIndex = m;
   document.data.day.selectedIndex   = d - 1;
   document.data.year.value          = year;
   set_date_vars("");
}

/*----------------------------------------------------------------------------*/
/*---   leap ...                                                              */
/*----------------------------------------------------------------------------*/
function leap(y)
{
   return ((y % 400 == 0) || (y % 100 != 0 && y % 4 == 0));
}


/*----------------------------------------------------------------------------*/
/*---   civMonthLength ...                                                    */
/*----------------------------------------------------------------------------*/
function civMonthLength( month, year )
{
   if( month == 2 )
      return 28 + leap(year);
   else
   if(month == 4 || month == 6 || month == 9 || month == 11)
      return 30;
   else
      return 31;
}


