$(window).ready(function () {
	
	$('body').delegate('.frmConnect', 'submit', function(){
		var name = $(this).find(".inPseudo").val();
		var password = $(this).find(".inPassword").val();
		var remember = $(this).find(".chkRemember").is(':checked');
		if (name != "" && password != "") {
			$.get("Ajax/Control.php", args = {file:"User", methode:"connect", name:name, password:password, remember:remember}, 
			function(data) {
				alerteHTML(data);
				if (data.indexOf("alert_accept") > 0) location.reload();
			});
		} else
			alerte("Un pseudo et un mot de passe sont indispensables pour se connecter.", "error");
		return false;	
	});
	$('body').delegate('.frmAddFilm', "submit", function() {
		var me = $(this).find(".inputText");
		var q = me.val();
		if (q != "") {
			me.addClass("wait");
			$(".listFilm").html("<div class=\"line center\"><img src=\"Images/loader.gif\"/></div>");
			$.get("Ajax/Control.php", {file:"Search", methode:"search", q:q}, function(data) {
				if (data != "") {
					$(".listFilm").html(data);
				}
				me.removeClass("wait");
			});
		}
		return false;
	});	
	$('body').delegate('.frmAddCritique', "submit", function() {
		var me = $(this).find(".inputText");
		var texte = me.val();
		var code = $(".film_info").attr('rel');
		
		$.get("Ajax/Control.php", {file:"Film", methode:"addCritique", code:code, texte:texte}, function(data) {
			if (data.indexOf("alert_error") > 0) {
				alerteHTML(data);
			} else {
				$(".tab").hide();
				$(".bTab").removeClass("actif");
				$(".bTab:first").addClass("actif");
				$(".tabCritiques").show();
				$(".critiques").prepend(data);
				me.val("");
				me.parent().parent().parent().hide();
			}
		});
		return false;
	});	
	$('body').delegate('.frmAddComment', "submit", function() {
		var me = $(this);
		var texte = me.find(".inputText").val();
		var code = me.parent().parent().attr('rel');
		
		$.get("Ajax/Control.php", {file:"Critique", methode:"addComment", code:code, texte:texte}, function(data) {
			if (data.indexOf("alert_error") > 0) {
				alerteHTML(data);
			} else {
				me.parent().append(data);
				me.hide();
			}
		});
		return false;
	});	
	$('body').delegate('.frmModifCritique', "submit", function() {
		var me = $(this);
		var texte = me.find(".inputText").val();
		var code = me.attr('rel');
		
		$.get("Ajax/Control.php", {file:"Critique", methode:"modifCritique", code:code, texte:texte}, function(data) {
			if (data.indexOf("alert_error") > 0) {
				alerteHTML(data);
			} else {
				me.parent().parent().remove();
				$(".critiques").prepend(data);
			}
		});
		return false;
	});	
	$('body').delegate(".frmSetEmail", "submit", function() {
		var me = $(this);
		var email = me.children(".inputText").val();
		
		$.get("Ajax/Control.php", args = {file:"User", methode:"setEmail", email:email}, 
		function(res) {
			alerteHTML(res);
		});
		return false;
	});
	$(".top_film_genres a.top_genre").click(function() {
		var rel = $(this).attr('rel');
		$(".top_film_genres a").removeClass("actif");
		$(this).addClass("actif");
		$(".top_films").html("<div class=\"line loader center\"><img src=\"Images/loader.gif\"/></div>");
		$.get("Ajax/Control.php", args = {file:"Top", methode:"show", genre:rel}, 
		function(res) {
			$(".top_films").html(res);
		});
		return false;
	});
	
	$(".in_edit_avis").live("blur", function() {
		var me = $(this);
		var id = $(this).attr('rel');
		var texte = $(this).val();
		$.get("Ajax/Control.php", args = {file:"Film", methode:"addAvisPerso", code:id, texte:texte}, 
		function(data) {
			//alerteHTML(data);
			if (texte == "Votre commentaire ici") texte = "";
			texte = replaceAll(texte, "\n", "<br />");
			me.parent().find("p").html(texte);
			me.parent().find("p").show();
		});	
		$(this).hide();
		if (!$(this).parent().hasClass("gestion_description")) $(this).parent().slideUp();
		return false;
	});
	
	$(".bTab").live("click", function() {
		$(this).parent().parent().children(".tab").hide();
		$(this).parent().parent().children(".tab." + $(this).attr('rel')).show();
		$(this).parent().children(".bTab").removeClass("actif");
		$(this).addClass("actif");
		
		var id = $(this).parent().parent().parent().attr('id');
		var photos = $(this).parent().parent().find(".tabPhotosContent");
		var videos = $(this).parent().parent().find(".tabVideosContent");
		if ($(this).attr('rel') == "tabPhotos" && photos.html() == "") {
			photos.html("<div class=\"line loader center\"><img src=\"Images/loader.gif\"/></div>");
			$.get("Ajax/Control.php", args = {file:"Film", methode:"getPhotos", film:id}, 
			function(data) {
				photos.html(data);
			});		
		} else if ($(this).attr('rel') == "tabVideos" && videos.html() == "") {
			videos.html("<div class=\"line loader center\"><img src=\"Images/loader.gif\"/></div>");
			$.get("Ajax/Control.php", args = {file:"Film", methode:"getVideos", film:id}, 
			function(data) {
				videos.html(data);
			});		
		}
		return false;
	});
	$(".deleteAvatarActuel").live("click", function() {
		var me = $(this);
		
		$.get("Ajax/Control.php", args = {file:"User", methode:"deleteAvatar"}, 
		function(res) {
			location.reload();
		});
		return false;
	});
	$(".bMoreSynoposis").live("click", function() {
		$(this).parent().children(".pSynoposis").css("height", "auto");
		$(this).remove();
	});
	$(".bReload").live("click", function() {
		var tri = $(".deroulant.tri").children(".actif").attr('rel');
		var genre = $(".deroulant.genre").children(".actif").attr('rel');
		var filtre = $(".deroulant.filtre").children(".actif").attr('rel');
		var videotheque = $(".barre").attr('rel');
		$(".videotheque").show();
		$(".movie").hide();
		$(".menuInfo").hide();
		$(".page").hide();
		$(".menuFilms a").removeClass("actif");
		$(".menuFilms a.mesfilms").addClass("actif");
		$(".videothequeContent").html("<div class=\"line loader center\"><img src=\"Images/loader.gif\"/></div>");
		$.get("Ajax/Control.php", args = {file:"Videotheque", methode:"show", "videotheque":videotheque, "tri":tri, "filtre":filtre, "genre":genre}, 
		function(data) {
			$(".videothequeContent").html(data);
		});
		return false;
	});
	$(".bInfo").live("click", function() {
		$(".menuInfo").toggle();
		return false;
	});
	$(".deroulant a").live("click", function() {
		$(this).parent().children("a").removeClass("actif");
		$(this).addClass("actif");
		$(this).parent().parent().children(".belement").text($(this).text());
		var tri = $(".deroulant.tri").children(".actif").attr('rel');
		var genre = $(".deroulant.genre").children(".actif").attr('rel');
		var filtre = $(".deroulant.filtre").children(".actif").attr('rel');
		var videotheque = $(".barre").attr('rel');
		$.get("Ajax/Control.php", args = {file:"Videotheque", methode:"show", "videotheque":videotheque, "tri":tri, "filtre":filtre, "genre":genre}, 
		function(data) {
			$(".videothequeContent").html(data);
		});
	});
	$(".videotheque a.searchItem, .bAddFilms a, .listFilm a, .menuInfo a, .activite a, .film_info p a, .filmSimilaire").live("click", function() {
		if ($(".menuFilms").size() > 0) {
			var href = $(this).attr('href');
			var tab = extractUrlParams(href);
			
			if (tab["page"] != "list" && !$(this).hasClass("share")) {
				var name = $(this).children("strong").text();
				$(".videotheque").hide();
				$(".movie").hide();
				$(".menuInfo").hide();
				$(".page").show();
				$(".menuFilms a").removeClass("actif");
				
				var dejavu = false;
				$(".menuFilms a").each(function(index) {
					if ($(this).attr('href') == href) { 
						dejavu = true;
						$(this).addClass("actif");
						$("#" + tab["code"]).show();
						return false;
					}
				});
				
				if (dejavu == false) {
					var code = "";
					var list = "";
					$(".page").append("<div class=\"line loader center\"><img src=\"Images/loader.gif\"/></div>");
					if ("code" in tab) code = tab["code"];
					if ("list" in tab) list = tab["list"];
					//if (jQuery.inArray("list", tab) > 0) list = tab["list"];
					$.get("Ajax/Control.php", args = {file:"Page", methode:"change", "page": tab["page"], "code":code, "list":list }, 
					function(data) {
						$(".menuFilms").find(".clear").remove();
						$(".menuFilms").append("<a style=\"display:none;\" id=\"onglet_" + tab["code"] + "\" class=\"actif\" href=\"" + href + "\">" + name + "<div class=\"deleteOnglet\"></div></a>");
						$(".menuFilms").append("<p class= \"clear\"></p>");
						$(".menuFilms").find(".actif").show('fast');
						$(".page").append(data);
						$(".page").find(".loader").remove();
					});		
				}
				return false;
			}
		}
	});
	$(".menuFilms a").live("click", function() {
		var href = $(this).attr('href');
		var tab = extractUrlParams(href);
		$(".menuFilms a").removeClass("actif");
		$(this).addClass("actif");
		if ($(this).hasClass("mesfilms")) {
			$(".videotheque").show();
			$(".page").hide();
		} else {
			$(".videotheque").hide();
			$(".movie").hide();
			$(".page").show();
			var trouve = false;
			$(".movie").each(function(index) {
				if ($(this).attr('id') == tab["code"]) {
					trouve = true;
					$("#" + tab["code"]).show();
					return false;
				}
			});
			if (trouve == false) {
				$.get("Ajax/Control.php", args = {file:"Page", methode:"change", "page": tab["page"], "code":tab["code"]}, 
				function(data) {
					$(".page").append(data);
				});
			}
		}
		return false;
	});
	$(".menuFilms a .deleteOnglet").live("click", function() {
		var actif = false;
		var id = $(this).parent().attr('id').substr(7);
		$("#" + id).remove();
		if ($(this).parent().hasClass("actif")) {
			$(this).parent().remove();
			
			$(".menuFilms a:last").addClass("actif");
			id = $(".menuFilms a:last").attr('id').substr(7);
			if (id == "") {
				$(".page").hide();
				$(".videotheque").show();
			} else {
				$("#" + id).show();
			}
		} else {
			$(this).parent().hide('fast', function() {
				$(this).remove();
			});
		}
		return false;
	});


	$(".frmNewUser").submit(function() {
		var me = $(this);
		var name = me.find(".inNewName").val();
		var email = me.find(".inNewEmail").val();
		var password = me.find(".inNewPassword").val();
		
		me.addClass("wait");
		$.get("Ajax/Control.php", {file:"User", methode:"create", name:name, email:email, password:password}, function(data) {
			alerteHTML(data);
			if (data.indexOf("alert_accept") > 0) {
				location.href = "index.php";
			}
			me.removeClass("wait");
		});
		return false;
	});	
	

	$(".modifCritique").live("click", function() {
		var me = $(this).parent().parent();
		var code = $(this).parent().parent().attr('rel');
		$.get("Ajax/Control.php", {file:"Critique", methode:"frmModifCritique", code:code}, function(data) {
			me.find(".film_critique_content").html(data);
		});		
		return false;
	});	
	$(".supprComment").live("click", function() {
		var me = $(this).parent();
		var code = me.attr('rel');
		$.get("Ajax/Control.php", {file:"Commentaire", methode:"supprComment", code:code}, function(data) {
			me.remove();
		});		
		return false;
	});	
	$(".sawListFilm").live("click", function() {
		var code = $(this).attr("rel");
		
		$.get("Ajax/Control.php", {file:"User", methode:"sawFilm", code:code}, function(data) {
			alerteHTML(data);
			if (data.indexOf("alert_accept") > 0) {
				$(".sawList").hide();
				$(".sawList").html("");
				$(".lastMovie").hide();
				$(".frmLastMovie").find(".inputText").val("");
			}
		});
		return false;
	});
	/*$(".bAddFilm").live("click", function() {
		var me = $(this);
		var code = $(".film_info").attr("rel");
		if (!me.hasClass("load")) {
			me.addClass("load");
			me.removeClass("add").removeClass("remove");
			$.get("Ajax/Control.php", {file:"Film", methode:"toggleFilm", code:code}, function(data) {
				me.parent().remove();//prepend(data);
				//me.remove();
			});
		}
		return false;
	});*/
	$(".bRefreshImage").live("click", function() {
		var me = $(this);
		var code = me.attr("rel");
		if (!me.hasClass("load")) {
			me.addClass("load");
			$.get("Ajax/Control.php", {file:"Film", methode:"refreshImage", code:code}, function(data) {
				me.slideUp();
				//location.reload();
			});
		}
		return false;
	});
	$(".bFrmAddFilm").live("click", function() {
		var me = $(this);
		var code = $(this).parent().attr("rel");
		if (!me.hasClass("load")) {
			me.addClass("load");
			if (me.hasClass("remove")) me.html("<img src=\"Images/white-orange-loader.gif\"/>"); else me.html("<img src=\"Images/white-green-loader.gif\"/>");
			$.get("Ajax/Control.php", {file:"Film", methode:"toggleFilm", code:code}, function(data) {
				if (me.hasClass("gestion_film_remove"))
					me.parent().parent().slideUp();
				me.remove();
				$(".frmAddFilm #inTitre").focus();
				$(".frmAddFilm #inTitre").select();
			});
		}
		return false;
	});
	$(".gestion_description_p").live("click", function() {
		$(this).slideUp();
		$(this).parent().find(".in_edit_avis").slideDown();
		return false;
	});
	$(".gestion_search").focus(function() { if ($(this).val() == "Rechercher un film dans ma liste") $(this).val(""); });
	$(".gestion_search").blur(function() { if ($(this).val() == "") $(this).val("Rechercher un film dans ma liste"); });
	$(".gestion_search").keyup(function() {
		var q = $(".gestion_search").val().toLowerCase();
		$(".gestion_film_right strong a").each(function(index) {
			var str = $(this).text().toLowerCase();
			if (str.indexOf(q) > -1)
				$(this).parent().parent().parent().show();
			else
				$(this).parent().parent().parent().hide();
		});
		return false;
	});
	
	
	$(".critique_img").hover(function() {
		$(this).find(".critique_shadow").hide();
	}, function() {
		$(this).find(".critique_shadow").show();
	});
	$(".film_acteurs_more").click(function() {
		$(".film_acteurs_hide").toggle();
	});

});


function extractUrlParams(href) {
	href = href.substr(27);
	var t = href.split('/');
	var res = [];
	res["page"] = t[0];
	if (t[0] == "film") {
		res["code"] = t[1];
	} else if (t[0] == "personne") {
		res["code"] = t[1];
	} else if (t[0] == "ajouter_film") {
		res["code"] = "ajouter_film";
	} else if (t[0] == "list") {
		res["code"] = href;
	} else if (t[0] == "info") {
		res["code"] = t[1];
		res["list"] = t[1];
	}
	return res;
}


function in_array (needle, haystack, argStrict) {
    var key = '', strict = !!argStrict;
    if (strict) {
        for (key in haystack) {
            if (haystack[key] === needle) {
                return true;
            }
        }
    } else {
        for (key in haystack) {
            if (haystack[key] == needle) {
                return true;
            }
        }
    }

    return false;
}
function mail(moi) {
	var me = $(moi);
	var message = me.children("#conTexte").val();
	var objet = me.children("#conObjet").val();
	if (message != "" && objet != "") {
		$.get("Ajax/Control.php", args = {file:"Mail", methode:"mail", message:message, objet:objet}, 
		function(res) {
			if (res == true) {
				alerte("Le message a bien été envoyé ! Merci de votre contributon", "accept");
				me.children("#conTexte").val("");
				me.children("#conObjet").val("");
			} else {
				alerte("Oops ! Un problème est arrivé pendant l'envoi du message !", "error");
			}
		});	
	} else {
		alerte("Euh... Il faut remplir tous les champ.", "error");
	}
	return false;
}

function nl2br(str, is_xhtml) {
    var breakTag = (is_xhtml || typeof is_xhtml === 'undefined') ? '<br />' : '<br>';
    return (str + '').replace(/([^>\r\n]?)(\r\n|\n\r|\r|\n)/g, '$1'+ breakTag +'$2');
}
function replaceAll(txt, replace, with_this) {
  return txt.replace(new RegExp(replace, 'g'),with_this);
}
