// These functions are data validation JavaScript functions



function ForceEntryRadio(objField, FieldName, msg)
{
  var radioVal = valRadiobutton(objField);

  //make sure that they actually selected one of the radio buttons:
  if (radioVal == '') 
  {
    objField(0).focus();
    if (msg == '')
      msg = FieldName + " - This Field is Mandatory";
    alert(msg);
    return false;
  }
  return true;
}

function valRadiobutton(radiobutton) 
{
	myOption = -1;
	for (i=0; i< radiobutton.length; i++) 
	{
		if (radiobutton[i].checked) 
		{
			myOption = i;
		}
	}
	if (myOption == -1) 
	{
		return "";
	} 
	else 
	{
		return radiobutton[myOption].value
	}
} 

function isEmpty(s)
{
  return ((s == null) || (s.length == 0) || (s == " "))
}

function ForceEmail(strEmail,strField)
{
  if ((strEmail.value==null)||(strEmail.value==""))
    return true;

  var str = new String(strEmail.value);
  strEmail.focus()

  var at="@"
  var dot="."
  var lat=str.indexOf(at)
  var lstr=str.length
  var ldot=str.indexOf(dot)

  if (lat==-1)
  {
    alert(strField + " - " + "Must Have Valid Email Address")
    return false
  }

  if (lat==0 || (lat+1)==lstr)
  {
    alert(strField + " - " + "Must Have Valid Email Address")
    return false
  }

  if (ldot==-1 || ldot==0 || (ldot+1)==lstr)
  {
    alert(strField + " - " + "Must Have Valid Email Address")
    return false
  }

  if (str.indexOf(at,(lat+1))!=-1)
  {
    alert(strField + " - " + "Must Have Valid Email Address")
    return false
  }

  if (str.substring(lat-1,lat)==dot || str.substring(lat+1,lat+2)==dot)
  {
    alert(strField + " - " + "Must Have Valid Email Address")
    return false
  }

  if (str.indexOf(dot,(lat+2))==-1)
  {
    alert(strField + " - " + "Must Have Valid Email Address")
    return false
  }

  if (str.indexOf(" ")!=-1)
  {
    alert(strField + " - " + "Must Have Valid Email Address")
    return false
  }

  return true
}

function ForceEntry(objField, FieldName, msg)
{
  var strField = new String(objField.value);
  if (isEmpty(strField)) 
  {
    if (msg == '')
      msg = FieldName + " - This Field is Mandatory";
    alert(msg);
    objField.focus();
    return false;
  }
  return true;
}
    
function ForceNumber(objField, FieldName)
{
  var strField = new String(objField.value);
  
  if (isEmpty(strField)) return true;

  var i = 0;

  for (i = 0; i < strField.length; i++)
    if (strField.charAt(i) < '0' || strField.charAt(i) > '9') 
    {
      alert(FieldName + " - " + "must be a number");
      objField.focus();
      return false;
    }

  return true;
}

function isDateNumber(strNum,method)
{
  var str = new String(strNum);
  var i = 0;

  if (isNaN(parseInt(str)) || parseInt(str) < 0) return false;

  if (method == 2)
    if (parseInt(str) > 31)
      return false;
  if (method == 1)
    if (parseInt(str) > 12)
      return false;

  for (i = 0; i < str.length; i++)
    if (str.charAt(i) < '0' || str.charAt(i) > '9')
      return false;

  return true;
}

function PromptErrorMsg(Field,strError)
{
  alert(strError + " - " + "Invalid Date");
  Field.focus();
}

function ForceDate(strDate,strField)
{
  var str = new String(strDate.value);
  if (isEmpty(str)) return true;

  var i = 0; var count = str.length; var j = 0;
  while ((str.charAt(i) != "/" && str.charAt(i) != "-") && i < count) i++;

  if (i == count || i > 2) 
  {
    PromptErrorMsg(strDate,strField);
    return false;
  }

  var addOne = false;
  if (i == 2) addOne = true;

  if (!isDateNumber(str.substring(0,i),1)) 
  {
    PromptErrorMsg(strDate,strField);
    return false;
  }

  j = i+1;
  i = 0;

  while ((str.charAt(i+j) != "/" && str.charAt(j+i) != "-") && i+j < count) i++;

  if (i+j == count || i > 2) 
  {
    PromptErrorMsg(strDate,strField);
    return false;
  }

  if (!isDateNumber(str.substring(j,i+j),2)) 
  {
    PromptErrorMsg(strDate,strField);
    return false;
  }

  j = i+3;
  i = 0;

  if (addOne) j++;

  while (i+j < count) i++;

  if (i != 2 && i != 4) 
  {
    PromptErrorMsg(strDate,strField);
    return false;
  }

  if (!isDateNumber(str.substring(j,i+j),3)) 
  {
    PromptErrorMsg(strDate,strField);
    return false;
  }

  return true;
}

function OptionalPhone(objField, FieldName)
{
  var strField = new String(objField.value);
  if (isEmpty(strField)) 
    return true;
  return ForcePhone(objField, FieldName)
}

function ForcePhone(objField, FieldName)
{
  var strField = new String(objField.value);
  if (!isPhone(strField, FieldName)) 
  {
    objField.focus();
    return false;
  }
  return true;
}
    
function isPhone(strPhone, FieldName)
{
  var s = new String(strPhone);
  var re = new RegExp('([^\\d]*[\\d]){10}.*');
  var m = re.test(s);

  if (m != true) 
    {
      alert(FieldName + " - " + "Must Contain at Least 10 Digits, Please Try Again");
      return false;
    }
  return true;
}

function ForcePasswords(password,confirmation)
{
    var p1 = document.getElementById(password);
    var p2 = document.getElementById(confirmation);

    if(p1.value==p2.value) return true; 
    else
    {
        alert('Passwords do not match.');
        return false;
    }
}

function CheckTheCheckBox(theCheckBox,warning)
{
    var theBox = document.getElementById(theCheckBox);
    if(theBox.checked) return true;
    else
    {
        alert(warning);
        return false;
    }
}