function trim(obj_value){
	var reg_ex = /^\s+/;
	obj_value = obj_value.replace(reg_ex, '');
	var reg_ex = /\s+$/;
	obj_value = obj_value.replace(reg_ex, '');
	return obj_value;
}

function empty_obj(obj) {
	if (obj && obj.value == '') {
		return true;
	}
	return false;
}

/* check numeric */
function check_numeric(obj) {
	if (empty_obj(obj) || /^[0-9]{1,}$/.test(obj.value)) { 
		return true; 
	}
	return false;
}

/* check if value is integer */
function check_int(obj) {
	if (empty_obj(obj) || /^-?[0-9]{1,}$/.test(obj.value)) { 
		return true; 
	}
	return false;
}

/* check if a value is float */
function check_float(obj) {
	if (empty_obj(obj) || /^(\-?)\d+(\.\d+)?$/.test(obj.value)) { 
		return true; 
	}
	return false;
}

/* check if a value is a valid string */
function check_string(obj) {
	return true;
}
	
/* check if value is a valid email*/
function check_email(obj) {
	if (empty_obj(obj)) { 
		return true; 
	}
	if (obj.value.length > 255) { 
		return false;
	}
	if (/^[a-zA-Z0-9\.\_\-]+@[a-zA-Z0-9\.\-]+\.[a-zA-Z]{2,7}$/.test(trim(obj.value))) { 
		return true; 
	}
	return false;
}

	

/* check if a value is a valid phone number */
function check_phone(obj) {
	if (empty_obj(obj) || /^(\+?)([0-9\.\-\ ]{1,4})?(\([0-9]{1,4}\)\ ?)?(\*?)\(?([0-9\ \.\-]{3,35})\)?$/.test(obj.value)) { 
		return true; 
	}
	return false;
}


/* check is value is zip */
function check_zip(obj) {
	if (empty_obj(obj)) { 
		return true; 
	}
	var filter  = /^[0-9a-z\ \-]{1,255}$/i;
	if (filter.test(obj.value)) {
		return true;
	}
	return false;
} 


/* check if value is alpha */
function check_alpha(obj) {
	if (empty_obj(obj)) { 
		return true; 
	}
	var filter  = /^([a-z]*)+$/i;
	if (filter.test(obj.value)) {
		return true;
	}
	return false;
}

/* check if value is alpha numeric */
function check_alfanum(obj) {

	if (empty_obj(obj)) { 
		return true; 
	}
	var filter  = /^([a-z0-9]*)+$/i;
	if (filter.test(obj.value)) {
		return true;
	}
	return false;
}


/* check username */
function check_username(obj) {
	if (empty_obj(obj)) { return true; }
	if (/^([a-zA-Z0-9\_\.\-\@\-])+$/i.test(obj.value) && obj.value.length >= 1 && obj.value.length < 63) { 
		return true; 
	}
	return false;
}

/* check password */
function check_password(obj) {
	if (empty_obj(obj)) { 
		return true; 
	}
  	if (/^([a-z0-9\\\!@#$%\^&\*\(\)\_\+\=\{\}\~\`;:\'\"\|,\.\?\/-]|\]|\[)*$/i.test(obj.value) && !/((.)\\2{2,}.*(.)\\3{2,}(.)\\4+(.)\\5+|(.{3,})\\6+)/.test(obj.value) && obj.value.length > 4 && obj.value.length < 255) { 
  		return true; 
  	}
	return false;
}