/*** NEW ***/

function intval(string, max)
{
	return string.replace(/[^0-9]/g, '');
}

function floatval(montant, max)
{
	montant = montant.replace(/\,/g, ".");

	if(montant.substr(-1) != '.')
	{
		if(isNaN(parseFloat(montant)))
			montant = 0;

		if(max && montant > max)
			montant = max;

		montant = parseFloat(montant);
	}

	return montant;
}

function switchServices(id, limit)
{
	for(i = 0 ; i < limit ; i++)
	{
		if(i == id)
		{
			document.getElementById('service'+i).style.display = 'block';
		}
		else
		{
			document.getElementById('service'+i).style.display = 'none';
		}
	}
}

function switch_frame(frame, link)
{
	if(document.getElementById(frame).style.display == 'none')
	{
		link.style.backgroundPosition = 'left top';
		document.getElementById(frame).style.display = 'block';
	}
	else
	{
		link.style.backgroundPosition = 'left bottom';
		document.getElementById(frame).style.display = 'none';
	}
}

function reloadForm(id, relocation)
{
	var formulaire = document.getElementById(id);
	formulaire.reload.value = 1;

	if(typeof(relocation) != 'undefined')
	{
		formulaire.action=relocation;
	}

	formulaire.submit();
}

function reinitSelect(id_select)
{
	if(document.getElementById(id_select))
	{
		document.getElementById(id_select).selectedIndex = '0';
	}
}

function setCheckedValue(radioObj, newValue)
{
	if(!radioObj)
		return;
	var radioLength = radioObj.length;
	if(radioLength == undefined)
	{
		radioObj.checked = (radioObj.value == newValue.toString());
		return;
	}
	for(var i = 0; i < radioLength; i++)
	{
		radioObj[i].checked = false;
		if(radioObj[i].value == newValue.toString())
		{
			radioObj[i].checked = true;
		}
	}
}

function show_subnav(nav, link, tag, color1, color2)
{
	if(tag.tagName == 'A')
	{
		link.style.color = '#'+color1;
		link.style.background = '#'+color2;
		document.getElementById(nav).style.display = 'block';
	}
	else if(tag.tagName == 'UL')
	{
		nav.style.display = 'block';
		document.getElementById(link).style.color = '#'+color1;
		document.getElementById(link).style.background = '#'+color2;
	}
}

function hide_subnav(nav, link, tag, color1, color2)
{
	if(tag.tagName == 'A')
	{
		link.style.color = '#'+color1;
		link.style.background = '#'+color2;
		document.getElementById(nav).style.display = 'none';
	}
	else if(tag.tagName == 'UL')
	{
		nav.style.display = 'none';
		document.getElementById(link).style.color = '#'+color1;
		document.getElementById(link).style.background = '#'+color2;
	}
}

function switch_icon(icon_id, position)
{
	document.getElementById(icon_id).style.backgroundPosition = position;
}

function switchLogin(login, welcome, UserID)
{
	if(login == 'membres')
	{
		document.getElementById('LoginForm').action = base_url+'membres/login.php';
		document.getElementById('LoginLink1').href = base_url+'membres/oubli.php';
		document.getElementById('LoginLink2').style.visibility = 'visible';
		document.getElementById('Login_remember').style.display = 'block';
		document.getElementById('LoginUserName').name = 'UserID';
		document.getElementById('LoginPaswd').name = 'password';
		if(document.getElementById('LoginMbrWelcome')) document.getElementById('LoginMbrWelcome').style.display = 'block';
		if(document.getElementById('LoginClientWelcome')) document.getElementById('LoginClientWelcome').style.display = 'none';
		if(document.getElementById('LoginPartWelcome')) document.getElementById('LoginPartWelcome').style.display = 'none';
		document.getElementById('mbrLabel').style.textDecoration = 'underline';
		document.getElementById('clientLabel').style.textDecoration = 'none';
		document.getElementById('partLabel').style.textDecoration = 'none';
	}
	else if(login == 'clients')
	{
		document.getElementById('LoginForm').action = base_url+'clients/login.php';
		document.getElementById('LoginLink1').href = base_url+'clients/oubli.php';
		document.getElementById('LoginLink2').style.visibility = 'hidden';
		document.getElementById('Login_remember').style.display = 'none';
		document.getElementById('LoginUserName').name = 'Login';
		document.getElementById('LoginPaswd').name = 'Password';
		if(document.getElementById('LoginClientWelcome')) document.getElementById('LoginClientWelcome').style.display = 'block';
		if(document.getElementById('LoginMbrWelcome')) document.getElementById('LoginMbrWelcome').style.display = 'none';
		if(document.getElementById('LoginPartWelcome')) document.getElementById('LoginPartWelcome').style.display = 'none';
		document.getElementById('mbrLabel').style.textDecoration = 'none';
		document.getElementById('clientLabel').style.textDecoration = 'underline';
		document.getElementById('partLabel').style.textDecoration = 'none';
	}
	else if(login == 'partenaires')
	{
		document.getElementById('LoginForm').action = base_url+'partenaires/login.php';
		document.getElementById('LoginLink1').href = base_url+'partenaires/oubli.php';
		document.getElementById('LoginLink2').style.visibility = 'hidden';
		document.getElementById('Login_remember').style.display = 'none';
		document.getElementById('LoginUserName').name = 'Login';
		document.getElementById('LoginPaswd').name = 'Password';
		if(document.getElementById('LoginPartWelcome')) document.getElementById('LoginPartWelcome').style.display = 'block';
		if(document.getElementById('LoginClientWelcome')) document.getElementById('LoginClientWelcome').style.display = 'none';
		if(document.getElementById('LoginMbrWelcome')) document.getElementById('LoginMbrWelcome').style.display = 'none';
		document.getElementById('mbrLabel').style.textDecoration = 'none';
		document.getElementById('clientLabel').style.textDecoration = 'none';
		document.getElementById('partLabel').style.textDecoration = 'underline';
	}

	document.getElementById('LoginUserName').value = UserID;
	document.getElementById('LoginFields').style.display = welcome ? 'none' : 'block';
}

/*** OLD ***/

String.prototype.trim = function()
{
	return this.replace(/(^\s*)|(\s*$)/g,'');
}

String.prototype.rtrim = function()
{
	return this.replace(/(\s*$)/g,'');
}

String.prototype.ltrim = function()
{
	return this.replace(/(^\s*)/g,'');
}

function getRadioValue(radio)
{
	val=0;

	if(radio.length)
	{
		for(i=0;i < radio.length;i++)
		{
			if(radio[i].checked == true)
			{
				val=radio[i].value;

				break;
			}
		}
	}
	else
	{
		val=radio.value;
	}

	return val;
}

function fenetreCent(url,nom,largeur,hauteur,options)
{
	var haut=(screen.height-hauteur)/2;
	var Gauche=(screen.width-largeur)/2;
	fencent=window.open(url,nom,"top="+haut+",left="+Gauche+",width="+largeur+",height="+hauteur+","+options);
	fencent.focus();
}

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 substr_count(haystack,needle)
{
	var pos=cnt=0;

	var offset=-1;

	while((offset=haystack.indexOf(needle, offset+1)) != -1)
	{
		cnt++;
	}

	return cnt;
}

function checkBox(checkbox, label)
{
	if(document.getElementById(checkbox).checked == true)
	{
		label.style.backgroundPosition = 'bottom left';
	}
	else
	{
		label.style.backgroundPosition = 'top left';
	}
}

function checkAll(form, icon)
{
	var cpt = 0;

	for(i=0;i < form.elements.length;i++)
	{
		if(form.elements[i].type == 'checkbox' && form.elements[i].name != 'apply_to_all')
		{
			form.elements[i].checked=true;

			if(icon == true)
			{
				document.getElementById('checklabel_'+cpt).style.backgroundPosition = 'top left';
			}

			cpt++;
		}
	}
}

function uncheckAll(form, icon)
{
	var cpt = 0;

	for(i=0;i < form.elements.length;i++)
	{
		if(form.elements[i].type == 'checkbox' && form.elements[i].name != 'apply_to_all')
		{
			form.elements[i].checked=false;

			if(icon == true)
			{
				document.getElementById('checklabel_'+cpt).style.backgroundPosition = 'bottom left';
			}

			cpt++;
		}
	}
}

function getSelectionStart(textarea)
{
	if(typeof textarea.selectionStart != 'undefined')
	{
		return textarea.selectionStart;
	}

	textarea.focus();

	diff=textarea.value.length - textarea.value.rtrim().length;

	var range=textarea.createTextRange();

	range.moveToBookmark(document.selection.createRange().getBookmark());

	range.moveEnd('character',textarea.value.length);

	if(!range.text.length)
	{
		diff=0;
	}

	return textarea.value.length - range.text.length - diff;
}

function getSelectionEnd(textarea)
{
	if(typeof textarea.selectionEnd != 'undefined')
	{
		return textarea.selectionEnd;
	}

	textarea.focus();

	var range=textarea.createTextRange();

	range.moveToBookmark(document.selection.createRange().getBookmark());

	range.moveStart('character', - textarea.value.length);

	return range.text.length;
}

function setCaretPos(textarea,start,end)
{
	end=end || start;

	if(textarea.setSelectionRange)
	{
		textarea.setSelectionRange(start,end);
	}
	else if(document.selection)
	{
		textarea.focus();

		var range=textarea.createTextRange();

		range.moveStart('character',start);
		range.moveEnd('character', - (textarea.value.length - end));

		range.select();
	}
}

function insertIntoTextArea(textarea,ajout,startPos,endPos)
{
	textarea.focus();

	if(document.selection || typeof textarea.selectionEnd != 'undefined')
	{
		if(typeof startPos == 'undefined')
		{
			var startPos=getSelectionStart(textarea);
		}

		if(typeof endPos == 'undefined')
		{
			var endPos=getSelectionEnd(textarea);
		}

		if(endPos < startPos)
		{
			endPos=startPos;
		}

		var scrollPos=textarea.scrollTop;

		var sel_text=textarea.value.substring(startPos,endPos);

		if(sel_text != '')
		{
			ajout=ajout.replace(/(Ecrivez ici|Votre texte ici|Description de votre lien)/g,sel_text);
		}

		textarea.value=textarea.value.substring(0,startPos) + ajout + textarea.value.substring(endPos);

		setCaretPos(textarea,startPos + ajout.length);

		textarea.scrollTop = scrollPos;
	}
	else
	{
		textarea.value+=ajout;
	}
}

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_NEW(champ,html_tags,text_area)
{
	if(document.getElementById)
	{
		var xhr=newXHRObject();

		if(xhr != null)
		{
			xhr.open('GET',base_url+'membres/modules/palette_couleurs_NEW.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 chargerPaletteCouleurs(champ,html_tags,text_area,tag_id,tag_style)
{
	if(document.getElementById)
	{
		var xhr=newXHRObject();

		if(xhr != null)
		{
			var sample_frame=(tag_id != '' && tag_style != '')?true:false;

			if(sample_frame == true)
			{
				xhr.open('GET',base_url+'membres/modules/palette_couleurs.php?champ='+champ+'&tag_id='+tag_id+'&tag_style='+tag_style+'&html='+((html_tags == true)?'1':'0')+'&textarea='+((text_area == true)?'1':'0'),true);
			}
			else
			{
				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;
}

var _smileys_loaded=false;

function chargerSmileys(uid,sid,service,textarea,url_params)
{
	if(document.getElementById && _smileys_loaded == false)
	{
		var xhr=newXHRObject();

		if(xhr != null)
		{
			xhr.open('GET',base_url+'membres/modules/smileys.php?uid='+uid+'&sid='+sid+'&service='+service+'&textarea='+textarea+url_params,true);

			xhr.onreadystatechange = function()
			{
				if(xhr.readyState == 4)
				{
					document.getElementById('_popup_smileys').innerHTML=xhr.responseText;

					_smileys_loaded=true;
				}
			}

			xhr.send(null);

			return true;
		}
	}

	return false;
}

var _smileys_loaded=false;

function chargerSmileys_NEW(uid,sid,service,textarea,url_params)
{
	if(document.getElementById && _smileys_loaded == false)
	{
		var xhr=newXHRObject();

		if(xhr != null)
		{
			xhr.open('GET',base_url+'membres/modules/smileys_NEW.php?uid='+uid+'&sid='+sid+'&service='+service+'&textarea='+textarea+url_params,true);

			xhr.onreadystatechange = function()
			{
				if(xhr.readyState == 4)
				{
					document.getElementById('_popup_smileys').innerHTML=xhr.responseText;

					_smileys_loaded=true;
				}
			}

			xhr.send(null);

			return true;
		}
	}

	return false;
}

// var etatIconesServices=new Array();

// function chargerMenuService(icone,code)
// {
	// if(document.getElementById)
	// {
		// for(i=0;i <= 17;i++)
		// {
			// lettre=String.fromCharCode(i+65);

			// if(etatIconesServices.length != 18)
			// {
				// if(document.getElementById('icone_service_'+lettre).className == 'actuel')
				// {
					// etatIconesServices[i]='actif';
				// }
				// else
				// {
					// etatIconesServices[i]=document.getElementById('icone_service_'+lettre).className;
				// }
			// }

			// if(lettre != code)
			// {
				// document.getElementById('icone_service_'+lettre).className=etatIconesServices[i];
			// }
		// }

		// icone.className='actuel';

		// 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('liens_contextuels').innerHTML=xhr.responseText;
				// }
				// else
				// {
					// document.getElementById('liens_contextuels').innerHTML='<p>Chargement du menu en cours ... Veuillez patienter.</p>';
				// }
			// }

			// xhr.send(null);

			// return true;
		// }
	// }

	// return false;
// }

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 switchDisplay(concise,verbose)
{
	var defaut = document.getElementById(concise);
	var autre = document.getElementById(verbose);

	defaut.style.display = (defaut.style.display == 'none' ? '' : 'none');
	autre.style.display = (autre.style.display == 'none' ? '' : 'none');
}

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;
}

function cacher(id)
{
	document.getElementById(id).style.display='none';
}

function montrer(id)
{
	document.getElementById(id).style.display='block';
}

function montrer_tr(id)
{
	document.getElementById(id).style.display='table-row';
}

function montrer_tbody(id)
{
	document.getElementById(id).style.display='table-row-group';
}

function changer_texte(id,nv_txt)
{
	document.getElementById(id).innerHTML=nv_txt;
}

function cacherSelect(idSelect)
{
	old_IE = (navigator.appName == 'Microsoft Internet Explorer' && navigator.appVersion.indexOf("6.") >= 0) ? 1:0

	if(old_IE)
	{
		document.getElementById(idSelect).style.visibility='hidden';
	}
}

function montrerSelect(idSelect)
{
	old_IE = (navigator.appName == 'Microsoft Internet Explorer' && navigator.appVersion.indexOf("6.") >= 0) ? 1:0

	if(old_IE)
	{
		document.getElementById(idSelect).style.visibility='visible';
	}
}

