// JavaScript Document

var gMouseHoverDIV = false;
var gMouseHoverIMG = false;


function swapTabs (showMe) {
	//Hide All Blocks
	document.getElementById('engines_choice').className = 'choice_tab_hidden';
	document.getElementById('wheels_choice').className = 'choice_tab_hidden';
	document.getElementById('accessories_choice').className = 'choice_tab_hidden';
	
	//Show Specific Tab	and Block
	document.getElementById(showMe + '_choice').className = 'choice_tab';


	document.getElementById('engines').className = 'engines_inactive';
	document.getElementById('wheels').className = 'wheels_inactive';
	document.getElementById('accessories').className = 'accessories_inactive';

	document.getElementById(showMe).className = showMe + '_active';
}

function showList () {
	document.getElementById('chosenAccessories_List').style.display = 'block';
}

function BAM_toINT (string) {
	return ((0 - string) * -1);
}

function BAM_Item (newID, newName, newThumb, newFull, newPrice, newUnique, newDescription) {
  this.itemID = BAM_toINT(newID);
  this.itemName = newName;
  this.itemThumb = newThumb;
  this.itemFull = newFull;
  this.itemPrice = newPrice;
  this.itemUnique = newUnique;
  this.itemDescription = newDescription;
}

var myMax = new Array();

function checkUnique (newUnique) {
	if (newUnique == 0) return null;
	for (var i = 0; i < myMax.length; i++) {
		//alert ("New unique: " + newUnique + " existing unique at " + i + ": " + myMax[i].itemUnique
		if (myMax[i].itemUnique == newUnique) {
			return i;
		}
	}
	return null;
}

function checkDuplicate (newID) {
	for (var i = 0; i < myMax.length; i++) {
		//alert ("New unique: " + newUnique + " existing unique at " + i + ": " + myMax[i].itemUnique
		if (myMax[i].itemID == newID) {
			alert ("You've already added this item... you don't want two of them.");
			return true;
		}
	}
	return null;
}

function addItem (newID, newName, newThumb, newFull, newPrice, newUnique, newDescription) {
	if (myMax.length > 0) {
		var i = checkUnique(BAM_toINT(newUnique));
		if (!checkDuplicate (BAM_toINT(newID))) {
			if (i != null) {
				if (myMax[i].itemID != BAM_toINT(newID)) {
					myMax[i].itemID = BAM_toINT(newID);
					myMax[i].itemName = newName;
					myMax[i].itemThumb = newThumb;
					myMax[i].itemFull = newFull;
					myMax[i].itemPrice = newPrice;
					myMax[i].itemUnique = BAM_toINT(newUnique);
					myMax[i].itemDescription = newDescription;
					updateDisplay ();
				}
			}
			else if (myMax.length < 12)
			{
				myMax.push (new BAM_Item (newID, newName, newThumb, newFull, newPrice, newUnique, newDescription));
				updateDisplay ();
			}
			else {
				alert ('We\'re sorry. You can only add up to 12 accessories to a Max ATV.');
			}
		}
	}
	else {
		if (myMax.length < 12)
		{
			myMax.push (new BAM_Item (newID, newName, newThumb, newFull, newPrice, newUnique, newDescription));
			updateDisplay ();
		}
		else {
			alert ('We\'re sorry. You can only add up to 12 accessories to a Max ATV.');
		}
	}
}

function updateDisplay () {
	var cost = BAM_toINT(document.getElementById('formField_baseCost').value);
	for (var i = 0; i < myMax.length; i++)
	{
		if (myMax[i].itemID == null)
		  document.getElementById('BAB_box_slot_' + (i + 1)).innerHTML = "<img src=\"clientuploads/bam/blank.gif\" />";
		else {
		  document.getElementById('BAB_box_slot_' + (i + 1)).innerHTML = "<a href=\"javascript: deleteItem (" + myMax[i].itemID + ");\"  onMouseOver=\"DEL_setMouseOverImg (); DEL_showLayer ('BAB_box_slot_" + (i + 1) + "', '" + myMax[i].itemID + "', '" + myMax[i].itemName + "', '" + myMax[i].itemThumb + "', '" + myMax[i].itemFull + "', '" + myMax[i].itemPrice + "', '" + myMax[i].itemUnique + "', '" + myMax[i].itemDescription + "');\" onMouseOut=\"DEL_unsetMouseOverImg (); \"><img id=\"imgSlot_ " + (i + 1) + "\" src=\"clientuploads/directory/BuildAMax/" + myMax[i].itemThumb + "\" alt=\"" + myMax[i].itemName + "\" border=\"0\" class=\"slot_image\" /></a>";
                  //alert ("clientuploads/directory/BuildAMax/" + myMax[i].itemThumb);
                }
		cost += BAM_toINT(myMax[i].itemPrice);
	}
        while (i < 12) {
		  document.getElementById('BAB_box_slot_' + (i + 1)).innerHTML = "<img src=\"clientuploads/bam/blank.gif\" />";
		  i++;
        }
	if (myMax.length < 1)
		document.getElementById('price').innerHTML = "M.S.R.P.: [Select options for an estimate]";
	else
		document.getElementById('price').innerHTML = "M.S.R.P.: $" + CurrencyFormatted(cost);
}


function deleteItem (delID) {
  found = false;
  for (var i = 0; i < myMax.length; i++)
  {
	if ((BAM_toINT(myMax[i].itemID) == BAM_toINT(delID)) && (found == false))
	{
		myMax.splice (i, 1);
	  	found = true;
	}
  }
  updateDisplay ();
}

function CurrencyFormatted(amount)
{
	var i = parseFloat(amount);
	if(isNaN(i)) { i = 0.00; }
	var minus = '';
	if(i < 0) { minus = '-'; }
	i = Math.abs(i);
	i = parseInt((i + .005) * 100);
	i = i / 100;
	s = new String(i);
	if(s.indexOf('.') < 0) { s += '.00'; }
	if(s.indexOf('.') == (s.length - 2)) { s += '0'; }
	s = minus + s;
	return s;
}

function BAM_SetupOrder () {
	var cost = BAM_toINT(document.getElementById('formField_baseCost').value);
	var foundEngine = false;
	var foundTire = false;
	for (var i = 0; i < myMax.length; i++) {
		if (BAM_toINT(myMax[i].itemUnique) == 1) {
			foundEngine = true;
		}
		if (BAM_toINT(myMax[i].itemUnique) == 2) {
			foundTire = true;
		}
		document.getElementById('formField_itemDescription_' + (i + 1)).value = myMax[i].itemName;
		document.getElementById('formField_itemThumb_' + (i + 1)).value = myMax[i].itemThumb;
		document.getElementById('formField_itemPrice_' + (i + 1)).value = myMax[i].itemPrice;
		//alert ("Add Item: " + document.getElementById('formField_itemDescription_' + (i + 1)).value);
		cost += BAM_toINT(myMax[i].itemPrice);
	}
	if (foundEngine == false) {
		swapTabs ('engines');
		alert ("You need to select a base model and powertrain before you can request a quote.");
		return false;
	}
	if (foundTire == false) {
		swapTabs ('wheels');
		alert ("You need to select a tire for this model before you can request a quote.");
		return false;
	}
	
	document.getElementById('formField_basePrice').value= "$" + document.getElementById('formField_baseCost').value;
	document.getElementById('formField_estimatePrice').value= "$" + CurrencyFormatted(cost);
	return true;
}

function findPosX(obj)
{
	var curleft = 0;
	if(obj.offsetParent)
		while(1) 
		{
		  curleft += obj.offsetLeft;
		  if(!obj.offsetParent)
			break;
		  obj = obj.offsetParent;
		  //alert (curleft );
		}
	else if(obj.x)
		curleft += obj.x;
	return curleft;
}

function findPosY(obj)
{
	var curtop = 0;
	if(obj.offsetParent)
		while(1)
		{
		  curtop += obj.offsetTop;
		  if(!obj.offsetParent)
			break;
		  obj = obj.offsetParent;
		}
	else if(obj.y)
		curtop += obj.y;
	return curtop;
}

function ADD_setMouseOverImg () {
	gMouseHoverIMG = true;
}

function ADD_unsetMouseOverImg () {
	gMouseHoverIMG = false;
	setTimeout ("hideLayer ()", 3);
}

function DEL_setMouseOverImg () {
	gMouseHoverIMG = true;
}

function DEL_unsetMouseOverImg () {
	gMouseHoverIMG = false;
	setTimeout ("hideLayerDel ()", 3);
}

function setMouseOverDiv () {
	gMouseHoverDIV = true;
}

function unsetMouseOverDiv () {
	gMouseHoverDIV = false;
	setTimeout ("hideLayer ()", 3);
	setTimeout ("hideLayerDel ()", 3);
}

function forceHideLayer () {
	gMouseHoverDIV = false;
	gMouseHoverIMG = false;
	var objAddRef = document.getElementById('floatWindow');
	objAddRef.style.display = 'none';
}

function hideLayer () {
	if ((!gMouseHoverDIV) && (!gMouseHoverIMG))
	{
		var objAddRef = document.getElementById('floatWindow');
		objAddRef.style.display = 'none';
	}
}

function forceHideLayerDel () {
	gMouseHoverDIV = false;
	gMouseHoverIMG = false;
	var objAddRef = document.getElementById('floatWindowDel');
	objAddRef.style.display = 'none';
}

function hideLayerDel () {
	if ((!gMouseHoverDIV) && (!gMouseHoverIMG))
	{
		var objAddRef = document.getElementById('floatWindowDel');
		objAddRef.style.display = 'none';
	}
}

function showAddLayerSwapLarge (newID, newName, newThumb, newFull, newPrice, newUnique, newDescription) {
	var objAddRef = document.getElementById('floatWindow');
	
	var strInnerCode = "";
	
	strInnerCode += "<div id=\"floatfull\">";
	strInnerCode += "<a href=\"javascript: showAddLayerSwapSmall ('" + newID + "', '" + newName + "', '" + newThumb + "', '" + newFull + "', '" + newPrice + "', '" + newUnique + "', '" + newDescription + "');\"><img src=\"clientuploads/directory/BuildAMax/" + newFull + "\" /></a>\n";
	strInnerCode += "</div>";
	strInnerCode += "<div id=\"floatnameprice\">" + newName + "</div>\n";
	strInnerCode += "<div id=\"floatempty\"></div>";
	
	objAddRef.innerHTML = strInnerCode;
}

function showAddLayerSwapSmall (newID, newName, newThumb, newFull, newPrice, newUnique, newDescription) {
	var objAddRef = document.getElementById('floatWindow');
	
	var strInnerCode = "";
	
	strInnerCode += "<div id=\"floattop\">";
	strInnerCode += "<div id=\"floatclose\"><a href=\"javascript: forceHideLayer ();\" onMouseOver=\"setMouseOverDiv\"><img src=\"clientuploads/bam/closeButton.png\" border=\"0\" width=\"70\" height=\"20\" /></a></div>";
	strInnerCode += "<div id=\"floatthumb\"><a href=\"javascript: showAddLayerSwapLarge ('" + newID + "', '" + newName + "', '" + newThumb + "', '" + newFull + "', '" + newPrice + "', '" + newUnique + "', '" + newDescription + "');\"><img src=\"clientuploads/directory/BuildAMax/" + newThumb + "\" /></a></div>\n";
	strInnerCode += "<div id=\"floatadd\"><a href=\"javascript: addItem ('" + newID + "', '" + newName + "', '" + newThumb + "', '" + newFull + "', '" + newPrice + "', '" + newUnique + "', '" + newDescription + "');\"><img src=\"clientuploads/bam/float.add.png\" alt=\"add\"/></a></div>\n";
	strInnerCode += "<div id=\"floatdel\"><a href=\"javascript: deleteItem ('" + newID + "');\"><img src=\"clientuploads/bam/float.remove.png\" alt=\"remove\" /></a></div>\n";
	strInnerCode += "<div id=\"floatprice\">$" + newPrice + "</div>\n";
	strInnerCode += "</div>";
	strInnerCode += "<div id=\"floatbottom\">";
	strInnerCode += "<div id=\"floatnameprice\">" + newName + "</div>\n";
	strInnerCode += "<div id=\"floatdescription\">" + newDescription + "</div>\n";
	strInnerCode += "</div>";
	strInnerCode += "<div id=\"floatempty\"></div>";
	
	objAddRef.innerHTML = strInnerCode;
}

function ADD_showLayer (imgID, newID, newName, newThumb, newFull, newPrice, newUnique, newDescription) {
	var objAddRef = document.getElementById('floatWindow');
	objAddRef.style.position = 'absolute';
	objAddRef.style.padding = '25px 30px 20px 24px';
	objAddRef.style.width = '360px';
	//objAddRef.style.backgroundColor = '#ffffff';
	
	//ELEMENT DEFAULT POSITION
	var left = Math.round(findPosX(document.getElementById(imgID)) - 410) + "px";
	var top = Math.round(findPosY(document.getElementById(imgID)) - 50) + "px";
	
	objAddRef.style.top = top;
	objAddRef.style.left = left;
	
	var strInnerCode = "";
	
	strInnerCode += "<div id=\"floattop\">";
	strInnerCode += "<div id=\"floatclose\"><a href=\"javascript: forceHideLayer ();\" onMouseOver=\"setMouseOverDiv\"><img src=\"clientuploads/bam/closeButton.png\" border=\"0\" width=\"70\" height=\"20\" /></a></div>";
	strInnerCode += "<div id=\"floatthumb\"><a href=\"javascript: showAddLayerSwapLarge ('" + newID + "', '" + newName + "', '" + newThumb + "', '" + newFull + "', '" + newPrice + "', '" + newUnique + "', '" + newDescription + "');\"><img src=\"clientuploads/directory/BuildAMax/" + newThumb + "\" /></a></div>\n";
	strInnerCode += "<div id=\"floatadd\"><a href=\"javascript: addItem ('" + newID + "', '" + newName + "', '" + newThumb + "', '" + newFull + "', '" + newPrice + "', '" + newUnique + "', '" + newDescription + "');\"><img src=\"clientuploads/bam/float.add.png\" alt=\"add\"/></a></div>\n";
	strInnerCode += "<div id=\"floatdel\"><a href=\"javascript: deleteItem ('" + newID + "');\"><img src=\"clientuploads/bam/float.remove.png\" alt=\"remove\" /></a></div>\n";
	strInnerCode += "<div id=\"floatprice\">$" + newPrice + "</div>\n";
	strInnerCode += "</div>";
	strInnerCode += "<div id=\"floatbottom\">";
	strInnerCode += "<div id=\"floatnameprice\">" + newName + "</div>\n";
	strInnerCode += "<div id=\"floatdescription\">" + newDescription + "</div>\n";
	strInnerCode += "</div>";
	strInnerCode += "<div id=\"floatempty\"></div>";
	
	objAddRef.innerHTML = strInnerCode;
	
	objAddRef.style.zindex = 50;
	objAddRef.style.display = 'block';
}

























function showDelLayerSwapLarge (newID, newName, newThumb, newFull, newPrice, newUnique, newDescription) {
	var objAddRef = document.getElementById('floatWindowDel');
	
	var strInnerCode = "";
	
	strInnerCode += "<div id=\"floatfull\">";
	strInnerCode += "<a href=\"javascript: showDelLayerSwapSmall ('" + newID + "', '" + newName + "', '" + newThumb + "', '" + newFull + "', '" + newPrice + "', '" + newUnique + "', '" + newDescription + "');\"><img src=\"clientuploads/directory/BuildAMax/" + newFull + "\" /></a>\n";
	strInnerCode += "</div>";
	strInnerCode += "<div id=\"floatnameprice\">" + newName + "</div>\n";
	strInnerCode += "<div id=\"floatemptyDel\"></div>";
	
	objAddRef.innerHTML = strInnerCode;
}

function showDelLayerSwapSmall (newID, newName, newThumb, newFull, newPrice, newUnique, newDescription) {
	var objAddRef = document.getElementById('floatWindowDel');
	
	var strInnerCode = "";
	
	strInnerCode += "<div id=\"floattop\">";
	strInnerCode += "<div id=\"floatclose\"><a href=\"javascript: forceHideLayerDel ();\" onMouseOver=\"setMouseOverDiv\"><img src=\"clientuploads/bam/closeButton.png\" border=\"0\" width=\"70\" height=\"20\" /></a></div>";
	strInnerCode += "<div id=\"floatthumb\"><a href=\"javascript: showDelLayerSwapLarge ('" + newID + "', '" + newName + "', '" + newThumb + "', '" + newFull + "', '" + newPrice + "', '" + newUnique + "', '" + newDescription + "');\"><img src=\"clientuploads/directory/BuildAMax/" + newThumb + "\" /></a></div>\n";
	strInnerCode += "<div id=\"floatadd\"><a href=\"javascript: addItem ('" + newID + "', '" + newName + "', '" + newThumb + "', '" + newFull + "', '" + newPrice + "', '" + newUnique + "', '" + newDescription + "');\"><img src=\"clientuploads/bam/float.add.png\" alt=\"add\"/></a></div>\n";
	strInnerCode += "<div id=\"floatdel\"><a href=\"javascript: deleteItem ('" + newID + "');\"><img src=\"clientuploads/bam/float.remove.png\" alt=\"remove\" /></a></div>\n";
	strInnerCode += "<div id=\"floatprice\">$" + newPrice + "</div>\n";
	strInnerCode += "</div>";
	strInnerCode += "<div id=\"floatbottom\">";
	strInnerCode += "<div id=\"floatnameprice\">" + newName + "</div>\n";
	strInnerCode += "<div id=\"floatdescription\">" + newDescription + "</div>\n";
	strInnerCode += "</div>";
	strInnerCode += "<div id=\"floatemptyDel\"></div>";
	
	objAddRef.innerHTML = strInnerCode;
}

function DEL_showLayer (imgID, newID, newName, newThumb, newFull, newPrice, newUnique, newDescription) {
	var objAddRef = document.getElementById('floatWindowDel');
	objAddRef.style.position = 'absolute';
	objAddRef.style.padding = '25px 24px 20px 30px';
	objAddRef.style.width = '360px';
	//objAddRef.style.backgroundColor = '#ffffff';
	
	//ELEMENT DEFAULT POSITION
	var left = Math.round(findPosX(document.getElementById(imgID)) + 23) + "px";
	var top = Math.round(findPosY(document.getElementById(imgID)) - 85) + "px";
	
	objAddRef.style.top = top;
	objAddRef.style.left = left;
	
	var strInnerCode = "";
	
	strInnerCode += "<div id=\"floattop\">";
	strInnerCode += "<div id=\"floatclose\"><a href=\"javascript: forceHideLayerDel ();\" onMouseOver=\"setMouseOverDiv\"><img src=\"clientuploads/bam/closeButton.png\" border=\"0\" width=\"70\" height=\"20\" /></a></div>";
	strInnerCode += "<div id=\"floatthumb\"><a href=\"javascript: showDelLayerSwapLarge ('" + newID + "', '" + newName + "', '" + newThumb + "', '" + newFull + "', '" + newPrice + "', '" + newUnique + "', '" + newDescription + "');\"><img src=\"clientuploads/directory/BuildAMax/" + newThumb + "\" /></a></div>\n";
	strInnerCode += "<div id=\"floatadd\"><a href=\"javascript: addItem ('" + newID + "', '" + newName + "', '" + newThumb + "', '" + newFull + "', '" + newPrice + "', '" + newUnique + "', '" + newDescription + "');\"><img src=\"clientuploads/bam/float.add.png\" alt=\"add\"/></a></div>\n";
	strInnerCode += "<div id=\"floatdel\"><a href=\"javascript: deleteItem ('" + newID + "');\"><img src=\"clientuploads/bam/float.remove.png\" alt=\"remove\" /></a></div>\n";
	strInnerCode += "<div id=\"floatprice\">$" + newPrice + "</div>\n";
	strInnerCode += "</div>";
	strInnerCode += "<div id=\"floatbottom\">";
	strInnerCode += "<div id=\"floatnameprice\">" + newName + "</div>\n";
	strInnerCode += "<div id=\"floatdescription\">" + newDescription + "</div>\n";
	strInnerCode += "</div>";
	strInnerCode += "<div id=\"floatemptyDel\"></div>";
	
	objAddRef.innerHTML = strInnerCode;
	
	objAddRef.style.zindex = 50;
	objAddRef.style.display = 'block';
}