/**
 * Create an instance of VCMActivityList
 * @classDescription	VCM Activity List
 * @param {VCMContent} content
 * @return {VCMActivityList} Return a new VCMActivityList object
 * @constructor
 */
function VCMActivityList(content) {
	this._content = content;
}

VCMActivityList.prototype = {
	_isThumbs: false,
	_content: null,
	//_featuredEventViewer: null,
	_paginator: null,
	_activities: null,
	_displayModes: null,
	_discipline: null,
	_showingList: null,
	coeurList: null,
	coeurJaime: null,
	
	init: function() {
		console.log('VCMActivityList.init()');
		this._isThumbs = $('#thumbnails').length == 1;
		if (this._isThumbs) {	//mode vignette
			this._featuredEventViewer = new FeaturedEventViewer(this._content);
			this._featuredEventViewer.init();
			
			//Load du CMS/Carrousel dynamique
			/*
			this._dynamicFeaturedEventViewer = $("#dynamicFeaturedEventViewer");
			
			if($("#day0").hasClass("selected")) {
				params = {command: 'displayContent',
						id: 74,
						drawMenu: false};
				this._dynamicFeaturedEventViewer.load(VCMUtils.prepareCommand(params));				
			} else {
				//Cacher le div du featured event
				this._dynamicFeaturedEventViewer.hide();
			}
			*/
			
			this._paginator = new VCMPaginator(this._content);
			this._paginator.init();
		} else {				//mode liste
			this._showingList = new VCMShowingList(this._content);
			this._showingList.init();
			this._activities = $('.detailActivity');
			this.coeurList = $('.coeurList');
			this.coeurJaime = $('.coeurJaime');
		}
		
		this._displayModes = $('#filterBar a');
		this._discipline = $('#cbDiscipline');
		this._discipline.val(this._content.disciplineId);
		
		this.addEvents();
	},
	
	destroy: function() {
		console.log('VCMActivityList.destroy()');
		this.removeEvents();
		
		this._displayModes = null;
		this._discipline = null;
				
		if (this._isThumbs) {
			//this._featuredEventViewer.destroy();
			//this._featuredEventViewer = null;
			this._paginator.destroy();
			this._paginator = null;
		} else {
			this._showingList.destroy();
			this._showingList = null;
			this._activities = null;
		}
	},

	/**
	 * Add events
	 */	
	addEvents: function() {
		console.log('VCMActivityList.addEvents()');
		var me = this;
		if (!this._isThumbs) {
			this._activities.click(function() {
				me._content.showActivity(VCMUtils.findNumber($(this).attr('id')));
				return false;
			});
		}
		
		this._displayModes.click(function() {
			me._displayModes.removeClass('selected');
			$(this).addClass('selected');
			var id = $(this).attr('id');
			me._content.displayMode = id.substr(0, id.length - 4);
			me._content.showActivities();
			return false;
		});
		
		this._discipline.change(function() {
			me._content.disciplineId = parseInt($(this).val());
			me._content.showActivities();
			return false;
		});
		
		if(this.coeurJaime != null){
			this.coeurJaime.click(function(){
				var currentId = $(this).attr('id');
				var url = vcmBaseUrl + "doJSON?command=addLikeIt&activityId=" + VCMUtils.findNumber(currentId);
				$.ajaxSetup({cache: false});
				$.getJSON(url,function(data){
					if(data.success){
						alert("id = " + currentId);
						$("#activity"+VCMUtils.findNumber(currentId)+"coupDeCoeur"+">.nbCoupDeCoeur").html(data.msg);
						$("#"+currentId).removeClass("coeurJaime");
						$("#"+currentId).addClass("coeurJaimeDisable");
						//me.showThankYou();
					}
					else{
						me._content.getPage().getSideBar().getLogin().showLoginReminder();
					}
				});
				// Cancel default action
				return false;
			});
		}
		
		if(this.coeurList != null){
			this.coeurList.click(function(){
				var nbCC = VCMUtils.findNumber($(this).children("span.nbCoupDeCoeur").html());
				var activityId = VCMUtils.findNumber($(this).attr('id'));
				//alert("nbCC = " + nbCC);
				if(nbCC > 0){
					var command = VCMUtils.prepareCommand({activityId:activityId,command:'displayFans'});
					$("#popupContent").load(command,function(){
						me.show();
					});
				}
			});
		}
	},
	
	show: function() {		
		var me = this;

		console.log("Show Modal [Qui Aime]");

		$("#closePopupLnk,#popupCloseArea").click(function() {
			me._content.getPage().getModal().close();
			me.close();
		});

		$(".thumbnailImage").mouseover(function(){
			//alert("Img src: " + $(this).attr('src'));
			//alert($(this).next().text());
			//alert("pseudo src: " + $(this).nextAll("span").html());
			$("#clientImage").attr('src',$(this).attr('src'));
			$("#clientPseudo").html($(this).nextAll("span").html());
		});
		this._content.getPage().getModal().show();
	},

	showThankYou: function() {		
		var me = this;

		console.log("Show Modal [Qui Aime]");

		$("#closePopupLnk,#popupCloseArea").click(function() {
			me._content.getPage().getModal().close();
			me.close();
		});
		this._content.getPage().getModal().show("Merci!");
	},

	close: function() {
		$(".thumbnailImage").unbind('mouseover');
		$('#popupCloseArea').unbind('click');
		$("#closePopupLnk").unbind('click');
	},

	/**
	 * Remove the events
	 */
	removeEvents: function() {
		console.log('VCMActivityList.removeEvents()');
		if (!this._isThumbs) {
			this._activities.unbind('click');
		}
		this._displayModes.unbind('click');
		this._discipline.unbind('click');
		if(this.coeurJaime != null){
			this.coeurJaime.unbind('click');
		}
		if(this.coeurList != null){
			this.coeurList.unbind('click');
		}
	}
};


