// low level library
// (c) IMC2 2008

// *** init what's needed for the functions herewithin
var IE  = (navigator.userAgent .toLowerCase().indexOf("msie")    != -1);
var FF  = (navigator.userAgent .toLowerCase().indexOf("firefox") != -1);
var MAC = (navigator.appVersion.toLowerCase().indexOf("mac")     != -1);

// *** functions used by other function herewithin
function $(divName)
{
  return (document.getElementById(divName));
}
function getStyle (divName, styleName)
{
  var div   = $(divName);
  var value = (div.currentStyle)
            ? div.currentStyle[styleName]
            : document.defaultView.getComputedStyle(div,"").getPropertyValue(styleName);

  if (!value)
    value = 0;
  return (value);
}

// *** miscellaneous functions
function block             (divName)               {$(divName).style.display               = "block";}
function blockParent       (divName)               {$(divName).parentNode.style.display    = "block";}
function hide              (divName)               {$(divName).style.visibility            = "hidden";}
function hideParent        (divName)               {$(divName).parentNode.style.visibility = "hidden";}
function show              (divName)               {$(divName).style.visibility            = "visible";}
function unblock           (divName)               {$(divName).style.display               = "none";}
function unblockParent     (divName)               {$(divName).parentNode.style.display    = "none";}

// *** setter functions
function setBackgroundColor(divName, color)        {$(divName).style.backgroundColor       =  color;}
function setBackgroundImage(divName, image)        {$(divName).style.backgroundImage       =  "url("+image+")";}
function setBorderColor    (divName, color)        {$(divName).style.borderColor           =  color;}
function setBorderWidth    (divName, width)        {$(divName).style.borderWidth           =  width   + "px";}
function setClass          (divName, className)    {$(divName).className                   =  className;}
function setColor          (divName, color)        {$(divName).style.color                 =  color;}
function setContent        (divName, content)      {$(divName).innerHTML                   =  content;}
function setCursor         (divName, cursor)       {$(divName).style.cursor                =  cursor;}
function setDecoration     (divName, decoration)   {$(divName).style.textDecoration        =  decoration;}
function setHeight         (divName, height)       {$(divName).style.height                =  height  + "px";}
function setMarginLeft     (divName, margin)       {$(divName).style.marginLeft            =  margin  + "px";}
function setLeft           (divName, left)         {$(divName).style.left                  =  left    + "px";}
function setMarginTop      (divName, margin)       {$(divName).style.marginTop             =  margin  + "px";}
function setPaddingLeft    (divName, padding)      {$(divName).style.paddingLeft           =  padding + "px";}
function setPaddingTop     (divName, padding)      {$(divName).style.paddingTop            =  padding + "px";}
function setScrollTop      (divName, scroll)       {$(divName).scrollTop                   =  scroll;}
function setTop            (divName, top)          {$(divName).style.top                   =  top     + "px";}
function setOpacity        (divName, opacity)      {$(divName).style.opacity               =  opacity / 100;
                                                    $(divName).style.filter                =  'alpha(opacity=' + opacity + ')';}
function setOverflow       (divName, overflow)     {$(divName).style.overflow              =  overflow;}
function setValue          (divName, value)        {$(divName).value                       =  value;}
function setWeight         (divName, weight)       {$(divName).style.fontWeight            =  weight;}
function setWidth          (divName, width)        {$(divName).style.width                 =  width   + "px";}
function setZIndex         (divName, zIndex)       {$(divName).style.zIndex                =  zIndex;}

// *** getter functions
function getDisplay        (divName)               {return (getStyle (divName, "display"));}
function getLeft           (divName)               {return (getStyle (divName, "left"));}
function getHeight         (divName)               {return ($(divName).offsetHeight);}
function getMarginLeft     (divName)               {return (getStyle (divName, (IE) ? "marginLeft" : "margin-left" ));}
function getMarginTop      (divName)               {return (getStyle (divName, (IE) ? "marginTop"  : "margin-top"  ));}
function getOpacity        (divName)               {return (getStyle (divName, "opacity") * 100);}//return as a percentage
function getOverflow       (divName)               {return (getStyle (divName, "overflow"));}
function getPaddingLeft    (divName)               {return (getStyle (divName, (IE) ? "paddingLeft": "padding-left"));}
function getTop            (divName)               {return (getStyle (divName, "top"));}
function getValue          (divName)               {return ($(divName).value);}
function getVisibility     (divName)               {return (getStyle (divName, "visibility"));}
function getWidth          (divName)               {return ($(divName).offsetWidth);}

