  function formaterNumerique(strNum) {
    var tmp = strNum;
    var num = '';
    for (var i = 0; i < strNum.length; i++) {
      var c = strNum.substring(i,i+1);
      if ( c <= '9' && c >= '0') {
        num = num + c;
      }
    }
    return num;
  }
  
  function strtr (str,from,to) {

    var fr = '', i = 0, j = 0, lenStr = 0, lenFrom = 0;
    var tmpFrom = [];
    var tmpTo   = [];
    var ret = '';
    var match = false;

    if (typeof from === 'object') {
        this.krsort(from);
        for (fr in from) {
            tmpFrom.push(fr);
            tmpTo.push(from[fr]);
        }

        from = tmpFrom;
        to   = tmpTo;
    }
    
    lenStr  = str.length;
    lenFrom = from.length;
    for (i = 0; i < lenStr; i++) {
        match = false;
        for (j = 0; j < lenFrom; j++) {
            if (str.substr(i, from[j].length) == from[j]) {
                match = true;

                i = (i + from[j].length)-1;
                
                break;
            }
        }
        
        if (false !== match) {
            ret += to[j];
        } else {
            ret += str[i];
        }
    }

	return ret;
	}

	function strtrup (str) {
		
		var ret = '';
		
		ret = strtr(str,'ÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖØÙÚÛÜÝÞßàáâãäåæçèéêëìíîïðñòóôõöøùúûýýþÿRr','AAAAAAACEEEEIIIIDNOOOOOOUUUUYBSAAAAAAACEEEEIIIIDNOOOOOOUUUYYBYRR');
		
		return ret.toUpperCase();
		
	}
	
	function ucwords(str) {

    return (str + '').replace(/^(.)|\s(.)/g, function ($1) {
    return $1.toUpperCase();    });
	
	}
	
	function propercase ($str) {
	
	var ret = $str.toLowerCase();
	
	return ucwords(ret);
	
	}
	
	function str_replace (search, replace, subject, count) {

    var i = 0, j = 0, temp = '', repl = '', sl = 0, fl = 0,
            f = [].concat(search),
            r = [].concat(replace),
            s = subject,
            ra = r instanceof Array, sa = s instanceof Array;
    s = [].concat(s);
    if (count) {
        this.window[count] = 0;
    }

    for (i=0, sl=s.length; i < sl; i++) {
        if (s[i] === '') {
            continue;
        }
        for (j=0, fl=f.length; j < fl; j++) {
            temp = s[i]+'';
            repl = ra ? (r[j] !== undefined ? r[j] : '') : r[0];
            s[i] = (temp).split(f[j]).join(repl);
            if (count && s[i] !== temp) {
                this.window[count] += (temp.length-s[i].length)/f[j].length;}
        }
    }
    return sa ? s : s[0];
	}
	
	function explode (delimiter, string, limit) {
 
    var emptyArray = { 0: '' };
    
    // third argument is not required
    if ( arguments.length < 2 ||
        typeof arguments[0] == 'undefined' ||
        typeof arguments[1] == 'undefined' ) {
        return null;
    }
 
    if ( delimiter === '' ||
        delimiter === false ||
        delimiter === null ) {
        return false;
    }
 
    if ( typeof delimiter == 'function' ||
        typeof delimiter == 'object' ||
        typeof string == 'function' ||
        typeof string == 'object' ) {
        return emptyArray;
    }
 
    if ( delimiter === true ) {
        delimiter = '1';
    }
    
    if (!limit) {
        return string.toString().split(delimiter.toString());
    } else {
        // support for limit argument
        var splitted = string.toString().split(delimiter.toString());
        var partA = splitted.splice(0, limit - 1);
        var partB = splitted.join(delimiter.toString());
        partA.push(partB);
        return partA;
    }
}

function count (mixed_var, mode) {

    var key, cnt = 0; 
    if (mixed_var === null){
        return 0;
    } else if (mixed_var.constructor !== Array && mixed_var.constructor !== Object){
        return 1;    }
 
    if (mode === 'COUNT_RECURSIVE') {
        mode = 1;
    }    if (mode != 1) {
        mode = 0;
    }
 
    for (key in mixed_var){        if (mixed_var.hasOwnProperty(key)) {
            cnt++;
            if ( mode==1 && mixed_var[key] && (mixed_var[key].constructor === Array || mixed_var[key].constructor === Object) ){
                cnt += this.count(mixed_var[key], 1);
            }        }
    }
 
    return cnt;
}

function stristr (haystack, needle, bool) {
    var pos = 0;

    haystack += '';
    pos = haystack.toLowerCase().indexOf( (needle+'').toLowerCase() );
    if (pos == -1){
        return false;
    } else{
        if (bool) {
            return haystack.substr( 0, pos );
        } else{
            return haystack.slice( pos );
        }
    }
}

function Ouvrir_Spplus()
{
// Largeur et hauteur préconisées de la fenêtre SPPLUS
var PopupSpplus_largeur	= 750;
var PopupSpplus_hauteur	= 560;

// Position haut et gauche de la fenêtre SPPLUS pour affichage centré dans l'écran
var PopupSpplus_top	=((screen.height-PopupSpplus_hauteur)/2);
var PopupSpplus_left	=((screen.width-PopupSpplus_largeur)/2);

// Ouverture du popup SPLUS avec barre état uniquement et focus sur la fenêtre
var win = window.open('', "SPPLUS","status=yes,top="+PopupSpplus_top+",left="+PopupSpplus_left+",width="+PopupSpplus_largeur+",height="+PopupSpplus_hauteur);
win.focus();
}
