/* Javascript functions for the welcome page */

$(function() {
	$("#signupPassword").chromaHash({bars: 4, salt:"937f8d12b7ceeed1df221f81da3ab600", minimum:8});
	$("#confirmPassword").chromaHash({bars: 4, salt:"937f8d12b7ceeed1df221f81da3ab600", minimum:8});
	
	$("#email").focus(function() {
		$("#emailNote").fadeIn();
	});
	$("#email").blur(function() {
		$("#emailNote").fadeOut();
	});
	
	$("#signupPassword").focus(function() {
		$("#passwordNote").fadeIn();
	});
	$("#signupPassword").blur(function() {
		$("#passwordNote").fadeOut();
	});
	
	function updateValidBirthdays() {
		var selected = $('#birthDay').selectedValues();
		var currentNumDays = $('#birthDay').children("option").length - 1;
		var numDays = getNumDays(parseInt($('#birthMonth').selectedValues()), parseInt($('#birthYear').selectedValues()));
		
		if(currentNumDays != numDays) {
			if(currentNumDays > numDays) {
				for(var i = currentNumDays; i > numDays; i--) {
					$('#birthDay').removeOption(i);
				}
			}
			if(currentNumDays < numDays) {
				for(var i = currentNumDays; i <= numDays; i++) {
					$('#birthDay').addOption(i,i);
				}
			}
		}
		if($('#birthDay').containsOption("" + selected)) {
			$('#birthDay').selectOptions("" + selected, true);
		}
		else {
			$('#birthDay').selectOptions("" + numDays, true);
		}
	}
	
	function getNumDays(month, year) {
		var monthDays = [31,28,31,30,31,30,31,31,30,31,30,31];
		var numDays = monthDays[month-1];

		numDays += (month == 2 && (year === "" || ( ( year % 4 === 0 ) && ( year % 100 !== 0 ) ) || ( year % 400 === 0)));
		
		return numDays;
	}
	
	$('#birthMonth').change(function() {
		updateValidBirthdays();
	});
	$('#birthYear').change(function() {
		updateValidBirthdays();
	});
});
