/*
jQuery Url Plugin
	* Version 1.0
	* 2009-03-22 19:30:05
	* URL: http://ajaxcssblog.com/jquery/url-read-get-variables/
	* Description: jQuery Url Plugin gives the ability to read GET parameters from the actual URL
	* Author: Matthias Jäggli
	* Copyright: Copyright (c) 2009 Matthias Jäggli 
	* Licence: dual, MIT/GPLv2
*/
(function ($) {
	$.url = {};
	$.extend($.url, {
		_params: {},
		_url: null,
		_uri: null,
		_anchor: null,
		init: function(url){
			this._params = {};
			this._url = url || document.location.href;
			var paramsRaw = "";
			try{
				var strs = this._url.split("?", 2);
				this._uri = strs[0];
				var paramstrs = (strs[1] || "").split("#");
				this._anchor = paramstrs[1] || null;
				paramsRaw = 
					paramstrs[0].split("&") || [];
				for(var i = 0; i< paramsRaw.length; i++){
					var single = paramsRaw[i].split("=");
					if(single[0])
						this._params[single[0]] = unescape(single[1]);
				}
			}
			catch(e){
				alert(e);
			}
			return this;
		},
		param: function(name){
			return this._params[name] || "";
		},
		paramAll: function(){
			return this._params;
		},
		setParam: function(name, value){
			this._params[name] = value;
			return this;
		},
		getUri: function(){
			return this._uri;
		},
		getAnchor: function(){
			return this._anchor;
		},
		getUrl: function(){
			var url = this._uri;
			if(this._params){
				url += '?';
				for(var key in this._params){
					url += key + '=' + this._params[key] + '&';
				}
				(url.charAt(url.length - 1) == '&' || url.charAt(url.length - 1) == '?') && (url = url.substr(0, url.length - 1));
			}
			(this._anchor != null) && (url = url + '#' + this._anchor);
			return url;
		}
	});
})(jQuery);

