// JavaScript document used to repair menu on left side of home page

// Find out which page we're on
var docURL = document.location.href;
var CurrentlyOnProductDetailsAdminPage = false;
var CurrentlyOnProductDetailsPage = false;
if (docURL.indexOf("instPrda.asp") > -1 || docURL.indexOf("modPrda.asp") > -1 || docURL.indexOf("modBTOPrda.asp") > -1 || docURL.indexOf("instBTOPrda.asp") > -1){
	var CurrentlyOnProductDetailsAdminPage = true;
}
if (docURL.indexOf("viewPrd.asp") > -1){
	var CurrentlyOnProductDetailsPage = true;
}

// Snippets of code to be put at the start, middle, and end of the details text
var PCDetailsStartCode = '<div id="ProductDetailsPart1">';
var PCDetailsMiddleCode = '</div><div id="ProductDetailsPart2" style="display:none\;">';
var PCDetailsEndCode = '</div>';

// Function used to join the new details and specifications form fields together into
// a single text string that is inserted into the old details hidden form field to go into the database
function ConcatenateProductDetails(){
	if(CurrentlyOnProductDetailsAdminPage){
		document.hForm.elements.details.value = PCDetailsStartCode;
		document.hForm.elements.details.value += document.hForm.elements.detailspart1.value;
		document.hForm.elements.details.value += PCDetailsMiddleCode;
		document.hForm.elements.details.value += document.hForm.elements.detailspart2.value;
		document.hForm.elements.details.value += PCDetailsEndCode;
	}
}

// Function used to separate out the old details into the new details and specifications form fields
function SeparateProductDetails(){
	if(CurrentlyOnProductDetailsAdminPage){
		var DetailsText = document.hForm.elements.details.value;
		if(DetailsText.indexOf(PCDetailsStartCode) > -1 && DetailsText.indexOf(PCDetailsMiddleCode) > -1 && DetailsText.indexOf(PCDetailsEndCode) > -1){
			// Figure out where the middle code snippet is
			var MiddleTextBeginning = DetailsText.indexOf(PCDetailsMiddleCode);
			// Get the new details text
			document.hForm.elements.detailspart1.value = DetailsText.substring(PCDetailsStartCode.length,MiddleTextBeginning);
			// Get the new specifications text
			document.hForm.elements.detailspart2.value = DetailsText.substring(MiddleTextBeginning+PCDetailsMiddleCode.length,DetailsText.length-PCDetailsEndCode.length);
		}else{
			// Text in old details doesn't have the correct code, meaning it was entered before we built this add-on,
			// So we just drop the text from the old details into the new details box instead of splitting it out
			document.hForm.elements.detailspart1.value = document.hForm.elements.details.value;
		}
		// Re-join everything again, with the proper start, middle, and end codes
		ConcatenateProductDetails();
	}
}


// Function used to set up a button bar item for tracking rollovers and switching div panels on and off
var ProductDetailButtonBar_Array = Array();
function SetupButtonBarItem(ImageName, ImageNormalFile, ImageHighlightedFile, AssociatedDiv){
	var tmpArray = Array();
	tmpArray["ImageName"] = ImageName;
	tmpArray["ImageNormalFile"] = ImageNormalFile;
	tmpArray["ImageHighlightedFile"] = ImageHighlightedFile;
	tmpArray["AssociatedDiv"] = AssociatedDiv;
	tmpArray["CurrentlyActive"] = false;
	tmpArray["ArrayPosition"] = ProductDetailButtonBar_Array.length;
	ProductDetailButtonBar_Array.push(tmpArray);
}

function ButtonBarItemRollover(ArrayPosition){
	var tmpImage = document.getElementById(ProductDetailButtonBar_Array[ArrayPosition]["ImageName"]);
	if(tmpImage){
		tmpImage.src = ProductDetailButtonBar_Array[ArrayPosition]["ImageHighlightedFile"];
	}
}

function ButtonBarItemRollout(ArrayPosition){
	if(ProductDetailButtonBar_Array[ArrayPosition]["CurrentlyActive"] == false){
		var tmpImage = document.getElementById(ProductDetailButtonBar_Array[ArrayPosition]["ImageName"]);
		if(tmpImage){
			tmpImage.src = ProductDetailButtonBar_Array[ArrayPosition]["ImageNormalFile"];
		}
	}
}

function ButtonBarItemActivate(ArrayPosition){
	// Reset all of the other buttons to be inactive
	for(i=0; i<ProductDetailButtonBar_Array.length; i++){
		var tmpImage2 = document.getElementById(ProductDetailButtonBar_Array[i]["ImageName"]);
		if(tmpImage2){
			tmpImage2.src = ProductDetailButtonBar_Array[i]["ImageNormalFile"];
		}
		ProductDetailButtonBar_Array[i]["CurrentlyActive"] = false;
		// Hide all the divs
		var tmpDiv = document.getElementById(ProductDetailButtonBar_Array[i]["AssociatedDiv"]);
		if(tmpDiv){
			tmpDiv.style.display = "none";
		}
	}
	// Set the current one to be active
	var tmpImage = document.getElementById(ProductDetailButtonBar_Array[ArrayPosition]["ImageName"]);
	if(tmpImage){
		tmpImage.src = ProductDetailButtonBar_Array[ArrayPosition]["ImageHighlightedFile"];
	}
	ProductDetailButtonBar_Array[ArrayPosition]["CurrentlyActive"] = true;
	// Show current div
	var tmpDiv2 = document.getElementById(ProductDetailButtonBar_Array[ArrayPosition]["AssociatedDiv"]);
	if(tmpDiv2){
		tmpDiv2.style.display = "block";
	}
}

// Document onload
$(document).ready(function() {
	// Check to see if we're on a product creation/editing page
	if(CurrentlyOnProductDetailsAdminPage){
		// Initialize the page by separating out the form fields
		SeparateProductDetails();
	}else if(CurrentlyOnProductDetailsPage){
		// We're on the front end product detail page
		// Set up button bar items
		SetupButtonBarItem("productdetailpage_buttonbar_r1_c1", "/new_images/productpage/product%20detail%20page_buttonbar_r1_c1.gif", "/new_images/productpage/product%20detail%20page_buttonbar_r1_c1_f2.gif", "ProductDetailsPart1");
		SetupButtonBarItem("productdetailpage_buttonbar_r1_c2", "/new_images/productpage/product%20detail%20page_buttonbar_r1_c2.gif", "/new_images/productpage/product%20detail%20page_buttonbar_r1_c2_f2.gif", "ProductDetailsPart2");
		SetupButtonBarItem("productdetailpage_buttonbar_r1_c3", "/new_images/productpage/product%20detail%20page_buttonbar_r1_c3.gif", "/new_images/productpage/product%20detail%20page_buttonbar_r1_c3_f2.gif", "RelatedProductsDiv");
		// Set up the first and second product detail divs (if they're not already defined)
		if(!document.getElementById("ProductDetailsPart1") || !document.getElementById("ProductDetailsPart2")){
			var tmpDiv = document.getElementById("ProductDetailDivs");
			tmpDiv.innerHTML = PCDetailsStartCode+tmpDiv.innerHTML+PCDetailsMiddleCode+PCDetailsEndCode;
		}
		// Activate the Product Details tab
		ButtonBarItemActivate(0);
	}
});