function _UrlUtilities(){function n(n,t){var f={},s=t?t:!0,u;if(n){var e=/[\?\&#]([^\?\&$]+)*/g,r=e.exec(n);for(u=0;u<1024&&r!=null;u++){var o=/([^=$]+)(?:=([^&#]*))?/.exec(r[1]),i=o[1],h=o[2];i=s?i:i.toLowerCase();f[i]=h;r=e.exec(n)}}return f}function t(n){var t=/([^\?$]*)(.*)/.exec(n);return{Url:t[1],QueryString:t[2]}}function i(n){var t="";for(var i in n)t+=t==""?"?":"&",t+=i,n[i]&&(t+="="+n[i]);return t}function r(r,u){var e=typeof u=="string"?n(u):u,f=t(r),o=f.QueryString?n(f.QueryString):{};for(var s in e)o[s]=e[s];return f.Url+i(o)}function u(i,r){var u=t(i),f=n(u.QueryString);return f[r]}function f(r,u,f){var e=t(r),o=n(e.QueryString);return o[u]=f,e.Url+i(o)}function e(r,u,f){var e=f?f:!0,o=t(r),s=n(o.QueryString,e),h=e?u:u.toLowerCase();return delete s[h],o.Url+i(s)}this.SplitQueryString=n;this.BuildQueryString=i;this.RemoveQueryParam=e;this.SetQueryParam=f;this.GetQueryParam=u;this.SplitUrl=t;this.BuildUrl=r}var UrlUtilities=new _UrlUtilities