﻿
(function($) {

    $.fn.inputnumber = function(options) {
    
        var settings = {
            name       : 'value',
            onkeyup : null,
            key: ''
        };
        
        if(options) {
            $.extend(settings, options);
        }
    
        return this.each(function () {
           jQuery(this).keydown(function(e) {
                
                    var key = e.charCode || e.keyCode || 0;
                    return ((key >= 48 && key <= 57)||(key == 8)||(key == 13)||
                        (key == 190||key == 37||key == 38||key == 40||key == 39||key == 9));
                });
                
                if ($.isFunction(settings.onkeyup)) {
                        jQuery(this).keyup(function(e){
                            val_oringal = jQuery(this).val();
                            if(val_oringal == '')
                            {
                                val_oringal = '0';
                            }
                            val_oringal = reconvert(val_oringal) ;
                           
                            //alert(val_oringal+":"+convert(val_oringal));
                            jQuery(this).attr('value',convert(val_oringal));
                            settings.onkeyup(val_oringal);                       
                        });                        
                }
                
                jQuery(this).keyup(function(e){
                     
                    if(e.keyCode != 13)
                    {
                        val_oringal = jQuery(this).val();
                        val_oringal = reconvert(val_oringal) ;
                       
                        //alert(val_oringal+":"+convert(val_oringal));
                        jQuery(this).attr('value',convert(val_oringal));
                        
                    }
                
                });
            
        });
      
        //-------------- re Convert ---------------------------------------
            
   }
})(jQuery);


        function reconvert(number)
        {
            
            var intIndexOfMatch = number.indexOf(',');
            var arr ;
            
            if(intIndexOfMatch != -1)
            {
                arr = number.split(',');
                number ="";
            
                for(var i =0; i<arr.length ; i++)
                {
                    number += arr[i] ;
                }
                 
            }
            
            return number ;
        }
        
        
        
        //-------Convert string number -------------------------------
        function convert(number){
            
            if(number == '')
            {
                number = '0';
            }
            
            var idex = number.indexOf('.') ;
            var str5 = "";
            
            if(idex !=-1)
            {
                str5 = number.substring(idex+1,idex+3);
                
                number = parseFloat(number);
                number = number.toString();
                number = number.substring(0,idex);
                //alert(str5 +":"+ number);
            }
            else
            {
                number = parseFloat(number);
                number = number.toString();
            
            }
            
            var length = number.length ;
            var du = length % 3 ;
            var m =  (length - du)/3 ;
            
            if(length <=3)
            {
                var str4 = "";
                if(idex != -1)
                {
                    str4 = number+"."+str5 ;
                }
                else 
                {
                    str4 = number ;
                } 
                return str4 ;
                
            }
            
            var str ="";
            var str1 ="";
            
            str += number.substring(0,du);
            
            
            str1 = number.substring(du,length) ;
            
            
            for(var i = 0; i<m; i++)
            {
                str += "," + str1.substring(i*3,(i+1)*3) ;
            }
            
            
            if(du == 0)
            {
                var str = str.substring(1,length+m);
            }
            
            
            
            if(idex != -1)
            {
                str = str + "."+str5;
            }
             
            return str
        }