// JavaScript Document
// ------------------------------------------------------------------------------------------
//
// List of functions used when manipulating and handling form material.
//
// ------------------------------------------------------------------------------------------

// Variable declarations that will be used to generate and manipulate the date components
// for our submit form.  Script will prepopulate form with current date and auto adjust 
// dates based on selected month value.

// Month names and number of days arrays:
var monthNameArray = ['','January','February','March','April',
					  'May','June','July','August','September',
					  'October','November','December'];
var monthDaysArray = [0,31,28,31,30,31,30,31,31,30,31,30,31];

// Validate form inputs:
function validateForm(form) {
	var errNum = 0;
	for (var i = 0; i < form.elements.length; i++) {
		if(form.elements[i].value == "") {
			errNum++;
			var imageName = form.elements[i].name + "Req";
			//document[imageName].src = "../images/required.gif";
			//alert ("Fill out all fields!");
			return false;
		}
	}
	return true;
}

// Function used to confirm the submittal of a form:
function confirmSubmit() {
	var agree=confirm("Are you sure you wish to continue?");
	if (agree)
		return true ;
	else
		return false ;
}

// Function used to confirm the deletion of a database record before the submitting of a form:
function confirmDelete() {
	var agree=confirm("This will permanently delete the record. Are you sure you want to continue?");
	if (agree)
		return true ;
	else
		return false ;
}

// Prepopulate date objects with current month, date, and year:
function populateDateObjectNow(form) {
	var temp = 0;
	var today = new Date();
	var dayNum = today.getDate();
	var monthNum = today.getMonth() + 1;
	var yearNum = today.getFullYear() - 1;
	var numYears = 4;
	
	// Call function to build the "day" select in form:
	generateMonthDates(monthNum,form);
	
	// Select current date:
	for (var i = 0; i <= monthDaysArray[monthNum]; i++) {
		var d = 0;
		d = document[form].day.options[i].value;
		if(d == dayNum) {
			document[form].day.options[i].selected = true;
			break;
		}
	}
	
	// Generate years based on the yearNum and select current:
	for (var i = 0, j = yearNum; i < numYears; i++, j++) {
		var y = String(j);
		document[form].year.options[i] = new Option(y,y);
		if (y == (yearNum + 1)) {
			document[form].year.options[i].selected = true;
		}
	}
	
	// Select current month:
	for (var i = 1; i < 13; i++) {
		if(i == monthNum-1) {
			document[form].month.options[i].selected = true;
			break;
		}
	}
}

// Populate date object based on passed date values:
function populateDateObject(form) {
	var temp = 0;
	var numYears = 4;
	
	// Call function to build the "day" select in form:
	generateMonthDates(monthNum,form);
	
	// Select current date:
	for (var i = 0; i <= monthDaysArray[monthNum]; i++) {
		var d = 0;
		d = document[form].day.options[i].value;
		if(d == dayNum) {
			document[form].day.options[i].selected = true;
			break;
		}
	}
	
	// Generate years based on the yearNum and select current:
	for (var i = 0, j = yearNum; i < numYears; i++, j++) {
		var y = String(j);
		document[form].year.options[i] = new Option(y,y);
		if (y == yearNum) {
			document[form].year.options[i].selected = true;
		}
	}
	
	// Select current month:
	for (var i = 1; i < 13; i++) {
		if(i == monthNum-1) {
			document[form].month.options[i].selected = true;
			break;
		}
	}
}
	
function generateMonthDates(month,form) {
	// Empty the day options first:
	while (document[form].day.options.length){
		document[form].day.options.remove(0);
	}
	// Build day section based on number of days for selected month:
	for (var i = 0; i < monthDaysArray[month]; i++) {
		var x = String(i+1);
		document[form].day.options[i] = new Option(x,x);
	}
}

// Looks for any carriage returns in our form fields and replaces them with breaks (<br />)
// in order to maintain formatting and syntax
function ConvertBR(input) {
	// Converts carriage returns to <br /> for display in HTML
	var output = "";
	for (var i = 0; i < input.length; i++) {
		if ((input.charCodeAt(i) == 13) && (input.charCodeAt(i + 1) == 10)) {
			i++;
			output += "<br />";
		} else {
			output += input.charAt(i);
   		}
	}
	return output;
}
//-->