var svID = 2; // default svID to 50 uL and greater option
var ocID, sbID, tcID, ccID, kID = 0;
var tabToShow = 0;
var canProceed = false;

function showTab(div, tabName)
{
	if (tabName != '' && canProceed)
	{
		expandcontent(div, document.getElementById(tabName));
	}
}

function showTabByNum(tabNum)
{
	showTab('sc'+tabNum, 'tab'+tabNum);
}

function ajaxLoadTabs()
{
	KineticsLookup();
	CellChangersLookup();
	TemperatureControlLookup();
	BandwidthLookup();
	OpticalConfigLookup();
	//SampleVolumeLookup();
	
	showTabByNum(tabToShow);
}

function checkStartTab()
{
	var instrumentType1 = document.getElementById('instrumentType1').checked;
	if (IsRadioChecked('instrumentType',''))
	{
		if (instrumentType1)
		{
			var querystring = "results.aspx?cvar=1";
			location.href=querystring;
		}
		else
		{
			checkTabStart();
		}
	}
	else
	{
		checkTabStart();
	}
}

function checkTabStart()
{
	tabToShow = 2;
	if (!IsRadioChecked('instrumentType',''))
	{
		canProceed = false;
		msg = "The following errors occurred:\n\n";
		msg += "- Please select an instrument type.\n";
		if (tabToShow > 0) tabToShow = 0;
		alert(msg);
	}
	else
	{
		canProceed = true;
	}
	showTabByNum(tabToShow);
}

//function checkTab1()
//{
//	tabToShow = 2;
//	if (!Tab1RadioChecked())
//	{
//		msg = "The following errors occurred:\n\n";
//		msg += "- Please select a Sample Volume before proceeding.\n";
//		if (tabToShow > 1) tabToShow = 1;
//		alert(msg);
//	}
//	showTabByNum(tabToShow);
//}

function checkTab2()
{
	tabToShow = 3;
	//if (!Tab1RadioChecked() || !Tab2RadioChecked())
	if (!Tab2RadioChecked())
	{
		msg = "The following errors occurred:\n\n";
//		if (!Tab1RadioChecked())
//		{
//			msg += "- Please select a Sample Volume before proceeding.\n";
//			if (tabToShow > 1) tabToShow = 1;
//		}
		
		if (!RadiosAreDisabled('rdoOptConfig') && !Tab2RadioChecked())
		{
			msg += "- Please select an Optical Configuration before proceeding.\n";
			if (tabToShow > 2) tabToShow = 2;
		}

		alert(msg);
		showTabByNum(tabToShow);
	}
	else FilterTab3(svID, ocID);
}

function checkTab3()
{
	tabToShow = 4;	
	//if (!Tab1RadioChecked() || !Tab2RadioChecked() || !Tab3RadioChecked())
	if (!Tab2RadioChecked() || !Tab3RadioChecked())
	{
		msg = "The following errors occurred:\n\n";
//		if (!Tab1RadioChecked())
//		{
//			msg += "- Please select a Sample Volume before proceeding.\n";
//			if (tabToShow > 1) tabToShow = 1;
//		}
		
		if (!RadiosAreDisabled('rdoOptConfig') && !Tab2RadioChecked())
		{
			msg += "- Please select an Optical Configuration before proceeding.\n";
			if (tabToShow > 2) tabToShow = 2;
		}
		
		if (!RadiosAreDisabled('rdoBandwidths') && !Tab3RadioChecked())
		{
			msg += "- Please select a Spectral Bandwidth before proceeding.\n"
			if (tabToShow > 3) tabToShow = 3;
		}

		alert(msg);
		showTabByNum(tabToShow);
	}
	else FilterTab4(svID, ocID, sbID);
}

function checkTab4()
{
	tabToShow = 5;
	//if (!Tab1RadioChecked() || !Tab2RadioChecked() || !Tab3RadioChecked() || !Tab4RadioChecked())
	if (!Tab2RadioChecked() || !Tab3RadioChecked() || !Tab4RadioChecked())
	{
		msg = "The following errors occurred:\n\n";
//		if (!Tab1RadioChecked())
//		{
//			msg += "- Please select a Sample Volume before proceeding.\n";
//			if (tabToShow > 1) tabToShow = 1;
//		}
		
		if (!RadiosAreDisabled('rdoOptConfig') && !Tab2RadioChecked())
		{
			msg += "- Please select an Optical Configuration before proceeding.\n";
			if (tabToShow > 2) tabToShow = 2;
		}
		
		if (!RadiosAreDisabled('rdoBandwidths') && !Tab3RadioChecked())
		{
			msg += "- Please select a Spectral Bandwidth before proceeding.\n"
			if (tabToShow > 3) tabToShow = 3;
		}

		if (!RadiosAreDisabled('rdoTempControl') && !Tab4RadioChecked())
		{
			msg += "- Please select a Temperature Control type before proceeding.\n"
			if (tabToShow > 4) tabToShow = 4;
		}

		alert(msg);
		showTabByNum(tabToShow);
	}
	else FilterTab5(svID, ocID, sbID, tcID);
}

function checkTab5()
{
	tabToShow = 6;
	//if (!Tab1RadioChecked() || !Tab2RadioChecked() || !Tab3RadioChecked() || !Tab4RadioChecked() || !Tab5RadioChecked())
	if (!Tab2RadioChecked() || !Tab3RadioChecked() || !Tab4RadioChecked() || !Tab5RadioChecked())
	{
		msg = "The following errors occurred:\n\n";
//		if (!Tab1RadioChecked())
//		{
//			msg += "- Please select a Sample Volume before proceeding.\n";
//			if (tabToShow > 1) tabToShow = 1;
//		}
		
		if (!RadiosAreDisabled('rdoOptConfig') && !Tab2RadioChecked())
		{
			msg += "- Please select an Optical Configuration before proceeding.\n";
			if (tabToShow > 2) tabToShow = 2;
		}
		
		if (!RadiosAreDisabled('rdoBandwidths') && !Tab3RadioChecked())
		{
			msg += "- Please select a Spectral Bandwidth before proceeding.\n"
			if (tabToShow > 3) tabToShow = 3;
		}

		if (!RadiosAreDisabled('rdoTempControl') && !Tab4RadioChecked())
		{
			msg += "- Please select a Temperature Control type before proceeding.\n"
			if (tabToShow > 4) tabToShow = 4;
		}
		
		if (!RadiosAreDisabled('rdoCellChangers') && !Tab5RadioChecked())
		{
			msg += "- Please select the Sample Handling before proceeding.\n";
			if (tabToShow > 5) tabToShow = 5;
		}

		alert(msg);
		showTabByNum(tabToShow);
	}
	else FilterTab6(svID, ocID, sbID, tcID, ccID);
}

function checkTab6()
{
	tabToShow = 6;
	//if (!Tab1RadioChecked() || !Tab2RadioChecked() || !Tab3RadioChecked() || !Tab4RadioChecked() || !Tab5RadioChecked() || !Tab6RadioChecked())
	if (!Tab2RadioChecked() || !Tab3RadioChecked() || !Tab4RadioChecked() || !Tab5RadioChecked() || !Tab6RadioChecked())
	{
		msg = "The following errors occurred:\n\n";
//		if (!Tab1RadioChecked())
//		{
//			msg += "- Please select a Sample Volume before proceeding.\n";
//			if (tabToShow > 1) tabToShow = 1;
//		}
		
		if (!RadiosAreDisabled('rdoOptConfig') && !Tab2RadioChecked())
		{
			msg += "- Please select an Optical Configuration before proceeding.\n";
			if (tabToShow > 2) tabToShow = 2;
		}
		
		if (!RadiosAreDisabled('rdoBandwidths') && !Tab3RadioChecked())
		{
			msg += "- Please select a Spectral Bandwidth before proceeding.\n"
			if (tabToShow > 3) tabToShow = 3;
		}

		if (!RadiosAreDisabled('rdoTempControl') && !Tab4RadioChecked())
		{
			msg += "- Please select a Temperature Control type before proceeding.\n"
			if (tabToShow > 4) tabToShow = 4;
		}
		
		if (!RadiosAreDisabled('rdoCellChangers') && !Tab5RadioChecked())
		{
			msg += "- Please select the Sample Handling before proceeding.\n";
			if (tabToShow > 5) tabToShow = 5;
		}
		
		if (!RadiosAreDisabled('rdoKinetics') && !Tab6RadioChecked())
		{
			msg += "- Please select a Kinetic before proceeding.\n";
			if (tabToShow > 6) tabToShow = 6;
		}
		
		alert(msg);
		showTabByNum(tabToShow);
	}
	else
	{
		var querystring = "results.aspx?svID="+ svID +"&ocID="+ ocID +"&sbID="+ sbID +"&tcID="+ tcID +"&ccID="+ ccID +"&kID="+ kID;
		location.href=querystring;
	}
}


/*  used on onClick of radio button  */
function uncheckNextTabsRadios(thisTab) {
	if (thisTab == 1)
	{
		uncheckRadios('rdoOptConfig','ocID');
		uncheckRadios('rdoBandwidths','sbID');
		uncheckRadios('rdoTempControl','tcID');	
		uncheckRadios('rdoCellChangers','ccID');
		uncheckRadios('rdoKinetics','kID');
	}
	if (thisTab == 2)
	{
		uncheckRadios('rdoBandwidths','sbID');
		uncheckRadios('rdoTempControl','tcID');	
		uncheckRadios('rdoCellChangers','ccID');
		uncheckRadios('rdoKinetics','kID');
	}
	if (thisTab == 3)
	{
		uncheckRadios('rdoTempControl','tcID');	
		uncheckRadios('rdoCellChangers','ccID');
		uncheckRadios('rdoKinetics','kID');
	}
	if (thisTab == 4)
	{
		uncheckRadios('rdoCellChangers','ccID');
		uncheckRadios('rdoKinetics','kID');
	}
	if (thisTab == 5)
	{
		uncheckRadios('rdoKinetics','kID');
	}
}

function Tab1RadioChecked() {
//	if (IsRadioChecked('rdoSampleVolume','svID') || allDisabled('rdoSampleVolume','svID')) return true;
//	setValue('svID', 0)
//	return false;
    return true;
}
function Tab2RadioChecked() {
	if (IsRadioChecked('rdoOptConfig','ocID') || allDisabled('rdoOptConfig','ocID')) return true;
	setValue('ocID', 0)
	return false;
}
function Tab3RadioChecked() {
	if (IsRadioChecked('rdoBandwidths','sbID') || allDisabled('rdoBandwidths','sbID')) return true;
	setValue('sbID', 0)
	return false;
}
function Tab4RadioChecked() {
	if (IsRadioChecked('rdoTempControl','tcID') || allDisabled('rdoTempControl','tcID')) return true;
	setValue('tcID', 0)
	return false;
}
function Tab5RadioChecked() {
	if (IsRadioChecked('rdoCellChangers','ccID') || allDisabled('rdoCellChangers','ccID')) return true;
	setValue('ccID', 0)
	return false;
}
function Tab6RadioChecked() {
	if (IsRadioChecked('rdoKinetics','kID') || allDisabled('rdoKinetics','kID')) return true;
	setValue('kID', 0)
	return false;
}

function IsRadioChecked(radButtonGroupName, valueToSet) {
	var radioButtonGroup = eval('document.Form1.'+radButtonGroupName);
	for (var i=0; i<radioButtonGroup.length; i++) {
		if (radioButtonGroup[i].checked) {
			if (valueToSet != '')
			{
				setValue(valueToSet, radioButtonGroup[i].value);
			}
			return true;
		}
	}
	setValue(valueToSet, 0);
	return false;
}

function allDisabled(radButtonGroupName, valueToSet) {
	var radioButtonGroup = eval('document.Form1.'+radButtonGroupName);
	for (var i=0; i<radioButtonGroup.length; i++) {
		if (radioButtonGroup[i].disabled == false) {
			return false
		}
	}
	setValue(valueToSet, 0);
	return true;
}

function uncheckRadios(radButtonGroupName, valueToSet) {
	var radioButtonGroup = eval('document.Form1.'+radButtonGroupName);
	for (var i=0; i<radioButtonGroup.length; i++) {
		radioButtonGroup[i].checked = false;
	}
	setValue(valueToSet, 0);
	return true;
}

function setValue(valueToSet, value) {
	switch (valueToSet) {
		//case 'svID':
			//svID = value;
		case 'ocID':
			ocID = value;
			break;
		case 'sbID':
			sbID = value;
			break;
		case 'tcID':
			tcID = value;
			break;
		case 'ccID':
			ccID = value;
			break;
		case 'kID':
			kID = value;
			break;
	}
}

function RadiosAreDisabled(radButtonGroupName) {
	var radioButtonGroup = eval('document.Form1.'+radButtonGroupName);
	for (var i=0; i<radioButtonGroup.length; i++) {
		if (radioButtonGroup[i].disabled == false) {
			return false;
		}
	}
	return true;
}


/*  functions for use by tab filters  */

function DisableRadiosTab(radButtonGroupName, xmlString) {
	var radios = xmlString.getElementsByTagName("radio");
	rowcount = radios.length;
	if (rowcount > 0) {
		ClearTabRadios(radButtonGroupName);
		for (i=0; i<rowcount; i++) {	
			var rID = radios[i].getAttribute("id");
			DisableTabRadio(radButtonGroupName,rID);
		}
	}
	if (ClearDisabledRadios(radButtonGroupName)) showTabByNum(tabToShow);
}

function ClearTabRadios(radButtonGroupName) {
	var radioButtonGroup = eval('document.Form1.'+radButtonGroupName);
	for (var i=0; i<radioButtonGroup.length; i++) {
		radioButtonGroup[i].disabled = false;
	}
}

function DisableTabRadio(radButtonGroupName, rID) {
	var radioButtonGroup = eval('document.Form1.'+radButtonGroupName);
	for (var i=0; i<radioButtonGroup.length; i++) {
		if (radioButtonGroup[i].value == rID) {
			radioButtonGroup[i].disabled = true;
		}
	}
}

function ClearDisabledRadios(radButtonGroupName) {
	var radioButtonGroup = eval('document.Form1.'+radButtonGroupName);
	for (var i=0; i<radioButtonGroup.length; i++) {
		if (radioButtonGroup[i].disabled == true) {
			radioButtonGroup[i].checked = false;
		}
	}
	return true;
}