var allComponents = $A(["addressStreet", "addressCity", "addressState", "addressCountry", "addressZip",
"poiName", "poiCategory", "poiPhone", "poiStreet", "poiCity", "poiState", "poiCountry", "poiZip",
"roadName", "restrictionType", "requestType", "signText"]);

var visibleComponents = new Hash();

visibleComponents.set(ADDRESS_MISSING, ["addressStreet", "addressCity", "addressState", "addressCountry", "addressZip"]);
visibleComponents.set(ADDRESS_WRONG, visibleComponents.get(ADDRESS_MISSING));
visibleComponents.set(ADDRESS_REMOVE, visibleComponents.get(ADDRESS_MISSING));
visibleComponents.set(POI_MISSING, ["poiName", "poiCategory", "poiPhone", "poiStreet", "poiCity", "poiState", "poiCountry", "poiZip"]);
visibleComponents.set(POI_REMOVE, visibleComponents.get(POI_MISSING));
visibleComponents.set(POI_WRONG, visibleComponents.get(POI_MISSING));
visibleComponents.set(ROAD_WRONG, ["roadName","addressCity", "addressState", "addressCountry", "addressZip"]);
visibleComponents.set(ROAD_REMOVE, visibleComponents.get(ROAD_WRONG));
visibleComponents.set(ROAD_MISSING, visibleComponents.get(ROAD_WRONG));
visibleComponents.set(ROAD_NAME_WRONG, visibleComponents.get(ROAD_WRONG));

visibleComponents.set(TRAFFIC_ADD, ["restrictionType", "addressStreet", "addressCity", "addressState", "addressCountry", "addressZip"]);
visibleComponents.set(TRAFFIC_WRONG, visibleComponents.get(TRAFFIC_ADD));
visibleComponents.set(TRAFFIC_REMOVE, visibleComponents.get(TRAFFIC_ADD));
visibleComponents.set(BRIDGES_TUNNELS_FERRIES, ["requestType", "addressStreet", "addressCity", "addressState", "addressCountry", "addressZip"]);
visibleComponents.set(CARTOGRAPHY, visibleComponents.get(BRIDGES_TUNNELS_FERRIES));
visibleComponents.set(POSTAL_ADMIN, ["addressStreet", "addressCity", "addressState", "addressCountry", "addressZip"]);
visibleComponents.set(SPEED_LIMITS, ["addressStreet", "addressCity", "addressState", "addressCountry", "addressZip"]);
visibleComponents.set(SIGNS, ["signText", "addressStreet", "addressCity", "addressState", "addressCountry", "addressZip"]);
visibleComponents.set(VOICE,  visibleComponents.get(ADDRESS_MISSING));
visibleComponents.set(INTERSECTION_CODING, visibleComponents.get(ADDRESS_MISSING));


function onClickRadio(source)
{
   showElements(source.value);
}   
function onSelectChanged()
{
   $A(document.forms["discMapReporterForm"].elements["report_type"]).each(
   function (radio, index) {
      if (radio.value == OTHER)
      {
         radio.checked = true;
      }
   });
   onOthersRadioSelected();
}
function onOthersRadioSelected()
{
   var select = document.forms["discMapReporterForm"].elements["report_type_other"];
   showElements(select.options[select.selectedIndex].value)

}
function checkOther(value)
{
   if (value == OTHER)
   {
      this.onSelectChanged();
   }
}
function showElements(key)
{
   //hide all
   allComponents.each(function (id, index) {$(id).hide()});

   $A(visibleComponents.get(key)).each(
      function (id, index){
         $(id).show()
      });
}


