var ratio_x_setted = 0;
var ratio_y_setted = 0;

function get_new_ratio_x(change)
{
var ratio = document.getElementById('ratio_x');
return Number(ratio.value) + Number(change);
}

function get_new_ratio_y(change)
{
var ratio = document.getElementById('ratio_y');
return Number(ratio.value) + Number(change);
}

function get_new_ratio_x2(new_x)
{
return new_x / x_from * 100
}

function get_new_ratio_y2(new_y)
{
return new_y / y_from * 100
}
function edit_x(new_ratio)
{
var ratio = document.getElementById('ratio_x');
	if (new_ratio <= 100 && new_ratio > 0)
	{
	var new_val = Math.round((x_from * new_ratio) / 100);
	document.getElementById('x').value = new_val;
	ratio.value = new_ratio;
	document.getElementById('image_redim').style.width = new_val+'px';
	ratio_x_setted = 1;
		if (document.getElementById('same_ratio').checked && !ratio_y_setted)
		edit_y(new_ratio);
	}
ratio_x_setted = 0;
return false;
}

function edit_y(new_ratio)
{
var ratio = document.getElementById('ratio_y');
	if (new_ratio <= 100 && new_ratio > 0)
	{
	var new_val = Math.round((y_from * new_ratio) / 100);
	document.getElementById('y').value = new_val;
	ratio.value = new_ratio;
	document.getElementById('image_redim').style.height = new_val+'px';
	ratio_y_setted = 1;
		if (document.getElementById('same_ratio').checked && !ratio_x_setted)
		edit_x(new_ratio);
	}
ratio_y_setted = 0;
return false;
}

function equal_ratio()
{
	if (document.getElementById('ratio_x').value > 100)
	document.getElementById('ratio_x').value = 100;
	else if (document.getElementById('ratio_x').value <= 0)
	document.getElementById('ratio_x').value = 5;
	
	if (document.getElementById('same_ratio').checked)
	document.getElementById('ratio_y').value = document.getElementById('ratio_x').value;
edit_x(document.getElementById('ratio_x').value);
edit_y(document.getElementById('ratio_y').value);
return false;
}

function insere_avatar(image, x, y)
{
opener.document.getElementById('avatar_url').value = image;
}

function insere_photo(image, x, y)
{
opener.document.getElementById('photo_url').value = image;
}

function insere(id_textarea, image_link, legende)
{
var champ = opener.document.getElementById(id_textarea);
var scroll = champ.scrollTop;

if(arguments.length > 3)
	{
	image = '[image2 url="' + image_link + '"';
		if (legende != '')
		image += ' legende="'+legende+'"';
	image += ']' + arguments[3] + '[/image2]';
	}
else
	{
	image = '[image2';
		if (legende != '')
		image += ' legende="'+legende+'"';
	image +=']'+image_link+'[/image2]';
	}

	if (champ.curseur)
	{
	champ.curseur.text = image;
	}
	else if (champ.selectionStart != 'undefined' && champ.selectionEnd != 'undefined')
	{
	var debut = champ.value.substring(0, champ.selectionStart);
	var fin = champ.value.substring(champ.selectionEnd);
	champ.value = debut + image + fin;
	champ.focus();
	champ.setSelectionRange(debut.length + image.length, champ.value.length - fin.length);
	}
	else
	{
	champ.value  += image;
	champ.focus();
	}
champ.scrollTop = scroll;

var champ = opener.document.getElementById(id_textarea);
var div_prev = opener.document.getElementById('prev_'+id_textarea);
var contenu = champ.value;

	if (document.body.scrollTop)
	var scroll = opener.document.body.scrollTop;
	else
	var scroll = opener.document.window.pageYOffset;

	if (champ.selectionStart != 'undefined' && !champ.curseur)
	{
	var pos = champ.selectionStart;
	contenu = remplace(remplace(contenu.substring(0, pos),'>','&gt;'),'<','&lt;') + '<a href="#" name="prev_ancre_suivi" id="prev_ancre_suivi"></a>' + remplace(remplace(contenu.substring(pos),'>','&gt;'),'<','&lt;');
	}
	else
	contenu = remplace(remplace(contenu,'>','&gt;'),'<','&lt;');

contenu = remplace(contenu, "\n", '<br />');

contenu = contenu.replace(/&lt;code=(html|php|sql|c|c\+\+|javascript|actionscript|java)&gt;([\s\S]+?)&lt;\/code&gt;/g, '<span class="code">Code</span><div class="code2 $1">$2</div>');
contenu = contenu.replace(/&lt;gras&gt;([\s\S]+?)&lt;\/gras&gt;/g, '<strong>$1</strong>');
contenu = contenu.replace(/&lt;souligne&gt;([\s\S]+?)&lt;\/souligne&gt;/g, '<span class="souligne">$1</span>');
contenu = contenu.replace(/&lt;italique&gt;([\s\S]+?)&lt;\/italique&gt;/g, '<span class="italique">$1</span>');
contenu = contenu.replace(/&lt;barre&gt;([\s\S]+?)&lt;\/barre&gt;/g, '<strike>$1</strike>');
contenu = contenu.replace(/&lt;couleur=(orange|noir|marron|vertf|olive|marine|violet|bleugris|argent|gris|rouge|vertc|jaune|bleu|rose|turquoise|blanc)&gt;([\s\S]+?)&lt;\/couleur&gt;/g, '<span class="$1">$2</span>');
contenu = contenu.replace(/&lt;police=(arial|times|courrier|impact|geneva|optima)&gt;([\s\S]+?)&lt;\/police&gt;/g, '<span class="$1">$2</span>');
contenu = contenu.replace(/&lt;taille=(ttpetit|tpetit|petit|gros|tgros|ttgros)&gt;([\s\S]+?)&lt;\/taille&gt;/g, '<span class="$1">$2</span>');
contenu = contenu.replace(/&lt;image[ \w="]*&gt;(.+?)&lt;\/image&gt;/g, '<img src="$1" alt="Image" />');
contenu = contenu.replace(/&lt;position=(gauche|droite|centre|justifie)&gt;([\s\S]+?)&lt;\/position&gt;/g, '<div class="$1">$2</div>');
contenu = contenu.replace(/&lt;lien&gt;(.+?)&lt;\/lien&gt;/g, '<a href="$1">$1</a>');
contenu = contenu.replace(/&lt;lien=(.+?)&gt;(.+?)&lt;\/lien&gt;/g, '<a href="$1">$2</a>');
contenu = contenu.replace(/&lt;email&gt;(.+?)&lt;\/email&gt;/g, '<a href="mailto:$1">$1</a>');
contenu = contenu.replace(/&lt;email=(.+?)&gt;(.+?)&lt;\/email&gt;/g, '<a href="mailto:$1">$2</a>');
contenu = contenu.replace(/&lt;(information|attention|erreur|question)&gt;([\s\S]+?)&lt;\/\1&gt;/g, '<div class="rmq $1">$2</div>');
contenu = contenu.replace(/&lt;liste&gt;\s*(<br \/>)?\s*([\s\S]+?)\s*(<br \/>)?\s*&lt;\/liste&gt;/g, '<ul>$2</ul>');
contenu = contenu.replace(/&lt;puce&gt;([\s\S]+?)&lt;\/puce&gt;\s*(<br \/>)?\s*/g, '<li>$1</li>');
contenu = contenu.replace(/&lt;flash=(\d+)\*(\d+)&gt;(.+?)&lt;\/flash&gt;/g, '<object  type="application/x-shockwave-flash" data="$3" width="$1" height="$2"><param name="movie" value="$3" /><param name="quality" value="high" />Animation flash</object>');

var i = 0;
	while (contenu.indexOf("&lt;citation") != -1 && contenu.indexOf("&lt;/citation&gt;") != -1 && (contenu.indexOf("&lt;citation") < contenu.indexOf("&lt;/citation&gt;")) && i < 30)
	{
	contenu = contenu.replace(/&lt;citation=(.*?)&gt;([\s\S]+?)&lt;\/citation&gt;/g, '<span class="citation">Citation : $1</span><div class="citation2">$2</div>');
	i++;
	}

contenu = remplace(contenu, ':)', '<img src="include/images/smilies/smile.png" alt="Smiley" class="smilies" />');
contenu = remplace(contenu, ':D', '<img src="include/images/smilies/heureux.png" alt="Smiley" class="smilies" />');
contenu = remplace(contenu, ';)', '<img src="include/images/smilies/clin.png" alt="Smiley" class="smilies" />');
contenu = remplace(contenu, ':p', '<img src="include/images/smilies/langue.png" alt="Smiley" class="smilies" />');
contenu = remplace(contenu, ':lol:', '<img src="include/images/smilies/rire.gif" alt="Smiley" class="smilies" />');
contenu = remplace(contenu, ':euh:', '<img src="include/images/smilies/unsure.gif" alt="Smiley" class="smilies" />');
contenu = remplace(contenu, ':(', '<img src="include/images/smilies/triste.png" alt="Smiley" class="smilies" />');
contenu = remplace(contenu, ':o', '<img src="include/images/smilies/huh.png" alt="Smiley" class="smilies" />');
contenu = remplace(contenu, ':colere:', '<img src="include/images/smilies/mechant.png" alt="Smiley" class="smilies" />');
contenu = remplace(contenu, 'o_O', '<img src="include/images/smilies/blink.gif" alt="Smiley" class="smilies" />');
contenu = remplace(contenu, '^^', '<img src="include/images/smilies/hihi.png" alt="Smiley" class="smilies" />');
contenu = remplace(contenu, ':-°', '<img src="include/images/smilies/siffle.png" alt="Smiley" class="smilies" />');

div_prev.innerHTML = contenu;
	if (opener.document.getElementById('prev_ancre_suivi'))
	opener.document.getElementById('prev_ancre_suivi').focus();
opener.document.getElementById(id_textarea).focus();
}

function remplace(data, search, replace)
{
var temp = data;
var longueur = search.length;
	while (temp.indexOf(search) > -1)
	{
	pos= temp.indexOf(search);
	temp = (temp.substring(0, pos) + replace + temp.substring((pos + longueur), temp.length));
	}
return temp;
}