// File: /CURE/jgidadd.js
//
// JavaScript routines for files 
//   "/CURE/jgidadd.asp" (New User Registration) and
//   "jg~jgsys~jgidview" (Edit User Profile)
//
// Warren Blatt, Jan 2006



function setSpanText(SpanID, Text)
{
  var span = document.getElementById(SpanID);
  span.innerHTML = Text;
}


function setStates(country)
{
  // Get the States/Provinces pulldown:
  var statesChooser = document.getElementById("StateSelect");

  // Remember the current selection:
  var selected_val = statesChooser.value;
     
  // Clear previous settings of the States/Provinces pulldown:
  statesChooser.options.length = 0;
  statesChooser.selectedIndex = -1; 
   
  // Populate options in the States/Provinces pulldown:
  var index = 0;
  var label = "";
  for (var i = 0; i < states_data.length; i++)
    {
      if ( ( country == states_data[i].cty ) ||
           ( country == "All" ) )
        {
           label = states_data[i].lab;
           value = states_data[i].val;
            
	   option = new Option (label, value);
	   statesChooser.options[index++] = option;
    
           // If this was the previously set value, re-select it:
           if ( value == selected_val )
             { option.selected = true; }
             
           if ( value == "" )
             { option.disabled = true; }
        }
    }

  if ( selected_val == "" )
    { statesChooser.selectedIndex = 0; }
}


// OnChange event handler for the Country SELECT box:
// Sets the City/State/Zip fields for the selected country.
function SelCountry()
{

  var countrylist = document.getElementById('SelCtry');
  var country_obj = countrylist.options[countrylist.selectedIndex];
  var country = country_obj.text;
  
  var statelist = document.getElementById('StateList');

  // alert('Country Selected: ' + country);

  if (country == "United States")
    { 
      setSpanText ('CityState', "City / State:"); 
      setSpanText ('CityLab',   "City"); 
      setSpanText ('StateLab',  "State"); 
      setSpanText ('ZipPostal', "Zip Code:"); 
      setStates("US");
      statelist.style.display = "block";
    }
  else if (country == "Canada")
    { 
      setSpanText ('CityState', "City / Province:"); 
      setSpanText ('CityLab',   "City"); 
      setSpanText ('StateLab',  "Province"); 
      setSpanText ('ZipPostal', "Postal Code:"); 
      setStates("CA");
      statelist.style.display = "block";
    }
  else if (country == "Australia")
    { 
      setSpanText ('CityState', "City / State:"); 
      setSpanText ('CityLab',   "City"); 
      setSpanText ('StateLab',  "State"); 
      setSpanText ('ZipPostal', "Postal Code:"); 
      setStates("AU");
      statelist.style.display = "block";
    }
  else if (country == "Select Country")
    { 
      setSpanText ('CityState', "City / State:"); 
      setSpanText ('CityLab',   "City"); 
      setSpanText ('StateLab',  "State/Province"); 
      setSpanText ('ZipPostal', "Zip / Postal Code:"); 
      setStates("All");
      statelist.style.display = "block";
    }
 else
    { 
      setSpanText ('CityState', "City:");
      setSpanText ('CityLab',   ""); 
      setSpanText ('StateLab',  ""); 
      setSpanText ('ZipPostal', "Postal Code:"); 
      statelist.style.display = "none";
    }
  return true;
}


// Sets the value of a SELECT pulldown.
function setOption(SelectID, Text)
{
  if ( ! Text ) return;

  var select = document.getElementById(SelectID);
  for (i=0; i < select.length; i++)
    {
      if (select.options[i].text == Text)
        {
          select.options[i].selected = 1;
          // Note that the select pulldown's onchange() event handler  
          //   is NOT invoked by this assignment.
          return;
        }
    }  
}


// To be used as a BODY OnLoad() event handler.
function InitUserForm()
{
  var country_select = document.getElementById('SelCtry'); 

  // Set the country <select> element's onChange 
  //   event handler, to be the "SelCountry()" callback.
  country_select.onchange = SelCountry;

  // Call the event handler.  
  // This sets the City/State/Zip fields for the selected country.
  SelCountry();
  
  // Set the focus to the first form field:
  document.forms[0].elements[0].focus();
}

