
$(document).ready(function() {    
    $.fn.product_picking = function() {          
        $('#product_picking form').submit(function(){
            var result = true;
            if ($.trim($(this).find('select').val()) == '') {
                result = false;
                $(this).find('select').parent().addClass('error');
            }
            return result;                   
        });              
            
        $(this).each(function() {
            $(this).click(function(e) {
            
                if ($(this).data('uniqid')) {               
                   tb_show(false, '#TB_inline?height=110&width=300&inlineId=' + $(this).data('uniqid') + '&modal=true');
                                        
                } else {  
                    var uniqid = 'pb' + $.unique_id();
                    $(this).data('uniqid', uniqid);
                    var thisclone = $('#product_picking').clone(true);                                                                                                   
                    $(thisclone).attr('id' , uniqid);
                    var productid = $(this).next().val();
                    $(thisclone).find('form').append('<input type="hidden" name="product" value="' + productid + '" />');
                    var sel  = $(thisclone).find('select');
                    $(sel).html($(sel).find('option:first').clone());
                    var available = $(this).next().next().val();
                    for (i = 1; i <= available; i++)
                        $("<option></option>").val(i).text(i).appendTo(sel);                                     
                                                                                                    
                    $("body").append(thisclone);                    
                     tb_show(false, '#TB_inline?height=110&width=300&inlineId=' + uniqid + '&modal=true');

                }            
                
                $(this).blur();
                return false;                  
            });
        });
        return this; 
    }                         

});

