+++ /dev/null
-function CGI() {
- /* load up the url parameters */
-
- this._keys = new Array();
- this.data = new Object();
-
- var string = location.search.replace(/^\?/,"");
- this.server_name = location.href.replace(/^https?:\/\/([^\/]+).+$/,"$1");
-
- var key = "";
- var value = "";
- var inkey = true;
- var invalue = false;
-
- for( var idx = 0; idx!= string.length; idx++ ) {
-
- var c = string.charAt(idx);
-
- if( c == "=" ) {
- invalue = true;
- inkey = false;
- continue;
- }
-
- if(c == "&" || c == ";") {
- inkey = 1;
- invalue = 0;
- if( ! this.data[key] ) this.data[key] = [];
- this.data[key].push(decodeURIComponent(value));
- this._keys.push(key);
- key = ""; value = "";
- continue;
- }
-
- if(inkey) key += c;
- else if(invalue) value += c;
- }
-
- if( ! this.data[key] ) this.data[key] = [];
- this.data[key].push(decodeURIComponent(value));
- this._keys.push(key);
-}
-
-/* returns the value for the given param. If there is only one value for the
- given param, it returns that value. Otherwise it returns an array of values
- */
-CGI.prototype.param = function(p) {
- if(this.data[p] == null) return null;
- if(this.data[p].length == 1)
- return this.data[p][0];
- return this.data[p];
-}
-
-/* returns an array of param names */
-CGI.prototype.keys = function() {
- return this._keys;
-}
-
-/* debuggin method */
-CGI.prototype.toString = function() {
- var string = "";
- var keys = this.keys();
-
- for( var k in keys ) {
- string += keys[k] + " : ";
- var params = this.param(keys[k]);
-
- for( var p in params ) {
- string += params[p] + " ";
- }
- string += "\n";
- }
- return string;
-}
-
-