// Procédures globales du projet
function _SAE(c,o){var d=0;var f=c.length-1;if(o&1)while(c.charAt(d)==" ")d++;if(o&2)while(c.charAt(f)==" ")f--;if (f < d) f= d;return c.substring(d,f+1)}
function _MI3(c,n,l){return c.substring(n-1,n+l-1);}// EXE_Droite
function _DRO(c,n){	return c.substring(c.length-n,c.length);}// EXE_Val
function _VAL(v){var r=parseFloat(v);return isNaN(r)?0:r}
function EXE_NVC(bCadrageGauche,bSigne,bZero,nTaille,nPrec,bMillier,fVal,nBase){var szRes=Math.abs(Math.round(fVal)).toString(nBase);var nLgr=szRes.length;if(bSigne||(fVal<0))nLgr++;if(bMillier){var szRes2=""
for(var i=0;i<Math.ceil(szRes.length/3);i++){szRes2=szRes.substring(szRes.length-(3*(i+1)),szRes.length-(3*i))+" "+szRes2;nLgr++}szRes=szRes2.substring(0,szRes2.length-1);nLgr--}if(nLgr<eval(nTaille)){if(bCadrageGauche){while(nLgr<eval(nTaille)){
szRes+=" ";nLgr++}}else{if(bZero){while(nLgr<eval(nTaille)){if(bMillier&&(((nLgr)%4)==0))szRes=" "+szRes;else szRes="0"+szRes;nLgr++}}else{while(nLgr<eval(nTaille)){szRes=" "+szRes;nLgr++}}}}if(bSigne||(fVal<0)){var n=0
while((szRes.charAt(n)==" ")&&(n<nLgr))n++;var szSgn="+";if(fVal<0)szSgn="-";szRes=szRes.substring(0,n)+szSgn+szRes.substring(n,szRes.length)}return szRes}
function EXE_NVC_d(bCadrageGauche,bSigne,bZero,nTaille,nPrec,bMillier,fVal){return EXE_NVC(bCadrageGauche,bSigne,bZero,nTaille,nPrec,bMillier,fVal,10)}
function EXE_NVC_x(bCadrageGauche,bSigne,bZero,nTaille,nPrec,bMillier,fVal){return EXE_NVC(bCadrageGauche,bSigne,bZero,nTaille,nPrec,bMillier,fVal,16)}
function EXE_NVC_o(bCadrageGauche,bSigne,bZero,nTaille,nPrec,bMillier,fVal){return EXE_NVC(bCadrageGauche,bSigne,bZero,nTaille,nPrec,bMillier,fVal,8)}
function EXE_NVC_e(bCadrageGauche,bSigne,bZero,nTaille,nPrec,bMillier,fVal){var nExp=Math.round(Math.log(Math.abs(fVal))/Math.LN10);var fPuiss=Math.pow(10,nExp);var szRes=EXE_NVC_f(bCadrageGauche,bSigne,bZero,nTaille,nPrec,bMillier,(fVal/fPuiss))
while(szRes.charAt(szRes.length-1)==" ")szRes=szRes.substring(0,szRes.length-1);szRes+="e";if(nExp>=0)szRes+="+";else szRes+="-";if(nExp<10)szRes+="0";szRes+=Math.abs(nExp);while(szRes.length<nTaille)if(bCadrageGaucHe)szRes+=" ";else szRes=" "+szRes
return szRes}
function EXE_NVC_f(bCadrageGauche,bSigne,bZero,nTaille,nPrec,bMillier,fVal){var fEnt=Math.floor(fVal);if(fVal<0)fEnt+=1;var szDec=""+(Math.round((Math.abs(fVal)-Math.floor(Math.abs(fVal)))*Math.pow(10,nPrec))/Math.pow(10,nPrec))
szDec=szDec.substring(2,szDec.length);var szRes=EXE_NVC_d(bCadrageGauche,bSigne,bZero,nTaille-(nPrec+1),nPrec,bMillier,fEnt);if(bCadrageGauche)while(szRes.charAt(szRes.length-1)==" ")szRes=szRes.substring(0,szRes.length-1)
while(szRes.charAt(0)==" ")szRes=szRes.substr(1);if(nPrec>0){szRes+=".";while(szDec.length<nPrec)szDec+="0";szRes+=szDec.substring(0,nPrec)}while(szRes.length<nTaille)if(bCadrageGauche)szRes+=" ";else szRes=" "+szRes;return szRes}
function EXE_NVC_D(bCadrageGauche,bSigne,bZero,nTaille,nPreC,bMillier,fVal){return EXE_NVC_d(bcadrageGauche,bSigne,bZero,nTaille,nPrec,bMillier,fVal)}
function EXE_NVC_E(bCadrageGauche,bSigne,bZero,nTaille,nPrec,bMillier,fVal){return EXE_NVC_e(bCadrageGauche,bSigne,bZero,nTaille,nPrec,bMillier,fVal)}
function EXE_NVC_O(bCadrageGauche,bSigne,bZero,nTaille,nPrec,bMillier,fVal){return EXE_NVC_o(bCadrageGauche,bSigne,bZero,nTaille,nPrec,bMillier,fVal)}
function EXE_NVC_X(bCadrageGauche,bSigne,bZero,nTaille,nPrec,bMillier,fVal){var szRes = EXE_NVC_x(bCadrageGauche,bSigne,bZero,nTaille,nPrec,bMillier,fVal);return szRes.toUpperCase()}
function EXE_NVC_F(bCadrageGauche,bSigne,bZero,nTaille,nPrec,bMillier,fVal){return EXE_NVC_f(bCadrageGauche,bSigne,bZero,nTaille,nPrec,bMillier,fVal)}
function _NVC(fVal,szFormat){if(isNaN(fVal))return fVal;var bCadrageGauche=false;var bSigne=false;var bZero=false;var nTaille=0;var nPrec=0;var szType="f";var bMillier=false;if(szFormat.charAt(0)=="-"){bCadrageGauche=true
szFormat=szFormat.substring(1,szFormat.length)}if(szFormat.charAt(0)=="+"){bSigne=true;szFormat=szFormat.substring(1,szFormat.length)}if(szFormat.charAt(0)=="0"){bZero=true;szFormat=szFormat.substring(1,szFormat.length)}
if((szFormat.charAt(szFormat.length-1)=="s")||(szFormat.charAt(szFormat.length-1)=="S")){bMillier=true;szFormat=szFormat.substring(0,szFormat.length-1)}szType=szFormat.charAt(szFormat.length-1);szFormat=szFormat.substring(0,szFormat.length-1)
if((szType!="d")&&(szType!="e")&&(szType!="f")&&(szType!="o")&&(szType!="x")&&(szType!="D")&&(szType!="E")&&(szType!="F")&&(szType!="O")&&(szType!="X"))return"";nTaille=parseInt(szFormat)
if(szFormat.indexOf(".")!=-1)nPrec=parseInt(szFormat.substring(szFormat.indexOf(".")+1,szFormat.length));else{var szEnt=""+fVal;var szDec=""+fVal;var nPosPt=szDec.indexOf(".");if(nPosPt!=-1){szDec=szDec.substring(nPosPt+1)
szEnt=szEnt.substring(nPosPt-1);nPrec=nTaille-(szEnt.length+1)}}return eval("EXE_NVC_"+szType+"("+bCadrageGauche+","+bSigne+","+bZero+","+nTaille+","+nPrec+","+bMillier+","+fVal+")")}
function PrgN_Lettres(VPVALEUR ){{var VCODE1="";var VCODE2="";var VUNITE="";var VDIZAINE="";var VVALEUR1=0;var VN1=0;VUNITE="Un      Deux    Trois   Quatre  Cinq    ";VUNITE=(VUNITE+"Six     Sept    Huit    Neuf    Dix     ")
VUNITE=(VUNITE+"Onze    Douze   Treize  QuatorzeQuinze  ");VUNITE=(VUNITE+"Seize   Dix-septDix-huitDix-neuf");VDIZAINE="Vingt       Trente      Quarante    Cinquante   ";VDIZAINE=(VDIZAINE+"Soixante    Soixante    Quatre-vingtQuatre-vingt")
G_sCode="";if((VPVALEUR>99)){VN1=Math.floor((VPVALEUR/100));if((VN1>1)){G_sCode=((_SAE(G_sCode,3)+" ")+_SAE(_SAE(_MI3(VUNITE,((VN1*8)-7),8),1),3))}VPVALEUR=(VPVALEUR-(VN1*100));G_sCode=(_SAE(G_sCode,3)+" Cent")}if((VPVALEUR>19)){
VN1=(Math.floor((VPVALEUR/10))-1);VCODE2=_SAE(_SAE(_MI3(VDIZAINE,((VN1*12)-11),12),1),3);if((_DRO(VCODE2,1)=="-")){G_sCode=(_SAE(G_sCode,3)+_SAE(VCODE2,3))}else {;G_sCode=((_SAE(G_sCode,3)+" ")+_SAE(VCODE2,3))}
if(((((VPVALEUR==70)||((VPVALEUR>=77)&&(VPVALEUR<=79)))||(VPVALEUR==90))||((VPVALEUR>=97)&&(VPVALEUR<=99)))){G_sCode=(_SAE(G_sCode,3)+"-dix")}if(((VPVALEUR==71)||(VPVALEUR==91))){G_sCode=(_SAE(G_sCode,3)+"-onze")}if(((VPVALEUR==72)||(VPVALEUR==92)))
{G_sCode=(_SAE(G_sCode,3)+"-douze")}if(((VPVALEUR==73)||(VPVALEUR==93))){G_sCode=(_SAE(G_sCode,3)+"-treize")}if(((VPVALEUR==74)||(VPVALEUR==94))){G_sCode=(_SAE(G_sCode,3)+"-quatorze")}if(((VPVALEUR==75)||(VPVALEUR==95))){
G_sCode=(_SAE(G_sCode,3)+"-quinze")}if(((VPVALEUR==76)||(VPVALEUR==96))){G_sCode=(_SAE(G_sCode,3)+"-seize")}VN1=(Math.floor((VPVALEUR/10))*10);VVALEUR1=VPVALEUR;VPVALEUR=(VPVALEUR-VN1)}
if(((VPVALEUR>0)&&(((VVALEUR1<71)||(VVALEUR1>76))&&((VVALEUR1<91)||(VVALEUR1>96))))){VCODE1=_SAE(_SAE(_MI3(VUNITE,((VPVALEUR*8)-7),8),1),3);if((_DRO(VCODE1,1)=="-")){G_sCode=(_SAE(G_sCode,3)+_SAE(VCODE1,3))}else {
G_sCode=((_SAE(G_sCode,3)+" ")+_SAE(VCODE1,3))}}return}}
function PrgN_nomblet(VPMONTANT ){{var VCENTIMES=0;var VTEMP=0;if((VPMONTANT<=0)){return}VCENTIMES=_VAL(_DRO(_NVC(VPMONTANT,"10.2f"),2));VPMONTANT=Math.floor(VPMONTANT);G_sMontantEnLettre="";VTEMP=Math.floor((VPMONTANT/1000000000));if((VTEMP>0)){
PrgN_Lettres(VTEMP);G_sMontantEnLettre=((_SAE(G_sMontantEnLettre,3)+_SAE(G_sCode,3))+" Milliard");VTEMP=Math.floor((VPMONTANT/1000000000));VPMONTANT=(VPMONTANT-(VTEMP*1000000000))}VTEMP=Math.floor((VPMONTANT/1000000));if((VTEMP>0)){
PrgN_Lettres(VTEMP);G_sMontantEnLettre=(((_SAE(G_sMontantEnLettre,3)+" ")+_SAE(G_sCode,3))+" Million");VTEMP=Math.floor((VPMONTANT/1000000));VPMONTANT=(VPMONTANT-(VTEMP*1000000))}VTEMP=Math.floor((VPMONTANT/1000));if((VTEMP>0)){if((VTEMP>1)){
PrgN_Lettres(VTEMP);G_sMontantEnLettre=(((_SAE(G_sMontantEnLettre,3)+" ")+_SAE(G_sCode,3))+" Mille")}else {;G_sMontantEnLettre=(_SAE(G_sMontantEnLettre,3)+" Mille")}VTEMP=Math.floor((VPMONTANT/1000));VPMONTANT=(VPMONTANT-(VTEMP*1000))}
VTEMP=VPMONTANT;if((VTEMP>0)){PrgN_Lettres(VTEMP);G_sMontantEnLettre=((_SAE(G_sMontantEnLettre,3)+" ")+_SAE(G_sCode,3))}if(((_MI3(G_sMontantEnLettre,1,3)=="Un ")&&(G_sMontantEnLettre.length==3))){
G_sMontantEnLettre=(_SAE(G_sMontantEnLettre,3)+" Dirham")}else {;G_sMontantEnLettre=(_SAE(G_sMontantEnLettre,3)+" Dirhams")}if((VCENTIMES>0)){G_sMontantEnLettre=(((_SAE(G_sMontantEnLettre,3)+" et ")+_SAE(_NVC(VCENTIMES,"2d"),3))+" centimes")}return}
}

