// General browser functions Author: Anthony Booth May 2006 Company: Do Media Ltd
addLoadEvent(prepareCloseWindow);
addLoadEvent(preparePrint);
addLoadEvent(prepareThumbnailEvents);
addLoadEvent(viewAddress);

// Display large image
function prepareThumbnailEvents(){
	if(!document.getElementById) return false;
	if(!document.getElementsByTagName) return false;
	var arraydd = document.getElementsByTagName("dd");
	for(var i=0; i<arraydd.length; i++){
		if(arraydd[i].className == "productimage"){
			var ea = arraydd[i].getElementsByTagName("a")[0];
				ea.onclick = function(){//stop href working
					return false;
				}
			    ea.onmouseover = function(){
					showLarge(this);
				}
				ea.onmouseout = function(){
					removeLarge();
				}
		}
	}
}
// Show large image
function showLarge(pic){
	var showimage = true;// display one large image at a time
	var arraydd = document.getElementsByTagName("dd");
	for(var i=0; i<arraydd.length; i++){
		if(arraydd[i].className == "largeimage"){
			showimage = false;
		}
	}
	if(showimage){
	var thisdd = pic.parentNode;// create large image nodes
	var parent = thisdd.parentNode;
	var edd = document.createElement("dd");
	edd.className = "largeimage";
    var eimg = document.createElement("img");
	var aimg = pic.getAttribute("href");// image url
	eimg.setAttribute("src", aimg);
	edd.appendChild(eimg);
	//parent.insertBefore(edd,thisdd);
	insertAfter(edd,thisdd);
	}
}
// Remove large image
function removeLarge(){
	var arraydd = document.getElementsByTagName("dd");
	for(var i=0; i<arraydd.length; i++){
		if(arraydd[i].className == "largeimage"){
			var removedd = arraydd[i];
			var parentdl = removedd.parentNode;
			parentdl.removeChild(removedd);
		}
	}
}
// Insert after function
function insertAfter(newElement,targetElement){
	var parent = targetElement.parentNode;
	if(parent.lastChild == targetElement){// if element is last element in parent append after
		parent.appendChild(newElement);
	}else{
		parent.insertBefore(newElement,targetElement.nextSibling);// insert before next element of target element
	}
}
// Close window
function prepareCloseWindow(){
	if(!document.getElementById("close")) return false;
	var closewindow = document.getElementById("close").getElementsByTagName("a");
	closewindow[0].onclick = function(){
		parent.window.close();
		return false;
	}
}
// Print
function preparePrint(){
	if(!document.getElementById("print")) return false;
	var printpage = document.getElementById("print").getElementsByTagName("a");
	printpage[0].onclick = function(){
		window.print();
		return false;
	}
}
// hide email links from spam
function viewAddress() {
	if (document.getElementsByTagName) {
		var a = document.getElementsByTagName("a")
		var i
		for (i = 0; i < a.length; i++) {
			if (a[i].className && a[i].className == "email") {
				var address_to_replace = a[i].firstChild;
				var real_address = address_to_replace.nodeValue.replace("[atsymbol]", "@");
				address_to_replace.nodeValue = real_address;
				address_to_replace.parentNode.setAttribute("href", "mailto:" + real_address);
			}
		}
	}
}  