  // A sniffer created to detect elements for Dynamic CSS-P

  /* Code which uses only document.getElementById */

  if (document.getElementById) { 
    // Visibilty Function for NN 6 & IE 5

    var hidden = "hidden";
    var visible = "visible";
    var toggle = "toggle";

    function changeVisibility() {
      var inc, endInc=arguments.length;

      for (inc=0; inc<endInc; inc+=2) {
        var leObj = document.getElementById(arguments[inc]);

        if (arguments[inc+1] == hidden) {
          leObj.style.visibility = hidden;
        } else if (arguments[inc+1] == visible) {
            leObj.style.visibility = visible;
          } else if (arguments[inc+1] == toggle) {
              if (leObj.style.visibility == visible) {
                leObj.style.visibility = hidden;
              } else if (daObj.visibility == hidden) {
                  leObj.style.visibility = visible;
                }
            }
      }
    }

  }

  /* Code which uses only document.layers & document.all */ 

  else if (document.layers || document.all) {
    // Visibility Functions for NN4 & IE 4
    /*  WM_checkIn(WM_id)  WM_changeVisibility()  Source: Webmonkey Code Library  */

    function WM_checkIn(WM_id) { 
      var theObj,ss,sr,i,j,WM_layers=new Array();

      if (document.all) {
        if((document.all[WM_id].style.position != 'absolute') && (document.all[WM_id].style.position != 'relative')){
          for (ss=0 ; ss < document.styleSheets.length; ss++) {
            for (sr=0 ; sr < document.styleSheets(ss).rules.length; sr++) { 
              if (document.styleSheets(ss).rules(sr).selectorText == '#' + WM_id) {
                theObj = document.styleSheets(ss).rules(sr).style;
                break;
              }
            }
          }
        } else {
            theObj = document.all[WM_id].style;
          }
      } else if(document.layers) {
          WM_layers = new Array();

          with (document) {
            for (i=0; i<layers.length; i++) WM_layers[i]=layers[i]; {
              for (i=0; i<WM_layers.length; i++) {
                if (WM_layers[i].document && WM_layers[i].document.layers) {
                  for (j=0; j<WM_layers[i].document.layers.length; j++) {
                    WM_layers[WM_layers.length] = WM_layers[i].document.layers[j];
                  }
                  if(WM_layers[i].name == WM_id){
                    theObj = WM_layers[i];
                  }
                }
              }
            }
          }
        }
        return theObj;
      }

    // Visibility Variables

    if (document.layers) {
      var hidden = "hide";
      var visible = "show";
    } else {
        var hidden = "hidden";
        var visible = "visible";
      }
    var toggle = "toggle";

    function changeVisibility() {
      if (document.layers || document.all) {
        var inc, endInc=arguments.length;

        for (inc=0; inc<endInc; inc+=2) {
          var daObj = WM_checkIn(arguments[inc]);
          if (arguments[inc+1] == hidden) {
            daObj.visibility = hidden;
          } else if (arguments[inc+1] == visible) {
              daObj.visibility = visible;
            } else if (arguments[inc+1] == toggle) {
                if (daObj.visibility == visible) {
                  daObj.visibility = hidden;
                } else if (daObj.visibility == hidden) {
                    daObj.visibility = visible;
                  }
              }
        }
      }
    }

  }

