/*
prototype tiene algunos métodos útiles como .toQueryParams(); y .toQueryString();
con estos trato de agregar algunas cosas.
*/

var utils = {
	// ¿El display container existe?
	getContainer: function(container) {
		return Try.these(
			function() { return $(container) },
			function() { return container }
		) || false;
	},

	// Si paso un parámetro para poner un id a un Element valida y si algo anda mal devuelve un random.
	validateId: function(id) {
		return ( Object.isUndefined(id) || !Object.isString(id) || id.empty() || Object.isElement($(id)) ) ? ("uid"+Math.random(1000000)).replace(".", "") : id;
	},

	// Devuelve el nombre del documento actual
	getBasename: function(url, wQueryString) {
		var _url = ( Object.isUndefined(url) || !Object.isString(url) || url.empty() ) ? window.location.pathname : url;
		var _wQueryString = (Object.isUndefined(wQueryString)) ? false : true;
		var _r = (_wQueryString == true) ? _url.substring(_url.lastIndexOf("/")+1) : (_url.substring(_url.lastIndexOf("/")+1)).split("?")[0];
		return _r || "index.html";
	}
};

