﻿
function Querystring(qs) { // optionally pass a querystring to parse
    this.params = new Array();

    if (qs == null) qs = location.search.substring(1, location.search.length);
    if (qs.length == 0) return;

  
    qs = qs.replace(/\+/g, ' ');
    var args = qs.split('&'); 

    for (var i = 0; i < args.length; i++) {
        var pair = args[i].split('=');
        var name = decodeURIComponent(pair[0]);

        var value = (pair.length == 2)
			? decodeURIComponent(pair[1])
			: name;
        if (name!=null && name != "") {
            this.params.push({ name: name, value: value });
        }
      
    }
}

Querystring.prototype.get = function (key, default_) {
    var value = this.params[key];
    return (value != null) ? value : default_;
}
// SET VALUE
Querystring.prototype.set = function (key, value) {
    if (!this.contains(key)) {
        this.params.push({ name: key, value: value });
        return;
    }
    for (var i = 0; i < this.params.length; i++) {
        if (key == this.params[i].name) {
            this.params[i].value = value;
        }
    }
}
// RETURN MODIFIED QUERY STRING
Querystring.prototype.getString = function () {
    var qStr = "";

    for (var i = 0; i < this.params.length; i++) {
        if (params[i] != "") {
            qStr += this.params[i].name + "=" + this.params[i].value + "&";
        }
    }
    return qStr;
}

//RETURN FULL URL
Querystring.prototype.getURL = function () {
    var qStr = "";

    for (var i = 0; i < this.params.length; i++) {
      
        qStr += this.params[i].name + "=" + this.params[i].value + "&";
    }
    return "?" + qStr;
}

// CHECK FOR CONTAING VALUE
Querystring.prototype.contains = function (key) {
    for (var i = 0; i < this.params.length; i++) {
        if (key == this.params[i].name) {
            return true;
        }
    }
    return false;
}
// INIT
queryParams = new Querystring();
