var optId = 'emails_list';

function remEmail()
{
  var elSel = document.getElementById(optId);
  var i;
  for (i = elSel.length - 1; i>=0; i--) {
    if (elSel.options[i].selected) {
      elSel.remove(i);
    }
  }
}

function addEmail(el)
{
  var em = el.value;

	// strip email string
	em = strtrim(em);

	if(!is_valid_email(em))
	{
		alert("Please enter a valid email");
		return;
	}

	if(email_in_list(em))
	{
		alert("You already have this email on the list");
		return;
	}

  var elOptNew = document.createElement('option');
  elOptNew.text = em;
  elOptNew.value = em;
  var elSel = document.getElementById(optId);

  try {
    elSel.add(elOptNew, null); // standards compliant; doesn't work in IE
  }
  catch(ex) {
    elSel.add(elOptNew); // IE only
  }

  el.value="";

}

function clearEmailForm(form)
{
	var elSel = document.getElementById(optId);

  	for (i = elSel.length - 1; i>=0; i--) {
		elSel.remove(i);
  	}
}

function is_valid_email(email)
{
    var emailFilter=/^.+@.+\..{2,3}$/;
    if (!(emailFilter.test(email))) { 
		return false;
    }
    else {
       var illegalChars= /[\(\)\<\>\,\;\:\\\"\[\]]/
         if (email.match(illegalChars)) {
			return false;
       }
    }
	return true;
}

function email_in_list(email)
{
	var elSel = document.getElementById(optId);
	for (i = elSel.length - 1; i>=0; i--)
	{
		if (elSel.options[i].value == email) {
			return true;
		}
	}
	return false;
}

function strtrim (str)
{
	while (str.charAt(0) == ' ')
		str = str.substring(1);
	while (str.charAt(str.length - 1) == ' ')
		str = str.substring(0, str.length - 1);
	return str;
}

function submitEmailForm(form)
{
    if(isEmpty(form.from.value))
	{
		alert("Please enter your name");
		return false;
	}

	if(form[optId].options.length == 0)
	{
		alert("Please enter an email address");
		return false;
	}

	var estr = ""
	var elSel = document.getElementById(optId);
	for (i = elSel.length - 1; i>=0; i--)
	{
		//if (elSel.options[i].value == email) {
		//	return true;
		//}
		estr += elSel.options[i].value+":";
	}

	form["allemails"].value = estr;

	return true;
}

function isEmpty(str) {
	if (str.length == 0) {
		return true;
	}
	return false;
}
