/*
'//////////////////////////////////////
'// FILE: /include/js/memberValidate.js
'// DESC: General form validation for MZ
'// $Revision: 21$
'// $Date: 9/6/2002 11:40:03 AM$
'// $Author: Bernard Webber$
'//////////////////////////////////////

*/

/******************************************************
  To validate zip code entry
******************************************************/

function validateZip(field) {
var validZip = "0123456789";
var zipcode = field.zip.value;

	if (field.zip.value == -1) {
		alert("Please enter your 5-digit zip code.");
		field.zip.focus();
		return false;
	}
	
	if (zipcode.length != 5) {
        alert("Please enter 5-digits for your zip code.");
        return false;
	}
	
	for (var i=0; i < zipcode.length; i++) {
	temp = "" + zipcode.substring(i, i+1);
		if (validZip.indexOf(temp) == "-1") {
			alert("Invalid characters in your zip code. Please enter numbers only.");
			return false;
		}
	}
return true;
}

/*****************************************************
  Validate Contact Customer Care form
******************************************************/

function validEmail(email){
	var symbol = email.sNotifyEmailAddress.value;
	var phone = email.phonenumber.value;
	var atpos = symbol.indexOf("@",1);
	var bad = ",;:/ ";

	if(email.problem.value=="") {
				alert("You must enter a comment in order to receive a response.");
				email.problem.focus();
				return false;
	}

	if(email.sNotifyEmailAddress.value=="") {
		alert("Please enter your e-mail address.");
		email.sNotifyEmailAddress.focus();
		email.sNotifyEmailAddress.select();
		return false;
	}
	
	for (x=0; x<bad.length; x++) {
		if (phone.indexOf(bad.charAt(x)) != -1) {
			alert ("You have entered an invalid character or a space. Please check your phone number.");
			email.phonenumber.focus();
			email.phonenumber.select();
			return false;
		}
	}
	
	for (x=0; x<bad.length; x++) {
		if (symbol.indexOf(bad.charAt(x)) != -1) {
			alert ("You have entered an invalid character or a space. Please check your e-mail address.");
			email.sNotifyEmailAddress.focus();
			email.sNotifyEmailAddress.select();
			return false;
		}
	}
	if (symbol.indexOf("@")==-1) {
		alert("Please enter a valid e-mail address. Be sure to include an '@' symbol and a '.'");
		email.sNotifyEmailAddress.focus();
		return false;
	}
	if (symbol.indexOf(".")==-1) {
		alert("Please enter a valid e-mail address. Be sure to include an '@' symbol and a '.'");
		email.sNotifyEmailAddress.focus();
		return false;
	}

	if (symbol.indexOf("@",atpos+1) != -1) {
		alert("Please enter only one e-mail address.");
		email.sNotifyEmailAddress.focus();
		return false;
	}
	else {
		return true;
	}
}

   // Strip bad characters from Phone number entry.
   function stringFilter(input) {
   s = input.phonenumber.value;
   filteredValues = "(), ;:'!#$^&*+?/~[]{}";     // Characters stripped out
   var i;
   var returnString = "";
      for (i = 0; i < s.length; i++) {
         var c = s.charAt(i);
         if (filteredValues.indexOf(c) == -1) returnString += c;
      }
      input.phonenumber.value = returnString;
}


/*****************************************************
  Validate NEW Contact Customer Care form at /help/ccResponse.asp.
  We can eliminate the previouse one above after a while.
******************************************************/

function checkEmail(s){
	var symbol = s.sNotifyEmailAddress.value;
	var atpos = symbol.indexOf("@",1);
	var bad = ",;:/ ";

	if (symbol == "") {
		alert("Please enter your e-mail address.");
		s.sNotifyEmailAddress.focus();
		s.sNotifyEmailAddress.select();
		return false;
	}

	for (x=0; x<bad.length; x++) {
		if (symbol.indexOf(bad.charAt(x)) != -1) {
			alert ("You have entered an invalid character or a space. Please check your e-mail address.");
			s.sNotifyEmailAddress.focus();
			s.sNotifyEmailAddress.select();
			return false;
		}
	}
	if (symbol.indexOf("@") == -1) {
		alert("Please enter a valid e-mail address. Be sure to include an '@' symbol and a '.'");
		s.sNotifyEmailAddress.focus();
		return false;
	}
	if (symbol.indexOf(".") == -1) {
		alert("Please enter a valid e-mail address. Be sure to include an '@' symbol and a '.'");
		s.sNotifyEmailAddress.focus();
		return false;
	}

	if (symbol.indexOf("@",atpos+1) != -1) {
		alert("Please enter only one e-mail address.");
		s.sNotifyEmailAddress.focus();
		return false;
	}
	
	if (s.problem.value == "") {
		alert("You must enter a comment in order to receive a response.");
		s.problem.focus();
		return false;
	}

	else {
		return true;
	}
}

/*****************************************************
  Open the window with Record Spoken Name instructions
******************************************************/

function recordNameWindow() {
	newWin = new Object()                                                                                                                                             ;
}

/******************************************************
  Validates email update form
******************************************************/

function checkForm(valid) {
	var symbolA = valid.emailA.value;
	var symbolB = valid.emailB.value;
	var atposA = symbolA.indexOf("@",1);
	var atposB = symbolB.indexOf("@",1);
	
	if (valid.emailA.value == "") {
		alert("Please enter your current e-mail address");
		valid.emailA.focus();
		return false;
	}
	
	if (symbolA.indexOf("@") == -1) {
		alert("Please input a valid e-mail address. Be sure to include an '@' symbol and a '.'");
		valid.emailA.focus();
		return false;
	}
	if (symbolA.indexOf(".") == -1) {
		alert("Please input a valid e-mail address. Be sure to include an '@' symbol and a '.'");
		valid.emailA.focus();
		return false;
	}
	if (symbolA.indexOf("@",atposA + 1) != -1) {
		alert("Please only enter one e-mail address.");
		valid.emailA.focus();
		return false;
	}
	
	if (valid.emailB.value == "") {
		alert("Please confirm your current e-mail address");
		valid.emailB.focus();
		return false;
	}
	
	if (symbolB.indexOf("@") == -1) {
		alert("Please input a valid e-mail address. Be sure to include an '@' symbol and a '.'");
		valid.emailB.focus();
		return false;
	}
	if (symbolB.indexOf(".") == -1) {
		alert("Please input a valid e-mail address. Be sure to include an '@' symbol and a '.'");
		valid.emailB.focus();
		return false;
	}
	if (symbolB.indexOf("@",atposB + 1) != -1) {
		alert("Please only enter one e-mail address.");
		valid.emailB.focus();
		return false;
	}

	if(valid.emailA.value != valid.emailB.value) {
		alert("Your e-mail addresses do not match. Please try again.");
		valid.emailB.focus();
		valid.emailB.select();
		return false;
	}

	else {
		return true;
	}
}

/*****************************************************
  Verify RUONNET form
******************************************************/
function verifyRuonnet(f){

	var symbol = f.youremail.value
	var atpos = symbol.indexOf("@",1)
	var bad = ",;:/ "

	if (f.yourname.value==""){
	   		alert("Please enter your name.");
	   		f.yourname.focus()
	   		return false
   	}
   	if (f.youremail.value==""){
		   	alert("Please enter your e-mail address.");
	   		f.youremail.focus()
	   		return false
   	}
	for (x=0; x<bad.length; x++) {
		if (symbol.indexOf(bad.charAt(x)) != -1) {
			alert ("You have entered an invalid character or a space. Please check your e-mail address.")
			f.youremail.focus()
			f.youremail.select()
			return false
		}
	}
	if (symbol.indexOf("@")==-1) {
		alert("Please enter a valid email address. Be sure to include an '@' symbol and a '.'")
		f.youremail.focus()
		return false
	}
	if (symbol.indexOf(".")==-1) {
		alert("Please enter a valid email address. Be sure to include an '@' symbol and a '.'")
		f.youremail.focus()
		return false
	}
	if (symbol.indexOf("@",atpos+1) != -1) {
		alert("Please enter only one of your e-mail addresses.")
		f.youremail.focus()
		return false
	}
    if ((f.friendmail1.value=="")&&(f.friendmail2.value=="")&&(f.friendmail3.value=="")&&(f.friendmail4.value=="")&&(f.friendmail5.value=="")&&(f.friendmail6.value=="")&&(f.friendmail7.value=="")&&(f.friendmail8.value=="")&&(f.friendmail9.value=="")&&(f.friendmail10.value=="")){
   		alert("Please enter a friend's e-mail address.");
   		f.friendmail1.focus()
   		return false
   	}
   	else{
   		return true
   	}
}


/*****************************************************
  Verify Refund Mail Form
******************************************************/

function verifyMailing(p) {
	
	var zipCode = p.zip.value
	var valid = "0123456789"; // Numbers only.
	var phoneNumber = p.phonenumber.value;
	
	// first name 
	if (p.firstname.value==""){
		alert("Please enter your first name.")
		p.firstname.focus()
		return false
	}
    
    // last name 
	if (p.lastname.value==""){
		alert("Please enter your last name.")
		p.lastname.focus()
		return false
	}

	// address1
	if (p.address1.value==""){
		alert("Please enter your mailing address.")
		p.address1.focus()
		return false
	}
	
	// city
	if (p.city.value==""){
		alert("Please enter your mailing address city.")
		p.city.focus()
		return false
	}
	
	// state
	if (p.state.selectedIndex==""){
		alert("Please enter your 2 letter mailing state abbreviation.")
		p.state.focus()
		return false
	}
	
	// zip code
	if (p.zip.value==""){
		alert("Please enter your mailing zip code.")
		p.city.focus()
		return false
	}
	
	if (zipCode.length != 5){
		alert("Your mailing zip code must be at least 5 digits long.")
		p.zip.focus()
		return false
	}
	
	// Phone number
	if (phoneNumber.length < 10) {
        alert("Please enter your 10-digit phone number.");
        return false;
	}
	for (var i=0; i < phoneNumber.length; i++) {
	temp = "" + phoneNumber.substring(i, i+1);
		if (valid.indexOf(temp) == "-1") {
			alert("Invalid characters in your phone number. Please enter numbers only.");
			return false;
		}	
	}
return true;
}

/*****************************************************
  Verify Call Notify Main page validation
******************************************************/

// Validates the email address for the email notify field
function validCallNotifyEmail()
{
    var symbol = document.notifyForm.sNotifyEmailAddress;
	var atpos = symbol.value.indexOf("@",1);
	var bad = ",;:/ ";

	if (symbol.value=="")
    {
		alert("Please enter a notification e-mail address.");
		symbol.focus();
		symbol.select();
		return false;
	}

	for (x=0; x<bad.length; x++)
    {
		if (symbol.value.indexOf(bad.charAt(x)) != -1)
        {
			alert ("You have entered an invalid character or a space. Please check your e-mail address.");
			symbol.focus();
			symbol.select();
			return false;
		}
	}
    
	if (symbol.value.indexOf("@") == -1)
    {
		alert("Please enter a valid e-mail address. Be sure to include an '@' symbol and a '.'");
		symbol.focus();
        symbol.select();
		return false;
	}
    
	if (symbol.value.indexOf(".") == -1)
    {
		alert("Please enter a valid e-mail address. Be sure to include an '@' symbol and a '.'");
		symbol.focus();
        symbol.select();
		return false;
	}

	if (symbol.value.indexOf("@",atpos+1) != -1)
    {
		alert("Please enter only one e-mail address.");
		symbol.focus();
        symbol.select();
		return false;
	}
    
    return true;
}

// validates that the cell phone number is only digits
function CheckCelNumber()
{	

    var celNumber = document.notifyForm.sNotifyCellPhoneNumber.value;
    var valid = "0123456789";
    
    if (celNumber == "")
    {
		alert("Please enter your 10-digit cellular phone number.");
		document.notifyForm.sNotifyCellPhoneNumber.focus();
		return false;
	}
	
    if (celNumber.length < 10)
    {
		alert("Your cellular phone number must be 10 digits.");
        document.notifyForm.sNotifyCellPhoneNumber.focus();
		return false;
	}
	
    for (var i=0; i < celNumber.length; i++)
    {
	temp = "" + celNumber.substring(i, i+1);
		if (valid.indexOf(temp) == -1)
        {
			alert("Please enter ONLY numbers for your cellular phone number.");
            document.notifyForm.sNotifyCellPhoneNumber.focus();
            document.notifyForm.sNotifyCellPhoneNumber.select();
            return false;
		}
	}
    
    // Make sure a service provider is selected
    if (document.notifyForm.sDomainNameAndProvider.value == "chooseone")
    {
        alert("Please choose your cellular service provider.")
        return false;
    }
    
    return true;
}



// Make sure at least one check box is selected if a radio button is chosen.
function checkBoxSelected()
{
    if (document.notifyForm.elements[5].checked)
    {
        // User chose "none", so send them through
        return true;
    }
    
    if ((!(document.notifyForm.bNotifyWhenOnline.checked )) && 
       (!(document.notifyForm.bNotifyWhenOffline.checked)))
    {
	    alert("Please select at least one Send Notification option in Step 2.");
	    return false;
    }
    
    return true;
}


/*****************************************************
  Verify the four digit pin
******************************************************/

function verifyPinNumber(pin)
{
    
    var pin = document.pinform.enteredPinNumber
    var valid = "0123456789";
        
    if (pin.value == "")
    {
        alert("Please enter your 4-digit pin number.");
        pin.focus();
        return false;
    }
    
    if (pin.value.length < 4)
    {
        alert("Your pin must be a 4-digit number.");
        pin.focus();
        return false;
    }
    
    for (var i=0; i < pin.length; i++)
    {
	temp = "" + pin.substring(i, i+1);
		if (valid.indexOf(temp) == -1)
        {
			alert("Please enter ONLY numbers for your pin number.");
            pin.focus();
            pin.select();
            return false;
		}
	}
}

/*****************************************************
  Verify the SMS Email address
******************************************************/
function validSMSEmail()
{
    var address = document.smsform.notifyEmailAddressValue;
	var atpos = address.value.indexOf("@",1);
	var bad = ",;:/ ";

	if (address.value=="")
    {
		alert("Please enter a notification e-mail address.");
		address.focus();
		address.select();
		return false;
	}

	for (x=0; x<bad.length; x++)
    {
		if (address.value.indexOf(bad.charAt(x)) != -1)
        {
			alert ("You have entered an invalid character or a space. Please check your e-mail address.");
			address.focus();
			address.select();
			return false;
		}
	}
	if (address.value.indexOf("@") == -1)
    {
		alert("Please enter a valid e-mail address. Be sure to include an '@' symbol and a '.'");
		address.focus();
        address.select();
		return false;
	}
	if (address.value.indexOf(".") == -1)
    {
		alert("Please enter a valid e-mail address. Be sure to include an '@' symbol and a '.'");
		address.focus();
        address.select();
		return false;
	}

	if (address.value.indexOf("@",atpos+1) != -1)
    {
		alert("Please enter only one e-mail address.");
		address.focus();
        address.select();
		return false;
	}
}

// Makes sure that one of the radio buttons is selected.
// Validates the whole page, utilizing all functions.
function getValue(otherElement)
{

    if (otherElement.elements[5].checked)
    {
        // User chose "none", so send them through
        return true;
    }

    if(otherElement.elements[0].checked)
    {
        // User chose email notification, so validate email address
        return validCallNotifyEmail();

    }
   
    if (otherElement.elements[2].checked)
    {
        // User chose SMS notification, so validate cel phone number
        return CheckCelNumber();

    }
    
    // User is submitting the form without choosing a radio button.
    if (!(otherElement.elements[0].checked) & (!(otherElement.elements[2].checked)))
    {
        alert("Please choose a notification method in Step 1.");
        return false;
    }
    
    return true;
}
