// Created Image Gallery using Javascript

function addLoadEvent(func) {
	var oldonload = window.onload;
	if(typeof window.onload != 'function') {
		window.onload = func;
	} else {
		window.onload = function() {
			oldonload();
			func();
		}
	}
}

function preparePlaceholder() {
	if(!document.createElement) return false;
	if(!document.createTextNode) return false;
	if(!document.getElementById) return false;
	if(!document.getElementById("imagegallery")) return false;
	var placeholder = document.createElement("img");
	placeholder.setAttribute("id", "placeholder");
	placeholder.setAttribute("src", "images/placeholder.jpg");
	placeholder.setAttribute("alt", "Sofie's Imagegallery");
	var description = document.createElement("p");
	description.setAttribute("id", "description");
	var desctext = document.createTextNode("Choose an image");
	description.appendChild(desctext);
	document.body.appendChild(placeholder);
	document.body.appendChild(description);
	var gallery = document.getElementById("imagegallery");
}

function prepareGallery() {
	if(!document.getElementsByTagName) return false;
	if(!document.getElementById) return false;
	if(!document.getElementById("imagegallery")) return false;
	var gallery = document.getElementById("imagegallery");
	var links = gallery.getElementsByTagName("a");
	for(i = 0; i < links.length; i++) {
		links[i].onclick = function() {
			return showPic(this);		
		}
		links[i].onkeypress = links[i].onclick;
	}
}

function showPic(whichpic) {
	if(!document.getElementById("placeholder")) return true;
	var source = whichpic.getAttribute("id");
	var placeholder = document.getElementById("placeholder");
	placeholder.setAttribute("src", source);
	if(!document.getElementById("description")) return false;
	if(whichpic.getAttribute("title")) {
		var text = whichpic.getAttribute("title");
	} else {
		var text = "";
	}
	var description = document.getElementById("description");
	if(description.firstChild.nodeType == 3) {
		description.firstChild.nodeValue = text;
	}
	return false;
}

//addLoadEvent(preparePlaceholder);
addLoadEvent(prepareGallery);

/*
function countBodyChildren() {
	var body_element = document.getElementsByTagName("body")[0];
	alert (body_element.nodeType);
	}
	
window.onload = countBodyChildren;
*/
