function compter(formulaire) {

if (formulaire != null) {
    var total = 0;
    var prixmin = 18.90;
    var oldPrixMot = 0.86;
    var newPrixMot = 1;
    var len = 0;
    var maxLimit = 100;
    var img = 0;
    var i = 0;
    var chaine = document.getElementById('ann_texte').value;
    var reg = new RegExp("(\\[b\\])([^\\[]*)(\\[/b\\])", "ig");
    var regChiffres = new RegExp("([0-9]+([\.\'\/ ]*))+", "ig");
    //chaine = chaine.replace(reg, "\"$2\"");
    chaine = trim(chaine.replace(reg, '$2'));
    chaine = chaine.replace(regChiffres, '$1');
    
    var ann_nb = document.getElementById('ann_nb').value;
    
    
    if (document.getElementById('ann_img') != null) {
        total = 50;
        img = 1;
        len  = chaine.length;//without tags
        len2 = document.getElementById('ann_texte').value.length;//with tags
        if (chaine.length > maxLimit) {// if too long...trim it!
            document.getElementById('ann_texte').value = document.getElementById('ann_texte').value.substring(0, maxLimit + (len2-len));
            len = maxLimit;
        }
        total = total * ann_nb;
    }
    else {
        var ann_diffusion = document.getElementById('ann_diffusion').value;
        var firstDate = splitDate(ann_diffusion);
        var tabDates = getAllDates(firstDate, ann_nb);
        var nbOldPrix =  tabDates['old'];
        var nbNewPrix = (tabDates['old'] + tabDates['new'] == 0) ? ann_nb : tabDates['new'];
        var exp=new RegExp("([a-zA-Z0-9éèêëàáâäóòôöíìîïçÉÈÊËÀÁÂÄÒÓÔÖÌÍÎÏÇ])+","g");
        var tabNom=chaine.match(exp);
        if (tabNom!=null) {
            len = tabNom.length;
        } 
        //alert (len + " * (( " + nbOldPrix + " * " + oldPrixMot+ ")\+("+nbNewPrix + " * " + newPrixMot + "))");
        total = len * ((nbOldPrix * oldPrixMot) + (nbNewPrix * newPrixMot));
    }
    formulaire.compte.value = len;
    if (formulaire.ann_chiffre.checked) {
        total+=37;
    }
    
    prixmin *= formulaire.ann_nb.value;
    //alert('total:'+ total+' img :'+ img + ' len :'+len+' nb:'+formulaire.ann_nb.value);
    var prixHorsTVA = (prixmin > total) ? number_format(prixmin, 2, '.', ' ') : number_format(Math.round(20*total) / 20, 2, '.', ' ');
    var prixTVA = Math.round(20 * (prixHorsTVA * 1.076)) / 20;
    formulaire.ann_prix.value = number_format((prixTVA), 2, '.', '');
    }
}

function getAllDates(firstDate, ann_nb) {
    var i;
    var res = new Array(2);
    var newDate;
    res['old'] = 0;
    res['new'] = 0;
    var myDate = new Date(firstDate[0], firstDate[1]-1, firstDate[2]);
    for (i = 0; i < ann_nb; i++) {
        newDate = new Date(myDate.getTime() + (i * 7 *86400000));
        
        if (newDate.getYear() == 2007 || newDate.getYear() == 107) {
            res['old'] +=1;
        }
        else {
            res['new'] += 1;
        }
    }
    return res;
}

function splitDate(dte) {
    var reg = new RegExp("[-]", "g");
    var res = dte.split(reg);
    return res;
}


function trim(string)
{
return string.replace(/(^\s*)|(\s*$)/g,'');
} 

function bbcode(chaine) {
    var isMozilla = (navigator.userAgent.toLowerCase().indexOf('gecko')!=-1) ? true : false;
    var champtexte = document.getElementById(chaine);
    var texte = champtexte.value;
    var len = texte.length;
    
    if (isMozilla) {
        var start = champtexte.selectionStart;
        var end = champtexte.selectionEnd;
        if (end-start > 0) {
            champtexte.value = texte.substring(0, start) +
            '[b]'+ texte.substring(start, end) + '[/b]' +
            texte.substring(end, len);
            
        }
        else {
            alert("vous devez sélectionner une partie du texte pour pouvoir la mettre en gras");
        }
        champtexte.focus();
    }
    else {
         var str = document.selection.createRange().text;
         if (str.length > 0) {
            var sel = document.selection.createRange();
            sel.text = "[b]" + str + "[/b]";
			sel.collapse();
			sel.select();
        }
        else {
            alert("vous devez sélectionnz une partie du texte pour pouvoir la mettre en gras");
        }

    }
}

function number_format(a, b, c, d) {
 a = Math.round(a * Math.pow(10, b)) / Math.pow(10, b);
 e = a + '';
 f = e.split('.');
 if (!f[0]) {
  f[0] = '0';
 }
 if (!f[1]) {
  f[1] = '';
 }
 if (f[1].length < b) {
  g = f[1];
  for (i=f[1].length + 1; i <= b; i++) {
   g += '0';
  }
  f[1] = g;
 }
 if(d != '' && f[0].length > 3) {
  h = f[0];
  f[0] = '';
  for(j = 3; j < h.length; j+=3) {
   i = h.slice(h.length - j, h.length - j + 3);
   f[0] = d + i +  f[0] + '';
  }
  j = h.substr(0, (h.length % 3 == 0) ? 3 : (h.length % 3));
  f[0] = j + f[0];
 }
 c = (b <= 0) ? '' : c;
 return f[0] + c + f[1];
}