var mcds_arrHebrewLeapYearMonths = [
	new Option("Tishrei", "1"),
	new Option("Cheshvan", "2"),
	new Option("Kislev", "3"),
	new Option("Tevet", "4"),
	new Option("Shevat", "5"),
	new Option("Adar", "6"),
	new Option("Adar II", "7"),
	new Option("Nisan", "8"),
	new Option("Iyar", "9"),
	new Option("Sivan", "10"),
	new Option("Tammuz", "11"),
	new Option("Av", "12"),
	new Option("Elul", "13")
];

var mcds_arrHebrewRegularYearMonths = [
	new Option("Tishrei", "1"),
	new Option("Cheshvan", "2"),
	new Option("Kislev", "3"),
	new Option("Tevet", "4"),
	new Option("Shevat", "5"),
	new Option("Adar", "7"),
	new Option("Nisan", "8"),
	new Option("Iyar", "9"),
	new Option("Sivan", "10"),
	new Option("Tammuz", "11"),
	new Option("Av", "12"),
	new Option("Elul", "13")
];

var mcds_flgHebrewYearChangedCalled = false;
var mcds_flgIsDisplayingHebrewLeapYear = false;

function mcds_HebrewYearChanged() {
	if ((mcds_flgHebrewYearChangedCalled == false || mcds_flgIsDisplayingHebrewLeapYear == false) && mcds_arrYearInformation[window.document.getElementById("mcds_Hebrew_Year").selectedIndex].isLeapYear == true) {
		var flgLastValue = window.document.getElementById("mcds_Hebrew_Month").options[window.document.getElementById("mcds_Hebrew_Month").selectedIndex].value;
		
		if (flgLastValue == 7) {
			flgLastValue = 6;
		}
		
		mcds_flgIsDisplayingHebrewLeapYear = true;
		window.document.getElementById("mcds_Hebrew_Month").options.length = 0;
		
		for (var i = 0; i < mcds_arrHebrewLeapYearMonths.length; i++) {
			window.document.getElementById("mcds_Hebrew_Month").options[i] = mcds_arrHebrewLeapYearMonths[i];
		}
		
		window.document.getElementById("mcds_Hebrew_Month").selectedIndex = GetOptionByValue(window.document.getElementById("mcds_Hebrew_Month"), flgLastValue).index;
	} else if ((mcds_flgHebrewYearChangedCalled == false || mcds_flgIsDisplayingHebrewLeapYear) && mcds_arrYearInformation[window.document.getElementById("mcds_Hebrew_Year").selectedIndex].isLeapYear == false) {
		flgLastValue = window.document.getElementById("mcds_Hebrew_Month").options[window.document.getElementById("mcds_Hebrew_Month").selectedIndex].value;
		
		if (flgLastValue == 6) {
			flgLastValue = 7;
		}
		
		mcds_flgIsDisplayingHebrewLeapYear = false;
		window.document.getElementById("mcds_Hebrew_Month").options.length = 0;
		
		for (var i = 0; i < mcds_arrHebrewRegularYearMonths.length; i++) {
			window.document.getElementById("mcds_Hebrew_Month").options[i] = mcds_arrHebrewRegularYearMonths[i];
		}
		
		window.document.getElementById("mcds_Hebrew_Month").selectedIndex = GetOptionByValue(window.document.getElementById("mcds_Hebrew_Month"), flgLastValue).index;
	}
	
	mcds_flgHebrewYearChangedCalled = true;
}

function mcds_HebrewMonthChanged() {
	switch (window.document.getElementById("mcds_Hebrew_Month").options[window.document.getElementById("mcds_Hebrew_Month").selectedIndex].value) {
	case "1":
	case "5":
	case "6":
	case "8":
	case "10":
	case "12":
		mcds_DrawDayOptions(window.document.getElementById("mcds_Hebrew_Day"), 30);
		
		break;
	case "4":
	case "7":
	case "9":
	case "11":
	case "13":
		mcds_DrawDayOptions(window.document.getElementById("mcds_Hebrew_Day"), 29);
		
		break;
	case "2":
		if (mcds_arrYearInformation[window.document.getElementById("mcds_Hebrew_Year").selectedIndex].yearType == "Shalem") {
			mcds_DrawDayOptions(window.document.getElementById("mcds_Hebrew_Day"), 30);
		} else {
			mcds_DrawDayOptions(window.document.getElementById("mcds_Hebrew_Day"), 29);
		}
		
		break;
	case "3":
		if (mcds_arrYearInformation[window.document.getElementById("mcds_Hebrew_Year").selectedIndex].yearType == "Haser") {
			mcds_DrawDayOptions(window.document.getElementById("mcds_Hebrew_Day"), 29);
		} else {
			mcds_DrawDayOptions(window.document.getElementById("mcds_Hebrew_Day"), 30);
		}
		
		break;
	}
}

function mcds_GregorianMonthChanged() {
	if (IsValidDate(window.document.getElementById("mcds_Gregorian_Month").value + "/" + "31" + "/" + window.document.getElementById("mcds_Gregorian_Year").value)) {
		mcds_DrawDayOptions(window.document.getElementById("mcds_Gregorian_Day"), 31);
	} else if (IsValidDate(window.document.getElementById("mcds_Gregorian_Month").value + "/" + "30" + "/" + window.document.getElementById("mcds_Gregorian_Year").value)) {
		mcds_DrawDayOptions(window.document.getElementById("mcds_Gregorian_Day"), 30);
	} else if (IsValidDate(window.document.getElementById("mcds_Gregorian_Month").value + "/" + "29" + "/" + window.document.getElementById("mcds_Gregorian_Year").value)) {
		mcds_DrawDayOptions(window.document.getElementById("mcds_Gregorian_Day"), 29);
	} else if (IsValidDate(window.document.getElementById("mcds_Gregorian_Month").value + "/" + "28" + "/" + window.document.getElementById("mcds_Gregorian_Year").value)) {
		mcds_DrawDayOptions(window.document.getElementById("mcds_Gregorian_Day"), 28);
	}
}

function mcds_DrawDayOptions(selectBox, numberOfDays) {
	if (selectBox.options.length != numberOfDays) {
		var numLastIndex = selectBox.selectedIndex;
		
		selectBox.options.length = 0;
		
		for (var i = 1; i <= numberOfDays; i++) {
			selectBox.options[i - 1] = new Option(i, i);
		}
		
		if (numLastIndex > selectBox.options.length - 1) {
			numLastIndex = selectBox.options.length - 1;
		}
		
		selectBox.selectedIndex = numLastIndex;
	}
}

function mcds_ToggleCalendar() {
	if (window.document.getElementById("mcds_CurrentCalendar").value == 'Hebrew') {
		mcds_SelectCalendar("Gregorian");
	} else {
		mcds_SelectCalendar("Hebrew");
	}
}

function mcds_SelectCalendar(valueCalendar) {
	switch (valueCalendar) {
	case "Gregorian":
		ElementHideState(window.document.getElementById("mcds_HebrewCalendar"), true);
		ElementHideState(window.document.getElementById("mcds_GregorianCalendar"), false);
		
		window.document.getElementById("mcds_btnToggleCalendar").value = 'Switch to Hebrew Calendar';
		window.document.getElementById("mcds_CurrentCalendar").value = 'Gregorian';
		
		var dtSelectedDate = HebrewLuniSolarDateToDate(window.document.getElementById("mcds_Hebrew_Year").value, window.document.getElementById("mcds_Hebrew_Month").value, window.document.getElementById("mcds_Hebrew_Day").value, false);
		
		if (dtSelectedDate.getFullYear() > Number(window.document.getElementById("mcds_Gregorian_Year").options[0].value)) {
			alert("Date convertion would result in an unavailable date.\nConvertion not posible.");
		} else {
			window.document.getElementById("mcds_Gregorian_Year").value = dtSelectedDate.getFullYear();
			window.document.getElementById("mcds_Gregorian_Month").value = (dtSelectedDate.getMonth() + 1);
			
			mcds_GregorianMonthChanged();
			
			window.document.getElementById("mcds_Gregorian_Day").value = dtSelectedDate.getDate();
			window.document.getElementById("mcds_Gregorian_DateIsAfterSunset").checked = false;
		}
		
		break;
	case "Hebrew":
	default:
		ElementHideState(window.document.getElementById("mcds_GregorianCalendar"), true);
		ElementHideState(window.document.getElementById("mcds_HebrewCalendar"), false);
		
		window.document.getElementById("mcds_btnToggleCalendar").value = 'Switch to Gregorian Calendar';
		window.document.getElementById("mcds_CurrentCalendar").value = 'Hebrew';
		
		var dtGDate = new Date(window.document.getElementById("mcds_Gregorian_Year").value, (window.document.getElementById("mcds_Gregorian_Month").value - 1), window.document.getElementById("mcds_Gregorian_Day").value);
		var hlsdSelectedDate = DateToHebrewLuniSolarDate(dtGDate, window.document.getElementById("mcds_Gregorian_DateIsAfterSunset").checked);
		
		if (hlsdSelectedDate.year > Number(window.document.getElementById("mcds_Hebrew_Year").options[0].value)) {
			alert("Date convertion would result in an unavailable date.\nConvertion not posible.");
		} else {
			window.document.getElementById("mcds_Hebrew_Year").value = hlsdSelectedDate.year;
			mcds_HebrewYearChanged();
			window.document.getElementById("mcds_Hebrew_Month").value = hlsdSelectedDate.month;
			mcds_HebrewMonthChanged();
			window.document.getElementById("mcds_Hebrew_Day").value = hlsdSelectedDate.day;
		}
	}
}