GolfRegistration = function()
{
  //private memebers
  var dialog = null;
  var paramlist;
  var numplayer = 4;
  var numgamepack = 0;

  //public members
  return {

    initNumPlayer : function(pvalue)
    {
      var selectbox = document.getElementById('playerselect');
      for (var i=0; i < selectbox.length; i++)
      {
	if (selectbox.options[i].value == pvalue)
	{
	  selectbox.options[i].selected = true;
	}
      }
    },

    submit : function()
    {
      var form = document.getElementById("golfregister");
/*
      if(this.validateFormInput(form)==true)
      {
	window.location="./registrationsubmitted.html"
      }
*/
      return (this.validateFormInput(form));
    },

    setNumPlayers: function(value)
    {
      numplayer = parseInt(value);
      //this.updateTotals();
      this.preCheckGame();

      if(numplayer == 1)
      {
	document.getElementById("player2form").style.display='none';
	document.getElementById("player3form").style.display='none';
	document.getElementById("player4form").style.display='none';

	document.getElementById("player2header").style.display='none';
	document.getElementById("player3header").style.display='none';
	document.getElementById("player4header").style.display='none';

      }
      else if(numplayer == 2)
      {
	document.getElementById("player2form").style.display='';
	document.getElementById("player3form").style.display='none';
	document.getElementById("player4form").style.display='none';

	document.getElementById("player2header").style.display='';
	document.getElementById("player3header").style.display='none';
	document.getElementById("player4header").style.display='none';
      }
      else if(numplayer == 3)
      {
	document.getElementById("player2form").style.display='';
	document.getElementById("player3form").style.display='';
	document.getElementById("player4form").style.display='none';

	document.getElementById("player2header").style.display='';
	document.getElementById("player3header").style.display='';
	document.getElementById("player4header").style.display='none';
      }
      else
      {
	document.getElementById("player2form").style.display='';
	document.getElementById("player3form").style.display='';
	document.getElementById("player4form").style.display='';

	document.getElementById("player2header").style.display='';
	document.getElementById("player3header").style.display='';
	document.getElementById("player4header").style.display='';
      }
    },

    /*
    precheck : function()
    {
      var form = document.getElementById("golfregister");

      numplayer = 0;

      if(form.name.value != "")
	numplayer = 1;
      if(form.name2.value != "")
	numplayer = 2;
      if(form.name3.value != "")
	numplayer = 3;
      if(form.name4.value != "")
	numplayer = 4;

      this.updateTotals();
    },
    */

    preCheckGame : function()
    {
      var form = document.getElementById("golfregister");

      numgamepack = 0;

      if(form.gamepack.checked)
	numgamepack++;

      if(numplayer>1)
      {
	if(form.game2pack.checked)
	  numgamepack++;
      }

      if(numplayer>2)
      {
	if(form.game3pack.checked)
	  numgamepack++;
      }

      if(numplayer>3)
      {
	if(form.game4pack.checked)
	  numgamepack++;
      }

      this.updateTotals();
    },

    updateTotals : function()
    {
      var costplayer = 0;
      var gst = 0;
      var total = 0;

      document.getElementById('playernumber').innerHTML = numplayer +' Players x $275:';
      var costplayer = numplayer*275;

      document.getElementById('playertotal').innerHTML = '$'+costplayer.toFixed(2);

      document.getElementById('gamepacknumber').innerHTML = numgamepack +' Game Packs x $50:';
      var costgamepack = numgamepack*50;

      document.getElementById('gamepacktotal').innerHTML = '$'+costgamepack.toFixed(2);

      gst = (costplayer+costgamepack) * 0.12;
      document.getElementById('gsttotal').innerHTML = '$'+gst.toFixed(2);

      total = costplayer + costgamepack + gst;
      document.getElementById('total').innerHTML = '$'+total.toFixed(2);

			//hidden section
      document.getElementById('totalprice').value = '$'+total.toFixed(2);
			document.getElementById('totalgst').value = '$'+gst.toFixed(2);
			document.getElementById('purchaseprice').value = '$'+costplayer.toFixed(2);
			document.getElementById('purchase').value = numplayer + ' Player x $275 ';
			document.getElementById('gamepackpurchase').value = numgamepack  + ' Game Packs x $50 ';
			document.getElementById('gamepackpurchaseprice').value = '$'+costgamepack.toFixed(2);
    },

    validateFormInput:function(form)
    {
      var valid = true;

      valid = FormValidation.namex(form.name.value,"nameerror") && valid;
      valid = FormValidation.companyx(form.company.value,"companyerror") && valid;
      valid = FormValidation.phonex(form.phone.value,"phoneerror") && valid;
      valid = FormValidation.emailx(form.email.value,"emailerror") && valid;

      if(numplayer>1)
      {
	valid = FormValidation.namex(form.name2.value,"name2error") && valid;
	valid = FormValidation.companyx(form.company2.value,"company2error") && valid;
	//valid = FormValidation.phonex(form.phone2.value,"phone2error") && valid;
	//valid = FormValidation.emailx(form.email2.value,"email2error") && valid;
      }

      if(numplayer>2)
      {
	valid = FormValidation.namex(form.name3.value,"name3error") && valid;
	valid = FormValidation.companyx(form.company3.value,"company3error") && valid;
	//valid = FormValidation.phonex(form.phone3.value,"phone3error") && valid;
	//valid = FormValidation.emailx(form.email3.value,"email3error") && valid;
      }

      if(numplayer>3)
      {
	valid = FormValidation.namex(form.name4.value,"name4error") && valid;
	valid = FormValidation.companyx(form.company4.value,"company4error") && valid;
	//valid = FormValidation.phonex(form.phone4.value,"phone4error") && valid;
	//valid = FormValidation.emailx(form.email4.value,"email4error") && valid;
      }

      return valid;
    }

  };
}();

