

var _submitStatus=0;
var user_invites=[{}, {}, {}]


	translations['enter_names']="skriv in namn till vänster"
	translations['enter_email_error']="Please enter a valid name and email address"


function invite_evalInvitees(invite_num) {

	eval_field(invite_num);
	build_display();

}

function eval_field(invite_num) {

	i=invite_num
	delete user_invites[invite_num];

	if (isset($("invitee_username_" + i))) {	var contact=$("invitee_username_" + i).value; 	}

	if (isset(contact)) {

		user_invites[invite_num]["status"]=1
		user_invites[invite_num]["contact"]=contact;

	} else {

		if (!isset($("invitee_name_" + i))) { return; }
		var user_name=$("invitee_name_" + i).value;

		if (!isset(user_name)) { return; }
		var user_email=$("invitee_email_" + i).value;

		if (invite_validateEmail(user_email)) {

			user_invites[invite_num]=[];
			user_invites[invite_num]["status"]=1
			user_invites[invite_num]["name"]=user_name;
			user_invites[invite_num]["email"]=user_email;

		}
	}
}

function build_display() {

	//Eval groups of available answers
	var inviteStr="";
	var num_valid=0;

	for (var invite in user_invites) {
		var this_invite=user_invites[invite];
		if (isset(this_invite["status"]==1)) {
			if (num_valid > 0) { inviteStr+=", "; 	}
			inviteStr += (isset(this_invite["contact"])) ? "\"" + this_invite["contact"] + "\" " : 	"\"" + this_invite["name"] + "\"" + " &lt;" + this_invite["email"] + "&gt; ";
			num_valid++;
		}
	}

	if (num_valid==0) {	inviteStr="&lt; " + translations["enter_names"] + " &gt;"; } else {	_submitStatus=1; }

	$("invite_to").innerHTML=inviteStr

}

function invite_validateEmail(_email) {
	var filter  = /^([a-zA-Z0-9_\+\.\-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$/;
	return (filter.test(_email)) ? true : false;
}

function invite_select_all_contacts() {

  var e = document.invite.elements
  var is_selected=(e["select_all_contacts"].checked)
  for (var contact in e) {
    if (isset(e[contact]) && isset(e[contact].value) && isset(e[contact].name)) {
      if(e[contact].value) {
        try {
          var contact_id=e[contact].value;
          var contact_name = $("contact_" + contact_id + "_username").innerHTML
          if (is_selected) {
            invite_add_contact(contact_name);
            e[contact].checked=true;
          } else {
            invite_remove_contact(contact_name);
            e[contact].checked=false;
          }

        } catch (e){

        }
       }
    }
  }

  build_display();
}

function invite_evalContacts(checkbox) {

  var contact_name = $("contact_" + checkbox.value + "_username").innerHTML

  if (checkbox.checked) {
    invite_add_contact(contact_name)
  } else {
    invite_remove_contact(contact_name)
  }

  build_display();

}

function invite_add_contact(username) {
  if (!username) { return; }
  invite_find_and_remove(username);
  user_invites.push({status:1, contact:username})
}

function invite_remove_contact(username) {
  if (!username) { return; }
  invite_find_and_remove(username);
}

function invite_find_and_remove(username) {
  if (!username) { return; }
  var reset =[], i=-1;
  while (++i < user_invites.length) {
    if (user_invites[i].contact !=username) {
      reset.push(user_invites[i]);
    }
  }

  user_invites = reset;

}

function invite_evalUsername() {

	var inviteStr='';

	var _name=$("inviteUsername").value

	if (_name) {

		$("user_subject").innerHTML=_name
		$("user_signature").innerHTML=_name

	}
}

function invite_checkSubmit() {

	if (_submitStatus==1) {
		return true;
	} else {
		alert(translations["enter_email_error"]); return false;
	}

	//alert("Checking submit >" + _submitStatus + "<")

}

