// JavaScript Document

function validateDate (element) {
	var error = eval('document.getElementById("' + element.name + '_error_msg")');
	var error_field = eval('document.getElementById("' + element.name + '_field_error")');
	var submit = document.getElementsByName('submit');
	var cur_date = new Date();
	
	month = eval('document.getElementById("' + element.name + '_month")');
	year = eval('document.getElementById("' + element.name + '_year")');
	date_val = eval('document.getElementById("' + element.name + '_value")');
	
	date_val.value = year.value + "-";
	date_val.value += (month.value < 10) ? "0" : "";
	date_val.value += month.value;
	date_val.value += "-01";
	
	var is_error = false;
	var error_msg = "";

	if (year.value < 1900) {
		is_error = true;
		error_msg = "Invalid date!";
		year.parentElement.style.background = "#9B1B1B";
	}

	if (month.value == "") {
		is_error = true;
		error_msg = "Both date fields are required!";
		month.parentElement.style.background = "#9B1B1B";
	}

	if (year.value == "") {
		is_error = true;
		error_msg = "Both date fields are required!";
		year.parentElement.style.background = "#9B1B1B";
	}

	if (month.value > cur_date.getMonth() + 1 && year.value == cur_date.getFullYear()) {
		is_error = true;
		error_msg = "Cannot be a future date!";
		month.parentElement.style.background = "#9B1B1B";
		year.parentElement.style.background = "#9B1B1B";
	}
	
	if (year.value > cur_date.getFullYear()) {
		is_error = true;
		error_msg = "Cannot be a future date!";
		month.parentElement.style.background = "#9B1B1B";
		year.parentElement.style.background = "#9B1B1B";
	}

	if (is_error) {
		error.innerHTML = error_msg;
				
		submit[0].style.borderColor = "#000000";
		submit[0].style.color = "#9B1B1B";
		submit[0].style.fontWeight = "bold";
			
		error_field.value = "Y";
	} else {	
		error.innerHTML = "";
		month.parentElement.style.background = "#FFFFFF";
		year.parentElement.style.background = "#FFFFFF";
		
		var page_error_fields = document.getElementsByName('field_error');		
		var page_error = false;
		
		error_field.value = "N";
		
		for (var i = 0; i < page_error_fields.length; i ++) {
			if (page_error_fields[i].value == "Y") {
				page_error = true;
			}
		}
		
		if (!page_error) {
			var page_error_msg = document.getElementById('error_msg');
		
			page_error_msg.innerHTML = "";
		
			submit[0].style.borderColor = "#F99D1C";
			submit[0].style.color = "#000000";
			submit[0].style.fontWeight = "normal";
		}
	}

}
