var RICOLAFP_varAry = new Array();
var RICOLAFP_varCurrLen = 0;

function RICOLAFP_GetItemByBrowser(inName) {
	return document.getElementById(inName);
}

function RICOLAFreezePane_getTable(inID) {
	var currID = new String(RICOLAFP_LayName + inID);
	var allTables = document.getElementsByTagName('table');
	var found = false;

	for (var i=0; i < allTables.length; i++) {
		if (allTables[i].parentElement.id == currID) {
			var table = allTables[i];
			found = true;
			i = allTables.length;
		}
	}
	if (!found) {
		alert("RICOLA Freezepane v2 Error #8901: No Table Found inside of the startpane.txt and the endpane.txt.\nPlease view the documentation at http://home.www.uprr.com/emp/it/hf/ricola/freezepane/ for more information.");
		return false;
	}
	return table;
}

function RICOLAFreezePane_LockFC(inLock, inID) {

	if (!navigator.userAgent.toString().match(/MSIE/i)) { return false; }

	if (arguments.length < 1) { var inLock = true; }
	if (arguments.length < 2) { var inID = "0"; }

	var table = RICOLAFreezePane_getTable(inID);
	var cTR = table.rows;  //collection of rows

	var skipRowCount = 0;
	var lockString = (inLock)? "locked" : "";
	var tr;

	if (!cTR) {		// No Rows
		return false;
	} else if (cTR.length) {	// Multiple Rows
		for (var i=0; i < cTR.length; i++) {
			tr = cTR[i];
			if (skipRowCount > 0) {
				skipRowCount--;
			} else {
				if (tr.cells[0].rowSpan > 1) {
					skipRowCount = tr.cells[0].rowSpan - 1;
				}
				tr.cells[0].className = lockString;
			}
		}
	} else {	// Only 1 row
		if (cTR.cells) {
			cTR.cells[0].className = lockString;
		}
	}
}

function RICOLAFreezePane_setWidth(inWidth, inFP) {
	if (arguments.length < 1) {
		var inWidth = "auto";
	}
	if (arguments.length < 2) {
		var inFP = "0";
	}
	RICOLAFP_WidthToUse = inWidth;
}

function RICOLAFreezePane_setHeight(inHeight, inFP) {
	if (arguments.length < 1) {
		var inHeight = "auto";
	}
	if (arguments.length < 2) {
		var inFP = "0";
	}
	RICOLAFP_HeightToUse = inHeight;
}

function RICOLAFreezePane_setFirstColumnLock(inLock, inID) {
	if (arguments.length < 2) {
		var inID = "0";
	}
	if ((arguments.length < 1) || inLock) {
		RICOLAFP_FirstColLock = true;
//		RICOLAFreezePane_LockFC(true, inID);
	} else {
		RICOLAFP_FirstColLock = false;
//		RICOLAFreezePane_LockFC(false, inID);
	}
}

function RICOLAFreezePane_changeWidth(inWidth, inFP) {
	if (arguments.length < 1) {
		alert("RICOLA Freezepane v2 Error #8902: RICOLAFreezePane_changeWidth() was passed no parameters.\nPlease view the documentation at http://home.www.uprr.com/emp/it/hf/ricola/freezepane/ for more information.");
		return false;
	}
	if (arguments.length < 2) {
		var inFP = "0";
	}
	var inID = new String(RICOLAFP_LayName + inFP);
	RICOLAFP_GetItemByBrowser(inID).style.width = inWidth;
}

function RICOLAFreezePane_changeHeight(inHeight, inFP) {
	if (arguments.length < 1) {
		alert("RICOLA Freezepane v2 Error #8903: RICOLAFreezePane_changeHeight() was passed no parameters.\nPlease view the documentation at http://home.www.uprr.com/emp/it/hf/ricola/freezepane/ for more information.");
		return false;
	}
	if (arguments.length < 2) {
		var inFP = "0";
	}
	var inID = new String(RICOLAFP_LayName + inFP);
	RICOLAFP_GetItemByBrowser(inID).style.height = inHeight;

	// Change the height of the container table as well
	RICOLAFP_GetItemByBrowser(inID + "_parent").style.height = inHeight;
}

function RICOLAFreezePane_minimize(inMinimize) {
	RICOLAFP_MinimizeFP = inMinimize;
}


var RICOLAFP_FirstColLock = false;
var RICOLAFP_WidthToUse = new String("auto");
var RICOLAFP_HeightToUse = new String("252px");
var RICOLAFP_LayName = new String("RICOLAFreezePanev2_layer_");
var RICOLAFP_Num = 0;
var RICOLAFP_CurrId = new String("");
var RICOLAFP_MinimizeFP = false;
