var dataCalendar = new Array();
var dataCalendarCurDate = new Array();
var curdateNoZero = '';
$(document).ready(function() {
	
	// Grisage des apercu des medias qui ne font pas partie de la categorie
	$(".post .content .media-thumbs li.grayed div").fadeTo(1, 0.4);
	$(".post .content .media-thumbs li.grayed div").mouseenter(function() {
		$(this).fadeTo(300, 1);		
	});
	$(".post .content .media-thumbs li.grayed div").mouseleave(function() {
		$(this).fadeTo(300, 0.4);		
	});
	
	// Tooltip videos
	$(".media-thumbs.big li div a[title]").tooltip({
        tip: '#demotip', 
		offset: [5, 150],
		onBeforeShow: function(test) { 			
			var str = $("#demotip").html();			
			//if(str.length >= 25) {
				var len = parseFloat(1.48) - parseFloat((str.length/100)*1.4);							
				$("#demotip").css('font-size', len + 'em');
			//}
		} 
 
	}); 
	$(".media-thumbs.small li div a[title]").tooltip({
        tip: '#demotip', 
		offset: [5, 100],
		onBeforeShow: function(test) { 
			var str = $("#demotip").html();			
			//if(str.length >= 25) {
				var len = parseFloat(1.48) - parseFloat((str.length/100)*1.4);							
				$("#demotip").css('font-size', len + 'em');
			//}
		}
	}); 
	

	/*****************************************
	 *	Apparition/Disparition des sous-menu *
	 *****************************************
	 */
	
	$("#submenu").hide();			
	$("#content").click(function() {
		if($("#submenu").is(':visible')) {
			$("#submenu").hide();
		}
	});
	
	$("#menu li a").hover(
		function () {
			var left=15;
			var no_menu=false;
			
			switch($(this).attr('class')) {
				case 'cat' :
					fillSubMenuCategories();
					left=6; 
					break;
				case 'news' : 
					fillSubMenuNews();
					left=118; 
					break;
				case 'top-video' :
					fillSubMenuTopVideos();
					left=238; 
					break;
				case 'calendar' : 
					fillSubMenuCalendar();
					left=342; 
					break;
				case 'cha-tv' : 
					//fillSubMenuChaTV();
					no_menu=true;
					//left=450; 
					break;
				
			}
			
			// Deplacement et affichage
			if( !no_menu ) {
				var pos=(($(window).width() - 911) / 2) + left;
				//$("#submenu").css('left', pos);			
				if( $('#submenu').is(':visible') ) {
					$("#submenu").animate( { left:pos } , 75 );
				}  else {
					$("#submenu").css('left', pos);
				}
				$("#submenu").show();
			} else {
				$("#submenu").hide();
			}

		},
		function(){			
		
		}
	);
	$("#logo").hover(function() {
		$("#submenu").hide();
	});
	
	$("#menu li a").click(function(event) {
		switch($(this).attr('class')) {
			case 'cat' :
				return true;
				break;
			case 'cha-tv' :
				return true;
				break;
			case 'news' :
				return true;
				break;
		}
				
	
		if($("#submenu").is(':visible')) {
			$("#submenu").hide();
		}
		else {
			//alert('show');
			$("#submenu").show();
			//alert('show2');
		}
	});
			  
	
	$("#submenu").hover(
		function() {
		},
		function() {
			$("#submenu").hide();
		}
	);

//	$("ul.media-thumbs").hide();
	
	
	// Vote pour un média ou contre
	$("#vote-media a").live('click', function() {
		var id_media=$('#vote-media').attr('rel');
		var type=$(this).attr('class');
		$.ajax({
			type: "POST",
			url: "/ajax/vote-media/",
			data: "id_media=" + id_media + "&like=" + (  type == 'like' ? '1' : '0'),
			success: function(content){						
				var result=eval('('+content+')');
				mediaRankStars = result['rank_stars'];
				$("#vote-media a").remove();
				$("#vote-media").append('<span class="icon-star num' + mediaRankStars + '"></span>');
				
			}
		});	
		return false;
	});
	
	// Mois precedent & suivant 
	$("#calendar tfoot tr td.prev-month a").live('click', function() {
		var new_y=dataCalendarCurDate['year'];
		var new_m=dataCalendarCurDate['month'];
		
		new_m = new_m - 1;
		if(new_m < 1) {
			new_m = 12;
			new_y = new_y - 1;
		}
		dataCalendarCurDate['year'] = new_y;
		dataCalendarCurDate['month'] = new_m;
		
		fillSubMenuCalendarShowCurMonth();
		return false;
		 
	});	
	$("#calendar tfoot tr td.next-month a").live('click', function() {
		var new_y=dataCalendarCurDate['year'];
		var new_m=dataCalendarCurDate['month'];
		
		new_m = new_m + 1;
		if(new_m > 12) {
			new_m = 1;
			new_y = new_y + 1;
		}		
		dataCalendarCurDate['year'] = new_y;
		dataCalendarCurDate['month'] = new_m;
		
		fillSubMenuCalendarShowCurMonth();
		return false;
	});	
	
	// Postage de commentaire en ajax
	$("#comment-box fieldset p input.submit.comment").live('click', function() {
		var id_post = $("#comment-id-post").val();
		var id_media = $("#comment-id-media").val();
		var captcha = $("#comment-captcha").val();
		var message = $("#comment-message").val();
		var email = $("#comment-email").val();
		var username = $("#comment-username").val();
		
		$.ajax({
			type: "POST",
			url: "/ajax/post-comment/",
			data:	"id_post="	+	id_post +
					"&id_media=" + encodeURIComponent(id_media) +
					"&captcha=" + encodeURIComponent(captcha) +
					"&message=" + encodeURIComponent(message) +
					"&email=" + encodeURIComponent(email) +
					"&username=" + encodeURIComponent(username),
			success: function(content){						
				var result=eval('('+content+')');				
				
				$("span.error").remove();
				$("#message-ok").remove();
				$("#comment-box fieldset p.p_error").remove();
				
				if(result.error.username) {
					$("#comment-username").after('<span class="error">' + result.error.username + '</span>');
				}
				
				if(result.error.message) {
					$("#comment-message").after('<span class="error">' + result.error.message + '</span>');
				}
				
				if(result.error.captcha) {
					$("#comment-captcha").after('<span class="error">' + result.error.captcha + '</span>');
				}
				
				if(result.error.email) {
					$("#comment-email").after('<span class="error">' + result.error.email + '</span>');
				}
				
				// Anti flood
				if(result.error.flood) {
					
					$("#comment-box fieldset").append('<p class="p_error"><span class="error">' + result.error.flood + '</span></p>');
				}
				
				if(result.error.duplicate) {
					$("#comment-box fieldset").append('<p class="p_error"><span class="error">' + result.error.duplicate + '</span></p>');
				}
		
				
				
				// Message OK
				
				if(result.sent) {
					$("#comment-box fieldset").append('<p id="message-ok"><span class="ok">Votre message a été envoyé.</span></p>');					
					$("#comment-message").val('');
					
					$("#comment-captcha-picture").attr('src', '/captcha.jpg?' + Math.floor(1000000000 * Math.random()) );
					$("#comment-captcha").val('');
				}
				

			}
		});	
		
		return false;
	});
	
	// changement du cpatcha lors d'un click sur l'image
	$("#comment-captcha-picture, #comment-captcha-cant-read, #contact-captcha-picture, #contact-captcha-cant-read").click(function() {
		var rndNum = parseInt(Math.random() *100000000);
		$("#comment-captcha-picture, #contact-captcha-picture").attr('src', '/captcha.jpg?' + rndNum);
		return false;
	});
	
	// 
	
	$("#top-referrers ul li a,#partners-links li a").click(function() {
		var url = $(this).attr('href');
		window.open( url );
		return false;
	}) ;
	
	
	

});

/* Garni le menu subcategories */
function fillSubMenuCategories() {
	var submenu = $("#submenu");
	var	html = '';
	
	submenu.html('');
	
	html = html + '<div id="menu-categories">';
	html = html + '	<ul class="cat">';

	for(i=0; i<menuCategories.length; i++) {
		var name = menuCategories[i].data.category.name;
		var rewriting = menuCategories[i].data.category.rewriting;
		var in_menu = menuCategories[i].data.category.in_menu == 1 ? true : false;
		
		if(in_menu) {
			html = html + '		<li>';
			html = html + '			<a href="/' +  rewriting + '/">';
			html = html + '				<span>' + name + '</span>';
			html = html + '			</a>';
			html = html + '		</li>';
		}
	}
	
	html = html + '	</ul>';	
	html = html + '</div>';
	
	submenu.html( html );
	
}

/* Garni le sous menu nouveauté */
function fillSubMenuNews() {
	var submenu = $("#submenu");
	var html='';

	submenu.html('');
	$("#menu-categories").hide();
	
	html = html + '<ul class="video-list">';
	for(i=0; i<lastVideos.length; i++) {
		var nbMediasInPost = lastVideos[i]._VARS_.count_medias;
		//alert (nbMediasInPost);
		var total_votes = lastVideos[i]._VARS_.total_votes;
		
		html = html + '	<li'+(i == lastVideos.length - 1 ? ' class="last"' : '' )+'>';
		html = html + '		<a href="' + (nbMediasInPost == 1 ? lastVideos[i].media.post_url : lastVideos[i].media.url) + '#player"><img class="thumb" src="/images/thumbs/square-'+lastVideos[i].media.id+'.jpg" alt="Aperçu de l\'image" /></a>';
		html = html + '		<p>';
		html = html + '			<span class="title">' + (nbMediasInPost == 1 ? lastVideos[i].post.title_cropped : lastVideos[i].media.title_cropped) + '</span>';
		html = html + '			<span class="desc">' +  (nbMediasInPost == 1 ? lastVideos[i].post.description_cropped : lastVideos[i].media.description_cropped)  + '</span>';
		html = html + '		</p>';
		
		if(total_votes > 0) {
			html = html + '		<span class="icon-star num'+lastVideos[i]._VARS_.rank_stars+'"></span>';
		}
		
		html = html + '	</li>';		

	}
	html = html + '</ul>';

	submenu.html(html);
}

/* Garni le sous menu nouveauté */
function fillSubMenuTopVideos() {
	var submenu = $("#submenu");
	var html='';
	
	submenu.html('');


	html = html + '<ul class="video-list">';
	for(i=0; i<topVideos.length; i++) {
		
		var nbMediasInPost = topVideos[i]._VARS_.count_medias;
		var total_votes = topVideos[i]._VARS_.total_votes;
		
		
		html = html + '	<li'+(i == topVideos.length - 1 ? ' class="last"' : '' )+'>';
		html = html + '		<a href="' + (nbMediasInPost == 1 ? topVideos[i].media.post_url : topVideos[i].media.url) + '#player"><img class="thumb" src="/images/thumbs/square-'+topVideos[i].media.id+'.jpg" alt="Aperçu de l\'image" /></a>';
		html = html + '		<p>';
		html = html + '			<span class="title">' + (nbMediasInPost == 1 ? topVideos[i].post.title_cropped 			: topVideos[i].media.title_cropped) + '</span>';
		html = html + '			<span class="desc">'  + (nbMediasInPost == 1 ? topVideos[i].post.description_cropped	: topVideos[i].media.description_cropped) + '</span>';
		html = html + '		</p>';
		
		if(total_votes > 0) {
			html = html + '		<span class="icon-star num'+topVideos[i]._VARS_.rank_stars+'"></span>';
		}
				
		html = html + '	</li>';
	}
	html = html + '</ul>';
	
	submenu.html(html);
}

/* Garni le sous menu calendrier */
function fillSubMenuCalendar() {

	if(dataCalendar.length < 1) {
		$.ajax({
			type: "POST",
			url: "/ajax/get-calendar/",
			success: function(content){		
				var result=eval('('+content+')');				
				dataCalendar = result.calendar;

				if( !dataCalendarCurDate['month'] ) {										

					fillSubMenuCalendarSetCurMonth(result.curyear, result.curmonth);
				}
					
				fillSubMenuCalendarBuildData();					
			}
		});				
	}
	else {
		fillSubMenuCalendarBuildData();			
	}

}
function fillSubMenuCalendarBuildData() {
	var submenu = $("#submenu");
	var html='';
	
	submenu.html('');
	
	html = html + '<table id="calendar">';	
	html = html + '	<caption></caption>';
	html = html + '	<thead>';
	html = html + '		<tr>';
	html = html + '			<th>L</th>';
	html = html + '			<th>M</th>';
	html = html + '			<th>M</th>';
	html = html + '			<th>J</th>';
	html = html + '			<th>V</th>';
	html = html + '			<th>S</th>';
	html = html + '			<th>D</th>';
	html = html + '		</tr>';	
	html = html + '	</thead>';	
	html = html + '	<tfoot>';	
	html = html + '		<tr>';
	html = html + '			<td colspan="3" class="prev-month"><a href="#">« ...</a></td>';
	html = html + '			<td colspan="4" class="next-month"><a href="#">... »</a></td>';
	html = html + '		</tr>';
	html = html + '	</tfoot>';	

	html = html + '	<tbody>';	
	
	for(curYear in dataCalendar) {
		for(curMonth in dataCalendar[curYear]['months']) {
			for(curWeek in dataCalendar[curYear]['months'][curMonth]['weeks']) {
				html = html + '		<tr id="cal-' + curYear + '-' + curMonth + '-' + curWeek + '">';
				
				for(i=1; i<=7; i++) {
					curNumDay = (i == 7 ? 0 : i);
					
					var arrayDay = dataCalendar[curYear]['months'][curMonth]['weeks'][curWeek]['days'][curNumDay];										
					var tdClasses='';
					
					if(!arrayDay.hasActivity) {
						tdClasses = tdClasses + 'no-activities';
					}
					if(curdateNoZero == curYear + '-' + curMonth + '-' + arrayDay.curDay) {	
						tdClasses = tdClasses + (tdClasses.length > 0 ? ' ' : '') + 'cur-day';
					}
					
					
					html = html + '			<td class="' + tdClasses + '">';
					
					if(arrayDay.hasActivity) {
						html = html + '				<a href="/calendar/' + curYear + '-' + curMonth + '-' + (arrayDay.curDay < 10 ? '0' : '' ) + arrayDay.curDay + '/">' + (arrayDay.curDay ? arrayDay.curDay : '&nbsp;') + '</a>';
					}
					else {
						html = html + '				<span>' + (arrayDay.curDay ? arrayDay.curDay : '&nbsp;') + '</span>';
					}
					
					html = html + '			</td>';
				}
				html = html + '		</tr>';
			}
		}
	}

	
	html = html + '	</tbody>';	


	html = html + '</table>';
	submenu.html(html);	
	
	fillSubMenuCalendarShowCurMonth();
	
	$("#calendar").show();
}
function fillSubMenuCalendarSetCurMonth(y,m) {
	dataCalendarCurDate['year'] = y;
	dataCalendarCurDate['month'] = m;
	
	
}
function fillSubMenuCalendarShowCurMonth() {
	var idsToShow = 'cal-' + dataCalendarCurDate['year'] + '-' + dataCalendarCurDate['month'];
	var textMonthYear = dataCalendar[ dataCalendarCurDate['year'] ]['months'][ dataCalendarCurDate['month'] ]['textMonthYear'];
	var textPrevMonthYear = '&nbsp;';
	var textNextMonthYear = '&nbsp;';



	// On masque toute les semaines du calendrier
	$("#calendar tbody tr").hide();
	
	// On affiche les semaines du mois courant
	$("#calendar tbody tr[id^=" + idsToShow + "]").show();
	
	// Mois precedent afficher liens si existe
	if( dataCalendar[ dataCalendarCurDate['year'] ]['months'][ dataCalendarCurDate['month'] ]['textPrevMonthYear'] ) {
		textPrevMonthYear = '« ' + dataCalendar[ dataCalendarCurDate['year'] ]['months'][ dataCalendarCurDate['month'] ]['textPrevMonthYear'];
		$("#calendar tfoot tr td.prev-month a").show();
		$("#calendar tfoot tr td.prev-month a").html(textPrevMonthYear);
	} else {
		$("#calendar tfoot tr td.prev-month a").hide();
	}
	
	// Mois suivant afficher liens si existe
	if( dataCalendar[ dataCalendarCurDate['year'] ]['months'][ dataCalendarCurDate['month'] ]['textNextMonthYear'] ) {
		textNextMonthYear = dataCalendar[ dataCalendarCurDate['year'] ]['months'][ dataCalendarCurDate['month'] ]['textNextMonthYear'] + ' »';	
		$("#calendar tfoot tr td.next-month a").html(textNextMonthYear);
		$("#calendar tfoot tr td.next-month a").show();
	}
	else {
		$("#calendar tfoot tr td.next-month a").hide();
	}	
	
	// Titre du tableau ( Année + Mois )
	$("#calendar caption").html(textMonthYear);	
	
	
}




/* Garni le sous menu Cha-TV */
function fillSubMenuChaTV() {
	/*var submenu = $("#submenu");
	var html='';
	
	submenu.html('');
	
	// Explain
	html = html + '<p class="explain">';
	html = html + '	1. Cliquez sur un mode de lecture. <br />2. Ensuite activez ou désactivez les catégories que vous souhaitez voir ou ne pas voir dans la cha-tv en cliquant sur leur nom.';
	html = html + '</p>';
	
	
	
	// Mode
	html = html + '<ul class="cha-tv">';	
	html = html + '	<li><a href="#" rel="rnd" class="rnd'+(submenuCheckedPlayMode == 'rnd' ? ' checked' : '')+'" title="Tirage aléatoire"></a></li>';
	html = html + '	<li><a href="#" rel="new-old" class="new-old'+(submenuCheckedPlayMode == 'new-old' ? ' checked' : '')+'" title="Des plus réscentes aux plus anciennes."></a></li>';
	html = html + '	<li><a href="#" rel="old-new" class="old-new'+(submenuCheckedPlayMode == 'old-new' ? ' checked' : '')+'" title="Des plus anciennes aux plus réscentes"></a></li>';
	html = html + '	<li><a href="#" rel="best-worst" class="best-worst'+(submenuCheckedPlayMode == 'best-worst' ? ' checked' : '')+'" title="Des mieux notées aux moins bien notées."></a></li>';
	html = html + '	<li><a href="#" rel="worst-best" class="worst-best'+(submenuCheckedPlayMode == 'worst-best' ? ' checked' : '')+'" title="Des moins bien notées aux mieux notées."></a></li>';
	html = html + '</ul>';
	html = html + '<div class="spacer"></div>';
	
	// Categories
	html = html + '<ul class="categories">';	
	for(i=0;i<lstCategories.length;i++) {
		var id = lstCategories[i].category.id;
		var name = lstCategories[i].category.name;
		var checked=false;
		
		if ( submenuCheckedCategories ) {
			checked = submenuCheckedCategories[id];
		} else {
			checked = true;
		}
		
		
		//html = html + '<li><a rel="'+id+'" href="#" class="name '+( checked ? 'checked' : '')+'">' + name + '</a><a rel="'+id+'" href="#" class="only">[only]</a></li>';	
		html = html + '<li><a rel="'+id+'" href="#" class="name '+( checked ? 'checked' : '')+'">' + name + '</a></li>';	
	}
	html = html + '</ul>';
	

	// Cha-TV run
	html = html + '<a class="show-cha-tv name checked" href="/cha-tv/"><span class="hide">Lancer la cha-tv</span></a>';
	
	
	submenu.html(html);	*/
}



/* Met à jour le calendrier en fonction du mois recu */
function fillCalendar(month) {
//	var lastLineCalendar = $("#calendar tbody tr[rel=6]");
	//$("#calendar").fadeTo(30, 0.01);

	/*$.ajax({
		type: "POST",
		url: "/ajax/get-calendar/",
		data: "month=" + month,
		success: function(content){						
			var result=eval('('+content+')');
			
		}
	});*/	
}

