<#list vcards as v>
<#if v.sortString?? && v.sortString.value??> <#assign sortString=v.sortString.value> <#elseif v.structuredName?? && v.structuredName.sortAs?has_content> <#assign sortString=""> <#list v.structuredName.sortAs as name> <#assign sortString = sortString + name> <#if name_has_next> <#assign sortString = sortString + ","> <#elseif v.organization?? && v.organization.sortAs?has_content> <#assign sortString=""> <#list v.organization.sortAs as name> <#assign sortString = sortString + name> <#if name_has_next> <#assign sortString = sortString + ","> <#if sortString??>
<#assign makeLink=true> <#if v.photos?has_content> <#assign photo=v.photos[0]> <#if photo.url??> <#assign imgSrc=photo.url> <#elseif photo.data??> <#assign imgSrc=utils.base64(photo.contentType.mediaType, photo.data)> <#assign imgClass="photo"> <#elseif v.logos?has_content> <#assign logo=v.logos[0]> <#if logo.url??> <#assign imgSrc=logo.url> <#elseif logo.data??> <#assign imgSrc=utils.base64(logo.contentType.mediaType, logo.data)> <#assign imgClass="logo"> <#else> <#assign imgSrc=utils.base64(noProfile.contentType.mediaType, noProfile.data)> <#assign makeLink=false> <#if makeLink> class="${imgClass}" onload="resizeRelative(this, 100, 100)" src="${imgSrc}" /> <#if makeLink> <#if v.formattedName?? && v.formattedName.value??>

${v.formattedName.value}

<#elseif v.structuredName?? && v.structuredName.family?? && v.structuredName.given??>

${v.structuredName.given} ${v.structuredName.family}

<#else>

VCard #${v_index + 1}

<#if v.nickname?? && v.nickname.values?has_content> Nicknames: <#list v.nickname.values as nickname> ${nickname}<#if nickname_has_next>,
<#if v.birthday?? && v.birthday.date??> Birthday:
<#if v.categories?? && v.categories.values?has_content> Tags: <#list v.categories.values as category> ${category}<#if category_has_next>,
<#if v.sounds?has_content> <#assign sound=v.sounds[0]> <#if sound.url?? || sound.data??> <#if sound.url??> <#assign sourceSrc=sound.url> <#else> <#assign sourceSrc=utils.base64(sound.contentType.mediaType, sound.data)>

<#if v.classification?? && v.classification.value??> Data classification: ${v.classification.value}
<#if v.uid?? && v.uid.value??> Unique identifier: ${v.uid.value}
<#if v.revision?? && v.revision.value??> vCard last updated:
<#if v.addresses?has_content> Addresses:
<#list v.addresses as adr>
<#if adr.label??> <#if adr.types?has_content> <#list adr.types as t> ${t.value?capitalize}<#if t_has_next>,
<#if adr.label??>
<#if adr.poBox??> P.O. Box ${adr.poBox}
<#if adr.streetAddress??> ${utils.lineBreaks(adr.streetAddress?html)}
<#if adr.extendedAddress??> ${utils.lineBreaks(adr.extendedAddress?html)}
<#if adr.locality??> ${adr.locality}<#if adr.region??>, <#if adr.region??> ${adr.region} <#if adr.postalCode??> ${adr.postalCode} <#if adr.country??>
${adr.country}

<#if v.telephoneNumbers?has_content> Phone numbers:
<#list v.telephoneNumbers as tel>
<#if tel.types?has_content> <#list tel.types as t> ${t.value?capitalize}<#if t_has_next>, : <#if tel.uri??> ${tel.uri.number}<#if tel.uri.extension??> x${tel.uri.extension} <#elseif tel.text??> ${tel.text}

<#if v.emails?has_content> Emails:
<#list v.emails as email>

<#if v.impps?has_content> Instant messenger handles:
<#list v.impps as impp> <#if impp.protocol == "aim"> <#assign protocol="AOL"> <#elseif impp.protocol== "icq"> <#assign protocol="ICQ"> <#elseif impp.protocol== "irc"> <#assign protocol="IRC"> <#elseif impp.protocol== "msnim"> <#assign protocol="MSN"> <#elseif impp.protocol== "sip"> <#assign protocol="SIP"> <#elseif impp.protocol== "skype"> <#assign protocol="Skype"> <#elseif impp.protocol== "xmpp"> <#assign protocol="XMPP"> <#elseif impp.protocol== "ymsgr"> <#assign protocol="Yahoo!"> <#else> <#assign protocol=impp.protocol> ${protocol}: ${impp.handle}

<#if v.urls?has_content> URLs:
<#list v.urls as url> ${url.value}
<#if v.structuredName??> Name:
<#if v.structuredName.family??> Family: ${v.structuredName.family}
<#if v.structuredName.given??> Given: ${v.structuredName.given}
<#if v.structuredName.additional?has_content> Additional: <#list v.structuredName.additional as n> ${n}<#if n_has_next>,
<#if v.structuredName.prefixes?has_content> Honorific prefixes: <#list v.structuredName.prefixes as n> ${n}<#if n_has_next>,
<#if v.structuredName.suffixes?has_content> Honorific suffixes: <#list v.structuredName.suffixes as n> ${n}<#if n_has_next>,

<#if v.geo?? && v.geo.latitude?? && v.geo.longitude??> Geo: ${v.geo.latitude?string("0.######")}, ${v.geo.longitude?string("0.######")}
<#if v.mailer?? && v.mailer.value??> Mailer: ${v.mailer.value}
<#if v.timezone?? && v.timezone.offset??> Timezone: ${v.timezone.offset.toString(false)}
<#if v.organization?? && v.organization.values?has_content> Organization: <#list v.organization.values as org> <#if org_index == 0> ${org}<#if org_has_next>, <#elseif org_index == 1> ${org}<#if org_has_next>, <#else> ${org}<#if org_has_next>,
<#if v.titles?has_content> Titles: <#list v.titles as title> ${title.value}<#if title_has_next>,
<#if v.roles?has_content> Roles: <#list v.roles as role> ${role.value}<#if role_has_next>,
<#if v.notes?has_content> Notes: <#list v.notes as note>
${utils.lineBreaks(note.value?html)}

hCard specs: http://microformats.org/wiki/hcard
Generated by ez-vcard ${ezVCardVersion}