//Tableau contenant la liste des elements disponibles dans le TT
var tab_buttons = new Array();
tab_buttons[0] = "bold";
tab_buttons[1] = "italic";
tab_buttons[2] = "souligne";
tab_buttons[3] = "gauche";
tab_buttons[4] = "centrer"
tab_buttons[5] = "droite";
tab_buttons[6] = "full";
//tab_buttons[7] = "ligne";
//tab_buttons[8] = "liste";
//tab_buttons[9] = "listeOrdonnee";
tab_buttons[10] = "retraitOff";
tab_buttons[11] = "retraitOn";
tab_buttons[12] = "couleur";
//tab_buttons[13] = "backColor";
tab_buttons[13] = "fichier";
tab_buttons[14] = "lienOn";
tab_buttons[15] = "lienOff";
tab_buttons[16] = "paragraphe";
tab_buttons[17] = "imageFlecheRouge";
tab_buttons[18] = "imageFlecheGrise";
tab_buttons[19] = "imageFlecheBleue";
tab_buttons[20] = "imageBulletGrise";
tab_buttons[21] = "imageBulletBleue";
tab_buttons[22] = "imageBulletRed";
tab_buttons[23] = "imageBigBlue";

//tab_buttons[21] = "image";

var contents     = new Array;
var allow_option = new Array;
var cursor       = new Array;
var verif_copie  = "";
var i_titreAff = 0;

//Liste des fonts
var font_list = new Array();
/*font_list[0] = new Array("Arial", "Arial");
font_list[1] = new Array("Helvetica", "Helvetica");
font_list[2] = new Array("Sans Serif",  "Sans Serif");*/

//Liste taille des fonts
var fontsize_list = new Array();
fontsize_list[0] = new Array("1", "7pt");
fontsize_list[1] = new Array("2", "10pt");
fontsize_list[2] = new Array("3", "12pt");
fontsize_list[3] = new Array("4", "13.5pt");
fontsize_list[4] = new Array("5", "18pt");
fontsize_list[5] = new Array("6", "24pt");
//fontsize_list[6] = new Array("7", "Enorme");

/*fn_createTraitementTexte****************************************************
| description : Cree le traitement de texte
|----------------------------------------------------------------------------
| Algorithme :
|----------------------------------------------------------------------------
| Creation : 20070307
| Auteur   : gda
| Revision :  
| Auteur   :  
|----------------------------------------------------------------------------
| Parametres : E   s_nom : nom a donner aux differents element du formulaire
|		           s_content : contenu a afficher dans le traitement de texte
|		           tab_outils : outils du traitement de texte a afficher
|					possibilites : 	- bold
|									- italic
|									- souligne
|									- image
|									- lienOn
|									- lienOff
|									- gauche
|									- centrer
|									- droite
|									- couleur
|									- taille
|									- copier
|			i_titre : Indique s il existe une zone de saisie pour un titre
| Retour :  Affiche un traitement de texte avec la barre d outil
****************************************************************************/ 
function fn_createTraitementTexte(s_nom,s_content,tab_outils) 
{    
  document.write("<table class='TT_form' cellpadding=0 cellspacing=0>");
  document.write("<tr class='TT_barreoutils'>");
  document.write("<td colspan='2'>");
  
  for(i=0;i<tab_outils.length;i++)
  {
	
	if(i==16)
	  document.write("</td></tr><tr><td colspan='2'>");
	  
    switch(tab_outils[i])
	{		
	  //Gras
	  case "bold" :
	    document.write("<input type='button' title='Gras' onclick='FormatText(\"" + s_nom + "\",\"bold\",\"\");' value='' onmouseover='this.style.cursor=\"pointer\"' class='TT_button TT_bold'>");     
		  break;
		
	  //Italic
	  case "italic" : 
	    document.write("<input type='button' title='Italique' onclick='FormatText(\"" + s_nom + "\",\"italic\",\"\");;' onmouseover='this.style.cursor=\"pointer\"' value='' class='TT_button TT_italic'>"); 
		break;
		
	  //Souligne
	  case "souligne" :
	    document.write("<input type='button' title='Souligné' onclick='FormatText(\"" + s_nom + "\",\"underline\",\"\");' onmouseover='this.style.cursor=\"pointer\"' value='' class='TT_button TT_underline'>"); 
		  break;
		
	  //Image
	  case "image" :
	    document.write("<input type='button' title='Ajouter une image' onclick='alert(document.selection.createRange().text);' onmouseover='this.style.cursor=\"pointer\"' class='TT_button TT_imageFlecheRouge'>"); 
		  break;
		  
	  //Fleche rouge
	  case "imageFlecheRouge" :
	    document.write("<input type='button' title='Ajouter une flèche rouge' onclick='FormatText(\"" + s_nom + "\",\"InsertImage\",\"scripts/TT/images/flecherouge.gif\");' onmouseover='this.style.cursor=\"pointer\"' class='TT_button TT_imageFlecheRouge'>"); 
		  break;
		  
	  //Fleche grise
	  case "imageFlecheGrise" :
	    document.write("<input type='button' title='Ajouter une flèche grise' onclick='FormatText(\"" + s_nom + "\",\"InsertImage\",\"scripts/TT/images/flechegrise.gif\");' onmouseover='this.style.cursor=\"pointer\"' class='TT_button TT_imageFlecheGrise'>"); 	    
		  break;
		  
	   //Fleche blue
	  case "imageFlecheBleue" :
	    document.write("<input type='button' title='Ajouter une flèche blue' onclick='FormatText(\"" + s_nom + "\",\"InsertImage\",\"scripts/TT/images/closerblue.gif\");' onmouseover='this.style.cursor=\"pointer\"' class='TT_button TT_imageFlecheBleue'>"); 
		  break;
		  
	  //Bullet grise
	  case "imageBulletGrise" :
	    document.write("<input type='button' title='Ajouter une bullet grise' onclick='FormatText(\"" + s_nom + "\",\"InsertImage\",\"scripts/TT/images/bulletgrise.gif\");' onmouseover='this.style.cursor=\"pointer\"' class='TT_button TT_imageBulletGrise'>"); 
		  break;
		  
	  //Bullet Bleue
	  case "imageBulletBleue" :
	    document.write("<input type='button' title='Ajouter une bullet bleue' onclick='FormatText(\"" + s_nom + "\",\"InsertImage\",\"scripts/TT/images/bulletbleue.gif\");' onmouseover='this.style.cursor=\"pointer\"' class='TT_button TT_imageBulletBleue'>"); 
		  break;
		  
	  //Bullet red
	  case "imageBulletRed" :
	    document.write("<input type='button' title='Ajouter une bullet grise' onclick='FormatText(\"" + s_nom + "\",\"InsertImage\",\"scripts/TT/images/bulletred.gif\");' onmouseover='this.style.cursor=\"pointer\"' class='TT_button TT_imageBulletRed'>"); 
		  break;
		  
	   //Big Blue
	   case "imageBigBlue" :
	    document.write("<input type='button' title='Ajouter une Flèche bleue' onclick='FormatText(\"" + s_nom + "\",\"InsertImage\",\"scripts/TT/images/bigcloserblue.gif\");' onmouseover='this.style.cursor=\"pointer\"' class='TT_button TT_imageBigBlue'>"); 
		  break;
		  
	  //Active un lien
	  case "lienOn" :
	    document.write("<input type='button' title='Ajouter un lien' onclick='openPopup(\"popupLiens.html?s_nom=" + s_nom + "\",\"popupLiens\",700,250);' onmouseover='this.style.cursor=\"pointer\"' class='TT_button TT_link'>"); 
		  break;
		  
	  //Desactive un lien
	  case "lienOff" :
   	  document.write("<input type='button' title='Retirer un lien' onclick='FormatText(\"" + s_nom + "\",\"unlink\",\"\");' onmouseover='this.style.cursor=\"pointer\"' class='TT_button TT_unlink'>"); 
		  break;
		  
	  //Alignement Gauche
	  case "gauche" :
	    document.write("<input type='button' title='Aligner à gauche' onclick='FormatText(\"" + s_nom + "\",\"justifyleft\",\"\");' onmouseover='this.style.cursor=\"pointer\"' class='TT_button TT_justifyLeft'>"); 
		  break;
		  
	  //Alignement Centre	
	  case "centrer" :
	    document.write("<input type='button' title='Alignement au centre' onclick='FormatText(\"" + s_nom + "\",\"justifycenter\",\"\");' onmouseover='this.style.cursor=\"pointer\"' class='TT_button TT_justifyCenter'>"); 
		  break;
		  
	  //Alignement Droite	 
	  case "droite" :
	    document.write("<input type='button' title='Alignement à droite' onclick='FormatText(\"" + s_nom + "\",\"justifyright\",\"\");' onmouseover='this.style.cursor=\"pointer\"' class='TT_button TT_justifyRight'>"); 
		  break;
		  
	  //Alignement	 
	  case "full" :
	    document.write("<input type='button' title='Alignement justifié' onclick='FormatText(\"" + s_nom + "\",\"justifyfull\",\"\");' onmouseover='this.style.cursor=\"pointer\"' class='TT_button TT_justifyfull'>"); 
		  break;
		  
	  //Ligne horizontale	 
	  case "ligne" :
	    document.write("<input type='button' title='Ajouter une barre horizontale' onclick='FormatText(\"" + s_nom + "\",\"inserthorizontalrule\",\"\");' onmouseover='this.style.cursor=\"pointer\"' class='TT_button TT_inserthorizontalrule'>"); 
		  break;
		  
	  //Liste Ordonnee
	  case "liste" :
	    document.write("<input type='button' title='Numerotation' onclick='FormatText(\"" + s_nom + "\",\"insertorderedlist\",\"\");' onmouseover='this.style.cursor=\"pointer\"' class='TT_button TT_insertorderedlist'>"); 
		  break;
		  
	  //Liste
	  case "listeOrdonnee" :
	    document.write("<input type='button' title='Puces' onclick='FormatText(\"" + s_nom + "\",\"insertunorderedlist\",\"\");' onmouseover='this.style.cursor=\"pointer\"' class='TT_button TT_insertunorderedlist'>"); 
		  break;
		  
	  //Diminuer le retrait
	  case "retraitOff" :
	    document.write("<input type='button' title='Diminuer le retrait' onclick='FormatText(\"" + s_nom + "\",\"outdent\",\"\");' onmouseover='this.style.cursor=\"pointer\"' class='TT_button TT_outdent'>"); 
		  break;
		  
	  //Augmenter le retrait
	  case "retraitOn" :
	    document.write("<input type='button' title='Augmenter le retrait' onclick='FormatText(\"" + s_nom + "\",\"indent\",\"\");' onmouseover='this.style.cursor=\"pointer\"' class='TT_button TT_indent'>"); 
		  break;
		  
	  //Couleur du texte
	  case "couleur" :
	    document.write("<input type='button' title='Couleur du texte' onclick='window.open(\"couleur.html?s_nom=" + s_nom + "&command=forecolor\",\"palette\",\"width=100px,height=25px,resizable=yes\")' onmouseover='this.style.cursor=\"pointer\"' class='TT_button TT_textColor'>");
		  break;
		  
	  //Couleur de fond
	  case "backColor" :
	    document.write("<input type='button' title='Couleur de fond' onclick='window.open(\"couleur.html?s_nom=" + s_nom + "&command=hilitecolor\",\"palette\",\"width=250px,height=170px\")' onmouseover='this.style.cursor=\"pointer\"' class='TT_button TT_backColor'>");
		  break;	
		  
	  //Paragraphe
	  case "paragraphe" :
	    document.write("<input type='button' title='Paragraphe' onclick='FormatText(\"" + s_nom + "\",\"InsertParagraph\",\"\");' onmouseover='this.style.cursor=\"pointer\"' class='TT_button TT_paragraphe'>");
		  break;	
		  
		//Telechargement fichier
		case "fichier" :
		  document.write("<input type='button' title='Télécharger un fichier' onclick='window.open(\"admin_telechargement.php?s_nom=" + s_nom + "\",\"telechargement\",\"width=350px,height=100px\");' onmouseover='this.style.cursor=\"pointer\"' class='TT_button TT_telechargement'>");
		  break;	
	  }  
	
  }
      
  document.write("<br><br></td>");
  document.write("</tr>");  
  document.write("<tr>");  
  document.write("<td colspan='2'><ul><li>Touches shift+Entrée permettent de passer à la ligne.</li><br>");  
  document.write("<li>Touche Entrée effectue un saut de ligne.</li>");  
  document.write("</td>");  
  document.write("</tr>");  
   
  document.write("<tr valign='top'>");
  document.write("<td align='center' height='90%'>");
  document.write("<iframe frameborder=0 style='width: 100%;height=100%' class='TT_editeur' marginwidth=0 marginheight=0 id='"+s_nom+"' onLoad='fn_initTraitementTexte(this,\""+s_nom+"\");'>Votre navigateur ne supporte pas les IFrames. Impossible de charger l'éditeur.</iframe>");
  document.write("<textarea id='"+s_nom+"_textarea' name='"+s_nom+"_textarea' class='TT_editeur' style='display: none;'></textarea>");
  document.write("</td>");
  document.write("</tr>");
  document.write("<tr>");
  document.write("<td>");
  //document.write("<input type='button' onClick='fn_soumissionTraitementTexte(\""+s_nom+"\");' value='Valider' />");
  document.write("</td>");
  document.write("</tr>");
  document.write("<tr valign='top'>");
  document.write("<td class='tdSelection'>");  
  
  //Verifie que le tableau existe et que celui-ci n est pas vide
  if(font_list != undefined && font_list.length > 0)
  {    
      
    document.write("Polices : <select onchange='FormatText(\"" + s_nom + "\",\"FontName\",this.value)'>");
	document.write("<option value='-1' SELECTED>...</option>");
	//Parcours du tableau contenant les fonts
	for(i=0;i<font_list.length;i++)
	{
	  document.write("<option value='" + font_list[i][0] +"'>");
	  document.write(font_list[i][1]);
	  document.write("</option>");
	}
    document.write("</select>&nbsp;&nbsp;");   
  }
  
  //Verifie que le tableau existe et que celui-ci n est pas vide
  if(fontsize_list != undefined && fontsize_list.length > 0)
  {       
    document.write("Taille : <select onchange='FormatText(\"" + s_nom + "\",\"FontSize\",this.value)'>");
	document.write("<option value='-1' SELECTED>...</option>");
	//Parcours du tableau contenant la taille des fonts
	for(i=0;i<fontsize_list.length;i++)
	{
	  document.write("<option value='" + fontsize_list[i][0] +"'>");
	  document.write(fontsize_list[i][1]);
	  document.write("</option>");
	}
    document.write("</select>");
       
  }
  document.write("</td>"); 
  document.write("</tr>");
  document.write("</table>");
    
  contents[s_nom] = s_content;
}

/*fn_createTraitementTexte****************************************************
| description : Initialisation du traitement de texte
|----------------------------------------------------------------------------
| Algorithme :
|----------------------------------------------------------------------------
| Creation : 20070304
| Auteur   : gda
| Revision :  
| Auteur   :  
|----------------------------------------------------------------------------
| Parametres : E   moz_iframe : nom du iframe pour mozilla
|				   ie_iframe : nom du iframe pour ie
| Retour :  Initialisation du traitement de texte
****************************************************************************/ 
function fn_initTraitementTexte(moz_iframe,ie_iframe) 
{
  var clientPC = navigator.userAgent.toLowerCase();
  var ie = ((clientPC.indexOf("msie") != -1) && (clientPC.indexOf("opera") == -1));

  if(ie) 
  {
	editor = window.frames[ie_iframe].document;	
	//Test si le content contient du texte sinon met un espace par defaut
	if(contents[ie_iframe].length == 0) editor.write("&nbsp;");
 	else editor.write(contents[ie_iframe]);
 	
	editor.designMode = 'On';
  } 
  else 
  {
	editor = moz_iframe.contentDocument;
	
	//Test si le content contient du texte sinon met un espace par defaut
	if(contents[ie_iframe].length == 0) document.getElementById(ie_iframe).contentWindow.document.body.innerHTML = "&nbsp;";
	else document.getElementById(ie_iframe).contentWindow.document.body.innerHTML = contents[ie_iframe];
	
	editor.designMode = 'On';
  }
	
  //setInterval("verif_content('"+ie_iframe+"')",1)
}

function verif_content(nom) 
{
  var clientPC = navigator.userAgent.toLowerCase();
  var ie = ((clientPC.indexOf("msie") != -1) && (clientPC.indexOf("opera") == -1));
	
  if(ie) 
  {
	if((verif_copie.length-document.getElementById(ie_iframe).contentWindow.document.body.innerHTML.length)<-1) 
	{
	}
  } 
  else 
  {
  }
}

/*fn_soumissionTraitementTexte****************************************************
| description : Soumission du traitement de texte
|----------------------------------------------------------------------------
| Algorithme :
|----------------------------------------------------------------------------
| Creation : 20070304
| Auteur   : gda
| Revision :  
| Auteur   :  
|----------------------------------------------------------------------------
| Parametres : E  s_nom : nom de l iframe
| Retour :  Soumission du traitement de texte
****************************************************************************/ 
function fn_soumissionTraitementTexte(s_nom) 
{
  var clientPC = navigator.userAgent.toLowerCase();
  var ie = ((clientPC.indexOf("msie") != -1) && (clientPC.indexOf("opera") == -1));
	
  if(ie) 
  {
	edoc = window.frames[s_nom].document;
	document.getElementById(s_nom+"_textarea").value = edoc.body.innerHTML;
	//alert(document.getElementById(s_nom+"_textarea").value)
  } 
  else 
  {
	edoc = document.getElementById(s_nom).contentDocument;
	document.getElementById(s_nom+"_textarea").value = edoc.body.innerHTML;		
  }

  //document.forms[s_nom+"_form"].submit();
}

/*openPopup****************************************************
| description : Permet d ouvrir un popup
|----------------------------------------------------------------------------
| Algorithme :
|----------------------------------------------------------------------------
| Creation : 20060916
| Auteur   : gda
| Revision : 
| Auteur   : 
|----------------------------------------------------------------------------
| Parametres : E lienCible = variable contenant la cible a afficher
|                nomFenetre = variable contenant le nom de la fenetre
|                largeur = largeur du popup (maximisee si largeur < 0)
|                hauteur = hauteur du popup (maximisee si hauteur < 0)
|              S 
| Retour : variable objet (window) : Ouverture d un popup
***************************************************************************
*/ 
    function openPopup(lienCible,nomFenetre,largeur,hauteur)
    {
      // Si largeur = 1, position du Popup a gauche, largeur = largeur de l ecran
     
      var haut = null;
      var gauche = null
      if(largeur == -1)
      {
        largeur = screen.width - 10
        gauche = 0
      }
      else
      {
        gauche = ((screen.availWidth) - largeur)  / 2
      }
      
      // Si hauteur = 1, position du Popup en haut, hauteur = hauteur de l ecran
      if(hauteur == -1)
      {
        hauteur = (screen.height) - 30
        haut = 0
      }
      else
      {
        haut = ((screen.availHeight)- hauteur) /2
      }
                  
      popup = window.open(lienCible,nomFenetre,"menubar=no,location=no,status=no,width=" + largeur + "px,height=" + hauteur + "px,scrollbars=yes,top=" + haut + ",left=" + gauche)
      //Donne le focus a la fiche produit si elle etait deja ouverte
      
      if(popup != null) popup.focus();                  
      
    }
