String.prototype.utfLength = function(){
	var len = 0;
	for (var i=0; i<this.length; i++)
		len += 2;//Use 2 bytes for all character
	return len;  
};

var utfMaxLengthValidator=function( value, element, param ){
	return value.utfLength() <= (param*2);
};

var utfMinLengthValidator=function( value, element, param ){
	return value.utfLength() >= (param*2);
};

var validDate=function( value, element, param ){
	value=value.trim();
	if(value.length > 0)
		return Date.parseExact(value, 'yyyy-MM-dd')!=null;
	return true;
};

var denyScript=function( value, element, param ){
	value=value.trim();
	if(value.length > 0)
		return value.indexOf('<script') < 0;
	return true;
};
		
		
jQuery.validator.addMethod("denyScript", denyScript, "不能使用 SCRIPT");
jQuery.validator.addMethod("validDate", validDate, "必需為正確日期格式 yyyy-MM-dd");
jQuery.validator.addMethod("maxUtfLength", utfMaxLengthValidator, jQuery.format("請輸入長度不大於{0} 的字串"));
jQuery.validator.addMethod("minUtfLength", utfMinLengthValidator, jQuery.format("請輸入長度不小於{0} 的字串"));
