if(typeof Poly9=='undefined')
var Poly9={};Poly9.URLParser=function(url){this._fields={'Username':4,'Password':5,'Port':7,'Protocol':2,'Host':6,'Pathname':8,'URL':0,'Querystring':9,'Fragment':10};this._values={};this._regex=null;this.version=0.1;this._regex=/^((\w+):\/\/)?((\w+):?(\w+)?@)?([^\/\?:]+):?(\d+)?(\/?[^\?#]+)?\??([^#]+)?#?(\w*)/;for(var f in this._fields)
this['get'+f]=this._makeGetter(f);if(typeof url!='undefined')
this._parse(url);}
Poly9.URLParser.prototype.setURL=function(url){this._parse(url);}
Poly9.URLParser.prototype._initValues=function(){for(var f in this._fields)
this._values[f]='';}
Poly9.URLParser.prototype._parse=function(url){this._initValues();var r=this._regex.exec(url);if(!r)throw"DPURLParser::_parse -> Invalid URL"
for(var f in this._fields)if(typeof r[this._fields[f]]!='undefined')
this._values[f]=r[this._fields[f]];}
Poly9.URLParser.prototype._makeGetter=function(field){return function(){return this._values[field];}}

