      
function init() {
  //create and arm buttons on page
  var i=0;
  var buttons = $$('.button');
  for(i; i<buttons.length; i++) {
    var oButton = new Button({buttonDiv: buttons[i]});
  }
  
  //create and arm tabs on page
  var panes = $$('.pane');  
  var paneTabs = [];
  for(i=0; i<panes.length; i++) {
    paneTabs.push(makeAddTab(i, panes, paneTabs));
  }
  paneTabs[0].onclick(); //default show first pane
  
  //arm internal links to about tarnation
  var tarnationLinks = $$('.aboutTarnationLink');
  for(i=0; i<tarnationLinks.length; i++) {
    tarnationLinks[i].onclick = function() {paneTabs[1].onclick();};
  }
  
  //arm collapsibles
  var headerCollapsibles = $$('.headerCollapsible');
  var collapsibles = $$('.collapsible');
  var collapsibleIcons = $$('.collapsibleIconClosed');
  for(i=0; i<headerCollapsibles.length; i++) {
    headerCollapsibles[i].onclick = function(collapsibleDiv, icon) {
      return function() {
        icon.className = collapsibleDiv.style.display=="block" ? "collapsibleIconClosed" : "collapsibleIconOpen";// = "block";
        collapsibleDiv.style.display = collapsibleDiv.style.display=="block" ? "none" : "block";// = "block";
      };
    }(collapsibles[i], collapsibleIcons[i]);
  }
  
  switch(location.hash) {
    case "#inquiry":
      paneTabs[2].onclick();
      headerCollapsibles[0].onclick();
      break;
    case "#question":
      paneTabs[2].onclick();
      headerCollapsibles[1].onclick();
      break;
    default:
      break;
  }
  
  //arm the project inquiry submit button
  $('inquirySubmit').onclick = function() {
    error = "";
    var form = document.forms["inquiryForm"];
    if(isBlankString($('inquiryFirstName').value))
      error += "Please indicate your first name.\n";
    if(isBlankString($('inquiryLastName').value))
      error += "Please indicate your last name.\n"; 
    if(!isValidEmail($('inquiryEmail').value))
      error += "Please check that your email is valid.\n";
    if($('inquiryEmail').value != $('inquiryEmailConfirm').value)
      error += "Emails entered must match.\n"
    if(isBlankString($('inquiryCompany').value))
      error += "Please indicate your organization/company.\n"
    if(isBlankString($('inquiryDescription').value))
      error += "Please describe your project.\n"
    
    if(error)
      alert(error);
    else
      form.submit(); 
  }
  
  //arm the general question submit button
  $('questionSubmit').onclick = function() {
    error = "";
    var form = document.forms["questionForm"];
    if(isBlankString($('questionFirstName').value))
      error += "Please indicate your first name.\n";
    if(isBlankString($('questionLastName').value))
      error += "Please indicate your last name.\n"; 
    if(!isValidEmail($('questionEmail').value))
      error += "Please check that your email is valid.\n";
    if($('questionEmail').value != $('questionEmailConfirm').value)
      error += "Emails entered must match.\n"
    if(isBlankString($('questionCompany').value))
      error += "Please indicate your organization/company.\n"
    if(isBlankString($('questionDescription').value))
      error += "Please indicate your question.\n"
    
    if(error)
      alert(error);  
    else
      form.submit();
  }
  
  
  //create and arm drop menus      
  /*var options = [
    {name:'option1', id:1},
    {name:'option2', id:2},
    {name:'option3', id:3},
    {name:'option4', id:4}
  ];
  var oDropMenu = new DropMenu(options, $('clipSource'));
    */
    
  //arm logo
  var logo = $('logo');
  logo.onmouseover = function () {
    this.className = "logoMouseover";
  //  this.style.background = "url('images/logoSmile.bmp')";
  }
  logo.onmouseout = function () {
    this.className = "logo";
  }
}

function isValidEmail(email) {
   var reg = /^([A-Za-z0-9_\-\.])+\@([A-Za-z0-9_\-\.])+\.([A-Za-z]{2,4})$/;
   if(reg.test(email) == false)
      return false;
   else
    return true;
}

function isBlankString(str) {
  if(str.replace(/\W*/gim, "") == "")
    return true;
  else
    return false;
}

function makeAddTab (i, panes, paneTabs) {
  var addTab = document.createElement('div');
  addTab.className = 'addTab';
  addTab.update(panes[i].getAttribute('name'));
  addTab.onclick = function() {
    addTab.className = 'addTabActive';//style.background = "white";
    panes[i].style.display = "block";
    for(var j=0; j<panes.length; j++) {
      if(j!=i) {
        panes[j].style.display = "none";
        paneTabs[j].className = 'addTab';
      }
    }
  }
  $('paneTabs').appendChild(addTab);
  return addTab; 
}

