
var terracs = {};


terracs.ddmenu = {

  /* BGN: OLD
  SetSMVisible: function(oElt, bShow) {
    oElt = $(oElt);
    if(!oElt || oElt.nodeType != 1)
      return; 
    var sClass = "dd-smnu";
    var sElt = oElt.nodeName.toLowerCase();
    if(sElt == 'li') {
      if(oElt = oElt.select("div.dd-smnu"+(bShow?"-closed":""))[0])
        oElt.className = sClass + (bShow?"":"-closed"); 
    } 
    else if(sElt == 'div') {
      oElt.className = sClass + (bShow?"":"-closed");
    }
  },

  ShowSubMenu: function(oElt) {
    this.SetSMVisible(oElt,true);
  },
  
  HideSubMenu: function(oElt) {
    this.SetSMVisible(oElt,false);    
  }  
  END: OLD */
    
  /* BGN: NEW */  
  SetVisible: function(oItemElt, bShow) {
    var oItemElt = $(oItemElt);
    if(!oItemElt) 
      return;
  
    var sNodeName  = oItemElt.nodeName.toLowerCase();
    var sMenuPath  = null;
    var sMenuClass = null;
    
    /* BGN: OLD
    var sItemClass = oItemElt.className;  
    switch(sItemClass) {
      case "item":
        sMenuPath  = "div.smenu" + (bShow?"-closed":"-frame");
        sMenuClass = "smenu" + (bShow?"-frame":"-closed");
      break;
      case "sitem":
        sMenuPath  = "td div.ssmenu" + (bShow?"-closed":"-frame");
        sMenuClass = "ssmenu" + (bShow?"-frame":"-closed");
      break;
      default:
        return;
    }
    END: OLD*/
        
    /* BGN: NEW */
    switch(true) {
    	case oItemElt.hasClassName("item"):
        sMenuPath  = "div.smenu" + (bShow?"-closed":"-frame");
      	sMenuClass = "smenu" + (bShow?"-frame":"-closed");    		
      break;
      case oItemElt.hasClassName("sitem"):
        sMenuPath  = "td div.ssmenu" + (bShow?"-closed":"-frame");
        sMenuClass = "ssmenu" + (bShow?"-frame":"-closed");
      break;      	
      default:
      	return;
    }
    /* END: NEW */
     
    var oMenuElt = oItemElt.select(sMenuPath)[0];
    if(!oMenuElt)
      return;
    
    oMenuElt.className = sMenuClass;  
  },
  
  ShowMenu: function(oItemElt) {
    this.SetVisible(oItemElt,true);
  },
  
  HideMenu: function(oItemElt) {
    this.SetVisible(oItemElt,false);
  }    
  /* END: NEW */
  
};
 

terracs.Footer = function(oElt) {
  
  this.oHElt = oElt; 
  this.oTItv = null;
  
  this.start = function() {
    if(this.oTItv)
      return;
    var oThis = this;
    function cb() { oThis.repos(); }
    this.oTItv = window.setInterval(cb,300); 
  }
  
  this.stop = function() {
    if(!this.oTItv)
      return;
    window.clearInterval(this.oTItv);
    this.oTItv = null;
  }
  
  this.repos = function() {
    if(!this.oHElt)
      return;
    var uVPY = document.viewport.getScrollOffsets().top;
    var uVPH = document.viewport.getHeight();
    var uHEH = this.oHElt.getHeight();
    
    var uHEY = uVPY + uVPH - uHEH;
    this.oHElt.setStyle({
      "display":  "block",
      "top":      uHEY + "px"
    });
  }
    
};
    
terracs.Footer.Init = function(mFooter) {
  var oFObj;
  var oFElt = $(mFooter); 
  if(!oFElt)
    return false;
  oFObj = new this(oFElt);
  oFObj.start();
  return true;
};    
  
terracs.Footer.Register = function(mFooter) {
  var oThis = this;
  var oIniFunc = function() { oThis.Init(mFooter); };
  if(window.attachEvent)
    window.attachEvent("onload",oIniFunc);
  else if(window.addEventListener)
    window.addEventListener("load",oIniFunc,[]); 
};
  