    visibleTab = "dt1";
    visibleDiv = "detailcontent1";

    function displayTab(id) {
      tabId = "dt" + id;
      divId = "detailcontent" + id;
      if (visibleTab != tabId) {
        if (visibleTab) {
          document.getElementById(visibleDiv).className = "nodisplay";
          document.getElementById(visibleTab).className = visibleTab + "off";
        }
        document.getElementById(divId).className = "display";
        document.getElementById(tabId).className = tabId + "on";

        visibleTab = tabId;
        visibleDiv = divId;
      }
    }

    function loadNav(id) {
        callback = function(html) {
            document.getElementById("navajax").innerHTML = html;
        }
        url = "/apps/nav.jsp?id=" + id;
        var aj = new AJAXInteraction(url, callback);
        aj.doGet();
    }

    function loadDocs(models) {
        callback = function(html) {
            document.getElementById("detailcontent3").innerHTML = html;
        }
        url = "/apps/finddocs/product_tab.jsp?b=b&brand=bryant&model=" + models;
        var aj = new AJAXInteraction(url, callback);
        aj.doGet();
    }

    function xmlhttpGet(url, qs, callback) {
      var xmlHttpReq = false;
      var self = this;
      // Mozilla/Safari
      if (window.XMLHttpRequest) {
          self.xmlHttpReq = new XMLHttpRequest();
      }
      // IE
      else if (window.ActiveXObject) {
          self.xmlHttpReq = new ActiveXObject("Microsoft.XMLHTTP");
      }
      self.xmlHttpReq.open('GET', url, true);
      self.xmlHttpReq.onreadystatechange = callback;
      self.xmlHttpReq.send(qs);
    }

function AJAXInteraction(url, callback) {

    var req = init();
    req.onreadystatechange = processRequest;

    function init() {
      if (window.XMLHttpRequest) {
        return new XMLHttpRequest();
      }
      else if (window.ActiveXObject) {
        return new ActiveXObject("Microsoft.XMLHTTP");
      }
    }

    function processRequest () {
      if (req.readyState == 4) {
        if (req.status == 200) {
          if (callback) callback(req.responseText);
        }
      }
    }

    this.doGet = function() {
      req.open("GET", url, true);
      req.send(null);
    }

    this.doPost = function(body) {
      req.open("POST", url, true);
      req.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
      req.send(body);
    }
}

function AJAXXMLInteraction(url, callback) {

    var req = init();
    req.onreadystatechange = processRequest;

    function init() {
      if (window.XMLHttpRequest) {
        return new XMLHttpRequest();
      }
      else if (window.ActiveXObject) {
        return new ActiveXObject("Microsoft.XMLHTTP");
      }
    }

    function processRequest () {
      if (req.readyState == 4) {
        if (req.status == 200) {
          if (callback) callback(req.responseXML);
        }
      }
    }

    this.doGet = function() {
      req.open("GET", url, true);
      req.send(null);
    }

    this.doPost = function(body) {
      req.open("POST", url, true);
      req.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
      req.send(body);
    }
}
