//navType defines image/textual links, navFlow defines horizontal/vertical placement
var navType = '';
var navFlow = '';
var curNav = "";

//function to create a link object and properties
function Link( argName, argId, argUrl, argOn, argOff, argAt ){
	this.name      = argName;
	this.id        = argId;
	this.url       = argUrl;
	this.state     = new LinkState( argOn, argOff, argAt );
}

//function creates state object and properties which are part of the link object
function LinkState( argOn, argOff, argAt ){
	this.on  = argOn;
	this.off = argOff;
	this.at  = argAt;
}

function drawNav(argType, argFlow, argNav){
	navType = argType;
	navFlow = argFlow;
	curNav = argNav;
	var offsetType = getFlow();
	
switch (navType){
 case "leftNav":
		drawLeftNav(offsetType);
	break	
  case "autoshow_top":
      drawAutoShowTopNav(offsetType);
    break
  case "autoshow_footer":
    drawAutoShowFooterNav(offsetType);
    break
  case "news":
		drawNewsNav(offsetType);
		break	
	case "drop_img":
		drawDropImgNav(offsetType);
		break	
	case "img":
		drawImgNav(offsetType);
		break
  case "dealer":
		drawDealerNav(offsetType);
		break
  case "global":
    drawGlobalNav(offsetType);
    break
  case "footer":
    drawFooterNav(offsetType);
    break
  case "vehicle_tab":
    drawVehicleTab(offsetType);
    break
	default : drawImgNav(offsetType);
	}
}

//Draws image navigation based on navType and navFlow
function drawLeftNav(argOffset){
	var data = '';

	for( var i = 0; i < eval(curNav).length; i++){
		var temp = Math.random();
		var isParent = parentTrap(eval(curNav)[i].id);
		if(eval(curNav)[i].id == currentPage){
				data += '<a href="' + eval(curNav)[i].url + '" name="&lid='+ eval(curNav)[i].name +'&lpos='+ curNav +'"><img src="' + eval(curNav)[i].state.at + '" name="' + eval(curNav)[i].id + temp + '" border="0" ></a>' + argOffset;
		}else{
			data += '<a href="' + eval(curNav)[i].url + '" name="&lid='+ eval(curNav)[i].name +'&lpos='+ curNav +'" onMouseover="rollover(\'nav' + eval(curNav)[i].id + temp + '\', \'' + eval(curNav)[i].state.on + '\');" onMouseout="rollover(\'nav' + eval(curNav)[i].id + temp + '\', \'' + eval(curNav)[i].state.off + '\');"><img src="' + eval(curNav)[i].state.off + '" name="nav' + eval(curNav)[i].id + temp + '" border="0"></a>';
		}
	}
	document.write(data);
}

//Draws image navigation based on navType and navFlow
function drawDealerNav(argOffset){
	var data = '';
  
  data += '<table cellspacing="0" cellpadding="0" border="0" width="134" bgcolor="ffffff">';
  data += '<tr>';
  data += '<td colspan="3" class="dealerBorder"><img src="/img/spacer.gif" height="1" border="0"></td>';
  data += '</tr><tr>';
  data += '<td rowspan="2" valign="top" class="dealerBorder"><img src="/img/spacer.gif" width="1" border="0"></td>';
  data += '<td valign="middle" ><img src="/img/spacer.gif" border="0" width="1" height="1"></td>';
  data += '<td rowspan="2" valign="top" class="dealerBorder"><img src="/img/spacer.gif" width="1" border="0"></td>';
  data += '</tr><tr>';
  data += '<td valign="top">';
    for( var i = 0; i < eval(curNav).length; i++){
      var temp = Math.random();
      var isParent = parentTrap(eval(curNav)[i].id);
      if(eval(curNav)[i].id == currentPage || eval(curNav)[i].id == curSubPage || isParent == true){
          data += '<a href="' + eval(curNav)[i].url + '" name="&lid='+ eval(curNav)[i].name +'&lpos='+ curNav +'"><img src="' + eval(curNav)[i].state.at + '" name="' + eval(curNav)[i].id + temp + '" border="0" ></a>' + argOffset;
      }else if(i != (eval(curNav).length - 1)){
        data += '<a href="' + eval(curNav)[i].url + '" name="&lid='+ eval(curNav)[i].name +'&lpos='+ curNav +'" onMouseover="rollover(\'' + eval(curNav)[i].id + temp + '\', \'' + eval(curNav)[i].state.on + '\');" onMouseout="rollover(\'' + eval(curNav)[i].id + temp + '\', \'' + eval(curNav)[i].state.off + '\');"><img src="' + eval(curNav)[i].state.off + '" name="' + eval(curNav)[i].id + temp + '" border="0"></a>' + argOffset;
      }else{
        data += '<a href="' + eval(curNav)[i].url + '" name="&lid='+ eval(curNav)[i].name +'&lpos='+ curNav +'" onMouseover="rollover(\'' + eval(curNav)[i].id + temp + '\', \'' + eval(curNav)[i].state.on + '\');" onMouseout="rollover(\'' + eval(curNav)[i].id + temp + '\', \'' + eval(curNav)[i].state.off + '\');"><img src="' + eval(curNav)[i].state.off + '" name="' + eval(curNav)[i].id + temp + '" border="0"></a>';
      }
    }
  data += '<br><img src="/img/spacer.gif" height="2" /></td>';
  data += '</tr><tr>';
  data += '<td colspan="3" class="dealerBorder"><img src="/img/spacer.gif" height="1" border="0"></td>';
  data += '</tr>';
  data += '</table>';
    data += '<br>';
	document.write(data);
}

//Draws image navigation based on navType and navFlow
function drawAutoShowTopNav(argOffset){
	var data = '';
	for( var i = 0; i < eval(curNav).length; i++){
		var temp = Math.random();
		var isParent = parentTrap(eval(curNav)[i].id);
		if(eval(curNav)[i].id == currentPage || eval(curNav)[i].id == curSubPage || isParent == true){
     data += '<a href="' + eval(curNav)[i].url + '" name="&lid='+ eval(curNav)[i].name +'&lpos='+ curNav +'"><img src="' + eval(curNav)[i].state.at + '" name="' + eval(curNav)[i].id + temp + '" border="0" ></a>' + argOffset;
		}else{
			data += '<a href="' + eval(curNav)[i].url + '" name="&lid='+ eval(curNav)[i].name +'&lpos='+ curNav +'" onMouseover="rollover(\'nav' + eval(curNav)[i].id + temp + '\', \'' + eval(curNav)[i].state.on + '\');" onMouseout="rollover(\'nav' + eval(curNav)[i].id + temp + '\', \'' + eval(curNav)[i].state.off + '\');"><img src="' + eval(curNav)[i].state.off + '" name="nav' + eval(curNav)[i].id + temp + '" border="0"></a>';
      argOffset;
		}
	}
	document.write(data);
}

//Draws textual navigation based on navType and navFlow
function drawAutoShowFooterNav(argOffset){
	var data = '';

	for( var i = 0; i < eval(curNav).length; i++){
		var isParent = parentTrap(eval(curNav)[i].id);
		if(eval(curNav)[i].id == currentPage || eval(curNav)[i].id == curSubPage || isParent == true){
			data += '<a class="footer" href="' + eval(curNav)[i].url + '" name="&lid='+ eval(curNav)[i].name +'&lpos='+ curNav +'">' + eval(curNav)[i].name + ' ></a>' + argOffset;
		}else{
			data += '<a class="footer" href="' + eval(curNav)[i].url + '" name="&lid='+ eval(curNav)[i].name +'&lpos='+ curNav +'">' + eval(curNav)[i].name + ' ></a>' + argOffset;
		}
	}
	document.write(data);
}

//Draws textual navigation based on navType and navFlow
function drawNewsNav(argOffset){
	var data = '';

	for( var i = 0; i < eval(curNav).length; i++){
		var isParent = parentTrap(eval(curNav)[i].id);
		if(eval(curNav)[i].id == currentPage || eval(curNav)[i].id == curSubPage || isParent == true){
			data += eval(curNav)[i].name + '<br><a href="' + eval(curNav)[i].url + '" name="&lid='+ eval(curNav)[i].name +'&lpos='+ curNav +'">Learn More&gt;&gt;</a>' + argOffset;
		}else{
			data += eval(curNav)[i].name + '<br><a href="' + eval(curNav)[i].url + '" name="&lid='+ eval(curNav)[i].name +'&lpos='+ curNav +'">Learn More&gt;&gt;</a>' + argOffset;
		}
	}
	document.write(data);
}

//Draws textual navigation based on navType and navFlow
function drawTextNav(argOffset){
	var data = '';

	for( var i = 0; i < eval(curNav).length; i++){
		var isParent = parentTrap(eval(curNav)[i].id);
		if(eval(curNav)[i].id == currentPage || eval(curNav)[i].id == curSubPage || isParent == true){
			data += '<a href="' + eval(curNav)[i].url + '" name="&lid='+ eval(curNav)[i].name +'&lpos='+ curNav +'"><b>' + eval(curNav)[i].name + ' >></b></a>' + argOffset;
		}else{
			data += '<a href="' + eval(curNav)[i].url + '" name="&lid='+ eval(curNav)[i].name +'&lpos='+ curNav +'">' + eval(curNav)[i].name + ' >></a>' + argOffset;
		}
	}
	document.write(data);
}

//Draws textual Global navigation based on navType and navFlow
function drawGlobalNav(argOffset){
	var data = '';

	for( var i = 0; i < eval(curNav).length; i++){
		var isParent = parentTrap(eval(curNav)[i].id);
		if(eval(curNav)[i].id == currentPage || eval(curNav)[i].id == curSubPage || isParent == true){
			if(lang == "cn"){
			data += '<a href="' + eval(curNav)[i].url + '" name="&lid='+ eval(curNav)[i].name +'&lpos='+ curNav +'" class="globalNavOn">' + eval(curNav)[i].name + '</a>' + argOffset;}
			else{
			data += '<a href="' + eval(curNav)[i].url + '" name="&lid='+ eval(curNav)[i].name +'&lpos='+ curNav +'" class="en_globalNavOn">' + eval(curNav)[i].name + '</a>' + argOffset;}
		}else{
			if(lang == "cn"){
			data += '<a href="' + eval(curNav)[i].url + '" name="&lid='+ eval(curNav)[i].name +'&lpos='+ curNav +'" class="globalNav">' + eval(curNav)[i].name + '</a>' + argOffset;}
			else{
			data += '<a href="' + eval(curNav)[i].url + '" name="&lid='+ eval(curNav)[i].name +'&lpos='+ curNav +'" class="en_globalNav">' + eval(curNav)[i].name + '</a>' + argOffset;}
		}
	}
	document.write(data);
}

function drawFooterNav(argOffset){
	var data = '';

	for( var i = 0; i < eval(curNav).length; i++){
		var isParent = parentTrap(eval(curNav)[i].id);
		if(lang == "cn"){
		data += '<a href="' + eval(curNav)[i].url + '" name="&lid='+ eval(curNav)[i].name +'&lpos='+ curNav +'" class="footerNav" target="_blank">' + eval(curNav)[i].name + '</a>' + argOffset;}
		else{
		data += '<a href="' + eval(curNav)[i].url + '" name="&lid='+ eval(curNav)[i].name +'&lpos='+ curNav +'" class="en_footerNav">' + eval(curNav)[i].name + '</a>' + argOffset;}
	}
	document.write(data);
}

//Draws image navigation based on navType and navFlow
function drawImgNav(argOffset){
	var data = '';
	for(var i = 0; i < eval(curNav).length; i++){
		var temp = Math.random();
		var isParent = parentTrap(eval(curNav)[i].id);
    if(eval(curNav)[i].id == currentPage || eval(curNav)[i].id == curSubPage || isParent == true || eval(curNav)[i].id == curVehicle){
            data += '<a href="' + eval(curNav)[i].url + '" name="&lid='+ eval(curNav)[i].name +'&lpos='+ curNav +'"><img src="' + eval(curNav)[i].state.at + '" name="' + eval(curNav)[i].id + temp + '" border="0" ></a>';
		}else{
			data += '<a href="' + eval(curNav)[i].url + '" name="&lid='+ eval(curNav)[i].name +'&lpos='+ curNav +'" onMouseover="rollover(\'nav' + eval(curNav)[i].id + temp + '\', \'' + eval(curNav)[i].state.on + '\');" onMouseout="rollover(\'nav' + eval(curNav)[i].id + temp + '\', \'' + eval(curNav)[i].state.off + '\');"><img src="' + eval(curNav)[i].state.off + '" name="nav' + eval(curNav)[i].id + temp + '" border="0"></a>';
		}
    if(i != (eval(curNav).length-1)){
      data  += argOffset;
    }
	}
	document.write(data);
}

function drawVehicleTab(argOffset){
  var data = '';
	for(var i = 0; i < eval(curNav).length; i++){
		var temp = Math.random();
		var isParent = parentTrap(eval(curNav)[i].id);
    if(currentPage != "home"){
      if(eval(curNav)[i].id == currentPage || eval(curNav)[i].id == curSubPage || isParent == true || eval(curNav)[i].id == curVehicle){
              data += '<a href="' + eval(curNav)[i].url + '" name="&lid='+ eval(curNav)[i].name +'&lpos='+ curNav +'"><img src="' + eval(curNav)[i].state.at + '" name="' + eval(curNav)[i].id + temp + '" border="0" ></a>';
      }else{
        data += '<a href="' + eval(curNav)[i].url + '" name="&lid='+ eval(curNav)[i].name +'&lpos='+ curNav +'" onMouseover="rollover(\'nav' + eval(curNav)[i].id + temp + '\', \'' + eval(curNav)[i].state.on + '\');" onMouseout="rollover(\'nav' + eval(curNav)[i].id + temp + '\', \'' + eval(curNav)[i].state.off + '\');"><img src="' + eval(curNav)[i].state.off + '" name="nav' + eval(curNav)[i].id + temp + '" border="0"></a>';
      }
      data  += argOffset;
    }else{
      if(i != (eval(curNav).length - 1)){
        data += '<a href="' + eval(curNav)[i].url + '" name="&lid='+ eval(curNav)[i].name +'&lpos='+ curNav +'" onMouseover="rollover(\'nav' + eval(curNav)[i].id + temp + '\', \'' + eval(curNav)[i].state.on + '\');vehicleDropOver( '+(i+1)+' );" onMouseout="vehicleDropOut( '+(i+1)+' );"><img src="' + eval(curNav)[i].state.off + '" name="nav' + eval(curNav)[i].id + temp + '" border="0"></a>';
        parentTab[i] = temp;
      }else{
        data += '<a href="' + eval(curNav)[i].url + '" name="&lid='+ eval(curNav)[i].name +'&lpos='+ curNav +'" onMouseover="rollover(\'nav' + eval(curNav)[i].id + temp + '\', \'' + eval(curNav)[i].state.on + '\');vehicleDropOver( '+(i+1)+' );" onMouseout="vehicleDropOut( '+(i+1)+' );"><img src="' + eval(curNav)[i].state.off + '" name="nav' + eval(curNav)[i].id + temp + '" border="0"></a>';
        parentTab[i] = temp;
      }
      data  += argOffset;
    }
	}
	document.write(data);
}

function drawDropImgNav(argOffset){
		var data = '';
		for( var i = 0; i < eval(curNav).length; i++){
			data += '<a href="' + eval(curNav)[i].url + '" name="&lid='+ eval(curNav)[i].name +'&lpos='+ curNav +'" onmouseover="vehicleDropOver(' + eval(i+1) + ',\'' + eval(curNav)[i].state.on + '\');" onmouseout="vehicleDropOut(' + eval(i+1) + ',\'' + eval(curNav)[i].state.off + '\');"><img src="' + eval(curNav)[i].state.off + '" name="top' + eval(i+1) + '" border="0" /></a>';
		}
		document.write(data);
}

//Returns the flow direction for the links
function getFlow(){
	switch(navFlow){
	case "y" :
		var offset = "<br>";
		break
	case "X" :
		var offset = "<img src='/img/spacer.gif' height='1' width='17'>";
		break
  case "news":
		var offset = "<br><br>";
		break
  case "dealer" :
		var offset = "";
		break
  case "sub":
    var offset = "<img src='/img/spacer.gif' height='1' width='1'>";
    break
	default : var offset = "";
	}
	return offset;
}

//Checks to see it there is a parent match
function parentTrap(argId){
	var isParent;
	for( var i = 0; i < parent_list.length; i++){
		if(parent_list[i] == argId && argId != "home"){
			isParent = true;
		}else{
			isParent = false;
		}	
	}
	return isParent;
}

