function CORE()
{
   this.GetObjectByID = function(BlockID, objDocument)
     {
	    if (objDocument == undefined)
          objDocument = document; 
	 
	    var objBlock = ((document.all) ? objDocument.all[BlockID] : objDocument.getElementById(BlockID));
	 
        return objBlock;
     }

   //+---

   this.BlockShow = function(BlockID, objDocument, isHide)
     {
        var objBlock = this.GetObjectByID(BlockID, objDocument);
        objBlock.style.display = ((isHide) ? "none" : "block");
     }
	 
   //+---

   this.BlockHide = function(BlockID, objDocument)
     {
        this.BlockShow(BlockID, objDocument, true);
     }
	 
   //+---
   
   this.GetBlockX = function(objBlock)
     {
        var X = objBlock.offsetLeft;

        while ((objBlock = objBlock.offsetParent) !== null)
          X+= objBlock.offsetLeft;

        return X;
     }

   //+---

   this.GetBlockY = function(objBlock)
     {
        var Y = objBlock.offsetTop;

        while ((objBlock = objBlock.offsetParent) !== null)
          Y+= objBlock.offsetTop;

        return Y;
     }
	 
   //+---
   
   this.IsBlockHidden = function(BlockID, objDocument)
     {
	    var objBlock = this.GetObjectByID(BlockID, objDocument);
		var isHidden = ((objBlock.style.display == "none") || (objBlock.style.display == ""));
		
	    return isHidden;
	 }
	 
   //+---
   
   this.BlockSwitch = function(BlockID, objDocument)
     {
        if (objDocument == undefined)
          objDocument = document; 

        var objBlock = this.GetObjectByID(BlockID, objDocument);
        objBlock.style.display = ((this.IsBlockHidden(BlockID, objDocument)) ? "block" : "none");
     }	 

   //+---	 

   this.SetBlockAnchor = function(BlockID, AnchorID, arrOffset, objDocument)
     {
        if (objDocument == undefined)
          objDocument = document; 

        var objBlock  = this.GetObjectByID(BlockID);
        var objAnchor = this.GetObjectByID(AnchorID);

        objBlock.style.left = (this.GetBlockX(objAnchor)+arrOffset[0])+"px";
        objBlock.style.top  = (this.GetBlockY(objAnchor)+arrOffset[1])+"px";
     }   
}

var objCore = new CORE();
