/************** general.js **********
*	PAR AVOCK
*	© 2007
***********************************/

textes_bulle = new Array;
textes_bulle['statuts'] = "<div style=\"text-align:center;font-weight:bold;\">Les statuts</div><strong style=\"color:#1ac026;\">Vert</strong> : La pétition est en ligne.<br /><strong style=\"color:#ed891d;\">Orange</strong> : La pétition a sa date de fin dépassée, pour la remettre en ligne, éditez sa date de fin.<br /><strong style=\"color:#ed1d1d;\">Rouge</strong> : Vous avez désactivé la pétition, cliquez sur activer pour la remettre en ligne.";
textes_bulle['modele1'] = "<img src=\"icc_imgs/modeles/grand-modele1.png\" alt=\"\" />";
textes_bulle['modele2'] = "<img src=\"icc_imgs/modeles/grand-modele2.png\" alt=\"\" />";
textes_bulle['modele3'] = "<img src=\"icc_imgs/modeles/grand-modele3.png\" alt=\"\" />";
textes_bulle['modele4'] = "<img src=\"icc_imgs/modeles/grand-modele4.png\" alt=\"\" />";

document.onmousemove = getposition;

function getposition(e)
{

    x = (!document.all) ? e.pageX : event.clientX + document.documentElement.scrollLeft;
    y = (!document.all) ? e.pageY : event.clientY + document.documentElement.scrollTop;
}

function bulle_info(texte)
{
        divbulle = document.getElementById('infobulle');
        divbulle.style.display="block";
        divbulle.style.top = y-20+"px";
        divbulle.style.left = x+5+"px";
        divbulle.innerHTML = texte;
}

function sup_bulle_info()
{	
        divbulle = document.getElementById('infobulle');
        divbulle.style.display="none";
        divbulle.innerHTML="";
}

function bbcodeuni(div, type)
{
        var divtexte = document.getElementById(div);
        if(type == 'dmvid')
        {
                var idvid = prompt("Veuillez saisir l'identifiant DailyMotion de votre vidéo (après le /swf/ dans le code du lecteur exportable) : ");
                divtexte.value += '[dailymotion="' + idvid + '"]';
        }
        else if(type == 'image')
        {
                var img = prompt("Veuillez saisir le lien de votre image : ");
                divtexte.value += '[img="' +img + '"]';
        }
}	

function bbcode(div, balise1, balise2)
{
        var divtexte = document.getElementById(div);
        var selec_deb = divtexte.selectionStart;
        var selec_fin = divtexte.selectionEnd;

        if (divtexte.selectionStart >= 0 && divtexte.selectionEnd >= 0)
        {
                // Si du texte est sélectionné, on ajoute les balises autour.
                var avant = divtexte.value.substring(0, selec_deb);
                var selection = divtexte.value.substring(selec_deb, selec_fin);
                var apres = divtexte.value.substring(selec_fin);
                
               divtexte.value = avant + balise1 + selection + balise2 + apres;
        }
        
        else
        {
                // Si il y en a pas, on ajoute directement les balises
                divtexte.value = divtexte.value + balise1 + balise2;
        }
}
     
     
     
     /*		CALENDRIER		*/
     
     
     

        var ar_mois = new Array();
        ar_mois[0] = 'Janvier';       	ar_mois[1] = 'Février';    ar_mois[2] = 'Mars';      	 ar_mois[3] = 'Avril';	         ar_mois[4] = 'Mai';    	    ar_mois[5] = 'Juin';
        ar_mois[6] = 'Juillet';        	ar_mois[7] = 'Août';        ar_mois[8] = 'Septembre';       	 ar_mois[9] = 'Octobre';        ar_mois[10] = 'Novembre';	    ar_mois[11] = 'Décembre';

     function calendrier()
     {
                this.date = new Date();
                this.anneeencours = this.date.getFullYear();
                this.moisencours = this.date.getMonth();
                this.id_cal = '';
                this.id_chp = '';
                this.time = null;	//vérification de souris sur le calendrier
     
                this.afficher = cal_afficher;
                this.print = cal_champ;
                this.getMois = cal_mois;
                this.changeMois = cal_change;
                this.getDate = cal_date;
                this.ferm = cal_fermeture;
                this.stopferm = cal_stopferm;
                this.suppr = cal_suppr;
     }
     function cal_champ(id_champ)
     {
                //Affichage de la petite icone pour ouvrir le calendrier et identification de la zone de texte
                this.id_chp = document.getElementById(id_champ);
                this.id_cal = document.getElementById('calendrier');
                document.write('<img src="icc_imgs/calendrier.png" alt="Calendrier" title="Calendrier" onclick="calendrier.afficher()" style="margin-left:3px" />');
     }
     function cal_afficher()
     {
                //Affichage et positionnement du cadre puis appel à la méthode getMois pour afficher au contenu
                this.id_cal.style.display = "block";
                this.id_cal.style.top = y-20+"px";
                this.id_cal.style.left = x+5+"px";
                this.getMois();
     }
     function cal_mois()
     {
                //Ce qu'il y a dans le cadre (jours à cliquer, mois précédent, mois suivant)
                texte = '<table class="tab"><tr><th><a onclick="calendrier.changeMois(-1)"><<</a><th colspan="5">' +  ar_mois[this.moisencours] + ' ' + this.anneeencours + '</th><th><a onclick="calendrier.changeMois(1)">>></a></th></tr>'
                + '<tr class="jours"><td>Lu</td><td>Ma</td><td>Me</td><td>Je</td><td>Ve</td><td>Sa</td><td>Di</td></tr>';
                var finsemaine = 0;
                var premierjour = new Date();
                premierjour.setFullYear(this.anneeencours);
                premierjour.setMonth(this.moisencours);
                premierjour.setDate(1);
                var jourretard = (premierjour.getDay() == 0) ? 7 : premierjour.getDay();
                premierjour.setDate(1-jourretard);
                for(var i=0;i<42;i++)
                {
	      premierjour.setDate(premierjour.getDate()+1);
	      texte += "<td";
	      if(premierjour.getMonth() == this.moisencours)
	      {
	              var mois = this.moisencours+1;
	              texte += " onclick=\"calendrier.getDate(" + premierjour.getDate() + ", " + mois + ", " + premierjour.getFullYear() + ")\">" + premierjour.getDate() + "";
	      }
		else
		texte += ">";
	      texte += "</td>";
	      finsemaine++;
	      if(finsemaine%7 == 0)
	      {
	              texte += "</tr><tr>";
	      }
                }
                texte += "</table>";
                this.id_cal.innerHTML = texte;
     }
     function cal_change(diff)
     {
                //Incré ou décré le mois en cours et réaffiche le contenu avec la méthode getMois
                if (diff==1)
                {
	      if(this.moisencours==11)
	      {
	              this.anneeencours += 1;
	              this.moisencours = 0;
	      }
	      else
	      {
	              this.moisencours += 1;
	      }
                }
                if (diff==-1)
                {
	      if(this.moisencours==0)
	      {
	              this.anneeencours -= 1;
	              this.moisencours = 11;
	      }
	      else
	      {
	              this.moisencours -= 1;
	      }
                }
                this.getMois();
     }
     function cal_date(jour, mois, annee)
     {
                //Mettre à jour le champ et fermer le cadre en fonction de la date choisie
                this.id_chp.value = jour + '/' + mois + '/' + annee;
                this.id_cal.style.display = "none";
     }
     function cal_fermeture()
     {
                //Si la souris n'est pas dans le calendrier dans la seconde, le cadre se ferme
                if (this.time == null)
                {
	      this.time = setTimeout("calendrier.suppr()", 1000);
                }
     }
     function cal_stopferm()
     {
                if(this.time != null)
                {
	      clearTimeout(this.time);
	      this.time = null;
                }
     }
     function cal_suppr()
     {
                this.id_cal.style.display = "none";
     }
     
     calendrier = new calendrier();
     
     
     
     /*		PALETTE COULEUR		*/
     
     
     
        var ar_couleurs = new Array('#000000','#333333','#666666','#999999','#cccccc','#ffffff','#ff0000','#990000','#ff3333','#ff6666','#ff9999','#993333','#66ff00','#99ff66','#003300','#339900','#66ff66','#006600', '#00ffff','#009999','#0099ff','#0066cc','#0000ff','#000066','#ff6600','#ff9933','#ff9966','#ffcc99','#cc6633','#996633','#ffff00','#ffff66','#ffffcc','#cccc33','#ffcc00','#3333cc','#333366','#6600ff','#cc00ff','#663399','#330066','#ff00cc','#ff66cc','#990099','#cc0000','#ff3360','#993366');

     function palette()
     {
                this.id_pal = '';
                this.id_chp = '';
                this.time = null;	//vérification de souris sur la palette
     
                this.afficher = pal_afficher;
                this.print = pal_champ;
                this.getCouleur = pal_update;
                this.ferm = pal_fermeture;
                this.stopferm = pal_stopferm;
                this.suppr = pal_suppr;
     }
     function pal_champ(id_champ)
     {
                //Affichage de la petite icone pour ouvrir la palette et identification de la zone de texte
                this.id_pal = document.getElementById('palette');
                document.write('<img src="icc_imgs/palette.png" alt="Palette" title="Palette" onclick="palette.afficher(\''+ id_champ +'\')" style="margin-left:3px" />');
     }
     function pal_afficher(id_champ)
     {
                //Affichage et positionnement du cadre et de son contenu
                this.id_chp = document.getElementById(id_champ);
                this.id_pal.style.display = "block";
                this.id_pal.style.top = y-20+"px";
                this.id_pal.style.left = x+5+"px";
                
                texte = '<table width="100%" style="border-color:#000000;"><tr><th colspan="12">Palette couleur</th></tr>';
                for(var i=1;i<49;i++)
                {
	      texte += "<td bgcolor=\"" + ar_couleurs[i-1] + "\" style=\"width:8.3%; border:1px solid #000000;\" onclick=\"palette.getCouleur('" + ar_couleurs[i-1] + "')\">&nbsp;</td>";
	      if(i%12 == 0)
	      {
	              texte += "</tr><tr>";
	      }
                }
                texte += "</table>";
                this.id_pal.innerHTML = texte;
     }
     function pal_update(couleur)
     {
                //Mettre à jour le champ et fermer le cadre en fonction de la couleur choisie
                this.id_chp.value = couleur;
                this.id_pal.style.display = "none";
     }
     function pal_fermeture()
     {
                if (this.time == null)
                {
	      this.time = setTimeout("palette.suppr()", 300);
                }
     }
     function pal_stopferm()
     {
                if(this.time != null)
                {
	      clearTimeout(this.time);
	      this.time = null;
                }
     }
     function pal_suppr()
     {
                this.id_pal.style.display = "none";
     }
     
     palette = new palette();

