(function(a,b){function j(a){var d=a.tagName;if(d!==b)return c[d.toLowerCase()];return d}function i(a,b){var c=decodeURI(a),e=f[b||false?"strict":"loose"].exec(c),i={attr:{},param:{},seg:{}},j=14;while(j--){i.attr[d[j]]=e[j]||""}i.param["query"]={};i.param["fragment"]={};i.attr["query"].replace(g,function(a,b,c){if(b){i.param["query"][b]=c}});i.attr["fragment"].replace(h,function(a,b,c){if(b){i.param["fragment"][b]=c}});i.seg["path"]=i.attr.path.replace(/^\/+|\/+$/g,"").split("/");i.seg["fragment"]=i.attr.fragment.replace(/^\/+|\/+$/g,"").split("/");i.attr["base"]=i.attr.host?i.attr.protocol+"://"+i.attr.host+(i.attr.port?":"+i.attr.port:""):"";return i}var c={a:"href",img:"src",form:"action",base:"href",script:"src",iframe:"src",link:"href"},d=["source","protocol","authority","userInfo","user","password","host","port","relative","path","directory","file","query","fragment"],e={anchor:"fragment"},f={strict:/^(?:([^:\/?#]+):)?(?:\/\/((?:(([^:@]*):?([^:@]*))?@)?([^:\/?#]*)(?::(\d*))?))?((((?:[^?#\/]*\/)*)([^?#]*))(?:\?([^#]*))?(?:#(.*))?)/,loose:/^(?:(?![^:@]+:[^:@\/]*@)([^:\/?#.]+):)?(?:\/\/)?((?:(([^:@]*):?([^:@]*))?@)?([^:\/?#]*)(?::(\d*))?)(((\/(?:[^?#](?![^?#\/]*\.[^?#\/.]+(?:[?#]|$)))*\/?)?([^?#\/]*))(?:\?([^#]*))?(?:#(.*))?)/},g=/(?:^|&|;)([^&=;]*)=?([^&;]*)/g,h=/(?:^|&|;)([^&=;]*)=?([^&;]*)/g;a.fn.url=function(b){var c="";if(this.length){c=a(this).attr(j(this[0]))||""}return a.url(c,b)};a.url=function(a,c){if(arguments.length===1&&a===true){c=true;a=b}c=c||false;a=a||window.location.toString();return{data:i(a,c),attr:function(a){a=e[a]||a;return a!==b?this.data.attr[a]:this.data.attr},param:function(a){return a!==b?this.data.param.query[a]:this.data.param.query},fparam:function(a){return a!==b?this.data.param.fragment[a]:this.data.param.fragment},segment:function(a){if(a===b){return this.data.seg.path}else{a=a<0?this.data.seg.path.length+a:a-1;return this.data.seg.path[a]}},fsegment:function(a){if(a===b){return this.data.seg.fragment}else{a=a<0?this.data.seg.fragment.length+a:a-1;return this.data.seg.fragment[a]}}}}})(jQuery)

