/**
 * Banner Rotator
 * Copyright(c) 2011 Cyscorpions, Inc.
 */

function setBanners() {
	loadFile("images/banners/images.txt");
}
 
function populateBanners(data) {	
	images = document.getElementById("bannerImages");
	selectors = document.getElementById("bannerSelectors");	 
	
	data = data.replace(/ /gi,"");
	array = data.split("\n");
	for(i=array.length-1; i>=0; i--) { if(array[i].length <= 1) array.splice(i, 1); }
	
	items = array.length - 2;
	itemSize = array[1].split("x");	
	speedRotate = parseInt(array[0]);
	
	images.innerHTML = "";
	for(i=2; i<array.length; i++) {
		content = array[i].split(",");
		images.innerHTML += "<div style='width:"+itemSize[0]+"px; height:"+itemSize[1]+"px;'><center><a href='"+content[1]+"'><img src='images/banners/" + content[0] + "' /></a></center></div>";
		selectors.innerHTML += "<img src='images/banners/selectors/selector.png' onclick='selectBanner(this)' />";
	}
	
	images.innerHTML = "<div class='items' name='items'>" + images.innerHTML + "</div>"
	images.innerHTML = images.innerHTML.replace(/%0A/gi,"");
	images.style.width = (itemSize[0] * (array.length - 1)) + "px";
	selectors.style.marginTop = (parseInt(itemSize[1] - 7)) + "px";
	
	imageItems = images.getElementsByTagName("div")[0];
	rotateBanners();
}


function selectBanner(obj) {
	clearTimeout(timer);
	for(i=0; i<selectors.childNodes.length; i++) {
		if(obj == selectors.childNodes[i]) {
			item = i;
			selectors.childNodes[i].className = "selected";
		}
		else selectors.childNodes[i].className = "";
	}
	
	itemDestination = item * itemSize[0];
	speed = speedDefault;
	moveBanners();
}

function rotateBanners() {
	if(++item >= items) item = 0;
	selectBanner(selectors.childNodes[item]);
}

function moveBanners() {
	pos = itemPos + Math.ceil((itemDestination - itemPos) / speed);
	if(pos == itemPos) {
		if(--speed <= 2) {
			itemPos = itemDestination;
			timer = setTimeout("rotateBanners()", speedRotate);
		}
		else {
			itemPos = pos;
			timer = setTimeout("moveBanners()", 20);
		}
	}
	else {
		itemPos = pos;
		timer = setTimeout("moveBanners()", 20);
	}
	imageItems.style.marginLeft = (itemPos * -1) + "px";
}

function loadFile(fileName) {
	var request;
	if(window.XMLHttpRequest) request = new XMLHttpRequest();
	else request = new ActiveXObject("Microsoft.XMLHTTP");
	request.onreadystatechange = function() {		
	  	if(request.readyState == 4) populateBanners(request.responseText);
	}
	
	request.open("GET", fileName, true);	
	request.send();
}

var speed, speedDefault = 20, speedRotate;
var item = -1, items, itemSize, itemPos = 0, itemDestination;
var images, imageItems;
var selectors;
var timer = new Object();
