
function LoadSICData()
{
	var TABLE = "";
	var tempSector = new Array();
	
	for(var x=0;x<SICData.length;x++)
	{
		var sData = SICData[x];
		if (!ArrayContains(tempSector, sData[0]))
		{
			tempSector.push(sData[0])
			TABLE += String.format('\
			<TR>\
				<TD><input type="checkbox" ID="SECTOR_{0}" onclick="ToggleSector(this, {0});" style="filter:alpha(opacity=50);-moz-opacity:.50;opacity:.50;"></TD>\
				<TD CLASS="sector" COLSPAN=2>{2}</TD>\
			</TR>', sData[0], sData[1], sData[2], sData[3], sData[4]);
		}
		TABLE += String.format('\
			<TR>\
				<TD>&nbsp;</TD>\
				<TD VALIGN="top"><input type="checkbox" name="SIC[]" ID="SIC_{0}_{1}" onclick="ToggleIndustry(this, {0});" VALUE="{4}" STYLE="width:12px;height:12px;display:block;font-size:12px;"></TD>\
				<TD CLASS="industry">{3}</TD>\
			</TR>', sData[0], sData[1], sData[2], sData[3], sData[4].join(','));
	}
	
	TABLE = String.format('<TABLE CLASS="IndSec">{0}</TABLE>',TABLE);
	
	gE("SectorIndustry").innerHTML = TABLE;
}

//----------------------------------------------------------------
LoadSICData(); 
//----------------------------------------------------------------

function ArrayContainsArrayEle(arrSrc, arrTarget)
{
	for (var x=0;x<arrSrc.length;x++)
	{
		for (var y=0;y<arrTarget.length;y++)
		{
			if (parseInt(arrSrc[x],10) == parseInt(arrTarget[y],10))
			{
				return true;
			}
		}
	}
	return false;
}

var SICRegEx = new RegExp("SIC_([0-9]+)_([0-9]+)");

function GatherSIC()
{
	var SICs = new Array();
	var checks = document.getElementsByTagName("input");
	for (var x=0;x<checks.length;x++)
	{
		if (checks[x].type == "checkbox")
		{
			if (SICRegEx.test(checks[x].id))
			{
				if (checks[x].checked)
				{
					SICs.push(checks[x].value);
				}
			}
		}
	}
	document.getElementById("filterBySector").value = SICs.join(",");
}

function CheckAllSIC(boolCheck)
{
	var checks = document.getElementsByTagName("input");
	for (var x=0;x<checks.length;x++)
	{
		if (checks[x].type == "checkbox")
		{
			if (SICRegEx.test(checks[x].id) || checks[x].id.indexOf("SECTOR_") > -1)
			{
				checks[x].checked = boolCheck;
			}
		}
	}
}

function SICHeight(intHeight)
{
	gE("SectorIndustry").style.height = intHeight + "px";
}

function CheckSavedSIC(arrSavedOptions)
{
	var checks = document.getElementsByTagName("input");
	for (var x=0;x<checks.length;x++)
	{
		if (checks[x].type == "checkbox")
		{
			if (SICRegEx.test(checks[x].id))
			{
				var SectorId = checks[x].id.replace(SICRegEx, "$1");
				var SICSource = checks[x].value.split(',');
				var SICSaved = arrSavedOptions;
				
				if (ArrayContainsArrayEle(SICSource, SICSaved))
				{
					//alert(checks[x].id.replace(SICRegEx, "SIC_$1_$2"));
					checks[x].checked = true;
					ToggleIndustry(checks[x], SectorId);
				}
			}
		}
	}
}


function ArrayContains(arrArray, objObject)
{
	for (var x=0;x<arrArray.length;x++)
	{
		if (arrArray[x]==objObject)
		{
			return true;
		}
	}
	return false;
}

function ToggleSector(ele, secId)
{
	//alert("This is checked: " + ele.id + ":" + ele.checked);
	
	var checks = document.getElementsByTagName("input");
	var subCount = 0;
	
	for (var x=0;x<checks.length;x++)
	{
		if (checks[x].type == "checkbox")
		{
			var s = "SIC_" + secId + "_";
			if (checks[x].id.substr(0,s.length) == s)
			{
				subCount++;
				checks[x].checked = ele.checked;
			}
		}
	}
	GatherSIC();
	//alert("This many sub elements: " + subCount);
	
}


function ToggleIndustry(ele, secId)
{
	//alert("This is checked: " + ele.checked);
	
	var checks = document.getElementsByTagName("input");
	var subCount = 0;
	
	for (var x=0;x<checks.length;x++)
	{
		if (checks[x].type == "checkbox")
		{
			var s = "SIC_" + secId + "_";
			if (checks[x].id.substr(0,s.length) == s)
			{
				if (checks[x].checked)
				{
					subCount++;
				}
			}
		}
	}
	if (subCount==0)
	{
		gE("SECTOR_" + secId).checked = false;
	}
	else
	{
		gE("SECTOR_" + secId).checked = true;
	}
	GatherSIC();
}