function checkLength(msgfield,field,fieldlabel,min,max) {
	if ( field.val().length > max || field.val().length < min ) {
		field.addClass('ui-state-error');
		var max_text;
		if (max > 5000) {
			max_text = 'Length of ' + fieldlabel + ' must be equal to or greater than '+min+'.';
		} else {
			max_text = 'Length of ' + fieldlabel + ' must be between '+min+' and '+max+'.';
		}
		updateTips(msgfield,max_text);
		return false;
	} else {
		return true;
	}
}

function updateTips(msgfield,message) {
	msgfield.text(message).effect('highlight',{},1500);
}

function clearTips(msgfield) {
	msgfield.text('');
}

function echeck(msgfield,field,fieldlabel) {
	var result = false
	var theStr = new String(field.val())
	var index = theStr.indexOf("@");
	if (index > 0) {
		var pindex = theStr.indexOf(".",index);
		if ((pindex > index+1) && (theStr.length > pindex+1))
			result = true;
	}
	if (!result) {
		field.addClass('ui-state-error');
		updateTips(msgfield,fieldlabel + ' must be a valid email address');
	}
	return result;
}

function validateCaptcha(msgfield,field,fieldlabel) {
	var result=false;
	$.ajax({ 
		type: 'post', 
		async: false,
		url: 'ajaxCheckCaptcha.php', 
		data: 'code=' + field.val(),
	   	success: function(responseText) {
			if (responseText == 'SUCCESS') {
				result = true;
			} else {
				field.addClass('ui-state-error');
				updateTips(msgfield,fieldlabel + ' does not match.');
				result = false;
			}
	   	} 
	});
	return result;
}

function checkMatch(msgfield,field,confirmfield,fieldlabel) {
	if (field.val() != confirmfield.val()) {
		confirmfield.addClass('ui-state-error');
		updateTips(msgfield,fieldlabel + ' do not match.');
		result = false;
	} else {
		return true;
	}
}

function checkUsername(msgfield,field,fieldlabel) {
	var result=false;
	$.ajax({ 
		type: 'post', 
		async: false,
		url: 'ajaxCheckUsername.php', 
		data: 'username=' + field.val(),
	   	success: function(responseText) {
			if (responseText == 0) {
				result = true;
			} else {
				field.addClass('ui-state-error');
				updateTips(msgfield,fieldlabel + ' already exists.  Please try something else.');
				result = false;
			}
	   	} 
	});
	return result;
}

function checkSchoolEmail(msgfield,field,school_suffix_array,fieldlabel) {
	arrEmailParts = field.val().split('@');
	for (var i=0; i < school_suffix_array.length; i++) {
		if(school_suffix_array[i] == arrEmailParts[1]) {
			return true;
		}
	}
	field.addClass('ui-state-error');
	var msgString='';
	for (var i=0; i < school_suffix_array.length; i++) {
		msgString = msgString + school_suffix_array[i] + ',';
	}
	msgString = msgString.substring(0,msgString.length - 1);
	updateTips(msgfield,fieldlabel + ' needs to end in ' + msgString);
	return false;
}

function mkhash( ) {
  var ret = new Object( );
  for (var i = 0; i < arguments.length; ++i ) {
    ret[arguments[i][0]] = arguments[i][1];
  }
  return ret;
}
