// CopyRight 2011 
// By : Chutinai Boosarakham
// E-mail : check_cs@hotmail.com
// URL : www.web-sbuy.com
(function($){
	$.fn.inputData = function(options) {
		var defaults = {	
			 op : 0,	
			 bind : '',
			 str0 : '_',
			 str1 : '0123456789',	
			 str2 : '๐๑๒๓๔๕๖๗๘๙',	
			 str3 : 'abcdefghijklmnopqrstuvwxyz',		
			 str4 : 'ABCDEFGHIJKLMNOPQRSTUVWXYZ',	
			 str5 : 'กขฃคฅฆงจฉชซฌญฎฏฐฑฒณดตถทธนบปผฝพฟภมยรลวศษสหฬอฮ',
			 str6 : '   ั   ิ   ี   ึ   ื  ุ   ู  ็  ่  ้   ๊  ๋  ์ เ แ โ ใ ไ ะ า ำ ฯ ๆ ฤ ฦ',
			 str7 : '/-.()',
			 str8 : '@.-_',
			 str9 : '-',
			 str10 : '()',		
			 str11 : ' ',	
			 str12 : '.,',	
			after : function(){},			
			before : function(){}			 
		};

		var o = $.extend({}, defaults, options);
		
		function characters(str,op){
				if (str.length>1){ return false; }
				var string = '';
				switch( parseInt(op,10) ){
					case 1 :   string = ''+o.str1; break; // 0-9 ตัวเลขอารบิก
					case 2 :   string = ''+o.str2; break; // ๐-๙ ตัวเลขไทย
					case 3 :   string = ''+o.str3; break; // a-z
					case 4 :   string = ''+o.str4; break; // A-Z
					case 5 :   string = ''+o.str5; break; // ก-ฮ
					case 6 :   string = ''+o.str0+o.str3; break; // string a-z,(_)	
					case 7 :   string = ''+o.str0+o.str4; break; // string A-Z,(_)			
					case 8 :   string = ''+o.str1+o.str3; break; // string 0-9,a-z
					case 9 :   string = ''+o.str1+o.str4; break; // string 0-9,A-Z
					case 10 : string = ''+o.str0+o.str1+o.str3; break;	// string 0-9,a-z,(_)		
					case 11 : string = ''+o.str0+o.str1+o.str4; break;	// string 0-9,A-Z,(_)
					case 12 : string = ''+o.str0+o.str1+o.str3+o.str4; break;	// string 0-9,a-z,A-Z,(_)
					case 13 : string = ''+o.str3+o.str4+o.str5+o.str6+o.str11; break;	// ชื่อไทย, ชื่ออังกฤษ
					case 14 : string = ''+o.str5+o.str6; break;	// พยัญชนะไทย 44 สระ 32
					case 15 : string = ''+o.str1+o.str2+o.str5+o.str6+o.str7; break;	// (รูปแบบที่อยู่ ภาษาไทย)
					case 16 : string = ''+o.str0+o.str1+o.str2+o.str3+o.str4+o.str5+o.str6+o.str7; break;	// (รูปแบบที่อยู่ ไทย-อังกฤษ)		
					case 17 : string = ''+o.str1+o.str3+o.str4+o.str8; break;	// (รูปแบบ อีเมลล์)		
					case 18 : string = ''+o.str1+o.str3+o.str4+o.str11; break;	// string 0-9,a-z,A-Z
					case 19 : string = ''+o.str1+o.str9; break;	// string 0-9, -		
					case 20 : string = ''+o.str0+o.str1+o.str2+o.str3+o.str4+o.str5+o.str6+o.str7+o.str8; break;	// (รูปแบบที่อยู่ ไทย-อังกฤษ)	
					case 21 : string = ''+o.str1+o.str9+o.str12; break;	// string 0-9, - , .			
					default : break;
				}
				if (string.indexOf(str)!=-1){return true;}
				return false;			
		}

		function checkInput(str,op){
			var i,str_true='';
			for (i = 0; i < str.length; i++){   
				var cstr = str.charAt(i);  // window.alert( cstr );
				if(characters(cstr,op)==true){ str_true += cstr; }else{ continue; }
			} return str_true;
		}		
		
		return this.each(function(){
			var $this = $(this);
			$this.bind(""+o.bind+"", function(){
				$this.val( checkInput( $this.val() , o.op) );
			}); 
		}); // each
		
	}; 

})(jQuery);
