var domain = 'http://wagglo.com/';
$(document).ready(function(){

	$("#toToggle").hide();
	
	var lastSearchesMidHeight = $("#last_searches_mid").height() +'px';
	$("#last_searches_mid").css({"height" : "80px"});
	$("#last_searches_bot .toggle").bind("click", function(event){ toggleLastSearches(event, lastSearchesMidHeight); });

	if($("#leftMenu").length){
		$(window).scroll(function (event) {
			var y = $(this).scrollTop();
		  
			if (y >= 100) {
				$("#leftMenu").addClass("scrollWithMe");
			} else {
				$("#leftMenu").removeClass("scrollWithMe");
			}
		});
	}
	
	$("#toSearchbox1").bind("click", function(){
		$("#toSearchbox1").hide();
		$("#searchbox1").show();
	});
	
	$("#currentCategory").bind("click", function(){
		$("#toToggle").fadeOut(100);
		$("#toToggle:hidden").fadeIn(100);
	});
	
	bindKeyboardListeners();
	
	$("#tchat_toggle").bind("click", function(){toggleTchat(500);});
	if(GetCookie('tchat_open') == 1) toggleTchat(0);
	
	$(".button_login").bind("click", function(e){ showlogin(e); });
	$(".button_logout").bind("click", function(e){ showlogout(e); });
	$(".button_lostpw").bind("click", function(e){ showlostpw(e); });
	$(".button_register").bind("click", function(e){ showregister(e); });
	
	//window.setTimeout("removeTo_remove()", 4000);
	
	$("#userpageDiv a#posttowallLink").bind("click", function(e){
		e.preventDefault();
		$(this).hide();
		$("#userpageDiv #posttowallDiv").show();
		if($("#userpageDiv #posttowallTextarea").length) document.getElementById('posttowallTextarea').focus();
	});
	$("#blogDiv a#commentLink").bind("click", function(e){
		e.preventDefault();
		$(this).hide();
		$("#blogDiv #commentDiv").show();
		if($("#blogDiv #commentTextarea").length) document.getElementById('commentTextarea').focus();
	});
	
	$("#userpageDiv #posttowallTextarea, #blogDiv #commentTextarea").bind("keyup", function(){ posttowallTextareaKeyup($(this)); });

});

function removeTo_remove(){
	$("#to_remove").remove();
}

function navThroughKeystrokes(direction){ // on navigue dans les sections paginées avec les touches left&right
	var regex1 = new RegExp(".*/[^;]+;page([0-9]+)"); // regex pour save la last part de l'url
	var regex2 = new RegExp(".*/([^;]+)(?:;page[0-9]+)?"); // regex pour rendre le suffixe facultatif, et save la last part de l'url
	if($("#leftMenu ul li").length){ // on check si il y a un leftmenu
		if($("#leftMenu ul li:eq(0) a").attr('href').match(regex1)){ // on check si il y a une pagination
			var actualPageNumber = 1;
			if(match = regex1.exec(document.location.href)) actualPageNumber = match[1]; // on récup la page actuelle depuis l'url (pas forcément présente)
			match = regex2.exec(document.location.href); // on récup la last part de l'url
			var actualPage = match[1];
			if(direction == 'left'){
				if(actualPageNumber > 1) document.location.href = actualPage +';page'+ (--actualPageNumber);
			} else if(direction == 'right'){
				var isMovePossible = false;
				var testRegex = new RegExp(".*;page"+ (++actualPageNumber));
				$.each(($("#leftMenu ul li")), function(i){
					var string = $("#leftMenu ul li:eq("+ i +") a").attr('href');
					if(string.match(testRegex)) isMovePossible = true;
				});
				if(isMovePossible) document.location.href = actualPage +';page'+ actualPageNumber; // a été pré-incrémenté
			}
		}
	}
}

function setListStyle(type){ // 1 = text only, 2 = text + preview image
	if(type == 1) SetCookie('listStyle', 1);
		else SetCookie('listStyle', 2);
	window.location.href = window.location.href;
}

tchat_loaded = false;
function toggleTchat(speed){
	$("#tchat_cnt").animate({height : "toggle"}, speed, function(){
		if($(this).is(":visible")){ // si on a ouvert le tchat
			if(!tchat_loaded){
				$(this).html('<object width="250" height="350" id="obj_1283609069975"><param name="movie" value="http://wagglo.chatango.com/group"/><param name="wmode" value="transparent"/><param name="AllowScriptAccess" VALUE="always"/><param name="AllowNetworking" VALUE="all"/><param name="AllowFullScreen" VALUE="true"/><param name="flashvars" value="cid=1283609069975&d=FFFFFF&t=0&v=0&w=0&ab=0"/><embed id="emb_1283609069975" src="http://wagglo.chatango.com/group" width="250" height="350" wmode="transparent" allowScriptAccess="always" allowNetworking="all" type="application/x-shockwave-flash" allowFullScreen="true" flashvars="cid=1283609069975&d=FFFFFF&t=0&v=0&w=0&ab=0"></embed></object><br>[ <a href="http://wagglo.chatango.com/clonegroup?ts=1283609069975">Copy this</a> | <a href="http://chatango.com/creategroup?ts=1283609069975">Start New</a> | <a href="http://wagglo.chatango.com">Full Size</a> ]');
				tchat_loaded = true;
			}
			unbindKeyboardListeners();
			SetCookie('tchat_open', 1);
		} else { // si on l'a fermé
			bindKeyboardListeners();
			SetCookie('tchat_open', 0);
		}
	});
}

function reloadRandom(section){
	if(section == 'films' || section == 'films_streaming') var newAfficheUrl = 'http://wagglo.com/ajax/getImageFromAllocine.php?kw=';
		else var newAfficheUrl = 'http://wagglo.com/ajax/getImageFromGoogle.php?kw=';
	var newAnchorUrl = 'http://wagglo.com/'+ section +'/telecharger/';
	if(randomsCpt[section] >=9) randomsCpt[section] = 0;
		else randomsCpt[section]++;
	newAfficheUrl += randoms[section][randomsCpt[section]][1];
	newAnchorUrl += randoms[section][randomsCpt[section]][0];
	$("#random_"+ section).html('<a href="'+ newAnchorUrl +'" target="_blank"><img class="affiche" src="'+ newAfficheUrl +'" width="112" height="150" border="0" /></a>');
}

function toggleLastSearches(ev, origHeight){
	ev.preventDefault();
	if($("#last_searches_mid").css('height') == '80px'){
		$("#last_searches_mid").animate({"height": origHeight}, 500);
		$("#last_searches_bot .toggle").text('- refermer');
	} else {
		$("#last_searches_mid").animate({"height": "80px"}, 500);
		$("#last_searches_bot .toggle").text('+ en voir plus');
	}
}

function bindKeyboardListeners(){
	$(document).keypress(function(e){ // shortcuts binding - normal characters
		// on disable dans les input/textarea
		var element;
		if(e.target) element=e.target;
		else if(e.srcElement) element=e.srcElement;
		if(element.nodeType==3) element=element.parentNode;
		if(element.tagName == 'INPUT' || element.tagName == 'TEXTAREA') return;
		// on switch sur les valeurs qu'on veut associer à une action
		var keyCode = e.keyCode || e.which;
		switch(keyCode){
			case 97: document.location.href = domain; break; // a
			case 98: document.location.href = domain +'blog'; break; // b
			case 102: document.location.href = domain +'films/derniers_ajouts'; break; // f
			case 116: document.location.href = domain +'films_streaming/derniers_ajouts'; break; // t
			case 115: document.location.href = domain +'series/derniers_ajouts'; break; // s
			case 106: document.location.href = domain +'jeux/derniers_ajouts'; break; // j
			case 108: document.location.href = domain +'logiciels/derniers_ajouts'; break; // l
			case 101: document.location.href = domain +'ebooks/derniers_ajouts'; break; // e
			case 120: document.location.href = domain +'xxx/derniers_ajouts'; break; // x
			case 109: document.location.href = domain +'musique/derniers_ajouts'; break; // m
			case 103: document.location.href = domain +'mangas/derniers_ajouts'; break; // g
		}
	});
	
	$(document).keydown(function(e){ // shortcuts binding - arrow keys
		// on disable dans les input/textarea
		var element;
		if(e.target) element=e.target;
		else if(e.srcElement) element=e.srcElement;
		if(element.nodeType==3) element=element.parentNode;
		if(element.tagName == 'INPUT' || element.tagName == 'TEXTAREA') return;
		// on switch sur les valeurs qu'on veut associer à une action
		var keyCode = e.keyCode || e.which;
		switch(keyCode){
			case 37: navThroughKeystrokes('left'); break;
			case 39: navThroughKeystrokes('right'); break;
		}
	});
}

function unbindKeyboardListeners(){
	$(document).unbind('keypress');
	$(document).unbind('keydown');
}

function SetCookie(name, value){
	var argv=SetCookie.arguments;
	var argc=SetCookie.arguments.length;
	var expires=new Date();
	expires.setTime(expires.getTime() + (365 * 24 * 3600 * 1000));
	//var path=(argc > 3) ? argv[3] : null;
	var path="/";
	var domain=(argc > 4) ? argv[4] : null;
	var secure=(argc > 5) ? argv[5] : false;
	document.cookie=name+"="+escape(value)+
	((expires==null) ? "" : ("; expires="+expires.toGMTString()))+
	((path==null) ? "" : ("; path="+path))+
	((domain==null) ? "" : ("; domain="+domain))+
	((secure==true) ? "; secure" : "");
}

function getCookieVal(offset){ // fonction utilisée par GetCookie(), ne pas l'appeler directement
	var endstr=document.cookie.indexOf (";", offset);
	if (endstr==-1)
	endstr=document.cookie.length;
	return unescape(document.cookie.substring(offset, endstr));
}

function GetCookie(name){
	var arg=name+"=";
	var alen=arg.length;
	var clen=document.cookie.length;
	var i=0;
	while (i<clen) {
	var j=i+alen;
	if (document.cookie.substring(i, j)==arg)
	return getCookieVal (j);
	i=document.cookie.indexOf(" ",i)+1;
	if (i==0) break;}
	return null;
}

function showlogin(e){
	e.preventDefault();
	showoverlay();
	$.post(domain+"ajax/login.php", function(data){
		loadoverlay(data);
	});
}

function showlogout(e){
	e.preventDefault();
	showoverlay();
	$.post(domain+"ajax/logout.php", function(data){
		loadoverlay(data);
	});
}

function showregister(e){
	e.preventDefault();
	showoverlay();
	$.post(domain+"ajax/register.php", function(data){
		loadoverlay(data);
	});
}

function showlostpw(e){
	e.preventDefault();
	showoverlay();
	$.post(domain+"ajax/lostpw.php", function(data){
		loadoverlay(data);
	});
}

function showoverlay(){ // fait apparaitre une fenetre avec les infos passées en param
	if($("#wagglo_overlay").length>0) return false;
	$("body").append('<div id="wagglo_overlay"><div id="wagglo_overlay_cnt_top"></div><div id="wagglo_overlay_cnt_mid"><div id="wagglo_overlay_realcnt"><p style="font-size: 18px; font-weight: bold;">Chargement...</p></div></div><div id="wagglo_overlay_cnt_bot"></div></div>');
}

function loadoverlay(data, simple){
	if(simple == true) data = '<div id="realcnt_header">Message d\'information</div><div id="realcnt_data"><p style="font-weight: bold;">'+ data +'</p><a href="" class="overlay_button_cancel">Fermer</a></div><script type="text/javascript">$(".overlay_button_cancel").bind("click", function(e){ hideoverlay(e); });</script>';
	$("#wagglo_overlay_realcnt").html(data);
}

function hideoverlay(e){
	e.preventDefault();
	$("#wagglo_overlay").fadeOut('fast', function(){
		$("#wagglo_overlay").remove();
	});
}
