﻿var dDate = new Date();
var dCurMonth = dDate.getMonth();
var dCurDayOfMonth = dDate.getDate();
var dCurYear = dDate.getFullYear();

// make select month
function makeSelMonth() {
    var objTDSelMonth = document.getElementById("IDselMonth");
    var arSelMonth = new Array("Janeiro", "Fevereiro", "Mar&ccedil;o", "Abril", "Maio", "Junho", "Julho", "Agosto", "Setembro", "Outubro", "Novembro", "Dezembro");
    var strSelMonth = '<select name="selMonth" onchange="fUpdateCal(document.dsc_form3.hid_year.value, document.dsc_form3.selMonth.value); sendForm(3, '+"'"+'index.php'+"'"+');">';
    for (var i = 0; i < dCurMonth + 1; i++) {
        strSelMonth += '<option value='+ (i+1) +'>'+arSelMonth[i]+'</option>';
    }
    strSelMonth += "</select>";
    objTDSelMonth.innerHTML = strSelMonth;
}

function resetCelColor() {
    // reset color
    var objSelMonth = document.dsc_form3.selMonth.value;
    var objTD = document.getElementsByTagName("td");
    if (objSelMonth == dCurMonth + 1) {
        for (var i = 0; i < objTD.length; i++) {
            if (objTD[i].id.indexOf("calCell") != -1 && objTD[i].id.indexOf("undefined") == -1) {
                var day = objTD[i].id.substring(7);
                if (dCurDayOfMonth >= day) {
                    objTD[i].bgColor = "#fffaff";
                } else {
                    objTD[i].bgColor = "#cccccc";
                }
            }
        }
    } else {
        for (var i = 0; i < objTD.length; i++) {
            if (objTD[i].id.indexOf("calCell") != -1 && objTD[i].id.indexOf("undefined") == -1) {
                objTD[i].bgColor = "#fffaff";
            }
        }
    }
}

function fSetSelectedDay(myElement, selDay) {
	// make disable input weight on register date
	var regDate = document.getElementById("ID_reg_year").value + "-" +
				  putZeros(document.getElementById("ID_reg_month").value, 2) + "-" +
				  putZeros(document.getElementById("ID_reg_day").value, 2);
	var selDate = document.dsc_form3.hid_year.value + "-" +
				  putZeros(document.dsc_form3.selMonth.options[document.dsc_form3.selMonth.selectedIndex].value, 2) + "-" +
				  putZeros(selDay, 2);
	makeVisibleInputWeight(selDate, regDate);
    // Selected Month
    var objSelMonth = document.dsc_form3.selMonth.value;
	if (objSelMonth == dCurMonth + 1) {
		if (dCurDayOfMonth >= selDay) {
			resetCelColor();
			if (myElement.id.indexOf("calCell") != -1 && myElement.id.indexOf("undefined") == -1) {
				if (!isNaN(myElement.id.indexOf("calDateText") != -1)) {
					// Show Date in Weight field
					var objFormCal = document.dsc_form3;
					var objIDselDate = document.getElementById("IDselDate");
					objIDselDate.innerHTML = "<strong>Data Selecionada<br>(dia " + selDay + " de " + objFormCal.selMonth.options[objSelMonth - 1].innerHTML + " de " + objFormCal.hid_year.value + ")</strong>";
					document.dsc_form3.hid_day.value = selDay;
					myElement.bgColor = "#FFCC99";
					document.dsc_form3.calSelectedDate.value = parseInt(selDay);
				}
			}
		} else {
			return false;
		}
	} else {
		resetCelColor();
		if (myElement.id.indexOf("calCell") != -1 && myElement.id.indexOf("undefined") == -1) {
			if (!isNaN(myElement.id.indexOf("calDateText") != -1)) {
				// Show Date in Weight field
				var objFormCal = document.dsc_form3;
				var objIDselDate = document.getElementById("IDselDate");
				objIDselDate.innerHTML = "<strong>Data Selecionada<br>(dia " + selDay + " de " + objFormCal.selMonth.options[objSelMonth - 1].innerHTML + " de " + objFormCal.hid_year.value + ")</strong>";
				document.dsc_form3.hid_day.value = selDay;
				myElement.bgColor = "#FFCC99";
				document.dsc_form3.calSelectedDate.value = parseInt(selDay);
			}
		} else {
			return false;
		}
	}
}

function fGetDaysInMonth(iMonth, iYear) {
    var dPrevDate = new Date(iYear, iMonth, 0);
    return dPrevDate.getDate();
}

function overSetColor(myElement) {
	if (myElement.id.indexOf("calCell") != -1 && myElement.id.indexOf("undefined") == -1) {
		if (!isNaN(myElement.id.indexOf("calDateText") != -1) && myElement.bgColor == '#fffaff') {
			myElement.bgColor = "#ffffcc";
		}
	}
}

function outSetColor(myElement) {
	if (myElement.id.indexOf("calCell") != -1 && myElement.id.indexOf("undefined") == -1) {
		if (!isNaN(myElement.id.indexOf("calDateText") != -1) && myElement.bgColor == '#ffffcc') {
			myElement.bgColor = "#fffaff";
		}
	}
}

function fBuildCal(iYear, iMonth, iDayStyle) {
    var aMonth = new Array();
    aMonth[0] = new Array(7);
    aMonth[1] = new Array(7);
    aMonth[2] = new Array(7);
    aMonth[3] = new Array(7);
    aMonth[4] = new Array(7);
    aMonth[5] = new Array(7);
    aMonth[6] = new Array(7);
    var dCalDate = new Date(iYear, iMonth-1, 1);
    var iDayOfFirst = dCalDate.getDay();
    var iDaysInMonth = fGetDaysInMonth(iMonth, iYear);
    var iVarDate = 1;
    var i, d, w;
    if (iDayStyle == 2) {
        aMonth[0][0] = "Domingo";
        aMonth[0][1] = "Segunda";
        aMonth[0][2] = "Ter&ccedil;a";
        aMonth[0][3] = "Quarta";
        aMonth[0][4] = "Quinta";
        aMonth[0][5] = "Sexta";
        aMonth[0][6] = "S&aacute;bado";
    } else if (iDayStyle == 1) {
        aMonth[0][0] = "Dom";
        aMonth[0][1] = "Seg";
        aMonth[0][2] = "Ter";
        aMonth[0][3] = "Qua";
        aMonth[0][4] = "Qui";
        aMonth[0][5] = "Sex";
        aMonth[0][6] = "Sab";
    } else {
        aMonth[0][0] = "Do";
        aMonth[0][1] = "Se";
        aMonth[0][2] = "Te";
        aMonth[0][3] = "Qa";
        aMonth[0][4] = "Qi";
        aMonth[0][5] = "Se";
        aMonth[0][6] = "Sa";
    }
    for (d = iDayOfFirst; d < 7; d++) {
        aMonth[1][d] = iVarDate;
        iVarDate++;
    }
    for (w = 2; w < 7; w++) {
        for (d = 0; d < 7; d++) {
            if (iVarDate <= iDaysInMonth) {
                aMonth[w][d] = iVarDate;
                iVarDate++;
            }
        }
    }
    return aMonth;
}

function fDrawCal(iYear, iMonth, iCellWidth, iCellHeight, sDateTextSize, sDateTextWeight, iDayStyle) {
    // Hold Actual Month
    document.dsc_form3.selMonth.value = iMonth;
    var dCurDate = new Date();
    var myMonth;
    myMonth = fBuildCal(iYear, iMonth, iDayStyle);
    document.write("<table>")
    document.write("<tr>");
    document.write("<td align='center' style='font-weight: bold; background-color: #FFCC99;' class='txtGrphCal'>" + myMonth[0][0] + "</td>");
    document.write("<td align='center' style='font-weight: bold; background-color: #FFCC99;' class='txtGrphCal'>" + myMonth[0][1] + "</td>");
    document.write("<td align='center' style='font-weight: bold; background-color: #FFCC99;' class='txtGrphCal'>" + myMonth[0][2] + "</td>");
    document.write("<td align='center' style='font-weight: bold; background-color: #FFCC99;' class='txtGrphCal'>" + myMonth[0][3] + "</td>");
    document.write("<td align='center' style='font-weight: bold; background-color: #FFCC99;' class='txtGrphCal'>" + myMonth[0][4] + "</td>");
    document.write("<td align='center' style='font-weight: bold; background-color: #FFCC99;' class='txtGrphCal'>" + myMonth[0][5] + "</td>");
    document.write("<td align='center' style='font-weight: bold; background-color: #FFCC99;' class='txtGrphCal'>" + myMonth[0][6] + "</td>");
    document.write("</tr>");
    for (w = 1; w < 7; w++) {
        document.write("<tr>")
        for (d = 0; d < 7; d++) {
            document.write('<td align="left" valign="top" width="' + iCellWidth + '" height="' + iCellHeight + '" id="calCell' + myMonth[w][d] + '" style="cursor:hand; cursor:pointer; border:1px; border-color:#FFCC99; border-style:solid;" onclick="fSetSelectedDay(this,'+myMonth[w][d]+');" onmouseover="overSetColor(this);" onmouseout="outSetColor(this);">');
            if (!isNaN(myMonth[w][d])) {
                document.write('<font id="calDateText' + w + d + '" style="cursor:hand; cursor:pointer;" class="txtGrphCal" onclick="fSetSelectedDay(this,'+myMonth[w][d]+');">' + myMonth[w][d] + '</font>');
            } else {
                document.write('<font id="calDateText' + w + d + '" style="cursor:hand; cursor:pointer;" class="txtGrphCal" onclick="fSetSelectedDay(this,'+myMonth[w][d]+');">&nbsp;</font>');
			}
            document.write("</td>")
        }
        document.write("</tr>");
    }
    document.write("</table>");
    
    resetCelColor();
}

function fUpdateCal(iYear, iMonth) {
    resetCelColor();
    myMonth = fBuildCal(iYear, iMonth);
    document.dsc_form3.calSelectedDate.value = "";
    for (var w = 1; w < 7; w++) {
        for (var d = 0; d < 7; d++) {
            if (!isNaN(myMonth[w][d])) {
				if (document.all){
					document.getElementById("calDateText" + w + d).innerText = myMonth[w][d];
				} else {
					document.getElementById("calDateText" + w + d).textContent = myMonth[w][d];
				}
			} else {
				if (document.all){
					document.getElementById("calDateText" + w + d).innerText = " ";
				} else {
					document.getElementById("calDateText" + w + d).textContent =  " ";
				}
            }
        }
    }
}
