function registerEvents()
{
  registerDropdownEvents();
  registerBoxEvents();
  registerActionEvents();
  registerHoverEvents();
  registerAlertEvents();
}

function registerDropdownEvents()
{
  var elements = getElementsByClassName('add_answer');
  for(var i=0; i<elements.length; i++)
  {
    element = elements[i];
    element.onclick = function(){addAnswer(this);return false;}
  }

  var elements = getElementsByClassName('remove_answer');
  for(var i=0; i<elements.length; i++)
  {
    element = elements[i];
    element.onclick = function(){removeAnswer(this);return false;};
  }
}

function registerBoxEvents()
{
  var elements = getElementsByClassName('box_answer');
  for(var i=0; i<elements.length; i++)
  {
    element = elements[i];
    element.onclick = function(){selectBox(this);return false;};
  }

  var elements = getElementsByClassName('box_color_answer');
  for(var i=0; i<elements.length; i++)
  {
    element = elements[i];
    element.onclick = function(){selectColorBox(this);return false;};
  }
}

function registerActionEvents()
{
  var elements = getElementsByClassName('sel');
  for(var i=0; i<elements.length; i++)
  {
    element = elements[i];
    element.onclick = function(){toggleAction(this);return false;};
  }
  var elements = getElementsByClassName('unsel');
  for(var i=0; i<elements.length; i++)
  {
    element = elements[i];
    element.onclick = function(){toggleAction(this);return false;};
  }
}

function registerHoverEvents()
{
    var hover = document.getElementById('hover_help_box');
    if(hover)
    {
        hover.onclick = toggleHoverHelp;
    }
    var hoverClose = document.getElementById('hover_close');
    if(hoverClose)
    {
        hoverClose.onclick = hideHoverHelp;
    }
}

function registerAlertEvents()
{
    var form = document.getElementById('registercheck');
    if(form)
    {
        form.onsubmit = function(){return confirmation(this)};
    }
}

function toggleHoverHelp(e)
{
    var hoverHelp = document.getElementById('hover_help');

    if(hoverHelp.style.display=='block')
    {
        hideHoverHelp();
        return;
    }

    var iframeHelp = document.getElementById('hide_ie_controls');
    //position iframe under hoverhelp to stop ie6 form controls from showing through
    if(hoverHelp)
    {
        hoverHelp.style.left = '0px';
        hoverHelp.style.display = 'block';
        iframeHelp.style.width = hoverHelp.offsetWidth+'px';
        iframeHelp.style.height = hoverHelp.offsetHeight+'px';
        iframeHelp.style.top = hoverHelp.offsetTop+'px';
        iframeHelp.style.left = hoverHelp.offsetLeft+'px';
        iframeHelp.style.display = 'block';
        hoverHelp.style.visibility = 'visible';
        window.scroll(0,0);
    }
}

function hideHoverHelp()
{
    var hoverHelp = document.getElementById('hover_help');
    var iframeHelp = document.getElementById('hide_ie_controls');
    if(hoverHelp)
    {
        hoverHelp.style.visibility = 'hidden';
        hoverHelp.style.display = 'none';
        iframeHelp.style.display = 'none';
    }
}

function confirmation(form)
{
    var contactname = form.name.value;
    var orgname = form.orgname.value;

    if(!contactname || contactname=='')
    {
        alert("Please enter a real name.");
        return false;
    }
    if(!orgname || orgname=='')
    {
        alert("Invalid organisation, please check you have accessed the site through your organisation's correct address.");
        return false;
    }

    return confirm("By clicking OK you confirm that "+contactname.toUpperCase()+" is a service user of "+orgname.toUpperCase()+" and agree for this name to be checked against organisational records. Unauthorised accounts will be closed.");
}
