﻿$.myNumberInput =
{
    bind: function(setting) {
        var defaults = {
            inputDivs: '.numberInput',
            caculateFn: function() { }
        };
        var opt = $.extend(defaults, setting);
        $(opt.inputDivs).find("img[alt='+']").click(function() { $.myNumberInput.add($(this)); opt.caculateFn(); });
        $(opt.inputDivs).find("img[alt='-']").click(function() { $.myNumberInput.dec($(this)); opt.caculateFn(); });
        $(opt.inputDivs).find("input").keyup(function() { $.myNumberInput.change($(this)); opt.caculateFn(); });
        $(opt.inputDivs).find("input").bind("onafterpaste", function() { $.myNumberInput.change($(this)); opt.caculateFn(); });
    },
    add: function(senderObj) {
        var num = 1;
        var inputObj = senderObj.parent().find("input");

        try {
            num = Number(inputObj.val());
            num++;
        }
        catch (err) { }
        if (num <= Number(inputObj.attr("maxvalue"))) {
            inputObj.val(num);
        }
        else {
            inputObj.val(inputObj.attr("maxvalue"));
        }
    },
    dec: function(senderObj) {
        var num = 1;
        var inputObj = senderObj.parent().find("input");
        try {
            num = Number(inputObj.val());
            if (num > 1) {
                num--;
            }
        }
        catch (err) {
        }
        inputObj.val(num);
    },
    change: function(senderObj) {
        var num = 1;
        var inputObj = senderObj;
        try {
            num = Number(inputObj.val());
            if (!num) {
                num = 1;
            }
            else if (num < 1) {
                num = 1;
            }
            else if (num > Number(inputObj.attr("maxvalue"))) {
                num = Number(inputObj.attr("maxvalue"));
            }
        }
        catch (err) {
        }
        inputObj.val(num);
    }
}


$.myNumberInputSecond =
{
    bind: function (setting) {
        var defaults = {
            inputDivs: '.numberInput',
            caculateFn: function () { }
        };
        var opt = $.extend(defaults, setting);
        $(opt.inputDivs).find("img[alt='+']").click(function () { $.myNumberInput.add($(this)); opt.caculateFn(); });
        $(opt.inputDivs).find("img[alt='-']").click(function () { $.myNumberInput.dec($(this)); opt.caculateFn(); });
        $(opt.inputDivs).find("input").keyup(function () { $.myNumberInput.change($(this)); opt.caculateFn(); });
        $(opt.inputDivs).find("input").bind("onafterpaste", function () { $.myNumberInput.change($(this)); opt.caculateFn(); });
    },
    add: function (senderObj) {
        var num = 1;
        var inputObj = senderObj.parent().find("input");

        try {
            num = Number(inputObj.val());
            num++;
        }
        catch (err) { }
        if (num <= Number(inputObj.attr("maxvalue"))) {
            inputObj.val(num);
        }
        else {
            inputObj.val(inputObj.attr("maxvalue"));
        }
    },
    dec: function (senderObj) {
        var num = 1;
        var inputObj = senderObj.parent().find("input");
        try {
            num = Number(inputObj.val());
            if (num > 1) {
                num--;
            }
        }
        catch (err) {
        }
        inputObj.val(num);
    },
    change: function (senderObj) {
        var num = 1;
        var inputObj = senderObj;
        try {
            num = Number(inputObj.val());
            if (!num) {
                num = 1;
            }
            else if (num < 1) {
                num = 1;
            }
            else if (num > Number(inputObj.attr("maxvalue"))) {
                num = Number(inputObj.attr("maxvalue"));
            }
        }
        catch (err) {
        }
        inputObj.val(num);
    }
}
