function init(loc){
  var inactiveTabs = getElementsByClass('menu');
  var contents = new ajaxObject('contents');
  var activeTab = inactiveTabs[0];

  activeTab.className = 'active';
  activeTab.style.background = 'url(images/prime_r5_c2.jpg) 0px 17px';

  for(i = 0; i < inactiveTabs.length; i++){
    inactiveTabs[i].onclick = function(){
      showLoading();
      setActive(this);
      contents.update('id=' + this.id);
    }

    inactiveTabs[i].onmouseover = function(){
      hover(this);
    }

    inactiveTabs[i].onmouseout = function(){
      unhover(this);
    }
  }

  contents.update('id=mnu_' + loc);
}

function setActive(clickedTab){
  var activeTab = getElementsByClass('active')[0];

  activeTab.className = 'menu';

  switch(activeTab.id){
    case 'mnu_home':
      activeTab.style.background = 'url(images/prime_r5_c2.jpg)';
      break;
    case 'mnu_srvcs':
      activeTab.style.background = 'url(images/prime_r5_c3.jpg)';
      break;
    case 'mnu_glry':
      activeTab.style.background = 'url(images/prime_r5_c5.jpg)';
      break;
    case 'mnu_gbook':
      activeTab.style.background = 'url(images/prime_r5_c6.jpg)';
      break;
    default:
      activeTab.style.background = 'url(images/prime_r5_c7.jpg)';
      break;
  }

  clickedTab.className = 'active';

  switch(clickedTab.id){
    case 'mnu_home':
      clickedTab.style.background = 'url(images/prime_r5_c2.jpg) 0px 17px';
      break;
    case 'mnu_srvcs':
      clickedTab.style.background = 'url(images/prime_r5_c3.jpg) 0px 17px';
      break;
    case 'mnu_glry':
      clickedTab.style.background = 'url(images/prime_r5_c5.jpg) 0px 17px';
      break;
    case 'mnu_gbook':
      clickedTab.style.background = 'url(images/prime_r5_c6.jpg) 0px 17px';
      break;
    default:
      clickedTab.style.background = 'url(images/prime_r5_c7.jpg) 0px 17px';
      break;
  }
}

function hover(hoveredTab){
  switch(hoveredTab.id){
    case 'mnu_home':
      hoveredTab.style.background = 'url(images/prime_r5_c2.jpg) 0px 17px';
      break;
    case 'mnu_srvcs':
      hoveredTab.style.background = 'url(images/prime_r5_c3.jpg) 0px 17px';
      break;
    case 'mnu_glry':
      hoveredTab.style.background = 'url(images/prime_r5_c5.jpg) 0px 17px';
      break;
    case 'mnu_gbook':
      hoveredTab.style.background = 'url(images/prime_r5_c6.jpg) 0px 17px';
      break;
    default:
      hoveredTab.style.background = 'url(images/prime_r5_c7.jpg) 0px 17px';
      break;
  }
}

function unhover(unhoveredTab){
  if(unhoveredTab.className != 'active'){
    switch(unhoveredTab.id){
      case 'mnu_home':
        unhoveredTab.style.background = 'url(images/prime_r5_c2.jpg)';
        break;
      case 'mnu_srvcs':
        unhoveredTab.style.background = 'url(images/prime_r5_c3.jpg)';
        break;
      case 'mnu_glry':
        unhoveredTab.style.background = 'url(images/prime_r5_c5.jpg)';
        break;
      case 'mnu_gbook':
        unhoveredTab.style.background = 'url(images/prime_r5_c6.jpg)';
        break;
      default:
        unhoveredTab.style.background = 'url(images/prime_r5_c7.jpg)';
        break;
    }
  }
}

function getElementsByClass(searchClass, node, tag){
  var classElements = new Array();

  if(node == null){
    node = document;
  }

  if(tag == null){
    tag = '*';
  }

  var els = node.getElementsByTagName(tag);
  var elsLen = els.length;
  var pattern = new RegExp('(^|\\s)'+searchClass+'(\\s|$)');

  for(i = 0, j = 0; i < elsLen; i++){
    if(pattern.test(els[i].className)){
      classElements[j] = els[i];
      j++;
    }
  }

  return classElements;
}

function showLoading(){
  var contents = document.getElementById('contents');

  contents.innerHTML = '<img src="images/loading.gif" alt="Loading&#8230;" />';
}

function showLabel(id){
  var label = document.getElementById(id).value;

  if(label == ''){
    switch(id){
      case 'frmName':
        document.getElementById(id).value = 'Name';
        break;
      case 'frmMail':
        document.getElementById(id).value = 'Email / URL';
        break;
      default:
        document.getElementById(id).value = 'Message';
        break;
    }
  }
}

function hideLabel(id){
  var label = document.getElementById(id).value;

  if(label == 'Name' || label == 'Email / URL' || label == 'Message'){
    document.getElementById(id).value = '';
  }
}

function ajaxObject(target){
  var that = this;
  var updating = false;

  this.callback = function(){}

  this.update = function(parameters){
    if(updating == true){
      return false;
    }

    updating = true;

    var ajaxRequest;

    try{
      ajaxRequest = new XMLHttpRequest();
    }
    catch(e){
      try{
        ajaxRequest = new ActiveXObject('Msxml2.XMLHTTP');
      }
      catch(e){
        try{
          ajaxRequest = new ActiveXObject('Microsoft.XMLHTTP');
        }
        catch(e){
          ajaxRequest = null;
        }
      }
    }

    if(ajaxRequest == null){
      alert('Your browser does not support AJAX!');
      return false;
    }
    else{
      ajaxRequest.onreadystatechange = function(){
        if(ajaxRequest.readyState == 4 || ajaxRequest.readyState == 'complete'){
          contents.innerHTML = ajaxRequest.responseText;

          delete ajaxRequest;

          updating = false;

          that.callback();
        }
      }

      var antiCache = new Date().getTime();

      ajaxRequest.open('GET', 'process.php?' + parameters + '&noCache=' + antiCache, true);
      ajaxRequest.send(null);

      return true;
    }
  }

  var contents = document.getElementById(target);
}