function slideSwap(e) {
	
	var element;
	
	// cross browser method of finding out who is calling this function
	// this is the IE way
	if (window.event && window.event.srcElement) {
		element = window.event.srcElement;
	}
	if (e && e.target) {
		element = e.target;
	}
	
	// make sure we get an anchor tag
	while (element != document.body && element.nodeName.toLowerCase() != 'a') {
		element = element.parentNode;
	}
	
	// get the value of the element
	//var src = element.src;
	// change the src of the main image
	//var mainImage = document.getElementById("imagePlaceholder");
	//mainImage.src = src;
	
	// get the id of the div to toggle (found in the rel attribute of the anchor)
	var toggleDiv = element.getAttribute("rel");
	//alert(toggleDiv);
	
	var toggleDivs = new Array('slide_1', 'slide_2', 'slide_3', 'slide_4', 'slide_5');
	for (var i = 0; i < toggleDivs.length; i++) {
		
		var tempToggleDiv = toggleDivs[i];
		if (document.getElementById(tempToggleDiv)) {
			//alert(element);
			if (tempToggleDiv == toggleDiv) {
				document.getElementById(tempToggleDiv).style.display = '';
			} else {
				document.getElementById(tempToggleDiv).style.display = 'none';
			}
		}
	}
	
	// turn off all borders first
	var image_anchors = document.getElementById("slide_selector").getElementsByTagName("a");
	for (var i = 0; i < image_anchors.length; i++) {
		var anchor = image_anchors[i];
		// unhighlight all other anchors
		anchor.className = anchor.className.replace(/\b ?selected\b/,'');
	}
	
	// highlight clicked anchor
	element.className += 'selected';
	
	// cancel default anchor link
	if (window.event) {
		window.event.returnValue = false;
	} else {
		e.preventDefault();
	}
}

function ini_slideSwap() {	
	if (document.getElementById) {
		if (document.getElementById("slide_selector")) {
			var anchors = document.getElementById("slide_selector").getElementsByTagName("a");
			for (var i = 0; i < anchors.length; i++) {
				var element = anchors[i];
				addEvent(element, 'click', slideSwap, false);
				element.onclick = cancelClick; // for the benefit of Safari
			}
		}
	}	
}

// toggle visibility

function toggleItem(targetID, target2ID) {
	if (document.getElementById) {
		target = document.getElementById(targetID);
		target2 = document.getElementById(target2ID);
		if (target.style.display == "none") {
			target.style.display = "";
			target2.style.backgroundImage = "url('../images/triangle-open.gif')";
		} else {
			target.style.display = "none";
			target2.style.backgroundImage = "url('../images/triangle-close.gif')";
		}
	}
}

// toggle visibility

function showDownloadForm(targetID) {

	var checkboxID = "chooseForm" + targetID;
	var downloadboxID = "downloadForm" + targetID;
	
	if (targetID == "Scotland") {
		var downloadboxID2 = "downloadFormEngland";
	}
	
	if (targetID == "England") {
		var downloadboxID2 = "downloadFormScotland";
	}
	
	if (document.getElementById) {
		target = document.getElementById(downloadboxID);
		target2 = document.getElementById(downloadboxID2);
		
		target.style.display = "";
		target2.style.display = "none";
		
	}
}

function validateEvent() {
	var eventList = document.getElementById('event_id');
	var otherEvent = document.getElementById('other_event');
	
	if (eventList.selectedIndex == 0 || eventList.selectedIndex == -1) { // no selection made
		if (!otherEvent.value || otherEvent.value.length < 1) {
			alert('Please indicate which event you are competing in.');
			eventList.focus();
			return false;
		} else {
			return true;
		}
	}
	
	return true;
}

function equalHeightColumns() {
	if (document.getElementById) {
		if (document.getElementById('tile1') && document.getElementById('tile2') && document.getElementById('tile3')) {
			P7_equalCols2(0,'tile1','P','tile2','P','tile3','P');
		}
	}
}

function toggleGiftDetails(e) {
	if (document.getElementById('i_gift')) {
		var gift_checkbox = document.getElementById('i_gift');
		// find all tr elements with gift_details class
		var elms = getElementsByClassName(document, "tr", "gift_details");
		// loop through them all
		for (var i = 0; i < elms.length; i++) {
			var elm = elms[i];
			if (gift_checkbox.checked) {
				// show details
				elm.style.display = "";
			} else {
				// hide
				elm.style.display = "none";
			}
		}
	}
}

function setUpGiftDetailsToggle() {
	if (document.getElementById('i_gift')) {
		var gift_checkbox = document.getElementById('i_gift');
		// attach onclick function
		addEvent(gift_checkbox, 'click', toggleGiftDetails, false);
	}
}

function validateGiftDetails() {
	var gift_checkbox = document.getElementById('i_gift');
	var gift_firstname = document.getElementById('i_gift_firstname');
	var gift_surname = document.getElementById('i_gift_surname');
	if (gift_checkbox.checked) {
		if (gift_firstname.value.length == 0) {
			alert('Please provide the recipients firstname.');
			gift_firstname.focus();
			return false;
		}
		if (gift_surname.value.length == 0) {
			alert('Please provide the recipients surname.');
			gift_surname.focus();
			return false;
		}
	}
	return true;
}

function validateLegals() {
	var terms = document.getElementById('agree_terms');
	var licence = document.getElementById('agree_licence');
	if (!terms.checked) {
		alert('You must agree to the Terms & Conditions of Purchase before ordering On Track.');
		return false;
	}
	if (!licence.checked) {
		alert('You must agree to the Licence Agreement before ordering On Track.');
		return false;
	}
	return true;
}

addLoadEvent(setUpGiftDetailsToggle);
addLoadEvent(toggleGiftDetails);
addLoadEvent(focusElements);
addLoadEvent(ini_slideSwap);