/* window.onload = CookieTest(); */
/* Set a cookie to be sure that one exists. */
document.cookie = 'killme' + escape('nothing')

function $(id)
{
  return document.getElementById(id);
}

function CheckScore(PlayerID,id)
{
  if (PlayerID == '0')
  {
    document.getElementById(id).value = 0;
    document.getElementById(id).disabled = true;
  } else {
    document.getElementById(id).value = '';
    document.getElementById(id).disabled = false;
  }
}

function CookieTest()
{
 /* check for a cookie */
  if (document.cookie == '')
  {
    /* if a cookie is not found - alert user -
     change cookieexists field value to false */
    //alert("You need to enable Cookies to use the online score sheet system!");

    /* If the user has Cookies disabled an alert will let him know
        that cookies need to be enabled to log on.*/
    document.getElementById('strCookieTest').value = 'false';
  } else {
   /* this sets the value to true and nothing else will happen,
       the user will be able to log on*/
    document.getElementById('strCookieTest').value = 'true';
  }
}

function GetOtherPlayer(fld)
{
  var strPlayer = prompt('Please enter the players full name:');
  if(strPlayer != '' && strPlayer != null)
  {
    document.getElementById('strNotes').value += '\n' + fld.getAttribute('manditory') + ': ' + strPlayer + '\n';
  } else {
    fld.selectedIndex = 0;
  }
}

function RefreshImage(valImageId)
{
	var objImage = document.images[valImageId];
	if (objImage == undefined)
  {
		return;
	}
	var now = new Date();
	objImage.src = objImage.src.split('?')[0] + '?x=' + now.toUTCString();
}

function numbersonly(myfield, e, dec)
{
  var key;
  var keychar;

  if (window.event)
  {
     key = window.event.keyCode;
  } else if(e) {
     key = e.which;
  } else {
     return true;
  }
  keychar = String.fromCharCode(key);

  // control keys
  if ((key==null) || (key==0) || (key==8) ||(key==9) || (key==13) || (key==27))
  {
    return true;
  }  else if ((("0123456789").indexOf(keychar) > -1)) {
     return true;
  } else {
    return false;
  }
}

function GamesWon(pts)
{
  var games = '';
  switch (pts)
  {
    case '0':
      games = 0;
      break;
    case '1':
      games = 24;
      break;
    case '2':
      games = 25;
      break;
  }
  document.getElementById('GW').value = games;
}

function CheckForm(frm)
{
  var passed = true;
  var msg = 'You must fill in the following field(s) to continue:\n';
  var binAttendance = '';
  for (var i=0; i<frm.elements.length; i++)
  {
    if(frm.elements[i].getAttribute('manditory') != null)
    {
      frm.elements[i].style.backgroundColor = null;
      if(frm.elements[i].value.length == 0 || frm.elements[i].value == null)
      {
        msg += '\n-- ' + frm.elements[i].getAttribute('manditory');
        frm.elements[i].style.backgroundColor = 'gold';
        passed = false;
      } else {
        if(frm.elements[i].getAttribute('subtype') != null)
        {
          switch (frm.elements[i].getAttribute('subtype'))
          {
            case 'email':
              if(!isValidEmail(frm.elements[i].value))
              {
                msg += '\n-- ' + frm.elements[i].getAttribute('manditory') + ' is not a valid email address';
                passed = false;
              }
              break;
            case 'phone':
              if(frm.elements[i].value.search(/\d{3}\-\d{3}\-\d{4}/) == -1)
              {
                msg += '\n-- ' + frm.elements[i].getAttribute('manditory') + ' is not a valid phone number (xxx-xxx-xxxx)';
                passed = false;
              }
              break;
            case 'score':
              if(parseInt(frm.elements[i].value) > 180 )
              {
                msg += '\n-- ' + frm.elements[i].getAttribute('manditory') + ' is not a valid score';
                frm.elements[i].style.backgroundColor = 'gold';
                passed = false;
              }
              break;
            case 'attendance':
              if(binAttendance == '') binAttendance = false;
              if(frm.elements[i].checked) binAttendance = true;
              break;
          }
        }
      }
    }
  }
  if(binAttendance != '' && binAttendance == false)
  {
    msg += '\n-- Player Attendance';
    passed = false;
  }
  if(!passed)
  {
    alert(msg);
  } else {
    for (var i=0; i<frm.elements.length; i++)
    {
      if(frm.elements[i].disabled) frm.elements[i].disabled = false;
    }
  }
  return passed;
}

//function to check valid email address
function isValidEmail(strEmail)
{
  validRegExp = /^[^@]+@[^@]+.[a-z]{2,}$/i;
  //validRegExp = \b[A-Z0-9._%+-]+@[A-Z0-9.-]+\.[A-Z]{2,4}\b;
  //validRegExp = ^([a-zA-Z0-9_\-\.]+)@([a-zA-Z0-9_\-\.]+)\.([a-zA-Z]{2,5})$;
  //strEmail = document.forms[0].email.value;
  // search email text for regular exp matches
  if (strEmail.search(validRegExp) == -1)
  {
    //alert('A valid e-mail address is required.\nPlease amend and retry');
    return false;
  }
  return true;
}

function CheckForm2(frm)
{
  var passed = true;
  var msg = 'You must fill in the following field(s) to continue:\n';
  if (frm.Name.value == '')
  {
    msg += '\n-- Contact name';
    passed = false;
  }
  if (frm.Email.value == '')
  {
    msg += '\n-- Contact email';
    passed = false;
  } else {
    if(!isValidEmail(frm.Email.value))
    {
      msg += '\n-- You must enter a valid email address';
      passed = false;
    }
  }
  if (frm.Phone.value == '')
  {
    msg += '\n-- Contact phone';
    passed = false;
  } else {
    if(frm.Phone.value.search(/\d{3}\-\d{3}\-\d{4}/) == -1)
    {
      msg += '\n-- You must enter a valid contact phone number (xxx-xxx-xxxx)';
      passed = false;
    }
  }
  if (frm.JitneyDate.value == '')
  {
    msg += '\n-- Jitney date';
    passed = false;
  }
  if (frm.JitneyName.value == '')
  {
    msg += '\n-- Jitney name';
    passed = false;
  }
  if (frm.Community.value == '')
  {
    msg += '\n-- Comunity';
    passed = false;
  }
  if (frm.JitneyInfo.value == '')
  {
    msg += '\n-- Jitney info';
    passed = false;
  }
  if(!passed) alert(msg);
  return passed;
}

function CheckWonLostTied(score)
{
//alert(score);
  switch(score)
  {
    case '0':
      //alert('lost');
      ResetPlayers();
      SelectOptionByValue('intGamesWon','0');
      break;
    case '0.1':
      //alert('lost by default');
      SelectOptionByValue('intGamesWon','0');
      $('intGamesWon').disabled=true;
      SetPlayersNA();
      $('binDefault').value='true';
      break;
    case '1':
      //alert('tied');
      SelectOptionByValue('intGamesWon','24');
      ResetPlayers();
      $('intGamesWon').disabled=true;
      break;
    case '2':
      //alert('won');
      ResetPlayers();
      SelectOptionByValue('intGamesWon','25');
      break;
    case '2.1':
      //alert('won by default');
      SelectOptionByValue('intGamesWon','25');
      $('intGamesWon').disabled=true;
      SetPlayersNA();
      $('binDefault').value='true';
      break;
    default:
      ResetPlayers();
      SelectOptionByValue('intGamesWon','');
      break;
  }
}

function SetPlayersNA()
{
  $('binDefault').value='false';
  SelectOptionByValue('intMaleMVP','0');
  $('intMaleMVP').disabled=true;
  SelectOptionByValue('intFemaleMVP','0');
  $('intFemaleMVP').disabled=true;
  SelectOptionByValue('intMaleMSLP','0');
  $('intMaleMSLP').disabled=true;
  SelectOptionByValue('intFemaleMSLP','0');
  $('intFemaleMSLP').disabled=true;
  SelectOptionByValue('intMaleHighScore','0');
  $('intMaleHighScore').disabled=true;
  SelectOptionByValue('intFemaleHighScore','0');
  $('intFemaleHighScore').disabled=true;
  $('MHSP').value = 0;
  $('MHSP').disabled=true;
  $('FHSP').value = 0;
  $('FHSP').disabled=true;
  SelectOptionByValue('intMaleHighOut','0');
  $('intMaleHighOut').disabled=true;
  SelectOptionByValue('intFemaleHighOut','0');
  $('intFemaleHighOut').disabled=true;
  $('MHOP').value = 0;
  $('MHOP').disabled=true;
  $('FHOP').value = 0;
  $('FHOP').disabled=true;
}

function ResetPlayers()
{
  $('binDefault').value='false';
  $('intGamesWon').disabled=false;
  SelectOptionByValue('intMaleMVP','');
  $('intMaleMVP').disabled=false;
  SelectOptionByValue('intFemaleMVP','');
  $('intFemaleMVP').disabled=false;
  SelectOptionByValue('intMaleMSLP','');
  $('intMaleMSLP').disabled=false;
  SelectOptionByValue('intFemaleMSLP','');
  $('intFemaleMSLP').disabled=false;
  SelectOptionByValue('intMaleHighScore','');
  $('intMaleHighScore').disabled=false;
  SelectOptionByValue('intFemaleHighScore','');
  $('intFemaleHighScore').disabled=false;
  $('MHSP').value = '';
  $('MHSP').disabled=false;
  $('FHSP').value = '';
  $('FHSP').disabled=false;
  SelectOptionByValue('intMaleHighOut','');
  $('intMaleHighOut').disabled=false;
  SelectOptionByValue('intFemaleHighOut','');
  $('intFemaleHighOut').disabled=false;
  $('MHOP').value = '';
  $('MHOP').disabled=false;
  $('FHOP').value = '';
  $('FHOP').disabled=false;
}

function SelectOptionByValue(fld,val)
{
  if($(fld))
  {
    for(var i = 0; i<$(fld).options.length; i++)
    {
      if($(fld).options[i].value == val) $(fld).options[i].selected = true;
    }
  }
}

//the following functions are used on the survey form
function CheckSurvey(frm)
{
  var binSelected = false;
  for(i = 0;i < frm.intSurveyOptionID.length; i++)
  {
  //alert(frm.intSurveyOptionID[i].checked);
    if(frm.intSurveyOptionID[i].checked) binSelected = true;
  }
  if(!binSelected) alert('You have not selected an option yet!');
  return(binSelected);
}

