/**
 *	Javascript functions for CNS Metals Website
 *	@author Marcel Eichner // Ephigenia <love at ephigenia dot de>
 */
var baseURL = "?m=axjMetals&";
var pdfURL = "";
var columnWidths = new Array(
			80,120,72,96,80,92,80,
			60,60,60,60,70,
			72,72,72,72,60,72
		);
		
function toggleNavigation (layername, image) {
	// toggle layer
	newstate = toggleLayer(layername);
	// replace image checkbox
	if (newstate) {
		imgurl = "/images/minus.gif";
	} else {
		imgurl = "/images/plus.gif";
	}
	image.src = imgurl;
}

function showMetalsTable(content) {
	document.getElementById('metalTable').innerHTML = content;
	hideLayer("metalTableLoading");
	showLayer("pdf");
	showLayer("additional");
}

function loadMetalsTable() {
	var materialsOn = 0;
 	var physicalOn = 0;
	var mechanicalOn = 0;
	var dinandunOn = 0;
	var columns = "";
	// clear html content
	document.getElementById("metalTable").innerHTML = '';
	hideLayer("additional");
	// show loading bar
	showLayer("metalTableLoading","block");
	hideLayer("pdf");
	
	// load
	var url = baseURL;
	// calculate width of new table
	var calculatedWidth = 425;	
	for (i = 0; i < document["displayOptions"]["columns[]"].length; i++) {
		checkbox = document["displayOptions"]["columns[]"][i];
		if (checkbox.checked) {
			url += "&columns[]="+i;
			columns += i + ",";
		}
		if (checkbox.checked) {
			if (i < 3 || i == 5) {
				dinandunOn++;
			}
			if (i < 7) materialsOn++;
			if (i > 6 && i < 12) physicalOn++;
			if (i > 11) mechanicalOn++;	
			if (i == 13) {
				calculatedWidth += columnWidths[13] + columnWidths[14];
			} else if(i == 14) {
				calculatedWidth += columnWidths[15] + columnWidths[16];
			} else if (i == 15) {
				calculatedWidth += columnWidths[17];
			} else {
				calculatedWidth += columnWidths[i];
			}
		}
	}
	document.getElementById("container").style.width = calculatedWidth;
	if (materialsOn == 7 && physicalOn == 0 && mechanicalOn == 0) {
		replaceBg("materialsTab","/images/tabOn.gif");
	} else {
		replaceBg("materialsTab","/images/tabOff.gif");
	}
	if (physicalOn == 5 && mechanicalOn == 0 && materialsOn <= 3 && dinandunOn == 3) {
		replaceBg("physicalTab","/images/tabOn.gif");
	} else {
		replaceBg("physicalTab","/images/tabOff.gif");
	}
	if (mechanicalOn == 4 && physicalOn == 0 && materialsOn <= 3 && dinandunOn == 3) {
		replaceBg("mechanicalTab","/images/tabOn.gif");
	} else {
		replaceBg("mechanicalTab","/images/tabOff.gif");
	}
	if (document.debug) {
		document.debug.url.value = url;	
	}
	// save selected checkboxes as cookie
	createCookie("columnsLast",columns,30);
	Axj = new AjaxCallback();
	pdfURL = url;
	pdfURL = pdfURL.replace("m=axjMetals","m=metalsPdf");
	Axj.get(url);
	Axj.onLoad = function(answer, i) {
		showMetalsTable(answer);
	}
}

function showOrHideColumn(checkbox, num) {
	// if user wants to turn off all boxes from material standards, block it!
	//alert(numMaterialStandardsChecked());
	if (numMaterialStandardsChecked() <= 1) {
		checkbox.checked = true;
	} else {
		loadMetalsTable();
	}
}

function numMaterialStandardsChecked() {
	var materialsOn = 0;
	if (document.displayOptions) {
		for (i = 0; i < document.displayOptions["columns[]"].length; i++) {
			checkbox = document.displayOptions["columns[]"][i];
			if (checkbox.checked) {
				if (i < 7) materialsOn++;
			}
		}
	}
	return materialsOn;
}

function turnAllOff() {
	checkBoxes(new Array(0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15), false);
	img = baseDir + "/images/tabOff.gif";
	replaceBg("materialsTab",img);
	replaceBg("physicalTab",img);
	replaceBg("mechanicalTab",img);
}

function selectMaterialStandards(image) {
	turnAllOff();
	replaceBg("materialsTab","/images/tabOn.gif");
	checkBoxes(new Array(0,1,2,3,4,5,6), true);
	loadMetalsTable();
}

function selectPhysicalProperties(image) {
	turnAllOff();
	replaceBg("physicalTab","/images/tabOn.gif");
	checkBoxes(new Array(0,1,5,7,8,9,10,11), true);
	loadMetalsTable();
}

function selectMechanicalProperties(image) {
	turnAllOff();
	replaceBg("mechanicalTab","/images/tabOn.gif");
	checkBoxes(new Array(0,1,5,12,13,14,15), true);
	loadMetalsTable();
}

function checkBoxes(arr, value) {
//	alert(document.displayOptions["columns[]"].length);
	for (i = 0; i < arr.length; i++) {
		if (document.displayOptions["columns[]"][arr[i]]) {
			//alert("arr["+i+"] -> " + document.displayOptions["columns[]"][arr[i]]);
			document.displayOptions["columns[]"][arr[i]].checked = value;
		}
	}
}