window.onload = InitializePartsTable;
var sortcol, partstable, partstable2, partstable3, partstable4, parthdrs, partrows_copy, partrows_orig, partrows_other;
var dynamic_show_all = false;
var dynamic_hidden = true;
var lastclick = -1;
var reversed = false;

function InitializePartsTable () {
	partstable = document.getElementById("partstable");
	if (partstable) {
		if ('function' == typeof window.displayOtherModelsTab) displayOtherModelsTab();		
		parthdrs = partstable.getElementsByTagName('thead')[0].getElementsByTagName('th');
		var tmp_img;
		for (var i = 0; i < parthdrs.length; i++) {
			parthdrs[i].style.cursor = "pointer";
			parthdrs[i].onclick = SortPartsColEvent;
			tmp_img = document.createElement("IMG");
			tmp_img.src = "/images/icons/bump.gif";
			tmp_img.width = 10;
			tmp_img.height = 9;
			parthdrs[i].appendChild(tmp_img);
		}
		AltRows();
		var partsbody = partstable.getElementsByTagName('tbody')[0];
		var partrows = partsbody.getElementsByTagName('tr');
		partrows_copy = new Array();
		partrows_orig = new Array();
		partrows_other = new Array();
		for (var i = 0; i < partrows.length; i++) {
			if (partrows[i].parentNode.parentNode.id == "partstable") {
				if (((dynamic_show_all) && (partrows[i].className.indexOf("otherpart") == -1)) || (!dynamic_show_all)) {
					partrows_copy[partrows_copy.length] = partrows[i].cloneNode(true);
					partrows_orig[partrows_orig.length] = partrows[i].cloneNode(true);
				}
				else {
					partrows_other[partrows_other.length] = partrows[i].cloneNode(true);
				}
				if ((partrows[i].className.indexOf("otherpart") != -1) && (document.getElementById("model_menu_all_options"))) {
					document.getElementById("model_menu_all_options").style.display = "block";
				}
			}
		}
		ResetSortParts();
	}
	partstable2 = document.getElementById("partstable2");
	if (partstable2) {
		InitializePartsTable2();
	}
	partstable3 = document.getElementById("partstable3");
	if (partstable3) {
		InitializePartsTable3();
	}
	partstable4 = document.getElementById("partstable4");
	if (partstable4) {
		InitializePartsTable4();
	}
}

function AltRows () {
	var partsbody = partstable.getElementsByTagName('tbody')[0];
	var partrows = partsbody.getElementsByTagName('tr');
	var counter = 1;
	for (var i = 0; i < partrows.length; i++) {
		if (partrows[i].parentNode.parentNode.id == "partstable") {
			var newrowclass = (((counter) % 2) == 1) ? "odd" : "even";
			if ((partrows[i].className == "") || (partrows[i].className == "odd") || (partrows[i].className == "even")) {
				partrows[i].className = newrowclass;
			}
			else if (partrows[i].className.indexOf("odd") != -1) {
				partrows[i].className = partrows[i].className.replace(/ odd/, " " + newrowclass);
			}
			else if (partrows[i].className.indexOf("even") != -1) {
				partrows[i].className = partrows[i].className.replace(/ even/, " " + newrowclass);
			}
			else {
				partrows[i].className = partrows[i].className + " " + newrowclass;
			}
			counter++;
		}
	}
}

function sortParts (a, b) {
	var i = -1;
	var j = -1;
	while ((i+1 < a.childNodes.length) && (j < sortcol)) {
		i++;
		if ((a.childNodes[i].tagName) && (a.childNodes[i].tagName.toLowerCase() == "td")) {
			j++;
		} 
	}
	a_data = a.childNodes[i].innerHTML.replace(/<.*?>|\$/g, "");
	b_data = b.childNodes[i].innerHTML.replace(/<.*?>|\$/g, "");

	/*
	a_data = a.getElementsByTagName('td')[sortcol].innerHTML.replace(/<.*?>|\$/g, "");
	b_data = b.getElementsByTagName('td')[sortcol].innerHTML.replace(/<.*?>|\$/g, "");
	*/
	if ((!a_data.match(/[^0-9\.\s]/)) && (!b_data.match(/[^0-9\.\s]/))) {
		a_data = parseFloat(a_data);
		b_data = parseFloat(b_data);
	}

	if (a_data < b_data) return -1;
	if (a_data > b_data) return 1;
	return 0;
}

function sortPartsReversed (a, b) {
	var i = -1;
	var j = -1;
	while ((i+1 < a.childNodes.length) && (j < sortcol)) {
		i++;
		if ((a.childNodes[i].tagName) && (a.childNodes[i].tagName.toLowerCase() == "td")) {
			j++;
		} 
	}
	a_data = a.childNodes[i].innerHTML.replace(/<.*?>|\$/g, "");
	b_data = b.childNodes[i].innerHTML.replace(/<.*?>|\$/g, "");

	/*
	a_data = a.getElementsByTagName('td')[sortcol].innerHTML.replace(/<.*?>|\$/g, "");
	b_data = b.getElementsByTagName('td')[sortcol].innerHTML.replace(/<.*?>|\$/g, "");
	*/
	!a_data.match(/[^0-9\.\s]/)
	if ((!a_data.match(/[^0-9\.\s]/)) && (!b_data.match(/[^0-9\.\s]/))) {
		a_data = parseFloat(a_data);
		b_data = parseFloat(b_data);
	}

	if (a_data > b_data) return -1;
	if (a_data < b_data) return 1;
	return 0;
}

function SortPartsColEvent (event) {
	if (!event) var event = window.event;
	var colhdr_element = (event.target) ? event.target : event.srcElement;
	if (colhdr_element.tagName == "IMG") colhdr_element = colhdr_element.parentNode;
	SortPartsCol(colhdr_element)
}

function SortPartsCol (colhdr_element) {
	for (var i = 0; i < parthdrs.length; i++) {
		if (colhdr_element.innerHTML == parthdrs[i].innerHTML) {
			sortcol = i;
			i = parthdrs.length;
		}
	}
	var partsbody = partstable.getElementsByTagName('tbody')[0];

	reversed = ((!reversed) && (lastclick == sortcol));
	if (!reversed) {
		partrows_copy.sort(sortParts);
	}
	else {
		partrows_copy.sort(sortPartsReversed);
	}
	var partsbody_copy = document.createElement('tbody');
	for (var i = 0; i < partrows_copy.length; i++) {
		partsbody_copy.appendChild(partrows_copy[i]);
	}

	if ((partstable.parentNode.className = "tableContainer") && (!window.sidebar))	{
		partstable.parentNode.scrollTop = 0;
		partstable.parentNode.style.overflowX = "hidden";
	}
	
	partstable.replaceChild(partsbody_copy, partsbody);

	AltRows();

	if (lastclick != -1) parthdrs[lastclick].getElementsByTagName('img')[0].src = "/images/icons/bump.gif";
	colhdr_element.getElementsByTagName('img')[0].src = (reversed) ? "/images/icons/down.gif" : "/images/icons/up.gif";
	lastclick = sortcol;
	
	if ('function' == typeof window.partsTablePostSort) partsTablePostSort();
}

function ResetSortParts () {
	var partsbody = partstable.getElementsByTagName('tbody')[0];

	reversed = false;
	
	var partsbody_copy = document.createElement('tbody');
	for (var i = 0; i < partrows_orig.length; i++) {
		partsbody_copy.appendChild(partrows_orig[i]);
	}

	if ((partstable.parentNode.className = "tableContainer") && (!window.sidebar))	{
		partstable.parentNode.scrollTop = 0;
		partstable.parentNode.style.overflowX = "hidden";
	}
	
	partstable.replaceChild(partsbody_copy, partsbody);

	AltRows();

	if (lastclick != -1) parthdrs[lastclick].getElementsByTagName('img')[0].src = "/images/icons/bump.gif";
	lastclick = -1;
	
	if ('function' == typeof window.partsTablePostSort) partsTablePostSort();
}

function showDynamicRows () {
	var partsbody = partstable.getElementsByTagName('tbody')[0].cloneNode(true);
	for (var i = 0; i < partrows_other.length; i++) {
		partrows_other[i].className = 'otherpartshow';
		partrows_copy[partrows_copy.length] = partrows_other[i].cloneNode(true);
		partrows_orig[partrows_orig.length] = partrows_other[i].cloneNode(true);
		partsbody.appendChild(partrows_other[i]);
	}

	if ((partstable.parentNode.className = "tableContainer") && (!window.sidebar))	{
		partstable.parentNode.scrollTop = 0;
		partstable.parentNode.style.overflowX = "hidden";
	}

	partstable.replaceChild(partsbody, partstable.getElementsByTagName('tbody')[0]);

	AltRows();

	if ('function' == typeof window.partsTablePostSort) partsTablePostSort();

	dynamic_hidden = false;
}

function hideDynamicRows () {
	var partsbody = partstable.getElementsByTagName('tbody')[0].cloneNode(true);
	for (var i = 0; i < partrows_other.length; i++) {
		partrows_other[i].className = 'otherpart';
	}
	for (var i = 0; i < partrows_copy.length; i++) {
		if (partrows_copy[i].className.indexOf("otherpartshow") != -1) {
			partrows_copy.splice(i, 1);
			i--;
		}
	}
	for (var i = 0; i < partrows_orig.length; i++) {
		if (partrows_orig[i].className.indexOf("otherpartshow") != -1) {
			partrows_orig.splice(i, 1);
			i--;
		}
	}
	var partsbody_rows = partsbody.getElementsByTagName('tr').length;
	var rows_to_remove = new Array()
	for (var i = 0; i < partsbody_rows; i++) {
		if (partsbody.getElementsByTagName('tr')[i].className.indexOf("otherpartshow") != -1) {
			rows_to_remove[rows_to_remove.length] = i;
		}
	}
	
	for (var i = 0; i < rows_to_remove.length; i++) {
		partsbody.removeChild(partsbody.getElementsByTagName('tr')[rows_to_remove[i]-i]);
	}

	if ((partstable.parentNode.className = "tableContainer") && (!window.sidebar))	{
		partstable.parentNode.scrollTop = 0;
		partstable.parentNode.style.overflowX = "hidden";
	}

	partstable.replaceChild(partsbody, partstable.getElementsByTagName('tbody')[0]);

	AltRows();

	if ('function' == typeof window.partsTablePostSort) partsTablePostSort();

	dynamic_hidden = true;
}

function toggleDynamicRows () {
	if (dynamic_hidden) {
		showDynamicRows();
		document.getElementById('view_more_configs_show').style.display = "none";
		document.getElementById('view_more_configs_hide').style.display = "block";
	}
	else {
		hideDynamicRows();
		document.getElementById('view_more_configs_hide').style.display = "none";
		document.getElementById('view_more_configs_show').style.display = "block";
		location.href = "#partstable"
	}
}

/******************************************************************************/

var sortcol2, parthdrs2, partrows_copy2, partrows_orig2;
var lastclick2 = -1;
var reversed2 = false;

function InitializePartsTable2 () {
	parthdrs2 = partstable2.getElementsByTagName('thead')[0].getElementsByTagName('th');
	var tmp_img;
	for (var i = 0; i < parthdrs2.length; i++) {
		parthdrs2[i].style.cursor = "pointer";
		parthdrs2[i].onclick = SortPartsCol2Event;
		tmp_img = document.createElement("IMG");
		tmp_img.src = "/images/icons/bump.gif";
		tmp_img.width = 10;
		tmp_img.height = 9;
		parthdrs2[i].appendChild(tmp_img);
	}
	AltRows2();
	var partsbody = partstable2.getElementsByTagName('tbody')[0];
	var partrows = partsbody.getElementsByTagName('tr');
	partrows_copy2 = new Array();
	partrows_orig2 = new Array();
	for (var i = 0; i < partrows.length; i++) {
		if (partrows[i].parentNode.parentNode.id == "partstable2") {
			partrows_copy2[partrows_copy2.length] = partrows[i].cloneNode(true);
			partrows_orig2[partrows_orig2.length] = partrows[i].cloneNode(true);
		}
	}
}

function AltRows2 () {
	var partsbody = partstable2.getElementsByTagName('tbody')[0];
	var partrows = partsbody.getElementsByTagName('tr');
	var counter = 1;
	for (var i = 0; i < partrows.length; i++) {
		if (partrows[i].parentNode.parentNode.id == "partstable2") {

			if ((counter % 2) == 1) {
				partrows[i].className = partrows[i].className + " odd";
			} else {
				partrows[i].className = partrows[i].className + " even";
			}

			counter++;
		}
	}
}

function sortParts2 (a, b) {
	a_data = a.getElementsByTagName('td')[sortcol2].innerHTML.replace(/<.*?>|\$/g, "");
	b_data = b.getElementsByTagName('td')[sortcol2].innerHTML.replace(/<.*?>|\$/g, "");
	if ((!isNaN(parseFloat(a_data))) && (!isNaN(parseFloat(b_data)))) {
		a_data = parseFloat(a_data);
		b_data = parseFloat(b_data);
	}
	if (a_data < b_data) return -1;
	if (a_data > b_data) return 1;
	return 0;
}

function sortPartsReversed2 (a, b) {
	a_data = a.getElementsByTagName('td')[sortcol2].innerHTML.replace(/<.*?>|\$/g, "");
	b_data = b.getElementsByTagName('td')[sortcol2].innerHTML.replace(/<.*?>|\$/g, "");
	if ((!isNaN(parseFloat(a_data))) && (!isNaN(parseFloat(b_data)))) {
		a_data = parseFloat(a_data);
		b_data = parseFloat(b_data);
	}
	if (a_data > b_data) return -1;
	if (a_data < b_data) return 1;
	return 0;
}

function SortPartsCol2Event (event) {
	if (!event) var event = window.event;
	var colhdr_element = (event.target) ? event.target : event.srcElement;
	if (colhdr_element.tagName == "IMG") colhdr_element = colhdr_element.parentNode;
	SortPartsCol2(colhdr_element);
}

function SortPartsCol2 (colhdr_element) {
	for (var i = 0; i < parthdrs2.length; i++) {
		if (colhdr_element.innerHTML == parthdrs2[i].innerHTML) {
			sortcol2 = i;
			i = parthdrs2.length;
		}
	}

	var partsbody = partstable2.getElementsByTagName('tbody')[0];

	reversed2 = ((!reversed2) && (lastclick2 == sortcol2));
	if (!reversed2) {
		partrows_copy2.sort(sortParts2);
	}
	else {
		partrows_copy2.sort(sortPartsReversed2);
	}
	var partsbody_copy = document.createElement('tbody');
	for (var i = 0; i < partrows_copy2.length; i++) {
		partsbody_copy.appendChild(partrows_copy2[i]);
	}

	if ((partstable2.parentNode.className = "tableContainer") && (!window.sidebar))	{
		partstable2.parentNode.scrollTop = 0;
		partstable2.parentNode.style.overflowX = "hidden";
	}

	partstable2.replaceChild(partsbody_copy, partsbody);

	AltRows2();

	if (lastclick2 != -1) parthdrs2[lastclick2].getElementsByTagName('img')[0].src = "/images/icons/bump.gif";
	colhdr_element.getElementsByTagName('img')[0].src = (reversed2) ? "/images/icons/down.gif" : "/images/icons/up.gif";
	lastclick2 = sortcol2;
	
	if ('function' == typeof window.partsTablePostSort2) partsTablePostSort2();
}


function ResetSortParts2 () {
	var partsbody = partstable2.getElementsByTagName('tbody')[0];

	reversed2 = false;
	
	var partsbody_copy = document.createElement('tbody');
	for (var i = 0; i < partrows_orig2.length; i++) {
		partsbody_copy.appendChild(partrows_orig2[i]);
	}

	if ((partstable2.parentNode.className = "tableContainer") && (!window.sidebar))	{
		partstable2.parentNode.scrollTop = 0;
		partstable2.parentNode.style.overflowX = "hidden";
	}
	
	partstable2.replaceChild(partsbody_copy, partsbody);

	AltRows2();

	if (lastclick2 != -1) parthdrs2[lastclick2].getElementsByTagName('img')[0].src = "/images/icons/bump.gif";
	lastclick2 = -1;
	
	if ('function' == typeof window.partsTablePostSort2) partsTablePostSort2();
}

/******************************************************************************/

var sortcol3, parthdrs3, partrows_copy3, partrows_orig3;
var lastclick3 = -1;
var reversed3 = false;

function InitializePartsTable3 () {
	parthdrs3 = partstable3.getElementsByTagName('thead')[0].getElementsByTagName('th');
	var tmp_img;
	for (var i = 0; i < parthdrs3.length; i++) {
		parthdrs3[i].style.cursor = "pointer";
		parthdrs3[i].onclick = SortPartsCol3Event;
		tmp_img = document.createElement("IMG");
		tmp_img.src = "/images/icons/bump.gif";
		tmp_img.width = 10;
		tmp_img.height = 9;
		parthdrs3[i].appendChild(tmp_img);
	}
	AltRows3();
	var partsbody = partstable3.getElementsByTagName('tbody')[0];
	var partrows = partsbody.getElementsByTagName('tr');
	partrows_copy3 = new Array();
	partrows_orig3 = new Array();
	for (var i = 0; i < partrows.length; i++) {
		if (partrows[i].parentNode.parentNode.id == "partstable3") {
			partrows_copy3[partrows_copy3.length] = partrows[i].cloneNode(true);
			partrows_orig3[partrows_orig3.length] = partrows[i].cloneNode(true);
		}
	}
}

function AltRows3 () {
	var partsbody = partstable3.getElementsByTagName('tbody')[0];
	var partrows = partsbody.getElementsByTagName('tr');
	var counter = 1;
	for (var i = 0; i < partrows.length; i++) {
		if (partrows[i].parentNode.parentNode.id == "partstable3") {
			partrows[i].className = (((counter) % 2) == 1) ? "odd" : "even";
			counter++;
		}
	}
}

function sortParts3 (a, b) {
	a_data = a.getElementsByTagName('td')[sortcol3].innerHTML.replace(/<.*?>|\$/g, "");
	b_data = b.getElementsByTagName('td')[sortcol3].innerHTML.replace(/<.*?>|\$/g, "");
	if ((!isNaN(parseFloat(a_data))) && (!isNaN(parseFloat(b_data)))) {
		a_data = parseFloat(a_data);
		b_data = parseFloat(b_data);
	}
	if (a_data < b_data) return -1;
	if (a_data > b_data) return 1;
	return 0;
}

function sortPartsReversed3 (a, b) {
	a_data = a.getElementsByTagName('td')[sortcol3].innerHTML.replace(/<.*?>|\$/g, "");
	b_data = b.getElementsByTagName('td')[sortcol3].innerHTML.replace(/<.*?>|\$/g, "");
	if ((!isNaN(parseFloat(a_data))) && (!isNaN(parseFloat(b_data)))) {
		a_data = parseFloat(a_data);
		b_data = parseFloat(b_data);
	}
	if (a_data > b_data) return -1;
	if (a_data < b_data) return 1;
	return 0;
}

function SortPartsCol3Event (event) {
	if (!event) var event = window.event;
	var colhdr_element = (event.target) ? event.target : event.srcElement;
	if (colhdr_element.tagName == "IMG") colhdr_element = colhdr_element.parentNode;
	SortPartsCol3(colhdr_element);
}

function SortPartsCol3 (colhdr_element) {
	for (var i = 0; i < parthdrs3.length; i++) {
		if (colhdr_element.innerHTML == parthdrs3[i].innerHTML) {
			sortcol3 = i;
			i = parthdrs3.length;
		}
	}

	var partsbody = partstable3.getElementsByTagName('tbody')[0];

	reversed3 = ((!reversed3) && (lastclick3 == sortcol3));
	if (!reversed3) {
		partrows_copy3.sort(sortParts3);
	}
	else {
		partrows_copy3.sort(sortPartsReversed3);
	}
	var partsbody_copy = document.createElement('tbody');
	for (var i = 0; i < partrows_copy3.length; i++) {
		partsbody_copy.appendChild(partrows_copy3[i]);
	}

	if ((partstable3.parentNode.className = "tableContainer") && (!window.sidebar))	{
		partstable3.parentNode.scrollTop = 0;
		partstable3.parentNode.style.overflowX = "hidden";
	}

	partstable3.replaceChild(partsbody_copy, partsbody);

	AltRows3();

	if (lastclick3 != -1) parthdrs3[lastclick3].getElementsByTagName('img')[0].src = "/images/icons/bump.gif";
	colhdr_element.getElementsByTagName('img')[0].src = (reversed3) ? "/images/icons/down.gif" : "/images/icons/up.gif";
	lastclick3 = sortcol3;
	
	if ('function' == typeof window.partsTablePostSort3) partsTablePostSort3();
}

function ResetSortParts3 () {
	var partsbody = partstable3.getElementsByTagName('tbody')[0];

	reversed3 = false;
	
	var partsbody_copy = document.createElement('tbody');
	for (var i = 0; i < partrows_orig3.length; i++) {
		partsbody_copy.appendChild(partrows_orig3[i]);
	}

	if ((partstable3.parentNode.className = "tableContainer") && (!window.sidebar))	{
		partstable3.parentNode.scrollTop = 0;
		partstable3.parentNode.style.overflowX = "hidden";
	}
	
	partstable3.replaceChild(partsbody_copy, partsbody);

	AltRows3();

	if (lastclick3 != -1) parthdrs3[lastclick3].getElementsByTagName('img')[0].src = "/images/icons/bump.gif";
	lastclick3 = -1;
	
	if ('function' == typeof window.partsTablePostSort3) partsTablePostSort3();
}

/******************************************************************************/

var sortcol4, parthdrs4, partrows_copy4, partrows_orig4;
var lastclick4 = -1;
var reversed4 = false;

function InitializePartsTable4 () {
	parthdrs4 = partstable4.getElementsByTagName('thead')[0].getElementsByTagName('th');
	var tmp_img;
	for (var i = 0; i < parthdrs4.length; i++) {
		parthdrs4[i].style.cursor = "pointer";
		parthdrs4[i].onclick = SortPartsCol4Event;
		tmp_img = document.createElement("IMG");
		tmp_img.src = "/images/icons/bump.gif";
		tmp_img.width = 10;
		tmp_img.height = 9;
		parthdrs4[i].appendChild(tmp_img);
	}
	AltRows4();
	var partsbody = partstable4.getElementsByTagName('tbody')[0];
	var partrows = partsbody.getElementsByTagName('tr');
	partrows_copy4 = new Array();
	partrows_orig4 = new Array();
	for (var i = 0; i < partrows.length; i++) {
		if (partrows[i].parentNode.parentNode.id == "partstable4") {
			partrows_copy4[partrows_copy4.length] = partrows[i].cloneNode(true);
			partrows_orig4[partrows_orig4.length] = partrows[i].cloneNode(true);
		}
	}
}

function AltRows4 () {
	var partsbody = partstable4.getElementsByTagName('tbody')[0];
	var partrows = partsbody.getElementsByTagName('tr');
	var counter = 1;
	for (var i = 0; i < partrows.length; i++) {
		if (partrows[i].parentNode.parentNode.id == "partstable4") {
			partrows[i].className = (((counter) % 2) == 1) ? "odd" : "even";
			counter++;
		}
	}
}

function sortParts4 (a, b) {
	a_data = a.getElementsByTagName('td')[sortcol4].innerHTML.replace(/<.*?>|\$/g, "");
	b_data = b.getElementsByTagName('td')[sortcol4].innerHTML.replace(/<.*?>|\$/g, "");
	if ((!isNaN(parseFloat(a_data))) && (!isNaN(parseFloat(b_data)))) {
		a_data = parseFloat(a_data);
		b_data = parseFloat(b_data);
	}
	if (a_data < b_data) return -1;
	if (a_data > b_data) return 1;
	return 0;
}

function sortPartsReversed4 (a, b) {
	a_data = a.getElementsByTagName('td')[sortcol4].innerHTML.replace(/<.*?>|\$/g, "");
	b_data = b.getElementsByTagName('td')[sortcol4].innerHTML.replace(/<.*?>|\$/g, "");
	if ((!isNaN(parseFloat(a_data))) && (!isNaN(parseFloat(b_data)))) {
		a_data = parseFloat(a_data);
		b_data = parseFloat(b_data);
	}
	if (a_data > b_data) return -1;
	if (a_data < b_data) return 1;
	return 0;
}

function SortPartsCol4Event (event) {
	if (!event) var event = window.event;
	var colhdr_element = (event.target) ? event.target : event.srcElement;
	if (colhdr_element.tagName == "IMG") colhdr_element = colhdr_element.parentNode;
	SortPartsCol4(colhdr_element);
}

function SortPartsCol4 (colhdr_element) {
	for (var i = 0; i < parthdrs4.length; i++) {
		if (colhdr_element.innerHTML == parthdrs4[i].innerHTML) {
			sortcol4 = i;
			i = parthdrs4.length;
		}
	}

	var partsbody = partstable4.getElementsByTagName('tbody')[0];

	reversed4 = ((!reversed4) && (lastclick4 == sortcol4));
	if (!reversed4) {
		partrows_copy4.sort(sortParts4);
	}
	else {
		partrows_copy4.sort(sortPartsReversed4);
	}
	var partsbody_copy = document.createElement('tbody');
	for (var i = 0; i < partrows_copy4.length; i++) {
		partsbody_copy.appendChild(partrows_copy4[i]);
	}

	if ((partstable4.parentNode.className = "tableContainer") && (!window.sidebar))	{
		partstable4.parentNode.scrollTop = 0;
		partstable4.parentNode.style.overflowX = "hidden";
	}

	partstable4.replaceChild(partsbody_copy, partsbody);

	AltRows4();

	if (lastclick4 != -1) parthdrs4[lastclick4].getElementsByTagName('img')[0].src = "/images/icons/bump.gif";
	colhdr_element.getElementsByTagName('img')[0].src = (reversed4) ? "/images/icons/down.gif" : "/images/icons/up.gif";
	lastclick4 = sortcol4;
	
	if ('function' == typeof window.partsTablePostSort4) partsTablePostSort4();
}

function ResetSortParts4 () {
	var partsbody = partstable4.getElementsByTagName('tbody')[0];

	reversed4 = false;
	
	var partsbody_copy = document.createElement('tbody');
	for (var i = 0; i < partrows_orig4.length; i++) {
		partsbody_copy.appendChild(partrows_orig4[i]);
	}

	if ((partstable4.parentNode.className = "tableContainer") && (!window.sidebar))	{
		partstable4.parentNode.scrollTop = 0;
		partstable4.parentNode.style.overflowX = "hidden";
	}
	
	partstable4.replaceChild(partsbody_copy, partsbody);

	AltRows4();

	if (lastclick4 != -1) parthdrs4[lastclick4].getElementsByTagName('img')[0].src = "/images/icons/bump.gif";
	lastclick4 = -1;
	
	if ('function' == typeof window.partsTablePostSort4) partsTablePostSort4();
}
