function elementByID(elementID) {
	if (document.getElementById) {
		return document.getElementById(elementID);
	} else if (document.all) {
		return document.all[elementID];
	} else {
		return eval("document." + elementID);
	}
}


function swapImage(imageID, imageURL) {
	elementByID(imageID).src = imageURL;
}

// ### to write - this fnction makes sure the text in a form is a valid url
function text2URL(inputText) {
	// make sure it's valid as http://www.thesite.something.com or https://www.thesite.something.com
	
	// if the address does not meet the above standard then ask the user, as it might be a link to an ftp site or non standard url
	return outputText;
}

function findInString(findThis, inThis) {
	hasThis = systemInfo.indexOf(findThis);
	return hasThis;
	
}

function showElement(layerID) {
	if (elementByID(layerID).style.display == "block") {
		elementByID(layerID).style.display = "none";
	} else {
		elementByID(layerID).style.display = "block";
	}
}

function getBrowser() {
	browser = "";
	systemInfo = navigator.userAgent.toLowerCase();
	if (findInString("firefox", systemInfo) != -1) {;
		browser = "firefox";
	} else if (findInString("safari", systemInfo) != -1) {
		browser = "safari";
	} else if (findInString("msie", systemInfo) != -1) {
		browser = "msie";
	}
	return browser;
}

function getOS() {
	os = "";
	systemInfo = navigator.userAgent.toLowerCase();
	if (findInString("windows", systemInfo) != -1) {;
		os = "windows";
	} else if (findInString("mac", systemInfo) != -1) {
		os = "mac";
	}
	return os;
}

function submitForm(formID, validateForm) {
	valid = 1;
	errorText = "";
	errorVaild = "";
	errorEmail = "";
	if (validateForm == 1) {
		for (i = 0; i <= document.forms[formID].elements.length - 1; i++) {
			element = document.forms[formID].elements[i];
			if (element.className.indexOf("formError") != -1) {
				element.className = element.className.replace("formError", "");
				inputLabel = findTag('label', 'for', element.id);
				inputLabel.className = inputLabel.className.replace("labelError", "");
			}
					
			if (element.className.indexOf("required") != -1) {
				if (element.value == "") {
					element.className += " formError";
					inputLabel = findTag('label', 'for', element.id);
					inputLabel.className += " labelError";
					valid = 0;
					if (errorVaild.indexOf("You have not correctly completed:") == -1) {
						errorVaild = "You have not correctly completed:";
					}
					errorVaild += " " + inputLabel.innerHTML;
				}
			}
			// now validate email
			if (element.name.indexOf("email") != -1) {
				if (checkEmail(element.value) == false && element.value != "") {
					element.className += " formError";
					inputLabel = findTag('label', 'for', element.id);
					inputLabel.className += " labelError";
					valid = 0;
					errorEmail = "You have entered an invalid email address.";
				}
			}
		}
		if (valid == 1) {
			elementByID("formError").innerHTML = "";
			document.forms[formID].submit();
		} else {
			if (errorVaild != "") {
				errorText += errorVaild + "<br />";
			}
			if (errorEmail != "") {
				errorText += errorEmail + "<br />";
			}
			elementByID("formError").innerHTML = errorText + "<br />";
		}
	} else {
		document.forms[formID].submit();
	}
}

function editBasket(itemID, itemQuantity, itemTitle, makeEvent) {
	var mouseX = 0;
	var mouseY = 0;
	var windowHeight = 0;
	if (browser == "msie") {
		mouseX = event.clientX + document.body.scrollLeft;
		mouseY = event.clientY + document.body.scrollTop;
		windowHeight = 1000; /* broken document.body.clientHeight; */
	} else {
		mouseX = makeEvent.pageX;
    	mouseY = makeEvent.pageY;
		windowHeight = window.innerHeight;
	}

	elementByID("cover").style.display = "block";
	elementByID("cover").style.height = windowHeight + "px";

	elementByID("itemTitle").innerHTML = itemTitle;
	form = document.forms["editOrder"];
	form.elements["itemID"].value = itemID;
	form.elements["itemQuantity"].value = itemQuantity;
	
	form = document.forms["deleteOrder"];
	form.elements["itemID"].value = itemID;
	
	elementByID("basketEditItem").style.left = (mouseX - 15) + "px";
	elementByID("basketEditItem").style.top = (mouseY - 15) + "px";
	elementByID("basketEditItem").style.display = "block";
}

function cancelBasket() {
	showElement('basketEditItem');
	showElement('cover');
}

function gotoBasket() {
	parent.location = "basket.php?id=26";
}