﻿var testMode = false, //	This is important for ajax service usage
	gamesInAnnouncement = true, // This determines whether to display the program announcement (true) or in progress (false)
	currentDate = new Date(),
	endDate = new Date(),
	archiveMode = false;
	
/*
 * Check if festival is over.
 * This has an effect only if the games are in progress or completed.
 */ 
endDate.setFullYear(2012,7,25);
var gameOver = Date.UTC(currentDate.getFullYear(), currentDate.getMonth()+1, currentDate.getDate(),0,0,0) > Date.UTC(endDate.getFullYear(), endDate.getMonth()+1, endDate.getDate(),0,0,0);

function pageInitialization(){
	
	pm.page.masterSmartTemplate = "dljf";
	
	//	Handle navigation
	$("#navbar > li:last, #footer-navbar > li:last").addClass("last");
	
	//	Handle all internal page links to scrool smothly
	pm.page.smoothAnchors();
	
	//	Set target for selected link
	pm.iSite.link.handleLinkTarget({
		selector: "a.new-window, .new-window a",
		target: "_blank"							   
	});
	
	//	Handle sectiontree selection for current section	
	var topNav = $("#navbar > li > span:contains('" + pmTopSectionName + "')").parent();
	var footerNav = $("#footer-navbar > li > span:contains('" + pmTopSectionName + "')").parent();
	
	topNav.addClass("selected");
	topNav.find("a:contains('" + dljfSecondSectionName + "')").parent().addClass("selected");
	
	footerNav.addClass("selected");
	footerNav.find("a:contains('" + dljfSecondSectionName + "')").parent().addClass("selected");
	
	//	Handle search functionality and add numbers to results list
	pm.iSite.search.enablePlaceHolder();
	pm.iSite.search.showResultsNumbers();
	pm.iSite.search.pagerEfects();
	
	if ($("#search-results span.search-results-message").length > 0) {
		$("#search-results h1").text($("#search-results span.search-results-message").text());	
		$("#search-results span.search-results-message").remove();
	}
	
	//Handle breadcrumbs
	$("#breadcrumbs div.breadcrumbs a:eq(1)").each(function(){
		var $link = $(this);
		$link.replaceWith("<span>" + $link.text() + "</span>");
	});
	
	//	Handle article blank author
	$("span.article-author-name").text(function(i, text){
		return (text.length > 0) ? text : "DLJI";												 
	});
	
	//	Handle side bar links 
	$("#side-bar a.link-general-text:last").last().addClass("link-last");
	
	//	Set Google Analytics tracker
	pm.page.googleAnalytics("UA-432126-2");
};

function homePageInitialization() {
	//	Set default properties for jscrollpane
	$.fn.jScrollPane.defaults.scrollbarWidth = 5;
	
	//	Handle quick news
	$("#quick-news div.article:last").addClass("last");
	$("#quick-news div.article").live("click", function(){
		window.location.href = $(this).find("h2.article-title > a").attr("href");											  
	});
	
	if ($("#quick-news-list-container").height() > 280) $("#quick-news-list-container > div.article").width("243px");
	
	//	Handle short news
	$("#short-news-content").pmSlider({
		efect: "fade",
		pager: {
			enable: true	
		},
		speed: 1000,
		delay: 10000,
		auto: true
	});
	
	$("#short-news div.article").live("click", function(){
		window.location.href = $(this).find("h2:first > a").attr("href");											  
	});
	
	//	Handle video multimedia
	$("#video-list-container div.article:last").addClass("last");
	
	$("#multimedia-video-list div.article").each(function(e){
		var $video = $(this);
		
		$video.data({
			video:	$video.find("a:first").attr("href"),
			image:	getVideoPlayerImage($video.find("div.article-image img:first").attr("src")),
			title:	$video.find("h2.article-title").text(),
			type:	'video'
		});
		
		//	Set default movie
		if (e == 0) {
			$video.siblings().removeClass("selected").end().addClass("selected");
			
			var videoImage = getVideoPlayerImage($video.data().image);
			
			playVideo($video.data().type, $video.data().title, $video.data().video, videoImage, false);
		};
		
		$video.click(function(event){
			event.preventDefault();
			
			$video.siblings().removeClass("selected").end().addClass("selected");
			
			playVideo($video.data().type, $video.data().title, $video.data().video, $video.data().image, true);
		});
	});
	
	if ($("#video-list-container").height() > $("#multimedia-video-list").height()) $("#multimedia-video-list div.article").width("385px");
	
	//Handle program
	var serviceUrl;
	
	if (!gameOver) {
		//	If festival is still ongoing then use events short announcements service
		if (!testMode) {
			serviceUrl = "program/program.asmx/GetEventsAnnouncements?year=" + dljfFestivalYear + "&ProgramType=0&LanguageID=" + dljfProgramDefaultLanguageId + "&sec=0";
		}
		else {
			serviceUrl = 'designtemplates/' + pm.page.masterSmartTemplate + '/include/_xml/GetEventsAnnouncements.xml'	
		}
	} 
	else {
		//	If festival is over then use all events list
		if (!testMode) {
			serviceUrl = "program/program.asmx/GetEvents?year=" + dljfFestivalYear + "&ProgramType=0&LanguageID=" + dljfProgramDefaultLanguageId + "&sec=0";
		}
		else {
			serviceUrl = 'designtemplates/' + pm.page.masterSmartTemplate + '/include/_xml/GetEvents.xml'	
		}
	};
	
	$.ajax({
		url: serviceUrl,
		success: function(data){
			//	Build program list and teaser
			if (!gameOver) {
				handleHomepageProgramList(data);
				handleHomepageProgramTeaser(data);
			}
			else {
				var $programs = $(data).find("program");
				var programsId = [];
				var programs = [];
				
				$programs.each(function(){
					var $program = $(this);
					
					if (!(programsId.join().indexOf($program.attr("id"))>=0)) {
						programsId.push($program.attr("id"));
						programs.push($program);
					}									 
				});
				
				if (!gamesInAnnouncement) {
					handleHomepageAfterFestivalProgramList(programs);
					handleHomepageAfterFestivalProgramTeaser(programs);
				} 
				else {
					handleHomepageFestivalAnnouncementProgramList(programs);
					handleHomepageFestivalAnnouncementProgramTeaser(programs);
				}
			};
			
			//	Enable program list ticker
			$("#program-list").pmSimpleTicker({
				slowdown: 1,
				orientation: 'vertical',
				delay: 4000,
				pause: false									  
			});
		},
		dataType: "xml"
	});
	
	//	Handle multimedia and news scroll
	$("#multimedia-video-list, #quick-news").jScrollPane();
	
	$("#multimedia-video-list-wrapper, #content-news-wrapper > div.jScrollPaneContainer").hover(
		function(){
			$(this).find("div.jScrollPaneTrack").addClass("hover");
		}, 
		function(){
			$(this).find("div.jScrollPaneTrack").removeClass("hover");	
		}
	);
};

function innerPageInitialization() {
	//	Handle article print and sendmail buttons
	pm.iSite.article.handlePrintButton();
	pm.iSite.article.handleSendMailButton();
	
	//	Handle article social network buttons
	pm.iSite.article.shareOnFacebook();
	pm.iSite.article.shareOnTwitter();
	
	//	Handle article additional functionality buttons
	$(".article-additional-functions:first").children().appendTo("#program-navigation");
	
	//	Handle article images
	pm.iSite.article.handleArticleFirstImage();
	
	$("div.article-image img").each(function(){
		var $image = $(this);
		var imageSrc = $image.attr("src");
		imageSrc = imageSrc.substring(0, imageSrc.lastIndexOf("tms=")) + "tms=800";
		
		$image.wrap("<a href='" + imageSrc + "' target='_blank'></a>");
	}); 
	
	$("div.article-image a").fancybox({
		titleShow		: true,
		overlayOpacity	: 0.5,
		overlayColor	: '#000',
		transitionIn	: 'elastic',
		transitionOut	: 'elastic',
		titlePosition	: 'over'
	});
	
	//	Handle content short articles
	$("#content > div.article-short")
	.attr("title", function(){
		return $(this).find("h1 > a").text();							
	})
	.live("click", function(){
		window.location = $(this).find("h1 > a").attr("href");														  
	});
	
	
	$("div.article-short img").unwrap().wrap("<div class='article-short-image'></div>")
	
	//	Handle side bar articles
	$("#side-bar > div.article-short").last().addClass("article-short-last");
	
	$("#side-bar > div.article-short")
	.attr("title", function(){
		return $(this).find("h1 > a").text();							
	})
	.live("click", function(){
		window.location = $(this).find("h1 > a").attr("href");														  
	});
	
	//	Handle side bar gallery
	setSideBarGallery();
	
	// Handle full article additional content
	handleArticleAdditionalContent();
};

function multimediaPageInitialization () {
	//	Set default properties for jscrollpane
	$.fn.jScrollPane.defaults.scrollbarWidth = 5;
	
	$("#multimedia-video-list div.article:last, #multimedia-photo-list div.photo-gallery:last, #multimedia-audio-list div.article:last").addClass("last");
	
	//	Handle video multimedia
	$("#multimedia-video-list div.article").each(function(e){
		var $video = $(this);
			
		$video.data({
			video:	$video.find("a:first").attr("href"),
			image:	getVideoPlayerImage($video.find("div.article-image img:first").attr("src")),
			title:	$video.find("h2.article-title").text(),
			type:	'video'
		});
		
		//	Set default movie
		if (e == 0) {
			$video.siblings().removeClass("selected").end().addClass("selected");
			
			playVideo($video.data().type, $video.data().title, $video.data().video, $video.data().image, false)
		};
		
		$video.click(function(event){
			event.preventDefault();
			
			$video.siblings().removeClass("selected").end().addClass("selected");
			
			playVideo($video.data().type, $video.data().title, $video.data().video, $video.data().image, true);
		});
	});
	
	if ($("#video-list-container").height() > $("#multimedia-video-list").height()) $("#multimedia-video-list div.article").width("385px");
	
	//	Handle photo multimedia
	$("#multimedia-photo-list div.photo-gallery").each(function(e){
		var $gallery = $(this);
		var $galleryPlayer = $("#photo-gallery-images");
		
		//	remove gallery wrapper span element
		$gallery.unwrap();
		
		$gallery.data({
			gallery:	pm.utils.regexp(/g=(\d{1,4})/, $gallery.find("div.photo-gallery-image a:first").attr("href")),
			title:		$gallery.find("h2.photo-gallery-title").text(),
			type:		'photo'
		});
		
		//	Set default image
		if (e == 0) {
			$galleryPlayer.empty().parent().addClass("loader");
			
			$gallery.siblings().removeClass("selected").end().addClass("selected");
			
			playPhoto($gallery.data().gallery);
		}
		
		$gallery.click(function(event){
			event.preventDefault();
			
			$gallery.siblings().removeClass("selected").end().addClass("selected");
			
			$galleryPlayer.empty().parent().addClass("loader");
			
			playPhoto($gallery.data().gallery);					
		});
	});
	
	if ($("#photo-list-container").height() > $("#multimedia-photo-list").height()) $("#multimedia-photo-list div.photo-gallery").width("385px");
	
	//	Handle audio multimedia
	$.ajax({
		url: 'sfp.axd?sfptype=2&sec=' + dljfMultimediaDefaultSectionId,
		cache: true,
		dataType: "xml",
		success: function(data){
			$("#multimedia-audio-list div.article").each(function(e){
				var $audio = $(this);
				
				$audio.data({
					id:		$audio.attr("id").substring($audio.attr("id").indexOf("-") + 1, $audio.attr("id").length),
					audio:	$audio.find(".article-links a:first").attr("href"),
					title:	$audio.find("h2.article-title").text(),
					type:	'sound'
				});
				
				//	Set default audio
				if (e == 0) {
					$audio.siblings().removeClass("selected").end().addClass("selected");
					
					playAudio(data, $audio.data().type, $audio.data().id, $audio.data().title, $audio.data().audio, false);
				};
				
				$audio.click(function(event){
					event.preventDefault();
					
					$audio.siblings().removeClass("selected").end().addClass("selected");
					
					$("#audio-teaser").empty().addClass("loader");
					
					playAudio(data, $audio.data().type, $audio.data().id, $audio.data().title, $audio.data().audio, true);
				});
			});
		}
	});
	
	if ($("#audio-list-container").height() > $("#multimedia-audio-list").height()) $("#multimedia-audio-list div.article").width("385px");
	
	//	Handle multimedia and news scroll
	$("#multimedia-video-list, #multimedia-photo-list, #multimedia-audio-list").jScrollPane();
	
	$("#multimedia-video-list-wrapper, #multimedia-photo-list-wrapper, #multimedia-audio-list-wrapper").hover(
		function(){
			$(this).find("div.jScrollPaneTrack").addClass("hover");
		}, 
		function(){
			$(this).find("div.jScrollPaneTrack").removeClass("hover");	
		}
	);
};

function handleHomepageProgramList(program) {	
	var $todayProgram = $(program).find("skupina1 event");
	//	that is because on festival last day service won't return skupina2 node 
	//var $todayProgram = $(program).find("skupina2 event");
	var dateEn = ($todayProgram.first().attr("time").indexOf("/") >= 1);
	var firstEventDate = $todayProgram.first().attr("time").substring(0, $todayProgram.first().attr("time").indexOf(" "));
	var firstEvenShortDate = (dateEn) ? firstEventDate.substring(0, firstEventDate.lastIndexOf("/")) : firstEventDate.substring(0, firstEventDate.lastIndexOf("."));
	var tomorrowDate = (dateEn) ? pm.utils.date().month + "/" + (pm.utils.date().monthDay + 1) + "/" + pm.utils.date().year : (pm.utils.date().monthDay + 1) + "." + pm.utils.date().month + "." + pm.utils.date().year;
	var nextTitle = (tomorrowDate == firstEventDate) ? dljfProgramLinkLabel[0] : dljfProgramLinkLabel[1];
	var nextEventDate = (dateEn) ? firstEventDate.split("/") : firstEventDate.split(".");
	var nextEventCalendarDate = (dateEn) ? nextEventDate[2] + "" + nextEventDate[0] + "" + nextEventDate[1] : nextEventDate[2] + "" + nextEventDate[1] + "" + nextEventDate[0];
	
	var nextProgramDate = $todayProgram.first().attr("time").substring(0, $todayProgram.first().attr("time").indexOf(" "));
	var nextProgramShortDate = (dateEn) ? nextProgramDate.substring(0, nextProgramDate.lastIndexOf("/")) : nextProgramDate.substring(0, nextProgramDate.lastIndexOf(".")); 
	var todayDate = (dateEn) ? pm.utils.date().month + "/" + pm.utils.date().monthDay + "/" + pm.utils.date().year : pm.utils.date().monthDay + "." + pm.utils.date().month + "." + pm.utils.date().year;
	var todayTitle = (todayDate == nextProgramDate) ? dljfRegionCaptionProgram[0] : dljfRegionCaptionProgram[1];
	
	$("#program-tomorrow").text(function(i, text){
		return nextTitle + " " + firstEvenShortDate;								   
	})
	.attr("href", "default.aspx?sec=" + dljfProgramDefaultSectionId + "&date=" + nextEventCalendarDate);
	
	var $programList = $("<ul/>", {
		"id": "program-list"				 
	});
	
	$todayProgram.each(function(i){
		if (i < 5) {
			var $event = $(this);
	
			var eventData = {
				title: $event.find("program > heading").text(),
				date: $event.attr("time").substring(0, $todayProgram.first().attr("time").indexOf(" ")),
				time: $event.attr("shorttime"),
				program: {
					article: $event.children("program").attr("articleid")
				},
				location: {
					title: $event.find("venue > heading").text(),
					article: $event.children("venue").attr("articleid")
				}
			};
			
			var $listItem = $("<li><a href='default.aspx?art=" + eventData.program.article + "' title='" + eventData.title + "' class='program-list-event-link'><span class='program-list-event-time'>" + eventData.date + " :: " + eventData.time + " :: " + eventData.location.title + "</span>" + eventData.title + "</a></li>");
			
			$listItem.appendTo($programList);
		};
	});
	
	$programList.appendTo($("#program-list-wrapper"));
};

function handleHomepageProgramTeaser(program) {
	var $todayProgram = $(program).find("skupina1 event");
	var dateEn = ($todayProgram.first().attr("time").indexOf("/") >= 1);
	var nextProgramDate = $todayProgram.first().attr("time").substring(0, $todayProgram.first().attr("time").indexOf(" "));
	var nextProgramShortDate = (dateEn) ? nextProgramDate.substring(0, nextProgramDate.lastIndexOf("/")) : nextProgramDate.substring(0, nextProgramDate.lastIndexOf(".")); 
	var todayDate = (dateEn) ? pm.utils.date().month + "/" + pm.utils.date().monthDay + "/" + pm.utils.date().year : pm.utils.date().monthDay + "." + pm.utils.date().month + "." + pm.utils.date().year;
	var todayTitle = (todayDate == nextProgramDate) ? dljfRegionCaptionProgram[0] : dljfRegionCaptionProgram[1];

	var $programNavigation = $("#program-navigation");
	
	var programTypes = [];
	var programTypesName = [];
	
	//	Handle program header
	$("h1.program-title").text(function(i, text){
		return todayTitle + " " + nextProgramShortDate;								   
	});
	
	$todayProgram.find("type").each(function(){
		var $programType = $(this);
		
		if (!(programTypes.join().indexOf($programType.attr("id"))>=0)) {
			programTypes.push($programType.attr("id"));
			programTypesName.push($programType.attr("name"));	
		}									 
	});
	
	for (var i=0; i<programTypes.length; i++) {
		var $event = $todayProgram.find("type[id='" + programTypes[i] + "']").first().parents("event");
		
		if ($event.length > 0) {
			var eventData = {
				title: $event.find("program > headingshort").text(),
				calendar: $event.find("calendarURL").text(),
				shopurl: $event.find("buyURL").text(),
				reserveurl: $event.find("reserveURL").text(),
				//time: $event.attr("time").substring($event.attr("time").indexOf(" ") + 1, $event.attr("time").length - 3),
				time: $event.attr("shorttime"),
				date: $event.attr("time").substring(0, $event.attr("time").indexOf(" ")),
				typeid: $event.attr("typeid"),
				type: $event.attr("type"),
				image: $event.find("program > image").text(),
				program: {
					typeid: programTypes[i],
					type: programTypesName[i],
					lead: $event.find("program > leadshort").text(),
					article: $event.children("program").attr("articleid")
				},
				location: {
					title: $event.find("venue > headingshort").text(),
					lead: $event.find("venue > leadshort").text(),
					article: $event.children("venue").attr("articleid")
				},
				artists: {
					author: getArtists ("author", "1", $event),
					conductor: getArtists ("conductor", "2", $event),
					crew: getArtists ("crew", "3", $event),
					director: getArtists ("director", "4", $event),
					performer: getArtists ("performer", "5", $event),
					ensemble: getArtists ("ensemble", "7", $event)
				}
			};
			
			//	Handle navigation
			var $listItem = $("<li>");
			var $listItemLink = $("<a href='#' title='" + eventData.program.type + "'>" + eventData.program.type + "</a>");
			
			$listItemLink.bind("click", function(event){
				event.preventDefault();
				
				showEventTeaser($(this).parent().index());
			});
			
			$listItemLink.appendTo($listItem);
			$listItem.appendTo($programNavigation);
			
			//	Handle teaser articles
			var eventArticle = "";
			var eventActionBuyTicket = "";
			var eventActionCalendar = "";
			
			if (eventData.shopurl.length > 0) {
				eventActionBuyTicket = " <a href='" + eventData.shopurl + "' class='program-action-shop' target='_blank' title='" + dljfEventShopLabel + "'>" + dljfEventShopLabel + "</a>";
			};
			
			if (eventData.calendar.length > 0) {
				eventActionCalendar = " <a href='" + eventData.calendar + "' class='program-action-calendar' title='" + dljfEventCalendarLabel + "'>" + dljfEventCalendarLabel + "</a>";
			};
			
			eventArticle += "<div id='event-" + eventData.program.article + "' class='article clearfix'>";
			eventArticle += "	<div class='article-image'>";
			if (eventData.image.length > 0) {
				eventArticle += "		<a href='default.aspx?art=" + eventData.program.article + "' title='" + dljfEventProgramLabel + "'><img width='220' border='0' alt='" + eventData.title + "' src='" + eventData.image + "&t=1&tms=220'></a>";
			}
			eventArticle += "	</div>";
			eventArticle += "	<div class='article-teaser'>";		
			eventArticle += "		<h2 class='article-title'><a href='default.aspx?art=" + eventData.program.article + "' title='" + dljfEventProgramLabel + "'>" + eventData.title + "</a></h2>";
			eventArticle += "		<div class='event-time'>" + eventData.date + " :: " + eventData.time + " :: " + eventData.location.title + "</div>";
			eventArticle += "	</div>";
			//eventArticle += "	<div class='program-artists'>" + eventData.artists.author + eventData.artists.conductor + eventData.artists.director + eventData.artists.crew + eventData.artists.performer + eventData.artists.ensemble + "</div>";
			eventArticle += "	<div class='program-actions'><a href='default.aspx?art=" + eventData.program.article + "' class='program-action-program' title='" + dljfEventProgramLabel + "'>" + dljfEventProgramLabel + "</a> <a href='default.aspx?art=" + eventData.location.article + "' class='program-action-location' title='" + eventData.location.title + "'>" + dljfEventLocationLabel + "</a>" + eventActionBuyTicket + eventActionCalendar + "</div>";
			eventArticle += "</div>";
			
			$("#program-teaser").append($(eventArticle));
		};
		
	};
	
	//	Show initialy program teaser
	showEventTeaser(0);
	
	function showEventTeaser (eventIndex) {
		$("#program-navigation > li").eq(eventIndex).siblings().removeClass("selected").end().addClass("selected");
				
		$("#program-teaser .article").eq(eventIndex).siblings().hide().end().fadeIn();	
	}
};

function handleHomepageAfterFestivalProgramList(program) {	
	var $programs = $(program);
	
	$("#program-tomorrow").text(function(i, text){
		return dljfProgramLinkLabel[2];								   
	})
	.attr("href", "default.aspx?sec=" + dljfProgramDefaultSectionId);
	
	var $programList = $("<ul/>", {
		"id": "program-list"				 
	});
	
	$programs.each(function(i){
		var $program = $(this);
		
		var $eventProgramTypes = $program.find("type");
		var eventProgramTypes = [];
		var strEventProgramTypes = "";
		
		$eventProgramTypes.each(function(e){
			var $eventProgramType = $(this);
			
			if (!(eventProgramTypes.join().indexOf($eventProgramType.attr("id"))>=0)) {
				eventProgramTypes.push($eventProgramType.attr("id"));
				
				strEventProgramTypes += $eventProgramType.attr("name");
					
				if (e < $eventProgramTypes.length - 1) {
					strEventProgramTypes += ", ";
				}
			}									 
		});

		var programData = {
			title: $program.find("heading").text(),
			article: $program.attr("articleid"),
			location: {
				title: $program.parent().find("venue > heading").text(),
				article: $program.siblings("venue").attr("articleid")
			}
		};
		
		var $listItem = $("<li><a href='default.aspx?art=" + programData.article + "' title='" + programData.title + "' class='program-list-event-link'><span class='program-list-event-time'>" + strEventProgramTypes + " :: " + programData.location.title + "</span>" + programData.title + "</a></li>");
		
		$listItem.appendTo($programList);
	});
	
	$programList.appendTo($("#program-list-wrapper"));
};

function handleHomepageAfterFestivalProgramTeaser(program) {
	var $programs = $(program);
	var $program = $($programs[Math.floor(Math.random()*$programs.length)]);
	
	//	Handle program header
	$("h1.program-title").text(function(i, text){
		if (!gamesInAnnouncement) {
			return dljfRegionCaptionProgram[2];
		} 
		else {
			return dljfRegionCaptionProgram[3];
		}							   
	});
	
	var $eventProgramTypes = $program.find("type");
	var eventProgramTypes = [];
	var strEventProgramTypes = "";
	
	$eventProgramTypes.each(function(e){
		var $eventProgramType = $(this);
		
		if (!(eventProgramTypes.join().indexOf($eventProgramType.attr("id"))>=0)) {
			eventProgramTypes.push($eventProgramType.attr("id"));
			
			strEventProgramTypes += $eventProgramType.attr("name");
				
			if (e < $eventProgramTypes.length - 1) {
				strEventProgramTypes += ", ";
			}
		}									 
	});
		
	if ($program) {
		var programData = {
			title: $program.find("headingshort").text(),
			image: $program.find("image").text(),
			types: strEventProgramTypes,
			lead: $program.find("leadshort").text(),
			article: $program.attr("articleid"),
			location: {
				title: $program.parent().find("venue > headingshort").text(),
				lead: $program.parent().find("venue > leadshort").text(),
				article: $program.parent().find("venue").attr("articleid")
			}
		};
		
		//	Handle teaser articles
		var eventArticle = "";
	
		eventArticle += "<div id='event-" + programData.article + "' class='article clearfix' style='display: block'>";
		eventArticle += "	<div class='article-image'>";
		if (programData.image.length > 0) {
			eventArticle += "		<a href='default.aspx?art=" + programData.article + "' title='" + dljfEventProgramLabel + "'><img width='220' border='0' alt='" + programData.title + "' src='" + programData.image + "&t=1&tms=220'></a>";
		}
		eventArticle += "	</div>";
		eventArticle += "	<div class='article-teaser'>";		
		eventArticle += "		<h2 class='article-title'><a href='default.aspx?art=" + programData.article + "' title='" + dljfEventProgramLabel + "'>" + programData.title + "</a></h2>";
		eventArticle += "		<div class='event-time'> " + strEventProgramTypes + " :: " + programData.location.title + "</div>";
		eventArticle += "	</div>";
		eventArticle += "	<div class='program-actions'><a href='default.aspx?art=" + programData.article + "' class='program-action-program' title='" + dljfEventProgramLabel + "'>" + dljfEventProgramLabel + "</a> <a href='default.aspx?art=" + programData.location.article + "' class='program-action-location' title='" + programData.location.title + "'>" + dljfEventLocationLabel + "</a></div>";
		eventArticle += "</div>";
		
		$("#program-teaser").append($(eventArticle));
	};
};

/*	
 *	This function we use for program announcement when we don't know program date time and location.
 *	Otherwise we use handleHomepageAfterFestivalProgramTeaser() or handleHomepageProgramTeaser() function
 */
function handleHomepageFestivalAnnouncementProgramTeaser(program) {
	var $programs = $(program);
	var $program = $($programs[Math.floor(Math.random()*$programs.length)]);
	
	//	Handle program header
	$("h1.program-title").text(function(i, text){
		return dljfRegionCaptionProgram[3];							   
	});
	
	var $eventProgramTypes = $program.find("type");
	var eventProgramTypes = [];
	var strEventProgramTypes = "";
	
	$eventProgramTypes.each(function(e){
		var $eventProgramType = $(this);
		
		if (!(eventProgramTypes.join().indexOf($eventProgramType.attr("id"))>=0)) {
			eventProgramTypes.push($eventProgramType.attr("id"));
			
			strEventProgramTypes += $eventProgramType.attr("name");
				
			if (e < $eventProgramTypes.length - 1) {
				strEventProgramTypes += ", ";
			}
		}									 
	});
		
	if ($program) {
		var programData = {
			title: $program.find("headingshort").text(),
			image: $program.find("image").text(),
			types: strEventProgramTypes,
			lead: $program.find("leadshort").text(),
			article: $program.attr("articleid")
		};
		
		//	Handle teaser articles
		var eventArticle = "";
	
		eventArticle += "<div id='event-" + programData.article + "' class='article clearfix' style='display: block'>";
		eventArticle += "	<div class='article-image'>";
		if (programData.image.length > 0) {
			eventArticle += "		<a href='default.aspx?art=" + programData.article + "' title='" + dljfEventProgramLabel + "'><img width='220' border='0' alt='" + programData.title + "' src='" + programData.image + "&t=1&tms=220'></a>";
		}
		eventArticle += "	</div>";
		eventArticle += "	<div class='article-teaser'>";		
		eventArticle += "		<h2 class='article-title'><a href='default.aspx?art=" + programData.article + "' title='" + dljfEventProgramLabel + "'>" + programData.title + "</a></h2>";
		eventArticle += "		<div class='event-time'> " + strEventProgramTypes + "</div>";
		eventArticle += "	</div>";
		eventArticle += "</div>";
		
		$("#program-teaser").append($(eventArticle));
	};
};

/*	
 *	This function we use for program announcement when we don't know program date time and location.
 *	Otherwise we use handleHomepageAfterFestivalProgramList() or handleHomepageProgramList() function
 */
function handleHomepageFestivalAnnouncementProgramList(program) {	
	var $programs = $(program);
	
	$("#program-tomorrow").text(function(i, text){
		return dljfProgramLinkLabel[2];								   
	})
	.attr("href", "default.aspx?sec=" + dljfProgramDefaultSectionId);
	
	var $programList = $("<ul/>", {
		"id": "program-list"				 
	});
	
	$programs.each(function(i){
		var $program = $(this);
		
		var $eventProgramTypes = $program.find("type");
		var eventProgramTypes = [];
		var strEventProgramTypes = "";
		
		$eventProgramTypes.each(function(e){
			var $eventProgramType = $(this);
			
			if (!(eventProgramTypes.join().indexOf($eventProgramType.attr("id"))>=0)) {
				eventProgramTypes.push($eventProgramType.attr("id"));
				
				strEventProgramTypes += $eventProgramType.attr("name");
					
				if (e < $eventProgramTypes.length - 1) {
					strEventProgramTypes += ", ";
				}
			}									 
		});

		var programData = {
			title: $program.find("heading").text(),
			article: $program.attr("articleid"),
			location: {
				title: $program.parent().find("venue > heading").text(),
				article: $program.siblings("venue").attr("articleid")
			}
		};
		
		var $listItem = $("<li><a href='default.aspx?art=" + programData.article + "' title='" + programData.title + "' class='program-list-event-link'><span class='program-list-event-time'>" + strEventProgramTypes + "</span>" + programData.title + "</a></li>");
		
		$listItem.appendTo($programList);
	});
	
	$programList.appendTo($("#program-list-wrapper"));
};

function programPageInitialization () {
	var serviceUrl;
		
	if (!testMode) {
		serviceUrl = "program/program.asmx/GetEvents?year=" + dljfFestivalYear + "&ProgramType=0&LanguageID=" + dljfProgramDefaultLanguageId + "&sec=0";;
	}
	else {
		serviceUrl = "designtemplates/" + pm.page.masterSmartTemplate + "/include/_xml/GetEvents.xml";
	} 
	
	$.ajax({
		url: serviceUrl,
		success: function(data){
			//	Load program list
			handleProgramList(data);
			//	Handle calendar
			handleProgramCalendar(data);
			//	Remove loader
			$("div.program-content-list").removeClass("program-loader");
			
			//	Handle side bar gallery
			setSideBarGallery();
		},
		dataType: "xml"
	});
	
};

function handleProgramList(program) {	
	var dateEn = ($(program).find("events > event").first().attr("time").indexOf("/") >= 1);
	var selectedDate = pm.utils.regexp(/date=(\d{1,8})/, window.location);
	var selectedYear = selectedDate.substring(0, 4);
	var selectedMonth = selectedDate.substring(4, 5);
	var selectedDay = selectedDate.substring(5, selectedDate.length);
	
	var date = (dateEn) ? selectedMonth + "/" + selectedDay + "/" + selectedYear : selectedDay + "." + selectedMonth + "." + selectedYear;
	
	var $events = (selectedDate.length > 0)? $(program).find("events > event[time^='" + date + "']") : $(program).find("events > event");
	
	//	Handle program navigation
	if($events.length > 0) {
		var $programNavigation = $("#program-navigation");
		var programTypes = [];
		var programTypesName = [];
		
		programTypes.push("0");
		programTypesName.push(dljfEventProgramNavigationAllLabel);
		
		$events.find("type").each(function(){
			var $programType = $(this);
			
			var test = "|" + programTypes.join("|") + "|";
			
			if (!(test.indexOf("|" + $programType.attr("id") + "|")>=0)) {
				programTypes.push($programType.attr("id"));
				programTypesName.push($programType.attr("name"));	
			};								 
		});
		
		for (var i = 0; i<programTypes.length; i++) {
			var $listItem = $("<li>");
			var $listItemLink = $("<a href='#' title='" + programTypesName[i] + "'>" + programTypesName[i] + "</a>");
			
			$listItemLink.bind("click", function(event){
				event.preventDefault();
				
				handleProgramlistEvents($(this).parent().index());
			});
			
			$listItemLink.appendTo($listItem);
			$listItem.appendTo($programNavigation);
		};
	}
	else {
		$("#no-events-message").show();
	};
	

	//	Handle each event
	$events.each(function(){
		var $event = $(this);
		
		var eventArticle = "";
		var author = "", conductor = "", crew = "", director = "", performer = "", ensemble = "";
		var addSeparator = false;
		
		var eventProgramTypes = [];
		var eventProgramTypesName = [];
		
		$event.find("type").each(function(){
			var $eventProgramType = $(this);
			
			if (!(eventProgramTypes.join().indexOf($eventProgramType.attr("id"))>=0)) {
				eventProgramTypes.push($eventProgramType.attr("id"));
				eventProgramTypesName.push($eventProgramType.attr("name"));	
			}									 
		});

		var eventData = {
			title: $event.find("program > heading").text(),
			calendar: $event.find("calendarURL").text(),
			shopurl: $event.find("buyURL").text(),
			reserveurl: $event.find("reserveURL").text(),
			//time: $event.attr("time").substring($event.attr("time").indexOf(" ") + 1, $event.attr("time").length - 3),
			time: $event.attr("shorttime"),
			date: $event.attr("time").substring(0, $event.attr("time").indexOf(" ")),
			typeid: $event.attr("typeid"),
			type: $event.attr("type"),
			image: $event.find("program > image").text(),
			program: {
				typeid: eventProgramTypes,
				type: eventProgramTypesName,
				lead: $event.find("program > lead").text(),
				article: $event.children("program").attr("articleid")
			},
			location: {
				title: $event.find("venue > heading").text(),
				lead: $event.find("venue > lead").text(),
				article: $event.children("venue").attr("articleid")
			},
			artists: {
				author: getArtists ("author", "1", $event, " :: "),
				conductor: getArtists ("conductor", "2", $event, " :: "),
				crew: getArtists ("crew", "3", $event, " :: "),
				director: getArtists ("director", "4", $event, " :: "),
				performer: getArtists ("performer", "5", $event, " :: "),
				ensemble: getArtists ("ensemble", "7", $event, " :: ")
			}
		};
				
		var strArtists = eventData.artists.author + eventData.artists.conductor + eventData.artists.director + eventData.artists.crew + eventData.artists.performer + eventData.artists.ensemble;
		strArtists = strArtists.substring(0, strArtists.length-4);
		
		var strArticleClass = "";
		for (var j = 0; j < eventData.program.type.length; j++) {
			strArticleClass += eventData.program.type[j].replace(" ", "") + " ";
		}
		
		var eventActionBuyTicket = "",
			eventActionCalendar = "",
			eventActionLocation = "";
		
		archiveMode = currentDate.getFullYear() != dljfFestivalYear;
		
		if (!archiveMode && !gameOver && !gamesInAnnouncement) {
			if (eventData.shopurl.length > 0) {
				eventActionBuyTicket = " <a href='" + eventData.shopurl + "' class='program-action-shop' target='_blank' title='" + dljfEventShopLabel + "'>" + dljfEventShopLabel + "</a>";
			};
			
			if (eventData.calendar.length > 0) {
				eventActionCalendar = " <a href='" + eventData.calendar + "' class='program-action-calendar' title='" + dljfEventCalendarLabel + "'>" + dljfEventCalendarLabel + "</a>";
			};
		};
		
		if (!gamesInAnnouncement) {
			eventActionLocation = " <a href='default.aspx?art=" + eventData.location.article + "' class='program-action-location' title='" + eventData.location.title + "'>" + dljfEventLocationLabel + "</a>";
		};
		
		eventArticle += "<div class='article clearfix " + strArticleClass.toLowerCase() + "'>";
		eventArticle += "	<div class='article-image'>";
		if (eventData.image.length > 0) {
			eventArticle += "		<a href='default.aspx?art=" + eventData.program.article + "' title='" + dljfEventProgramLabel + "'><img width='120' border='0' alt='" + eventData.title + "' src='" + eventData.image + "&t=1&tms=120'></a>";
		}
		eventArticle += "	</div>";
		eventArticle += (!gamesInAnnouncement) ? "	<div class='article-teaser'>" + eventData.date + " :: " + eventData.time + " :: " : "	<div class='article-teaser'> ";
		for (var j = 0; j < eventData.program.type.length; j++) {
			eventArticle += "		<span>" + eventData.program.type[j] + "</span>";
			if (j != eventData.program.type.length-1) eventArticle += ", ";
		}
		eventArticle += (!gamesInAnnouncement) ?  "	:: " + eventData.location.title + "</div>" : "</div>";			
		eventArticle += "	<div class='program-artists'>" + strArtists + "</div>";
		eventArticle += "	<h2 class='article-title'><a href='default.aspx?art=" + eventData.program.article + "' title='" + dljfEventProgramLabel + "'>" + eventData.title + "</a></h2>";
		eventArticle += "	<div class='program-actions'><a href='default.aspx?art=" + eventData.program.article + "' class='program-action-program' title='" + dljfEventProgramLabel + "'>" + dljfEventProgramLabel + "</a>" + eventActionLocation + eventActionBuyTicket + eventActionCalendar + "</div>";
		eventArticle += "</div>";
		
		$("#content").append($(eventArticle));
	});
	
	//	Show all program events initially
	handleProgramlistEvents(0);
	
	function handleProgramlistEvents (eventIndex) {
		var selectedNavigationElement = $("#program-navigation > li").eq(eventIndex);
		
		selectedNavigationElement.siblings().removeClass("selected").end().addClass("selected");
				
		$("#content > div").show();
		
		if (eventIndex != 0) {
			$("#content > div:not(div." + selectedNavigationElement.text().toLowerCase().replace(" ", "") + ")").hide();		
		};
	};
};

function handleProgramCalendar(program) {
	var $calendar = $("#program-calendar");
	
	var dateEn = ($(program).find("events > event").first().attr("time").indexOf("/") >= 1);
	var selectedDate = pm.utils.regexp(/date=(\d{1,8})/, window.location);
	var selectedYear = selectedDate.substring(0, 4);
	var selectedMonth = selectedDate.substring(4, 5);
	var selectedDay = selectedDate.substring(5, selectedDate.length);
	var currentMonth = pm.utils.date().month;
	var currentMonthDay = pm.utils.date().monthDay;
	var selectedDateShort = (dateEn) ? selectedMonth + "/" + selectedDay : selectedDay + "." + selectedMonth ;
	
	if (selectedDate.length > 0) {
		$("#page-content-header h1").text(function(i, text){
			return text + " " + selectedDateShort;
		});	
	};
	
	$("#program-calendar td.event-day")
		.live("hover", 
			function(){
				$(this).toggleClass("hover");	
			},
			function(){
				$(this).toggleClass("hover");
			})
		.live("click", function(){
			var month = $(this).parents("table").first().attr("id");
			month = month.substring(23, month.length);
			
			window.location = "default.aspx?sec=" + pmCurrentSectionId + "&date=" + dljfFestivalYear + "" + month + "" + $(this).text();			
		});
		
	$("#program-calendar td.event-day").each(function(){
		$(this).addClass("day-" + $(this).text());												  
	});
		
	//	Mark current Day
	$("#program-calendar-month-" + currentMonth + " td.day-" + currentMonthDay).addClass("current");
	
	//	Mark selected day
	$("#program-calendar-month-" + selectedMonth + " td.day-" + selectedDay).addClass("selected");
};

function getVideoPlayerImage(image) {
	var strImgSrc = (image) ? image : "";
	
	strImgSrc = strImgSrc.substring(strImgSrc.lastIndexOf("/") + 1, strImgSrc.length);
	strImgSrc = strImgSrc.replace(/lgs/gi, "fgs");
	strImgSrc = strImgSrc.replace(/&amp;/gi, "&");
	strImgSrc = strImgSrc.replace(/&/gi, "&amp;");
	strImgSrc = (strImgSrc.indexOf("&sp=") == -1) ? strImgSrc : strImgSrc.substring(0, strImgSrc.indexOf("&sp="));
	strImgSrc = "http://www.dubrovnik-festival.hr/" + strImgSrc;
	
	return strImgSrc;
};

function getArtists (groupName, groupType, programEvent, separator) {
	var artists = "";
	
	programEvent.find("artist[roleid='" + groupType + "']").each(function(e){
		$artist = $(this);
		
		if (e == 0) artists += "<span class='program-artist artist-" + groupName + "'><strong>" + $artist.attr("rolename") + ":</strong> ";
		artists += "<em>" + $artist.attr("name") + "</em>"
		if (e < programEvent.find("artist[roleid='" + groupType + "']").length - 1) {
			artists += ", ";
		}
		else {
			artists += "</span>" + separator;	
		}
	});
	
	return artists;
};

function playPhoto (gallery) {	
	//	Get gallery infomration
	var galleryTitle = "";
	
	$.ajax({
		url: 'sfp.axd?sfptype=9&g=' + gallery,
		success: function(data){
			galleryTitle = $(data).find("NameWithClearedHTMLTags").text() + " ";
		},
		dataType: "xml"
	});	
	
	//	Get gallery images
	$.ajax({
		url: 'sfp.axd?sfptype=10&g=' + gallery,
		success: function(data){
			//	Load program list
			var $galleryImages = $(data).find("Picture");
			var $galleryPlayer = $("#photo-gallery-images");
			
			$galleryPlayer.parent().removeClass("loader");
			
			$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'><img src='" + $image.children("Url").text() + "&t=1&tms=90' border='0' alt=''></a></li>");	
				
				$galleryPlayer.append($img);
			});
			
			$("#photo-gallery-images 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">' + galleryTitle + (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>';
				}
			});
			
			
			$("#photo-gallery-images").jScrollPane({
				//scrollbarMargin: "10px"						   
			});
			
			$("#multimedia-photo-player div.jScrollPaneContainer").hover(
				function(){
					$(this).find("div.jScrollPaneTrack").addClass("hover");
				}, 
				function(){
					$(this).find("div.jScrollPaneTrack").removeClass("hover");	
				}
			);
		},
		dataType: "xml"
	});	
};

function playVideo (type, title, video, image, autostart) {
	var flashvars = {
		//'type': type, // there are difrent types for youtube and for aditional video
		'file': video,
		'image': pm.iSite.image.correctSrc(image),
		//'title': title,
		'skin': 'designtemplates/' + pm.page.masterSmartTemplate + '/include/media/skins/bekle.zip',
		'controlbar': 'over',
		'autostart': autostart
	};
	
	var params = {
		'allowfullscreen':		'true',
		'allowscriptaccess':	'always',
		'bgcolor':				'#000000',
		'wmode':				'opaque'
	};
	
	var attributes = {
		'id':					'video-player',
		'name':					'video-player'
	};
	
	swfobject.embedSWF('designtemplates/' + pm.page.masterSmartTemplate + '/include/media/player.swf', 'video-player', '548', '310', '9', 'false', flashvars, params, attributes);
};

function playAudio (data, type, id, title, file, autostart) {
	var $article = $(data).find("ArticleID:contains('" + id + "')").parent();
	
	var flashvars = {
		'type': type,
		'file': file,
		'skin': 'designtemplates/' + pm.page.masterSmartTemplate + '/include/media/skins/bekle.zip',
		'autostart': autostart
	};
	
	var params = {
		'allowfullscreen':		'false',
		'allowscriptaccess':	'always',
		'bgcolor':				'#000000',
		'wmode': 				'opaque'
	};
	
	var attributes = {
		'id':					'audio-player',
		'name':					'audio-player'
	};
	
	if ($article.length > 0) {
		$("#audio-teaser").removeClass("loader");
	
		var $leadElements = $($article.find("Lead").text());
		var $textElements = $($article.find("Text").text());
		
		var audioArticle = "";
		var image = "";
		
		for(var i=0; i < $leadElements.length; i++) {
			if (image.length == 0 && $leadElements[i].tagName == "IMG") image = $leadElements[i].src;
		}
		
		for(var i=0; i < $textElements.length; i++) {
			if (image.length == 0 && $textElements[i].tagName == "IMG") image = $textElements[i].src;
		}
		
		var articleData = {
			title: $article.children("NameWithClearedHTMLTagsNoCutLength").text(),
			image: pm.iSite.image.correctSrc(image) + "&sp=120",
			lead: $article.children("LeadWithClearedHTMLTagsNoCutLength").text()
		};
				
		audioArticle += "<div class='article clearfix'>";
		audioArticle += "	<div class='article-image'>";
		if (image.length > 0) {
			audioArticle += "		<img border='0' alt='" + articleData.title + "' title='" + articleData.title + "' src='" + articleData.image + "'>";
		}
		audioArticle += "	</div>";
		audioArticle += "	<h2 class='article-title'>" + articleData.title + "</h2>";
		audioArticle += "	<div class='article-lead'>" + articleData.lead + "</div>";
		audioArticle += "</div>";
		
		$(audioArticle).appendTo("#audio-teaser");
	
		swfobject.embedSWF('designtemplates/' + pm.page.masterSmartTemplate + '/include/media/player.swf', 'audio-player', '548', '35', '9', 'false', flashvars, params, attributes);
	};
};

function playAudioCast (type, audio, autostart) {
	var flashvars = {
		'type': type,
		'file': audio.audio,
		'skin': 'designtemplates/' + pm.page.masterSmartTemplate + '/include/media/skins/bekle.zip',
		'autostart': autostart
	};
	
	var params = {
		'allowfullscreen':		'false',
		'allowscriptaccess':	'always',
		'bgcolor':				'#000000',
		'wmode': 				'opaque'
	};
	
	var attributes = {
		'id':					'audio-player',
		'name':					'audio-player'
	};
	
	$("#audio-teaser").removeClass("loader");
	
	var audioArticle = "",
		image = "";
			
	audioArticle += "<div class='article clearfix'>";
	audioArticle += "	<div class='article-image'>";
	if (audio.audioImage.length > 0) {
		audioArticle += "		<img border='0' alt='" + audio.title + "' title='" + audio.title + "' src='" + pm.iSite.image.correctSrc(audio.audioImage) + "&sp=120'>";
	}
	audioArticle += "	</div>";
	audioArticle += "	<h2 class='article-title'>" + audio.title + "</h2>";
	audioArticle += "	<div class='article-lead'>" + audio.description + "</div>";
	audioArticle += "</div>";
	
	$(audioArticle).appendTo("#audio-teaser");
	
	swfobject.embedSWF('designtemplates/' + pm.page.masterSmartTemplate + '/include/media/player.swf', 'audio-player', '548', '35', '9', 'false', flashvars, params, attributes);
};

function setSideBarGallery() {
	if ($("#sidebar-image-gallery").length > 0) {
		var $sideBarGallery = $("#sidebar-image-gallery");
		
		var serviceUrl;
		
		if (!testMode) {
			serviceUrl = "program/program.asmx/GetPictures";
		}
		else {
			serviceUrl = "designtemplates/" + pm.page.masterSmartTemplate + "/include/_xml/GetPictures.xml";
		} 
		
		$.ajax({
			url: serviceUrl,
			success: function(data){
				var $randomGallery = $(data);
				var $randomImages = $randomGallery.find("picture");
				var $content = $("#content");
				
				//	Add sidebar title
				$sideBarGallery.append("<h1>" + dljfRandomGalleryTitle + "</h1>")
				
				var imagesNumber = ($content.height() / 130) + 1;
				
				$randomImages.each(function(i){
					if (i <= imagesNumber) {
						$image = $(this);
												
						var image = {
							src: $image.find("link").text(),
							title: $image.find("heading").text()
						};
						
						var $img = $("<a href='" + image.src + "&t=1&tms=800' rel='photo-gallery' title='" + image.title + "'><img width='170' border='0'  title='" + image.title + "' alt='" + image.title + "' src='" + image.src + "&t=1&tms=170'/></a>");			
						
						$sideBarGallery.append($img);
					}
				});	
				
				$("#sidebar-image-gallery 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">' + $randomGallery.find("galleryheading").text() + (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"
		});
	};
};
