function Redimensionner_Get_X(taille_image_x, taille_image_y, taille_min)
{
   	var taille = Redimensionner_GetNewSize(taille_image_x, taille_image_y, taille_min);
	return taille[0];	
}

function Redimensionner_Get_Y(taille_image_x, taille_image_y, taille_min)
{
   	var taille = Redimensionner_GetNewSize(taille_image_x, taille_image_y, taille_min);
	return taille[1];	
}

function Redimensionner_GetNewSize(taille_image_x, taille_image_y, taille_min)
{
	 
	  if(taille_image_x <= taille_min && taille_image_y <= taille_min)
	  {
	   var taille_image = new Array(taille_image_x, taille_image_y);
	   return taille_image;
	  }
	  
	  var ratio = 1;
	  
	  if(taille_image_x > taille_image_y) //on divise largeur par hauteur pour obtenir le ratio
	  {
	   var largeur = taille_image_x;
	   var hauteur = taille_image_y;
	   var dimension = 1; //si 1 alors paysage
	  }
	  
	  else
	  {
	   var largeur = taille_image_y;
	   var hauteur = taille_image_x;	
	   var dimension = 0;
	  }
	  
	  ratio = hauteur/largeur;
	  
	  if(dimension) //si c'est en paysage
	  {
	   var nouvelle_hauteur = ratio*taille_min;
	   var nouvelle_largeur = taille_min;
	   
	   nouvelle_largeur = Math.round(nouvelle_largeur);
	   nouvelle_hauteur = Math.round(nouvelle_hauteur);
	   
	   var taille_image = new Array(nouvelle_largeur, nouvelle_hauteur);
	   return taille_image;
	  }
	  
	  else
	  {
	   var nouvelle_largeur = ratio*taille_min;
	   var nouvelle_hauteur = taille_min;
	   
	   nouvelle_largeur = Math.round(nouvelle_largeur);
	   nouvelle_hauteur = Math.round(nouvelle_hauteur);
	   
	   var taille_image = new Array(nouvelle_largeur, nouvelle_hauteur);
	   return taille_image;
	  }
	  
}

function AddImageFOW(Area, id_image, x, y, type)
{
 if(!type)
 {
	opener.document.getElementById(Area).value += '<image source="'+id_image+'", x="'+x+'", y="'+y+'" />';
 }
 
 else
 {
	opener.document.getElementById(Area).value += '<image href="'+id_image+'", x="'+x+'", y="'+y+'" />';
 }
}

function Set_Value(id_zone)
{	

/*
Déclencheur:
onFocus
onBlur

Remplir l'attribut "alt" dans l'input il définira le texte par défaut 
*/

		var zone = document.getElementById(id_zone);
		texte = zone.alt;
		
		if(zone.value == "")
		{
		 zone.value = texte;
		 return;
		}
		
		if(zone.value == texte)
		{
		 zone.value = "";
		 return;
		}

}

function Verifier_form__layout() 
{
	
 if(document.layout.titre.value == "" || document.layout.titre.value == document.layout.titre.alt)  {
   alert("Veuillez entrer un titre !");
   document.layout.titre.focus();
   return false;
  }

return true;

}

function Verifier_form__layout_com() 
{
	
 if(document.layout.titre.value == "" || document.layout.titre.value == document.layout.titre.alt)  {
   alert("Veuillez entrer un titre !");
   document.layout.titre.focus();
   return false;
  }

 if(document.layout.pseudo.value == "" || document.layout.pseudo.value == document.layout.pseudo.alt)  {
   alert("Veuillez entrer un pseudo !");
   document.layout.pseudo.focus();
   return false;
  }

return true;

}

function Verifier_form__upload() 
{
	
 if(document.envoi_image.file_name.value == "" || document.envoi_image.file_name.value == document.envoi_image.file_name.alt)  {
   alert("Veuillez entrer un titre !");
   document.envoi_image.file_name.focus();
   return false;
  }

return true;

}
function Show_element(id_element)
{
  if (document.getElementById && document.getElementById(id_element) != null)
    {
    document.getElementById(id_element).style.visibility='visible';
    document.getElementById(id_element).style.display='block';
    }
}

function Hide_element(id_element)
{
  if (document.getElementById && document.getElementById(id_element) != null)
    {
    document.getElementById(id_element).style.visibility='hidden';
    document.getElementById(id_element).style.display='none';
    }
}

function ShowHide_element(id_element)
{
  if (document.getElementById && document.getElementById(id_element) != null)
    {
	 
	 if(document.getElementById(id_element).style.visibility == 'hidden' && document.getElementById(id_element).style.display == 'none')
	 {
	  document.getElementById(id_element).style.visibility='visible';
      document.getElementById(id_element).style.display='block';
	  return;
	 }
	 
	 else if(document.getElementById(id_element).style.visibility == 'visible' && document.getElementById(id_element).style.display == 'block')
	 {
	  document.getElementById(id_element).style.visibility='hidden';
      document.getElementById(id_element).style.display='none';
	  return;
	 }	
	  
	 else
	 {
	  document.getElementById(id_element).style.visibility='hidden';
      document.getElementById(id_element).style.display='none';
	  return;	 
	 }
	}
}

function insertTag(startTag, endTag, textareaId, tagType, form, textarea) {
	
	

	  var field = document.getElementById(textareaId); 

        field.focus();
        
        /* === Partie 1 : on récupère la sélection === */
        if (window.ActiveXObject) {
                var textRange = document.selection.createRange();            
                var currentSelection = textRange.text;
        } else {
                var startSelection   = field.value.substring(0, field.selectionStart);
                var currentSelection = field.value.substring(field.selectionStart, field.selectionEnd);
                var endSelection     = field.value.substring(field.selectionEnd);               
        }
        
        /* === Partie 2 : on analyse le tagType === */
        if (tagType) {
                switch (tagType) {
						case "lien":
								endTag = "</lien>";
								if (currentSelection) { // Il y a une sélection
										if (currentSelection.indexOf("http://") == 0 || currentSelection.indexOf("https://") == 0 || currentSelection.indexOf("ftp://") == 0 || currentSelection.indexOf("www.") == 0) {
												// La sélection semble être un lien. On demande alors le libellé
												var label = prompt("Quel est le libellé du lien ?") || "";
												startTag = "<lien url=\"" + currentSelection + "\">";
												currentSelection = label;
										} else {
												// La sélection n'est pas un lien, donc c'est le libelle. On demande alors l'URL
												var URL = prompt("Quelle est l'url ?");
												startTag = "<lien url=\"" + URL + "\">";
										}
								} else { // Pas de sélection, donc on demande l'URL et le libelle
										var URL = prompt("Quelle est l'url ?") || "";
										var label = prompt("Quel est le libellé du lien ?") || "";
										startTag = "<lien url=\"" + URL + "\">";
										currentSelection = label;                     
								}
						break;



                }
        }
        
        /* === Partie 3 : on insère le tout === */
        if (window.ActiveXObject) {
                textRange.text = startTag + currentSelection + endTag;
                textRange.moveStart("character", -endTag.length - currentSelection.length);
                textRange.moveEnd("character", -endTag.length);
                textRange.select();     
        } else {
                field.value = startSelection + startTag + currentSelection + endTag + endSelection;
                field.focus();
                field.setSelectionRange(startSelection.length + startTag.length, startSelection.length + startTag.length + currentSelection.length);
        }       
}


function preview(textareaId, previewDiv) {
	var field = textareaId.value;
	if (document.getElementById('previsualisation').checked && field) {
		
		var smiliesName = new Array(':magicien:', ':colere:', ':diable:', ':ange:', ':ninja:', '&gt;_&lt;', ':pirate:', ':zorro:', ':honte:', ':soleil:', ':\'\\(', ':waw:', ':\\)', ':D', ';\\)', ':p', ':lol:', ':euh:', ':\\(', ':o', ':colere2:', 'o_O', '\\^\\^', ':\\-°');
		var smiliesUrl  = new Array('magicien.png', 'angry.gif', 'diable.png', 'ange.png', 'ninja.png', 'pinch.png', 'pirate.png', 'zorro.png', 'rouge.png', 'soleil.png', 'pleure.png', 'waw.png', 'smile.png', 'heureux.png', 'clin.png', 'langue.png', 'rire.gif', 'unsure.gif', 'triste.png', 'huh.png', 'mechant.png', 'blink.gif', 'hihi.png', 'siffle.png');
		var smiliesPath = "http://www.siteduzero.com/Templates/images/smilies/";
	
		field = field.replace(/&/g, '&amp;');
		field = field.replace(/</g, '&lt;').replace(/>/g, '&gt;');
		field = field.replace(/\n/g, '<br />').replace(/\t/g, '&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;');
		
		field = field.replace(/&lt;gras&gt;([\s\S]*?)&lt;\/gras&gt;/g, '<strong>$1</strong>');
		field = field.replace(/&lt;italique&gt;([\s\S]*?)&lt;\/italique&gt;/g, '<em>$1</em>');
		field = field.replace(/&lt;lien&gt;([\s\S]*?)&lt;\/lien&gt;/g, '<a href="$1">$1</a>');
		field = field.replace(/&lt;lien url="([\s\S]*?)"&gt;([\s\S]*?)&lt;\/lien&gt;/g, '<a href="$1" title="$2">$2</a>');
		field = field.replace(/&lt;image&gt;([\s\S]*?)&lt;\/image&gt;/g, '<img src="$1" alt="Image" />');
		field = field.replace(/&lt;taille valeur=\"(.*?)\"&gt;([\s\S]*?)&lt;\/taille&gt;/g, '<span class="$1">$2</span>');
		field = field.replace(/&lt;position valeur=\"(.*?)\"&gt;([\s\S]*?)&lt;\/position&gt;/g, '<div class="$1">$2</div>');
		field = field.replace(/&lt;couleur valeur=\"(.*?)\"&gt;([\s\S]*?)&lt;\/couleur&gt;/g, '<span class="$1">$2</span>');
		field = field.replace(/&lt;police valeur=\"(.*?)\"&gt;([\s\S]*?)&lt;\/police&gt;/g, '<span class="$1">$2</span>');
		field = field.replace(/&lt;barrer&gt;([\s\S]*?)&lt;\/barrer&gt;/g, '<del>$1</del>');
		field = field.replace(/&lt;souligner&gt;([\s\S]*?)&lt;\/souligner&gt;/g, '<span class="souligner">$1</span>');
		field = field.replace(/&lt;image href=\"(.*?)\", x=\"(.*?)\", y=\"(.*?)\" \/&gt;/g, '<div class="image_prev_auto"><p>Les images ne peuvent être vus en prévisualisation automatique.</p></div>');
		field = field.replace(/&lt;image source=\"(.*?)\", x=\"(.*?)\", y=\"(.*?)\" \/&gt;/g, '<div class="image_prev_auto"><p>Les images ne peuvent être vus en prévisualisation automatique.</p></div>');
		
		for (var i=0, c=smiliesName.length; i<c; i++) {
			field = field.replace(new RegExp(" " + smiliesName[i] + " ", "g"), "&nbsp;<img src=\"" + smiliesPath + smiliesUrl[i] + "\" alt=\"" + smiliesUrl[i] + "\" />&nbsp;");
		}
		
		document.getElementById(previewDiv).innerHTML = field;
	}
}

function getXMLHttpRequest() {
	var xhr = null;
	
	if (window.XMLHttpRequest || window.ActiveXObject) 
	{
		if (window.ActiveXObject) 
		{
			try 
			{
				xhr = new ActiveXObject("Msxml2.XMLHTTP");
			} 
			
			catch(e) 
			{
				xhr = new ActiveXObject("Microsoft.XMLHTTP");
			}
		} 
		
		else 
		{
			xhr = new XMLHttpRequest();
		}
	} 
	
	else 
	{
		alert("Votre navigateur ne supporte pas l'objet XMLHTTPRequest...");
		return null;
	}
	
	return xhr;
}

function view(textareaId, viewDiv)
{
	var content = encodeURIComponent(document.getElementById(textareaId).value);
	var xhr = getXMLHttpRequest();
	
	if (xhr && xhr.readyState != 0)
	{
		xhr.abort();
		delete xhr;
	}
	
	xhr.onreadystatechange = function() 
	{
		if (xhr.readyState == 4 && xhr.status == 200){
			document.getElementById(viewDiv).innerHTML = xhr.responseText;
		} else if (xhr.readyState == 3){
			document.getElementById(viewDiv).innerHTML = "<div style=\"text-align: center;\">Chargement en cours...</div>";
		}
	}
	
	xhr.open("POST", "view.php", true);
	xhr.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
	xhr.send("string=" + content);
}
