
function stripWhitespace(text) {
	if (!text)
		return text;
	result = "";
	for (var i = 0; i < text.length; i++) {
		var ch = text.charAt(i);
		if (ch != ' ' && ch != '\t' && ch != '\n' && ch != '\r')
			result += ch;
	}
	return result;
}

function parseExpiredate(text) {
	if (!text)
		return text;
	var parts = text.match(/\d+/g);
	if (parts.length != 2)
		return text;
	var year = parts[1] % 100;
	var month = 1 * parts[0];
	var result = "";
	if (year < 10)
		result += "0";
	result += year;
	if (month < 10)
		result += "0";
	result += month;
	return result;
}

function collectFormData(form) {
	var formData = new Array();
	for (var i = 0; i < form.elements.length; i++) {
		var element = form.elements[i];
		var value;
		switch (element.type) {
		case "hidden":
		case "text":
		case "password":
		case "textarea":
		case "select-one":
			value = element.value;
			break;
		case "checkbox":
		case "radio":
			value = element.checked ? element.value : null;
			break;
		}
		if (value != null)
			formData[element.name] = value;
	}
	return formData;
}

function toggleMiniCartVisibility() {
	var items = document.getElementById("minicart-items");
	var button = document.getElementById("minicart-button");
	if (items && button) {
		if (items.style.visibility == "hidden") {
			items.style.visibility = "visible";
			button.style.backgroundImage = "url(images/minicart-open.png)";
		} else {
			items.style.visibility = "hidden";
			button.style.backgroundImage = "url(images/minicart-closed.png)";
		}
	}
}

function absoluteX(element) {
	if (element)
		return element.offsetLeft + absoluteX(element.offsetParent);
	return 0;
}

function absoluteY(element) {
	if (element)
		return element.offsetTop + absoluteY(element.offsetParent);
	return 0;
}

function viewportHeight() {
	if (window.innerHeight)
		return window.innerHeight;
	if (document.documentElement && document.documentElement.clientHeight)
		return document.documentElement.clientHeight;
	return document.getElementsByTagName('body')[0].clientHeight;
}
