
function showAllKeyFeatures(state)
{
	var keyFeaturesListView = document.getElementById('keyFeaturesListView');
	keyFeaturesListView.style.display = (state) ? 'block' : 'none';
}


/**
 * Selects the navigation tab
 * @param tabId The tab ID
 */
function selectTab(tabId, showAll)
{
	try {
		if (tabId == currentTabId) {
			return;
		}
		var tabs = document.getElementById('tabs');
		var tabsTotal = tabs.getElementsByTagName('LI').length;
		var contentAreas = document.getElementById('contentAreas');
	} catch(error) {
		displayErrorOutput(error);
	}
	// Deselect all tabs
	for (var i = 0; i < tabs.getElementsByTagName('LI').length; i++) {
		try {
			var currentTab = tabs.getElementsByTagName('LI')[i];
			/*
			removeCssClass(currentTab, 'selected');
			removeCssClass(currentTab, 'selectedFirst');
			removeCssClass(currentTab, 'next');
			removeCssClass(currentTab, 'prev');
			removeCssClass(currentTab, 'last');
			removeCssClass(currentTab, 'borderless');
			removeCssClass(currentTab, 'prevFirst');
			*/
			currentTab.className = '';
			var tabName = currentTab.id.substr(4, currentTab.id.length - 1);
			var tabImage = currentTab.getElementsByTagName('img')[0];
			if (i == tabId) {
				tabImage.src = '/global/images/completespecs/tab_' + tabName + '_selected.gif';
			} else {
				tabImage.src = '/global/images/completespecs/tab_' + tabName + '.gif';
			}
		} catch(e) {
			//alert('Error in selectTab ' + e.description);
		}
	}
	
	// Select tab that was clicked
	try {
		var selectedClassName = (tabId == 0) ? 'selectedFirst' : 'selected';
		addCssClass(tabs.getElementsByTagName('LI')[tabId], selectedClassName);
		if (tabId < tabsTotal - 1) {
			addCssClass(tabs.getElementsByTagName('LI')[tabId + 1], 'next');
		}
		if (tabId > 0) {
			if (tabId == 1) {
				addCssClass(tabs.getElementsByTagName('LI')[tabId - 1], 'prevFirst');
			} else {
				addCssClass(tabs.getElementsByTagName('LI')[tabId - 1], 'prev');
				addCssClass(tabs.getElementsByTagName('LI')[0], 'borderless');
			}
		}
		if (tabId == (tabsTotal - 1)) {
			addCssClass(tabs.getElementsByTagName('LI')[tabId], 'last');
		}
	} catch(e) {
		//alert('2. ' + e.description);
	}
	
	try {
		// Hide all visible contentAreas
		for (var i = 0; i < contentAreas.childNodes.length; i++) {
			if (contentAreas.childNodes[i].nodeName == 'DIV') {
				contentAreas.childNodes[i].style.display = 'none';
			}
		}
		
		// Display chosen content area(s)
		if (showAll == true) {
			for (var i = 0; i < contentAreas.childNodes.length; i++) {
				if (contentAreas.childNodes[i].nodeName == 'DIV') {
					contentAreas.childNodes[i].style.display = 'block';
				}
			}
		} else {
			document.getElementById('contentArea'+currentTabId).style.display = 'none';
			document.getElementById('contentArea'+tabId).style.display = 'block';
		}
	} catch(e) {
		alert('3. ' + e.description);
	}

	currentTabId = tabId;
}

/**

*/
function rollTab(tab, state)
{
	if (tab.className.indexOf('selected') == -1) {
		var img = tab.getElementsByTagName('img')[0];
		var tabName = tab.id.substr(4, tab.id.length - 1);
		//'assets/images/tab_' + tabName + '_selected.png';
		img.src = (state) ? '/global/images/completespecs/tab_' + tabName + '_selected.gif' : '/global/images/completespecs/tab_' + tabName + '.gif';
	}
}

/**
 * Notifies the Key Features tab movie to select an option
 * @param item
 */
function selectKeyFeatureItem(item)
{
	//getSWF('keyFeatures').selectKeyFeatureItem(item);
}

/**
 * Function: Determines the correct method of addressing a SWF
 * @return A reference to the SWF
 */
function getSWF(movieName) {
	if (navigator.appName.indexOf("Microsoft") != -1) {
		return window[movieName]
	} else {
		return document[movieName]
	}
}










/**
 * 
 */
function showHideLegal()
{
	var nVer = navigator.appVersion;
	var nAgt = navigator.userAgent;
	var browserName  = '';
	var fullVersion  = 0; 
	var majorVersion = 0;
	
	// In Internet Explorer, the true version is after "MSIE" in userAgent
	if ((verOffset=nAgt.indexOf("MSIE"))!=-1) {
		isIE = true;
	}
	
	try {
		var legal = document.getElementById('legalDiv');
		var swf_legal = document.getElementById('swf_legal');
		if (legal.style.display == 'none' || legal.style.display == '') {
			if(isIE){
				legal.style.marginLeft= -477;
			}
			legal.style.display = isIE ? 'inline' : 'block';
			swf_legal.style.visibility = 'visible';
		} else {
			legal.style.display = 'none';
			swf_legal.style.display = 'hidden';
		}
	} catch(e) {
		//alert('Error: ' + e.description);	
	}
}
function hideLegal()
{
	showHideLegal();
}

/**
 * 
 */
function getMouseCoords(e)
{ 
	if (!e) {
		e = window.event;
	}
	if (e) { 
		mouseX = isIE ? (e.clientX + document.body.scrollLeft) : e.pageX;
		mouseY = isIE ? (e.clientY + document.body.scrollTop) : e.pageY;
	}
}

/**
 * Adds a CSS class to an element
 * @param element
 * @param cssClassName
 */
function addCssClass(element, cssClassName)
{
	element.className += ' ' + cssClassName;
}

/**
 * Removes a CSS class from an element
 * @param element
 * @param cssClassName
 */
function removeCssClass(element, cssClassName)
{
	var initialClassName = element.className;
	var classNameArray = initialClassName.split(' ');
	try {
		//var arrIndex = classNameArray.indexOf(cssClassName);
		var arrIndex = indexOf(classNameArray, cssClassName);
	} catch(e) {
		var s = new String();
		for (var item in e) {
			s += item + ': ' + e[item] + '\n';
		}
		alert('Error:\n' + s);
		arrIndex = -1;
	}
	if (arrIndex != -1) {
		classNameArray.splice(arrIndex,1);
	}
	var newClassName = classNameArray.join(' ');
	element.className = newClassName;
}



var FLASH_PLAYER_VERSION = 8;
var currentTabId = 0;
var isIE = document.all;
var mouseX = 0;
var mouseY = 0;
//document.onmousemove = getMouseCoords;
/*
window.onload = handleOnload;

function handleOnload()
{
	preloadNavImages();
}

function preloadNavImages()
{
	try {
		var tabs = document.getElementById('tabs').getElementsByTagName('LI');
		for (var i = 0; i < tabs.length; i++) {
			var currentTab = tabs[i];
			var tabName = currentTab.id.substr(4, currentTab.id.length - 1);
			var img = new Image();
			img.src = '../../../en/us/assets/images/tab_' + tabName + '_selected.png';
			var imgSelected = new Image();
			imgSelected.src = '../../../en/us/assets/images/tab_' + tabName + '.png';
		}
	} catch(e) {
		// No tabs in this section
	}
}
*/
/**
 *
 */
 function indexOf(array, value)
 {
 	var index = -1;
 	for (var i = 0; i < array.length; i++) {
 		if (array[i] == value) {
 			index = 1;
 			break;
 		}
 	}
 	//alert('indexOf ' + value + ' in ' + array + ' was ' + index); 
 	return index;
 }
 
 
 function showKeyFeatures(show)
 {
 	try {
	 	if (show == 0) {
	 		document.getElementById('keyFeaturesListView').style.display = 'none';
	 	} else {
	 		document.getElementById('keyFeaturesListView').style.display = 'block';
	 	}
 	} catch (error) {
 		displayErrorOutput(error);
 	}
 }
 
 
 function displayErrorOutput(error) {
 	if (DEBUG) {
	 	var s = new String();
	 	for (var item in error) {
	 		s += item + ': ' + error[item] + '\n';
	 	}
 	}
 }
 
 
 function printPage()
 {
	window.print();
 }
 
 function displayTab(name)
 {
	if(name == "engineering")
		selectTab(0);
	else if(name == "dimensions")
		selectTab(1);
	else if(name == "mileage")
		selectTab(2);
	else if(name == "std_features")
		selectTab(3);
	else if(name == "show_all")
		selectTab(4, true);
	else
		selectTab(4, true);
}

//displayTab(vw.util.getQueryStringValue('loc1'));