(function () {
// define all merge fields to be used as variables for shorter reference
var accountType = {!Account.Account.Account Type};
var grclc = {!Gift Recognition Credit.Gift Recognition Credit.Legal Credit %};
var PLastName = {!Account.Primary Contact.Last Name} ? {!Account.Primary Contact.Last Name} : "";
var PFirstName = {!Account.Primary Contact.First Name} ? {!Account.Primary Contact.First Name} : "";
var SLastName = {!Account.Secondary Contact.Last Name} ? {!Account.Secondary Contact.Last Name} : "";
var SFirstName = {!Account.Secondary Contact.First Name} ? {!Account.Secondary Contact.First Name} : "";
var salutation1 = {!Account.Primary Contact.Salutation} ? {!Account.Primary Contact.Salutation} : "";
var salutation2 = {!Account.Secondary Contact.Salutation} ? {!Account.Secondary Contact.Salutation} : "";
var careof = {!Receipt.Account.Receipting Care of};
var method = 0;
//
Dear var SalutationPstandaloneSal += First Name + Last Name
if ((PLastName != "" && salutation1 == "") || (SLastName != "" && salutation2 == "")){
if ((PFirstName != "" && PFirstName.length > 1) || (SFirstName != "" && SFirstName.length > 1 )){
method = 1; // Dear First Name
} else {
method = 2; // Dear Supporter
}
}
if ((accountType == 'Household') && (grclc < 100) && (PLastName == SLastName)) {
switch(method){
case 1:
return (PFirstName + " " + "and" + " " + SFirstName + " " + SLastName);
break;
case 2:
return ("Supporter");
break;
default:
return (salutation1 + " " + "and" + " " + salutation2 + " " + SLastName);
}
} else if ((accountType == 'Household') && (grclc < 100) && (PLastName != SLastName)) {
switch(method){
case 1:
return (PFirstName + " " + "and" + " " + SFirstName);
break;
case 2:
return ("Supporter");
break;
default:
return (salutation1 + " " + PLastName + " " + "and" + " " + salutation2 + " " + SLastName);
}
} else if ((accountType != 'Household') && (careof)){
return ({!Receipt.Account.Receipting Care of});
} else if ((accountType != 'Household')){
return ("Sir/ Madam");
} else if ((grclc == 100)){
switch(method){
case 1:
return (PFirstName);
break;
case 2:
return ("Supporter");
break;
default:
return (salutation1 + " " + PLastName);
}
} else {
return "";
}
{!Contact Primary.Salutation Link.Standalone Salutation};
var SstandaloneSal = {!Contact Secondary.Salutation Link.Standalone Salutation};
// if standalone salutation, don't print the names
if (PstandaloneSal) {
PLastName = "";
PFirstName = "";
}
// if standalone salutation, don't print the names
if (SstandaloneSal) {
SLastName = "";
SFirstName = "";
}
if (grclc == 100) {
// only one contact gets legal credit, we get the first GRC record and the credit contact of that GRC Record
PLastName = {!Gift Recognition Credit.Contact Credited.Last Name} ? {!Gift Recognition Credit.Contact Credited.Last Name} : "";
PFirstName = {!Gift Recognition Credit.Contact Credited.First Name} ? {!Gift Recognition Credit.Contact Credited.First Name} : "";
// if standalone salutation, don't print the names
if (PstandaloneSal) {
PLastName = "";
PFirstName = "";
}
salutation1 = {!Gift Recognition Credit.Contact Credited.Salutation} ? {!Gift Recognition Credit.Contact Credited.Salutation} : "";
// second contact is blank
salutation2 = "";
SLastName = "";
SFirstName = "";
}
// set the Method if no salutation to either of the two contacts, use first name or Supporter
if ((PLastName != "" && salutation1 == "") || (SLastName != "" && salutation2 == "")){
if (PFirstName != "" && PFirstName.length > 1 && SFirstName == ""){ // one contact, first name is not one character,
method = 1; // use first name
} else if (PFirstName != "" && PFirstName.length > 1 && SFirstName != "" && SFirstName.length > 1){ // two contacts, first name is not one character
method = 1; // use first name for both contacts
} else {
method = 2; // no salutation and no first name, use Dear Supporter
}
}
// Household and two contact same surname - Dear Mr Ryan and Mrs Francesca Bryant
if ((accountType == 'Household') && (grclc < 100) && (PLastName == SLastName)) {
switch(method){
case 1: // Dear Ryan and Francesca Bryant
return (PFirstName + " " + "and" + " " + SFirstName + " " + SLastName);
break;
case 2: // Dear Supporter
return ("Supporter");
break;
default: // Dear Mr and Mrs Bryant or Dear Chancellor and Mrs Bryant
return (salutation1 + " " + "and" + " " + salutation2 + " " + SLastName);
}
// Household and two contact different surname - Dear Mr Ryan Bryant and Mrs Francesca Parkes
} else if ((accountType == 'Household') && (grclc < 100) && (PLastName != SLastName)) {
switch(method){
case 1: // Dear Ryan and Francesca
return (PFirstName + " " + "and" + " " + SFirstName);
break;
case 2: // Dear Supporter
return ("Supporter");
break;
default: // Dear Mr Bryant and Mrs Parkes or Dear Chancellor and Mrs Parkes
return (salutation1 + " " + PLastName + " " + "and" + " " + salutation2 + " " + SLastName);
}
// Not Household with careof
} else if ((accountType != 'Household') && (careof)){
return ({!Receipt.Account.Receipting Care of});
} else if ((accountType != 'Household')){
return ("Sir/ Madam");
} else if ((grclc == 100)){ // Household and only one LC
switch(method){
case 1: // Dear Ryan
return (PFirstName);
break;
case 2: // Dear Supporter
return ("Supporter");
break;
default: // Dear Mr Bryant or Dear Chancellor
return (salutation1 + " " + PLastName);
}
} else {
return "";
}
})() |