﻿
$.numberInput =
{
    bind: function(setting) {

        var defaults = {
            input: '#inputNum',
            prevButton: '#prev',
            nextButton: '#next',
            max: 100
        };
        var opt = $.extend(defaults, setting);
        $(opt.prevButton).click(function() { $.numberInput.add(opt); });
        $(opt.nextButton).click(function() { $.numberInput.dec(opt); });
        $(opt.input).keyup(function() { clearNotNumberChar(setting); });
        $(opt.input).bind("onafterpaste", function() { clearNotNumberChar(setting); });

    },
    add: function(setting) {
        var num = 1;
        try {
            num = Number($(setting.input).val());
            num++;

        }
        catch (err) { }
        if (num <= setting.max) {
            $(setting.input).val(num);
        }
        else {
            $(setting.input).val(setting.max);
        }
    },
    dec: function(setting) {
        var num = 1;
        try {
            num = Number($(setting.input).val());
            if (num > 0) {
                num--;
            }
        }
        catch (err) {
        }
        $(setting.input).val(num);
    }
}

function clearNotNumberChar(setting) {
    $(setting.input).val($(setting.input).val().replace(/\D/g, ''));
    var num = Number($(setting.input).val());
    if (num > setting.max) {
        $(setting.input).val(setting.max);
    }
    else {
        $(setting.input).val(num);
    }
    if ($(setting.input).val() == "") {
        $(setting.input).val("1");
    }
}







