var IE4 = (document.all) ? true : false;

//var NS4 = (document.layers) ? true : false;
var form =  document.forms[0];
var doc;

var NS6;
var NS4;
var IE;
var marketlayer;
var quarterlayer;
var graphicslayer;

if (navigator.appName == "Netscape")
{
	if (parseInt(navigator.appVersion) >= 5)
	{
		doc =  document;
		NS6 = true;
	}
	if (parseInt(navigator.appVersion) >= 4 && parseInt(navigator.appVersion) < 5)
	{
		doc =  document;
		NS4 = true;
	}

}
if (navigator.appName.indexOf("Internet Explorer") >0 )
{
	doc = document.all;
	IE = true;
}

function init()
{
	if (NS4)
	{	
		marketlayer = document.layers.marketdiv;
		quarterlayer = document.layers.quarterdiv;
		graphicslayer = document.layers.graphicsdiv;
	}

}

function HideImage(Element)
{
	Element.style.display = "none";
}

function RemoveOptions(OptionList)
{
	if  (OptionList != null)
	{	
		for (var i = OptionList.length - 1; i > 0; i--) 
		{

			if (i == 0)
			{
			continue;
			}
			if (!NS4)
			{
				OptionList.remove(i);
			}
			OptionList.options[i] = null;
		}
	}
}


function BuildQuarterChoices(form) 
{
	var quarters;
	var graphics;
	var SelectItem=form.marketselector.selectedIndex;

	if (NS4)
	{
		
		quarters = ObtainElement("quarterselector","Quarters");
		RemoveOptions(quarters);
		graphics = ObtainElement("graphicselector","Graphics");
		RemoveOptions(graphics);

	}
	else
	{
		RemoveOptions(ObtainElement("quarterselector"));
		RemoveOptions(ObtainElement("graphicselector"));
		HideImage(ObtainElement("imagedisplay"));
	}
	

	
	if (SelectItem!=0)
	{
		if (SelectItem == 1)
		{
			
			if (ManagementArr != null)
			{
				MarketSelection = 1;
				AddQuarterlyElements(ManagementArr, "quarterselector","Quarters");				

			}
			
		}
		else if (SelectItem == 2)
		{
			if (ManufacturingArr != null)
			{
				MarketSelection = 2;	
				AddQuarterlyElements(ManufacturingArr, "quarterselector","Quarters");
			}

		}		
		else if (SelectItem == 3)
		{
			if (TrendsetterArr != null)
			{
				MarketSelection = 3;	
				AddQuarterlyElements(TrendsetterArr, "quarterselector","Quarters");
			}

		}	
		else if (SelectItem == 4)
		{
			if (TechnologyArr != null)
			{
				MarketSelection = 4;
				AddQuarterlyElements(TechnologyArr, "quarterselector", "Quarters");				
			}
		}	
		
	}
}

function BuildGraphicOptions(form) 
{
	var myindex=form.quarterselector.options[form.quarterselector.selectedIndex].value;
	var graphics;
	if (NS4)
	{
		graphics = ObtainElement("graphicselector","Graphics");
		RemoveOptions(graphics);
	}
	else
	{
		RemoveOptions(ObtainElement("graphicselector"));
		HideImage(ObtainElement("imagedisplay"));
	}
	

	
	if (myindex!=null)
	{
		if (MarketSelection == 1)
		{
			AddIndicatiorElements(ManagementArr, "Management", "graphicselector", myindex,"Graphics");			
		}
		if (MarketSelection == 2)
		{
			AddIndicatiorElements(ManufacturingArr, "Manufacturing", "graphicselector",myindex,"Graphics");			
		}		
		if (MarketSelection == 3)
		{
			AddIndicatiorElements(TrendsetterArr, "Trendsetter", "graphicselector",myindex,"Graphics");			
		}	
		if (MarketSelection == 4)
		{
			AddIndicatiorElements(TechnologyArr, "Technology", "graphicselector", myindex,"Graphics");			
		}	
	}
}

function ObtainElement(ElementId,Form)
{
	if (NS6)
	{
		return document.getElementById(ElementId);
	}
	if (IE)
	{
		return eval("document.all."+ElementId);
	}
	if (NS4)
	{
		if (Form == null)
		{
			return eval("document."+ElementId);
		}
		else
		{
			return eval("document.forms['"+Form+"']."+ElementId);	
		}
	}

}

function ElementPresent(ElementArray, SearchVal)
{
	for (i = 0; i <ElementArray.length;i++)
	{
		
		if (ElementArray[i].value != null)
		{
			document.write("search val: "+SearchVal);
			document.write("element val: "+ElementArray[i].value);
		if (SearchVal.indexOf(ElementArray[i].value) == 0)
		{
			return true;
		}
		}	
	}
	return false;
}

function SortOrder(a, b)
{
	var firstVal;
	var secondVal;
	var tilde_pos;
	tilde_pos =a.indexOf("~");
	firstVal = a.substr(0,tilde_pos);
	
	tilde_pos =b.indexOf("~");
	secondVal = b.substr(0,tilde_pos);
	

	if ( firstVal > secondVal)
	{	
		return -1;
	}
	else if  (firstVal < secondVal)
	{
		return 1;
	}	
	else
	{
		return 0;
	}

}

function ReSortOrder(a, b)
{
	var firstVal;
	var secondVal;
	
	if (a == null)
	{
		return 0;
	}
	if (b == null)
	{
		return 0;
	}

	firstVal = a.substr(11,5)+"_"+ a.substr(0,1);

	
	secondVal = b.substr(11,5) +"_"+b.substr(0,1);

	if (a.substr(11,5) == "1998" && b.substr(11,5) == "1998")
	{
		document.writeln("firstVal: "+firstVal);
		document.writeln("secondVal: "+secondVal);
	}
	
	if ( firstVal < secondVal)
	{	

		return 1;
	}
	else if  (firstVal > secondVal)
	{
		return -1;
	}	
	else
	{
		return 0;
	}

}

function AddQuarterlyElements(ElementArr, ElementId, Layer)
{
	var obj;
	var option;
	var elementstr = "";
	var oldelementstr = "";
	var j = 0;
	var k = 0;
	var n=0;
	var tilde_pos = 0;
	var englishQuarter = "";
	var qrt ="";
	var year="";
	tmpQuarterArr = new Array(ElementArr.length);
	obj = ObtainElement(ElementId, Layer);
	for (i = 0; i <ElementArr.length;i++)
	{
		if (j == 0)
		{
			elementstr = "Select a Quarter...";
			option = new Option(elementstr, elementstr);
			oldelementstr = elementstr;
			obj.options[j]=option;
			j++;
		}
		elementstr = ElementArr[i].substr(ElementArr[i].length-4,4);
		if (oldelementstr.indexOf(elementstr) == -1)
		{
			qrt = elementstr.charAt(0);
			switch (qrt)
			{
				case '1':
				englishQuarter = "1st Quarter";
				break;
				case '2':
				englishQuarter = "2nd Quarter";
				break;
				case '3':
				englishQuarter = "3rd Quarter";
				break;
				case '4':
				englishQuarter = "4th Quarter";
				break;

			}
			var yeardigit = elementstr.charAt(2);
			if (yeardigit == '9')
			{
				year = "19"+elementstr.charAt(2)+elementstr.charAt(3);
			}
			else
			{
				year = "20"+elementstr.charAt(2)+elementstr.charAt(3);
			}
			tmpQuarterArr[k] = englishQuarter+  " "+year+"~"+elementstr;
			k++;
			oldelementstr = elementstr;
			j++;
		}
				
	}
	//tmpQuarterArr.sort(SortOrder);
	if (NS4)
	{				
		tmpQuarterArr.sort();
	}
	else
	{
		tmpQuarterArr.sort(ReSortOrder);
	}
	j=0
	for (n = 0; n <k;n++)
	{
			tilde_pos = tmpQuarterArr[n].indexOf("~");
			if (n != 0)
			{
				if (tmpQuarterArr[n].substr(0, tilde_pos) != tmpQuarterArr[n-1].substr(0, tilde_pos))
				{
					option = new Option(tmpQuarterArr[n].substr(0, tilde_pos), 					tmpQuarterArr[n].substr(tilde_pos+1, 4));
					obj.options[j]=option;
					j++;

				}
			}
			else
			{
				option = new Option("Select a Quarter...", "Select a Quarter...");
				obj.options[j]=option;
				j++;
				option = new Option(tmpQuarterArr[n].substr(0, tilde_pos), tmpQuarterArr[n].substr(tilde_pos+1, 4));
				obj.options[j]=option;
				j++;
			}
	}
	if (!NS4)
	{			
		obj.style.display = "inline";
	}
	obj.selectedIndex = 0;
}



function AddIndicatiorElements(ElementArr, Indicator, ElementId, Match,Layer)
{
	var obj;
	var option;
	var text;
	var value;
	var j = 0;

	obj = ObtainElement(ElementId, Layer);
	for (i = 0; i <ElementArr.length;i++)
	{
		if (j == 0)
		{
			elementstr = "Select a Chart...";
			option = new Option(elementstr, elementstr);
			oldelementstr = elementstr;
			obj.options[j]=option;
			j++;
		}
		if (ElementArr[i].indexOf(Match) > 0)
		{
			text = ElementArr[i].substring(ElementArr[i].indexOf("~")+1+4,ElementArr[i].length-4);
			value =Indicator+ElementArr[i].substring(ElementArr[i].indexOf("~")+1+4,ElementArr[i].length-4) +ElementArr[i].substr(ElementArr[i].length-4,4)+"~"+ElementArr[i].substring(0,ElementArr[i].indexOf("~"));
			option = new Option(text, value);
			obj.options[j]=option;
			j++;
		}
	}
	if (!NS4)
	{				
		obj.style.display = "inline";
	}
	obj.selectedIndex = 0;
}



