﻿vcc.allmodels = new Object();

vcc.allmodels.objTimeout = null;
vcc.allmodels.arCarLinks = [];

vcc.allmodels.showCarInfo = function(objLink, strFamily, strOrder, strCarInfoLayer, iCarId) {
	if (vcc.allmodels.objTimeout != null) clearTimeout(vcc.allmodels.objTimeout);
	var strArrowX;
	if (vcc.bIsRtl)
		strArrowX = (strFamily == "s" || strFamily == "v") ? "right" : "left";
	else
		strArrowX = (strFamily == "s" || strFamily == "v") ? "left" : "right";
	var strArrowY = (strOrder < 3) ? "top" : "bottom";
	var iX, iY;		
	var objCarInfoLayer = vcc.getObj(strCarInfoLayer);
	var iCarInfoLayerHeight = vcc.getH(objCarInfoLayer);
	
	for (var i = 0; i < vcc.allmodels.arCarLinks.length; i++) {
		if (vcc.allmodels.arCarLinks[i] != objLink) vcc.allmodels.arCarLinks[i].parentNode.className = "model inactive";
	}
	
	//Set thumbnail to active
	if (arCars[iCarId - 1].ThumbnailImageActive != null) {		
		objLink.getElementsByTagName("img")[1].src = arCars[iCarId - 1].ThumbnailImageActive.src;
	}
	//Load carinfo layer image
	var	arCarInfoLayerImages = objCarInfoLayer.getElementsByTagName("img");
	if (arCarInfoLayerImages.length > 0 && arCarInfoLayerImages[0].src.indexOf("1x1.gif") > -1 && arCars[iCarId - 1].carimage != null) {
		var objPlaceholderImage = arCarInfoLayerImages[0];
		var objParent = objPlaceholderImage.parentNode;
		var objImage = document.createElement("img");
		objImage.alt = objPlaceholderImage.getAttribute("alt");
		objImage.src = arCars[iCarId - 1].carimage;
		objParent.innerHTML = "";
		objParent.appendChild(objImage);
	}
	
	//Position arrow and car info layer
	var objArrowImage = objCarInfoLayer.getElementsByTagName("div")[0];
	if (strArrowY == "bottom") {			
		objArrowImage.style.top = iCarInfoLayerHeight - vcc.getH(objArrowImage) - 11 + "px";
		iY = vcc.getY(objLink,true) - vcc.getY("maincontent",true) + 6 - vcc.getY(objArrowImage) + 11;
	} else {
		objArrowImage.style.top = 11 + "px";
		iY = vcc.getY(objLink,true) - vcc.getY("maincontent",true) + 6;
	}
	if (strArrowX == "left") {
		iX = vcc.getX(objLink,true) - vcc.getX("maincontent",true) + vcc.getW(objLink) + 7;
	} else {
		iX = vcc.getX(objLink,true) - vcc.getX("maincontent",true) - 9 - vcc.getW(objCarInfoLayer);
	}
	
	vcc.allmodels.objTimeout = setTimeout("vcc.moveTo('" + objCarInfoLayer.id + "'," + iX + "," + iY + ")",300);
}

vcc.allmodels.hideCarInfo = function(objLink, strCarInfoLayer, iCarId) {
	if (vcc.allmodels.objTimeout != null) clearTimeout(vcc.allmodels.objTimeout);
	for (var i = 0; i < vcc.allmodels.arCarLinks.length; i++) {
		vcc.allmodels.arCarLinks[i].parentNode.className = "model";
	}
	//Set thumbnail to inactive
	if (arCars[iCarId - 1].ThumbnailImage != null)
		objLink.getElementsByTagName("img")[1].src = arCars[iCarId - 1].ThumbnailImage.src;
	vcc.moveTo(strCarInfoLayer,0,-2000);
}

vcc.allmodels.allModelsInit = function() {
	vcc.allmodels.arCarLinks = vcc.getElementsByAttribute("class","model-link","allmodels","a");
	for (var i = 0; i < arCars.length; i++) {
		var objCar = arCars[i];
		objCar.ThumbnailImage = new Image();
		objCar.ThumbnailImageActive = new Image();
		objCar.CarImage = new Image();
		with (objCar) {			
			ThumbnailImage.src = objCar.thumb;			
			ThumbnailImageActive.src = objCar.thumb2;			
			CarImage.src = objCar.carimage;
		}
	}
	//Add spacer images, to fix flicker in Firefox
	var objCarModelsContainer = vcc.getObj("allmodels");
	var arLinks = objCarModelsContainer.getElementsByTagName("a");
	for (var i = 0; i < arLinks.length; i++) {
		var strAltText = arLinks[i].getElementsByTagName("img")[0].alt;
		var objImage = arLinks[i].appendChild(document.createElement("img"));
		objImage.className = "click";
		objImage.alt = strAltText;
		objImage.src = "/_layouts/VolvoCars.Web.Sites/Images/1x1.gif";
		if (vcc.ie && vcc.version < 6) {
			objImage.url = arLinks[i].href;
			objImage.onclick = function() {
				document.location.href = this.url;
			}
		}		
	}
}

vcc.addEvent(window, "load", "vcc.allmodels.allModelsInit");

vcc.allmodels.showRangeDescription = function(strRangeName,strRangeLetter,objLink) {
	var objDescriptionLayer = vcc.getObj("range_" + strRangeName);
	var iX = vcc.getX(objLink,true) - vcc.getX("maincontent",true);
	var iY = vcc.getY("allmodels") + (vcc.getY(objLink,true) - vcc.getY("allmodels",true)) + vcc.getH(objLink);
	if (vcc.w3c && !vcc.opera && !vcc.safari) iY += 24;
	vcc.moveTo(objDescriptionLayer, iX, iY);
	//vcc.setDisplay(objDescriptionLayer,"block");	
	
	arImages = objLink.getElementsByTagName("img");
	if (arImages.length > 0)
		arImages[0].src = "/_layouts/VolvoCars.Web.Sites/Images/Showroom/range_" + strRangeLetter + "_over.gif";
}

vcc.allmodels.hideRangeDescription = function(strRangeName,strRangeLetter,objLink) {
	document.getElementById("range_" + strRangeName).style.top = "-1000px";
	//vcc.setDisplay("range_" + strRangeName,"none");
	arImages = objLink.getElementsByTagName("img");
	if (arImages.length > 0)
		arImages[0].src = "/_layouts/VolvoCars.Web.Sites/Images/Showroom/range_" + strRangeLetter + ".gif";
}