/*
Prototype : bool StringExist(string Chaine, string Valeur, string Separation)
Description : Cette fonction cherche une valeur dans une chaine
Paramètres :
- string Chaine : Chaine
- string Valeur : Valeur cherchée
- string Separation : Elément de séparation dans une chaine

Valeur de retour :
- bool : true ou false
*/
function StringExist(Chaine, Valeur, Separation)
{
	if(Separation == undefined) var Separation = ',';
	var TableauDeChaine = Explode(Separation,Chaine);
	var TailleDuTableau = TableauDeChaine.length;

	for(i=0 ; i <= TailleDuTableau-1 ; i++)
	{
		if(TableauDeChaine[i] == Valeur) return true;
	}
	
	return false;
}


/*
Prototype : string GetCookie(string Nom)
Description : Cette fonction supprime une valeur dans une chaine
Paramètres :
- string Chaine : Chaine
- string Valeur : Valeur cherchée
- string Separation : Elément de séparation dans une chaine

Valeur de retour :
- string : chaine formatée
*/
function StringDelete(Chaine, Valeur, Separation)
{
	if(Separation == undefined) var Separation = ',';
	var TableauDeChaine = Explode(Separation,Chaine);
	var TailleDuTableau = TableauDeChaine.length;
	var PositionValeur = ArraySearch(Valeur,TableauDeChaine);
	
	TableauDeChaine.splice(PositionValeur,1);

	var NouvelleChaine = Implode(Separation,TableauDeChaine);
	
	return NouvelleChaine;
}

//Equivalent de la fonction trim de php, enleve les caractere invisibles en debut et fin de chaine (espaces et tabulations)
function trim(chaine)
{
	return chaine.replace(/(\s+$)|(^\s+)/g, '');
}

function nl2br (str, is_xhtml)
{
    // http://kevin.vanzonneveld.net
    // +   original by: Kevin van Zonneveld (http://kevin.vanzonneveld.net)
    // +   improved by: Philip Peterson
    // +   improved by: Onno Marsman
    // +   improved by: Atli Þór
    // +   bugfixed by: Onno Marsman
    // +      input by: Brett Zamir (http://brettz9.blogspot.com)
    // +   bugfixed by: Kevin van Zonneveld (http://kevin.vanzonneveld.net)
    // *     example 1: nl2br('Kevin\nvan\nZonneveld');
    // *     returns 1: 'Kevin<br />\nvan<br />\nZonneveld'
    // *     example 2: nl2br("\nOne\nTwo\n\nThree\n", false);
    // *     returns 2: '<br>\nOne<br>\nTwo<br>\n<br>\nThree<br>\n'
    // *     example 3: nl2br("\nOne\nTwo\n\nThree\n", true);
    // *     returns 3: '<br />\nOne<br />\nTwo<br />\n<br />\nThree<br />\n'
 
    var breakTag = '';
 
    breakTag = '<br />';
    if (typeof is_xhtml != 'undefined' && !is_xhtml) {
        breakTag = '<br>';
    }
 
    return (str + '').replace(/([^>]?)\n/g, '$1'+ breakTag +'\n');
}

function str_pad( input, pad_length, pad_string, pad_type ) {
    // http://kevin.vanzonneveld.net
    // +   original by: Kevin van Zonneveld (http://kevin.vanzonneveld.net)
    // + namespaced by: Michael White (http://getsprink.com)
    // *     example 1: str_pad('Kevin van Zonneveld', 30, '-=', 'STR_PAD_LEFT');
    // *     returns 1: '-=-=-=-=-=-Kevin van Zonneveld'
    // *     example 2: str_pad('Kevin van Zonneveld', 30, '-', 'STR_PAD_BOTH');
    // *     returns 2: '------Kevin van Zonneveld-----'
 
    var half = '', pad_to_go;
 
    var str_pad_repeater = function(s, len) {
        var collect = '', i;
 
        while(collect.length < len) collect += s;
        collect = collect.substr(0,len);
 
        return collect;
    };
 
    input += '';
 
    if (pad_type != 'STR_PAD_LEFT' && pad_type != 'STR_PAD_RIGHT' && pad_type != 'STR_PAD_BOTH') { pad_type = 'STR_PAD_RIGHT'; }
    if ((pad_to_go = pad_length - input.length) > 0) {
        if (pad_type == 'STR_PAD_LEFT') { input = str_pad_repeater(pad_string, pad_to_go) + input; }
        else if (pad_type == 'STR_PAD_RIGHT') { input = input + str_pad_repeater(pad_string, pad_to_go); }
        else if (pad_type == 'STR_PAD_BOTH') {
            half = str_pad_repeater(pad_string, Math.ceil(pad_to_go/2));
            input = half + input + half;
            input = input.substr(0, pad_length);
        }
    }
 
    return input;
}

function ucwords (str) {
    // http://kevin.vanzonneveld.net
    // +   original by: Jonas Raoni Soares Silva (http://www.jsfromhell.com)
    // +   improved by: Waldo Malqui Silva
    // +   bugfixed by: Onno Marsman
    // *     example 1: ucwords('kevin van zonneveld');
    // *     returns 1: 'Kevin Van Zonneveld'
    // *     example 2: ucwords('HELLO WORLD');
    // *     returns 2: 'HELLO WORLD'
 
    return (str+'').replace(/^(.)|\s(.)/g, function ( $1 ) { return $1.toUpperCase( ); } );
}
