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

function insertAfter(newElement, targetElement) {
	var parent = targetElement.parentNode;
	if (parent.lastChild == targetElement) {
		parent.appendChild(newElement);
	} else {
		parent.insertBefore(newElement, targetElement.nextSibling);
	}
}

function prepareGallery() {
	if (document.getElementById('gallery-nav')) {
		var gallery = document.getElementById('gallery-nav');
		var links = gallery.getElementsByTagName('a');
		
		for (var i=0; i < links.length; i++) {
			links[i].onclick = function() {
				return changePic(this);
			}
		}
	}
}

function bikeImage() {
	if (document.getElementById('bike-large')) {
		var gallery = document.getElementById('bike-thumbs');
		var links = gallery.getElementsByTagName('a');
		
		for (var i=0; i < links.length; i++) {
			links[i].onclick = function() {
				return changePic(this);
			}
		}
	}
}

function changePic(whichPic) {
	if (document.getElementById('current-image')) {
		var newImg = whichPic.getAttribute('href');
		var newCaption = whichPic.getAttribute('title');
		var currentImg = document.getElementById('current-image');
		var currentCaption = document.getElementById('caption');
		currentImg.setAttribute('src', newImg);
		currentCaption.innerHTML = newCaption;
	}
	
	if (document.getElementById('main-image')) {
		var newImg = whichPic.getAttribute('href');
		var currentImg = document.getElementById('main-image');
		currentImg.setAttribute('src', newImg);
	}
	
	return false;
}


// Just add new function to addLoadEvent() to call it on window.onload;
addLoadEvent(prepareGallery);
addLoadEvent(bikeImage);

$(window).bind('load', function() {
	
	// Bikes
	$('div#bike-body').jScrollPane({
		showArrows: true,
		scrollbarWidth: 10
	});
	
	$('div#bike-meta a.fancy').fancyZoom();
	
	// Gallery Scrollbar
	$('div#gallery-nav').jScrollPane({
		showArrows: true,
		scrollbarWidth: 10
	});
	
});
