      /*
      	Dynamic Dependent List Updater
      	v1.1
      	
      	Updates and populates a set of dependent form lists, either
      	as a select menu or as a list of checkboxes. Also updates 
      	product images live based on selection. Used exclusively
      	on the techsupport pages.
      */
      
      var homeadsl = new Array("Netcomm NB6+4W", "Netcomm NB6", "Netcomm NB9WMAXX", "Netcomm V220");
      var adamdirect = new Array("Netcomm NB6+4W", "Netcomm NB6", "Netcomm NB9WMAXX", "Netcomm V220");
      var nakeddsl = new Array("Netcomm NB9WMAXX", "Netcomm V220");
      var adammax = new Array("Alvarion BreezeMAX PRO 5000", "Alvarion Wireless Networking Gateway", "Alvarion Voice Gateway");
      var vdsl2 = new Array("Netcomm NB11W", "Netcomm V220");

      // reset form data
      function resetForm(){
      	  browser = navigator.appName;

      	  document.guides.serviceType.selectedIndex = 0;
      	  document.guides.hardwareModel.selectedIndex = 0;
      	  document.guides.hardwareCheck.checked = false;
      	  document.guides.loginCheck.checked = false;
      	  document.guides.voipCheck.checked = false;
      	  document.guides.wirelessCheck.checked = false;
      }
      
      function uncheckAll(){
      	  document.guides.hardwareCheck.checked = false;
      	  document.guides.loginCheck.checked = false;
      	  document.guides.voipCheck.checked = false;
      	  document.guides.wirelessCheck.checked = false;
      	  document.iconHardware.src = "./images/hardware_icon_empty.png";
      	  document.iconLogin.src = "./images/login_icon_empty.png";
      	  document.iconVoip.src = "./images/voip_icon_empty.png";
      	  document.iconWireless.src = "./images/wireless_icon_empty.png";
      }
    
      function updateHardwareModel(index, field, form){

        var fieldArray = eval(field[index].value);
        
        for (i = form.elements["hardwareModel"].options.length - 1; i >= 0; i--) {
            form.elements["hardwareModel"].options[i] = null;
        }
        for (i = 0; i < fieldArray.length; i++){
            form.elements["hardwareModel"].options[i] = new Option(fieldArray[i], fieldArray[i], false, false);
        }

        // find the guides for the hardware
        element = document.getElementById("hardwareModel");
        getGuides(element.value);
      }

      // dependencies here for hardware
      function getGuides(hardware){
	switch(hardware){
	  case "Netcomm NB6" :
		if(document.getElementById("Hardware Setup").style.display != 'block'){
		  showElement("Hardware Setup");
		}
		if(document.getElementById("Login").style.display != 'block'){
		  showElement("Login");
		}
		if(document.getElementById("VoIP").style.display == 'block'){
	          element = document.getElementById("voipCheck");
		  if(element.checked){
		    element.checked = false;
		  }
		  hideElement("VoIP");
		  document.iconVoip.src = "./images/voip_icon_empty.png";
		}
		if(document.getElementById("Wireless").style.display == 'block'){
	          element = document.getElementById("wirelessCheck");
		  if(element.checked){
		    element.checked = false;
		  }
		  hideElement("Wireless");
		  document.iconWireless.src = "./images/wireless_icon_empty.png";
		}
		break;
	  case "Netcomm NB6+4W" :
		if(document.getElementById("Hardware Setup").style.display != 'block'){
		  showElement("Hardware Setup");
		}
		if(document.getElementById("Login").style.display != 'block'){
		  showElement("Login");
		}
		if(document.getElementById("VoIP").style.display == 'block'){
	          element = document.getElementById("voipCheck");
		  if(element.checked){
		    element.checked = false;
		  }
		  hideElement("VoIP");
		  document.iconVoip.src = "./images/voip_icon_empty.png";
		}
		if(document.getElementById("Wireless").style.display != 'block'){
		  showElement("Wireless");
		}
		break;
	  case "Netcomm NB9WMAXX" :
		if(document.getElementById("Hardware Setup").style.display != 'block'){
		  showElement("Hardware Setup");
		}
		if(document.getElementById("Login").style.display != 'block'){
		  showElement("Login");
		}
		if(document.getElementById("VoIP").style.display != 'block'){
		  showElement("VoIP");
		}
		if(document.getElementById("Wireless").style.display != 'block'){
		  showElement("Wireless");
		}
		break;
	  case "Alvarion BreezeMAX PRO 5000" :
		if(document.getElementById("Hardware Setup").style.display != 'block'){
		  showElement("Hardware Setup");
		}
		if(document.getElementById("Login").style.display == 'block'){
	          element = document.getElementById("loginCheck");
		  if(element.checked){
		    element.checked = false;
		  }
		  hideElement("Login");
		  document.iconLogin.src = "./images/login_icon_empty.png";
		}
		if(document.getElementById("VoIP").style.display == 'block'){
	          element = document.getElementById("voipCheck");
		  if(element.checked){
		    element.checked = false;
		  }
		  hideElement("VoIP");
		  document.iconVoip.src = "./images/voip_icon_empty.png";
		}
		if(document.getElementById("Wireless").style.display == 'block'){
	          element = document.getElementById("wirelessCheck");
		  if(element.checked){
		    element.checked = false;
		  }
		  hideElement("Wireless");
		  document.iconWireless.src = "./images/wireless_icon_empty.png";
		}
		break;
	case "Alvarion Wireless Networking Gateway" :
		if(document.getElementById("Hardware Setup").style.display != 'block'){
		  showElement("Hardware Setup");
		}
		if(document.getElementById("Login").style.display != 'block'){
		  showElement("Login");
		}
		if(document.getElementById("VoIP").style.display == 'block'){
	          element = document.getElementById("voipCheck");
		  if(element.checked){
		    element.checked = false;
		  }
		  hideElement("VoIP");
		  document.iconVoip.src = "./images/voip_icon_empty.png";
		}	
		if(document.getElementById("Wireless").style.display != 'block'){
		  showElement("Wireless");
		}
		break;
	  case "Alvarion Voice Gateway" :
		if(document.getElementById("Hardware Setup").style.display != 'block'){
		  showElement("Hardware Setup");
		}
		if(document.getElementById("Login").style.display == 'block'){
	          element = document.getElementById("loginCheck");
		  if(element.checked){
		    element.checked = false;
		  }
		  hideElement("Login");
		  document.iconLogin.src = "./images/login_icon_empty.png";
		}
		if(document.getElementById("VoIP").style.display != 'block'){
		  showElement("VoIP");
		}
		if(document.getElementById("Wireless").style.display == 'block'){
	          element = document.getElementById("wirelessCheck");
		  if(element.checked){
		    element.checked = false;
		  }
		  hideElement("Wireless");
		  document.iconWireless.src = "./images/wireless_icon_empty.png";
		}
		break;
	  case "Netcomm V220" :
	 	 hideElement("Hardware Setup");
	 	 hideElement("Login");
	 	 showElement("VoIP");
	 	 hideElement("Wireless")
	 	 uncheckAll();
	 	 break;
	  case "Netcomm NB11W" :
	  	 hideElement("Hardware Setup");
	  	 showElement("Login");
	  	 hideElement("VoIP");
	  	 showElement("Wireless");
	  	 uncheckAll();
	  	 break;
		}
      }
			
      function hideElement(id){
      	  element = document.getElementById(id);
      	  if(element.style.display != 'none'){
      	  	  element.style.display = 'none';
      	  }
      }

      function showElement(id){
      	  element = document.getElementById(id);
      	  if(element.style.display == 'none'){
      	  	  element.style.display = 'block';
      	  }
      }

	      // updates the displayed image for the service type selected
              function getServiceImage(){
	          if(document.images){
	              var selectedService = document.getElementById("serviceType").value;

	              switch(selectedService){
	                  case "homeadsl" :
	                      document.serviceImage.src = "./images/homeadsl_logo.png";
	                      break;
	                  case "adamdirect" :
	                      document.serviceImage.src = "./images/adamdirect_logo.png";
	                      break;
	                  case "nakeddsl" :
	                      document.serviceImage.src = "./images/nakeddsl_logo.png";
	                      break;
	                  case "anyg" :
	                      document.serviceImage.src = "./images/anyg_logo.png";
	                      break;
	                  case "adammax" :
	                      document.serviceImage.src = "./images/adammax_logo.png";
	                      break;
	                  case "vdsl2" :
	                  	  document.serviceImage.src = "./images/vdsl2_logo.png";
	                      break;
	              }
	          }
	      }
	      // updates the image of the selected hardware
              function getHardwareImage(){
	     
	          if(document.images){
	              var selectedHardware = document.getElementById("hardwareModel").value;
	              
	              switch(selectedHardware){
	                  case "Netcomm NB9WMAXX" :
	                      document.hardwareImage.src = "./images/netcomm_nb9wmaxx.png";
	                      break;
	                  case "Netcomm NB6+4W" :
	                      document.hardwareImage.src = "./images/netcomm_nb6plus4w.png";
	                      break;
	                  case "Netcomm NB6" :
	                      document.hardwareImage.src = "./images/netcomm_nb6.png";
	                      break;
	                  case "Alvarion BreezeMAX PRO 5000" :
	                  	  document.hardwareImage.src = "./images/alvarion_breezemax_pro_5000.png";
	                  	  break;
	                  case "Alvarion Wireless Networking Gateway" :
	                  	  document.hardwareImage.src = "./images/alvarion_te1088.png";
	                  	  break;
	                  case "Alvarion Voice Gateway" :
	                  	  document.hardwareImage.src = "./images/alvarion_vg-1d1v-sip.png";
	                  	  break;
	                  case "Netcomm NB11W" :
	                  	  document.hardwareImage.src = "./images/netcomm_nb11w.png";
	                  	  break;
	                  case "Netcomm V220" :
	                  	  document.hardwareImage.src = "./images/netcomm_v220.png";
	                  	  break;
	              }
	          }
	      }
	      // draws the icons based on the chosen guides
	      function getGuideIcons(element){
	          switch(element.value){
		      case "Hardware Setup" :
			if(element.checked){
			  document.iconHardware.src = "./images/hardware_icon.png";
			  break;
			}else{
			  document.iconHardware.src = "./images/hardware_icon_empty.png";
			  break;
			}
		      case "Login" :
			if(element.checked){
			  document.iconLogin.src = "./images/login_icon.png";
			  break;
			}else{
			  document.iconLogin.src = "./images/login_icon_empty.png";
			  break;
			}
		      case "VoIP" :
			if(element.checked){
			  document.iconVoip.src = "./images/voip_icon.png";
			  break;
			}else{
			  document.iconVoip.src = "./images/voip_icon_empty.png";
			  break;
			}
		      case "Wireless" :
			if(element.checked){
			  document.iconWireless.src = "./images/wireless_icon.png";
			  break;
			}else{
			  document.iconWireless.src = "./images/wireless_icon_empty.png";
			  break;
			}
		  }
	    }
