var UrlUtils = {
	addOrReplaceQueryItem: function(_url,_item,_value) {
		var currentQueryString = "";
		var newQueryString = "";
		if(_url.indexOf("#") != -1) {
			currentQueryString = "?"+_url.substring(_url.indexOf("#")+1,_url.length);
		} else if(_url.indexOf("?") != -1) {
			currentQueryString = _url.substring(_url.indexOf("?"),_url.length);
		}
		if(currentQueryString.indexOf(_item+"=") != -1) {
			//replace existing quantity string w/ new string
			if(currentQueryString.indexOf("&",currentQueryString.indexOf(_item+"=")) != -1) {
				var preString = currentQueryString.substring(0,currentQueryString.indexOf(_item+"="));
				var postString = currentQueryString.substring(currentQueryString.indexOf("&",currentQueryString.indexOf(_item+"=")),currentQueryString.length);
				newQueryString = preString+_item+"="+_value+postString;
			} else {
				var preString = currentQueryString.substring(0,currentQueryString.indexOf(_item+"="));
				newQueryString = preString+_item+"="+_value;
			}
		} else if(currentQueryString == "") {
			newQueryString = "?"+_item+"="+_value;
		} else {
			newQueryString = currentQueryString+"&"+_item+"="+_value;
		}
		return newQueryString;
	},
	getQueryItemValue: function(_url,_item) {
		var currentQueryString = "";
		if(_url.indexOf("#") != -1) {
			currentQueryString = "?"+_url.substring(_url.indexOf("#")+1,_url.length);
		} else if(_url.indexOf("?") != -1) {
			currentQueryString = _url.substring(_url.indexOf("?"),_url.length);
		}
		if(currentQueryString.indexOf(_item+"=") != -1) {
			if(currentQueryString.indexOf("&",currentQueryString.indexOf(_item+"=")) != -1) {
				return currentQueryString.substring(currentQueryString.indexOf(_item+"=")+(_item+"=").length,currentQueryString.indexOf("&",currentQueryString.indexOf(_item+"=")));
			} else {
				return currentQueryString.substring(currentQueryString.indexOf(_item+"=")+(_item+"=").length,currentQueryString.length);
			}
		} else {
			return "";
		}
	},
	getQueryStringValue: function(_url) {
		var currentQueryString = "";
		if(_url.indexOf("#") != -1) {
			currentQueryString = "?"+_url.substring(_url.indexOf("#")+1,_url.length);
		} else if(_url.indexOf("?") != -1) {
			currentQueryString = _url.substring(_url.indexOf("?"),_url.length);
		}
		return currentQueryString;
	},
	getRootUrl: function(_url) {
		if(_url.indexOf("#") != -1) {
			return _url.substring(0,_url.indexOf("#"));
		} else if(_url.indexOf("?") != -1) {
			return _url.substring(0,_url.indexOf("?"));
		} else {
			return _url;
		}
	}
}
