var loopitems = true;
var itemlimit = 4;
var itemcount = 0;
var y = 1;
var mdelay = 35;
var pdelay = 0;
var sdelay = 7000;
var tickerdir = 'up';
var slideshow = true;
var startticker = true;
var tickerdata = new Array();
var tickerTimer;
var tickerInterval;
var IE = (navigator.appName == 'Microsoft Internet Explorer')?1:0;

if (!IE) { // adjust for slower browsers
//	y *= 2;
//	mdelay *= 2;
}

function pageInit() {
	if ((slideshow) && (startticker)) { tickerTimer = setTimeout('scrollticker(tickerdir);',sdelay); }

	for (i = 0; i < itemlimit; i++) {
		document.getElementById('tickerDiv'+i).innerHTML = tickerdata[itemcount++];
		if (itemcount >= tickerdata.length) { itemcount = 0; }
	}

	if (!IE) {
		for (i = 0; i < itemlimit; i++) {
			document.getElementById('tickerDiv'+i).style.top = 0+'px';
		}
	}
}

function moveup() {
	tickerdir = 'up';
	var tickerObj;
	for (i = 0; i < itemlimit; i++) {
		tickerObj = document.getElementById('tickerDiv'+i);
		if (IE) { tickerObj.style.pixelTop = (tickerObj.style.pixelTop - y); }
		else {
			tickerObj.style.top = (parseInt(tickerObj.style.top) - y)+'px';
		}
	}
	tickerObj = document.getElementById('tickerDiv1');
	if (((IE) && ((tickerObj.offsetTop - y) < 0)) || ((!IE) && (findPosY(document.getElementById('tickerDiv1')) < 78))) {
		clearInterval(tickerInterval);
		switchvdivs();
	}
}

function movedown() {
	tickerdir = 'down';
	var tickerObj;
	for (i = 0; i < itemlimit; i++) {
		tickerObj = document.getElementById('tickerDiv'+i);
		tickerObj.style.pixelTop = (tickerObj.style.pixelTop + y);
	}
	tickerObj = document.getElementById('tickerDiv0');
	if ((tickerObj.offsetTop + y) > 0) {
		clearInterval(tickerInterval);
		switchvdivs();
	}
}

function switchvdivs() {
	var tickerObj;
	if (tickerdir == 'up') {
		for (i = 0; i < itemlimit; i++) {
			tickerObj = document.getElementById('tickerDiv'+i);
			tickerObj.style.top = '0px';
			if ((i+1) < itemlimit) {
				tickerObj.innerHTML = document.getElementById('tickerDiv'+(i+1)).innerHTML;
			}
		}
		if (itemcount == tickerdata.length) {
			if (loopitems) { itemcount = 0; }
			else { alert('You have reached the last vehicle'); }
		}
	}
	else {
		for (i = (itemlimit - 1); i >= 0; i--) {
			tickerObj = document.getElementById('tickerDiv'+i);
      if (i == 0) {
				tickerObj.style.top = (0 - document.getElementById('tickerDiv1').offsetTop) + 'px';
			}
			else {
				tickerObj.style.top = '-140px';
			}
			if ((i+1) < itemlimit) {
				tickerObj.innerHTML = document.getElementById('tickerDiv'+(i+1)).innerHTML;
			}
		}
		if (itemcount < 0) {
			if (loopitems) { itemcount = (tickerdata.length-1); }
			else { alert('You have reached the first vehicle'); }
		}
	}
  loaditem(itemcount);
}

function loaditem(i) {
	if (tickerdir == 'up') {
		itemcount++;
		document.getElementById('tickerDiv'+(itemlimit-1)).innerHTML = tickerdata[i];
	}
	else {
		itemcount--;
		document.getElementById('tickerDiv0').innerHTML = tickerdata[i];
	}
	if (slideshow) { tickerTimer = setTimeout('scrollticker(tickerdir);',pdelay); }
}

function scrollticker(scrolldir,manual) {
	if (startticker) {
		clearInterval(tickerInterval);
		clearTimeout(tickerTimer);
//		slideshow = false;
		if ((scrolldir != tickerdir) && (scrolldir != 'halt')) {
			if (scrolldir == 'up') {
				itemcount += (itemlimit+1);
				if (itemcount > tickerdata.length) { itemcount = (itemcount - tickerdata.length); }
			}
			else {
				itemcount -= (itemlimit+1);
				if (itemcount < 0) { itemcount = (tickerdata.length + itemcount); }
			}
			tickerdir = scrolldir;
//			switchvdivs();
		}
		if (scrolldir != 'halt') { tickerInterval = setInterval('move'+scrolldir+'();',mdelay); }
	}
	else {
		if (manual) { alert('All vehicles are being shown.'); }
	}
}

function findPosX(obj) {
	var curleft = 0;
	if (obj.offsetParent) {
		while (obj.offsetParent) {
			curleft += obj.offsetLeft;
			obj = obj.offsetParent;
		}
	}
	else if (obj.x) { curleft += obj.x; }
	return(curleft);
}

function findPosY(obj) {
	var curtop = 0;
	if (obj.offsetParent) {
		while (obj.offsetParent) {
			curtop += obj.offsetTop;
			obj = obj.offsetParent;
		}
	}
	else if (obj.y) { curtop += obj.y; }
	return(curtop);
}

