﻿php_base = 'calculators/pregnancy_stages_calculator/';	
var loading_image = document.getElementById('loading_image');
var stages = new Array();
var last_date;
update_quick_nav();
taburit_page = false;
var stam_date = new Date();
if (Get_Cookie('last_period_date'))
{
	stam_date = new Date(Get_Cookie('last_period_date'));
}
else
{
	stam_date.setDate(stam_date.getDate()-140);
}

document.getElementById('last_period').innerHTML = getDateString(stam_date);

function caluculate_week()
{
	var today = new Date();	
	var one_day = 60 * 60 * 24 * 1000;
	
	last_date = getFieldDate(document.getElementById('last_period').innerHTML);
	return Math.floor((Math.ceil((today.getTime() - last_date.getTime()) / one_day)) / 7);
}

function caluculate_weekday()
{
	last_date = getFieldDate(document.getElementById('last_period').innerHTML);
	
	var today = new Date();
	var one_day = 60 * 60 * 24 * 1000;
	return Math.ceil((Math.ceil((today.getTime() - last_date.getTime()) / one_day)) % 7);
}

var week = 0;

function validate_week()
{
	if (!stages[week])
	{
		call_server(php_base + "get_stage_for_a_week.php?week=" + week, 
					on_data_form_server, loading_image);
	}
	else
	{
		display_week_results();
	}
}

var days = new Array();
days[1] = "יום";
days[2] = "יומיים";
days[3] = "שלושה ימים";
days[4] = "ארבעה ימים";
days[5] = "חמישה ימים";
days[6] = "שישה ימים";

  
var CAPRICORN = "גדי";
var AQUARIUS = "דלי";
var PISCES = "דגים";
var ARIES = "טלה";
var TAURUS = "שור";
var GEMINI = "תאומים";
var CANCER = "סרטן";
var LEO = "אריה";
var VIRGO = "בתולה";
var LIBRA = "מאזניים";
var SCORPIUS = "עקרב";
var SAGITTARIUS = "קשת";

function determine_sign(due_date)
{
	var month = due_date.getMonth() + 1;
	var day = due_date.getDate();	
	
	switch (month)
	{
		
		case 1:
			if (day <= 20)
				return CAPRICORN;
			return AQUARIUS;
		case 2:
			if (day <= 18)
				return AQUARIUS;
			return PISCES;
		case 3:
			if (day <= 20)
				return PISCES;
			return ARIES;
		case 4:
			if (day <= 20)
				return ARIES;
			return TAURUS;
		case 5:
			if (day <= 20)
				return TAURUS;
			return GEMINI;
		case 6:
			if (day <= 21)
				return GEMINI;
			return CANCER;
		case 7:
			if (day <= 22)
				return CANCER;
			return LEO;
		case 8:
			if (day <= 22)
				return LEO;
			return VIRGO;
		case 9:
			if (day <= 22)
				return VIRGO;
			return LIBRA;
		case 10:
			if (day <= 23)
				return LIBRA;
			return SCORPIUS;
		case 11:
			if (day <= 21)
				return SCORPIUS;
			return SAGITTARIUS;
		case 12:
			if (day <= 21)
				return SAGITTARIUS;
			return CAPRICORN;
	}
}

function on_calc_click()
{
	week = caluculate_week();
	if (week < 0)
	{
		alert("יש לבחור תאריך בעבר");
		return;
	}
	var delivery_date = calcNewDate((last_date.getMonth() + 1), last_date.getDate(), last_date.getFullYear(), 280);
	
	Set_Cookie( 'last_period_date', last_date, '', '/', '', '' );
	
	var month = calcCurrentMonth(week);
	
	var the_str = ((month == 0) || (month == 11)) ? "" : "ה";
	var weekday = caluculate_weekday();

	var trimester = "אחרון";
	if (week < 28)
		trimester = "שני";
	if (week < 13)
		trimester = "ראשון";
	var result;
	
	if (web_taburit_page)
	{
		result = "<table style='font-weight:bold'>" +
						"<tr><td>את נמצאת בשבוע " + week + " להריון, בחודש " + the_str + month + ". (בשליש ה" + trimester + " להריון)</td></tr>" + 
					
						"<tr><td>תאריך לידה צפוי: " + get_hebrew_string_form_date(delivery_date) + "(מזל " + determine_sign(delivery_date) + ")</td></tr>" +  
		"</table>";
	}
	else
	{
		result = "<table style='font-weight:bold'>" +
						"<tr><td>את נמצאת בשבוע " + week + " להריון," + 
						"<tr><td>את נמצאת בחודש " + the_str + month + " להריון." + "</td></tr>" + 
						"<tr><td>את נמצאת בשליש ה" + trimester + " להריון." + "</td></tr>" + 
						"<tr><td>תאריך לידה צפוי: " + get_hebrew_string_form_date(delivery_date) + "</td></tr>" + 
						"<tr><td>במידה והתינוק יוולד במועד לעיל, המזל האסטרולוגי שלו יהיה " + determine_sign(delivery_date) + ".</td></tr>" + 
				"</table>";
	}
				
	document.getElementById('result').innerHTML = result;				
	if (week > 40)
		week = 40;
	validate_week();

	if (taburit_page || web_taburit_page)
	{
		taburit_day_list.selectedIndex = delivery_date.getDate();
		taburit_month_list.selectedIndex = delivery_date.getMonth() + 1;
		var year = delivery_date.getYear();
		if (year > 2000)
			taburit_year_list.selectedIndex = year - 2009;
		else
			taburit_year_list.selectedIndex = year - 109;
		
	}
	
}

function load_list_from_array(list, text_arr, value_arr, default_index)
{	
	for (var i = 0; i < text_arr.length; i++)
		list.options[i] = new Option(text_arr[i], value_arr[i]);
}

function load_taburit_objects()
{
	
	var text_arr = Array();
	var value_arr = Array(0);
	
	for (var i = 0; i <= 31; i++)
	{
		text_arr[i] = i;
		value_arr[i] = i;
	}

	text_arr[0] = "בחרי";
	
	load_list_from_array(taburit_day_list, text_arr, value_arr, 0);
	
	text_arr = Array();
	value_arr = Array(0);
	
	for (var i = 0; i <= 12; i++)
	{
		text_arr[i] = i;
		value_arr[i] = i;
	}
	text_arr[0] = "בחרי";
	
	load_list_from_array(taburit_month_list, text_arr, value_arr, 0);
	
	list = document.getElementById('taburit_year');
	
	text_arr = Array();
	value_arr = Array(0);
	
	text_arr[0] = "בחרי";
	value_arr[0] = 0;
	
	text_arr[1] = 2010;
	value_arr[1] = 2010;
	
	text_arr[2] = 2011;
	value_arr[2] = 2011;
	
	load_list_from_array(taburit_year_list, text_arr, value_arr, 0);
}

function on_data_form_server()
{
	eval("stages[week] = " + data_from_server);
	display_week_results();
}

function update_quick_nav()
{
	document.getElementById('quick_nav').innerHTML = 
	"לחילופין, אם ידוע לך באיזה שבוע את, לחצי עליו:" + 
	draw_quick_nav();
}

function display_week_results()
{
	update_quick_nav();
	document.getElementById('mother_state').innerHTML = "<p class='article_secondary_title'>שינויים שעוברת האם בשבוע מספר " + week + ":</p>" + stages[week][0];
	
	if (!taburit_page && !web_taburit_page)
	{
		document.getElementById('mother_state').innerHTML += "<div class='article_main_content' align='justify'>" + "לפרטים בנושא שימור דם טבורי היכנסו ל<a href='http://www.taburit.co.il/' target='_blank'>כאן</a>.</div>";			
	}
	
	document.getElementById('fetus_state').innerHTML = "<p class='article_secondary_title'>שינויים שעובר העובר בשבוע מספר " + week + ":</p>" + stages[week][1];
	
	if(web_taburit_page)
	{
		var lead = "<br/><span style='font-size:15px;font-weight:bold;color:black;'>";
		if (week < 36)
		{
			lead += "האם חשבת כבר על שימור דם טבורי של תינוקך?<br/>";

			
		}
		else
		{
			lead += "זה הזמן לחשוב על שימור דם טבורי של תינוקך!<br/>";
		}
		
		lead += "</span><span style='font-weight:bold;color:#333333;>זה פשוט, לא מכאיב ויכול להציל חיים. מיליוני זוגות בעולם כבר עשו את זה. " + 
"מלאי פרטים ונציג טבורית יחזור אליך, או התקשרי למוקד טבורית 1-700-500-117</span>";
		document.getElementById('lead').innerHTML = lead;		
		document.getElementById('lead_form').style.visibility = "visible";	
	}
	
	if (!taburit_page && !web_taburit_page)
	{
		document.getElementById('checkup_link').innerHTML = "לבדיקות ההריון הרלוונטיות לשבוע זה, הכנסי ל<a href='"
	+ "show_calculator_heb.php?cat_id=10&art_id=55#week_" + ((week - 4) > 1 ? (week - 4) : 1) +
	"'>מחשבון בדיקות ההריון</a> שלנו";
		document.getElementById('extra_buttons').style.visibility = "visible";	
	}
	

	
	if (taburit_page)
	{
		stages[week][2] = stages[week][2].replace(/jpg/, "png");
		if (stages[week][2].indexOf("taburit") != 0)
		{
			stages[week][2] = "taburit/" + stages[week][2];
		}
	}
	if (stages[week][2].indexOf("jpg") != -1 ||  stages[week][2].indexOf("png") != -1)
		document.getElementById('fetus_ilustration').innerHTML = 
			"<img src='calculators/pregnancy_stages_calculator/" + stages[week][2] + "'>";
	else
		document.getElementById('fetus_ilustration').innerHTML = "";
	document.getElementById('comment').style.visibility = "visible";
	
}

function draw_quick_nav()
{
	var ret = "<table cellspacing='2'><tr>";
	
	
	for (var i = 1; i <= 40; i++)
	{
		if (week == i)
		{
			var highlight = "";
			var foucs_out = "";
			the_class = 'square_quick_nav_highlight';
		}
		else
		{
			var highlight = "onmouseover='this.className=\"square_quick_nav_highlight\";'";
			var foucs_out = "onmouseout='this.className=\"square_quick_nav\";'";
			the_class = 'square_quick_nav';
		}

		ret += "<td class='" + the_class + "' " + highlight + " " + foucs_out  + " onclick='week=" + i + ";validate_week();'>" + i + "</td>";
		if (i == 20)
			ret += "</tr><tr>";
	}
	return ret;
}

var daysinmonth = new makeArray(12);

daysinmonth[1] = 31;
daysinmonth[2] = 28;
daysinmonth[3] = 31;
daysinmonth[4] = 30;
daysinmonth[5] = 31;
daysinmonth[6] = 30;
daysinmonth[7] = 31;
daysinmonth[8] = 31;
daysinmonth[9] = 30;
daysinmonth[10] = 31;
daysinmonth[11] = 30;
daysinmonth[12] = 31;

var monthname = new makeArray(12);

monthname[1] = "ינואר";
monthname[2] = "פברואר";
monthname[3] = "מרץ";
monthname[4] = "אפריל";
monthname[5] = "מאי";
monthname[6] = "יוני";
monthname[7] = "יולי";
monthname[8] = "אוגוסט";
monthname[9] = "ספטמבר";
monthname[10] = "אוקטובר";
monthname[11] = "נובמבר";
monthname[12] = "דצמבר";

var monthnum = new makeArray(9);

// 280 days broken into 40 weeks 

monthnum[0] = "טרום ראשון";
monthnum[1] = "ראשון";
monthnum[2] = "ראשון";
monthnum[3] = "שני";
monthnum[4] = "שלישי";
monthnum[5] = "רביעי";
monthnum[6] = "חמישי";
monthnum[7] = "שישי";
monthnum[8] = "שביעי";
monthnum[9] = "שמיני";
monthnum[10] = "תשיעי";
monthnum[11] = "אחרי התשיעי";

function calcCurrentMonth(week)
{
	var index;
	if (week < 1)
		index = 0;
	if (week < 7)
		index = 1;
	else
	if (week < 11)
		index = 3;
	else
	if (week < 15)
		index = 4;
	else
	if (week < 19)
		index = 5;
	else
	if (week < 24)
		index = 6;
	else
	if (week < 28)
		index = 7;
	else
	if (week < 33)
		index = 8;
	else
	if (week < 37)
		index = 9;
	else
	if (week < 41)
		index = 10;
	else
		index = 11;

   var monthstring = monthnum[index];
   return monthstring;
}

function calcNewDate(month,day,year,daystoadd)
{
   dueday = eval(day) + daystoadd
   duemonth = month
   dueyear = eval(year)
   var daysthismonth
   for (var i = 0; i < 12; i++)
   {
      if (duemonth == 2 && (dueyear % 4) == 0)
	  {
         daysthismonth = 29;
      }
	  else
         daysthismonth = daysinmonth[duemonth]

      if (dueday > daysthismonth)
	  {
         dueday = dueday - daysthismonth
         duemonth++
         if (duemonth > 12)
		 {
            dueyear++
            duemonth = 1;
         }
      }
      else
         break
   }

   var new_date = new Date();
   new_date.setFullYear(dueyear,duemonth - 1,dueday);
   return new_date;
}

function get_hebrew_string_form_date(date)
{
	return "ה-" + date.getDate() + " ב"+ monthname[date.getMonth() + 1] + ", " + date.getFullYear();
}

function makeArray(n)
{
	this.length = n;
	for (var i=1; i <= n; i++)
		this[i] = null;
	return this;
}

var taburit_day_list, taburit_month_list, taburit_year_list;

if (taburit_page || web_taburit_page)
{
	taburit_day_list = document.getElementById('taburit_date');
	taburit_month_list = document.getElementById('taburit_month');
	taburit_year_list = document.getElementById('taburit_year');
	load_taburit_objects();
}
datePickerClosed = on_calc_click;