	/**
	 * code by jason at 2009.11.17
	 * 重写input的maxlength及增加textarea的maxlength
	 * maxlength属性为中文１字符, j_maxlength属性中文所占字符随字符集jason_char
	 * @jason_char 字符集gbk(占2个字符),utf8(占3个字符)
	 */
	 
	var jason_oldValue=new Array(); 
	var jason_charLen = 1;
	
	//校验字符串长度
	function jason_strlen(str,length) {
		var len = 0;
		for (var i = 0; i < str.length; i++) {
			if (str.charCodeAt(i) > 255) len += jason_charLen; else len ++;
		}
		if(len<length){
			return 1;		//字符小于指定长度(合法)
		}else if(len==length){
			return 0;		//长度相等
		}else{
			return -1;		//字符大于指定长度(非法)
		}
	}
	
	function jason_substr(str,length){
		var len = 0;
		var val = '';
		for (var i = 0; i < str.length; i++) {
			if(length<jason_charLen && str.charCodeAt(i) > 255) break;
			if (str.charCodeAt(i) > 255) length -= jason_charLen; else length--;
			len++;
			if(length<=0) break;
		}
		
		val = str.substr(0,len);
		return val;
	};
	
	//超出长度禁止输入
	function jason_checkLength(id,length){
		if(navigator.userAgent.indexOf("MSIE")>0){
			document.getElementById(id).attachEvent("onpropertychange",txChange);
		}else if(navigator.userAgent.indexOf("Firefox")>0){
	    	document.getElementById(id).addEventListener("input",txChange,false);
		}
		function txChange(){
			checkMaxLen(document.getElementById(id),length,0);
		}
		function checkMaxLen(obj,maxlength,num){
			if(jason_strlen(obj.value,maxlength)<0){
				//初始粘贴超出范围
				if(jason_oldValue[num]>0){
		    		obj.value=jason_oldValue[num];
				}else{
					obj.value=jason_substr(obj.value,length);
				}
			}else{
		    	jason_oldValue[num]=obj.value;
			}
		}
	}

	function jason_maxlength(formID){
		//$("#"+formID+" textarea[maxlength],#"+formID+" input[maxlength]").each(function(){
		$("#"+formID+" textarea[maxlength]").each(function(){
			var str = $(this).attr('value');
			var len = $(this).attr('maxlength');
			//默认值超出范围
			if(jason_strlen(str,len)<=0) {
				jason_oldValue[0]=jason_substr(str,len);
				$(this).attr('value',jason_substr(str,len));
			}
			if(len>0 && len!='2147483647')
				jason_checkLength($(this).attr('id'),len);
		});
	}

	$(document).ready(function(){
		//多个form时提交验证
		$("form").each(function(){
			jason_maxlength($(this).attr("id"));
		})
	});
