var carouselData = new Array();
var count = 0;
var countA = 0;


function next() {	
	var btnNext = document.getElementById("btn-next"); 
	moveElement("carouselItems", -642, 3)
	return false;
}

function back() {	
	var btnNext = document.getElementById("btn-back");
	moveElement("carouselItems", 0, 3)
	return false;
}

function prepareCarousel() {
 if (!document.getElementsByTagName) return;
 //Make sure we're on the homepage
 if (!document.getElementById("showcase") && !document.getElementById("caption")) return;
 if (!document.getElementById("carouselItems")) return;
 
 
var carouselItems = document.getElementById("carouselItems");
carouselItems.style.marginLeft = "-214px"; 
 var items = carouselItems.getElementsByTagName("div");
 
 var btnNext = document.getElementById("btn-next");
 btnNext.onclick = next;
 
 var btnBack = document.getElementById("btn-back");
 btnBack.onclick = back;
 
 //Get carousel data
 for (var i=0; i<items.length; i++) {
   var tempA = getDetails(items[i], i)
   carouselData.push(tempA);
 }
	for (var i=0; i<carouselData.length; i++) {		
		//Get bigger image
		var bigSrc = carouselData[i][0].src.toString();
		//Replace Small to Large
		var tempSrc = bigSrc.replace(/_SM/, "_LG");
		//Load bigger image
		var temp = new Image
		temp.src = tempSrc;
	}

}

function getDetails(item, n) {
 var obj = new Array();
 //How many childNodes
 var number = item.childNodes.length;

 for (var i=0; i<number; i++) {
 	//check for link
 	if(item.childNodes[i].nodeName == "A") {
 		//if link then add on click
 		//setFunction(item.childNodes[i], slideIn);
 		item.childNodes[i].onclick = slideIn;
 		item.childNodes[i].rel = n+1;
 		var img = item.childNodes[i].childNodes[0].nodeName;
 		if (img == "IMG") {
 			obj.push(item.childNodes[i].childNodes[0]); 
 		}
 	}
 	//Check children links (in this case H4)
 	if(item.childNodes[i].childNodes) {
 		//check for link
 		var element = item.childNodes[i].childNodes[0].nodeName;
 		if (element == "A") {
 			//if link then add on click
 			item.childNodes[i].childNodes[0].rel = n+1;
 			item.childNodes[i].childNodes[0].onclick = slideIn;
 			
 		}
 	}
 	
 	obj.push(item.childNodes[i]); 
 }
 return obj;
}

function slideIn() {
	var n = this.rel;
	n = n - 1;
	
	var carouselList = document.getElementById("carouselList");
	var tempList = carouselList.childNodes[0];
	
	var imgSrc = carouselData[n][0].src.toString();
	//Replace Small to Large
	var imgSrc = imgSrc.replace(/_SM/, "_LG");
	
	var anchorLink = carouselData[n][1].href;
	var h2 = carouselData[n][2].innerHTML;
	var p = carouselData[n][3].innerHTML;
	
	tempList.innerHTML = "<a href='"+ anchorLink + "'><img src='" + imgSrc + "' /></a>" + "<div id='caption'><h2>" + h2 + "</h2>" + "<p>" + p + "</p></div>";
	
	carouselList.appendChild(tempList);
	countA++;
	
	return false
}


//AnimateElement with ease
function moveElement(elementID, final_x, interval) {
	var element = document.getElementById(elementID);
	
	if(element.movement) {
		clearTimeout(element.movement);	
	}
	
	var xpos = parseInt(element.style.marginLeft);
			
	//Check to make sure element has reached destination
	if(xpos == final_x) {
		return true;
	}
	if(xpos < final_x) {
		var dist = Math.ceil((final_x - xpos)/10);
		xpos = xpos + dist;
	}
	if(xpos > final_x) {
		var dist = Math.ceil((xpos - final_x)/10);
		xpos = xpos - dist;
	}
	//element.style.width = xpos + "px";
	element.style.marginLeft = xpos + "px";
	
	var repeat = "moveElement('"+elementID+"',"+final_x+","+interval+")";		
	element.movement = setTimeout(repeat, interval);
}


addLoadEvent(prepareCarousel);
