Algorithm-CouponCode

 view release on metacpan or  search on metacpan

html/jquery.couponcode.js  view on Meta::CPAN

    self.flags  = [];
    self.parts  = parseInt(self.parts, 10);
    if(isNaN(self.parts) || self.parts < 1 || self.parts > 6) {
        alert("CouponCode 'parts' must be in range 1-6");
        return;
    }

    var start_val = $(base_entry).val();
    var name    = base_entry.name;
    var id      = base_entry.id;
    var wrapper = $( $(base_entry).wrap('<span class="jq-couponcode" />').parent()[0] );
    wrapper[0].removeChild(base_entry);
    var hidden  = $('<input type="hidden">').attr({ 'name': name, 'id': id });
    wrapper.append(hidden);
    var inner   = $('<span class="jq-couponcode-inner" />');
    for(var i = 0; i < self.parts; i++) {
        if(i > 0) {
            inner.append($('<span class="jq-couponcode-sep" />').text(self.separator));
        }
        self.inputs[i] = $('<input type="text" class="jq-couponcode-part" />');
        inner.append(self.inputs[i]);
    }
    $( self.inputs ).each(function(i, input) {
        input
        .keydown(function() { setTimeout(function() { validate(i); }, 5 ); } )
        .blur(function() { self.focus = null; validate(i); } )
        .focus( function() { self.focus = i; } );
    });
    self.inputs[0].on('paste', function() {
        setTimeout(function() { set_parts(self.inputs[0].val()); }, 2);



( run in 2.876 seconds using v1.01-cache-2.11-cpan-df04353d9ac )