
$(document).ready(function(){pbx.refer.init();});pbx.refer={cleared:false,emails:null,emailSenderAlias:null,emailSubject:null,emailMessage:null,init:function()
{pbx.refer.cleared=false;$('div.pbx_tooltip').tooltip();$('#pbx_refer_emails').bind('click',pbx.clearTextArea);$('#pbx_refer_send').bind('click',pbx.refer.sendEmails);$('#pbx_refer_cancel').bind('click',pbx.refer.cancel);$('#pbx_refer_check_all').bind('click',pbx.refer.checkAll);pbx.refer.referMessage=$('#pbx_refer_message');pbx.refer.referMessageMaxLength=$('#pbx_refer_message').attr('maxLength');pbx.refer.referMessageRemaining=$('span#pbx_refer_message_remaining');pbx.refer.referMessageIsFull();pbx.refer.referMessage.bind('keyup',pbx.refer.referMessageIsFull);pbx.refer.referMessage.bind('keydown',pbx.refer.referMessageIsFull);pbx.refer.referMessage.bind('blur',pbx.refer.referMessageIsFull);},updateRemainingCount:function(e)
{var text=pbx.refer.referMessage.val();if(e!==undefined&&e.type=='keydown')
{pbx.refer.referMessageLast=text;}
var char_remaining=pbx.refer.referMessageMaxLength-text.length;if(char_remaining<=0)
{pbx.refer.referMessage.val(pbx.refer.referMessageLast);char_remaining='0';pbx.refer.referMessageRemaining.parent().css('color','red');}
else
{pbx.refer.referMessageRemaining.parent().css('color','');}
pbx.refer.referMessageRemaining.html(char_remaining);},sendEmails:function(){pbx.refer.emails=$('#pbx_refer_emails').val().toLowerCase();pbx.refer.emailSenderAlias=$('#pbx_refer_email_sender_alias').val();pbx.refer.emailSubject=$('#pbx_refer_email_subject').val();pbx.refer.emailMessage=$('#pbx_refer_message').val();var invitee_emails=pbx.refer.validateForm();if(!invitee_emails){return false;}
$('#pbx_refer_emails').val(invitee_emails.join(', '));pbx.formatEmailMessage(pbx.refer.emailMessage)
pbx.show_overlay(true);pbx.show_loading(true);return true;},cancel:function(){window.location=$('a#pbx_refer_manage_href').attr('href');return false;},checkAll:function(){$("input").each(function(){if(this.id.search(/^pbx_refer_check_\d+$/)!=-1){if($('#pbx_refer_check_all').attr("checked")){this.checked=true;}else{this.checked=false;}}});},referMessageIsFull:function()
{pbx.limitSize(pbx.refer.referMessage[0],575,pbx.refer.updateRemainingCount);},validateForm:function(method){var emails=pbx.refer.emails;var emailSenderAlias=pbx.refer.emailSenderAlias;var emailSubject=pbx.refer.emailSubject;var emailMessage=pbx.refer.emailMessage;var errorsExist=false;$('#pbx_refer_emails_label').removeClass('pbx_error');$('#pbx_refer_email_subject_label').removeClass('pbx_error')
$('#pbx_refer_message_label').removeClass('pbx_error');$('#pbx_refer_missing').css({'display':'none'});$('#pbx_refer_errors_email').css({'display':'none'});$('#pbx_refer_errors_max').css({'display':'none'});$('#pbx_refer_error_invalid').css({'display':'none'});$('#pbx_emails_invalid').html('');$('#pbx_refer_error_alreadyregistered').css({'display':'none'});$('#pbx_refer_error_alreadyinvited').css({'display':'none'});var emailInvalidFlag=false;if(method!='resend'){var validation_result=pbx.validate_email_list(emails);if(!validation_result.valid_list.length&&!validation_result.error_list.length){$('#pbx_refer_emails_label').addClass('pbx_error');$('#pbx_refer_missing').css({'display':'block'});errorsExist=true;}else{if(validation_result.error_list.length>0)
{emailInvalidFlag=true;$('#pbx_emails_invalid').html('<br/>'+validation_result.error_list.join('<br/>'));}}
if(emailInvalidFlag){$('#pbx_refer_emails_label').addClass('pbx_error');$('#pbx_refer_errors_email').css({'display':'block'});$('#pbx_refer_error_invalid').css({'display':'block'});errorsExist=true;}}
if(emailSubject==''){$('#pbx_refer_email_subject_label').addClass('pbx_error');$('#pbx_refer_missing').css({'display':'block'});errorsExist=true;}
if(emailMessage==''){$('#pbx_refer_message_label').addClass('pbx_error');$('#pbx_refer_missing').css({'display':'block'});errorsExist=true;}else if(emailMessage.length>575){$('#pbx_refer_message_label').addClass('pbx_error');$('#pbx_refer_errors_max').css({'display':'block'});}
if(!errorsExist&&method!='resend')
{return validation_result.valid_list;}
return!errorsExist;},manageError:function(response)
{if(response.malformed&&response.malformed.length>0)
{$('#pbx_emails_invalid').html('');for(var i=0;i<response.malformed.length;i++)
{if($('#pbx_emails_invalid').html()!='')
{$('#pbx_emails_invalid').append(',&nbsp;');}
$('#pbx_emails_invalid').append(''+response.malformed[i]);}
$('#pbx_refer_emails_label').addClass('pbx_error');$('#pbx_refer_errors_email').css({'display':'block'});$('#pbx_refer_error_invalid').css({'display':'block'});}
if(response.already_registered&&response.already_registered.length>0)
{$('#pbx_emails_alreadyregistered').html('');for(var i=0;i<response.already_registered.length;i++)
{if($('#pbx_emails_alreadyregistered').html()!='')
{$('#pbx_emails_alreadyregistered').append(',&nbsp;');}
$('#pbx_emails_alreadyregistered').append(''+response.already_registered[i]);}
$('#pbx_refer_emails_label').addClass('pbx_error');$('#pbx_refer_error_alreadyregistered').css({'display':'block'});}
if(response.already_invited&&response.already_invited.length>0)
{$('#pbx_emails_alreadyinvited').html('');for(var i=0;i<response.already_invited.length;i++)
{if($('#pbx_emails_alreadyinvited').html()!='')
{$('#pbx_emails_alreadyinvited').append(',&nbsp;');}
$('#pbx_emails_alreadyinvited').append(''+response.already_invited[i]);}
$('#pbx_refer_emails_label').addClass('pbx_error');$('#pbx_refer_error_alreadyinvited').css({'display':'block'});}}}