function _validateNotEmpty(field){
	if(field.value == null || field.value == ""){
		field.focus();
		return false;
	} else {
		return true;
	}
}

function _validateNumber(field){
	if(isNaN(field.value)){
		field.focus();
		return false;
	} else {
		return true;
	}
}

function _validateInteger(field){
	var integer = parseInt(field.value);
	var trimmed = field.value.trim();
	if(integer != trimmed){
		field.focus();
		return false;
	} else {
		return true;
	}
}

function _validateRegex(field, regex){
	if(!field.value.matches(regex)){
		field.focus();
		return false;
	} else {
		return true;
	}
}

function _validateNumberBetween(field, min, max){
	if(!_validateNumber(field)){
		field.focus();
		return false;
	}

	val = parseFloat(field.value);
	if(min != null && val < parseFloat(min)){
		field.focus();
		return false;
	} else if(max != null && val > parseFloat(max)){
		field.focus();
		return false;
	} else {
		return true;
	}
}

function _validateIntegerBetween(field, min, max){
	if(!_validateInteger(field)){
		field.focus();
		return false;
	}

	val = parseInt(field.value);
	if(min != null && val < parseInt(min)){
		field.focus();
		return false;
	} else if(max != null && val > parseInt(max)){
		field.focus();
		return false;
	} else {
		return true;
	}
}

function _validateStringLength(field, minLength, maxLength){
	var val = "" + field.value;

	if(val.length < minLength || val.length > maxLength){
		field.focus();
		return false;
	} else {
		return true;
	}
}

function _validateEmail(field){
	if( field.value.search(/^\w+((-\w+)|(\.\w+))*\@[A-Za-z0-9]+((\.|-)[A-Za-z0-9]+)*\.[A-Za-z0-9]+$/) == -1 ){
		field.focus();
		return false;
	} else {
		return true;
	}
}

function _validateTinyMCENotEmpty(fieldName){
	if( tinyMCE.getContent(fieldName).length== "" ){
		tinyMCE.execCommand('mceFocus', false, fieldName);
		return false;
	} else {
		return true;
	}
}

