/* kzman.js - Kaluach halachic times Javascript routines
 *   Version 0.01 (initial beta release)
 *   Version 0.02 (fixed bug in display of Shabbat times)
 *   Version 1.00 (fixed bug displaying locations at 0 deg lat/lon)
 * Copyright (C) 5760 - 5766 (2000 - 2006 CE), by Abu Mami.
 *   All Rights Reserved.
 *   All copyright notices in this script must be left intact.
 * Acknowledgment given to scripts by:
 *   - P. Lutus <lutusp@arachnoid.com>
 *     available under the www.arachnoid.com CareWare program
 *	 - Tomer and Yehuda Shiran (docjs.com)
 *   - irt.org
 *   - javascripter.net
 * Permission will be granted to use this script on your web page
 *   if you wish. All that's required is that you please ask.
 *   (Of course if you want to send a few dollars, that's OK too :-)
 * website: http://www.kaluach.org
 */

// these are local

var month = 0, day = 0, year = 0;

// these are accessed by the pop-up window

// defaults for Jerusalem
var list = 0;	// start w/ Israel list
var idx  = 6;	// start w/ Jerusalem
var placeName = 'Jerusalem'
var ns = 'N', ew = 'E';	// hemisphere
var nsi = 0, ewi = 1;
var tz = 14;
var latd = 31, latm = 46;	// lat on earth
var lngd = 35, lngm = 14;	// long on earth

var listNum;
var dst = 0;			// daylight saving time
var ampm = 1;			// am/pm or 24 hour display

function zmanim (day, month, year) {

	var shabbat;

	var d, m, y;
	var i;
 
	d = day;	// + 1;
	m = month + 1;
	y = year;
 
	var adj = - (12 - tz);
	adj += dst;

	var time;
	var sunrise, sunset;

	time = suntime(d, m, y, 90, 50, lngd, lngm, ewi, latd, latm, nsi, adj);
	if(time[1] == 0) {
		sunrise = time[2];
		sunset  = time[3];
		hanetzStr = timeadj(sunrise, ampm);
		shkiaStr = timeadj(sunset, ampm);
		shaa_zmanit = (sunset - sunrise) / 12;		
	}

	time = suntime(d, m, y, 106, 6, lngd, lngm, ewi, latd, latm, nsi, adj);
	if(time[1] == 0)
		alotStr = timeadj(time[2], ampm);

	time = suntime(d, m, y, 101, 0, lngd, lngm, ewi, latd, latm, nsi, adj);
	if(time[1] == 0)
		misheyakirStr = timeadj(time[2], ampm);

	time = suntime(d, m, y, 96, 0, lngd, lngm, ewi, latd, latm, nsi, adj);
	if(time[1] == 0)
		tzeitStr = timeadj(time[3], ampm);

	shemaStr    = timeadj(sunrise + shaa_zmanit * 3, ampm);
	tefillahStr = timeadj(sunrise + shaa_zmanit * 4, ampm);
	chatzotStr  = timeadj(sunrise + shaa_zmanit * 6, ampm);
	minchagStr  = timeadj(sunrise + shaa_zmanit * 6.5, ampm);
	minchakStr  = timeadj(sunrise + shaa_zmanit * 9.5, ampm);
	plagStr     = timeadj(sunrise + shaa_zmanit * 10.75, ampm);

	var yom = new Date (y, m-1, d);
	if(yom.getDay() == 6) {

		shabbat = true;

		// motzei shabbat (3 small stars)
		time = suntime(d, m, y, 98, 30, lngd, lngm, ewi, latd, latm, nsi, adj);
		if(time[1] == 0)
			motzeiStr = 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);
		knissaStr = timeadj(time[3] - 18.0/60.0, ampm);
	}
	else {
		shabbat = false;
		motzeiStr = '';
		knissaStr = '';
	}

	var z = ''

	z += '<table cols="3" width="98%" cellspacing=0>' // table settings

	// col 1 /////////////

	z += '<td width="33%">'
	z += '<table cols="2" width="98%" cellspacing=0>'

	z += '<td width="20%" align="right">'
	z += '<font size=1 face="sans-serif, verdana, helvetica, arial">'
	z += 'alot hashachar<br>'
	z += 'misheyakir<br>'
	z += 'hanetz hachama<br>'
	z += 'sof zman shema'
	z += '</font>'
	z += '</td>'

	z += '<td width="1%" align="left">'
	z += '</td>'

	z += '<td width="12%" align="left">'
	z += '<font size=1 face="sans-serif, verdana, helvetica, arial">'
	z += alotStr       + '<br>'
	z += misheyakirStr + '<br>'
	z += hanetzStr     + '<br>'
	z += shemaStr      + ''
	z += '</font>'
	z += '</td>'

	z += '</table>'
	z += '</td>'

	// col 2 /////////////

	z += '<td width="33%">'
	z += '<table cols="3" width="98%" cellspacing=0>'

	z += '<td width="20%" align="right">'
	z += '<font size=1 face="sans-serif, verdana, helvetica, arial">'
	z += 'sof zman tefillah<br>'
	z += 'mincha gedolah<br>'
	z += 'mincha ketanah<br>'
	z += 'plag hamincha<br>'
	z += '</font>'
	z += '</td>'

	z += '<td width="1%" align="left">'
	z += '</td>'

	z += '<td width="12%" align="left">'
	z += '<font size=1 face="sans-serif, verdana, helvetica, arial">'
	z += tefillahStr + '<br>'
	z += minchagStr  + '<br>'
	z += minchakStr  + '<br>'
	z += plagStr     + ''
	z += '</font>'
	z += '</td>'

	z += '</table>'
	z += '</td>'

	// col 3 /////////////

	z += '<td width="33%">'
	z += '<table cols="2" width="98%" cellspacing=0>'

	z += '<td width="20%" align="right">'
	z += '<font size=1 face="sans-serif, verdana, helvetica, arial">'
	z += 'shkiat hachama<br>'
	z += 'tzeit hakochavim<br>'
	if(shabbat) {
		z += 'knissat shabbat<br>'
		z += 'tzeit shabbat'
	}
	else {
		z += '<br>'
		z += '&nbsp'
	}
	z += '</font>'
	z += '</td>'

	z += '<td width="1%" align="left">'
	z += '</td>'

	z += '<td width="12%" align="left">'
	z += '<font size=1 face="sans-serif, verdana, helvetica, arial">'
	z += shkiaStr    + '<br>'
	z += tzeitStr    + '<br>'
	if(shabbat) {
		z += knissaStr + '<br>'
		z += tzeitStr + ''
	}
	else {
		z += '<br>'
		z += '&nbsp'
	}
	z += '</font>'
	z += '</td>'

	z += '</table>'
	z += '</td>'

  	z += '</table>'

	return z

}


