/***************************************************************************
 *                                functions.js
 *                            -------------------
 *   begin                : Friday, Feb 21, 2003
 *   copyright            : (C) 2003 Nicolas Grekas
 *   email                : nicolas.grekas@espci.fr
 *
 ***************************************************************************/

/***************************************************************************
 *
 *   You can not redistribute and/or modify this program without express
 *   permission of the author ; restricted use to IntellAgence
 *
 ***************************************************************************/

if (!Array.prototype.push) Array.prototype.push = function(pushData)
{
        this[ this.length++ ] = pushData;
        return this.length;
}

function makeRegI( word )
{
	var i, j;
	var from = 'acdeinosuy';
	var to = new Array('aàáâãäå','cç','dð','eèéêë','iìíîï','nñ','oòóôõöø','sš','uùúûü','yýÿ');

	var alphabet = 'abcdefghijklmnopqrstuvwxyz';

	for (i=0; i<to.length; i++)
	{
		j = from.charAt(i);
		word = word.replace(new RegExp(j,'g'), '['+to[i].toUpperCase()+to[i]+']');
		alphabet = alphabet.replace(j, '');
	}

	for (i=0; i<alphabet.length; i++)
	{
		j = alphabet.charAt(i);
		word = word.replace(new RegExp(j,'g'), '['+j.toUpperCase()+j+']');
	}

	return word;
}


function makeBold( str, word )
{
	if (!word) return str;

	var i, j, k, matches;
	var strbegin, strmatch, strend;
	var strbold = str = ' '+str;

	matches = str.match( new RegExp('[^a-zA-Z0-9aàáâãäåcçdðeèéêëiìíîïnñoòóôõöøsšuùúûüyýÿAÀÁÂÃÄÅCÇDÐEÈÉÊËIÌÍÎÏNÑOÒÓÔÕÖØSšUÙÚÛÜYÝÿ]('+word.join('|')+')','g' ));
	if ( matches )
	{
		strbold = '';
		for (j=0; j<matches.length; j++)
		{
			k = str.indexOf(matches[j]);
			strbegin = str.substring(0,k+1);
			strmatch = str.substring(k+1, k+matches[j].length);
			strend = str.substring(k+matches[j].length, str.length);

			str = strend;
			strbold += strbegin+'<span class="fastMatch">'+strmatch+'</span>';
		}
		strbold += str;
	}

	return strbold.substring(1, strbold.length);
}

function strip_accent(str)
{
	var i;
	var from = new Array('aàáâãäå','cç','dð','eèéêë','iìíîï','nñ','oòóôõöø','sš','uùúûü','yýÿ');
	var to = 'acdeinosuy';

	for (i=0; i<from.length; i++)
	{
		str = str.replace(new RegExp('['+from[i]+']','g'), to.charAt(i));
		str = str.replace(new RegExp('['+from[i].toUpperCase()+']','g'), to.charAt(i).toUpperCase());
	}

	return str;
}

function trim(str)
{
	str = str.replace(/^\s+/, '');
	return str.replace(/\s+$/, '');
}

_SAVED_VAR = new Array();
function http_get(parameters)
{
	if (!parameters) parameters = document.location.search;
	parameters = parameters.replace(/\+/g,'%20').substring(1).split('&');
	var params = _SAVED_VAR;

	for (var i=0; i<parameters.length; i++)
	{
		parameters[i] = parameters[i].replace(/^amp;/,'');
		var split = parameters[i].indexOf('=');
		if ( split>0 )
		{
			params[ unescape( parameters[i].substring(0, split) ) ] = unescape( parameters[i].substring(split+1) );
		}
	}

	return params;
}

function setVar(varname, value)
{
	return _SAVED_VAR[varname] = value;
}

function getVar(varname)
{
	var val = _SAVED_VAR[varname]>='' ? _SAVED_VAR[varname] : null;
	_SAVED_VAR[varname] = null;
	return val;
}


