  function estimate(form) {
    var yourlevel = document.forms[form].level.value;
    var deslevel = document.forms[form].deslevel.value;

    /* price: $2.99/level */
    document.forms[form].os1.value = '$' + ((deslevel - yourlevel) * 2.99);

    /* time: 2 hours/level */
    document.forms[form].amount.value = ((deslevel - yourlevel) * 2) + ' hours';
  }

  function validate(form,id,expected) {
    var elements = document.forms[form].elements;
	inputval=document.getElementById(id).value;
    var valid = true;

    var el;
    for (var i = 0; el = elements[i]; i++) {
      if (  /* el.type == "text" && */  el.className.match(/\brequired\b/i) && isEmpty(el.value))
        valid = false;
    }

    if (!valid)
		alert('Please make sure all fields are specified.');
	if(inputval != expected) {
//		alert('You account must currently be subscribed');
//		valid = false;
	}

		//	alert('You must enter the word '+ expectedval);

  return valid;
  }

  function isEmpty(string) {
    string = trim(string);
    return (string.length == 0 || string == null || string == '');
  }

  function trim(string) {
    string = string.replace(/^\s+/, '');
    string = string.replace(/\s+$/, '');

    return string;
  }


  /* services menu */
  var _menustate = false;

  function setMenuState(state) {
    _menustate = state;

    if (state == false)
      hideMenus();
  }

  function showMenu(menu) {
    hideMenus(true);

    _menustate = true;

    var ul = document.getElementById('subnavigation-' + menu)

    ul.style.display = 'block';
	//ul.style.display = 'filter:progid:DXImageTransform.Microsoft.Fade(duration=0.3)'
  }

  function hideMenus(now) {
    var menus = document.getElementById('subnavigationwrapper').getElementsByTagName('ul');
    for (var i = 0; menu = menus[i]; i++)
      hideMenu(menu.id.replace(/^subnavigation-/, ''), now);
  }

  function hideMenu(menu, now) {
    if (document.getElementById('subnavigation-' + menu).style.display == 'block' && _menustate == false) {
      if (now)
        _hideMenu(menu);
      else
        setTimeout(function() { _hideMenu(menu); }, 1500);
    }
  }

  function _hideMenu(menu) {
    if (_menustate == false) {
      var ul = document.getElementById('subnavigation-' + menu);
      ul.style.display = 'none';
    }
  }

  /* full page height */
  var _height = 0;

  function fixFooter() {
    var wrapper = document.getElementById('container');

    var wrapperh = wrapper.offsetHeight;

    if (!_height)
      _height = wrapperh;

    var pageh = getWindowHeight();

    if (wrapperh < pageh) {
      wrapper.style.height = (pageh) + 'px';

      var footer = document.getElementById('footer');
      footer.style.marginTop = (pageh - _height) + 'px';
    }
  }

  function getWindowHeight() {
    if (typeof(window.innerHeight) == 'number')
      return window.innerHeight;

    else if (document.documentElement && document.documentElement.clientHeight)
      return document.documentElement.clientHeight;

    else if (document.body && document.body.clientHeight)
      return document.body.clientHeight;
  }

  function resizeWrapper() {
    fixFooter();

    var footer = document.getElementById('footer');
    footer.style.visibility = 'visible';
  }

  window.onload = function() {
    hideMenus(true);

    resizeWrapper();
  };

  window.onresize = resizeWrapper;