var wID, ocID, sID, sbID, amID, scID = 0;
var tabToShow = 1;

function showTab(div, tabName)
{
	expandcontent(div, document.getElementById(tabName));
}

function showTabByNum(tabNum)
{
	showTab('sc'+tabNum, 'tab'+tabNum);
}

function ajaxLoadTabs()
{
	SoftwareLookup();
	AnalysisMethodsLookup();
	BandwidthLookup();
	ScanningLookup();
	OpticalConfigLookup();
	WavelengthLookup();
	showTab('sc1', 'tab1');
}

function checkTab1()
{
	tabToShow = 2;
	if (!Tab1RadioChecked())
	{
		msg = "The following errors occurred:\n\n";
		msg += "- Please select a Wavelength Range before proceeding.\n";
		if (tabToShow > 1) tabToShow = 1;
		alert(msg);
		showTabByNum(tabToShow);
	}
	else FilterTab2(wID);
}

function checkTab2()
{
	tabToShow = 3;
	if (!Tab1RadioChecked() || !Tab2RadioChecked())
	{
		msg = "The following errors occurred:\n\n";
		
		if (!Tab1RadioChecked())
		{
			msg += "- Please select a Wavelength Range before proceeding.\n";
			if (tabToShow > 1) tabToShow = 1;
		}
		
		if (!Tab2RadioChecked())
		{
			msg += "- Please select an Optical Configuration before proceeding."
			if (tabToShow > 2) tabToShow = 2;
		}
		alert(msg);
		showTabByNum(tabToShow);
	} 
	else FilterTab3(wID, ocID);
}

function checkTab3()
{
	tabToShow = 4;
	if (!Tab1RadioChecked() || !Tab2RadioChecked() || !Tab3RadioChecked())
	{
		msg = "The following errors occurred:\n\n";
		if (!Tab1RadioChecked())
		{
			msg += "- Please select a Wavelength Range before proceeding.\n";
			if (tabToShow > 1) tabToShow = 1;
		} 
		
		if (!Tab2RadioChecked()) 
		{
			msg += "- Please select an Optical Configuration before proceeding.\n"
			if (tabToShow > 2) tabToShow = 2;
		} 

		if (!Tab3RadioChecked()) 
		{
			msg += "- Please select a Scanning Type before proceeding.\n";
			if (tabToShow > 3) tabToShow = 3;
		}
		alert(msg);
		showTabByNum(tabToShow);
	} 
	else FilterTab4(wID, ocID, sID);
}

function checkTab4()
{
	tabToShow = 5;
	if (!Tab1RadioChecked() || !Tab2RadioChecked() || !Tab3RadioChecked() || !Tab4RadioChecked()) 
	{
		msg = "The following errors occurred:\n\n";
		if (!Tab1RadioChecked())  
		{
			msg += "- Please select a Wavelength Range before proceeding.\n";
			if (tabToShow > 1) tabToShow = 1;
		} 
		
		if (!Tab2RadioChecked()) 
		{
			msg += "- Please select an Optical Configuration before proceeding.\n"
			if (tabToShow > 2) tabToShow = 2;
		}

		if (!Tab3RadioChecked()) 
		{
			msg += "- Please select a Scanning Type before proceeding.\n";
			if (tabToShow > 3) tabToShow = 3;
		} 
		
		if (!Tab4RadioChecked()) 
		{
			msg += "- Please select a Spectral Bandwidth before proceeding.\n"
			if (tabToShow > 4) tabToShow = 4;
		}
		alert(msg);
		showTabByNum(tabToShow);
	} 
	else FilterTab5(wID, ocID, sID, sbID);
}

function checkTab5() 
{
	tabToShow = 6;
	if (!Tab1RadioChecked() || !Tab2RadioChecked() || !Tab3RadioChecked() || !Tab4RadioChecked() || !Tab5RadioChecked()) 
	{
		msg = "The following errors occurred:\n\n";
		if (!Tab1RadioChecked())  
		{
			msg += "- Please select a Wavelength Range before proceeding.\n";
			if (tabToShow > 1) tabToShow = 1;
		} 
		
		if (!Tab2RadioChecked()) 
		{
			msg += "- Please select an Optical Configuration before proceeding.\n"
			if (tabToShow > 2) tabToShow = 2;
		} 
		
		if (!Tab3RadioChecked()) 
		{
			msg += "- Please select a Scanning Type before proceeding.\n";
			if (tabToShow > 3) tabToShow = 3;
		} 
		
		if (!Tab4RadioChecked()) 
		{
			msg += "- Please select a Spectral Bandwidth before proceeding.\n";
			if (tabToShow > 4) tabToShow = 4;
		} 

		if (!Tab5RadioChecked()) 
		{
			msg += "- Please select a Built-In Analysis Method before proceeding.\n"
			if (tabToShow > 5) tabToShow = 5;
		}
		alert(msg);
		showTabByNum(tabToShow);
	} 
	else FilterTab6(wID, ocID, sID, sbID, amID);
}

function checkTab6() 
{
	tabToShow = 6;
	var success = false;
	if (!Tab1RadioChecked() || !Tab2RadioChecked() || !Tab3RadioChecked() || !Tab4RadioChecked() || !Tab5RadioChecked() || !Tab6RadioChecked()) 
	{
		msg = "The following errors occurred:\n\n";
		if (!Tab1RadioChecked())  
		{
			msg += "- Please select a Wavelength Range before proceeding.\n";
			if (tabToShow > 1) tabToShow = 1;
		} 

		if (!Tab2RadioChecked()) 
		{
			msg += "- Please select an Optical Configuration before proceeding.\n"
			if (tabToShow > 2) tabToShow = 2;
		} 

		if (!Tab3RadioChecked()) 
		{
			msg += "- Please select a Scanning Type before proceeding.\n";
			if (tabToShow > 3) tabToShow = 3;
		} 

		if (!Tab4RadioChecked()) 
		{
			msg += "- Please select a Spectral Bandwidth before proceeding.\n";
			if (tabToShow > 4) tabToShow = 4;
		} 

		if (!Tab5RadioChecked()) 
		{
			msg += "- Please select a Built-In Analysis Method before proceeding.\n"
			//alert("here 2");
			if (tabToShow > 5) tabToShow = 5;
		}
		
		if (!Tab6RadioChecked()) 
		{
			msg += "- Please select a Software Capability before proceeding.\n"
			if (tabToShow > 6) tabToShow = 6;
		}
		alert(msg);
		showTabByNum(tabToShow);
	} 
	else 
	{
		var querystring = "results.aspx?wID="+ wID +"&ocID="+ ocID +"&sID="+ sID +"&sbID="+ sbID +"&amID="+ amID +"&scID="+ scID + "&page=1";
		location.href=querystring;
	}
}

/*  used on onClick of radio button  */
function uncheckNextTabsRadios(thisTab) {
	if (thisTab == 1) uncheckRadios('rdoOptConfig','ocID');
	if (thisTab == 1 || thisTab == 2) uncheckRadios('rdoScanningTypes','sID');
	if (thisTab == 1 || thisTab == 2 || thisTab == 3) uncheckRadios('rdoBandwidths','sbID');
	if (thisTab == 1 || thisTab == 2 || thisTab == 3 || thisTab == 4) uncheckRadios('rdoAnalysisMethods','amID');
	if (thisTab == 1 || thisTab == 2 || thisTab == 3 || thisTab == 4 || thisTab == 5) uncheckRadios('rdoSoftwareTypes','scID');
}

function Tab1RadioChecked() {
	if (IsRadioChecked('rdoWavelength','wID') || allDisabled('rdoWavelength','wID')) return true;
	setValue('wID', 0)
	return false;
}
function Tab2RadioChecked() {
	if (IsRadioChecked('rdoOptConfig','ocID') || allDisabled('rdoOptConfig','ocID')) return true;
	setValue('ocID', 0)
	return false;
}
function Tab3RadioChecked() {
	if (IsRadioChecked('rdoScanningTypes','sID') || allDisabled('rdoScanningTypes','sID')) return true;
	setValue('sID', 0)
	return false;
}
function Tab4RadioChecked() {
	if (IsRadioChecked('rdoBandwidths','sbID') || allDisabled('rdoBandwidths','sbID')) return true;
	setValue('sbID', 0)
	return false;
}
function Tab5RadioChecked() {
	if (IsRadioChecked('rdoAnalysisMethods','amID') || allDisabled('rdoAnalysisMethods','amID')) return true;
	setValue('amID', 0)
	return false;
}
function Tab6RadioChecked() {
	if (IsRadioChecked('rdoSoftwareTypes','scID') || allDisabled('rdoSoftwareTypes','scID')) return true;
	setValue('scID', 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) {
			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 'wID':
			wID = value;
			break;
		case 'ocID':
			ocID = value;
			break;
		case 'sID':
			sID = value;
			break;
		case 'sbID':
			sbID = value;
			break;
		case 'amID':
			amID = value;
			break;
		case 'scID':
			scID = value;
			break;
	}
}


/*  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;
}