function BIparameter() {
  this.params = [];
  this.hasQuery = false;
  
  var cleanQuery, keyValuePairs;
  if (document.location.search && document.location.search != "") {
    cleanQuery= document.location.search.substring(1);
    keyValuePairs = cleanQuery.split("&");
    for (var i = 0; i < keyValuePairs.length; i++) {
      var positionOfAssign = key = kValue = null;
      positionOfAssign = keyValuePairs[i].indexOf("=");
      key = keyValuePairs[i].substring(0,positionOfAssign);
      kValue = keyValuePairs[i].substring(positionOfAssign+1);
      this.params[key] = kValue;
    }
    this.hasQuery = true;
  }

  this.getParameter = function (id){
    if (this.hasQuery && this.params[id]) {
      return unescape(this.params[id]); 
    } else {
      return false;
    }
  }
  
  this.getKeys = function () {
    var keyAr = [];
    var counter = 0;
    for (var i in this.params) {
      keyAr[counter] = i;
      counter++;
    }
    return keyAr;
  }
}

