// Global variables definitions
var alvarumGadget = $("#alvarumGadget");
var flashvars = {};
	flashvars.lang = alvarumGadget.data("language");
	flashvars.onlineRaisedAmount = alvarumGadget.data("onlineRaisedAmount");
	flashvars.offlineRaisedAmount = alvarumGadget.data("offlineRaisedAmount");
	flashvars.raisedAmount = alvarumGadget.data("raisedAmount");
	flashvars.targetAmount = alvarumGadget.data("fundraisingTarget");
	flashvars.nbDonations = alvarumGadget.data("nbDonations");
	flashvars.mainColor = alvarumGadget.data("mainColor");
var ID="alvarumGadget";
var swfUrl = alvarumGadget.data("gadgetUrl");

var addthis_config = {};
	addthis_config.pubid = $("#shareChoice").data("addthisPubid");
	addthis_config.ui_language = $("#shareChoice").data("addthisLanguage");
	addthis_config.services_compact = "email,facebook,linkedin,twitter,googlebuzz,viadeo,xing,myspace,hyves,more";
	addthis_config.ui_use_addressbook = true;
	addthis_config.data_track_clickback = true;
	addthis_config.ui_click = true;
var addthis_share = {};
	addthis_share.url = $("#shareChoice").data("addthisUrl");
	addthis_share.title = $("#shareChoice").data("addthisTitle");
var addthis_localize = {};
	addthis_localize.share_caption = $("#shareChoice").data("addthisExpandedMenuTitle");

// Inline Javascript
$(document).ready(domReady);

// Functions definitions
function domReady() {
	
	displayFundraiserAdvices();
	
	initialDisplayDonations();
	$("#showNextDonations").click(clickShowNextDonations);
	readMore();
	$("#mainImage img").centerImage(238);
	var pictureGallery = $("#pictureGallery");
	// Copy/paste hmtl content to gallery bottom
	pictureGallery.find(".append").html($("#leftBlock .module ul.actions").clone());
	$("#photoGalleryList").channelAjaxCall(function(data) {
		// Build gallery list
		var gallery = new Array();
		for (var index = 0; index<data.lines.length; index++) {
			gallery[index] = {};
				gallery[index].href = data.lines[index].imageUrl.httpUrl;
				gallery[index].title = data.lines[index].caption;
		}
		// Open gallery on click
		$("#photoGalleryPopup").click(function(){
			pictureGallery.data("gallery", gallery);
			pictureGallery.dialog("open");
			return false;
		});
		$("#photoGalleryNumber").text(data.nbTotalResults);
	});
	initFacebookLike();
	addthis.init();
}

function displayFundraiserAdvices() {
	if ($("#advicesBlock").length>0) {
		var advicesPopupOptions = {};
			advicesPopupOptions.width = 660;
			advicesPopupOptions.modal = true;
			advicesPopupOptions.draggable = false;
			advicesPopupOptions.resizable = false;
			advicesPopupOptions.stack = false;
			advicesPopupOptions.close = function() {
				document.location.hash = "";
			};
			advicesPopupOptions.autoOpen = (document.location.hash=="#afterFundraisingPageCreation" || document.location.hash=="#showAdvices");
		$("#advicesBlock").dialog(advicesPopupOptions);
		$("a[href=#showAdvices]").click(function() {
			$("#advicesBlock").dialog("open");
		});
	}
}

function donationCommentListTemplate(line) {
	var noNickname = $("#donationsCommentList").data("noNickname");
	var nickname = (line.nickname) ? line.nickname : noNickname;
	var result =
		"<tr>" +
		"	<th>" +
		"		<p>" + (line.comment ? line.comment : "") + "</p>" +
		"		<p class=\"name emphasized\"><em>" + nickname + "</em> – " + line.donationDate.formattedShortDate + "</p>" +
		"	</th>" +
		"	<td>" +
		"		<p class=\"amount emphasized\">" + line.donationAmount.formattedAmount + "</p>" +
		"	</td>" +
		"</tr>"
		;
	return result;
}

function initialDisplayDonations() {
	$("#donationsCommentList").channelAjaxCall(function(data) {
		$(this).displayListing(data, donationCommentListTemplate, REPLACE_MODE);
		$("#donationsNumber").text(data.nbTotalResults);
		if (data.currentPage >= data.nbPages) {
			$("#showNextDonations").hide();
		}
	});
}

function clickShowNextDonations() {
	$("#donationsCommentList").getNextResults(function(data) {
		$("#donationsCommentList").displayListing(data, donationCommentListTemplate, APPEND_AFTER_MODE);
		if (data.currentPage >= data.nbPages) {
			$("#showNextDonations").hide();
		}
	});
	return false;
}

function readMore() {
	$(".readMore").each(function() {
		var container = $(this);
		var link = $("a.readMoreLink", this);
		var maxHeight = container.height();
		container.css("max-height", "none");
		var fullHeight = container.height();
		container.css("max-height", maxHeight);
		// exit if all the text is already visible
		if (fullHeight <= maxHeight) {
			return;
		}
		link
			.removeClass("visuallyhidden")
			.wrap("<div class=\"readMoreFooter\"><div class=\"readMoreActions\"></div></div>")
		;
		var footer = $(".readMoreFooter", this);
		footer.prepend("<div class=\"readMoreGradient\"></div>");
		var animateOptions = {};
			animateOptions.height=fullHeight;
		link.click(function() {
			container
				.css("height",maxHeight)
				.css("max-height","none")
				.animate(animateOptions);
			footer.fadeOut();
			return false;
		});
	});
}

function initFacebookLike() {
	var facebookLikeData = $("#shareChoice");
	var facebookLocale = facebookLikeData.data("facebookLocale");
	var initParams = {};
		initParams.status = true;
		initParams.cookie = true; 
		initParams.xfbml = true;
		initParams.logging = true;
	var logParams = {};
		logParams.feature = "likeButton";
		logParams.userId = facebookLikeData.data("facebookLoggedUserId"); 
		logParams.isFundraiser = facebookLikeData.data("facebookOwnerLogged");
		logParams.fundraisingPageUrl = facebookLikeData.data("facebookFundraisingPageUrlPart");
	var callBackFunction = function() {
		FBProxy.Event.subscribe("edge.create", function(response) {
			FBProxy.Logger.log("like",true);
		});
	};
	FBProxy.loadAndInit(facebookLocale, initParams,logParams, callBackFunction);
}
