var mmArr = new Array("mm_specials","mm_yourcar", "mm_newproducts","mm_gifts","mm_body","mm_books","mm_brakes","mm_chips","mm_cooling","mm_driveline","mm_engine","mm_exhaust","mm_fluids","mm_gauges","mm_helmets","mm_ignition","mm_intake","mm_lighting","mm_safety","mm_seats","mm_suspension","mm_team","mm_tools","mm_wheels","mm_clearance");
var mmArrOn = new Array();
var mmArrOff = new Array();

var tmArr = new Array ("tm_about","tm_racing","tm_news","tm_tv","tm_services","tm_contact","tm_cars","tm_store");
var tmArrOn = new Array();
var tmArrOff = new Array();

var loc = location.href;
var test = loc.indexOf("https://");
var protocol = (test == -1) ? "http://" : "https://";

var MAX_NEWS_ITEMS = 4;

// find highest Z index number on page...

function getNextHighestZindex(obj){  
   var highestIndex = 0;  
   var currentIndex = 0;  
   var elArray = Array();  
   if(obj){ elArray = obj.getElementsByTagName('*'); }else{ elArray = document.getElementsByTagName('*'); }  
   for(var i=0; i < elArray.length; i++){  
      if (elArray[i].currentStyle){  
         currentIndex = parseFloat(elArray[i].currentStyle['zIndex']);  
      }else if(window.getComputedStyle){  
         currentIndex = parseFloat(document.defaultView.getComputedStyle(elArray[i],null).getPropertyValue('z-index'));  
      }  
      if(!isNaN(currentIndex) && currentIndex > highestIndex){ highestIndex = currentIndex; }  
   }  
   return(highestIndex+1);  
}


// preload top menu images
for (var i=0; i< tmArr.length; i++) {
	tmArrOff[i] = new Image();
	tmArrOn[i] = new Image();
	tmArrOff[i].src = protocol + "bimmerworld.com/re/imgs/" + tmArr[i] + ".gif";
	tmArrOn[i].src = protocol + "bimmerworld.com/re/imgs/" + tmArr[i] + "_on.gif";
}

// preload main menu images
for (var i=0; i< mmArr.length; i++) {
	mmArrOff[i] = new Image();
	mmArrOn[i] = new Image();
	mmArrOff[i].src = protocol + "bimmerworld.com/re/imgs/" + mmArr[i] + ".gif";
	mmArrOn[i].src = protocol + "bimmerworld.com/re/imgs/" + mmArr[i] + "_on.gif";
}

function clearForm (element) {
	element.value = '';
}


function getIndexFromArray (lookup, arr) {
	var index = 0;
	for (var i=0; i < arr.length; i++) {
		if (lookup == arr[i]) {
			index = i;
			break;
		}
	}
	return index;
}
function tm_on (id) {
	var index = getIndexFromArray(id,tmArr);
	if ( document.images ) {
		butOn = tmArrOn[index].src;
		document.getElementById(id).src = butOn;
	}
}
function tm_off (id) {
	var index = getIndexFromArray(id,tmArr);
	if ( document.images ) {
		butOff = tmArrOff[index].src;
		document.getElementById(id).src = butOff;
	}
}
function mm_on (id) {
  var index = getIndexFromArray(id,mmArr);
  if (document.images) {
    butOn = mmArrOn[index].src;
    document.getElementById(id).src = butOn;
  }
}
function mm_off (id) {
  var index = getIndexFromArray(id,mmArr);
  if (document.images) {
    butOff = mmArrOff[index].src;
    document.getElementById(id).src = butOff;
  }
}

function buildNewsPod (newsXml) {
	var IMG_BASE = "/news";
	var ARTICLE_BASE = "/";
	var NEWS_URL = "news/viewer.php?load=";
	var newsStr = '<table cellpadding="4">';
	for (var i=0; i < MAX_NEWS_ITEMS; i++) {
		var url = newsXml.getElementsByTagName("url")[i].firstChild.nodeValue;
		var title = newsXml.getElementsByTagName("headline")[i].firstChild.nodeValue;
		var thumb = newsXml.getElementsByTagName("thumbnail")[i].firstChild.nodeValue;
		var date = newsXml.getElementsByTagName("date")[i].firstChild.nodeValue;
		newsStr += "<tr><td valign='top'><img src=\""+IMG_BASE+thumb+"\" width='47' height='35' alt='"+title+"' border='0' /></td>";
		newsStr += "<td><b><a href=\""+ARTICLE_BASE+NEWS_URL+url+"\">"+title+"</a></b><br />"+date+"</td></tr>";
	}
	newsStr += "</table>";
	$("news_pod").innerHTML = newsStr;
}
function loadMenuXml(xmlFile) {
	new Ajax.Request(xmlFile,
	  {
		method:'get',
		onComplete: function(xmlData) {
		  	buildMainMenu(xmlData.responseXML);
		},
		onFailure: function() {
			alert('Failed to load menu data');
		}
	  });
}
function loadNewsXml(xmlFile) {
	new Ajax.Request(xmlFile,
	  {
		method:'get',
		onComplete: function(xmlData) {
			buildNewsPod(xmlData.responseXML);
		},
		onFailure: function() {
			//alert('Failed to load menu data');
			$("news_pod").innerHTML = "We are unable to load news articles at this time."
		}
	  });
}
function clearOptin () {
	var currVal = $('optin').value;
	$('optin').value = (currVal == "Enter email address") ? '' : currVal;
}
function loadArchiveNews () {
	var i = document.newsArchive.news_articles.selectedIndex;
	var url = document.newsArchive.news_articles.options[i].value;
	if (url != "2008" && url != "2007" && url != "----") {
		url = "/news/" + url;
		window.open (url,"news_archive");
	}
}
