//PLUGINS:
//Plugin by 2007 Paul Campbell (pauljamescampbell.co.uk) merci à lui.
(function($) {
$.fn.defaultvalue = function() {
// Scope
var elements = this;
var args = arguments;
var c = 0;
return(
elements.each(function() {				
// Default values within scope
var el = $(this);
var def = args[c++];
el.val(def).focus(function() {
if(el.val() == def) {
el.val("");
}el.blur(function() {if(el.val() == "") {el.val(def);
}});});}));}})(jQuery)
//

function str_replace( sujet, remplacant,chaine) {
  position = chaine.indexOf(sujet);
  retour = '';
  if (position == -1) return chaine;
  retour += chaine.substring(0,position) + remplacant;
  if ( position + sujet.length < chaine.length)
    retour += str_replace( sujet, remplacant,chaine.substring(position + sujet.length, chaine.length));
  return retour;
}


//Initialisation des configurations globales
var time_slide = 300 ;
var time_fade = 800 ;
var tool_open= 0;
var isConnect=0;
/* 
Déclaration des fonctions :
Toutes les fonctions suivantes m'appartiennent , vous pouvez les reutiliser
a votre guise , mais je vous pris d'integrer le commentaire suivant par respect :
Fonctions par idleMan (idleman@idlewave.com) http://www.idlewave.com
*/
//



//Fonction de test des champs input

function estVide( champ ) {
if ( null == champ || "" == champ ) { 
return true; 
}else{
return false; 
}
}

//Fonction de test de l'email
function test_email (my_email) {
        var new_string = new String(my_email);
        if (!new_string.match('^[-_\.0-9a-zA-Z]{1,}@[-_\.0-9a-zA-Z]{1,}[\.][0-9a-zA-Z]{2,}$')) {
                return false;
        }
        else {
                return true;
        }
    }


//Fonction d'affichage de messages modal
function modal(msg,t){
alert(msg);

}

//Function génératrice de tooltips (boites de survol, equivalent du alt) 
function tootips (element,texte){

$(element).mousemove(function (e) {	
		var xcord = e.pageX ;
		var ycord = e.pageY ;
		if (ycord<40){
		$("#tooltips").css("top", ycord+15 );
		}else{
		$("#tooltips").css("top", ycord-50 );	
		}
			
		$("#tooltips").css("left", xcord+50 );
		$("#tooltips_middle").html(texte);
		
		if (tool_open==0){
		$("#tooltips").fadeIn(300);
        tool_open = 1 ;
		}

});

$(element).mouseout(function () {	
		tool_open = 0 ;					  
		setTimeout(function(){
		if (tool_open==0){					
		$("#tooltips").fadeOut(300);
		tool_open = 0 ;
		}
							},200);
		


});

}


//fonction de depliage du formulaire principal
function slide_post (){
$("#container_slide_post").click(function () {									   
$(this).toggleClass("container_slide_post2");
if ($(".container_formulaire_post:first").is(":hidden")) {
$(".container_formulaire_post").slideDown("slow");
} else {
$(".container_formulaire_post").slideUp();
 }
});
}

//fonction d'insertion d'un nouveau post
function add_msg(){
$("#button_post	").click(function () {	
var name = $("#name").val();
var email = $("#email").val();	
var lien = $("#link").val();	
var mes = $("#mes").val();	

if ( (name=="") || (mes=="") || (email=="") || (name==" ") || (mes==" ") || (email==" ") || (name=="Pseudo") ||  (mes=="Votre message...") || (email=="Votre E-mail") || !test_email(email)){
modal("L'un des champs obligatoires n'a pas ete renseigne, surement votre Email",1000);	
}else{

 $.ajax({
type: "POST",
url: "../isocel_portal/action.php",
data: "action=insert&message="+mes+"&pseudo="+name+"&url="+lien+"&email="+email,

success : function(contenu,etat){
	   refresh_comment(1);
 $("#name").val('');
$("#email").val('');	
$("#link").val('');	
$("#mes").val('');	
if (contenu=="flood"){
	modal("Vous venez juste de poster un message. Vous devez attendre un instant avant de pouvoir poster à nouveaux.",1000);
}else if (contenu=="trop"){
	modal("Votre message est trop long , racourcissez le",1000);
}else if (contenu=="ban"){
	modal("Vous ne pouvez plus poster car vous avez été bannis",1000);
}
   }
 }).responseText;


}

});
}

//fonction d'ajout de champ pour le mail et le lien web
function add_input (){
$("#formulaire_post_link").click(function () {	
										   

if ($("#container_input_link:first").is(":hidden")) {
$("#container_input_link").fadeIn(time_fade);
} else {
$("#container_input_link").fadeOut(time_fade);
 }
});


$("#formulaire_post_email").click(function () {	
										   

if ($("#container_input_email:first").is(":hidden")) {
$("#container_input_email").fadeIn(time_fade);
} else {
$("#container_input_email").fadeOut(time_fade);
 }
});




}
//fonction d'appel et de rafraichissement des commentaires déja postés
function refresh_comment(page){
//Appel en synchrone car IE ne supporte pas la récupération de donnée en asynchrone (contrairement à tous les autres naviguateurs)
   var contenu = $.ajax({
   type: "POST",
   url: "../isocel_portal/comment.php",
   data: "page="+page,
   async :false
}).responseText;
 
$('#container_comment').fadeOut(time_slide);
setTimeout(function(){
$('#container_comment').hide();
$('#container_comment').html(contenu);
$('#container_comment').fadeIn(time_slide);
refresh_function ();
},time_slide);

}

function infos_sup (){
$(".comment_title").click(function () {										
var pseudo = $(this).attr("pseudo");
var email = $(this).attr("email");
var lien = $(this).attr("lien");

if (estVide(email)){
email = "aucun";	
}else{
email = "<a href='mailto:"+email+"'>"+email+"</a>";	
}

if (estVide(lien)){
lien = "aucun";	
}else{
lien = "<a class='lien_ext' href='"+lien+"'>"+lien+"</a>";	
}

$("#info").fadeIn(time_fade);

$("#infoPseudo").html(pseudo);
$("#infoEmail").html(email);
$("#infoUrl").html(lien);
$('#info').jqDrag('#dragBarInfo');

$("#closeInfo").click(function () {	
$("#info").fadeOut(time_fade);									
									});

});

}
//fonction de changement de page
function changerPage (){
$(".changepage").click(function () {
var page = 	$(this).attr('id');					 
refresh_comment(page);								 
								 });
}
//
//fonction de ban des vilains utilisateurs
function bannirUtilisateur(){
$(".admBan").click(function () {
ip= $(this).attr("numero");	
$.ajax({
   type: "POST",
   url: "../02/action.php",
   data: "action=ban&ip="+ip,
   success: function(){
	   modal("l'utilisateur a bien été bannis",3000);
   }
});								 
							 });
}
//
//fonction de suppression des messages
function supprimerMessage(){

$(".admDel").click(function () {
							 
id= $(this).attr("numero");							 
$.ajax({
   type: "POST",
   url: "../02/action.php",
   data: "action=delete&id="+id
});	
$("#comment_"+id).fadeOut(300);
								  });
}
//fonction de modification des messages
function modifierMessage(){

$(".admModif").click(function () {
var id= $(this).attr("numero");	
var save = $("#comment_mes_"+id).html();							   
save = str_replace("<br>","\n", save);							 
						 
$("#comment_mes_"+id).html('<textarea class="input_comment_mes" id="input_comment_mes">'+save+'</textarea>');

$(".input_comment_mes").blur(function () {
var message = $(".input_comment_mes").val();						 
$.ajax({
type: "POST",
data: "action=update&id="+id+"&message="+message,
url: "../02/action.php"
});		

var save = $(".input_comment_mes").val();
save2 = str_replace("\n","<br>", save);
$("#comment_mes_"+id).html(save2);

								  });
							   });
}
//
//fonction container , regroupant les fonction du niveaux de la page comment.php

function refresh_function (){
tootips (".comment_title","Voir les informations de cet utilisateur");
tootips (".changepage","Changer de page");
infos_sup ();
changerPage();
supprimerMessage();
modifierMessage();
bannirUtilisateur();
tootips ("#admIP","Qui est ce ?");
tootips ("#admModif","Modifier le post");
tootips ("#admMove","Déplacer le post");
tootips ("#admDel","Supprimer le post");
tootips ("#admBan","Bannir cet ip");
}

//fonction d'acces a l'espace admin
function espaceAdmin (){
$("#buttonAdmin").click(function () {
if (isConnect==1){
$.ajax({
   type: "POST",
   url: "../02/action.php",
   data: "action=deco"
});
isConnect=0;	
modal("Vous etes correctements deconnecte",1000);
$("#buttonAdmin").html("Administration");
refresh_comment(1);
}else{

$("#pseudoLogAdmin").val('') ;
$("#passeLogAdmin").val('') ;
$("#resultAb").val('') ;
$(this).toggleClass("buttonAdmin2");	
if ($("#logAdmin:first").is(":hidden")) {

var a = Math.floor(Math.random() * 9)+1 ;
var b = Math.floor(Math.random() * 9)+1 ;
var c = Math.floor(Math.random() * 3)+1 ;
switch (c){
case 1 :
var d = a+b ;
$("#chiffreAb2").html("+");
break;
case 2 :
var d = a-b ;
$("#chiffreAb2").html("-");
break;
case 3 :
var d = a*b ;
$("#chiffreAb2").html("x");
break;
}
$("#chiffreAb1").html(a);
$("#chiffreAb3").html(b);
$("#chiffreAb5").click(function () {
var pseudo = $("#pseudoLogAdmin").val() ;
var passe = $("#passeLogAdmin").val() ;	
if 	($("#resultAb").val()==d){
$.ajax({
   type: "POST",
   url: "../02/action.php",
   data: "action=login&pseudo="+pseudo+"&passe="+passe,
   success : function(contenu,etat){
	   if (contenu=="loginOk"){	
$("#buttonAdmin").toggleClass("buttonAdmin2");									
$("#logAdmin").fadeOut(time_fade);	
$("#buttonAdmin").html("Deconnexion");
refresh_comment(1);
isConnect=1;
}else{
$("#pseudoLogAdmin").val('') ;
$("#passeLogAdmin").val('') ;
modal("Le mot de passe ou l'identifiant est mauvais.",1000);		
}
   }
}).responseText;


}else{
$("#resultAb").val('') ;
modal("L'operation n'a pas ete correctement resolue.",1000);	
}
});

$("#logAdmin").fadeIn(time_fade);
$('#logAdmin').jqDrag('#dragBarLogAdmin');
$("#closeLogAdmin").click(function () {	
$("#buttonAdmin").toggleClass("buttonAdmin2");									
$("#logAdmin").fadeOut(time_fade);									
									});
} else {
$("#logAdmin").fadeOut(time_fade);
 }

}
});
}

//Lancement de la fonction principale
$(document).ready(function(){
						   
$("#loader").ajaxStart(function(){
   $(this).show();
 });

$("#loader").ajaxStop(function(){
   $(this).hide();
 });

$("#name,#mes,#link, #email").defaultvalue("Pseudo","Votre message...","Votre site web", "Votre E-mail");
espaceAdmin ();
refresh_comment(1);
slide_post ();
add_input ();
tootips ("#container_slide_post","Cliquez ici pour poster un message");
tootips ("#formulaire_post_link","Ajouter mon site web");
tootips ("#formulaire_post_email","Ajouter mon addresse E-mail");
add_msg();
						   });
