/* 

DO TO:
 * unicode

*/

var Filter = {
	allowWhiteSpace: false
};

Filter.Alnum = function(value) {
	var pattern = '[^a-zA-Z0-9';
	if (Filter.allowWhiteSpace) pattern += '\s';
	pattern += ']';
	return String(value).replace(new RegExp(pattern, 'g'), '');
}

Filter.Alpha = function(value) {
	var pattern = '[^a-zA-Z';
	if (Filter.allowWhiteSpace) pattern += '\s';
	pattern += ']';
	return String(value).replace(new RegExp(pattern, 'g'), '');
}

Filter.Basename = function(value) {
	return String(value).split('/').last();
}

Filter.Digits = function(value) {
	var pattern = '[^0-9';
	if (Filter.allowWhiteSpace) pattern += '\s';
	pattern += ']';
	return String(value).replace(new RegExp(pattern, 'g'), '');
}

Filter.Dir = function(value) {
	return String(value).split('/').first();
}

Filter.HtmlEntities = function(value) {
	return String(value).escapeHTML();
}

Filter.PregReplace = function(value, pattern, replacement) {
	return String(value).replace(new RegExp(pattern, 'g'), replacement);
}

Filter.RealPath = function(value, pattern, replacement) {
	return String(value).replace(new RegExp(pattern, 'g'), replacement);
}

Filter.StringToLower = function(value) {
	return String(value).toLowerCase();
}

Filter.StringToUpper = function(value) {
	return String(value).toUpperCase();
}

Filter.StringTrim = function(value) {
	return String(value).strip();
}

Filter.StripTags = function(value) {
	return String(value).stripScripts().stripTags();
}