function popdown(element_id) {
  
  var pd = this;
  var source = $(element_id);
  var target = $("#" + source.attr("rel"));
  
  var popdown_visibility = {
    "source" : false, 
    "target" : false
  };
  var delay_before_showing_popdown = 75; // 300 milliseconds

  pd.init = function() { 
    source.hover(function(){
      popdown_visibility["source"] = true;
      showPopdown();
    }, function(){
      popdown_visibility["source"] = false;
      hidePopdown();
    }); 
    target.hover(function(){
      popdown_visibility["target"] = true;
      showPopdown();
    }, function(){
      popdown_visibility["target"] = false;
      hidePopdown();
    }); 
  };
  
  pd.showPopdown = function() {
    target.fadeIn(100);
  };
  pd.hidePopdown = function() {
    setTimeout(function(){
      if((popdown_visibility["source"] == false)&&(popdown_visibility["target"] == false)) {
        target.hide();
      }
    },100);
  };
  
  pd.init();
  return pd;
  
}

