// ============ from functions.js
// This Javascript has been edited by Devin R 2007/09/11, this enables multiple model years, if you want to have 
//	only one model year revert back to the .js file that is now called SingleModelYearGallery.js
if (typeof vcc != "object")
	vcc = new Object();

vcc.getObj = function(strLayer) {
	if(typeof(strLayer) == "object") return strLayer;
	var elmLayer = document.getElementById(strLayer);
	if (!elmLayer)
		elmLayer = document.getElementsByName(strLayer)[0];
	return elmLayer;
}

vcc.setDisplay = function(strLayer,strValue) {
	if (!(elmLayer=vcc.getObj(strLayer)))
		return false;
	elmLayer.style.display = strValue;
}


// ========== 


vcc.gallery = new Object();
vcc.gallery.objDescription = null;
vcc.gallery.iTotalItems = 0;
vcc.gallery.arThumbnails = new Array();
vcc.gallery.blnLoadComplete = false;


vcc.gallery.init = function() {
	if (vcc.gallery.arItems == null) return;
	vcc.gallery.iTotalItems = vcc.gallery.arItems.length;
	for (var i = 0; i < vcc.gallery.arItems.length; i++) {
		var objItem = vcc.gallery.arItems[i];
		//Load image into memory
		if (objItem.ImageUrl != "") {
			objItem.Image = new Image();
			objItem.Image.src = objItem.ImageUrl;
		}
	}
	vcc.gallery.objDescription = vcc.getObj("description-text");
	//Display description link?
	if (vcc.gallery.objDescription.innerHTML.length > 0)
		vcc.setDisplay("description","block");
	
	//Disable/enable next and previous links
	vcc.getObj("next").className = (vcc.gallery.iTotalItems == 1) ? "disabled" : "";
	vcc.getObj("previous").className = "disabled";

	
	//Fix IE thumbnail image/link bug	
	var objThumbnailList = vcc.getObj("thumbnail-list");
	vcc.gallery.arThumbnails = objThumbnailList.getElementsByTagName("a");
	
	
	for (var i = 0; i < vcc.gallery.arThumbnails.length; i++) {
		if (vcc.ie) vcc.gallery.arThumbnails[i].innerHTML = "<img src=\"/Images/Global/Bits/transparent.gif\" alt=\"\"/>";
		vcc.gallery.arThumbnails[i].onfocus = function() {
			this.blur();
		}
	}

	vcc.gallery.blnLoadComplete = true;
} // end vcc.gallery.init


vcc.gallery.initWallpapers = function() {
	if (vcc.gallery.arItems == null) return;
	vcc.gallery.iTotalItems = vcc.gallery.arItems.length;
	for (var i = 0; i < vcc.gallery.arItems.length; i++) {
		var objItem = vcc.gallery.arItems[i];
		//Load image into memory
		if (objItem.ImageUrl != "") {
			objItem.Image = new Image();
			objItem.Image.src = objItem.ImageUrl;
		}
	}
	vcc.gallery.objDescription = vcc.getObj("description-text");
	//Display description link?
	if (vcc.gallery.objDescription.innerHTML.length > 0)
		vcc.setDisplay("description","block");
	
	//Disable/enable next and previous links
	/*
	vcc.getObj("next").className = (vcc.gallery.iTotalItems == 1) ? "disabled" : "";
	vcc.getObj("previous").className = "disabled";
	*/
	
	
	//Fix IE thumbnail image/link bug	
	var objThumbnailList = vcc.getObj("wallpaper-list");
	vcc.gallery.arThumbnails = objThumbnailList.getElementsByTagName("a");
	
	
	for (var i = 0; i < vcc.gallery.arThumbnails.length; i++) {
		if (vcc.ie) vcc.gallery.arThumbnails[i].innerHTML = "<img src=\"/Images/Global/Bits/transparent.gif\" alt=\"\"/>";
		vcc.gallery.arThumbnails[i].onfocus = function() {
			this.blur();
		}
	}

	vcc.gallery.blnLoadComplete = true;
} // end vcc.gallery.initWallpapers


vcc.gallery.GalleryItem = function(strDescription, strImageUrl, strFlashObjectTag, blnFlashItem, strLinkUrl) {
	this.Description = strDescription;
	this.ImageUrl = strImageUrl;
	this.FlashObjectTag = strFlashObjectTag;
	this.FlashItem = blnFlashItem;
	this.LinkUrl = strLinkUrl;
}


vcc.gallery.navigateItems = function(blnForward) {
	if (!vcc.gallery.blnLoadComplete) return;
	if (blnForward) {
		if (vcc.gallery.iActiveItem != vcc.gallery.iTotalItems) {
			vcc.gallery.displayItem(vcc.gallery.iActiveItem + 1);
		}
	} else {
		if (vcc.gallery.iActiveItem != 1) {
			vcc.gallery.displayItem(vcc.gallery.iActiveItem - 1);
		}
	}
}

vcc.gallery.displayItem = function(iItem) {	
	if (vcc.gallery.arItems == null || !vcc.gallery.blnLoadComplete) return;
	var objGalleryItem = vcc.gallery.arItems[iItem - 1];
	//Set new description text
	vcc.setDisplay(vcc.gallery.objDescription,"none");
	vcc.gallery.objDescription.innerHTML = objGalleryItem.Description;
	if (vcc.gallery.objDescription.innerHTML.length == 0) vcc.setDisplay("description","none");
	else vcc.setDisplay("description","block");
	
	//Change image/Flash	
	vcc.getObj("media").innerHTML = (objGalleryItem.FlashItem) ? eval(objGalleryItem.FlashObjectTag) : "<img src=\"" + objGalleryItem.ImageUrl + "\" alt=\"\"/>";
	
	//Set next and previous links to active/inactive
	if(vcc.getObj("next"))
		vcc.getObj("next").className = (iItem == vcc.gallery.iTotalItems) ? "disabled" : "";
	if(vcc.getObj("previous"))
		vcc.getObj("previous").className = (iItem == 1) ? "disabled" : "";
	
	//Display correct download links
	if(vcc.getObj("download-links"))	{
		var arDownloadContainers = vcc.getObj("download-links").getElementsByTagName("div");
		for (var i = 0; i < arDownloadContainers.length; i++) {
			arDownloadContainers[i].className = (i == (iItem - 1)) ? "active" : "";
		}
	}
	
	//Set thumbnails to active/inactive
	if (vcc.gallery.arThumbnails.length > 1) {
		vcc.gallery.arThumbnails[vcc.gallery.iActiveItem - 1].className = "";
		vcc.gallery.arThumbnails[iItem - 1].className = "active";
	}
	
	// Set navitem to active/inactive
	if (vcc.gallery.arThumbnails.length > 1) {
		var ActiveItemClass; //old item
		var ItemClass;	// new item
		ActiveItemClass=document.getElementById("navitem" + (vcc.gallery.iActiveItem-1).toString() ).className;
		ActiveItemClass=ActiveItemClass.replace("active", "inactive")

		ItemClass=document.getElementById("navitem" + (iItem-1).toString() ).className;
		ItemClass=ItemClass.replace("inactive", " active")

		document.getElementById("navitem" + (vcc.gallery.iActiveItem-1).toString() ).className = ActiveItemClass;
		
		document.getElementById("navitem" + (iItem-1).toString() ).className = ItemClass;
	}
	
	
	vcc.gallery.iActiveItem = iItem;	
}

