/**
 * @author xandr
 */
(function(){
                
        jQuery.parseParamsString = function(str) {
          var params = {};
                        // remove leading ? and trailing &
                        var q = 
str.replace(/^\?/,'').replace(/\&$/,'').split('&'); 
                        for( var i = q.length - 1; i >= 0; i-- ) {
                                var p = q[i].split('='), key = p[0], val = p[1];
                                // convert floats
                                if(/^[0-9.]+$/.test(val))
                                        val = parseFloat(val);
                                // convert booleans
                                if(/^(true|false)$/.test(val))
                                        val = (val == 'true');
                                // ingnore empty values
                                if(val)
                                        params[key] = val;
                        }
                return params;
        };
})();