addLoadEvent(portfolioSlideshow);

/*
	portfolioSlideshow: originally previewSkins(), written by Jeremy Keith (http://adactio.com/). Modified 060212 by Ethan Marcotte (http://vertua.com/).
*/
function portfolioSlideshow() {
	if (!document.getElementById) return false;

	var linkholder = document.getElementById("portfolio-list");
	if (!linkholder) return false;

	var slug = linkholder.className;
	if (!slug) return false;

	var panel_details = new Array();
	panel_details['id'] = 'portfolio-montage';
	panel_details['image'] = 'images/montage-' + slug + '.jpg';
	panel_details['width'] = '456px';
	panel_details['height'] = '304px';

	var coords = new Array();

	var links = linkholder.getElementsByTagName("li");
	for (var i = 0; i < links.length; i++) {
		var offsetX = 456 * i;
		coords[coords.length] = new Array(-offsetX, 0);
	}

	makeSlideshow(panel_details, coords, linkholder);
}

/*
	makeSlideshow: written by Jeremy Keith (http://adactio.com/). Modified 060212 by Ethan Marcotte (http://vertua.com/).
*/
function makeSlideshow(details, coords, linkholder) {
	if (!document.getElementById) return false;

	var pane = document.createElement('div');
	pane.style.width = details['width'];
	pane.style.height = details['height'];
	pane.style.overflow = 'hidden';
	pane.className = 'screenthumb';
	pane.style.position = 'relative';

	pane.style.margin = '25px 0px 25px 0px';
	pane.style.padding = '0px 0px 0px 0px';

	var pic = document.createElement('img');
	pic.setAttribute('id', details['id']);
	pic.setAttribute('src', details['image']);
	pic.setAttribute('alt', '');
	pic.style.position = 'absolute';

	pane.appendChild(pic);

	linkholder.parentNode.insertBefore(pane, linkholder);

	var lnks = linkholder.getElementsByTagName('a');

	for (var i=0; i<lnks.length; i++) {
		if (coords[i]) {
			lnks[i].elementId = details['id'];
			lnks[i].x = coords[i][0];
			lnks[i].y = coords[i][1];
			lnks[i].sliding = null;
			lnks[i].onmouseover = function() {
				slideElement(this.elementId, this.x, this.y, 16);
			}

			lnks[i].onfocus = lnks[i].onmouseover;
			lnks[i].onclick = function() {
				return false;
			}
		}
	}
}


/*
	slideElement: Originally written by Jeremy Keith (http://adactio.com/).
*/

function slideElement(elementId, x, y, inc) {
	if (!document.getElementById) return false;
	if (!document.getElementById(elementId)) return false;

	var element = document.getElementById(elementId);

	if (element.sliding) clearTimeout(element.sliding);
	
	if (!element.xpos) element.xpos = 0;
	if (!element.ypos) element.ypos = 0;

	if (element.xpos == x && element.ypos == y) return true;

	if (element.xpos > x) {
		var dist = Math.ceil((element.xpos-x)/inc);
		element.xpos = element.xpos - dist;
	}

	if (element.xpos < x) {
		var dist = Math.ceil((x-element.xpos)/inc);
		element.xpos = element.xpos + dist;
	}

	if (element.ypos > y) {
		var dist = Math.ceil((element.ypos-y)/inc);
		element.ypos = element.ypos - dist;
	}

	if (element.ypos < y) {
		var dist = Math.ceil((y-element.ypos)/inc);
		element.ypos = element.ypos + dist;
	}

	element.style.left = element.xpos+'px';
	element.style.top = element.ypos+'px';

	element.sliding = setTimeout('slideElement("'+elementId+'",'+x+','+y+','+inc+')',10);
}


/*
	Add Load Event: written by Simon Willison (http://simon.incutio.com/archive/2004/05/26/addLoadEvent)
*/
function addLoadEvent(func) {
	var oldonload = window.onload;
	if (typeof window.onload != 'function') {
		window.onload = func;
	} else {
		window.onload = function() {
			oldonload();
			func();
		}
	}
}