/**
 * @author Patrick
 */

function getElementsByClassName(node, classname)
{
	/** 
	getElementsByClassName - By Jonathan Snooks
	http://snook.ca/archives/javascript/your_favourite_1/
	**/

    var a = [];
    var re = new RegExp('\\b' + classname + '\\b');
    var els = node.getElementsByTagName("*");
    for(var i=0,j=els.length; i<j; i++)
        if(re.test(els[i].className))a.push(els[i]);
    return a;
}

function getEventElement(e)
{
	var targ;
	if (!e) var e = window.event;
	if (e.target) targ = e.target;
	else if (e.srcElement) targ = e.srcElement;
	if (targ.nodeType == 3) // defeat Safari bug
		targ = targ.parentNode;
		
	return targ;
}

function dislayMainImage(e)
{
	/** Following code from PPK 
	 * http://www.quirksmode.org/js/events_properties.html#target
	 **/
	var targ = getEventElement(e);
		
	var thumbSrcParts = targ.src.split('/');
		
	switch(targ.className)
	{
		case 'web_thumbnails':
			mainImageRoot = '../lib/images/portfolio_images/web/';
			break;
		case 'print_thumbnails':
			mainImageRoot = '../lib/images/portfolio_images/print/';
			break;		
		case 'art_thumbnails':
			mainImageRoot = '../lib/images/portfolio_images/art/';
			break;			
		case 'other_thumbnails':
			mainImageRoot = '../lib/images/portfolio_images/other/';
			break;
	}
	
	var mainImageSrc = mainImageRoot+thumbSrcParts[thumbSrcParts.length-1];
	document.getElementById('mainImage').src = mainImageSrc;
}

function assignThumbnailAction(thumbsArray)
{
	for(var i = 0, arrayLength = thumbsArray.length; i< arrayLength; ++i)
	{
		addEvent(thumbsArray[i], 'click', dislayMainImage);
	}
}

function init()
{
	var webThumbsArray = getElementsByClassName(document.getElementById('web_thumbnails'), 'web_thumbnails');
	assignThumbnailAction(webThumbsArray);
	
	var printThumbsArray = getElementsByClassName(document.getElementById('print_thumbnails'), 'print_thumbnails');
	assignThumbnailAction(printThumbsArray);
	
	var artThumbsArray = getElementsByClassName(document.getElementById('art_thumbnails'), 'art_thumbnails');
	assignThumbnailAction(artThumbsArray);
	
	var otherThumbsArray = getElementsByClassName(document.getElementById('other_thumbnails'), 'other_thumbnails');
	assignThumbnailAction(otherThumbsArray);
}

addEvent(window, 'load', init);