﻿
var	d				= document,
	initCarousel	= setInterval("InitializeCarousel();",100),
	initAttemps		= 0,
	photos,
	startTime		= 2000,
	timer			= 8000,
	speed			= 100,
	frames			= 1,
	FadeObj,
	fadeArray		= [10,0],
	fadePos			= fadeArray[1],
	fadeIn,
	fadeOut			= [null,null],
	imgIndex		= 0;


var	repeaters;

function getClasses (root, tag, elementClass) {
	var	el	= new Array(),
		els	= getTags(root, tag),
		rex	= new RegExp("\\b" + elementClass +"\\b");
	for(var xI = 0; xI < els.length; xI++)
		if(rex.test(els[xI].className) && els[xI].style.backgroundImage != null && els[xI].style.backgroundImage != "" )
			el.push(els[xI]);
	if(el == null || el.length < 1)	throw "Does Not Contain Objects";
	else		return el;
}
function getTags(root, elementTag) {
	var	el	= root.getElementsByTagName(elementTag);
	if(el == null || el.length < 1)	throw "Does Not Contain Objects";
	else		return el;
}
document.getElement	= function(elementId) {
	var	el	= this.getElementById(elementId);
	if(el == null)	throw "Not an Object";
	else		return el;
}

function InitializeCarousel() {
	initAttemps++;
	if( initAttemps < 50 )
		try {
			repeaters		= [	[ d.getElement("GasolineRepeater"),/*Photos[1]*/null,/*Photo Index[2]*/0,/*Photo Position[3]*/fadeArray[0],/*Fade Interval[4]*/null],
								[ d.getElement("DieselRepeater"),/*Photos[1]*/null,/*Photo Index[2]*/0,/*Photo Position[3]*/fadeArray[0],/*Fade Interval[4]*/null]
							   ];
			for(var i = 0; i < repeaters.length; i++) {
				repeaters[i][1] = getClasses(repeaters[i][0], "div", "Photo");
				repeaters[i][2] = repeaters[i][1].length - 1;
			}

			for(var i = 0; i < repeaters.length; i++)
				if(repeaters[i][1].length > 1)
					setTimeout("StartFadeOut(" + i + ");", timer + (i * startTime));
			
			initCarousel	= window.clearInterval(initCarousel);
		} catch (e) {
		}
	else {
		initCarousel	= window.clearInterval(initCarousel);
		alert("Initializing Carousel Failed");
	}
}
function StartFadeOut(index) {
	repeaters[index][4]		= setInterval("FadeOut("+index+");",speed);
}
function FadeOut(index) {
	var	rpt	= repeaters[index];
	rpt[3]	+= (frames * (fadeArray[0] < fadeArray[1]?1:-1));
	
	rpt[3]	= (fadeArray[0] > fadeArray[1])?fadeArray[1] < rpt[3]?rpt[3]:fadeArray[1]:fadeArray[1] > rpt[3]?rpt[3]:fadeArray[1];
	rpt[0].title			= 
	rpt[1][rpt[2]].className = rpt[1][rpt[2]].className.replace(/\bOpacity\d{1,3}\b/,"Opacity" + rpt[3]);
	
	
	if(rpt[3] == fadeArray[1]) {
		rpt[4]	= window.clearInterval(rpt[4]);
		rpt[3]	= fadeArray[0];
		rpt[2]--;
		if(rpt[2] == -1) {
			rpt[2]	= rpt[1].length - 1;
			for(var j = rpt[1].length - 1; j >= 0; j--)
				rpt[1][j].className = rpt[1][j].className.replace(/\bOpacity\d{1,3}\b/,"Opacity" + fadeArray[0]);
		}
		setTimeout("StartFadeOut(" + index + ");", timer);
	}
}

/*
			function InitializeCarousel() {
				initAttemps++;
				if( initAttemps < 50 )
					try {
						photos		= new Array();
						FadeObj		= d.getElement("CarouselFade");
						InsertPhoto(photos,d.getElement("CarouselImg_0"));
						InsertPhoto(photos,d.getElement("CarouselImg_1"));
						InsertPhoto(photos,d.getElement("CarouselImg_2"));
						InsertPhoto(photos,d.getElement("CarouselImg_3"));
						InsertPhoto(photos,d.getElement("CarouselImg_4"));

						setTimeout("StartFadeIn();",1000);
						initCarousel	= window.clearInterval(initCarousel);
					} catch (e) {}
				else {
					initCarousel	= window.clearInterval(initCarousel);
					alert("Initializing Carousel Failed");
				}
			}
			function StartFadeIn() {
				fadeIn				= setInterval("FadeIn();",speed);
				FadeObj.style.backgroundColor	= "transparent";
			}
			function FadeIn() {
				fadePos	+= (frames * (fadeArray[1] < fadeArray[2]?1:-1));
				fadePos	= (fadeArray[1] < fadeArray[2])?fadeArray[2] > fadePos?fadePos:fadeArray[2]:fadeArray[2] < fadePos?fadePos:fadeArray[2];
				FadeObj.style.backgroundPosition	= isVertical? "0px " + fadePos + "px" : fadePos + "px 0px";
				if(fadePos == fadeArray[2]) {
					fadeIn	= window.clearInterval(fadeIn);
					fadePos	= fadeArray[0];
					if(photos.length > 1) 
						setTimeout("StartFadeOut();",timer);
				}
			}
			function StartFadeOut() {
				fadeOut		= setInterval("FadeOut();",speed);
			}
			function FadeOut() {
				fadePos	+= (frames * (fadeArray[0] < fadeArray[1]?1:-1));
				fadePos	= (fadeArray[0] > fadeArray[1])?fadeArray[1] < fadePos?fadePos:fadeArray[1]:fadeArray[1] > fadePos?fadePos:fadeArray[1];
				FadeObj.style.backgroundPosition	= isVertical? "0px " + fadePos + "px" : fadePos + "px 0px";
				if(fadePos == fadeArray[1]) {
					fadeOut	= window.clearInterval(fadeOut);
					TogglePhoto(photos[imgIndex++],true);
					if(imgIndex >= photos.length)
						imgIndex = 0;
					TogglePhoto(photos[imgIndex],false);
					setTimeout("StartFadeIn();",10);
				}
			}
			function TogglePhoto(el,isOff) {
				el.className	= el.className.replace(/\bo(ff|n)/i,isOff?"Off":"On");
			}
			function InsertPhoto(arr,obj) {
				if(obj.style.backgroundImage != null && obj.style.backgroundImage != "" )
					arr.push(obj);
			}
 */
