//	initSlider(): originally previewSkins(), written by Jeremy Keith (http://adactio.com/).
//	Modified 060212 by Ethan Marcotte (http://vertua.com/).
//	Modified 060310 by Lokesh Dhakar (http://huddletogether.com/).	
//
function initSlider() {

	if(document.getElementById("slides")){
		var linkholder = document.getElementById("slides");
	} else {
		return false;	
	}
	
	var nameSlides = linkholder.className;

	//	Config
	//

	var panel_details = new Array();
	panel_details['id'] = 'portfolio-montage';
	panel_details['image'] = '/images/montage-' + nameSlides + '.jpg';
	panel_details['width'] = '300';
	panel_details['height'] = '200';

var coords = new Array();

	var links = linkholder.getElementsByTagName("li");
	for (var i = 0; i < links.length; i++) {
		var offsetX = panel_details['width'] * i;
		coords[coords.length] = new Array(-offsetX, 0);
	}

	createSlider(panel_details, coords, linkholder);
}


//	createSlider(): originally makeSlideshow(), written by Jeremy Keith (http://adactio.com/).
//	Modified 060212 by Ethan Marcotte (http://vertua.com/).
//	Modified 060310 by Lokesh Dhakar (http://huddletogether.com/).	
//
function createSlider(details, coords, linkholder) {

	var pane = document.createElement('div');
	pane.setAttribute('id', 'slidesContainer');
	pane.style.width = details['width'] + 'px';
	pane.style.height = details['height'] + 'px';
	pane.style.overflow = 'hidden';
	pane.style.position = 'relative';

	var slide = document.createElement('img');
	slide.setAttribute('id', details['id']);
	slide.setAttribute('src', details['image']);
	slide.style.position = 'absolute';

	pane.appendChild(slide);
	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, 6);
			}

			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) {

	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);
}


addLoadEvent(initSlider);
