+ if (contactList.size() > 0){
+
+ for (int contactListSeek = 0; contactListSeek < contactList.size();
+ contactListSeek++){
+
+ dataLine += "CONTACT";
+
+ if (contactListAltRep[contactListSeek].size() > 0){
+
+ dataLine += ";ALTREP=\"";
+ dataLine += contactListAltRep[contactListSeek];
+ dataLine += "\"";
+
+ }
+
+ if (contactListLanguage[contactListSeek].size() > 0){
+
+ dataLine += ";LANGUAGE=";
+ dataLine += contactListLanguage[contactListSeek];
+
+ }
+
+ if (contactListTokens[contactListSeek].size() > 0){
+
+ dataLine += ";";
+ dataLine += contactListTokens[contactListSeek];
+
+ }
+
+ dataLine += ":";
+ dataLine += contactList[contactListSeek];
+ dataLine += "\n";
+
+ dataLineProcessed = OutputText(&dataLine);
+
+ *saveData += dataLineProcessed;
+
+ dataLine.clear();
+ dataLineProcessed.clear();
+
+ }
+
+ }
+
+ // Process the EXDATE value.
+
+ if (excludeDateData.size() > 0){
+
+ for (int excludeDateDataSeek = 0; excludeDateDataSeek < excludeDateData.size();
+ excludeDateDataSeek++){
+
+ dataLine += "EXDATE";
+
+ if (excludeDateDataTimeZoneParam[excludeDateDataSeek].size() > 0){
+
+ dataLine += ";TZID=";
+ dataLine += excludeDateDataTimeZoneParam[excludeDateDataSeek];
+
+ }
+
+ if (excludeDateDataValue[excludeDateDataSeek].size() > 0){
+
+ dataLine += ";VALUE=";
+ dataLine += excludeDateDataValue[excludeDateDataSeek];
+
+ }
+
+ if (excludeDateDataTokens[excludeDateDataSeek].size() > 0){
+
+ dataLine += ";";
+ dataLine += excludeDateDataTokens[excludeDateDataSeek];
+
+ }
+
+ dataLine += ":";
+ dataLine += excludeDateData[excludeDateDataSeek];
+ dataLine += "\n";
+
+ dataLineProcessed = OutputText(&dataLine);
+
+ *saveData += dataLineProcessed;
+
+ dataLine.clear();
+ dataLineProcessed.clear();
+
+ }
+
+ }
+
+ // Process the REQUEST-STATUS value.
+
+ if (requestStatusData.size() > 0){
+
+ for (int requestStatusDataSeek = 0; requestStatusDataSeek < requestStatusData.size();
+ requestStatusDataSeek++){
+
+ dataLine += "REQUEST-STATUS";
+
+ if (requestStatusLanguage[requestStatusDataSeek].size() > 0){
+
+ dataLine += ";LANGUAGE=";
+ dataLine += requestStatusLanguage[requestStatusDataSeek];
+
+ }
+
+ if (requestStatusTokens[requestStatusDataSeek].size() > 0){
+
+ dataLine += ";";
+ dataLine += requestStatusTokens[requestStatusDataSeek];
+
+ }
+
+ dataLine += ":";
+ dataLine += requestStatusData[requestStatusDataSeek];
+ dataLine += "\n";
+
+ dataLineProcessed = OutputText(&dataLine);
+
+ *saveData += dataLineProcessed;
+
+ dataLine.clear();
+ dataLineProcessed.clear();
+
+ }
+
+ }
+
+ // Process the RELATED-TO value.
+
+ if (relatedToData.size() > 0){
+
+ for (int requestToDataSeek = 0; requestToDataSeek < relatedToData.size();
+ requestToDataSeek++){
+
+ dataLine += "RELATED-TO";
+
+ if (relatedToDataRelationType[requestToDataSeek].size() > 0){
+
+ dataLine += ";RELTYPE=";
+ dataLine += relatedToDataRelationType[requestToDataSeek];
+
+ }
+
+ if (relatedToDataTokens[requestToDataSeek].size() > 0){
+
+ dataLine += ";";
+ dataLine += relatedToDataTokens[requestToDataSeek];
+
+ }
+
+ dataLine += ":";
+ dataLine += relatedToData[requestToDataSeek];
+ dataLine += "\n";
+
+ dataLineProcessed = OutputText(&dataLine);
+
+ *saveData += dataLineProcessed;
+
+ dataLine.clear();
+ dataLineProcessed.clear();
+
+ }
+
+ }
+
+ // Process the RESOURCES value.
+
+ if (resourcesData.size() > 0){
+
+ for (int resourcesDataSeek = 0; resourcesDataSeek < resourcesData.size();
+ resourcesDataSeek++){
+
+ dataLine += "RESOURCES";
+
+ if (resourcesDataAltRep[resourcesDataSeek].size() > 0){
+
+ dataLine += ";ALTREP=\"";
+ dataLine += resourcesDataAltRep[resourcesDataSeek];
+ dataLine += "\"";
+
+ }
+
+ if (resourcesDataLanguage[resourcesDataSeek].size() > 0){
+
+ dataLine += ";LANGUAGE=";
+ dataLine += resourcesDataLanguage[resourcesDataSeek];
+
+ }
+
+ if (resourcesDataTokens[resourcesDataSeek].size() > 0){
+
+ dataLine += ";";
+ dataLine += resourcesDataTokens[resourcesDataSeek];
+
+ }
+
+ dataLine += ":";
+ dataLine += resourcesData[resourcesDataSeek];
+ dataLine += "\n";
+
+ dataLineProcessed = OutputText(&dataLine);
+
+ *saveData += dataLineProcessed;
+
+ dataLine.clear();
+ dataLineProcessed.clear();
+
+ }
+
+ }
+
+ // Process the RDATE value.
+
+ if (recurranceDateData.size() > 0){