function setupUrlParameters() {
	var parameters = new Object();
	if (window.location.search) {
		var paramArray = window.location.search.substr(1).split('&');
		var length = paramArray.length;

		for (var index = 0; index < length; index++) {
			var param = paramArray[index].split('=');
			var name = param[0];
			var value = typeof param[1] == "string" ? decodeURIComponent(param[1]) : null;
			parameters[name] = value;
		}
	}
	window.location.parameters = parameters;
}

function getUrlParameter(name) {
	if (typeof window.location.parameters == "undefined")
		setupUrlParameters();
	return window.location.parameters[name];
}

function isEmail(value) {
	var pattern = /^([a-zA-Z0-9_\-])([a-zA-Z0-9_\-\.]*)@(\[((25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\.){3}|((([a-zA-Z0-9\-]+)\.)+))([a-zA-Z]{2,}|(25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\])$/;
	return pattern.test(value);
}

//Sólo admite fechas válidas con el formato dd/mm/aaaa.
//Valida años bisiestos.
function isDate(value) {
	var regExp = /^(?:(?:0?[1-9]|1\d|2[0-8])(\/|-)(?:0?[1-9]|1[0-2]))(\/|-)(?:[1-9]\d\d\d|\d[1-9]\d\d|\d\d[1-9]\d|\d\d\d[1-9])$|^(?:(?:31(\/|-)(?:0?[13578]|1[02]))|(?:(?:29|30)(\/|-)(?:0?[1,3-9]|1[0-2])))(\/|-)(?:[1-9]\d\d\d|\d[1-9]\d\d|\d\d[1-9]\d|\d\d\d[1-9])$|^(29(\/|-)0?2)(\/|-)(?:(?:0[48]00|[13579][26]00|[2468][048]00)|(?:\d\d)?(?:0[48]|[2468][048]|[13579][26]))$/;
	return regExp.test(value);
}