function isMSIE()
{
	if(navigator.appVersion.indexOf('MSIE') == -1)
	{
		return false;
	}

	return true;
}

function addListener(element, baseName, handler)
{
	if(element.addEventListener)
	{
		element.addEventListener(baseName, handler, false);
	}
	else if(element.attachEvent)
	{
		element.attachEvent('on'+baseName, handler);
	}
}

function openWindow(url,largeur,hauteur,scrollbars,resizable)
{
	if(largeur == 0 || hauteur == 0)
	{
		win=window.open(url,'_blank');
	}
	else
	{
		win=window.open(url,'popup_'+largeur+'x'+hauteur+'_'+scrollbars+'_'+resizable,'width='+largeur+',height='+hauteur+',top='+((screen.height-hauteur)/2)+',left='+((screen.width-largeur)/2)+',scrollbars='+scrollbars+',resizable='+resizable);

		if(win != null)
		{
			win.focus();
		}
	}

	if(win == null)
	{
		alert('La fenêtre pop-up n\'a pas pu s\'ouvrir.\n\nVeuillez désactiver votre anti-popup et réessayer !');
	}

	return win;
}

function checkAll(form)
{
	for(i=0;i < form.elements.length;i++)
	{
		if(form.elements[i].type == 'checkbox')
		{
			form.elements[i].checked=true;
		}
	}
}

function uncheckAll(form)
{
	for(i=0;i < form.elements.length;i++)
	{
		if(form.elements[i].type == 'checkbox')
		{
			form.elements[i].checked=false;
		}
	}
}

function insertIntoTextArea(textarea,ajout)
{
	if(document.selection)
	{
		textarea.focus();

		sel=document.selection.createRange();

		if(sel.text != '')
		{
			ajout=ajout.replace(/Ecrivez ici/g,sel.text);
		}

		sel.text=ajout;
	}
	else if(textarea.selectionStart || textarea.selectionStart == '0')
	{
		var startPos=textarea.selectionStart;
		var endPos=textarea.selectionEnd;
		var texte=textarea.value;
		var sel_text=texte.substring(startPos,endPos);

		if(sel_text != '')
		{
			ajout=ajout.replace(/Ecrivez ici/g,sel_text);
		}

		textarea.value=texte.substring(0,startPos)+ajout+texte.substring(endPos,texte.length);
	}
	else
	{
		textarea.value+=ajout;
	}

	textarea.focus();
}

function numberFormat(nbr,minimum,maximum)
{
	nbr_old=parseInt(nbr.value,10);

	nbr_new=(isNaN(nbr_old) || nbr_old < 0)?0:nbr_old;

	if(nbr_new && nbr_new < minimum)
	{
		nbr_new=minimum;
	}
	else if(maximum && nbr_new > maximum)
	{
		nbr_new=maximum;
	}

	if(nbr_new.toString() != nbr.value)
	{
		nbr.value=nbr_new;
	}

	return nbr_new;
}

function evalEntryLength(curField,countField,maxLimit,discardXtra)
{
	charCount=curField.value.length;

	if(charCount > maxLimit && discardXtra)
	{
		curField.value=curField.value.substr(0,maxLimit);
	}

	document.getElementById(countField).innerHTML=((maxLimit - charCount) > 0)?(maxLimit - charCount):0;
}

function setColor(nom,code)
{
	if(document.getElementById)
	{
		document.getElementById('couleur_img_'+nom).style.backgroundColor='#'+code;
		document.getElementById('couleur_input_'+nom).value='#'+code;

		if(document.getElementById('couleur_cancel_'+nom))
		{
			document.getElementById('couleur_cancel_'+nom).style.visibility='visible';
		}

		return true;
	}

	return false;
}

function setPattern(nom,texture)
{
	if(document.getElementById)
	{
		if(texture == '0')
		{
			document.getElementById('texture_div_'+nom).style.backgroundImage='url('+base_url+'images/separateur.jpg)';
		}
		else
		{
			document.getElementById('texture_div_'+nom).style.backgroundImage='url('+base_url+'images/textures/texture'+texture+'.jpg)';
		}

		document.getElementById('texture_input_'+nom).value=texture;

		return true;
	}

	return false;
}

function newXHRObject()
{
	var xhr=null;

	if(window.XMLHttpRequest)
	{
		xhr=new XMLHttpRequest();

		if(xhr.overrideMimeType)
		{
			xhr.overrideMimeType('text/xml');
		}
	}
	else if(window.ActiveXObject)
	{
		try
		{
			xhr=new ActiveXObject('Msxml2.XMLHTTP');
		}
		catch(e)
		{
			try
			{
				xhr=new ActiveXObject('Microsoft.XMLHTTP');
			}
			catch(e)
			{
				xhr=null;
			}
		}
	}

	return xhr;
}

function chargerPaletteCouleurs(champ,html_tags,text_area)
{
	if(document.getElementById)
	{
		var xhr=newXHRObject();

		if(xhr != null)
		{
			xhr.open('GET',base_url+'membres/modules/palette_couleurs.php?champ='+champ+'&html='+((html_tags == true)?'1':'0')+'&textarea='+((text_area == true)?'1':'0'),true);

			xhr.onreadystatechange = function()
			{
				if(xhr.readyState == 4)
				{
					document.getElementById('_palette_couleurs_'+champ).innerHTML=xhr.responseText;
				}
			}

			xhr.send(null);

			return true;
		}
	}

	return false;
}

function chargerPaletteTextures(champ,page)
{
	if(document.getElementById)
	{
		var xhr=newXHRObject();

		if(xhr != null)
		{
			xhr.open('GET',base_url+'membres/modules/palette_textures.php?champ='+champ+'&page='+page,true);

			xhr.onreadystatechange = function()
			{
				if(xhr.readyState == 4)
				{
					document.getElementById('_palette_textures_'+champ).innerHTML=xhr.responseText;
				}
			}

			xhr.send(null);

			return true;
		}
	}

	return false;
}

function chargerSmileys(uid,sid,service,page,textarea)
{
	if(document.getElementById)
	{
		var xhr=newXHRObject();

		if(xhr != null)
		{
			xhr.open('GET',base_url+'membres/modules/smileys.php?uid='+uid+'&sid='+sid+'&service='+service+'&page='+page+'&textarea='+textarea,true);

			xhr.onreadystatechange = function()
			{
				if(xhr.readyState == 4)
				{
					document.getElementById('_popup_smileys').innerHTML=xhr.responseText;
				}
			}

			xhr.send(null);

			return true;
		}
	}

	return false;
}

function chargerMenuService(code)
{
	if(document.getElementById)
	{
		if(document.getElementById('blacklist') && document.getElementById('blacklist').style.visibility == 'visible')
		{
			document.getElementById('blacklist').style.visibility='hidden';
		}

		var xhr=newXHRObject();

		if(xhr != null)
		{
			xhr.open('GET',base_url+'membres/menu_services.php?code='+code,true);

			xhr.onreadystatechange = function()
			{
				if(xhr.readyState == 4)
				{
					document.getElementById('menu_service').innerHTML=xhr.responseText;
				}
			}

			xhr.send(null);

			return true;
		}
	}

	return false;
}

function chargerIconeService(service)
{
	if(document.getElementById)
	{
		icone_service[service]=new Image();

		icone_service[service].src=base_url+'images/icones/'+service+'_mini_select.gif';
	}
}

function changerIconeService(service,actif,over)
{
	if(document.getElementById)
	{
		if(over == 0)
		{
			if(icone_service[service])
			{
				document.getElementById('icone_'+service).src=icone_service[service].src.replace('_select.gif',(actif == 1)?'.gif':'_off.gif');
				document.getElementById('icone_'+service).height=33;
				document.getElementById('icone_'+service).style.marginBottom='6px';
			}
			else
			{
				window.setTimeout('changerIconeService(\''+service+'\','+actif+',0);',100);
			}
		}
		else
		{
			if(icone_service[service] && icone_service[service].complete)
			{
				document.getElementById('icone_'+service).src=icone_service[service].src;
				document.getElementById('icone_'+service).height=39;
				document.getElementById('icone_'+service).style.marginBottom='0px';
			}
			else
			{
				window.setTimeout('changerIconeService(\''+service+'\','+actif+',1);',100);
			}
		}
	}
}

function switchDIVs(tag_name,id_name,id_num)
{
	if(document.getElementById && document.getElementsByTagName)
	{
		if(document.getElementById(id_name+id_num).style.display == 'none')
		{
			var tags=document.getElementsByTagName(tag_name);

			for(var i=0;i < tags.length;++i)
			{
				if(tags[i].id.indexOf(id_name) != -1)
				{
					if(tags[i].id != id_name+id_num)
					{
						tags[i].style.display='none';
					}
				}
			}

			document.getElementById(id_name+id_num).style.display='';
		}
		else
		{
			document.getElementById(id_name+id_num).style.display='none';
		}

		return true;
	}

	return false;
}

function switchMenu(menu)
{
	if(document.getElementById)
	{
		if(document.getElementById(menu).style.visibility == 'visible')
		{
			document.getElementById(menu).style.visibility='hidden';
		}
		else
		{
			document.getElementById(menu).style.visibility='visible';
		}

		return true;
	}

	return false;
}

function switchPopUp(popup,e,offsetX,offsetY)
{
	if(document.getElementById && document.getElementById(popup))
	{
		if(document.getElementById(popup).style.visibility == 'visible')
		{
			document.getElementById(popup).style.visibility='hidden';
		}
		else
		{
			if(navigator.appName.substring(0,3) == 'Net')
			{
				document.captureEvents(Event.MOUSEMOVE);
			}

			posX=getPosX(e);
			posY=getPosY(e);

			posX+=offsetX;
			posY+=offsetY;

			document.getElementById(popup).style.left=posX+'px';
			document.getElementById(popup).style.top=posY+'px';

			document.getElementById(popup).style.visibility='visible';
		}

		return true;
	}

	return false;
}

function getPosX(e)
{
	posX = e.pageX ? e.pageX : e.clientX;

	if(isMSIE())
	{
		posX += document.documentElement.scrollLeft;
	}

	return posX;
}

function getPosY(e)
{
	posY = e.pageY ? e.pageY : e.clientY;

	if(isMSIE())
	{
		posY += document.documentElement.scrollTop;
	}

	return posY;
}

function voteEtoiles(uid,sid,service,vote_id,vote_valeur)
{
	if(document.getElementById)
	{
		var xhr=newXHRObject();

		if(xhr != null)
		{
			document.getElementById('_rating_ul'+vote_id).innerHTML='<div class="is_loading" style="height: 16px;"></div>';

			xhr.open('get',base_url+'membres/modules/notation.php?uid='+uid+'&sid='+sid+'&service='+service+'&id='+vote_id+'&val='+vote_valeur);

			xhr.onreadystatechange = function()
			{
				if(xhr.readyState == 4 && xhr.status == 200)
				{
					document.getElementById('_rating'+vote_id).innerHTML=xhr.responseText;
				}
			}

			xhr.send(null);

			return true;
		}
	}

	return false;
}

