var isMozilla = (navigator.userAgent.toLowerCase().indexOf('gecko')!=-1) ? true : false;
var regexp = new RegExp("[\r]","gi");

function addEngine()
{
  if ((typeof window.sidebar == "object") && (typeof
  window.sidebar.addSearchEngine == "function"))
  {
    window.sidebar.addSearchEngine(
      "http://www.squarepalace.com/include/sqp.src",
      "http://www.squarepalace.com/include/sqp.png",
      "Square Palace",
      "Jeux SquareEnix" );
  }
}

function AddSmiley(selec)
{
	if (isMozilla) 
	{
	// Si on est sur Mozilla

		oField = document.forms['Post'].elements['str_post'];

		objectValue = oField.value;

		deb = oField.selectionStart;
		fin = oField.selectionEnd;

		objectValueDeb = objectValue.substring( 0 , oField.selectionStart );
		objectValueFin = objectValue.substring( oField.selectionEnd , oField.textLength );
		objectSelected = objectValue.substring( oField.selectionStart ,oField.selectionEnd );

	//	alert("Debut:'"+objectValueDeb+"' ("+deb+")\nFin:'"+objectValueFin+"' ("+fin+")\n\nSelectionné:'"+objectSelected+"'("+(fin-deb)+")");
			
		oField.value = objectValueDeb + " " + selec + " " + objectSelected + objectValueFin;
		oField.selectionStart = strlen(objectValueDeb);
		oField.selectionEnd = strlen(objectValueDeb + " " + selec + " " + objectSelected);
		oField.focus();
		oField.setSelectionRange(
			objectValueDeb.length + selec.length + 2,
			objectValueDeb.length + selec.length + 2);
	}
	else
	{
	// Si on est sur IE
		
		oField = document.forms['Post'].elements['str_post'];
		var str = document.selection.createRange().text;

		if (str.length>0)
		{
		// Si on a selectionné du texte
			var sel = document.selection.createRange();
			sel.text = " " + selec + " " + str;
			sel.collapse();
			sel.select();
		}
		else
		{
			oField.focus(oField.caretPos);
		//	alert(oField.caretPos+"\n"+oField.value.length+"\n")
			oField.focus(oField.value.length);
			oField.caretPos = document.selection.createRange().duplicate();
			
			var bidon = "%~%";
			var orig = oField.value;
			oField.caretPos.text = bidon;
			var i = oField.value.search(bidon);
			oField.value = orig.substr(0,i) + " " + selec + " " + orig.substr(i, oField.value.length);
			var r = 0;
			for(n = 0; n < i; n++)
			{if(regexp.test(oField.value.substr(n,2)) == true){r++;}};
			pos = i + 2 + selec.length - r;
			//placer(document.forms['news'].elements['newst'], pos);
			var r = oField.createTextRange();
			r.moveStart('character', pos);
			r.collapse();
			r.select();

		}
	}
}

function storeCaret(selec)
{
	if (isMozilla) 
	{
	// Si on est sur Mozilla

		oField = document.forms['Post'].elements['str_post'];

		objectValue = oField.value;

		deb = oField.selectionStart;
		fin = oField.selectionEnd;

		objectValueDeb = objectValue.substring( 0 , oField.selectionStart );
		objectValueFin = objectValue.substring( oField.selectionEnd , oField.textLength );
		objectSelected = objectValue.substring( oField.selectionStart ,oField.selectionEnd );

		//alert("Debut:'"+objectValueDeb+"' ("+deb+")\nFin:'"+objectValueFin+"' ("+fin+")\n\nSelectionné:'"+objectSelected+"'("+(fin-deb)+")");
			
		oField.value = objectValueDeb + "[" + selec + "]" + objectSelected + "[/" + selec + "]" + objectValueFin;
		oField.selectionStart = strlen(objectValueDeb);
		oField.selectionEnd = strlen(objectValueDeb + "[" + selec + "]" + objectSelected + "[/" + selec + "]");
		oField.focus();
		oField.setSelectionRange(
			objectValueDeb.length + selec.length + 2,
			objectValueDeb.length + selec.length + 2);
	}
	else
	{
	// Si on est sur IE
		
		oField = document.forms['Post'].elements['str_post'];
		var str = document.selection.createRange().text;

		if (str.length>0)
		{
		// Si on a selectionné du texte
			var sel = document.selection.createRange();
			sel.text = "[" + selec + "]" + str + "[/" + selec + "]";
			sel.collapse();
			sel.select();
		}
		else
		{
			oField.focus(oField.caretPos);
		//	alert(oField.caretPos+"\n"+oField.value.length+"\n")
			oField.focus(oField.value.length);
			oField.caretPos = document.selection.createRange().duplicate();
			
			var bidon = "%~%";
			var orig = oField.value;
			oField.caretPos.text = bidon;
			var i = oField.value.search(bidon);
			oField.value = orig.substr(0,i) + "[" + selec + "][/" + selec + "]" + orig.substr(i, oField.value.length);
			//Partie modifiée
			
			//Gestion des retours chariots sous IE
			var temp = orig.substr(0,i);
			var nbretour =0;
			for (var cpt=0;cpt<temp.length;cpt=cpt+1)
			{
			if(temp.charAt(cpt)=="\n")
			{
			nbretour=nbretour+1;
			}
			}
			//Prise en compte des retour chariots dans le placement du curseur
			pos = i + 2 + selec.length - nbretour;
			//Fin de la modif
			
			//placer(document.forms['news'].elements['newst'], pos);
			var r = oField.createTextRange();
			var r = oField.createTextRange();
			r.moveStart('character', pos);
			r.collapse();
			r.select();

		}
	}
}

function isUrl(text) {
    return ((text.indexOf('.') > 7) &&
            ((text.substring(0,7) == 'http://') || (text.substring(0,4) == 'www.') ||
            (text.substring(0,6) == 'ftp://')));
}
  
function enterUrl() {
    var url = 'http://www.'; var desc = '';
    url = prompt('Entrer votre URL : ',url) || '';
    desc = prompt('Entrer sa description : ',desc) || url;
   if (!isUrl(url)) { returnFocus(); return; }
   var code = '[url=' + url + ']' + desc + '[/url]';
   if (isMozilla) 
	{
	// Si on est sur Mozilla

		oField = document.forms['Post'].elements['str_post'];

		objectValue = oField.value;

		deb = oField.selectionStart;
		fin = oField.selectionEnd;

		objectValueDeb = objectValue.substring( 0 , oField.selectionStart );
		objectValueFin = objectValue.substring( oField.selectionEnd , oField.textLength );
		objectSelected = objectValue.substring( oField.selectionStart ,oField.selectionEnd );

		//alert("Debut:'"+objectValueDeb+"' ("+deb+")\nFin:'"+objectValueFin+"' ("+fin+")\n\nSelectionné:'"+objectSelected+"'("+(fin-deb)+")");
			
		oField.value = objectValueDeb + code + objectValueFin;
		oField.focus();
		oField.setSelectionRange(
			objectValueDeb.length + selec.length + 2,
			objectValueDeb.length + selec.length + 2);
	}
	else
	{
	// Si on est sur IE
		
		oField = document.forms['Post'].elements['str_post'];
		var str = document.selection.createRange().text;

		if (str.length>0)
		{
		// Si on a selectionné du texte
			var sel = document.selection.createRange();
			sel.text = "[" + selec + "]" + str + "[/" + selec + "]";
			sel.collapse();
			sel.select();
		}
		else
		{
			oField.focus(oField.caretPos);
			oField.focus(oField.value.length);
			oField.caretPos = document.selection.createRange().duplicate();
			
			var bidon = "%~%";
			var orig = oField.value;
			oField.caretPos.text = bidon;
			var i = oField.value.search(bidon);
			oField.value = orig.substr(0,i) + code + orig.substr(i, oField.value.length);
			//Partie modifiée
			
			//Gestion des retours chariots sous IE
			var temp = orig.substr(0,i);
			var nbretour =0;
			for (var cpt=0;cpt<temp.length;cpt=cpt+1)
			{
			if(temp.charAt(cpt)=="\n")
			{
			nbretour=nbretour+1;
			}
			}
			//Prise en compte des retour chariots dans le placement du curseur
			pos = i + 2 + selec.length - nbretour;
			//Fin de la modif
			
			//placer(document.forms['news'].elements['newst'], pos);
			var r = oField.createTextRange();
			var r = oField.createTextRange();
			r.moveStart('character', pos);
			r.collapse();
			r.select();

		}
	}
}

  
function enterImg() {
   var img = '';
   image = prompt("Entrer l'adresse de l'image : ",img) || '';
   var code = '[img]' + image + '[/img]';
   if (isMozilla) 
	{
	// Si on est sur Mozilla

		oField = document.forms['Post'].elements['str_post'];

		objectValue = oField.value;

		deb = oField.selectionStart;
		fin = oField.selectionEnd;

		objectValueDeb = objectValue.substring( 0 , oField.selectionStart );
		objectValueFin = objectValue.substring( oField.selectionEnd , oField.textLength );
		objectSelected = objectValue.substring( oField.selectionStart ,oField.selectionEnd );

		//alert("Debut:'"+objectValueDeb+"' ("+deb+")\nFin:'"+objectValueFin+"' ("+fin+")\n\nSelectionné:'"+objectSelected+"'("+(fin-deb)+")");
			
		oField.value = objectValueDeb + code + objectValueFin;
		oField.focus();
		oField.setSelectionRange(
			objectValueDeb.length + selec.length + 2,
			objectValueDeb.length + selec.length + 2);
	}
	else
	{
	// Si on est sur IE
		
		oField = document.forms['Post'].elements['str_post'];
		var str = document.selection.createRange().text;

		if (str.length>0)
		{
		// Si on a selectionné du texte
			var sel = document.selection.createRange();
			sel.text = "[" + selec + "]" + str + "[/" + selec + "]";
			sel.collapse();
			sel.select();
		}
		else
		{
			oField.focus(oField.caretPos);
			oField.focus(oField.value.length);
			oField.caretPos = document.selection.createRange().duplicate();
			
			var bidon = "%~%";
			var orig = oField.value;
			oField.caretPos.text = bidon;
			var i = oField.value.search(bidon);
			oField.value = orig.substr(0,i) + code + orig.substr(i, oField.value.length);
			//Partie modifiée
			
			//Gestion des retours chariots sous IE
			var temp = orig.substr(0,i);
			var nbretour =0;
			for (var cpt=0;cpt<temp.length;cpt=cpt+1)
			{
			if(temp.charAt(cpt)=="\n")
			{
			nbretour=nbretour+1;
			}
			}
			//Prise en compte des retour chariots dans le placement du curseur
			pos = i + 2 + selec.length - nbretour;
			//Fin de la modif
			
			//placer(document.forms['news'].elements['newst'], pos);
			var r = oField.createTextRange();
			var r = oField.createTextRange();
			r.moveStart('character', pos);
			r.collapse();
			r.select();

		}
	}
}

// ESPACE SKIN EN DIRECT

function setActiveStyleSheet(title) {
  var i, a, main;
  for(i=0; (a = document.getElementsByTagName("link")[i]); i++) {
    if(a.getAttribute("rel").indexOf("style") != -1 && a.getAttribute("title")) {
      a.disabled = true;
      if(a.getAttribute("title") == title) a.disabled = false;
    }
  }
}
function getActiveStyleSheet() {
  var i, a;
  for(i=0; (a = document.getElementsByTagName("link")[i]); i++) {
    if(a.getAttribute("rel").indexOf("style") != -1 && a.getAttribute("title") && !a.disabled) return a.getAttribute("title");
  }
  return null;
}
function getPreferredStyleSheet() {
  var i, a;
  for(i=0; (a = document.getElementsByTagName("link")[i]); i++) {
    if(a.getAttribute("rel").indexOf("style") != -1
       && a.getAttribute("rel").indexOf("alt") == -1
       && a.getAttribute("title")
       ) return a.getAttribute("title");
  }
  return null;
}
function createCookie(name,value,days) {
  if (days) {
    var date = new Date();
    date.setTime(date.getTime()+(days*24*60*60*1000));
    var expires = "; expires="+date.toGMTString();
  }
  else expires = "";
  document.cookie = name+"="+value+expires+"; path=/";
}
function readCookie(name) {
  var nameEQ = name + "=";
  var ca = document.cookie.split(';');
  for(var i=0;i < ca.length;i++) {
    var c = ca[i];
    while (c.charAt(0)==' ') c = c.substring(1,c.length);
    if (c.indexOf(nameEQ) == 0) return c.substring(nameEQ.length,c.length);
  }
  return null;
}
window.onload = function(e) {
  var cookie = readCookie("style");
  var title = cookie ? cookie : getPreferredStyleSheet();
  setActiveStyleSheet(title);
}
window.onunload = function(e) {
  var title = getActiveStyleSheet();
  createCookie("style", title, 365);
}
var cookie = readCookie("style");
var title = cookie ? cookie : getPreferredStyleSheet();
setActiveStyleSheet(title);

$(document).ready(function() {
	$(".lien_image").click(function() {
		var src = $(this).attr("href");
		var title = "Image";
		var $modal = $("img[src$=src]");
		
		if ($modal.length) {
			$modal.dialog("open");
		} else {
			var img = $(document.createElement("img")).attr({src: src, alt: title}).hide();
			var div_img = $(document.createElement("span")).attr({style: "text-align: center; margin: 0; padding: 0;"}).append(img);
			$("body").append(div_img);
			
			img.load(function() {
				img.show();
				div_img.dialog({
						title: title,
						modal: true,
						resizable: false,
						width: img.width(),
						height: img.height()+(($.browser.msie == true)?25:0)
				});
			});
		}	
		return false;
	});
	
	
	$(".lien_video").click(function() {
		var src = $(this).attr("href");
		var title = "Video";
		
		var video = '<object type="application/x-shockwave-flash" data="/include/flv/player_flv.swf" width="512" height="448">';
		video += '<param name="FlashVars" value="width=512&height=448&autoload=1&autoplay=1&flv='+src+'" />';
		video += '<param name="movie" value="/include/flv/player_flv.swf" />';	//Pour IE
		//video += '<embed name="monFlash" src="player_flv_multi.swf" flashvars="flv=test.flv" pluginspage="http://www.macromedia.com/go/getflashplayer" type="application/x-shockwave-flash" />';	//Pour Opera
		video += '</object>';
		var div_video = $(document.createElement("span")).attr({style: "text-align: center; margin: 0; padding: 0; width: 512px; height: 448px;"}).html(video);
		$("body").append(div_video);
		
		
		//Définition des tailles
		var width = 512;
		var height = 448;
		
		if ($.browser.msie == true) {
			height = height+25;
		}
		
		var dialogue = div_video.dialog({
				title: title,
				modal: true,
				resizable: false,
				width: width,
				height: height
		});
		
		return false;
	});
});
