var ver_js=11;
var menotte='pointer';
var stnav=navigator.userAgent.toUpperCase();
if (stnav.indexOf('IE 5.',0)>=0 && stnav.indexOf('MAC',0)==-1) menotte='hand';
var lib_rg=new Array('Bridge','Tarot','Belote');
var lib_prix=new Array('150 &euro;','125 &euro;','100 &euro;');
var lib_align=new Array('left','center','right');
var rep_serveur='',pret=true,delai_incident=30000,stwait='Patientez...',idi=0,essai=0,lib_incident='',info_memo='';
var der_dll='',der_req='',der_act='';
var http = getHTTPObject();
var chy=new Array('?','T','K','C','P','S','V');
//var symy=new Array('','&#9827;','&#9830;','&#9829;','&#9824;','SA');  //var symy=new Array('','&clubs;','&diams;','&hearts;','&spades;','SA');
var id_jo=new Array('Sud','Ouest','Nord','Est');
var nbct_mx=new Array(13,18,8);
var regctrl=new RegExp("[\x00-\x1F$&=/%\x22]", "g");
var regplus=new RegExp("[+]", "g");     // pour kas.html
var id_over='*';
var anim_acc=false;


var stu,stp,mode_demo,stcredit,stps,nudrap,stem,stopt;
var stniv=new Array();
function raz_cpt()
{var i; for (i=0;i<3;i++) stniv[i]='00';
 stu='';stp='';stcredit='0';stps='';nudrap='';stem='';stopt='0';
 mode_demo='01';
}
raz_cpt();


function savoirplus(){dem_page('fonct');}

// *********************   idem dans u_delnst.pas  *****************************
var lib_bq_ip='IP',lib_bq_ccf='CCF',lib_bq_sim='SIM',lib_pc_pc='PC',lib_pc_pda='PDA';
var qt_moyen_ip=10,qt_maxi_ip=20;
var prix_unitaire_cts=70;
var etoile='*';

function bonus_promo(qt)
{var bonus=0;
 if (qt==200) bonus=100; else
 if (qt==100) bonus=40; else
 if (qt== 50) bonus=15; else
 if (qt== 30) bonus=8; else
 if (qt== qt_maxi_ip) bonus=5; else
 if (qt== qt_moyen_ip) bonus=2;
 return bonus;
}

function st_devis(qt)
{var bonus=bonus_promo(qt);
 var st='<OPTION value="'+qt.toString()+'">';
 if (qt==1) st+='un tournoi'; else st+=qt.toString()+' tournois';
 if (bonus>0) st+=' + '+bonus.toString()+' gratuit';
 if (bonus>1) st+='s';
 return st+'.</OPTION>';
}

function st_promo(nu)
{var qt=0;
 if (nu==1) qt=10; else
 if (nu==2) qt=20; else
 if (nu==3) qt=30; else
 if (nu==4) qt=50; else
 if (nu==5) qt=100; else
 if (nu==6) qt=200;


 st='<tr><td';
 if (nu==1) st+=' width="170"';
 st+='>'+qt+' tournois achet&eacute;s</td><td';
 if (nu==1) st+=' width="30"';
 st+='>=</td><td align="right"';
 if (nu==1) st+=' width="100"';
 st+='><strong>'+bonus_promo(qt)+' gratuits !</strong></td></tr>';
 return st;
}

// ************************************************


function dem_page(page){requette('req','dem','act=page'+page);}

function enr_cooks()
{
 stu=next_dollar();
 stp=next_dollar();
 stps=next_dollar();
 nudrap=next_dollar();
 enr_cook('u',stu,365);
 enr_cook('p',stp,365);
}

function crea_bonjour()
{var st='';
 st='<font face="Times New Roman, Times, serif"><strong>&nbsp;Bonjour</strong></font><br>&nbsp;'
   +stps+'&nbsp;&nbsp;<img src="dpx/'+nudrap+'.gif"><div class="loge">'
   +'<div class="align_ss"><a href="javascript:crea_rappel();">&nbsp;&gt; Mon compte&nbsp;&nbsp;&nbsp;&nbsp;</a></div>'
   +'<div class="align_ss"><a href="javascript:crea_souscrire();">&nbsp;&gt; Souscrire&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</a></div>'
   +'<div class="align_ss"><a href="javascript:crea_conf_decx();">&nbsp;&gt; Me d&eacute;sidentifier</a></div></div>'
   +'<div class="reste">il me reste '+stcredit+' tournoi';
 if (stcredit!='0' && stcredit!='1') st+='s';
 st+='</div>';
 maj_html('etat',st);
}

function over_img(id,ov)
{
 if (id_over!=id || ov)
 {
  var st='src/bt-'+id;
  if (id=='regle') st+=rg;
  if (ov) st+='-over';
  st+='.jpg';
  document.images['ibt'+id].src=st;
 }
}

function eff_ssm(){var i;for (i=1;i<=4;i++) elemy('ssm'+i).display='none';}
function aff_ssm(){var i;for (i=1;i<=4;i++) elemy('ssm'+i).display='block';}
var tempo=null;
function over_clst(id,ov)
{
 if (!ov) tempo=setTimeout("eff_ssm();clearTimeout(tempo);",300); else
 {
  if (tempo != null) clearTimeout(tempo);
  if (id=='') aff_ssm();
 }
 if (id!='') over_img('clst',ov);
 over_img('clst'+id,ov);
}

function over_rg(regle,ov){if (regle!=rg || ov) over_img('j'+regle,ov)}

function lib_acc()
{var st='<div class="verdana22px_decalage">Bonjour'
 if (stu=='') st+=' et bienvenue';
 st+=' !</div><div class="verdana12px_text">';
 if (stu=='') st+='Pour d&eacute;buter sur whisterie.com nous vous proposons de tester notre interface de jeux de '
 +lib_rg[eval(rg)]+' en ligne gratuitement. B&eacute;n&eacute;ficiez d&egrave;s maintenant d\'un duplicate de 4 donnes (tournoi) pour vous familiariser avec notre site.';
 else st+='Nous sommes heureux de vous retrouver sur whisterie.com et vous remercions de votre fid&eacute;lit&eacute;. Retrouvez nous vite autour de la table de jeux de '
 +lib_rg[eval(rg)]

 +' et tentez de gagner<div class="verdana14px_bold">jusqu’&agrave; '+lib_prix[eval(rg)]+' !</div>';

 return st+'</div><br><center class="formulaire"><input class="bt_image" type="submit" value="Jouer !" onClick="javascript:jouer();"></center>';
}

function click_rg(regle)
{var i,st=regle.toString();
if (regle==-1) window.location='/'; else
{
 if (st!=rg)
 {
  rg=st;
  enr_cook('regle',rg,365);
 }

  st='<table width="100%" cellpadding="0" cellspacing="0" border="0">'
  +'<tr bgColor="#206633"><TD rowspan="2"><img src="src/logo2.gif"></TD>'
  +'<TD valign="top" style="color:white;font-size:20">Whiterie.com</TD>'
  +'</Tr><tr><TD id="titre"></TD></Tr></TABLE>'
  +'<table width="100%" cellpadding="10" cellspacing="0" border="0">'
  +'<Tr><TD id="espace">'
  +'<ul><li><a href="javascript:jouer();" >Jouez et gagnez '+lib_prix[regle]+'</a></li></ul>'
  +'<p>Classements:</p>'
  +'<ul><li><a href="javascript:classement(\'1\');" >Provisoire</a></li><li><a href="javascript:classement(\'0\');">Semaine derni&egrave;re</a></li></ul>'
  +'</TD></Tr></TABLE>'
  +'<div id="etat"></div>'
  +'<div id="info"></div>';
  maj_html('mainj',st);

  st='<table width="100%" cellpadding="3" cellspacing="0" border="0"><Tr>';
  for (i=0;i<3;i++)
  {
   st+='<TD align="center" bgColor="';
   if (i==regle) st+='#DDDDDD" style="font-size:12;color:navy"><B>'+lib_rg[i]+'</B>';else
   st+='#206633"><A href="javascript:click_rg('+i.toString()+');" style="font-size:12;color:yellow">'+lib_rg[i]+'</A></TD>';
  }
  st+='</Tr></TABLE>';
  maj_html('titre',st);
  elemy('espace').textAlign=lib_align[regle];
  document.bgColor='#DDDDDD';


 if (stu=='')
 {
  st='<font style="margin: 4px 0px 0px 10px" face="Times New Roman, Times, serif"><strong>D&eacute;j&agrave; inscrit</strong></font>'
    +'<input style="margin: 4px 0px 0px 10px; width: 123px;" type="text" id="Identifiant" value="';
  if (stem=='') st+='Identifiant'; else st+=stem;
  st+='" onFocus="focus_id(this)" onblur="blur_id(this)">'
    +'<input style="margin: 4px 0px 0px 10px; width: 123px;" type="text" id="xxxx" value="xxxx"'
    +' onFocus="focus_id(this)" onblur="blur_id(this)">'
    +'<input src="src/bt_valider.jpg" style="padding: 6px 0pt 0pt 16px;" type="image"'
    +' onClick="javascript:valide_log();">'

    +'<div class="deloge"><div class="align_ss"><a href="javascript:crea_oublie();">&nbsp;&gt; Mot de passe oubli&eacute; ?</a></div>'
    +'<div class="align_ss"><a href="javascript:crea_pseudo();">&nbsp;&gt; Cr&eacute;ez votre compte</a></div></div>';

  maj_html('etat',st);
  if (stem!='') focuse('xxxx');
 } else
 if (stps=='') requette('req','dem','act=logck'+ver_js+'&u='+stu+'&p='+stp); else crea_bonjour();
}
}

function st_tarif(qt)
{
 st=(qt*prix_unitaire_cts).toString();
 if (st.length==1) st='0'+st;
 if (st.length==2) st='0'+st;
 st=st.substring(0,st.length-2)+','+st.substr(st.length-2,2);
 return st;
}

function next_dollar()
{
 var i=rep_serveur.indexOf('$');
 if (i==-1) i=rep_serveur.length;
 var st=rep_serveur.substring(0,i);
 rep_serveur=delete_str(rep_serveur,0,i+1);
 return st;
}

function lib_abrege_rg()
{
 if (rg=='0') return 'b'; else
 if (rg=='1') return 't'; else
 if (rg=='2') return 'e';
}

function yy(y)
{var st;
 switch (y){
  case -3:st='#FFFFFF';break;
  case -2:st='#FFFFFF';break;
  case -1:st='#FFFFFF';break;
  case  0:st='#FFFFFF';break;
  case  1:st='#006000';break;
  case  2:st='#FFA000';break;
  case  3:st='#FF0000';break;
  case  4:st='#000080';break;
  case  5:st='#333333';break;
  case  6:st='#FFFF00';break;
 }
 return st;
}

function bgy(y)
{var st;
 switch (y){
  case -3:st='#000080';break;
  case -2:st='#0000FF';break;
  case -1:st='#FF0000';break;
  case  0:st='#006000';break;
  case  1:st='#ddFFdd';break;
  case  2:st='#FFFFdd';break;
  case  3:st='#FFdddd';break;
  case  4:st='#ddddFF';break;
  case  5:st='#dddddd';break;
  case  6:st='#C0C0C0';break;
 }
 return st;
}

function aff_info(st){info_memo=st;maj_html('info',st);}

function incident(st)
{lib_incident=st;
                     
//  aff_info(lib_incident); // ici
 /*
 if (essai<=2) {if (st=='timer') autre(); else setTimeout("demarre()",500+(essai-1)*delai_incident);} else
 if (confirm(essai.toString()+'e incident(s) "'+st+'". "Ok" pour R&eacute;essayer, "Annuler" pour actualiser plus tard')) window.location.reload();
 */
}

function getHTTPObject()
{
  var xmlhttp;
  if (window.XMLHttpRequest)
    xmlhttp=new XMLHttpRequest()
  else if (window.ActiveXObject)
    xmlhttp=new ActiveXObject("Microsoft.XMLHTTP")
  return xmlhttp;
}

function requette(dll,act,st)
{
 pret=false;
 essai++;
 der_dll=dll;
 der_act=act;
 der_req=st;
 if (act!='') act="/"+act;


 http.open("POST", "dll/"+dll+".dll"+act,true);
 http.setRequestHeader('Content-Type','application/x-www-form-urlencoded');
 http.onreadystatechange=xmlhttpChange;
 http.send(st);
// ici idi=setTimeout("idi=0;incident('timer');",delai_incident);

 if (dll!='req' && st.indexOf('histo')<0)
  if (essai==1) aff_info(stwait); else aff_info(essai.toString()+'e essai(s), incident '+lib_incident);
}

function xmlhttpChange()
{
 if (http.readyState==4)
 {st=http.status;
  if (st==200)
  {
   if (idi!=0){clearTimeout(idi);idi=0;}
   essai=0;
   lib_incident='';
   // ici  inutile ! aff_info('...');
   rep_serveur=http.responseText;

   if (rep_serveur=='' || rep_serveur=='baba') acc(); else
   if (der_dll=='req') analyse_box(); else
   if (der_req.indexOf('histo')>=0) analyse_histo(); else
   analyse_jeux();

   pret=true;
  } else incident(st);
 }// else alert('ici readystate=');
}

function elem(st){return document.getElementById(st);}
function elemy(st){return document.getElementById(st).style;}
function maj_html(stid,st){document.getElementById(stid).innerHTML=st;}
function maj_value(stid,st){document.getElementById(stid).value=st;}
function inner(st) {return  document.getElementById(st).innerHTML;}
function elemv(st){return document.getElementById(st).value;}


function maj_m(j,i,st) {document.getElementById('m'+j.toString()+i.toString()).innerHTML=st;}
function val_m(j,i) {return  document.getElementById('m'+j.toString()+i.toString()).innerHTML;}
function exit_m(j,i) {return  document.getElementById('m'+j.toString()+i.toString())}

function aff_id(nid){elemy(nid).visibility='visible';}
function eff_id(nid){elemy(nid).visibility='hidden';}

function focuse(nid){document.getElementById(nid).focus();}
function indice_alpha(ch){return (ch.charCodeAt(0)-65);}
function delete_str(st,i,lg){return st.substring(0,i)+st.substring(i+lg,st.length);}
function sup_espace_str(st){var reg=new RegExp(" ", "g");return st.replace(reg,'');}
function sup_char_ctrl(st){return st.replace(regctrl,'');}
function acc(){click_rg(eval(rg));}
function crea_im(st){if (st!='') {st='<img src="ic/'+st+'.gif">';}return st;}
function eval_sy(ch){var i=0; switch (ch) {case 'T':i=1;break;case 'K':i=2;break;case 'C':i=3;break;case 'P':i=4;break;case 'S':i=5;break;}return i;}
function pct(i){var st=(i*12.5).toString(),j=st.indexOf('.');if (j!=-1) st=st.substring(0,j+2);return st+'%';}

function enr_cook(nom,valeur,nbjour)
{var date_exp = new Date();
 date_exp.setTime(date_exp.getTime()+nbjour*87840000); // =24*3660000
 document.cookie=nom+'='+escape(valeur)+'; expires='+date_exp.toGMTString();
}

function lit_cook(nom)
{var i,j,st;
 if (document.cookie) st=document.cookie; else st='';
 if (st==null) st='';
 if (st!='')
 {
  st=';'+sup_espace_str(st)+';';
  i=st.indexOf(';'+nom+'=');
  if (i==-1) st=''; else {i+=2;j=st.indexOf(';',i);st=st.substring(i+nom.length,j);}
 }
 return st;
}

function sup_cook(nom)
{var expdel=new Date();
 expdel.setTime(expdel.getTime()-100000);
 if (lit_cook(nom)!='') document.cookie=nom+'='+escape('')+'; expires='+expdel.toGMTString();
}

function openPaymentPanel(url) {
  var win = window.open(url,'iPIN_PaymentPanel','width=544,height=370,left=10,top=10,resizable=yes,status,location=no');
}

function authorize(productId) {
   var url = 'http://www.whisterie.com/acteV2/pos_init?action=authorize&pid=' + productId ;
   openPaymentPanel(url);
}

function alphabet(st)
{var ch,i,ok=true;
 for (i=0;i<st.length;i++)
 {
  ch=st.charAt(i);
  if (!(ch>='a' && ch<='z' || ch>='A' && ch<='Z')) ok=false;
 }
 return ok;
}

function nomable(st)
{var ch,i,ok=true;
 for (i=0;i<st.length;i++)
 {
  ch=st.charAt(i);
  if (!(ch>='0' && ch<='9' || ch>='a' && ch<='z' || ch>='A' && ch<='Z' || ch=='-' || ch=='.' || ch=='_')) ok=false;
 }
 return ok;
}

function verif_email(st)
{
 var tai=st.length,arob=st.lastIndexOf("@"),nom=st.substring(0,arob),pointfinal=st.lastIndexOf(".");
 var extension=st.substring(pointfinal+1,tai);
 var domaine=st.substring(arob+1,pointfinal);
 return (tai<120 && arob>0 && pointfinal>arob && nom.length>=2 && domaine.length>=2 && extension.length>=2
  && extension.length<=6 && nomable(nom) && nomable(domaine) && alphabet(extension));
}

function nettoi_id_email(oblig)
{
 maj_value('email',sup_char_ctrl(elemv('email')));
 var st=elemv('email');
 if (st=='email') st='';
 if (  oblig && st=='' || !verif_email(st)) {alert('e-mail non-conforme');focuse('email');return '';} else return st;
}

function decx(){sup_cook('u'); sup_cook('p');raz_cpt();click_rg(eval(rg));}

function crea_bt_vert(stj,stl) {return '<DIV class="BtnVert2"><A href="'+stj+'">'+stl+'</A></DIV>';}

function mainj(fond,titre,bt1,bt2,idf,corp)
{var i,st='',lib_bt,lib_java;

 st='';
 lib_java='';
 if (bt2=='S')
 {
  lib_bt='Voir le classement de la semaine derni&egrave;re';
  lib_java='javascript:classement(\'0\');';
 } else
 {
  i=bt2.indexOf('">');
  if (i>0)
  {
   lib_bt=bt2.substring(i+2,bt2.length);
   lib_java=bt2.substring(0,i);
  }
 }

 st+='<TABLE width="98%" cellpadding="0" cellspacing="0" border="0"><TR><td width="10px"></td><td valign="top" colspan="2">';
 if (titre!='') st+='<p>'+titre+'</p><br>';
 st+=corp+'<br></td></TR><TR><td></td><td>';
 if (bt1=='_') st+=crea_bt_vert('javascript:click_rg('+rg+');','Retour');
 st+='</td><td width="5px">';
 if (lib_java!='') st+=crea_bt_vert(lib_java,lib_bt);
 st+='</td></TR><TR><td></td><td colspan="2" id="info"></td></TR></table>';

 maj_html('mainj',st);
 if (idf!='') focuse(idf);
}

function crea_conf_decx()
{
 var st='<p>Notez bien votre identifiant <B>'+stps+'</B> et votre mot de passe <B>'+stp
  +'</B>, ils seront n&eacute;cessaires pour vous identifier plus tard.';
 // ici en option ?!
 if (stem=='') st+='<I>(d\'autant que nous n\'avons pas votre adresse mail pour vous les rappeler)</I>';
 st+='</p>';
 mainj('*','D&eacute;sidentification','_','javascript:decx();">Confirmer','',st);
}

function valide_log()
{var u=sup_char_ctrl(elemv('Identifiant')),p=sup_char_ctrl(elemv('xxxx'));
 maj_value('xxxx',p);
 maj_value('Identifiant',u);
 if (u!='')
 {
  if (p.length==4 && !isNaN(p)) requette('req','dem','act=logma&u='+u+'&p='+p);
  else {alert('mot de passe érronné');focuse('xxxx');}
 }
}

function demarre_log()
{
 stu=lit_cook('u');
 stp=lit_cook('p');
 rg=lit_cook('regle');
 if (rg=='') rg='0';
 click_rg(eval(rg));
}

function crea_oublie()
{var st='<h4>pour recevoir votre mot de passe laissez-nous votre e-mail:</h4><input type="text" id="email" size="35" value="">';
 mainj('*','Mot de passe oubli&eacute;','_','javascript:valide_oublie();">Valider','','<div>'+st+'</div>');
 focuse('email');
}

function valide_oublie() {var st=nettoi_id_email(true); if (st!='') requette('req','dem','act=oubli&em='+st);}

function bt_wha(i)
{var st='';
  st='<a href="javascript:achat_bq('+i.toString()+',\''+lib_bq_ip+'\')"><IMG src="src/bt_wha.jpg" border="0"></A>';
 return st;
}

function valide_qtcom()
{var qt=0,st=elemv('qtcom');
 if (!isNaN(st)) qt=eval(st);
 if (qt<=0 || qt>999)
 {
  maj_value('qtcom','')
  focuse('qtcom');
 } else
 if (bonus_promo(qt)>0) achat_bq(qt,lib_bq_ccf); else
 if (qt==1)
 {
  maj_html('mp_t1','<br><br>Pour un montant de '+st_tarif(qt)+'&euro; un seul mode de paiement vous est propos&eacute;:');
  maj_html('mp_l1','Paiement en ligne s&eacute;curis&eacute; simple et rapide<br>avec votre facture d\'acc&egrave;s à Internet');
  maj_html('mp_b1',bt_wha(qt));
  maj_html('mp_t2','<br><br>Pour un paiement par carte bancaire ou par ch&egrave;que:');
  maj_html('mp_l2','vous devez prendre au moins 10 tournois.');
  maj_html('mp_b2','');
 } else
 {
  maj_html('mp_t1','Tapez une quantit&eacute; correspondant &agrave; une promotion,<br> sinon tapez 1 pour un achat unique sans promotion.');
  maj_html('mp_l1','');
  maj_html('mp_b1','');
  maj_html('mp_t2','');
  maj_html('mp_l2','');
  maj_html('mp_b2','');
  focuse('qtcom');
 }
}

function crea_souscrire()
{var st='<div class="encart_promotionnel"><div class="tableau_tournoi">'
+'<table>'+st_promo(1)+st_promo(2)+st_promo(3)+st_promo(4)+st_promo(5)+'</table></div></div>'
+'<table cellpadding="0" cellspacing="5" border="0">'
+'<Tr><TD class="titre3" colspan="2">Le prix unitaire du tournoi est de '+st_tarif(1)+'&euro;</TD></Tr>'
+'<Tr><TD class="lib_mp">Combien voulez-vous prendre de tournoi ?&nbsp;<input type="text" id="qtcom" size="4" value=""></TD>'
+'<TD class="formulaire"><input class="bt_image" type="submit" value="Valider" onClick="javascript:valide_qtcom();"></TD></Tr>'
+'<Tr><TD id="mp_t1" class="titre3" colspan="2"></TD></Tr><Tr><TD class="lib_mp" id="mp_l1"></TD><TD class="lib_mp" id="mp_b1"></TD></Tr>'
+'<Tr><TD id="mp_t2" class="titre3" colspan="2"></TD></Tr><Tr><TD class="lib_mp" id="mp_l2"></TD><TD class="lib_mp" id="mp_b2"></TD></Tr>'
+'</TABLE>';

 mainj('*','Achat de tournois','_','','',st);
 focuse('qtcom');
}

function achat_bq(qt,bq)
{var st='ns='+stu+'&psw='+stp+'&qt='+qt.toString()+'&bq='+bq+'&rg='+rg;
 if (stem!='') st+='&mail='+stem;
 st+='&pc='+lib_pc_pda;
 requette('req','pminit',st);
}

function f_perso()
{var drp=nudrap;
 if (drp=='') drp='25';
 while (drp.length<2) drp='0'+drp;
 if (stopt=='1') drp+='1'; else drp+='0';
 if (stps=='') drp+='vous'; else drp+=stps;
 return mode_demo+stniv[eval(rg)]+drp;
}

function f_new_ver(){return (stu=='702' || rg=='1');}

function jouer()
{
 if (stu=='') crea_pseudo(); else
 if (stcredit=='0') crea_souscrire(); else
 mode_demo='00';
 demarre_jeux();
}

function jouer_demo()
{
 mode_demo='01';
 demarre_jeux();
}

function classement(encours)
{ var st='&pc='+lib_pc_pda;
 requette('req','dem','act=clst&jx='+rg+'&encours='+encours+'&ns='+stu+st);
}

function crea_rappel()
{var st='&pc='+lib_pc_pda;
 jeu_de_carte='';
 requette('req','dem','act=adr&jx='+rg+'&ns='+stu+'&p='+stp+st);
}

function demarre_question(){focuse('email');}

function analyse_box()
{var st,produit_ip,action;

 if (der_act=='pminit' && der_req.indexOf(lib_bq_sim,0)>=0)
 {
   alert('simulation confirmée pour '+rep_serveur);
   requette('req','pmResponseIPNm',rep_serveur);
 } else

 if (der_act=='pminit' && der_req.indexOf(lib_bq_ip,0)>=0)
 {      // avec popup      openPaymentPanel(url);
   location.href='http://www.whisterie.com/acteV2/pos_init?action=authorize&pid='+rep_serveur;
 } else

 if (der_act=='pminit' && der_req.indexOf(lib_bq_ccf,0)>=0)
 {
  i=eval(elemv('qtcom'));
  maj_html('mp_t1','<br><br>Paiement en ligne s&eacute;curis&eacute;&nbsp;<img src="src/clef.gif">&nbsp;pour un montant total de '+st_tarif(i)+'&euro;');
  maj_html('mp_l1','Par carte bancaire<br>'+rep_serveur);
  if (i==1 || i==qt_moyen_ip || i==qt_maxi_ip)
   maj_html('mp_b1','ou par votre facture d\'acc&egrave;s à Internet<br>'+bt_wha(i));
  else
   maj_html('mp_b1','');
  maj_html('mp_t2','');
  maj_html('mp_l2','');
  maj_html('mp_b2','');

 } else

 {action=next_dollar();
  if (action=='mainj') mainj(next_dollar(),next_dollar(),next_dollar(),next_dollar(),next_dollar(),rep_serveur);else
  if (action=='raz') decx(); else

  // à peaufiner
  if (action=='idinc') {alert('identifiant inconnu');focuse('Identifiant');} else
  if (action=='pwinc') {alert('Le mot de passe ne correspond pas à l\'identifiant');focuse('xxxx');} else
  if (action=='eminc') {alert('Attention, nous n\'avons pas de compte correspondant à cet adresse mail.');focuse('email');} else
  if (action=='emdej')
  {
   alert('Vous avez déjà un compte avec l\'e-mail '+next_dollar()
    +' , un rappel du mot de passe vient d\'y être envoyé.');
   focuse('email');
  } else
  if (action=='psdej')
  {
   alert('L\'identifiant '+next_dollar()
    +' existe déjà, merci d\'en choisir un autre ou de vous identifier avec son mot de passe correspondant.');
   focuse('pseudo');
  } else       

  if (action.indexOf('login')==0)
  {
   stcredit=next_dollar();
   stem=next_dollar();
   stopt=next_dollar();
   if (stopt=='') stopt='0';    // ici voir avec la dll
   for (i=0;i<3;i++)
   {
    stniv[i]=next_dollar();
    if (stniv[i]=='') stniv[i]='00';       // ici voir avec la dll
    if (stniv[i].length==1) stniv[i]='0'+stniv[i];       // ici voir avec la dll
   }
   enr_cooks();
   crea_bonjour();
   if (ver_js<eval(action.substring(5,action.length)))
    mainj('*','Nouvelle version.','_','','','Cliquez sur le bouton actualiser de votre navigateur pour profiter de la nouvelle version des jeux.');
  } else
  if (action=='crea')
  {
   enr_cooks();
   stem=next_dollar();
   mainj('*','Bienvenue et merci de votre inscription.','_','','',next_dollar());
  } else
  if (action=='oubli')
  {
   stem=next_dollar();
   mainj('*','Message','_','','','<p>Consultez votre messagerie '+stem
    +' , vous y trouverez les r&eacute;f&eacute;rences de votre compte.</p>');
  } else
  if (action=='upd')
  {
   st=next_dollar(); if (st!='') stem=st;
   st=next_dollar(); if (st!='') stps=st;
   nudrap=next_dollar();
   if (rep_serveur=='') click_rg(eval(rg)); else
   {
    mainj('*','Votre demande a &eacute;t&eacute; enregistr&eacute;e:','_','','',rep_serveur);
    var i=rep_serveur.indexOf('nouveau solde de');    // idem dans u_req.pas
    if (i>0)
    {
     var st=rep_serveur.substr(i+17,8);
     stcredit=st.substr(0,st.indexOf(' '));
    }
   }

  } else alert(action+rep_serveur);

 } // action

 rep_serveur='';
}

function envoyer()
{
 var st=nettoi_id_email(true);
 if (st!='')
 {
  var stt=elem('mess').value.replace(regctrl,etoile);
  if (stt.length<2) {alert('texte incomplet');focuse('mess');} else
  if (stt.length>1000) {alert('texte trop long (1000 caractères maxi)');focuse('mess');} else
  requette('req','dem','act=Q&em='+st+'&mess='+stt);
 }
}

function focus_id(sender){if (sender.value==sender.id) sender.value='';}
function blur_id(sender)
{
 sender.value=sup_char_ctrl(sender.value);
 if (sender.value=='') sender.value=sender.id;
}
function change_nudrap(st) {document.images['img_nudrap'].src='dpx/'+st+'.gif';}
function change_accpub(sender)
{
 if (sender.value=='1') sender.value='0'; else sender.value='1';
 sender.style.Color='#CCCCCC';
}
function change_id(sender){sender.style.backgroundColor='#EEEEEE';}

var jeu_de_carte='';
function change_jeude(sender){jeu_de_carte=sender.value;}  

function adr_post_incomp()
{var ok='';
 for (var i=0;i<document.formadr.elements.length;i++)
  if (document.formadr.elements[i].id==document.formadr.elements[i].value) ok=document.formadr.elements[i].id;
 return ok;
}

function valide_gain(gain_chq,gain_tournois,crea)
{var ok=true,st='',act='',chq='';

 if (gain_chq>0) chq=elemv('ecompansation');

 if (chq=='-1') {ok=false; alert('Vous devez choisir le montant du chèque');} else
 if (elemv('email')!='email' || crea) {st=nettoi_id_email(crea);if (st=='') ok=false;}

 if ((ok) && (chq!='' || jeu_de_carte=='U' || jeu_de_carte=='D'))
 {
  st=adr_post_incomp();
  if (st!='') {ok=false;alert('complétez le champ "'+st+'"');focuse(st);}
 }

 if (ok)
 {
  act='act=upd&u='+stu+'&p='+stp+'&accpub='+elemv('accpub');
  if (stem!=elemv('email')) act+='&em='+elemv('email');

  if (!crea)
  {
   // ici nettoyer nom=nom,prenom=prenom,ville=ville ...
   act+='&nudrap='+elemv('nudrap')
    +'&genre='+elemv('egenre')
    +'&nom='+elemv('nom')
    +'&prenom='+elemv('prenom')
    +'&rue='+elemv('rue')
    +'&cp='+elemv('cp')
    +'&ville='+elemv('ville')
    +'&pays='+elemv('pays');
   if (stps!=elemv('pseudo')) act+='&ps='+elemv('pseudo');
   if (gain_tournois>0) act+='&gg='+gain_tournois.toString();
   if (chq!='') act+='&chq='+chq;
   if (jeu_de_carte=='U' || jeu_de_carte=='D') act+='&carte='+jeu_de_carte;
  }

  requette('req','dem',act);
  jeu_de_carte='';
 }
}

function contact()
{var st='<p>Une question ? une remarque ? Nous sommes &agrave; votre &eacute;coute.<BR>'
 +'Sachez que vos remarques sont souvent pertinentes et toujours les bienvenues.<BR>'
 +'Elles sont lues attentivement et chaque question aura une r&eacute;ponse.</p><br>'
 +'<h4>Laissez-nous un e-mail valide pour vous r&eacute;pondre</h4>'
 +'<input type="text" id="email" size="35" value="'+stem+'"><br><br><br>'
 +'<h4>Votre message</h4>'
 +'<TEXTAREA id="mess" cols="40" rows="10"></TEXTAREA>';
 mainj('*','Contact','_','javascript:envoyer();">Envoyer','','<div>'+st+'</div>');
 if (stem=='' ) focuse('email'); else focuse('mess');
}

function crea_pseudo()
{var st='<h4>Choisissez un identifiant convivial:</h4>'
  +'<input type="text" id="pseudo" value="" size="15"><br><br><br>'
  +'<h4>Entrez votre adresse e-mail:</h4>'
  +'<input type="text" id="email"  value="" size="55"><p>(N&eacute;cessaire pour valider votre compte, en aucune fa&ccedil;on ne sera public)</p>'
  ;
 mainj('*','Inscription','_','javascript:valide_pseudo();">Valider','','<div>'+st+'</div>');
 focuse('pseudo');
}

function valide_pseudo()
{var ok=true;
 maj_value('pseudo',sup_char_ctrl(elemv('pseudo')));
 var stp=elemv('pseudo');
 if (verif_email(stp))
 {
  ok=false;
  alert('pour des raisons de confidentialité, n\'utilisez pas d\'adresse mail comme pseudonyme');
 } else
 if ( (stp.length>=2 && (stp.charAt(0)=='a' || stp.charAt(0)=='A') && !isNaN(stp.substring(1,stp.length)))
    ||(stp.length==9 && !isNaN(stp.substring(2,stp.length))) || (stp.length==4 && !isNaN(stp)) )
 {
  ok=false;
  alert('pseudonyme déjà existant !');
 }

 if (stp!='' && ok)
 {
  var ste=nettoi_id_email(true);
  if (ste!='')
  { // à peaufiner   +'&nudrap='+pays du navigateur ou trace de log
   var st='act=crea&ps='+stp+'&nudrap=0'+'&em='+ste;
   requette('req','dem',st);
  }
 } else focuse('pseudo');
}

function evalcoul(st)
{var i,ch;
 if (st=='PA') i= 0; else
 if (st=='X' ) i=-1; else
 if (st=='XX') i=-2; else
 if (st=='AL') i=-3; else
 {
  ch=st.charAt(1);
  if (ch=='V') i=6; else
  if (ch=='S' || ch=='A' || ch==' ' || ch>='0' && ch<='9') i=5; else
  if (ch=='Z') i=eval(st.charAt(0)); else i=eval_sy(ch);
 }
 return i;
}

function evalniv(st)
{var i=0;
 st=st.toUpperCase();
 if (st.charAt(0)=='Z') i=8; else
 if (st.length==2 && st.charAt(1)=='Z') i=9; else
 if (!isNaN(st.charAt(0))) i=parseInt(st.charAt(0));
 return i;
}

function id_onglet(niv,y)
{var st;
 if (niv==0)
  switch (y){case 0:st='PA';break;case -1:st='X';break;case -2:st='XX';break;case -3:st='AL';break;}
 else if (niv==8) st='Z'+chy[y]; else if (niv==9) st=y.toString()+'Z'; else st=niv.toString()+chy[y];
 return st;
}

function lib_id_onglet(niv,y,abrg)
{var st;
 if (niv==0)
 {
  st=id_onglet(niv,y);
  if (st=='PA') st='Passe'; else
  if (st=='AL') st='?';
 } else
 if (rg_tarot) switch (y)
 {
  case 1:st='Prise';break;
  case 2:st='Garde';break;
  case 3:if (abrg) st='G.Sans'; else st='Garde Sans';break;
  case 4:if (abrg) st='G.Cont'; else st='Garde Contre';break;
 } else
 {
  if (rg_belote) {niv=10*niv+70;if (niv==80) niv=82; else if (niv==160) niv=250;}
  st='<B>'+niv+'</B>';
  if (y<=5) st+=crea_im('sy'+chy[y]); else
  {
   st+='<span style="font-weight:bold;font-size:9">';
   if (y==6) st+='TA'; else st+='SA';
   st+='</span>';
  }
 }
// if (abrg && rg_tarot) st=st.small();
 return st;
}

function st_expli_score(imp)
{var eq='Nord-Sud'; if (rg_tarot) eq='Sud';
 var lib;
 if (imp) lib='IMP'; else lib='écarts';
 var st='Les <b>écarts</b> correspondent aux points marqués en '+eq+' à votre table moins ceux des autres tables.<br>';
 if (imp) st+='Chaque écart est converti en <b>IMP</b> selon le tableau ci-joint. ';
 st+='Pour chaque donne la moyenne des '+lib+' est calculée.'
+' Votre <b>score</b> (enregistré dans le classement) correspond à la somme des '+lib+' moyens obtenues pour chaque donne du tournoi.'
 return st;
}

function grille_imps()
{var bareme=new Array(0,20,50,90,130,170,220,270,320,370,430,500,600,750,900,1100,1300,1500,1750,2000,2250,2500,3000,3500,4000);
 var st='<table style="font-size:9" cellpadding="0" cellspacing="0" border="0"><tr><td rowspan="26" width="210">'
+'<table style="font-size:13" cellpadding="8" cellspacing="0" border="0"><tr><td>'
+st_expli_score(true)

 +'</td></tr></table>'
 +'</td>'

 +'<td colspan="2" align="center"><b>Ecart</b></td><td align="center"><b>IMP</b></td>'
 +'</tr>';

 for (var i=0;i<=24;i++)
 {
  st+='<tr><td>de '+bareme[i]+'</td><td>&nbsp;';
  if (i<24) st+='à '+(bareme[i+1]-10); else st+='et plus';
  st+='&nbsp;</td><td align="center">'+i+'</td></tr>';
 }
 st+='</table>';
 return st;
}



