function openWin(fileName)
 {
     myFloater = window.open('','myWindow','scrollbars,resizable,width=500,height=300,screenX=0,screenY=0,left=0,top=0');
     myFloater.location.href = fileName;
     myFloater.focus();
 }


function setColumnTopic()
 {
	  var index;
	  var value;
	  var element;
	  var textNode;
	  var ancestor;
	  var descendant;
	  var disowned;
	  var newButton;
      var columnTopics;
      var columnValues;
      var NS4;
      var locate;

      //Check for Netscape 4 browser
       NS4 = (document.layers) ? true : false;

      columnTopics = new Array(8);
      columnValues = new Array(8);

      columnTopics[0]="Enrollment status"
      columnValues[0]=1
      columnTopics[1]="Percent minority"
      columnValues[1]=3
      columnTopics[2]="Percent Black only"
      columnValues[2]=4
      columnTopics[3]="Percent Hispanic"
      columnValues[3]=5
      columnTopics[4]="Federal transfer payments per student"
      columnValues[4]=6
      columnTopics[5]="Instructional expenditures per student"
      columnValues[5]=7
      columnTopics[6]="Student teacher ratio"
      columnValues[6]=8
      columnTopics[7]="Size of school district"
      columnValues[7]=9

	  if (NS4)
	  { locate = NS4Find("Select1");
	    element = document.forms[2].elements[locate];
	    locate = NS4Find("Select2");
	    ancestor = document.forms[2].elements[locate];
	  }
	  else
	  {
	    element = document.getElementById("Select1");
	    ancestor = document.getElementById("Select2");
	    if (objExist('select','Select2',NS4))
	       disowned = ancestor.lastChild;
	  }

	  index = element.selectedIndex;
	  if (index > -1)
   	     value = element.options[index].value;

      //Set elements in the 'Column Topic' select based upon the choice made in Row Topics
	  switch (value)
	  {
	    case "11":
	    case "12":
	    case "16":
	    case "17":
	    case "20":
	    case "22":
	    case "25":
	    case "26":
   	     //Allow Enrollment status only
	      if (NS4)
	      {
             //Delete (sort of) any children
	         for(i=ancestor.options.length;i>=0;i--)
	         {
	           ancestor.options[i] = null;
	         }
             //Create new list
	         ancestor.options[0]= new Option ("--Select column subject--","none");
	         ancestor.options[1]= new Option (columnTopics[0],columnValues[0]);
	         ancestor.selectedIndex = 0;
	      }
	      else
          {
          while (ancestor.childNodes.length > 0)
       	  {
	   				ancestor.removeChild(disowned);
	   				disowned = ancestor.lastChild;
     			}
   				element = document.createElement("OPTION");
				element.setAttribute("value","none");
				textNode = document.createTextNode("--Select column subject--");
				element.appendChild(textNode);
				ancestor.appendChild(element);
 				element = document.createElement("OPTION");
				element.setAttribute("value",columnValues[0]);
				textNode = document.createTextNode(columnTopics[0]);
				element.appendChild(textNode);
				ancestor.appendChild(element);
		  }
         break;

        case "21":
          //Set initial child to Race/Ethnicity
          if (NS4)
	      {
             //Delete (sort of) any children
	         for(i=ancestor.options.length;i>=0;i--)
	         {
	           ancestor.options[i] = null;
	         }
	         //Create new list
	         ancestor.options[0]= new Option ("--Select column subject--","none");
	         ancestor.options[1]= new Option ("Enrollment Status","50");
   	         ancestor.selectedIndex = 0;
	      }
          else
          {
         	while (ancestor.childNodes.length > 0 )
       		{
	   			ancestor.removeChild(disowned);
	   			disowned = ancestor.lastChild;
     		}
     		element = document.createElement("OPTION");
			element.setAttribute("value","none");
			textNode = document.createTextNode("--Select column subject--");
			element.appendChild(textNode);
			ancestor.appendChild(element);
 			element = document.createElement("OPTION");
			element.setAttribute("value","50");
			textNode = document.createTextNode("Enrollment Status");
			element.appendChild(textNode);
			ancestor.appendChild(element);
		 }
    	break;

        case "24":
        //No Enrollment status
          if (NS4)
	      {
             //Delete (sort of) any children
	         for(i=ancestor.options.length;i>=0;i--)
	         {
	           ancestor.options[i] = null;
	         }
	         //Create new list
	         ancestor.options[0]= new Option ("--Select column subject--","none");
     		 for (i=1;i<=7;i++)
     		 {
     		    locate= ancestor.options.length;
  	            ancestor.options[locate]= new Option (columnTopics[i],columnValues[i]);
     		 }
  	         ancestor.selectedIndex = 0;
	      }
	      else
	      {
			while (ancestor.childNodes.length > 0)
       		{
	   			ancestor.removeChild(disowned);
	   			disowned = ancestor.lastChild;
     		}
     		element = document.createElement("OPTION");
			element.setAttribute("value","none");
			textNode = document.createTextNode("--Select column subject--");
			element.appendChild(textNode);
			ancestor.appendChild(element);
     		for (i=1;i<=7;i++)
     		{
     			element = document.createElement("OPTION");
				element.setAttribute("value",columnValues[i]);
				textNode = document.createTextNode(columnTopics[i]);
				element.appendChild(textNode);
				ancestor.appendChild(element);
     		}
     	  }
    	break;
          //Reset selection options
	    default:
          if (NS4)
	      {
             //Delete (sort of) any children
	         for(i=ancestor.options.length;i>=0;i--)
	         {
	           ancestor.options[i] = null;
	         }

	         //Create new list
	         ancestor.options[0]= new Option ("--Select column subject--","none");
     		 for (i=0;i<=7;i++)
     		 {
     		    locate= ancestor.options.length;
  	            ancestor.options[locate]= new Option (columnTopics[i],columnValues[i]);
     		 }
   	         ancestor.selectedIndex = 0;
	      }
	      else
	      {
 	        if (objExist('select','Select2',false))
            {
				while (ancestor.childNodes.length > 0)
       			{
	   				ancestor.removeChild(disowned);
	   				disowned = ancestor.lastChild;
     			}
     			element = document.createElement("OPTION");
				element.setAttribute("value","none");
				textNode = document.createTextNode("--Select column subject--");
				element.appendChild(textNode);
				ancestor.appendChild(element);
     			for (i=0;i<=7;i++)
     			{
     				element = document.createElement("OPTION");
					element.setAttribute("value",columnValues[i]);
					textNode = document.createTextNode(columnTopics[i]);
					element.appendChild(textNode);
					ancestor.appendChild(element);
     			}
     	    }
     	  }
    	break;
       }
 }


function setValues(topic,column,tableID,category)
 {
    var element;
    var optionValue;
    var optionObj;
    var topic;
    var filter;
    var i;
    var NS4;
    var locate;
    var optLength;
    //Check for Netscape 4 browser
    NS4 = (document.layers) ? true : false;
   //Set row topic value
   if (topic != 'NULL')
   {
     optionValue = 0;
     if (NS4)
     {
       locate = NS4Find("Select1");
       if (locate < 1000) element = document.forms[2].elements[locate];
     }
     else
       element = document.getElementById("Select1");
     i= 0;
     optLength = element.options.length;
     while (i < optLength)
     {
         optionValue = element.options[i].value;

        //Exit loop upon match
        if (optionValue == topic)
           optLength = -1
        else
           i++;
     }
    if (optionValue != topic)
      i=0;
    element.selectedIndex = i;
     //Call function to properly display column topics
     setColumnTopic();

     //Set column topic value
     optionValue = 0;
     if (NS4)
     {
       locate = NS4Find("Select2");
       if (locate < 1000) element = document.forms[2].elements[locate];
     }
     else
       element = document.getElementById("Select2");
     i= 0;
     optLength = element.options.length;
      while (i < optLength && column != 'NULL')
      {
        if (objExist('select','Select2',NS4))
         {
          optionValue = element.options[i].value;
           //Exit while loop upon match
           if (optionValue == column)
             optLength = -1
           else
             i++;
         }
      }

     if (optionValue != column)
       i= 0;
     if (column != 'NULL')
        element.selectedIndex = i;
     //Set Dataset values
     if (objExist('select','Select3',NS4))
     {
        optionValue = 0;
        if (NS4)
        {
         locate = NS4Find("Select3");
         if (locate < 1000) element = document.forms[2].elements[locate];
        }
        else
          element = document.getElementById("Select3");
        i= 0;
        optLength = element.options.length;
        while (i < optLength && category !='NULL')
        {
          if (NS4)
            optionValue = element.options[i].text
          else
          {
             optionValue = element.options[i].id;
          }

          if (optionValue == category)
             optLength = -1;
          else
             i++;
        }
        if (optionValue != category)
           i=0;
        if (category!= 'NULL')
          element.selectedIndex = i;
     }
     //store values
     storeValues();
   }
 }


function objExist(Type,Name,NS4)
 {
   //Determines the existence of an object
   var element;
   var exist;
   var attribute;
   var nodeList;
   var locate

   //default value
   exist = false;

   //NS4 Special
   if (NS4)
   {
     switch(Name)
     {
       case 'Select2':
          locate = NS4Find("Select2");
          if (locate < 1000) exist = true;
       break;

       case 'Select3':
          locate = NS4Find("Select3");
          if (locate < 1000) exist = true;
       break;
     }
   }
   else
   {
       	nodeList = document.getElementsByTagName(Type);

		for (i=0;i<= nodeList.length - 1;i++)
		{
		 element = nodeList.item(i);
		 attribute = element.name;
		 if (Name == attribute)
		 {
		  exist = true;
		 }
	    }
	}
 	return exist;
  }


function NS4Find(objName)
  {
    var i;
    var item = 1000;
    for (i=0;i<document.forms[2].elements.length;i++)
    {
      if(document.forms[2].elements[i].name == objName)
      {
         item = i;
      }
    }
    return item;
  }


function storeValues()
    {
        //Call this function to store values
        var elementState;
        var elementGet;
        var elementStore;
        var selection;
        var value;
        var index;
        var locate;
        var NS4;
        var searchNode;

        //Check for Netscape 4 browser
        NS4 = (document.layers) ? true : false;

        //Store values selected by user
       if (!NS4)
       {
         elementGet = document.getElementById("Select1");//Row Topic Select
         elementStore = document.getElementById("Hidden10");//Row Topic Storage
       }
       else
       {
         locate = NS4Find("Select1");
         if (locate < 1000) elementGet = document.forms[2].elements[locate];//Row Topic Select
         locate = NS4Find("row_parm");
         if (locate < 1000) elementStore = document.forms[2].elements[locate]; //Row Topic Storage*/
       }
          index = elementGet.selectedIndex;
          if (index > -1)
          {
            selection = elementGet.options[index].value;
            elementStore.value = selection;
          }
          if (objExist('select','Select2',NS4))
          {
            if (NS4)
            {
              locate = NS4Find("Select2");
              if (locate < 1000) elementGet = document.forms[2].elements[locate];//Column Topic Select
                locate = NS4Find("column_parm");
              if (locate < 1000) elementStore = document.forms[2].elements[locate];//Column Topic Storage
            }
            else
            {
              elementGet = document.getElementById("Select2");//Column Topic Select
              elementStore = document.getElementById("Hidden11");//Column Topic Storage
            }
            index = elementGet.selectedIndex;
		    if (index > -1)
            {
              selection = elementGet.options[index].value;
              elementStore.value = selection;
             }
          }
           if (objExist('select','Select3',NS4))
          {
             if (NS4)
            {
              locate = NS4Find("Select3");
              if (locate < 1000) elementGet = document.forms[2].elements[locate];//Dataset Topic Select
              locate = NS4Find("table_parm");
              if (locate < 1000) elementStore = document.forms[2].elements[locate];//Dataset Topic Storage
            }
            else
            {
              elementGet = document.getElementById("Select3");//Dataset Topic Select
              elementStore = document.getElementById("Hidden12");//Dataset Topic Storage
            }
            index = elementGet.selectedIndex;
            if (index > -1)
            {
              selection = elementGet.options[index].value;
              elementStore.value = selection;
            }
            if (NS4)
            {
              value = elementGet.options[index].text;//Category
              locate = NS4Find("category_parm");
              if (locate < 1000) elementStore = document.forms[2].elements[locate];//Category Storage
              locate = NS4Find("state_show");
              if (locate < 1000) elementState = document.forms[2].elements[locate];//Display State
            }
            else
            {
              value = elementGet.options[index].id;//Category
              elementStore = document.getElementById("Hidden16");//Category Storage
              elementState = document.getElementById("Hidden19");//Display State
            }
            //Turn on state
            elementStore.value = value;
            elementState.value = "Y";
          }
   }

function createXLS()
   {
     //Opens up a new window to simulate the export process used by Pinkerton
     var newWindow;
     newWindow = window.open('Simulate.asp','myWindow','resizable, scrollbars,width=230,height=230,screenX=0,screenY=0,left=0,top=0');
   }


function createPrint()
   {
        var element;
        var NS4;
        var locate;
        //Check for Netscape 4 browser
        NS4 = (document.layers) ? true : false;
       if (NS4)
        {
         element= document.forms[1];
         element.action="Print.asp";
        }
       else
        {
         element = document.getElementById("EXPORT_FORM");
         element.setAttribute('action','Print.asp');
        }
       //Post info for file creation
       element.submit();
   }


function subsetDisplay(stateVar,dataSet,row,column,rowVal,colVal)
   {
     //Display Table breakdown info
     var htmlStr;
     var rowStr;
     var colStr;
     var dataStr;
     rowStr="'"+rowVal+"'";
     colStr="'"+colVal+"'";
	 dataStr="'"+dataSet+"'";
     if (dataSet == 'TwoMore')
        dataSet = "Two or more races";
     htmlStr = '<table WIDTH="100%" border="0" cols="2" ID="SDASHEADER" cellpadding="0.2%" cellspacing="0.2%">'
     htmlStr+='<tr><td colspan="6" valign="bottom"><hr size="2" noshade color="#FF00000"></td></tr>'
     htmlStr +='<tr><td>&nbsp;</td>'
     htmlStr +='<td align=right><font class="bodytext2"><a class="drilldown" href="javascript: createXLS();">Export to Excel File</a></td></tr>'
     htmlStr +='<tr><td font class="bodytext2">'
     htmlStr +='<b>Row:</b>&nbsp;<a class="drilldown" href="javascript:returnSelect('+rowStr+',0,0)";>'
     document.writeln(htmlStr);
     document.writeln(row);
     htmlStr ='</a></td>'
     htmlStr +='<tr><td font class="bodytext2">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;'
     htmlStr +='<img src="../images/navi.gif" width="15" height="15" alt=" "><b>Column:</b>&nbsp;'
     htmlStr +='<A class="drilldown" href="javascript:returnSelect('+rowStr+','+colStr+',0)";>'
     document.writeln(htmlStr);
     document.writeln(column);
     htmlStr ='</a></td></tr>'
     htmlStr +='<tr><td font class="bodytext2">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;'
     htmlStr +='&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;'
     htmlStr +='&nbsp;&nbsp;<img src="../images/navi.gif" width="15" height="15" alt=" "><b>Subset:</b>&nbsp;'
     htmlStr +='<a class="drilldown" href="javascript:returnSelect('+rowStr+','+colStr+','+dataStr+')";>'
     document.writeln(htmlStr);
     document.writeln(dataSet);
     htmlStr = '</a></td></tr>'
     htmlStr +='<tr><td font class="bodytext2">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;'
     htmlStr +='&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;'
     htmlStr +='&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<img src="../images/navi.gif" width="15" height="15" alt=" "><b>State:</b>&nbsp;'
     htmlStr +='<label class="regtext"><font color="black">'
     document.writeln(htmlStr);
     document.writeln(stateVar);
     htmlStr ='</font></label></td></tr>'
     htmlStr+='<tr><td colspan="6" valign="bottom"><hr size="2" noshade color="#FF00000"></td></tr>'
     htmlStr += '</table>'
     document.writeln(htmlStr);
   }


function tableAdjust()
   {
     //adjust length of header/footer tables relative to data table
     var element;
     var value;
     var attrNode;
     //Get width of data table
     element = document.getElementById('TABLE4');
     value = element.getAttribute('WIDTH');

     //Set width for SDAS header and footer
     element = document.getElementById('SDASHEADER');
     element.setAttribute('width',value);
     value = element.getAttribute('WIDTH');
     element = document.getElementById('SDASFOOTER');
     element.setAttribute('width',value);
     value = element.getAttribute('WIDTH');
   }


function verifyChoice(caller)
   {
       var valid;
       var msg;
       var element;
       var locate;
       var NS4;

        //Check for Netscape 4 browser
        NS4 = (document.layers) ? true : false;

       //default value
       valid = true;

 	  //Make sure a valid choice was made by the user
      switch (caller)
      {
        case 'Select2':
             if (NS4)
             {
               locate = NS4Find("Select2");
               element = document.forms[2].elements[locate];
             }
             else
             {
               element = document.getElementById("Select2");
             }

             if (element.selectedIndex==0)
             {
               msg='Please select a column subject.';
               valid = false;
             }
        break;

        case 'Select1':
             if (NS4)
             {
               locate = NS4Find("Select1");
               element = document.forms[2].elements[locate];
             }
             else
             {
               element = document.getElementById("Select1");
             }

             if (element.selectedIndex < 1)
             {
               msg='Please select a row topic.';
               valid = false;
             }
        break;

        case 'Select3':
             if (NS4)
             {
               locate = NS4Find("Select3");
               element = document.forms[2].elements[locate];
             }
             else
             {
               element = document.getElementById("Select3");
             }

             if (element.selectedIndex==0)
             {
               msg='Please select a subset.';
               valid = false;
             }
        break;

        case 'Select6':
             if (NS4)
             {
               locate = NS4Find("Select6");
               element = document.forms[2].elements[locate];
             }
             else
             {
               element = document.getElementById("Select6");
             }

             if (element.selectedIndex==0)
             {
               msg='Please select a state.';
               valid = false;
             }
        break;

      }

      //Print error msg if needed
      if (!valid)
      {
        alert(msg);
      }

      return valid;
   }


function selfPost(caller)
   {
      //This f(x) is executed when a column topic/dataset/filter value is chosen
      var newButton;
      var NS4;

      //Check for Netscape 4 browser
      NS4 = (document.layers) ? true : false;

      if (verifyChoice(caller))
      {
		storeValues();

        if (NS4)
          newButton = document.forms[2];
        else
          newButton = document.getElementById("topicForm");

        newButton.submit();
      }
   }


function categoryReset(category)
   {
     var NS4;

     //Check for Netscape 4 browser
     NS4 = (document.layers) ? true : false;


     if (NS4)
     {
		switch(category)
		{
		case "White":
			category="White alone";
		break;
		case "Black":
			category="Black or African American alone";
		break;
		case "Native":
			category="American Indian and Alaska Native alone";
		break;
		case "Asian":
			category="Asian alone";
		break;
		case "Islander":
			category="Native Hawaiian and Other Pacific Islander alone";
		break;
		case "Other":
			category="Some other race alone";
		break;
		case "TwoMore":
			category="Two or more races";
		break;
		case "Hispanic":
			category="Hispanic or Latino";
		break;
		case "WhiteNotHispanic":
			category="White alone, not Hispanic or Latino";
		break;
  	    case "Total":
  	        category="Total children";
	    break;
	    default:
			category = "";
		}
   	  }
   		return category;
   }


function returnSelect(rowChoice,columnChoice,catChoice)
   {
      var selectStr;

      if (columnChoice == 0 && catChoice == 0)
      {
       	selectStr= "sdas.asp?row_parm="+rowChoice;
      	document.location = selectStr;
      }

      if (catChoice == 0)
      {
      	selectStr= "sdas.asp?row_parm="+rowChoice+"&column_parm="+columnChoice;
      	document.location = selectStr;
      }

       if (catChoice != 0)
      {
        catChoice = categoryReset(catChoice);
       	selectStr= "sdas.asp?row_parm="+rowChoice+"&column_parm="+columnChoice;
        selectStr+="&category_parm="+catChoice+"&population=1&uoa=1";
      	document.location = selectStr;
      }

   }


function finalLeg()
    {
      var tableID;
      var element;
      var elementStore;
      var elementGet;
      var choice;
      var state;
      var category;
      var locate;
      var rowValue;
      var columnValue;
      var postPage;
      var NS4;

      //Check for Netscape 4 browser
      NS4 = (document.layers) ? true : false;

      //Sends user choices to xt_get_table.asp for data display

        //Default value - valid values
        postPage = "xt_get_table.asp"

        if (NS4)
        {
          locate = NS4Find("Select1");
          elementGet = document.forms[2].elements[locate];
          locate = NS4Find("row_parm");
          elementStore = document.forms[2].elements[locate];
        }
        else
        {
          elementGet = document.getElementById("Select1");
          elementStore = document.getElementById("Hidden10");
        }
        //Set Row Choice for POST
        choice = elementGet.selectedIndex;
        rowValue = elementGet.options[choice].text;
        rowValue+="|"+elementGet.options[choice].value;
        elementStore.value = rowValue;

       if (NS4)
        {
          locate = NS4Find("Select2");
          elementGet = document.forms[2].elements[locate];
          locate = NS4Find("column_parm");
          elementStore = document.forms[2].elements[locate];
        }
        else
        {
          elementGet = document.getElementById("Select2");
          elementStore = document.getElementById("Hidden11");
        }
        //Set Column Choice for POST
        choice = elementGet.selectedIndex;
        columnValue = elementGet.options[choice].text;
        columnValue+="|"+elementGet.options[choice].value;
        elementStore.value = columnValue;

        if (!verifyChoice('Select2'))
        {
          postPage = " ";
        }

       if (NS4)
        {
          locate = NS4Find("Select3");
          elementGet = document.forms[2].elements[locate];
          locate = NS4Find("table_parm");
          elementStore = document.forms[2].elements[locate];
        }
        else
        {
          elementGet = document.getElementById("Select3");
          elementStore = document.getElementById("Hidden12");
        }
        //Set table ID for POST
        choice = elementGet.selectedIndex;
        tableID = elementGet.options[choice].value;
        elementStore.value = tableID;

        if (!verifyChoice('Select3'))
        {
          postPage = " ";
        }

        if (NS4)
        {
          locate = NS4Find("Select6");
          elementGet = document.forms[2].elements[locate];
          locate = NS4Find("state_parm");
          elementStore = document.forms[2].elements[locate];
          choice = elementGet.selectedIndex;
          state = elementGet.options[choice].value;

        }
        else
        {
          elementGet = document.getElementById("Select6");
          elementStore = document.getElementById("Hidden13");
          state = elementGet.value;
        }

        //Set state code for POST

        elementStore.value = state;

        if (!verifyChoice('Select6'))
        {
          postPage = " ";
        }

        //NS4 Category
        if (NS4)
        {
          locate = NS4Find("Select3");
          element = document.forms[2].elements[locate];
          choice = element.selectedIndex;
          category = element.options[choice].text;
          locate = NS4Find("category_parm");
          elementStore = document.forms[2].elements[locate];
          elementStore.value = category;
        }

        //Post to appropriate ASP page
	    if (postPage=="xt_get_table.asp")
	    {
           if (NS4)
           {
             element = document.forms[2];
             element.action = postPage;
           }
		   else
		   {
		     element = document.getElementById("topicForm");
			 element.setAttribute("action",postPage);
		   }
		element.submit();
	    }
	}