function SwitchTabs(strForm, arrFlds, strTabCtl, intTab, callback)
{
	//Legacy version
	if (arrFlds == null)
	{
		//Tab comes in on first param
		SwitchTabsOld(strForm);
		return;
	}
	
	var objForm;
	eval ("objForm = document." + strForm + ";");
	var tabUBound = arrTabs.length - 2;
	
	//Save changes
	var lang;
	eval ("lang = arrTabs[intCur" + strTabCtl + "];");
	for (var i=0; i < arrFlds.length; i++)
	{
		eval ("objForm." + arrFlds[i] + "_" + lang + ".value = objForm." + arrFlds[i] + ".value;");
	}
	
	//Switch tabs
	eval ("intCur" + strTabCtl + " = intTab;");
	for (var i=0; i <= tabUBound; i++)
	{
		objTabText = document.getElementById ("tabText_" + strTabCtl + "_" + i);
		objTabTop = document.getElementById ("tabtop_" +	strTabCtl + "_" + i);
		var tabHdr = "";
		eval ("tabHdr = arrTabHdrs" + strTabCtl + "[i];");
		if (i == intTab)
		{
			objTabText.innerHTML = tabHdr;
			objTabText.className = "seltab";
			objTabTop.className = "tabsbottomborder";
		}
		else
		{
			objTabText.innerHTML = "<a class=tablnk href=\"JavaScript:SwitchTabs('" + strForm + "', arr" + strTabCtl + "Inputs, '" + strTabCtl + "', " + i + ", " + (callback == null ? "null" : "'" + callback + "'") + ")\">" + tabHdr + "</a>";
			objTabText.className = "tab";
			objTabTop.className = "";
		}
	}
	
	//Display new tab's text
	for (var i=0; i < arrFlds.length; i++)
	{
		eval ("objForm." + arrFlds[i] + ".value = objForm." + arrFlds[i] + "_" + arrTabs[intTab] + ".value;");
	}
	
	if (callback != null)
	{
		eval (callback + "(" + intTab + ")");
	}
}




function SwitchTabsOld(intTab)
{

	var tabUBound = arrTabs.length - 2;
	
	//Switch tabs
	intCurTab = intTab;
	for (var i=0; i <= tabUBound; i++)
	{
		objDiv = document.getElementById ("divRec" + i);
		objTabText = document.getElementById ("tabText" + i);
		objTabTop = document.getElementById ("tabtop" + i);
		if (i == intTab)
		{
			objTabText.innerHTML = arrTabHdrstab1[i];
			objTabText.className = "seltab";
			objTabTop.className = "tabsbottomborder";
		}
		else
		{
			objTabText.innerHTML = "<a class=tablnk href=\"JavaScript:selTab(" + i + ")\">" + arrTabHdrstab1[i] + "</a>";
			objTabText.className = "tab";
			objTabTop.className = "";
		}
	}
	
}

function SwitchTabsDivSwap(strForm, arrFlds, strTabCtl, intTab, callback, strTabsList)
{
    var arrTabsList;
    if ((strTabsList == null) || (strTabsList == ''))
    {
        arrTabsList = arrTabs;
    }
    else
    {
        eval("arrTabsList = " + strTabsList);
    }
    var tabUBound = arrTabsList.length - 2;
    for (var i = 0; i <= tabUBound; i++)
    {
        var theDiv = document.getElementById(strTabCtl + "_" + i);
        theDiv.style.display = (intTab == i ? "block" : "none");
    }
	
	//Switch tabs
	eval ("intCur" + strTabCtl + " = intTab;");
	for (var i=0; i <= tabUBound; i++)
	{
		objTabText = document.getElementById ("tabText_" + strTabCtl + "_" + i);
		objTabTop = document.getElementById ("tabtop_" +	strTabCtl + "_" + i);
		var tabHdr = "";
		eval ("tabHdr = arrTabHdrs" + strTabCtl + "[i];");
		if (i == intTab)
		{
			objTabText.innerHTML = tabHdr;
			objTabText.className = "seltab";
			objTabTop.className = "tabsbottomborder";
		}
		else
		{
		    objTabText.innerHTML = "<a class=tablnk href=\"JavaScript:SwitchTabsDivSwap('" + strForm + "', arr" + strTabCtl + "Inputs, '" + strTabCtl + "', " + i + ", " + (callback == null ? "null" : "'" + callback + "'") + ", '" + strTabsList + "')\">" + tabHdr + "</a>";
			objTabText.className = "tab";
			objTabTop.className = "";
		}
	}
	
	if (callback != null)
	{
		eval (callback + "(" + intTab + ")");
	}
}

