// variables - begin
// variables - html message utilities - begin
var SET_MESSAGE_INNERHTML = 0;
var SET_MESSAGE_VALUE = 1;
// variables - html message utilities - end
// variables - end


// functions - begin
// cookie utilities - begin
function setCookie(key, value, expiryDays) {
	var expiryDate = new Date();
	expiryDate.setDate(expiryDate.getDate() + expiryDays);
	document.cookie = key + '=' + escape(value) + ';path=/' +
		( (expiryDays) ? ';expires=' + expiryDate.toGMTString() : '' );
}
function getCookie(key) {
	var cookies = document.cookie.split('; ');
	for (var i=0; i<cookies.length; i++) {
		var cookie = cookies[i].split('=');
		if (cookie[0] === key) {
			return unescape(cookie[1]);
		}
	}

	return null;
}
function isCookiesEnabled() {
	var cookiesEnabled = navigator.cookieEnabled;

	if (cookiesEnabled === true) {
		if (document.all) {
			var cookieName = 'testCookieEnabled';
			var timestampString = new Date().toUTCString();

			setCookie(cookieName, timestampString);
			var result = getCookie(cookieName);
			if (result !== timestampString) {
				cookiesEnabled = false;
			}
		}
	}

   return cookiesEnabled;
}
// cookie utilities - begin

// url parameter utilities - begin
function getParameter(name) {
	var start = location.search.indexOf(name + '=');
	var len = start + name.length + 1;
	if ((!start) && (name != location.search.substring(0, name.length))) {
		return null;
	}
	if (start == -1) {
		return null;
	}
	var end = location.search.indexOf('&', len);
	if (end == -1) {
		end = location.search.length;
	}
	return unescape(location.search.substring(len, end));
}
// url parameter utilities - end

// html message utilities - begin
function setMessage(elementType, elementId, message) {
	var element = document.getElementById(elementId);
	if (element) {
		switch (elementType) {
			case SET_MESSAGE_INNERHTML:
				element.innerHTML = message;
				break;
			case SET_MESSAGE_VALUE:
				element.value = message;
				break;
		}
	}
}
// html message utilities - end

// string utilities - begin
function trimString(string) {
	var trimmed = string.replace(/^\s+/, '').replace(/\s+$/, '');
	return trimmed;
}
function stripSpaces(string) {
	var cleaned = string.replace(/\s/, '');
	return cleaned;
}
// string utilities - begin
// functions - end

