/* 
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */


diagnoser.limitSettingEntry = function(id, lengthLimit){
	$("#"+id+" input").bind("keypress", function(ev) {
		if($(ev.target).val().length >= lengthLimit && ev.which != 8 && ev.which != 46) {
			ev.preventDefault();
			ev.stopImmediatePropagation();
			ev.stopPropagation();
			return false;
		}
	})
}

diagnoser.validateTeacherSettings = function(isRegistration) {
	var errors = [];
	var isEntered = function(selector) {
		return $(selector).val() != 0
	}
	var pushEntryError = function(id, errorName) {
		if(!isEntered("#"+id+" input")) {
			errors.push(errorName)
		}
	}
	if(isRegistration) {
		pushEntryError("usernameSetting", "needsUsername")
	}
	pushEntryError("firstNameSetting","needsFirstName")
	pushEntryError("lastNameSetting", "needsLastName")
	pushEntryError("emailSetting", "needsEmail")
	pushEntryError("phoneSetting", "needsPhoneNumber")

	var password = $("#passwordSetting input").val();
	if((isRegistration || isEntered("#passwordSetting input")) && password.length < 4) {
		errors.push("needsLongerPassword")
	}

	if($("#passwordSetting input").val() != $("#passwordConfirmSetting input").val()) {
		errors.push("passwordConfirmNoMatch")
	}

	if($("#emailSetting input").val() != $("#confirmEmailSetting input").val()) {
		errors.push("emailConfirmNoMatch")
	}
	// returns list of error ids?
	return errors;
}

diagnoser.limitTeacherSettingEntries = function() {
	diagnoser.limitSettingEntry("usernameSetting", 25)
	diagnoser.limitSettingEntry("passwordSetting", 20)
	diagnoser.limitSettingEntry("passwordConfirmSetting", 20)
	diagnoser.limitSettingEntry("firstNameSetting", 25)
	diagnoser.limitSettingEntry("lastNameSetting", 25)
	diagnoser.limitSettingEntry("emailSetting", 40)
	diagnoser.limitSettingEntry("confirmEmailSetting", 40)
	diagnoser.limitSettingEntry("phoneSetting", 15)
	diagnoser.limitSettingEntry("extensionSetting", 10)
}
