/* jQueryString v1.7.8
   By James Campbell 
*/
(function($){
$.getAllQueryStrings = $.AllQueryStrings = function(opt){
    opt = $.extend({URL:location.href}, opt);
    var args = new Array();
    try {
    var qs = opt.URL.split("?")[1].split("#")[0];
    }catch(e){
        return args;
    }
    if(typeof(qs) != "undefined"){
        qs = qs.split('&');
        $.each(qs, function(i){
            var curArg = this.split('=');
            args[curArg[0]] = args[i] = {name:curArg[0], value:( curArg.length == 2 ) ? curArg[1] : curArg[0]};
        });
    }
    return args;
}
$.QueryStringExist = function(opt){
    opt = $.extend({URL:location.href, callback:function(opt, val){}}, opt);
    var val = (typeof($.AllQueryStrings(opt)[opt.ID]) != "undefined");
    opt.callback(opt, val);
    return val;
}
$.getQueryString = function(opt)
{
    opt = $.extend({URL:location.href, onStart:function(opt){}, onError:function(opt){}, onSuccess:function(opt, val){}, callback:function(opt, val){}}, opt);
    var val = opt.DefaultValue;
    opt.onStart(opt);
    if($.QueryStringExist({ID:opt.ID, URL:opt.URL})){
        val = $.AllQueryStrings(opt)[opt.ID].value;
        opt.onSuccess(opt, val);
    }else{
        opt.onError(opt);
    }
    opt.callback(opt, val);
    return val;
};
})(jQuery);
