dojo.require("com.qi.CampaignInfo");

var mediaItemVideoData = "";
var mediaItemAudioData = "";
var mediaItemImageData = "";
var mediaItemStartAt = 0;
var mediaItemNrShown = 4;

function activate_campaign(campaign_id) {
	//alert("campaign_id"+ campaign_id);
	update_campaign_data(campaign_id);
	update_media_items(campaign_id);
}

/* media item functions */

function update_media_items(campaign_id) {
    dojo.xhrGet({
        url: "/campaign/get_campaign_media_items/" + campaign_id + "/",
        handleAs: "json",
        load: function(responseObject, ioArgs) {
        	populate_media_items(campaign_id, responseObject);
        }
    });
	
	/*var mediaBrowserArrowUp = dojo.byId("mediaBrowserArrowUp");
	mediaBrowserArrowUp.style.display = "none";*/
}

function populate_media_tab(tab_div, media_items, starting_at) {	
	nr_items_shown = mediaItemNrShown;
	html_data = "";
	
	for (var i = starting_at; i < starting_at + nr_items_shown; i++) {
		if (i >= media_items.length) {
			break;
		}
		itemData= media_items[i].fields;
		thumbnail = itemData.thumbnail;
		if (thumbnail == "") { thumbnail = "images/logo_small.gif"; }

		row_data = '<div class="resultRow" onclick="load_file_jwplayer(\'' + itemData.file + '\', \'' + itemData.preview + '\');"><div class="resultImage"><img src="/media/' + thumbnail + '" width="72" height="40" alt="" /></div><div class="resultText"><h4><span>' + itemData.title + '</span></h4><span class="year"></span></div><div class="clearer"></div></div>';

		html_data += row_data;
	}

	tab_div.innerHTML = html_data;
}

function populate_media_items(campaign_id, media_items) {
	/*
	media item types:
	1 = video
	2 = audio
	3 = image
	*/

	/* Determine the various types of media files */

	var tv_items = [];
	var audio_items = [];
	var paper_items = [];
	dojo.forEach(media_items, function(itemData) {
		if (itemData.fields.type == '1') {tv_items.push(itemData);}
		if (itemData.fields.type == '2') {audio_items.push(itemData);}
		if (itemData.fields.type == '3') {paper_items.push(itemData);}
	});

	mediaItemVideoData = tv_items;
	mediaItemAudioData = audio_items;
	mediaItemImageData = paper_items;
	display_media_items();

	/* Replace the numbers above the result lists */

	dojo.byId("tv_count").innerHTML = tv_items.length;
	dojo.byId("audio_count").innerHTML = audio_items.length;
	dojo.byId("paper_count").innerHTML = paper_items.length;

	/* Load the first tv-item on campaign-switch */
	var filename = "";
	var preview = "";
	var itemData;
	if (tv_items.length > 0) {
		itemData = tv_items[0].fields;
		filename = itemData.file;
		preview = itemData.preview;
	}
	load_file_jwplayer(filename, preview);
}


function display_media_items() {
	var tv_tab = dojo.byId("tab_tv");
	var audio_tab = dojo.byId("tab_audio");
	var paper_tab = dojo.byId("tab_paper");

	/* Replace the media browser HTML with the retrieved media items */

	populate_media_tab(tv_tab, mediaItemVideoData, mediaItemStartAt);
	populate_media_tab(audio_tab, mediaItemAudioData, mediaItemStartAt);
	populate_media_tab(paper_tab, mediaItemImageData, mediaItemStartAt);
}

/* campaign data functions */

function update_campaign_data(campaign_id) {
    dojo.xhrGet({
        url: "/campaign/get_campaign/" + campaign_id + "/",
        handleAs: "json",
        load: function(responseObject, ioArgs) {
        	populate_campaign_data(campaign_id, responseObject);
        }
    });
}

function populate_campaign_data(campaign_id, campaign_data) {
	fields = campaign_data[0].fields;
	display_campaign(fields.title, fields.year.substr(0, 4));

	//alert(" fields.description: " + fields.description.replace("<p>",""));
	dojo.byId("campaign_description").innerHTML = "" + fields.description;
	dojo.byId("campaign_realised_by").innerHTML = "" + fields.realised_by;
    // update height stuff....
    new com.qi.CampaignInfo();
}

function display_campaign(campaign_name, campaign_year) {
	var title = dojo.byId("campaign_title");	
	title.innerHTML = campaign_name + ' <span>(' + campaign_year + ')</span>';
}

/* client-side paging */

function reset_media_pages() {
	mediaItemStartAt = 0;
	display_media_items();
}

function next_media_page(media_item_data) {
	
	
	if (media_item_data.length <= (mediaItemStartAt + mediaItemNrShown)) {
		/* Don't update StartAt, at end of media item list */
	}
	else {
		mediaItemStartAt += mediaItemNrShown;
		display_media_items();
	}
}

function prev_media_page(media_item_data) {	
	
	if (mediaItemStartAt == 0) {
		return;
	}
	if (mediaItemStartAt <= mediaItemNrShown) {
		mediaItemStartAt = 0;
	}
	else {
		mediaItemStartAt -= mediaItemNrShown;
	}
	display_media_items();
}
