
function showInline(ID) {
  document.getElementById(ID).style.display = 'inline';
}
function showBlock(ID) {
  document.getElementById(ID).style.display = 'block';
}
function hideElement(ID) {
  document.getElementById(ID).style.display = 'none';
}
function focusElement(ID) {
  document.getElementById(ID).focus();
}

// http://www.sitepoint.com/article/standards-compliant-world
function externalLinks()
{
 if (!document.getElementsByTagName) return;
 var anchors = document.getElementsByTagName("a");
 for (var i=0; i<anchors.length; i++)
 {
   var anchor = anchors[i];
   if (anchor.getAttribute("href"))
   {
     if (anchor.getAttribute("class") == "targetblank" || anchor.getAttribute("class") == "blank" || anchor.getAttribute("class") == "new")
     {
     anchor.target = "_blank";
     }
   }
 }
}

function toggleElement(id,display)
{
 var needle;

 if(typeof(id) != 'object')
 {
   needle = new getObj(id);
 }
 else
 {
   needle = id;
 }

 if (typeof(display) == 'undefined')
 {
   display = needle.style.display == '' ? 'none' : '';
 }

 needle.style.display = display;

 // HUD refresh hack
 if (document.getElementById('helpUID'))
 {
   helpID = document.getElementById('helpUID').innerHTML;
   RexHELP(helpID);
 }

 //return display;
}

function getObj(name)
{
  if (document.getElementById)
  {
    this.obj = document.getElementById(name);
    if(this.obj)
      this.style = this.obj.style;
  }
  else if (document.all)
  {
    this.obj = document.all[name];
    if(this.obj)
      this.style = this.obj.style;
  }
  else if (document.layers)
  {
    this.obj = document.layers[name];
    if(this.obj)
      this.style = this.obj;
  }
}

function toggleMaximize()
{
  // #content properties
  var maximizedContentTop =  '11px'
  var normalContentTop =  '130px'
  var maximizedContentLeft =  '8px'
  var normalContentLeft =  '185px'
  var maximizedContentBottom =  '3px'
  var normalContentBottom =  '23px'
  // #maximize button properties
  var maximizedMaximizeTop =  '5px'
  var normalMaximizeTop =  '124px'
  var maximizedMaximizeLeft =  '0px'
  var normalMaximizeLeft =  '180px'

  if (document.getElementById('content').style.top != maximizedContentTop)
  {
  // maximize content size
  document.getElementById('content').style.top = maximizedContentTop;
  document.getElementById('content').style.left = maximizedContentLeft;
  document.getElementById('content').style.bottom = maximizedContentBottom;
  document.getElementById('innercontent').style.maxWidth = '845px';
  if (document.getElementById('leftnav')){ document.getElementById('leftnav').style.left = '-157px';}
  if (document.getElementById('empty-leftnav')){ document.getElementById('empty-leftnav').style.left = '-157px';}
  document.getElementById('maximize').style.top = maximizedMaximizeTop;
  document.getElementById('maximize').style.left = maximizedMaximizeLeft;

  document.getElementById('breadcrumb').style.display = 'none';
  document.getElementById('logo').style.display = 'none';
  document.getElementById('headnav').style.display = 'none';
  document.getElementById('hoversearch').style.display = 'none';
  document.getElementById('innerleftnav').style.display = 'none';
  document.getElementById('headnavline').style.display = 'none';
  document.getElementById('footer').style.display = 'none';

  document.getElementById('maximize').blur();
  }
  else
  {
    // restore normal content size
    if(typeof Effect == 'function')
    {
      new Effect.Appear('breadcrumb',{duration:4});
      new Effect.Appear('logo',{duration:3});
      new Effect.Appear('headnav',{duration:0.5});
      new Effect.Appear('hoversearch',{duration:3});
      new Effect.Appear('innerleftnav',{duration:0.5});
      new Effect.Appear('headnavline',{duration:2});
      new Effect.Appear('footer',{duration:3});

      document.getElementById('content').style.top = normalContentTop;
      document.getElementById('content').style.left = normalContentLeft;
      document.getElementById('content').style.bottom = normalContentBottom;
      document.getElementById('innercontent').style.maxWidth = '680px';
      if (document.getElementById('leftnav')){ document.getElementById('leftnav').style.left = '0px';}
      if (document.getElementById('empty-leftnav')){ document.getElementById('empty-leftnav').style.left = '0px';}
      document.getElementById('maximize').style.top = normalMaximizeTop;
      document.getElementById('maximize').style.left = normalMaximizeLeft;

      document.getElementById('maximize').blur();
    }
    else
    {
      document.getElementById('breadcrumb').style.display = 'block';
      document.getElementById('logo').style.display = 'block';
      document.getElementById('headnav').style.display = 'block';
      document.getElementById('hoversearch').style.display = 'block';
      document.getElementById('innerleftnav').style.display = 'block';
      document.getElementById('headnavline').style.display = 'block';
      document.getElementById('footer').style.display = 'block';

      document.getElementById('content').style.top = normalContentTop;
      document.getElementById('content').style.left = normalContentLeft;
      document.getElementById('content').style.bottom = normalContentBottom;
      document.getElementById('innercontent').style.maxWidth = '680px';
      if (document.getElementById('leftnav')){ document.getElementById('leftnav').style.left = '0px';}
      if (document.getElementById('empty-leftnav')){ document.getElementById('empty-leftnav').style.left = '0px';}
      document.getElementById('maximize').style.top = normalMaximizeTop;
      document.getElementById('maximize').style.left = normalMaximizeLeft;

      document.getElementById('maximize').blur();
    }
  }
}

function maximizeShow()
{
  if (document.getElementById('maximize')){ document.getElementById('maximize').style.display = 'block'; }
}

function init_basics()
{
  externalLinks();
  maximizeShow();
}

// JQUERY ANCHORS & BASE TAG FIX - http://www.ilikespam.com/jsf/using-base-href-with-anchors
$("a[href^='\#']").click(function(e){
  e.preventDefault();
  document.location.hash=this.href.substr(this.href.indexOf('#')+1);
})

// onload
window.onload = init_basics;

