// - Freekill & Joce
var editor_no_change=0;
var TAtextbox = "texte" ;

var tblclick = new Array();
function skyblog_cleartxt(obj)
{
	if (TAnewarticle == 1 && (typeof tblclick[obj.name] == 'undefined'))
	{
		tblclick[obj.name] = true;
		obj.value="";
		editor_no_change=0;
	}
}

function LinkDialog(url)
{
	strHref = prompt("Création d'un lien :\nSaisi une adresse ci-dessous.","http://");
	if (strHref.length && strHref != "http://")
		return TAinsert('[a='+strHref+']','[/a]');
}

function skyblog_recupcolor(obj,bg)
{
	// From HTMLArea
	function convercolor(v)
	{
		// returns the hex representation of one byte (2 digits)
		function hex(d) {
			return (d < 16) ? ("0" + d.toString(16)) : d.toString(16);
		};

		if (typeof v == "number") {
			// we're talking to IE here
			var r = v & 0xFF;
			var g = (v >> 8) & 0xFF;
			var b = (v >> 16) & 0xFF;
			return "#" + hex(r) + hex(g) + hex(b);
		}

		if (v.substr(0, 3) == "rgb") {
			// in rgb(...) form -- Mozilla and Opera
			var re = /rgb\s*\(\s*([0-9]+)\s*,\s*([0-9]+)\s*,\s*([0-9]+)\s*\)/;
			if (v.match(re)) {
				var r = parseInt(RegExp.$1);
				var g = parseInt(RegExp.$2);
				var b = parseInt(RegExp.$3);
				return "#" + hex(r) + hex(g) + hex(b);
			}
			// doesn't match RE?! maybe uses percentages or float numbers
			// -- FIXME: not yet implemented.
			return null;
		}

		if (v.substr(0, 1) == "#") {
			// already hex rgb (hopefully :D )
			return v;
		}

		// if everything else fails ;)
		return null;
	}

	var tag;
	if (bg) { tag = "f"; } else { tag = "c"; }

	if (typeof obj.style.backgroundColor != 'undefined' && obj.style.backgroundColor.length > 0)
	{
		var color = convercolor(obj.style.backgroundColor);
		if (color != null)
			TAinsert('['+tag+'='+color+']','[/'+tag+']');
	}
}

function TAinsert(text1,text2)
{
	function countInstances(ta,open,closed)
	{
		var opening = ta.value.split(open);
		var closing = ta.value.split(closed);
		return opening.length + closing.length - 2;
	}

	var ta = document.getElementById(TAtextbox);
	
	if (document.selection) 
	{
		var str = document.selection.createRange().text;
		ta.focus();
		var sel = document.selection.createRange();

		if (text2!="")
		{
			if (str=="")
			{
				var instances = countInstances(ta,text1,text2);
				if (instances%2 != 0)
				{ 
					sel.text = sel.text + text2;
				}
				else
				{ 
					sel.text = sel.text + text1;
				}
			}
			else
			{
				sel.text = text1 + sel.text + text2;
			}
		}
		else
		{
			sel.text = sel.text + text1;
		}
	}
	else if (ta.selectionStart | ta.selectionStart == 0)
	{
		if (ta.selectionEnd > ta.value.length) { ta.selectionEnd = ta.value.length; }

		var firstPos = ta.selectionStart;
		var secondPos = ta.selectionEnd+text1.length;

		ta.value=ta.value.slice(0,firstPos)+text1+ta.value.slice(firstPos);
		ta.value=ta.value.slice(0,secondPos)+text2+ta.value.slice(secondPos);

		ta.selectionStart = firstPos+text1.length;
		ta.selectionEnd = secondPos;
		ta.focus();
	}
	else
	{ // Opera
		var sel = ta; // document.post.message;

		var instances = countInstances(ta,text1,text2);
		if (instances%2 != 0 && text2 != ""){ sel.value = sel.value + text2; }
		else{ sel.value = sel.value + text1; }
	} 
}

col0 = new Array(255,255,0,255,0,0);
col1 = new Array(255,0,255,255,0,0);
col2 = new Array(0,0,255,0,0,255);
col3 = new Array(0,255,0,0,255,0);
col4 = new Array(0,255,0,255,0,255);

function lightCase(obj,bg)
{
	document.getElementById(TAusedcolor+(bg?'BG':'')).style.backgroundColor = obj.style.backgroundColor;
}
function lightCase2(obj,bg)
{
	document.getElementById(TAactualcolor+(bg?'BG':'')).style.backgroundColor = obj.style.backgroundColor;
}
function skyblog_rgb(dm,ta,bg)
{
	var base_hexa="0123456789ABCDEF";
	function dec2Hexa(number)
	{
		return base_hexa.charAt(Math.floor(number/16))+base_hexa.charAt(number%16);
	}

	function RGB2Hexa(TR,TG,TB)
	{
		return "#"+dec2Hexa(TR)+dec2Hexa(TG)+dec2Hexa(TB);
	}
	
	var txt='';
	
	var t='';
	var fm=dm+18;
	for(i=dm;i<fm+1;i++)
	{
		r=Math.floor(ta[0]+(i-dm)*(ta[1]-ta[0])/(fm-dm));
		g=Math.floor(ta[2]+(i-dm)*(ta[3]-ta[2])/(fm-dm));
		b=Math.floor(ta[4]+(i-dm)*(ta[5]-ta[4])/(fm-dm));
		
		if(bg)
			txt='Mettre le fond du texte en couleur. Syntaxe : [f='+RGB2Hexa(r,g,b)+']Ton texte coloré[/f]';
		else
			txt='Mettre le texte en couleur. Syntaxe : [c='+RGB2Hexa(r,g,b)+']Ton texte coloré[/c]';
		
		t+='<img alt=\"'+txt+'\" class="btcolordyn"; style=\"background-color:'+RGB2Hexa(r,g,b)+';\" src=\"'+TApicpath+'\" onclick=\"skyblog_recupcolor(this,'+(bg?'true':'false')+');lightCase(this,'+(bg?'true':'false')+');\" onmouseover=\"lightCase2(this,'+(bg?'true':'false')+');\" />';
	}
	document.write(t);
}

function skyblog_preview()
{

	function clean(txt){
		return txt.replace(/"/g,'\\"').replace(/\r\n/g, '\\n').replace(/\n/g, '\\n').replace(/\r/g,'').replace(/script/g,'scr"+"ipt');
	}

	var t='<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">\n';
	t+='<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr">\n';
	t+='<head>\n';
 	t+='<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-15" />\n';
	t+='<script type="text/javascript">\n';
	t+='function filltxt(){';
	t+='var f=document.prevform;';
	t+='f.contenu.value="'+clean(document.getElementById(TAtextbox).value)+'";';
	
	var b=document.getElementById(TAimgalignbox);

	
	t+='f.imgalign.value="'+clean(b.options[b.selectedIndex].value)+'";';
	
	t+='f.urlimg.value="'+clean(TAurlimgarticle)+'";';
	t+='f.titlearticle.value="'+clean(document.getElementById(TAtitlebox).value)+'";';
	t+='f.submit();';
	t+='}';
	t+='</scr'+'ipt>\n';
	t+='</head>\n';
	t+='<body onload="filltxt();"><form action="preview.php" method="post" name="prevform">';
	t+='<textarea id="contenu" name="contenu"></textarea>';
	t+='<input type="hidden" name="urlimg" value="" />';
	t+='<input type="hidden" name="titlearticle" value="" />';
	t+='<input type="hidden" name="tpl" value="'+TAtemplate+'" />';
	t+='<input type="hidden" name="imgalign" value="0" />';
	t+='</form></body></html>';
	var w=window.open('','previewblog','location=no,directories=no,status=no,scrollbars=yes,menubar=no,toolbar=no,width=650,height=400');
	if (typeof w!='undefined')
	{
		var p=w.document;
		p.open();
		p.write(t);
		p.close();
		w.focus();
		return true;
	}
	alert("As-tu un bloqueur de pub ?\nSi oui, celui-ci vient d'empècher le fonctionnement de l'aperçu.../");
}

function assist()
{
    var link = prompt("L'adresse de ton lien",'http://');
    var startTag = "[url=" + link + "]";
    var endTag   = "[/url]";
    TAinsert(startTag,endTag);
    return true;
    //var txt = prompt('Le texte du lien','...');
}
