(function ($) {
    /**
    * Enables all matched elements.
    */
    $.fn.enable = function () {
        return this.each(function () { $(this).removeAttr('disabled'); });
    };

    /**
    * Disables all matched elements.
    */
    $.fn.disable = function () {
        return this.each(function () { $(this).attr({ disabled: 'disabled' }); });
    }
})(jQuery);

String.prototype.stripHtml = function () {
    return this.replace(/(<([^>]+)>)/ig, '');
};

String.prototype.format = function () {
    var pattern1 = /\{\d+\}/g; // "Replace {0} {1}".format(0, 1);
    var pattern2 = /\{\w+\}/g; // "Replace {zero} {one}".format({'zero': 0, 'one': 1});
    var args = arguments;

    if (args.length > 2 || typeof args[args.length - 1] == 'string' || typeof args[args.length - 1] == 'number')
        return this.replace(pattern1, function (capture) { return args[capture.match(/\d+/)]; });

    if (args.length == 1 && $.isPlainObject(args[0]))
        return this.replace(pattern2, function (capture) { return args[0][capture.match(/\w+/)]; });

    return this;
};

// number formatting function
// copyright Stephen Chapman 24th March 2006, 22nd August 2008
// permission to use this function is granted provided
// that this copyright notice is retained intact

function formatNumber(num,dec,thou,pnt,curr1,curr2,n1,n2) 
{
    var x = Math.round(num * Math.pow(10,dec));
    if (x >= 0) n1=n2='';
    var y = (''+Math.abs(x)).split('');
    var z = y.length - dec; 
    if (z<0) z--; 
    for(var i = z; i < 0; i++) 
        y.unshift('0'); if (z<0) z = 1; y.splice(z, 0, pnt); 
    if(y[0] == pnt) y.unshift('0'); 
    while (z > 3) {z-=3; y.splice(z,0,thou);}
    var r = curr1+n1+y.join('')+n2+curr2;return r;
};


function load_popup_items(reference_id, $pop, $json, brand_id)
{
   reset_popup_items($pop); 

   $pop.removeAttr('disabled');
   if($json)
       for(var i=0; i<$json.length; i++){
          var match_brand = true; 
          if(brand_id) match_brand = $json[i].brand_id == brand_id

          if($json[i].reference_id == reference_id && match_brand) {
              $pop.append("<option value='{0}'>{1}</option>".format($json[i].id, $json[i].name));
          }
       }
};

function reset_popup_items($pop)
{
   $pop.html('');
   $pop.append("<option value='-1'>- Alege -</option>");   
   $pop.val('-1');
   
   $pop.disable();
};
