var timer;
var strActiveCarLayer;

vcc.highlightCar = function(iCar, blnOn) {
	var elmLink = vcc.getObj("carLink" + iCar);
	var strClass = blnOn ? "whiteBg" : "";
	elmLink.className = strClass;
	var strCarLayer = "carInfo" + iCar;
	if (blnOn) {
		if (strCarLayer == strActiveCarLayer)
			clearTimeout(timer);
		vcc.show(strCarLayer);
		strActiveCarLayer = strCarLayer;
	}
	else {
		timer = setTimeout("vcc.hide('" + strCarLayer + "')", 5);
	}
}

vcc.loadCarInfo = function() {
	var j = 1;
	while ((elmContainer = vcc.getObj("carInfo" + j++))) {
		var arImages = elmContainer.getElementsByTagName("img");
		for (var i=0; i<arImages.length; i++) {
			var strRealSrc = arImages[i].getAttribute("realsrc");
			if (strRealSrc) {
				if (strRealSrc.toLowerCase().indexOf("<img") == 0) {
					var re = /alt=\"([^\"]*)/i;
					re.exec(strRealSrc);
					strAlt = RegExp.$1;
					arImages[i].alt = strAlt;
					var re = /<img src=\"([^\"]*)/i;
					re.exec(strRealSrc);
					strRealSrc = RegExp.$1;
				}
				arImages[i].src = strRealSrc;
				arImages[i].style.visibility = "inherit";
			}
		}
	}
}

vcc.initLineUp = function() {
	var elmLineUp = vcc.getObj("showroomLineup");
	if (!elmLineUp)
		return;
	var arLinks = elmLineUp.getElementsByTagName("a");
	if (!arLinks)
		return;
	for (var i=0; i<arLinks.length; i++) {
		var elmLi = arLinks[i].parentNode;
		elmLi.style.cursor = "hand";
		elmLi.onclick = function() {
			if (this.firstChild && this.firstChild.click)
				this.firstChild.click();
		}
	}
}

vcc.fixBanners = function() {
	for (var i=1; i<=3; i++) {
		var elmBannerImg = vcc.getObj("banner" + i + "Img");
		var elmBannerText = vcc.getObj("banner" + i + "Text");
		var elmBannerSpacerLink = vcc.getObj("banner" + i + "SpacerLink");
		if (i < 3) { // Only the first two banners
			var iRand = Math.random();
			if (iRand > .5) {
				var elmBannerImgAlt = vcc.getObj("banner" + i + "ImgAlt");
				var elmBannerTextAlt = vcc.getObj("banner" + i + "TextAlt");
				if (elmBannerImg && elmBannerImgAlt && elmBannerImgAlt.value.indexOf("img") > -1) {
					elmBannerImg.innerHTML = elmBannerImgAlt.value;
					elmBannerText.innerHTML = elmBannerTextAlt.value;
				}
			}
		}
		// Fix that the whole banner area is linking to the same link as the bullet link does.
		if (elmBannerText) {
			var arLinks = elmBannerText.getElementsByTagName("a");
			if (arLinks.length == 1) {
				var arLinks = elmBannerText.getElementsByTagName("a");
				if (arLinks.length) {
					elmBannerSpacerLink.href = arLinks[0].href;
					elmBannerSpacerLink.target = arLinks[0].target;
					vcc.show(elmBannerSpacerLink);
					var arBannerImgLinks = elmBannerImg.getElementsByTagName("a");
					if (arBannerImgLinks.length) {
						arBannerImgLinks[0].href = arLinks[0].href;
						arBannerImgLinks[0].target = arLinks[0].target;
					}
				}
				// Fix the link active state onmouseover
				elmBannerText.parentNode.onmouseover = function() {
					var elmTextPH = vcc.getObj(this.id + "Text");
					var arListItems = elmTextPH.getElementsByTagName("li");
					if (arListItems.length == 1) {					
						arListItems[0].className = "active";
					}
				}
				elmBannerText.parentNode.onmouseout = function() {
					var elmTextPH = vcc.getObj(this.id + "Text");
					var arListItems = elmTextPH.getElementsByTagName("li");
					if (arListItems.length == 1) {					
						arListItems[0].className = "";
					}
				}
			}
		}
	}
}

vcc.initHomePage = function() {
	if (vcc.strAuthorMode == "AuthoringReedit" || vcc.strAuthorMode == "AuthoringNew")
		return;
	vcc.initLineUp();
	vcc.loadCarInfo();
	//vcc.fixBanners();
	vcc.listLinks.init("content");
}

// This function exists both in homepage.js and general.js. This is because we don't want to have to load general.js on the homepage.
vcc.showFlashFallback = function() {
	if (vcc.strAuthorMode && (vcc.strAuthorMode == "AuthoringReedit" || vcc.strAuthorMode == "AuthoringNew"))
		return false;
	var arElmFallbackUrl = document.getElementsByName("fallbackImgUrl");
	var arElmFallbackHref = document.getElementsByName("fallbackImgHref");
	var arElmFallbackTarget = document.getElementsByName("fallbackImgTarget");
	var arElmFallbackAlt = document.getElementsByName("fallbackImgAlt");
	for (var i=0; i<arElmFallbackUrl.length; i++) {
		if (arElmFallbackUrl[i].value.length > 0) {
			var arLinks = arElmFallbackUrl[i].parentNode.getElementsByTagName("a");
			if (arLinks.length == 1 && arLinks[0].id == "flashContainer1") {
				var elmFlash = arLinks[0];
				var elmImgParent = arElmFallbackUrl[i].parentNode;
				elmFlash.className = "hidden";
				if (arElmFallbackHref[i] && arElmFallbackHref[i].value.length > 0) {
					var elmLink = document.createElement("a");
					elmImgParent.appendChild(elmLink);
					elmLink.href = arElmFallbackHref[i].value;
					if (arElmFallbackTarget[i] && arElmFallbackTarget[i].value.length > 0)
						elmLink.target = arElmFallbackTarget[i].value;
					elmImgParent = elmLink;
				}
				var elmImg = document.createElement("img");
				elmImgParent.appendChild(elmImg);
				elmImg.border = 0;
				elmImg.src = arElmFallbackUrl[i].value;
				if (arElmFallbackAlt[i] && arElmFallbackAlt[i].value.length > 0) {
					elmImg.alt = arElmFallbackAlt[i].value;
					elmImg.title = arElmFallbackAlt[i].value;
				}
			}
		}
	}
}

if (!vcc.flashCheck(6) && !vcc.flashFallBackShown) {
	vcc.addEvent(window, "load", "vcc.showFlashFallback");
	vcc.flashFallBackShown = true;
}

vcc.addEvent(window, "load", "vcc.initHomePage");