﻿// <!--

function ValidateNewsletterSignup(source, arguments){

    // check email address
   var emailAddressId = source.getAttribute('EmailAddressControlId') ;   
   var ctl = document.getElementById(emailAddressId);
   var prompt = source.getAttribute('EmailAddressPrompt')
   
  var message = '';
	if ((isFilled(ctl) == false) || (ctl.value == prompt)) {
	  message = 'Please enter your e-mail address.';
	  if (source.getAttribute('EmailAddressNotSuppliedMessage') != null){
	      message = source.getAttribute('EmailAddressNotSuppliedMessage');
	  }
    	alert(message);
	    ctl.focus();
	    arguments.IsValid = false;
	    return false;
	}

	if (isEmail(ctl) == false) {
	  message = 'The e-mail address you entered is invalid. Please re-enter it.';
	  if (source.getAttribute('EmailAddressNotValidMessage') != null){
	      message = source.getAttribute('EmailAddressNotValidMessage');
	  }
	    alert(message);
	    ctl.focus();
	    arguments.IsValid = false;
	    return false;
	}	
	
	var OptionClassIndicator = 'newsletter_option';
	  if (source.getAttribute('OptionClassIndicator') != null){
	      OptionClassIndicator = source.getAttribute('OptionClassIndicator');
	  }
	  
   var NewsletterSignUpCSVControlId = 'newsletterSignUpCSV';
	  if (source.getAttribute('NewsletterSignUpCSVControlId') != null){
	      NewsletterSignUpCSVControlId = source.getAttribute('newsletterSignUpCSVControlId');
	  }
	
	var selectAtLeastOneErrorMessage = 'Please select at least one newsletter.';	
	  if (source.getAttribute('SelectAtLeastOneErrorMessage') != null){
	      SelectAtLeastOneErrorMessage = source.getAttribute('SelectAtLeastOneErrorMessage');
	  }
    arguments.IsValid = AtLeastOneNewsletterChecked(OptionClassIndicator, NewsletterSignUpCSVControlId, SelectAtLeastOneErrorMessage);    
    return arguments.IsValid;
}

function AtLeastOneNewsletterChecked(className, csvctrid, selectAtLeastOneErrorMessage){
	// check for items checked
	var itemchecked = false;
	var inputitems = document.getElementsByTagName('input');
	var items = '';
    for (i=0; i<inputitems.length; i++){
        if (inputitems[i].type == 'checkbox'){        
            if (inputitems[i].className.indexOf(className) > -1){  
                if (inputitems[i].checked == true)
                {
                    itemchecked = true;
                    items += ',' + inputitems[i].value;
                }
            }
        }
    }        
    if (itemchecked == false) {
        alert(selectAtLeastOneErrorMessage);
        return false;
    }            
    var ctl = document.getElementById(csvctrid);
    ctl.value=items;
    return true;
}    

// -->
