/* 
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
var diagnoserStudent = {}

//diagnoserStudent.showDaisyPage = function(selector, urlString) {
//	$(selector).html("<iframe id='daisyContentIframe' src='"+urlString+"'><p>Your browser does not support iframes.</p></iframe>");
//	// Done dynamically to resize based on content
//	// TODO: Can't resize based on content unless domain is the same for the iframe content and for the parent.
//	$("#daisyContentIframe").load(function(ev) {
//		$("#daisyContentIframe").css("height", "800px");
//	});
//}

var submitStatus = function() {
	var that = {}

	that.valid = function() {
		var errors = [];
		if($("#stateSelect").val() == -1) {
			errors.push("needToSelectState");
		} else {
			if($("#stateSelect").val() != "other" && $("#districtSelect").val() == -1) {
				errors.push("needToSelectDistrict");
			}

			if($("#districtSelect").val() == "0" || $("#stateSelect").val() == "other") {
				if($("#unlistedDistrict").val().length < 4) {
					errors.push("needsUnlistedDistrict");
				}
				if($("#unlistedSchool").val().length < 4) {
					errors.push("needsUnlistedSchool");
				}
			}
		}

		var entryErrors = [];
		if(errors.length == 0) {
			entryErrors = diagnoser.validateTeacherSettings(true)
		}
		// returns list of error ids?
		return errors.concat(entryErrors);
	}
	return that;
} 


$(function() {
	// first hide everything but stateSelect
	$("#stateSelect").val("-1");
	$("#districtSelectArea").hide();
	$("#districtSelect").val("-1");
	$("#unlistedArea").hide();
	$("#schoolSelectArea").hide();
	//$("#registrationErrorArea li").hide();

	$("#stateSelect").bind("change", function(ev) {
		var selectedId = $("#stateSelect option:selected").val();
		if(selectedId == "WA") {
			$("#unlistedArea").hide();
			$("#schoolSelectArea").hide();
			$("#districtSelect").val("-1");
			$("#districtSelectArea").show();
		} else if(selectedId == "other") {
			$("#districtSelectArea").hide();
			$("#schoolSelectArea").hide();
			$("#unlistedArea").show();
		} else {
			$("#districtSelectArea").hide();
			$("#schoolSelectArea").hide();
			$("#unlistedArea").hide();
		}
	});

	$("#districtSelectArea").bind("change", function(ev) {
		var districtId = $("#districtSelectArea option:selected").val();
		if(districtId == -1) {
			$("#schoolSelectArea").hide();
			$("#unlistedArea").hide();
		} else if(districtId == 0) {
			$("#schoolSelectArea").hide();
			$("#unlistedArea").show();
		} else {
			$("#unlistedArea").hide();
			$("#schoolSelectArea").show();
			$(".schoolSelect").hide();
			$("#schoolSelect-"+districtId).show();
		} 
	})
	
	$("#registrationSubmit input").click(function(ev) {
		$(".errorArea li").hide();
		
		var statusTester = submitStatus();
		var status = statusTester.valid();	
	
		ev.preventDefault();
		if(status.length == 0) {
			this.form.submit();
		} else {
			// show errors and don't submit
			for(var i = 0; i < status.length; i += 1) {
				$("#"+status[i]).show();
			}
		}
	})

	$("#forgotPasswordSubmit").click(function(ev) {
		var address = $("input[name='emailAddress']").val()
		ev.preventDefault();
		if(address.indexOf("@") == -1) {
			$("#badEmailAddress").show();
		} else {
			$("#badEmailAddress").hide();
			this.form.submit();
		}
	})

	$("#badEmailAddress").hide();
	diagnoser.limitTeacherSettingEntries();
	diagnoser.limitSettingEntry("unlistedDistrictArea", 40)
	diagnoser.limitSettingEntry("unlistedSchoolArea", 40)
	$("input[name='username']").focus();
});

