function handleArticleAdditionalContent () {
	$("#content div.article-full").each(function(){
		var $article = $(this);
		
		var article = {
			id: $article.attr("id").substring($article.attr("id").lastIndexOf("-") + 1, $article.attr("id").length),
			type: $article.attr("id").substring(0, $article.attr("id").lastIndexOf("-"))
		};
		
		var additionalContentTypes = [];
		
		if ($.trim($article.find(".article-content").text()).length > 10) additionalContentTypes.push("default");
		
		
			switch (article.type) {
				case "article":
					
				break;
				case "program":
					additionalContentTypes.push("programEvents");
				break;
				case "artist":
					additionalContentTypes.push("artistEvents");
				break;
				case "venue":
					additionalContentTypes.push("map");
					additionalContentTypes.push("venueEvents");
				break;
			};
		
		
		if ($article.hasClass("facebook-comments")) additionalContentTypes.push("comments");
		
		// Get related content
		var serviceUrl;
		
		if (!testMode) {
			serviceUrl = "program/program.asmx/GetArticleRelatedContent?articleid=" + article.id;
		}
		else {
			serviceUrl = "designtemplates/" + pm.page.masterSmartTemplate + "/include/_xml/RelatedContent.xml";
		} 
		
		$.ajax({
			url: serviceUrl,
			success: function(data){
				if ($(data).find("content").length > 0) {
				
					article.related = {
						article: $(data).find("content[type='article']"),
						photo: $(data).find("content[type='photo']"),
						video: $(data).find("content[type='video']"),
						audio: $(data).find("content[type='audio']"),
						link: $(data).find("content[type='link']")
					};
					
					$(data).find("content").each(function(){
						var $content = $(this);
						var contentType = $content.attr("type");
						
						contentType = (contentType == "link") ? "article" : contentType;
						
						if (!(additionalContentTypes.join().indexOf(contentType)>=0)) {
							additionalContentTypes.push(contentType);	
						}									 
					});
				};
			},
			complete: function(){
				handleArticleAdditionalContentNavigation($article, article, additionalContentTypes);
					
				$article.find(".tabsContainer").show();

				$article.pmTabs();	
				
				switch(article.type) {
					case "program":
						//	If festival is still ongoing, the initially selected tab is events tab
						if (!gameOver) {
							$("#tabs").find(".tab-programEvents").removeClass("unselected").addClass("selected").siblings().removeClass("selected");
							$(".tab-content-programEvents").show().siblings().hide();
						};
					break;
					case "venue":
						$("#tabs").find(".tab-map").removeClass("unselected").addClass("selected").siblings().removeClass("selected");
						$(".tab-content-map").show().siblings().hide();
					break;
				};
			},
			dataType: "xml"
		});
	});
	
	function handleArticleAdditionalContentNavigation (oArticle, article, additionalContentTypes) {
		var $article = $(oArticle);
		var $tabContainer = $article.find("#tabs");
		var $tabContentContainer = $article.find(".SwitchingRegions");
		
		for (var i=0; i < additionalContentTypes.length; i++) {
			var currentAdditionalContentType = additionalContentTypes[i];
			var tabCssClass = (i==0) ? "first tab-" + currentAdditionalContentType + " unselected" : "tab-" + currentAdditionalContentType + " unselected";
			
			var $tab = $("<li id='tab" + i + "' class='" + tabCssClass + "'>" + dljfAdditionalContentTitle[additionalContentTypes[i]] + "</li>");
			var $tabContent = $("<div id='tabContainer" + i + "' class='tab-content-" + currentAdditionalContentType + "' style='display: none'></div>");
		
			//	Move default content to first tab
			if (currentAdditionalContentType == "default") { 
				$article.find(".article-content").appendTo($tabContent);
			}
			else {
				setArticleRelatedContent (currentAdditionalContentType, $tabContent, oArticle, article);
			};
			
			$tabContainer.append($tab);
			$tabContentContainer.append($tabContent);
		};
	};
	
	function setArticleRelatedContent (contentType, tab, oArticle, article) {
		var $tab = $(tab);
		
		switch (contentType) {
			case "article":
				//	Add related articles
				$(article.related.article).each(function(){
					var $article = $(this);
					var relatedArticle = "";
					
					relatedArticle += "<div class='additional-article clearfix' title='" + $article.attr("title") + "'>";
					if ($article.attr("image").length > 10) {
						relatedArticle += "	<div class='additional-article-image'><span><img width='90' border='0' alt='" + $article.attr("title") + "' src='" + $article.attr("image") + "tms=90'></span></div>";
					};
					relatedArticle += "	<h2 class='additional-article-title'><a href='" + $article.attr("link") + "' title='" + $article.attr("title") + "'>" + $article.attr("title") + "</a></h2>";
					relatedArticle += "	<div class='additional-article-lead'>" + $article.children("lead").text() + "</div>";
					relatedArticle += "</div>";
					
					$(relatedArticle)
						.bind("click", function(){
							window.location = $article.attr("link");						
						})
						.appendTo($tab);
				});
				
				//	Add related links
				if (article.related.link.length > 0) {
					var $relatedLinks = $("<ul id='related-links'></ul>");
					
					$(article.related.link).each(function(){
						var $link = $(this);
						
						$("<li><a href='" + $link.attr("link") + "' title='" + $link.attr("title") + "'>" + $link.attr("title") + "</a><span class='related-link-description'>" + $link.children("description").text() + "</span></li>").appendTo($relatedLinks);
					});
					
					$relatedLinks.appendTo($tab);
				};
			break;
			case "map":
				var dljfGoogleMaps = (dljfProgramDefaultLanguageId == 1) ? "dljf_content/venues/venues_hr.xml" : "dljf_content/venues/venues_en.xml";
				
				var $googleMapContainer = $("<div id='additional-google-map' style='width: 677px; height: 350px;'></div>");
				
				$googleMapContainer.appendTo($tab);
				
				$.get(dljfGoogleMaps, function(data){
					var $venue = $(data).find("#" + article.id);
					
					$venue = ($venue.length > 0) ? $venue : $(data).find("#0") ;
					
					if ($venue.length > 0) {
						var googleMap = {
							title:			$venue.attr("title"),
							description:	$venue.text(),
							latitude:		$venue.attr("lat"),
							longitude:		$venue.attr("long")
						};				
					
						$googleMapContainer.gmaper({
							markers: [{
								latitude: googleMap.latitude,
								longitude: googleMap.longitude,
								info: {
									html: googleMap.description,
									onload: true	
								}
							}],
							controls: {
								maptype: false,
								scale: true
							},
							zoom: 18 });
					}
					else {
						$googleMapContainer.addClass("loader");
					}
				});
			break;
			case "photo":
				$(article.related.photo).each(function(e){				
					var $gallery = $(this);
					var relatedGallery = "";
					
					relatedGallery += "<div class='additional-gallery clearfix' title='" + $gallery.attr("title") + "'>";
					relatedGallery += "	<h2 class='additional-gallery-title'>" + $gallery.attr("title") + "</h2>";
					relatedGallery += "	<div class='additional-gallery-lead'>" + $gallery.children("lead").text() + "</div>";
					relatedGallery += "	<ul class='additional-gallery-images' id='gallery-" + e + "'></ul>";
					relatedGallery += "</div>";
					
					$(relatedGallery).appendTo($tab);
					
					//	Get gallery images
					$.ajax({
						url: 'sfp.axd?sfptype=10&g=' + $gallery.attr("id"),
						success: function(data){
							//	Load program list
							var $galleryImages = $(data).find("Picture");
							var $galleryPlayer = $("#gallery-" + e);
							
							$galleryImages.each(function(){
								var $image = $(this);
								
								var $img = $("<li><a href='" + $image.children("Url").text() + "&t=1&tms=800' title='" + $image.children("Heading").text() + "' rel='photo-gallery-" + e + "'><img src='" + $image.children("Url").text() + "&t=1&tms=90' border='0' alt=''></a></li>");	
								
								$galleryPlayer.append($img);
							});
				
							$galleryPlayer.find("a").fancybox({
								titleShow		: true,
								overlayOpacity	: 0.5,
								overlayColor	: '#000',
								transitionIn	: 'elastic',
								transitionOut	: 'elastic',
								titlePosition	: 'over',
								titleFormat	: function(title, currentArray, currentIndex, currentOpts) {
									return '<span id="fancybox-title-over"><span class="fancybox-image-title">' + $gallery.attr("title") + (currentIndex + 1) + '-' + currentArray.length + '</span><span class="fancybox-image-data"><a href="' + currentArray[currentIndex].href.substring(0, currentArray[currentIndex].href.indexOf('&t=1&tms=800')) + '" title="Download" target="_blank">Download</a> &nbsp;-' + (title.length ? ' &nbsp;' + title : '') + '</span></span>';
								}
							});
						},
						dataType: "xml"
					});	
				});
			break;
			case "video":
				$("<div id='multimedia-video-player' class='clearfix' style='display: none; height: 0px'><div id='video-player'></div></div>").appendTo($tab);
				
				$(article.related.video).each(function(e){
					var $video = $(this);
					var relatedVideo = "";
					
					relatedVideo += "<div class='additional-video clearfix' title='" + $video.attr("title") + "'>";
					relatedVideo += "	<div class='additional-video-image'><span><img width='90' border='0' alt='" + $video.attr("title") + "' src='" + $video.attr("image") + "&tms=90'></span></div>";
					relatedVideo += "	<h2 class='additional-video-title'><a href='" + $video.attr("link") + "' title='" + $video.attr("title") + "'>" + $video.attr("title") + "</a></h2>";
					relatedVideo += "	<div class='additional-video-lead'>" + $video.children("lead").text() + "</div>";
					relatedVideo += "</div>";
					
					$(relatedVideo)
						.bind("click", function(event){
							event.preventDefault();
						
							$("#multimedia-video-player").show().animate({height: '310px'}, 500);
							
							$(this).addClass("selected").siblings().removeClass("selected");
							
							playVideo("video", $video.attr("title"), $video.attr("link"), getVideoPlayerImage($video.attr("image")) + "&tms=180", true);						
						})
						.appendTo($tab);
				});
			break;
			case "audio":
				$("<div id='multimedia-audio-player' class='clearfix' style='display: none; height: 0px'><div id='audio-player'></div></div>").appendTo($tab);
				
				$(article.related.audio).each(function(e){
					var $audio = $(this);
					var relatedAudio = "";
					
					relatedAudio += "<div class='additional-audio clearfix' title='" + $audio.attr("title") + "'>";
					relatedAudio += "	<div class='additional-audio-image'><span><img width='90' border='0' alt='" + $audio.attr("title") + "' src='" + $audio.attr("image") + "&tms=90'></span></div>";
					relatedAudio += "	<h2 class='additional-audio-title'><a href='" + $audio.attr("link") + "' title='" + $audio.attr("title") + "'>" + $audio.attr("title") + "</a></h2>";
					relatedAudio += "	<div class='additional-audio-lead'>" + $audio.children("lead").text() + "</div>";
					relatedAudio += "</div>";
					
					$(relatedAudio)
						.bind("click", function(event){
							event.preventDefault();
							
							$("#multimedia-audio-player").show().animate({height: '40px'}, 500);
			
							$(this).addClass("selected").siblings().removeClass("selected");
										
							playAdditionalAudio($audio.attr("link"));				
							
						})
						.appendTo($tab);
				});
			break;
			case "programEvents":
				// Get related events
				var serviceUrl;
		
				if (!testMode) {
					serviceUrl = "program/program.asmx/GetEventsForProgram?programArticleID=" + article.id;
				}
				else {
					serviceUrl = "designtemplates/" + pm.page.masterSmartTemplate + "/include/_xml/GetEventsForProgram.xml";
				}
				
				$.ajax({
					url: serviceUrl,
					success: function(data){
						var $programEvents = $(data).find("event");
						var $programArtists = $(data).find("program:first artists");
						
						if ($programEvents.length > 0) {
							
							var dateEn = ($programEvents.first().attr("time").indexOf("/") >= 1);
							
							var $programList = $("<table id='aditional-program-events-list' border='0' cellspacing='0' cellpadding='0'></table>");
							
							$programEvents.each(function(e){
																 
								var $event = $(this);
	
								var eventData = {
									date: $event.attr("time").substring(0, $event.first().attr("time").indexOf(" ")),
									time: $event.attr("shorttime"),
									calendar: $event.find("calendarURL").text(),
									shopurl: $event.find("buyURL").text(), 
									location: {
										title: $event.find("venue > heading").text(),
										article: $event.find("venue > link").text()
									}
								};
								
								//	Add artists for program article type
								if (e == 0) {	
									eventData.artists = {
										author: handleAdditionalArtists ("author", "1", $programArtists),
										conductor: handleAdditionalArtists ("conductor", "2", $programArtists),
										crew: handleAdditionalArtists ("crew", "3", $programArtists),
										director: handleAdditionalArtists ("director", "4", $programArtists),
										performer: handleAdditionalArtists ("performer", "5", $programArtists),
										ensemble: handleAdditionalArtists ("ensemble", "7", $programArtists)
									};
									
									var strArtists = eventData.artists.author + eventData.artists.conductor + eventData.artists.director + eventData.artists.crew + eventData.artists.performer + eventData.artists.ensemble;
									var $artists = $("<ul id='additional-program-artists'>" + strArtists + "</ul>");
									$(oArticle).find("div.article-image").after($artists);
								};
								
								//	Add events
								var $listItem;
								
								if (!gamesInAnnouncement) {
									if (!gameOver) {
										$listItem = $("<tr><td class='additional-event-date'>" + eventData.date + "</td><td class='additional-event-time'>" + eventData.time + "</td><td class='additional-event-location'><a href='" + eventData.location.article + "' title='" + dljfEventLocationLabel + "'>" + eventData.location.title + "</a></td><td class='additional-event-calendar'><a href='" + eventData.calendar + "' title='" + dljfEventCalendarLabel + "'>" + dljfEventCalendarLabel + "</a></td><td class='additional-event-shop'><a href='" + eventData.shopurl + "' title='" + dljfEventShopLabel + "' target='_blank'>" + dljfEventShopLabel + "</a></td></tr>");
									}
									else {
										$listItem = $("<tr><td class='additional-event-date'>" + eventData.date + "</td><td class='additional-event-time'>" + eventData.time + "</td><td class='additional-event-location'><a href='" + eventData.location.article + "' title='" + dljfEventLocationLabel + "'>" + eventData.location.title + "</a></td></tr>");	
									};
								}
								else {
									$listItem = $("<tr><td class='additional-event-date'>" + dljfEventAnnouncementLabel + "</td></tr>");
								}
																
								$listItem.appendTo($programList);									 
							});
							
							$tab.append($programList);
						};
					},
					dataType: "xml"
				});
			break;
			case "artistEvents":
				var $contentContainer = $("<div id='artist-events' class='clearfix'></div><div id='artist-years' class='clearfix'></div>")
				
				// Get related events
				var serviceUrl;
		
				if (!testMode) {
					serviceUrl = "program/program.asmx/GetEventsForArtist?artistArticleID=" + article.id + "&LanguageID=" + dljfProgramDefaultLanguageId;
				}
				else {
					serviceUrl = "designtemplates/" + pm.page.masterSmartTemplate + "/include/_xml/GetEventsForArtist.xml";
				}
	
				$.ajax({
					url: serviceUrl,
					success: function(data){
						var $programEvents = $(data).find("event");
						var $programArtists = $(data).find("artists");
						
						if ($programEvents.length > 0) {
							
							var dateEn = ($programEvents.first().attr("time").indexOf("/") >= 1);
							
							var $programList = $("<table id='aditional-program-events-list' border='0' cellspacing='0' cellpadding='0'></table>");
							
							$programEvents.each(function(e){
																 
								var $event = $(this);
	
								var eventData = {
									date: $event.attr("time").substring(0, $event.first().attr("time").indexOf(" ")),
									time: $event.attr("shorttime"),
									calendar: $event.find("calendarURL").text(),
									shopurl: $event.find("buyURL").text(), 
									location: {
										title: $event.find("venue > heading").text(),
										article: $event.find("venue > link").text()
									},
									program: {
										title: $event.find("program > heading").text(),
										url: $event.find("program > link").text()
									}
								};
								
								//	Add events
								var $listProgramItem = $("<tr class='additional-event-program'><td colspan='5'><a href='" + eventData.program.url + "' title='" + eventData.program.title + "'>" + eventData.program.title + "</a></td></tr>");
								
								var $listItem;
								
								if (!gameOver) {
									$listItem = $("<tr><td class='additional-event-date'>" + eventData.date + "</td><td class='additional-event-time'>" + eventData.time + "</td><td class='additional-event-location'><a href='" + eventData.location.article + "' title='" + dljfEventLocationLabel + "'>" + eventData.location.title + "</a></td><td class='additional-event-calendar'><a href='" + eventData.calendar + "' title='" + dljfEventCalendarLabel + "'>" + dljfEventCalendarLabel + "</a></td><td class='additional-event-shop'><a href='" + eventData.shopurl + "' title='" + dljfEventShopLabel + "' target='_blank'>" + dljfEventShopLabel + "</a></td></tr>");
								}
								else {
									$listItem = $("<tr><td class='additional-event-date'>" + eventData.date + "</td><td class='additional-event-time'>" + eventData.time + "</td><td class='additional-event-location'><a href='" + eventData.location.article + "' title='" + dljfEventLocationLabel + "'>" + eventData.location.title + "</a></td></tr>");	
								};
								
								$listProgramItem.appendTo($programList);
								$listItem.appendTo($programList);									 
							});
							
							$tab.prepend($programList);
							
							handleProgramsForArtist();
						};
					},
					complete: function(){
						handleProgramsForArtist();
					},
					dataType: "xml"
				});
				
				function handleProgramsForArtist() {
					//	Get related programs
					var serviceUrl;
		
					if (!testMode) {
						serviceUrl = "program/program.asmx/GetProgramsForArtist?artistArticleID=" + article.id + "&LanguageID=" + dljfProgramDefaultLanguageId;
					}
					else {
						serviceUrl = "designtemplates/" + pm.page.masterSmartTemplate + "/include/_xml/GetProgramsForVenue.xml";
					}
	
					$.ajax({
						url: serviceUrl,
						success: function(data){
							var $years = $(data).find("year");
							
							if ($years.length > 0) {
								var $yearList = $("<ul id='aditional-programs-list' class='clearfix'></ul>");
								
								$years.each(function(e){
									var $year = $(this);
									var $yearListItem = $("<li class='year clearfix'>" + $year.attr("year") + "</li>");
									
									$yearListItem.bind("click", function(){
										$(this).toggleClass("year-selected");									 
									});
									
									if (e == 0) $yearListItem.addClass("year-selected");
									
									var $yearPrograms = $year.find("program");
									var $yearProgramsList = $("<ul class='aditional-year-programs-list clearfix'></ul>");
									
									$yearPrograms.each(function(){
										var $program = $(this);
									
										$("<li class='program clearfix'><a href='" + $program.find("link").text() + "' title='" + $program.attr("name") + "'>" + $program.attr("name") + "</a></li>").appendTo($yearProgramsList);					
									});
									
									$yearProgramsList.appendTo($yearListItem);
									
									$yearListItem.appendTo($yearList);
									
								});
								
								$tab.append($yearList);
							};
						},
						dataType: "xml"
					});
				}
			break;
			case "venueEvents":
				// Get related events
				var serviceUrl;
		
				if (!testMode) {
					serviceUrl = "program/program.asmx/GetEventsForVenue?venueArticleID=" + article.id + "&LanguageID=" + dljfProgramDefaultLanguageId;
				}
				else {
					serviceUrl = "designtemplates/" + pm.page.masterSmartTemplate + "/include/_xml/GetEventsForVenue.xml";
				}
				
				$.ajax({
					url: serviceUrl,
					success: function(data){
						var $programEvents = $(data).find("event");
						var $programArtists = $(data).find("artists");
						
						if ($programEvents.length > 0) {
							
							var dateEn = ($programEvents.first().attr("time").indexOf("/") >= 1);
							
							var $programList = $("<table id='aditional-program-events-list' border='0' cellspacing='0' cellpadding='0'></table>");
							
							$programEvents.each(function(e){
																 
								var $event = $(this);
	
								var eventData = {
									date: $event.attr("time").substring(0, $event.first().attr("time").indexOf(" ")),
									time: $event.attr("shorttime"),
									calendar: $event.find("calendarURL").text(),
									shopurl: $event.find("buyURL").text(),
									program: {
										title: $event.find("program > heading").text(),
										url: $event.find("program > link").text()
									}
								};
								
								//	Add events
								var $listProgramItem = $("<tr class='additional-event-program'><td colspan='5'><a href='" + eventData.program.url + "' title='" + eventData.program.title + "'>" + eventData.program.title + "</a></td></tr>");
								var $listItem;
								
								if (!gameOver) {
									$listItem = $("<tr><td class='additional-event-date'>" + eventData.date + "</td><td class='additional-event-time'>" + eventData.time + "</td><td></td><td class='additional-event-calendar'><a href='" + eventData.calendar + "' title='" + dljfEventCalendarLabel + "'>" + dljfEventCalendarLabel + "</a></td><td class='additional-event-shop'><a href='" + eventData.shopurl + "' title='" + dljfEventShopLabel + "' target='_blank'>" + dljfEventShopLabel + "</a></td></tr>");
								}
								else {
									$listItem = $("<tr><td class='additional-event-date'>" + eventData.date + "</td><td class='additional-event-time'>" + eventData.time + "</td><td></td></tr>");	
								};
																
								$listProgramItem.appendTo($programList);
								$listItem.appendTo($programList);									 
							});
							
							$tab.prepend($programList);
						};
					},
					complete: function(){
						handleProgramsForVenue();
					},
					dataType: "xml"
				});
				
				//	Get related programs
				function handleProgramsForVenue() {
					var serviceUrl;
		
					if (!testMode) {
						serviceUrl = "program/program.asmx/GetProgramsForVenue?venueArticleID=" + article.id + "&LanguageID=" + dljfProgramDefaultLanguageId;
					}
					else {
						serviceUrl = "designtemplates/" + pm.page.masterSmartTemplate + "/include/_xml/GetProgramsForVenue.xml";
					}
					
					$.ajax({
						url: serviceUrl,
						success: function(data){
							var $years = $(data).find("year");
							
							if ($years.length > 0) {
								var $yearList = $("<ul id='aditional-programs-list' class='clearfix'></ul>");
								
								$years.each(function(e){
									var $year = $(this);
									var $yearListItem = $("<li class='year clearfix'>" + $year.attr("year") + "</li>");
									
									$yearListItem.bind("click", function(){
										$(this).toggleClass("year-selected");									 
									});
									
									if (e == 0) $yearListItem.addClass("year-selected");
									
									var $yearPrograms = $year.find("program");
									var $yearProgramsList = $("<ul class='aditional-year-programs-list clearfix'></ul>");
									
									$yearPrograms.each(function(){
										var $program = $(this);
									
										$("<li class='program clearfix'><a href='" + $program.find("link").text() + "' title='" + $program.attr("name") + "'>" + $program.attr("name") + "</a></li>").appendTo($yearProgramsList);					
									});
									
									$yearProgramsList.appendTo($yearListItem);
									
									$yearListItem.appendTo($yearList);
									
								});
								
								$tab.append($yearList);
							};
						},
						dataType: "xml"
					});
				};
			break;
			case "comments":
				$("#facebook-comments").show();
				
				window.fbAsyncInit = function() {
					FB.init({appId: '101122363276517', status: true, cookie: true, xfbml: true});
				};
				
				var e = document.createElement('script'); 
					e.async = true;
					e.src = document.location.protocol + '//connect.facebook.net/en_US/all.js';
				
				document.getElementById('fb-root').appendChild(e);
			
				$("#facebook-comments").appendTo($tab);
			break;
		};
	};
};

function playAdditionalAudio(audio) {
	var flashvars = {
		'type': 'sound',
		'file': audio,
		'title': '',
		'skin': 'designtemplates/' + pm.page.masterSmartTemplate + '/include/media/skins/bekle.zip',
		'autostart': true
	};
	
	var params = {
		'allowfullscreen':		'false',
		'allowscriptaccess':	'always',
		'bgcolor':				'#000000',
		'wmode': 				'opaque'
	};
	
	var attributes = {
		'id':					'audio-player',
		'name':					'audio-player'
	};
	
	swfobject.embedSWF('designtemplates/' + pm.page.masterSmartTemplate + '/include/media/player.swf', 'audio-player', '548', '35', '9', 'false', flashvars, params, attributes);
};

function handleAdditionalArtists (groupName, groupType, programArtists) {
	var artists = "";
	
	programArtists.find("artist[roleid='" + groupType + "']").each(function(e){
		$artist = $(this);
		
		if (e == 0) artists += "<li><span class='additional-program-artist artist-" + groupName + "'><strong>" + $artist.attr("rolename") + ":</strong> ";
		artists += "<a href='lgs.axd?t=13&amp;id=" + $artist.attr("articleid") + "' title='" + $artist.attr("name") + "'>" + $artist.attr("name") + "</a>"
		if (e < programArtists.find("artist[roleid='" + groupType + "']").length - 1) {
			artists += ", ";
		}
		else {
			artists += "</span></li>";	
		}
	});
	
	return artists;
};

