if(!version.extensions.spgi){version.extensions.spgi={major:1,minor:1,revision:16,date:new Date(2009,12,15),type:"plugin",source:"http://ffrancisco.free.fr"};spgif={forceStartTiddler:function(b){params[0].open=[b];for(var a=0;a<params.length;a++){if(params[a].name=="open"){break}}params[a]={name:"open",value:b};if(story){story.displayTiddler("bottom",b,null,false,null)}}};config.paramifiers.seance={spgisaison:function(a){var b,c,d=window.spgi;for(b=0;b<d.seances.length;b++){c=d.seances[b];if(a==c.ref){d.seanceAct=b;d.firstSaison=true;break}}}};config.paramifiers.abonnement={spgisaison:function(c){var d,b,e=window.spgi;c=c.toLowerCase();for(d=0;d<e.formulesAb.length;d++){b=e.formulesAb[d];if(c==b.nom.toLowerCase()){e.formuleAct=d;spgif.forceStartTiddler(e.TNFormuleAbVente);break}}}};spgiAjax={sendRequest:function(a,b,d,f,j,h,i){var c;try{c=new XMLHttpRequest()}catch(g){try{c=new ActiveXObject("Msxml2.XMLHTTP")}catch(g){try{c=new ActiveXObject("Microsoft.XMLHTTP")}catch(g){alert(g.description?g.description:g.toString())}}}if(!c){alert("Votre navigateur ne supporte pas la technologie AJAX. Veuillez le mettre à jour ou utiliser un navigateur comme Firefox (libre, gratuit, puissant, ...) par exemple !");return}if(window.netscape){try{if(document.location.protocol.indexOf("http")==-1){netscape.security.PrivilegeManager.enablePrivilege("UniversalBrowserRead")}}catch(g){alert(g.description?g.description:g.toString())}}try{c.open(a,b,false);if(a.toLowerCase()=="post"){c.setRequestHeader("Content-Type",(i?i:"application/x-www-form-urlencoded"));c.send(d)}else{c.send(null)}if(c.readyState==4){if(f){if(h){f(c,c.responseText,j)}else{if(c.status==200||c.status===0){f(c.responseText,j)}else{alert(c.status+" "+c.statusText+":\n"+c.responseText)}}}else{if(!h&&c.status!=200&&c.status!==0){c.responseText="";alert("Erreur de communication : "+c.status+" "+c.statusText)}}return{status:c.status,stxt:c.statusText,txt:c.responseText}}}catch(g){alert(b+"Echec : "+g.toString())}return null},encode:function(c,a,b){return(b?"&":"")+encodeURIComponent(c)+"="+encodeURIComponent(a)},encodeArray:function(b){var d,c=[];for(d=0;d<b.length;d++){c.push(encodeURIComponent(b[d].n)+"="+encodeURIComponent(b[d].v))}return c.join("&")},postForm:function(b,a,c,l,h){var f,d,g,k=[];for(f=0;f<b.elements.length;f++){g=b.elements[f];switch(g.type.toLowerCase()){case"text":case"password":case"textarea":case"select-one":case"hidden":case"button":case"submit":k.push(this.encode(g.name,g.value,f));break;case"reset":break;case"checkbox":case"radio":if(g.checked){k.push(this.encode(g.name,g.value,f))}break;case"select-multiple":for(d=0;d<g.options.length;d++){if(g.options[d].selected){k.push(this.encode(g.name,g.options[d].value,f))}}break;default:displayMessage("Ajax.postForm: "+g.type+" élément de forme non supporté.");return}}return this.sendRequest("POST",a,k.join("&"),c,l,h)},rnd:function(a){return(Math.floor(a*Math.random()))},makeBoundary:function(){return(this.rnd(4294967296).toString(16)+this.rnd(4294967296).toString(16))},postData:function(d,a,c,k,h){var b=this.makeBoundary(),j=[],f,g,l;for(f=0;f<d.length;f++){g=d[f];j.push("--"+b);l='Content-Disposition: form-data; name="'+g.n+'"';if(g.f){l+='; filename="'+g.f+'"'}j.push(l);if(g.t){j.push("Content-Type: "+g.t)}j.push("");j.push(g.v)}j.push("--"+b+"--");return this.sendRequest("POST",a,j.join("\n"),c,k,h,"multipart/form-data, boundary="+b)}};function spgiPresenteSeanceAct(){var a=window.spgi;return("Presentation_"+a.seances[a.seanceAct].serveur+"_"+a.seances[a.seanceAct].ref)}function spgiPresenteAbAct(){return("Presentation_"+window.spgi.formulesAb[window.spgi.formuleAct].nom)}function spgiSwitchOrdreListeSeances(){var a=window.spgi;a.listS.tri=(a.listS.tri?"":"chrono");story.refreshTiddler(a.TNListeSeances,null,true);story.displayTiddler(null,a.TNListeSeances)}function spgiFillForm(g,a){var d=document.forms[g];var c,b,e,h;for(c=0;c<d.elements.length;c++){e=d.elements[c];h=a[e.name];if(h){if(e.type.toLowerCase()=="text"){e.value=h}if(e.options){h=h.toUpperCase();for(b=0;b<e.options.length;b++){if(h==e.options[b].value.toUpperCase()||h==e.options[b].text.toUpperCase()){e.options.selectedIndex=b;break}}}}}}String.prototype.trim=function(){return this.replace(/(?:^\s+|\s+$)/g,"")};nomsJourSemaine=["dimanche","lundi","mardi","mercredi","jeudi","vendredi","samedi"];nomsMois=["janvier","février","mars","avril","mai","juin","juillet","août","septembre","octobre","novembre","décembre"];function spgiDateHeureToString(a){return nomsJourSemaine[a.getDay()]+" "+a.getDate()+" "+nomsMois[a.getMonth()]+" "+((a.getYear()<999)?(a.getYear()+1900):a.getYear())+" à "+a.getHours()+"h"+((a.getMinutes()<10)?"0"+a.getMinutes():a.getMinutes())}function spgiDateSeuleToString(a){return nomsJourSemaine[a.getDay()]+" "+a.getDate()+" "+nomsMois[a.getMonth()]+" "+((a.getYear()<999)?(a.getYear()+1900):a.getYear())}function goodDate(a){var e,b=new Date(),c=a.value.split("/");jour=parseInt(c[0]);mois=parseInt(c[1])-1;annee=parseInt(c[2]);e=new Date(annee,mois,jour);return(annee<b.getFullYear())&&(e.getDate()==jour)&&(e.getMonth()==mois)&&(e.getFullYear()==annee)}function toMoney(d){var b,a,c=(parseFloat(d)<0?"-":"");if(c){d=-d}a=String(parseFloat(d)*100+0.5);b=a.indexOf(".");if(b>0){a=a.substr(0,b)}b=a.length;if(b<=1){a="0.0"+a}else{if(b==2){a="0."+a}else{a=a.substr(0,b-2)+"."+a.substr(b-2)}}return c+a}function toMoneyChar(a){return toMoney(a)+window.spgi.moneyChar}function totalProduit(a,b,d,c){if(!a||isNaN(a)){a=1}if(c&&!isNaN(c)){b=parseFloat(b)-(parseFloat(b)*parseFloat(c)/100)}if(d&&!isNaN(d)){b=parseFloat(b)+parseFloat(d)}return toMoney(a*parseFloat(b))}function fraisForTarif(b,a){var e=window.spgi,d=(isNaN(b)?b:e.lTarifs[b]),c=((e.optionsInternet.filiere.options&64)?0:d.frais);if((parseFloat(d.prix)!=0)||!(e.optionsInternet.filiere.options&16)){c=parseFloat(c)+parseFloat(e.optionsInternet.filiere.fraisPlace)}if(e.optionsInternet.filiere.options&32){if(!a){a=e.seances[e.seanceAct]}c=parseFloat(c)+parseFloat(a.fraisPlace)}return c}function nbPlaces(d){var c,b,a=0;for(c=0;c<d.elements.length;c++){if((d.elements[c].name.slice(0,3)=="qtt")&&(!isNaN(b=parseInt(d.elements[c].value)))){a+=b}}if(d.nbtotal){d.nbtotal.value=a}return a}function lTarifOfInput(c){var a=window.spgi,b=c.split("_");return a.lTarifs[a.seances[a.seanceAct].zones[b[0]].tarifs[b[1]]]}function doTotalFrais(c){var b,d,a=0;for(b=0;b<c.elements.length;b++){d=c.elements[b];if(d.name.slice(0,3)=="qtt"&&!isNaN(d.value)){a=parseFloat(a)+parseFloat(d.value*fraisForTarif(lTarifOfInput(d.name.slice(4))))}}if(c.totalfrais){c.totalfrais.value=toMoneyChar(a)}return a}function doTotalPlaces(b){var a,d,c=0;for(a=0;a<b.elements.length;a++){d=b.elements[a];if(d.name.slice(0,6)=="stotal"&&d.value!=""){c=parseFloat(d.value)+parseFloat(c)}}if(b.totalplaces){b.totalplaces.value=toMoneyChar(c)}return c}function doTotalSeance(a){nbPlaces(a);doTotalPlaces(a);doTotalFrais(a)}function qttChange(k){var d,b,m,n,q,a,f=window.spgi,e=k.name.slice(4),l=k.form,o=l.elements["stotal_"+e],h=l.elements["sfrais_"+e];o.value="";if(h){h.value=""}if(k.value.length>0){for(d=0;d<k.value.length;d++){m=k.value.charAt(d);if(m<"0"||m>"9"){alert("La quantité doit être un nombre entier");k.value=""}}}if(isNaN(b=k.value)){b=0}a=e.split("_");n=f.seances[f.seanceAct].zones[a[0]];q=f.lTarifs[n.tarifs[d=a[1]]];n.sais[d]=parseInt(b);o.value=toMoneyChar(b*(f.fraisCompris?parseFloat(q.prix)+fraisForTarif(q):q.prix));if(h){h.value=toMoneyChar(b*fraisForTarif(q))}doTotalSeance(l)}function spgiCreateLink(b,a,c,d){var e=createTiddlyElement(b,"a",null,d,a);e.href=c?c:"javascript:;";return e}function spgiSetTiddler(c,a,f){if(a&&(f||f===0)){var e,b=window.spgi,d=a.split(".");if(d.length>0){for(e=0;e<d.length-1;e++){b=b[d[e]]}b[d[e]]=f}}story.refreshTiddler(c,null,true);story.displayTiddler(null,c)}function spgiSetTiddlerNotModif(b,a,c){window.spgi.panierAct=-1;if(a&&(c||c===0)){window.spgi[a]=c}story.refreshTiddler(b,null,true);story.displayTiddler(null,b)}function spgiDoModifPanierAct(d){var b=window.spgi;if(isNaN(d)&&this.varN){d=this.v1}if(isNaN(d)||(d>=b.panier.length)){return false}b.panierAct=d;var e=b.panier[d],a=null;if(!isNaN(e.seance)){b.seanceAct=e.seance;a=b.TNSeanceCmd}else{if(!isNaN(e.formule)){b.formuleAct=e.formule;a=b.TNFormuleAbVente}}if(a){story.refreshTiddler(a,null,true);story.displayTiddler(null,a)}}function spgiClearPanier(){var a=window.spgi;a.panierAct=-1;a.panier=[];a.p={nbPlaces:0,total:0,frais:0,port:[]};a.aPayer=0;a.totalPanier=0;a.fraisPanier=0;a.key="";a.oldPanier=false}function spgiTestClearPanier(){if(window.spgi.oldPanier){spgiClearPanier()}}function spgiOnClickShowTiddler(){if(this.v2&&this.v3){window.spgi[this.v2]=this.v3}story.refreshTiddler(this.v1,null,true);story.displayTiddler(null,this.v1)}function spgiOnClickShowTiddlerNotModif(){window.spgi.panierAct=-1;if(this.v2&&this.v3){window.spgi[this.v2]=this.v3}story.refreshTiddler(this.v1,null,true);story.displayTiddler(null,this.v1)}function addSeanceToPanier(){var l=window.spgi,k,h,p,u,b,o=true,d=[],q=document.forms.CmdSeanceForm,w=q.totalplaces.value||0,a=q.nbtotal.value||0,v=q.totalfrais?q.totalfrais.value:doTotalFrais(q),x=l.seances[l.seanceAct];for(k=0;k<q.elements.length;k++){p=q.elements[k];if(p.name.slice(0,4)=="qtt_"&&!isNaN(h=parseInt(p.value))){d.push({zt:p.name.slice(4),v:h})}}for(k=0;k<x.zones.length;k++){u=x.zones[k];b=0;for(h=0;h<u.sais.length;h++){b+=parseInt(u.sais[h]||0)}if(b>u.reste){alert("Attention !\nVotre demande ne pourra pas être satisfaite puisque vous demandez à réserver "+b+' places en "'+u.nom+'" où il ne reste que '+u.reste+" places disponibles");return}}spgiTestClearPanier();var r={deroule:1,seance:l.seanceAct,nbPlaces:a,total:w,frais:v,c:d};for(k=0;k<l.panier.length;k++){if(l.panier[k].seance==l.seanceAct){if(d.length>0){l.panier[k]=r}else{l.panier.splice(k,1)}o=false;break}}if(o&&d.length>0){l.panier.push(r)}window.spgi.panierModifie=true;story.refreshTiddler(l.TNPanier,null,true);story.displayTiddler(null,l.TNPanier)}config.macros.spgiPresentationSeance={handler:function(i,b,h,j,d,o){var k=window.spgi,q=k.seances[k.seanceAct],n=k.spectacles[q.spectacle],c=k.sites[q.site],p=k.themes[q.theme],m=n.f1||k.defaultSpectacleImg,a=['<html><div class="seanceEnCommande">',(n.tL.length<2?"":"<a class=\"button\" style=\"float:right\" onClick=\"javascript:spgiSetTiddler('Liste générale des séances', 'listS.spectacle', '"+q.spectacle+"');\">Autres Dates</a>")+'<img class="imgSeance" src="img/'+m+'" alt="Image du spectacle ('+n.f1+')"/>','<div class="title">'+n.s+"</div><b>"+spgiDateHeureToString(q.date)+"</b><br/><I>Thème : "+p.s+"<br/>Lieu : "+c.s+"</I><br/>"+(n.txt?"":"<br/>")];if(n.txt){a.push('<p class="presentationSeance"><span class="littleTitle"><b>Présentation : </b></span>'+n.txt+"</p>")}a.push('<p style="clear:left"></p></div></html>');wikify(a.join("\n"),i)}};function spgiPresentationSpectacle(f,n){var c=['<div class="presentationSpectacle"><div class="actionsSpectacle">'],m,p,l,j,o,h,k=window.spgi,a,b,e,d;if(n){a=f;b=k.spectacles[a];m=b.tL}else{m=[f];a=k.seances[f].spectacle;b=k.spectacles[a]}o=k.seances[m[0]];e=b.f1||k.defaultSpectacleImg;d=m.length;switch(d){case 0:p="Pas de représentation";l="";break;case 1:p="<B>Date</B> : "+spgiDateHeureToString(o.date);l="<B>Lieu</B> : "+k.sites[o.site].s;if(o.reste>0){c.push("<a class=\"button\" onClick=\"spgiSetTiddler('SeanceEnCommande', 'seanceAct', "+m[0]+');">Acheter vos Places</a><br/>')}else{c.push('<span class="lblComplet">'+k.lblComplet+"</span>")}break;default:l="<B>Lieu</B> : "+k.sites[o.site].s;for(j=1;j<d;j++){if(o.site!=k.seances[m[j]].site){l="<B>Lieu</B> : en fonction de la séance";break}}p="<B>Du</B> "+spgiDateSeuleToString(o.date)+" <b>au</b> "+spgiDateSeuleToString(k.seances[m[d-1]].date);c.push('<a class="button" onClick="spgiAnimSlide(\'datesSpect'+a+"');\">Choisir une date</a><br/>");break}c.push("<br/>"+(n||k.venteSeance.hidePlacesDispo||o.reste<=0?"":k.venteSeance.lblPlacesDispo+" : <b>"+o.reste+"</b>")+"<br/>");if(b.txt){c.push('<br/><b><a class="button" onClick="spgiAnimSlide(\'txtSpect'+m[0]+"');\">+ d'infos</a></b>")}c.push("</div>");c.push('<div class="zoneImageSpectacle"><img src="img/'+e+'" alt="Image du spectacle ('+e+')" class="imgSpectacle"></div>');c.push('<div class="infosSpectacle"><span class="littleTitle">'+b.s+"</span>"+(b.compagnie?"<I>("+b.compagnie+")</I>":"")+"<br/><br/><B>Thème</B> : "+k.themes[o.theme].s+"<br/>"+p+"<br/>");c.push(l);if(b.txt){c.push('<div id="txtSpect'+m[0]+'" class="textePresentationSpectacle" style="display:none"><hr><b>Présentation : </b>'+b.txt+"</div>")}if(d>1){c.push('<div id="datesSpect'+a+'" class="datesSpectacle" style="display:none"><table><tr><th>Date</th><th>Lieu</th><th>Places</th><th></th></tr>');for(j=0;j<d;j++){h=k.seances[m[j]];c.push("<tr><td>"+spgiDateHeureToString(h.date)+"</td><td>"+k.sites[h.site].s+"</td><td>"+(h.reste>0?h.reste:'<span class="lblComplet">0</span>')+"</td><th>"+(h.reste>0?"<a class=\"button\" onClick=\"spgiSetTiddler('SeanceEnCommande', 'seanceAct', "+m[j]+');">Acheter vos places</a>':'<span class="lblComplet">'+k.lblComplet+"</span>")+"</th></tr>")}c.push("</table></div>")}c.push("</div></div>");return c.join("\n")}function spgiSelect(a,g,e,b,c,j){var d,k=[],f,h;if(!j||j=="a"){f="menuSelectTitle";h=e}else{f="menuSelectTitleSelected";h=c[j].s}k.push('<div class="spgiSelect" onMouseOver="javascript:this.className=\'spgiSelectOver\';" onMouseOut="javascript:this.className=\'spgiSelect\';"><div class="'+f+'" onClick="javascript:spgiAnimSlide(\''+a+"');\">"+h+'</div><div id="'+a+'" class="subMenuOpen" style="display:none"><ul>');k.push('<li class="subMenu" style="font-style:italic" onMouseOver="javascript:this.className=\'subMenuOver\';" onMouseOut="javascript:this.className=\'subMenu\';" onClick="javascript:config.macros.spgiBarreOutilsListeSeances.onChgtSTS(\''+g+"a');\">"+e+"</li>");for(d=0;d<b.length;d++){if(d==j){k.push('<li class="subMenuSelected" onMouseOver="javascript:this.className=\'subMenuOver\';" onMouseOut="javascript:this.className=\'subMenuSelected\';" onClick="javascript:config.macros.spgiBarreOutilsListeSeances.onChgtSTS(\''+g+b[d]+"');\">"+c[b[d]].s+"</li>")}else{k.push('<li class="subMenu" onMouseOver="javascript:this.className=\'subMenuOver\';" onMouseOut="javascript:this.className=\'subMenu\';" onClick="javascript:config.macros.spgiBarreOutilsListeSeances.onChgtSTS(\''+g+b[d]+"');\">"+c[b[d]].s+"</li>")}}k.push("</ul></div></div>");return k.join("\n")}function spgiAnimSlide(a){var c=a;var b=document.getElementById(c);if(b.style.display=="none"){anim.startAnimating(new Slider(b,true,null,""))}else{anim.startAnimating(new Slider(b,false,null,""))}}config.macros.spgiMakeFormTarifsSeance={handler:function(q,c,L,f,h,B){var J=window.spgi,C=L[0],I,F,w,o,u,m,l,b,v,E,e,M,H=J.seances.length,y=null,G=0,O=0,A=0;if(C){for(I=0;I<H;I++){w=J.seances[I];if((isNaN(C)&&w.id==C)||(!isNaN(C)&&w.idxFiche==C)){break}}if(I>=H){return""}J.seanceAct=I}else{I=J.seanceAct;w=J.seances[I]}for(H=0;H<J.panier.length;H++){if(J.panier[H].seance==I){y=J.panier[H]}}var d=1,N=J.moneyChar,r=J.venteSeance.zoneCol,a,x=J.venteSeance.fraisCol,D=J.venteSeance.lblPlacesDispo||"places dispo",K=['<html><div class="seanceEnCommande">','<div class="tarifsSeanceForm"><table style="border-style:none;width:100%;"><tr style="border-style:none;vertical-align:top;"><td style="border-style:none;padding:0;text-align:center;"><form id="CmdSeanceForm" name="CmdSeanceForm" action="javascript:;"><table><tr>'+(r?"<th>"+r+"</th>":"")+"<th>Tarif</th><th>Prix ("+N+")</th><th>Quantité</th><th>Total ("+N+")</th>"+(x?"<th>"+x+"</th>":"")+"<tr>"];for(I=0;I<w.zones.length;I++){o=w.zones[I];o.sais=[];if(o.reste>0){a=!r;for(H=0;H<o.tarifs.length;H++){e=o.tarifs[H];u=J.lTarifs[e];m=I+"_"+H;l="";b=0;v=0;if(y){for(F=0;F<y.c.length;F++){if(y.c[F].zt==m){l=y.c[F].v;v=toMoney((E=fraisForTarif(u,w))*l);b=toMoney(l*(parseFloat(u.prix)+(J.fraisCompris?E:0)));O=parseFloat(O)+parseFloat(v);G=parseFloat(G)+parseFloat(b);A=parseInt(A)+parseInt(l);break}}}o.sais.push(l);if(l||(u.groupe&J.optionsInternet.operateur.groupe)){if(a){a=false;K.push('<tr class="finDeTable"><th colspan="'+(x?5:4)+'">Zone tarifaire : '+o.nom+(J.venteSeance.hidePlacesDispo?"":" ("+o.reste+" "+D+")")+"</th></tr>")}M=J.fraisCompris?parseFloat(u.prix)+fraisForTarif(u):u.prix;K.push("<tr>"+(r?"<td>"+o.nom+"</td>":"")+'<td align="left">'+u.libelle+'</td><td align="right">'+toMoneyChar(M)+'</td><td><input type="text" name="qtt_'+m+'" value="'+l+'" size="5" maxlength="2" tabindex="'+d+'" onkeyup="qttChange(this)" style="background : #ffffff; text-align: right" lTarif="'+e+'"></td><td><input type="text" name="stotal_'+m+'" value="'+toMoneyChar(b)+'" size="9" readonly style="text-align: right"></td>'+(x?'<td><input type="text" name="sfrais_'+m+'" value="'+toMoneyChar(v)+'" size="8" readonly style="text-align: right"></td>':"")+"</tr>");d++}}}}K.push('<tr class="finDeTable"><th colspan="'+(r?3:2)+'"><input type="button" onClick="addSeanceToPanier();" name="valider" value="Ajouter au panier" tabindex="'+d+'"></th><th><input type="text" name="nbtotal" value="'+A+'" size="5" readonly style="text-align: right"></th><th><input type="text" name="totalplaces" value="'+toMoneyChar(G)+'" size="9" readonly style="text-align: right"></th>'+(x?'<th><input type="text" name="totalfrais" value="'+toMoneyChar(O)+'" size="9" readonly style="text-align: right"></th>':"")+"</tr>\n</table>");K.push((b=J.venteSeance.divConditionsTarifs)||(A=J.spectacles[w.spectacle].f2)?'</form></td><td style="border-style:none;padding:0;">'+(b?J.venteSeance.divConditionsTarifs:'<img class="imgPlan" src="img/'+A+'">'):"</form>");K.push("</td></tr></table></div></div></html>");wikify(K.join("\n"),q);if(u=document.CmdSeanceForm.qtt_0_0){u.focus()}}};spgif.goodSeanceL=function(a,d){var b=window.spgi;if(!isNaN(a)){a=b.seances[a]}return a.dispoS&&(a.reste>0||b.lblComplet)&&(d.site=="a"||a.site==d.site)&&(d.theme=="a"||a.theme==d.theme)&&(d.spectacle=="a"||a.spectacle==d.spectacle)&&(d.srv=="a"||a.serveur==d.srv)&&(d.ville=="a"||b.sites[a.site].ville==d.ville)&&(!d.dPeriode||a.date>=d.dPeriode)&&(!d.fPeriode||a.date<d.fPeriode)};spgif.computeCrtListS=function(){var a=function(f,e){if(!(f||f===0)){f="a"}if(f=="a"||!isNaN(f)){return f}if(e){for(var g=0;g<e.length;g++){if(f==e[g].nom){return g}}}return"a"},d=window.spgi,b,c;if(!d.listS){d.listS={fait:false,affType:d.venteSeance.affType||"listeMini",tri:d.venteSeance.tri}}if(d.listS.fait){return}d.listS.site=a(d.listS.site,d.sites);d.listS.theme=a(d.listS.theme,d.themes);d.listS.spectacle=a(d.listS.spectacle,d.spectacles);d.listS.srv=a(d.listS.srv,d.serveurs);d.listS.ville=a(d.listS.ville,d.villes);for(b=0;b<d.sites.length;b++){d.sites[b].tL=[]}for(b=0;b<d.themes.length;b++){d.themes[b].tL=[]}for(b=0;b<d.spectacles.length;b++){d.spectacles[b].tL=[]}if(d.serveurs){for(b=0;b<d.serveurs.length;b++){d.serveurs[b].tL=[]}}if(d.villes){for(b=0;b<d.villes.length;b++){d.villes[b].tL=[]}}for(b=0;b<d.seances.length;b++){c=d.seances[b];c.okL=false;if(spgif.goodSeanceL(c,d.listS)){c.okL=true;d.sites[c.site].tL.push(b);d.themes[c.theme].tL.push(b);d.spectacles[c.spectacle].tL.push(b);if(d.serveurs){d.serveurs[c.serveur].tL.push(b)}if(d.villes){d.villes[d.sites[c.site].ville].tL.push(b)}}}d.listS.fait=true};config.macros.spgiBarreOutilsListeSeances={listComboSTS:function(m){var e,b,a,f,h=window.spgi,d=[],k={site:h.listS.site,theme:h.listS.theme,spectacle:h.listS.spectacle,srv:h.listS.srv,ville:h.listS.ville,dPeriode:h.listS.dPeriode,fPeriode:h.listS.fPeriode};switch(m){case 1:k.site="a";a=h.sites;break;case 2:k.theme="a";a=h.themes;break;case 3:k.spectacle="a";a=h.spectacles;break;case 4:k.srv="a";a=h.serveurs;break;case 5:k.ville="a";a=h.villes;break;default:return null}for(e=0;e<a.length;e++){f=a[e].t;for(b=0;b<f.length;b++){if(spgif.goodSeanceL(f[b],k)){d.push(e);break}}}return d},onChgtSTS:function(d,b){if(!d){return false}var c=window.spgi,a=d.substr(1);switch(d.charAt(0)){case"1":c.listS.site=a;break;case"2":c.listS.theme=a;break;case"3":c.listS.spectacle=a;break;case"4":c.listS.srv=a;break;case"5":c.listS.ville=a;break;default:return false}c.listS.fait=false;spgif.computeCrtListS();if(b){story.refreshTiddler(story.findContainingTiddler(b).title,null,true)}else{story.refreshTiddler(c.TNListeSeances,null,true)}},makeHTML:function(y,p){spgif.computeCrtListS();var k=window.spgi,o,e,h,f,s,r,w,q,m,n=!k.venteSeance.affType||k.venteSeance.affType=="listeMini";y.push('<div class="barreOutilsListeSeances"'+(n?"":' style="max-width:'+(185*p.length)+'px;margin:auto;"')+">");for(h=0;h<p.length;h++){o=p[h];if(o.capts){y.push(n?'<input type="button" onClick="spgiSwitchOrdreListeSeances();" name="tri" value="'+(k.listS.tri?o.capts[0]:o.capts[1])+'" title="'+o.title+'"> ':'<div class="spgiButton" onClick="spgiSwitchOrdreListeSeances();" onMouseOver="javascript:this.className=\'spgiButtonOver\';" onMouseOut="javascript:this.className=\'spgiButton\';" name="tri" title="'+o.title+'"><div class="menuSelectTitle">'+(k.listS.tri?o.capts[0]:o.capts[1])+"</div></div>")}else{switch(o.name){case"lieu":e=k.sites;r=k.listS.site;s=1;break;case"theme":e=k.themes;r=k.listS.theme;s=2;break;case"spectacle":e=k.spectacles;r=k.listS.spectacle;s=3;break;case"serveur":e=k.serveurs;r=k.listS.srv;s=4;break;case"ville":e=k.villes;r=k.listS.ville;s=5;break;default:return}m=this.listComboSTS(s)||[];if(n){y.push('<select name="c_'+o.name+'" onchange="config.macros.spgiBarreOutilsListeSeances.onChgtSTS(this.value)" title="'+(o.title?o.title:"Choissez un "+o.name+"dans cette liste")+'">');y.push('<option value="'+s+'a">Choisir un '+o.name+"</option>");w=m.length==1;for(f=0;f<m.length;f++){y.push('<option value="'+s+""+(q=m[f])+'"'+(w||q==r?" selected>":">")+e[q].s+"</option>")}y.push("</select> ")}else{y.push(spgiSelect("menu"+o.name,s,"Choix d'un "+o.name,m,e,r))}}}y.push("</div>")},handler:function(c,g,i,f,h,e){var a=i[0]||window.spgi.barreOutilsListeSeances;if(!a){return false}var d=["<html>"];this.makeHTML(d,a);d.push("</html>");wikify(d.join("\n"),c)}};spgiAfficheurs={spectacle:{listeMini:{head:function(){return'<table class="listeDeSeances" style="margin:auto"><tr><th align="center">Spectacle</th><th align="center">Date et heure</th></th><th align="center">Lieu</th>'+(window.spgi.venteSeance.hidePlacesDispo?"":'<th align="center">'+window.spgi.venteSeance.lblPlacesDispo+"</th>")+"</tr>"},foot:function(){return"</table>"},line:function(a,d){var b=window.spgi;return'<tr style="background-color: '+b.colorLigneSpectacle+'"><td align="center">'+b.spectacles[a].s+'</td><td align="center"><a class="button" href="javascript:;" onClick="config.macros.spgiListeDeSeances.clickDS(\''+a+"');\">&gt;&gt; Voir les dates &lt;&lt;</a></td><td></td>"+(b.venteSeance.hidePlacesDispo?"":"<td></td>")+"</tr>"}},listeMaxi:{head:function(){return'<div class="listePresentationSpectacle">'},foot:function(){return"</div>"},line:function(a,b){return spgiPresentationSpectacle(a,1)}},visu:{line:function(a,b){}}},seance:{listeMini:{head:function(){return'<table class="listeDeSeances" style="margin:auto"><tr><th align="center">Spectacle</th><th align="center">Date et heure</th></th><th align="center">Lieu</th>'+(window.spgi.venteSeance.hidePlacesDispo?"":'<th align="center">'+window.spgi.venteSeance.lblPlacesDispo+"</th>")+"</tr>"},foot:function(){return"</table>"},line:function(a,e){var d=window.spgi,b=d.seances[a];return"<tr"+(b.reste>0?"":' style="background-color: '+d.colorSeanceComplete+'"')+'><td align="center">'+(b.reste>0?'<a href="javascript:;" onClick="spgiSetTiddler(\''+d.TNSeanceCmd+"', 'seanceAct', '"+a+"');\">"+d.spectacles[b.spectacle].s+"</a>":d.spectacles[b.spectacle].s+d.lblComplet)+"</td><td>"+spgiDateHeureToString(b.date)+"</td><td>"+d.sites[b.site].s+"</td>"+(d.venteSeance.hidePlacesDispo?"":'<td align="right">'+b.reste+"</td>")+"</tr>"}},listeMaxi:{head:function(){return'<div class="listePresentationSpectacle">'},foot:function(){return"</div>"},line:function(a,b){return spgiPresentationSpectacle(a,0)}},visu:{line:function(a,b){}}},site:{}};config.macros.spgiListeDeSeances={clickDS:function(c){var b=window.spgi.spectacles[c];b.deroule=(b.deroule?false:true);story.refreshTiddler("Liste générale des séances",null,true)},makeHTML:function(o,m,l){var h=window.spgi,f,e,b,k,d=spgiAfficheurs.seance[m.affType],n=spgiAfficheurs[m.tri?"seance":"spectacle"][m.affType];if(n.head){f=n.head();if(f){o.push(f)}}if(m.tri&&m.spectacle=="a"){for(f=0;f<h.seances.length;f++){if(h.seances[f].okL){o.push(d.line(f,m))}}}else{if(m.spectacle=="a"){for(f=0;f<h.spectacles.length;f++){b=h.spectacles[f];k=b.tL;if(k&&k.length>0){if(k.length>1){o.push(n.line(f,m))}if(b.deroule||k.length==1){for(e=0;e<k.length;e++){o.push(d.line(k[e],m))}}}}}else{k=h.spectacles[m.spectacle].tL;for(f=0;f<k.length;f++){o.push(d.line(k[f],m))}}}if(n.foot){f=n.foot();if(f){o.push(f)}}},initCL:function(d,f,a,e,j,b,i,k,c){var h=window.spgi;if(!h.listS){h.listS={fait:false,affType:h.venteSeance.affType||"listeMini",tri:h.venteSeance.tri}}if(d){h.listS.site=d;h.listS.fait=false}if(f){h.listS.theme=f;h.listS.fait=false}if(a){h.listS.spectacle=a;h.listS.fait=false}if(e){h.listS.srv=e;h.listS.fait=false}if(j){h.listS.ville=j;h.listS.fait=false}if(b){h.listS.dPeriode=b;h.listS.fait=false}if(i){h.listS.fPeriode=i;h.listS.fait=false}if(k){h.venteSeance.tri=k;h.listS.tri=k}if(c){h.venteSeance.affType=c;h.listS.affType=c}},handler:function(a,e,g,d,f,c){this.initCL(g.site,g.theme,g.spectacle,g.serveur,g.ville,g.dPeriode,g.fPeriode,g.tri,g.affType);spgif.computeCrtListS();var b=["<html>"];this.makeHTML(b,window.spgi.listS);b.push("</html>");wikify(b.join("\n"),a)}};config.macros.spgiListeDeFormulesAb={handler:function(e,b,d,f,c,k){var h,l,j=window.spgi,m=['<html><div class="title">Formules d\'abonnements</div><br><br><table class="listeDeFormulesAb" style="margin:auto;"><tr><th align="center">Formule d\'abonnement</th><th align="center">Forfait</th></th><th align="center">Thème</th><th colspan="2" align="center">Période de validité</th><th align="center">Nombre de séances</th><th align="center">Minimum de séances</th></tr>'];for(h=0;h<j.formulesAb.length;h++){l=j.formulesAb[h];m.push('<tr><td align="center"><a href="javascript:;" onClick="spgiSetTiddler(\''+j.TNFormuleAbVisu+"', 'formuleAct', '"+h+"');\">"+l.nom+'</a></td><td align="right">'+toMoneyChar(l.forfait)+"</td><td>"+l.theme+"</td><td>"+spgiDateSeuleToString(l.debutPeriode)+"</td><td>"+spgiDateSeuleToString(l.finPeriode)+'</td><td align="right">'+l.lignes.length+'</td><td align="right">'+l.lignesMin+"</td></tr>")}m.push("</table></html>");wikify(m.join("\n"),e)}};config.macros.spgiResumeFormuleAb={handler:function(d,a,c,e,b,j){var g=c[0];if(isNaN(g)){g=window.spgi.formuleAct}var h=window.spgi.formulesAb[g],k=new Array("| !Formule d'abonnement| !"+h.nom+" |","| Thème de l'abonnement|"+h.theme+" |","| Forfait|"+toMoneyChar(h.forfait)+" |","| Catégorie|"+(h.zone||"Au choix")+" |","| Tarif|"+(h.tarif||"Au choix")+" |","| Places par séance|"+(h.qtt||"A saisir")+" |","| Limite de places total|"+(h.maxPlaces||"Pas de limite")+" |","| Début de saison|"+spgiDateSeuleToString(h.debutPeriode)+" |","| Fin de saison|"+spgiDateSeuleToString(h.finPeriode)+" |","| Nombre mini de lignes|"+h.lignesMin+" |","| Nombre actuel de lignes|"+h.lignes.length+" |");wikify(k.join("\n"),d)}};config.macros.spgiLignesFormuleAbVisu={handler:function(j,b,h,m,e,r){var o=h[0];if(isNaN(o)){o=n.formuleAct}var n=window.spgi,q=n.formulesAb[o],p=["","bgcolor("+n.colorForceAb+"):"],k,d,x,u="| !Thème du spectacle | !Lieu du spectacle | !Spectacle | !Séance |";if(!q.zone){u+=" !Catégorie |"}if(!q.tarif){u+=" !Tarif |"}var w=[u];for(k=0;k<q.lignes.length;k++){d=q.lignes[k];x="";if(d.iSeance>=0){x=spgiDateHeureToString(n.seances[d.iSeance].date)}o=d.flgFixe;if(x){o=o|15}u="|"+p[o&1]+d.theme+" |"+p[(o>>1)&1]+d.site+" |"+p[(o>>2)&1]+" "+d.spectacle+" |"+p[(o>>3)&1]+" "+x+" |";if(!q.zone){u+=p[(o>>4)&1]+d.zone+" |"}if(!q.tarif){u+=p[(o>>5)&1]+d.tarif+" |"}w.push(u)}wikify(w.join("\n"),j)}};function spgiOnClickValideAb(){var o=window.spgi;if(!o.abTmpV){return false}var b=config.options.txtAbQtt;if(isNaN(b)||b<1){alert("Vous devez saisir la quantité d'abonnements.");return false}var q=o.formulesAb[o.formuleAct],m,d,r,h=0,c=0,f,p;if(!o.abTmpV.lignes||o.abTmpV.lignes.length<q.lignesMin){alert("Cet abonnement impose un minimum de "+q.lignesMin+" séances");return false}for(m=0;m<o.abTmpV.lignes.length;m++){d=o.abTmpV.lignes[m];r=(d.iSeance>=0)&&d.zone&&d.tarif&&(d.qtt&1);if(r){h+=1;c+=parseInt(b)}if(m<q.lignes.length){if((q.lignes[m].qtt&2)&&!r){alert("La formule d'abonnement vous impose de renseigner la ligne "+(m+1)+" de votre abonnement.");return false}}if(d.iSeance>=0){r=o.seances[d.iSeance];for(f=0;f<r.zones.length;f++){p=r.zones[f];if(p.nom==d.zone){if(p.reste<b){alert("Désolé, la séance "+d.spectacle+" (ligne "+(m+1)+") ne comporte que "+p.reste+" places en zone "+p.nom);return false}break}}}}if(h<q.lignesMin){alert("Cet abonnement impose un minimum de "+q.lignesMin+" séances");return false}if(q.maxPlaces>0&&c>q.maxPlaces){alert("Cet abonnement doit comporter un maximum de "+q.maxPlaces+" places et vous en demandez "+c);return false}spgiTestClearPanier();var e=[];for(m=0;m<o.abTmpV.lignes.length;m++){d=o.abTmpV.lignes[m];e.push({iSeance:d.iSeance,qtt:d.qtt,reduc:d.reduc,flgInit:d.flgInit,flgFixe:d.flgFixe,theme:d.theme,site:d.site,spectacle:d.spectacle,zone:d.zone,tarif:d.tarif,v:d.v,f:d.f})}o.abTmpV.iPanier=(o.panierAct<0)?o.panier.length:o.panierAct;r={deroule:1,formule:o.formuleAct,nbPlaces:b,total:o.abTmpV.total,frais:o.abTmpV.frais,c:e};if(o.panierAct<0){o.panier.push(r)}else{o.panier[o.panierAct]=r}window.spgi.panierModifie=true;story.refreshTiddler(o.TNPanier,null,true);story.displayTiddler(null,o.TNPanier)}function spgiDoAfficheChoixSeanceAb(d){var c=window.spgi,e=(!d||isNaN(d))?this.v1:d;if(e<0||e>c.abTmpV.lignes.length){return}var b,a=c.abTmpV.lignes[e];if(a.choixS){a.choixS=false}else{for(b=0;b<c.abTmpV.lignes.length;b++){if(c.abTmpV.lignes[b].choixS){c.abTmpV.lignes[b].choixS=false}}a.choixS=true}story.refreshTiddler(c.TNFormuleAbVente,null,true)}function spgiDoEffaceLigneAb(e){var c,b,d=window.spgi;if(e<0||e>d.abTmpV.lignes.length){return}c=d.formulesAb[d.abTmpV.formule];if(e<c.lignes.length){b=c.lignes[e];d.abTmpV.lignes[e]={iSeance:b.iSeance,qtt:b.qtt,reduc:b.reduc,flgInit:b.flgInit,flgFixe:b.flgFixe,theme:b.theme,site:b.site,spectacle:b.spectacle,zone:b.zone,tarif:b.tarif}}else{d.abTmpV.lignes.splice(e,1)}story.refreshTiddler(d.TNFormuleAbVente,null,true)}function spgiDoCocheLigneAb(c){var a,b=window.spgi,d=(!c||isNaN(c))?this.v1:c;if(d<0||d>b.abTmpV.lignes.length){return}a=b.abTmpV.lignes[d];if(a.qtt&1){a.qtt-=1}else{a.qtt+=1}story.refreshTiddler(b.TNFormuleAbVente,null,true)}function spgiDoValideChoixSeanceAb(e,b){var a,c,d=window.spgi,f=(!e||isNaN(e))?this.v1:e;if(f<0||f>d.abTmpV.lignes.length){return}c=(!b||isNaN(b))?this.v2:b;if(c<0||c>d.seances.length){return}a=d.abTmpV.lignes[f];a.iSeance=c;c=d.seances[c];a.theme=d.themes[c.theme].s;a.site=d.sites[c.site].s;a.spectacle=d.spectacles[c.spectacle].s;a.qtt=a.qtt|1;a.choixS=false;story.refreshTiddler(d.TNFormuleAbVente,null,true)}config.macros.spgiBouton={handler:function(a,e,g,d,f,c){var b=createTiddlyButton(a,g[0],g[1],g[2]);if(g[3]){b.v1=g[3]}if(g[4]){b.v2=g[4]}if(g[5]){b.v3=g[5]}if(g[6]){b.v4=g[6]}if(g[7]){b.v5=g[7]}if(g[8]){b.v6=g[8]}if(g[9]){b.v7=g[9]}}};config.macros.spgiInputButton={handler:function(a,e,g,d,f,b){var c="<html>";if(g[5]){c+='<p style="'+g[5]+'"'}c+='<input type="button" value="'+(g[0]?g[0]:"Valider")+'"';if(g[1]){c+=' title="'+g[1]+'"'}if(g[2]){c+=' onClick="'+g[2]+'"'}if(g[3]){c+=' class="'+g[3]+'"'}if(g[4]){c+=' style="'+g[4]+'"'}c+=" />";if(g[5]){c+="</p>"}wikify(c+"</html>",a)}};function onQttAbBlur(c){var b=c.getAttribute("opt"),a=c.getAttribute("tiddler");if(isNaN(c.value)){c.value=config.options[b]}else{config.options[b]=c.value}story.refreshTiddler(a,null,true)}config.macros.spgiValideChoixSeanceAbLink={handler:function(a,e,g,d,f,c){var b='javascript:spgiDoValideChoixSeanceAb("'+g[1]+'","'+g[2]+'");';spgiCreateLink(a,g[0],b)}};function onChgtZTS(c){if(!c){return false}var a,b;if(isNaN(c.charAt(2))){a=c.charAt(1);b=2}else{a=c.substr(1,2);b=3}a=window.spgi.abTmpV.lignes[a];b=c.slice(b);if(c.charAt(0)=="z"){a.zone=b}else{a.tarif=b}story.refreshTiddler(window.spgi.TNFormuleAbVente,null,true)}function spgiZoneTarifSelect(n,c,g,h){var o=['<select name="'+n+'" onchange="onChgtZTS(this.value)">','<option value=""></option>'],d=n,p=window.spgi.seances[c],f,e,b,k,m,a=null;if(h){for(e=0;e<p.zones.length;e++){if(h==p.zones[e].nom){b=p.zones[e];m=b.tarifs.length==1;for(f=0;f<b.tarifs.length;f++){k=window.spgi.lTarifs[b.tarifs[f]].lblA;if(m||k==g){a=p.zones[f].nom;o.push('<option value="t'+d+k+'" selected="selected">'+k+"</option>")}else{o.push('<option value="t'+d+k+'">'+k+"</option>")}}break}}}else{m=0;for(f=0;f<p.zones.length;f++){if(p.zones[f].reste>0){m+=1}}m=m==1;for(f=0;f<p.zones.length;f++){if(p.zones[f].reste>0){k=p.zones[f].nom.toUpperCase();if(m||k==g){a=p.zones[f].nom;o.push('<option value="z'+d+k+'" selected="selected">'+p.zones[f].nom+"</option>")}else{o.push('<option value="z'+d+k+'">'+p.zones[f].nom+"</option>")}}}}o.push("</select>");return{t:o.join("\n"),i:a}}function lTarifByName(a,g,e){var b=g.toLowerCase(),f=e,l=window.spgi.seances[a],d,c,h,k;for(d=0;d<l.zones.length;d++){h=l.zones[d];if(h.nom.toLowerCase()==b){for(c=0;c<h.tarifs.length;c++){k=window.spgi.lTarifs[h.tarifs[c]];if(k.lblA==f){return k}}}}return null}function spgiTitreSeance(a){return window.spgi.spectacles[a.spectacle].s+" du "+spgiDateHeureToString(a.date)+" (à : "+window.spgi.sites[a.site].s+")"}config.macros.spgiLignesFormuleAbSaisie={handler:function(r,d,P,h,o,G){var M=window.spgi,N=P[0];if(isNaN(N)){N=M.formuleAct}var R=M.formulesAb[N],O=["",' style="bgcolor:'+M.colorForceAb+'"'],L,K,J,y,I,D,q,Q,b,m,x,e,C,F,E,B,w,H,A=['<html><table class="saisieDeFormuleAb"><tr><th></th><th align="center">Thème</th><th align="center">Lieu du spectacle</th></th><th align="center">Spectacle</th><th align="center">Séance</th><th align="center">Catégorie</th><th align="center">Tarif</th><th align="center">Montant</th>'+(M.venteSeance.fraisCol?'<th align="center">'+M.venteSeance.fraisCol+"</th>":"")+"<th></th></tr>"];if(!M.abTmpV||M.abTmpV.formule!=N||M.abTmpV.iPanier!=M.panierAct){M.abTmpV={deroule:1,formule:N,iPanier:M.panierAct};if(M.abTmpV.lignes){M.abTmpV.lignes.length=0}else{M.abTmpV.lignes=[]}if(M.panierAct<0){for(L=0;L<R.lignes.length;L++){I=R.lignes[L];M.abTmpV.lignes.push({iSeance:I.iSeance,qtt:I.qtt,reduc:I.reduc,flgInit:I.flgInit,flgFixe:I.flgFixe,theme:I.theme,site:I.site,spectacle:I.spectacle,zone:I.zone,tarif:I.tarif})}if(R.qtt){config.options.txtAbQtt=R.qtt||1}}else{E=M.panier[M.panierAct];for(L=0;L<E.c.length;L++){I=E.c[L];M.abTmpV.lignes.push({iSeance:I.iSeance,qtt:I.qtt,reduc:I.reduc,flgInit:I.flgInit,flgFixe:I.flgFixe,theme:I.theme,site:I.site,spectacle:I.spectacle,zone:I.zone,tarif:I.tarif})}config.options.txtAbQtt=E.nbPlaces}}B=config.options.txtAbQtt;if(isNaN(B)){B=0}w=parseFloat(R.forfait)*(R.options&4?B:1);H=0;F=0;for(L=0;L<M.abTmpV.lignes.length;L++){I=M.abTmpV.lignes[L];N=I.flgFixe;if(N&8){N=N|7}Q=I.zone;b=I.tarif;if(I.iSeance>=0){D=M.seances[I.iSeance];if(!(N&8)){J='<a class="button" href="javascript:;" title="Choisir la séance pour cette ligne" onClick="spgiDoAfficheChoixSeanceAb(\''+L+"')\">"+spgiDateHeureToString(D.date)+"</a>"}else{J=spgiDateHeureToString(D.date)}if(Q){if(!b){b=spgiZoneTarifSelect(L,I.iSeance,b,Q);if(b.i){I.tarif=b.i}b=b.t}}else{Q=spgiZoneTarifSelect(L,I.iSeance,Q);if(Q.i){I.zone=Q.i}Q=Q.t}}else{J='<a class="button" href="javascript:;" title="Choisir la séance pour cette ligne" onClick="spgiDoAfficheChoixSeanceAb(\''+L+"')\">> choisissez la séance <</a>"}x='<tr><td><a class="lienImage" href="javascript:;" title="Effacer les choix sur cette ligne" onClick="spgiDoEffaceLigneAb('+L+')"><img src="/img/miniAnnule.png"></a></td><td'+O[N&1]+">"+I.theme+"</td><td"+O[(N>>1)&1]+">"+I.site+"</td><td"+O[(N>>2)&1]+">"+I.spectacle+'</td><td align="center"'+O[(N>>3)&1]+">"+J+"</td><td"+O[(N>>4)&1]+">"+Q+"</td><td"+O[(N>>5)&1]+">"+b+'</td><td align="right">';if(I.qtt>0){if(I.iSeance>=0&&I.zone&&I.tarif){m=lTarifByName(I.iSeance,I.zone,I.tarif);if(m){e=fraisForTarif(m,D);K=totalProduit(B,m.prix,(M.fraisCompris?e:0),(L<R.lignes.length&&(C=R.lignes[L]).reduc&&!isNaN(C.reduc)?C.reduc:0));e*=B}else{K=0;e=0}I.v=K;I.f=e;x+=toMoneyChar(K)+(M.venteSeance.fraisCol?'</td><td align="right">'+toMoneyChar(e):"");F+=B;w=parseFloat(w)+parseFloat(K);H=parseFloat(H)+parseFloat(e)}else{if(M.venteSeance.fraisCol){x+="</td><td>"}}if(I.qtt&2){x+="</td><td"+O[1]+'><input type="checkbox" disabled checked />'}if(I.qtt&2){x+="</td><td"+O[1]+"X"}else{x+='</td><td><input type="checkbox" onClick="spgiDoCocheLigneAb(\''+L+'\')" title="';if(I.qtt&1){x+='Enlever cette ligne" checked />'}else{x+='Sélectionner cette ligne" />'}}}else{x+="</td>"+(M.venteSeance.fraisCol?"<td></td>":"")+'<td><input type="checkbox" title="Sélectionner cette ligne" onClick="spgiDoCocheLigneAb(\''+L+"')\" />"}A.push(x+"</td></tr>");if(I.choixS){I=(L<R.lignes.length)?R.lignes[L]:null;for(K=0;K<M.seances.length;K++){D=M.seances[K];if(D.dispoA&&D.reste>0){for(J=0;J<M.abTmpV.lignes.length;J++){if(M.abTmpV.lignes[J].iSeance==K){D=null;break}}if(D&&I){Q=I.zone.toLowerCase();b=I.tarif;if(Q||b){for(J=0;J<D.zones.length;J++){q=D.zones[J];if(!Q||(q.reste>0&&Q==q.nom.toLowerCase())){if(b){for(y=0;y<q.tarifs.length;y++){if(b==M.lTarifs[q.tarifs[y]].lblA){b="";Q="";break}}if(Q||!(Q||b)){break}}else{Q="";break}}}if(Q||b){D=null}}}if(D&&(!I||((!I.theme||M.themes[D.theme].s==I.theme)&&(!I.site||M.sites[D.site].s==I.site)&&(!I.spectacle||M.spectacles[D.spectacle].s==I.spectacle)))){A.push('<tr><td colspan="9" align="center"><a href="javascript:;" onClick="spgiDoValideChoixSeanceAb(\''+L+"', '"+K+"')\">"+spgiTitreSeance(D)+"</a></td></tr>")}}}}}M.abTmpV.nbPlaces=B;M.abTmpV.total=w;M.abTmpV.frais=H;if(R.qtt){D="Nombre de places par séance : "+R.qtt}else{D='Saisissez le nombre de places par séance <input type="text" name="QttAb" value="'+config.options.txtAbQtt+'" size="8" maxlength="8" opt="txtAbQtt" tiddler="'+M.TNFormuleAbVente+'" onkeyup="if((event.keyCode==10 || event.keyCode==13) && !isNaN(this.value)) this.blur();" onblur="onQttAbBlur(this)"/>'}A.push('<tr class="finDeTable"><th colspan="5">'+D+'</th><th colspan="2"><input type="button" value="Ajouter au panier" onClick="spgiOnClickValideAb()" /></th><th align="right">'+toMoneyChar(w)+(M.venteSeance.fraisCol?'</th><th align="right">'+toMoneyChar(H):"")+"</th><th></th></tr>\n</table></html>");wikify(A.join("\n"),r)}};config.macros.spgiNewSaleLink={handler:function(a,e,g,d,f,c){var b='javascript:spgiSetTiddlerNotModif("'+g[0]+'","'+g[1]+'","'+g[2]+'");';spgiCreateLink(a,g[3],b)}};config.macros.spgiMiniPanier={handler:function(a,e,h,d,f,b){var c=window.spgi;wikify("<html><div class='miniPanier'><TABLE class='miniPanier'><TH colspan='2'>Panier</TH><TR><TD>Commandes : </TD><TD align='right'>"+c.panier.length+"&nbsp;&nbsp; </TD></TR><TR><TD>Nb de Places : </TD><TD align='right'>"+c.p.nbPlaces+"&nbsp;&nbsp;</TD></TR><TR><TD>Total : </TD><TD align='right'>"+toMoney(c.p.total)+"<b>"+c.moneyChar+"</b></TD></TR></TABLE></div></html>",a)}};config.macros.spgiShowPanier={delCmdClick:function(a,b){window.spgi.panier.splice(a,1);window.spgi.panierModifie=true;story.refreshTiddler(b,null,true);story.displayTiddler(null,b)},derouleClick:function(a,b){window.spgi.panier[a].deroule=!window.spgi.panier[a].deroule;story.refreshTiddler(b,1,true)},showPlacesClick:function(b,a){window.open(window.spgi.serveurAppURL+window.spgi.cmdOpDossier+"?"+spgiAjax.encodeArray([{n:"op",v:"VisuPlacesResa"},{n:"societe",v:window.spgi.idSociete},{n:"ref",v:b},{n:"seance",v:a}]))},handler:function(n,b,L,e,h,A){var H=window.spgi,F,E,o,K,C,B,q,w,z,f,p,M,P,y,d=[],k=0,D=0,O=0,u=H.venteSeance.fraisCol,a=u?9:8,G=0,N=null,J="'"+(A&&A.title?A.title:H.TNPanier)+"'",I=['<html><div class="panier"><table class="panier"><tr><th colspan="5" align="center">Produit</th><th align="center">Référence</th><th align="center">Quantité</th><th align="center">Montant</th>'+(u?'<th align="center">'+u+"</th>":"")+"</tr>"];H.aPayer="";if(!H.p){H.p={}}for(F=0;F<H.panier.length;F++){K=H.panier[F];k+=parseInt(K.nbPlaces);D=parseFloat(D)+parseFloat(K.total);O=parseFloat(O)+parseFloat(K.frais);if(K.deroule){z="En";f="Cach"}else{z="De";f="Montr"}y=!isNaN(K.ref)&&(K.ref>=0);if(!y){G++}w=(y&&!isNaN(o=K.seance)&&K.nbPlaces>0)?'<a class="lienImage" title="Voir les places" href="javascript:;" onClick="config.macros.spgiShowPanier.showPlacesClick(\''+window.spgi.panier[F].ref+"', "+-1+');"><img src="/img/miniViewPlc.png"></a>':"";p="<tr><td"+(y?">":' align="center"><a class="lienImage" title="Annuler la commande de ce produit" href="javascript:;" onClick="config.macros.spgiShowPanier.delCmdClick(\''+F+"', "+J+');"><img src="/img/miniAnnule.png"></a>')+'</td><td align="center"><a class="lienImage" title="'+f+'er le détail de cette commande" href="javascript:;" onClick="config.macros.spgiShowPanier.derouleClick(\''+F+"', "+J+');"><img src="/img/mini'+z+'roule.png"></a></td><td'+(y?">":' align="center"><a class="lienImage" title="Modifier la commande de ce produit" href="javascript:;" onClick="spgiDoModifPanierAct(\''+F+'\');"><img src="/img/miniModif.png"></a>')+"</td><td"+((y&&!isNaN(o=K.seance)&&K.nbPlaces>0)?' align="center"><a class="lienImage" title="Voir les places sur le plan" href="javascript:;" onClick="config.macros.spgiShowPanier.showPlacesClick(\''+window.spgi.panier[F].ref+"', "+-1+');"><img src="/img/miniLoupe.gif"></a>':">")+'</td><td align="center">';M="</td><td>"+(y?K.ref:"")+'</td><td align="right"><strong>'+K.nbPlaces+'</strong></td><td align="right"><strong>'+toMoneyChar(K.total)+"</strong></td>"+(u?'<td align="right"><strong>'+toMoneyChar(K.frais)+"</strong></td>":"")+"</tr>";if(!isNaN(o=K.seance)){w=H.seances[o];E=w.date.getTime();if(!N||N>E){N=E}I.push(p+spgiTitreSeance(w)+M);if(K.deroule){for(E=0;E<K.c.length;E++){d=K.c[E].zt.split("_");q=H.lTarifs[w.zones[d[0]].tarifs[d[1]]];P=u?'<td align="right">'+totalProduit(K.c[E].v,fraisForTarif(q,w))+H.moneyChar+"</td>":"";I.push('<tr><td colspan="4"></td><td colspan="2">'+q.libelle+" en "+w.zones[d[0]].nom+'</td><td align="right">'+K.c[E].v+'</td><td align="right">'+totalProduit(K.c[E].v,q.prix,(H.fraisCompris?fraisForTarif(q,w):0))+H.moneyChar+"</td>"+P+"</tr>")}}}else{if(!isNaN(o=K.formule)){I.push(p+"Abonnement : "+H.formulesAb[o].nom+M);for(E=0;E<K.c.length;E++){C=K.c[E];if((C.iSeance>=0)&&C.zone&&C.tarif&&(C.qtt&1)){w=H.seances[C.iSeance];B=w.date.getTime();if(!N||N>B){N=B}if(K.deroule){B=C.v?C.v:0;P=u?'<td align="right">'+toMoneyChar(C.f?C.f:0)+"</td>":"";I.push('<tr><td colspan="'+(y?'3"></td><td align="center"><a class="lienImage" title="Voir les places sur le plan" href="javascript:;" onClick="config.macros.spgiShowPanier.showPlacesClick(\''+window.spgi.panier[F].ref+"', "+w.ref+')"><img src="/img/miniLoupe.gif"></a>':'4">')+'</td><td colspan="2">'+spgiTitreSeance(w)+'</td><td align="right">'+K.nbPlaces+'</td><td align="right">'+toMoneyChar(B)+"</td>"+P+"</tr>")}}}}}}H.p.firstDate=N;if(H.panier.length>0){if(!H.oldPanier&&(C=H.optionsInternet.port)&&!(H.p.port&&H.p.port.length>0)){H.p.port=C.t.slice(0);q=new Date();q=q.getTime();for(F=0;F<H.p.port.length;F++){p=H.p.port[F];p.enabled=!p.delai||(N&&(q+p.delai*3600000)<N);if(!p.enabled){p.checked=false}}}if(H.p.port&&H.p.port.length>0){I.push('<tr><th colspan="'+a+'" align="center">'+(H.venteSeance.lblPortModes?H.venteSeance.lblPortModes:"Mise à disposition de vos billets")+"</th></tr>");for(F=0;F<H.p.port.length;F++){p=H.p.port[F];if(p.checked){D=parseFloat(D)+parseFloat(p.prix)}I.push('<tr><td align="center"><input type="checkbox" onclick="window.spgi.p.port['+F+"].checked = this.checked;story.refreshTiddler("+J+',null,true);" name="cp'+F+'"'+(p.checked?" checked":"")+(p.enabled&&!p.force?"":" disabled")+'/></td><td colspan="3"></td><td colspan="2">'+(p.enabled?p.txt:p.txtDelay)+"</td>"+(p.checked?'<td align="right">1</td><td>'+toMoneyChar(p.prix):"<td></td><td>")+"</td>"+(u?"<td></td>":"")+"</tr>")}}if(H.client.idx<0){H.etape=1}else{if(G>0){H.etape=2}else{H.etape=3;H.aPayer=toMoney(parseFloat(D)+(H.fraisCompris?0:parseFloat(O))-(H.dejaPaye?parseFloat(H.dejaPaye):0));if(H.aPayer=="0.00"){H.aPayer=null}}}}else{H.etape=0}H.totalPanier=D;H.fraisPanier=O;H.p.total=D;H.p.frais=O;H.p.nbPlaces=k;I.push('<tr class="finDeTable"><th colspan="6" align="center">Total'+(O&&!H.fraisCompris?" : <strong>"+toMoneyChar(parseFloat(D)+parseFloat(O))+"</strong>":"")+'</th><th align="right">'+k+'</th><th align="right">'+toMoneyChar(D)+"</th>"+(u?'<th align="right">'+toMoneyChar(O)+"</th>":"")+"</tr>");if(H.etape<3||H.aPayer||(H.optionsInternet.controleAcces&&H.TNPrintBillets)){I.push('<tr><td colspan="'+a+'" align="center">'+(!H.dejaPaye&&H.panier.length>0?'<input type="button" name="validerp" value="Annuler ce panier" title="Annuler toutes les réservations de ce panier" onClick="spgiAnnulePanier()">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;':"")+'<input type="button" name="validerp" value="'+(H.etape<3?'Valider votre panier" title="Valider ces réservations et passer à l\'étape paiement" onClick="spgiValidePanier()"':(H.aPayer?'Payer votre panier" title="Effectuer le paiement de votre panier" onClick="spgiSetTiddler(\''+H.TNPaiement+"')\"":'Imprimez vos billets" title="Effectuer l\'impression de vos billets" onClick="spgiSetTiddler(\''+H.TNPrintBillets+"')\""))+"></td></tr>")}I.push("</table></div></html>");if(H.panier.length==0){I=["<html><div class='title'>Votre Panier est vide</div></html>"]}else{if(H.etape>=3&&(H.aPayer||(H.optionsInternet.controleAcces&&H.TNPrintBillets))){I.push("<<tiddler "+(H.aPayer?H.TNPaiement:H.TNPrintBillets)+">>")}}wikify(I.join("\n"),n);if(H.panierModifie){spgiRefreshMiniPanier("tiddlerPanier");H.panierModifie=false}}};function spgiCentimesAPayer(){var b=window.spgi,a=b.aPayer.length-2;return b.aPayer.substr(0,a-1)+b.aPayer.substr(a)}function spgiSeancesClient(){var m=window.spgi,e,d,b,n,a,h,f;for(b=0;b<m.client.resas.length;b++){h=m.client.resas[b];f=h.iSeance;if(isNaN(f)){f=-1}if(f>=0){for(d=0;d<m.seances.length;d++){if(f==m.seances[d].idxFiche){f=d;h.iSeance=d;break}}}if(h.cmd){for(e=0;e<h.cmd.length;e++){n=h.cmd[e];if(f>=0){n.iSeance=f}else{a=n.iSeance;if(a>=0){for(d=0;d<m.seances.length;d++){if(a==m.seances[d].idxFiche){n.iSeance=d;break}}}}}}if(h.plc){for(e=0;e<h.plc.length;e++){n=h.plc[e];if(f>=0){n.iSeance=f}else{a=n.iSeance;if(a>=0){for(d=0;d<m.seances.length;d++){if(a==m.seances[d].idxFiche){n.iSeance=d;break}}}}}}}}function spgiRefreshMiniPanier(){var c=window.document.getElementById("tiddlerPanier"),a=window.document.getElementById("miniPanier"),b="miniPanier";refreshDisplay("MiniPanier");anim.startAnimating(new Zoomer(b,c,a),new Scroller(a))}function spgiDoGetDossierClient(n,nom,email,mp,ref){var c=spgiAjax.postData([{n:"reqData",v:"SPGI 1.0\nGetDossierClient(window.spgi.client=)"}],window.spgi.serveurAppURL+window.spgi.cmdOpDossier+"?"+spgiAjax.encodeArray([{n:"societe",v:window.spgi.idSociete},{n:"nomClient",v:(nom||"")},{n:"emailClient",v:(email||"")},{n:"numeroClient",v:(n||"")},{n:"mdpClient",v:mp},{n:"ref",v:ref||""}]),null,"",true);if(c&&(c.status==200||c.status===0||c.status==401)){if(c.status!=401&&c.txt.substr(0,19)=="window.spgi.client="){eval(c.txt);spgiSeancesClient();if(!window.spgirefP||isNaN(window.spgirefP.e)){spgiSetTiddler((window.spgi.etape>0)?window.spgi.TNPanier:window.spgi.TNDossier)}}else{alert("Votre dossier client est introuvable")}}else{alert("Erreur de communication : "+c.status+" "+c.stxt)}}function spgiRequestClient(){var e=window.document.forms.IdClientForm,f=e.elements.numeroClient?e.elements.numeroClient.value:null,a=e.elements.nomClient?e.elements.nomClient.value:null,b=e.elements.emailClient?e.elements.emailClient.value:null,c=window.spgi.client.idx;if(!(f||(a&&b))){alert("Vous devez vous identifier, suivant l'une des deux méthodes, avant de valider.");return}var d=e.elements.mdpClient?e.elements.mdpClient.value:null;if(!d&&e.elements.mdpClient2){d=e.elements.mdpClient2.value}if(!d){alert("Vous devez saisor votre mot de passe secret avant de valider.");return}spgiDoGetDossierClient(f,a,b,d);if(c>=0&&c!=window.spgi.client.idx){spgiClearPanier()}}function spgiValideFicheClient(){var form=window.document.forms.FicheClientForm,i,j,f,n,t;for(i=0;i<form.elements.length;i++){f=form.elements[i];if(f.getAttribute("ob")&&!(f.value&&f.value.trim())){alert("Vous devez saisir le champ "+f.name+" !");f.focus();return}}f=form.elements.mdp;n=form.elements.cmdp;if(f&&(!n||(f.value!=n.value))){alert("Le mot de passe et son contrôle sont différents !");n.focus();return}if((window.spgi.client.idx<0)&&!f){alert("Vous devez choisir un mot de passe pour protéger votre dossier !");f.focus();return}t=["SPGI 1.0","PutDossierClient(window.spgi.client=)","idx\t"+window.spgi.client.idx,"oldMdp\t"+(window.spgi.client.mdp||"")];for(i=0;i<form.elements.length;i++){f=form.elements[i];switch(f.type.toLowerCase()){case"text":case"password":case"hidden":case"select-one":t.push(f.name+"\t"+f.value);break;case"checkbox":case"radio":if(f.checked){t.push(f.name+"\t"+f.value)}break;case"select-multiple":for(j=0;j<f.options.length;j++){if(f.options[j].selected){t.push(f.name+"\t"+f.options[j].value)}}break}}t=spgiAjax.postData([{n:"reqData",v:t.join("\n")}],window.spgi.serveurAppURL+window.spgi.cmdOpDossier+"?societe="+window.spgi.idSociete);if(t&&(t.status==200||t.status===0)){if(t.txt.substr(0,19)=="window.spgi.client="){eval(t.txt);spgiSetTiddler((window.spgi.etape==1)?window.spgi.TNPanier:window.spgi.TNDossier)}else{alert("Votre fiche client n'a pu être créée")}}}function spgiRequestMdpClient(){var c=window.document.forms.IdClientForm,d=c.elements.numeroClient?c.elements.numeroClient.value:null,a=c.elements.nomClient?c.elements.nomClient.value:null,b=c.elements.emailClient?c.elements.emailClient.value:null;if(!(d||(a&&b))){alert("Vous devez vous identifier, suivant l'une des deux méthodes, avant de valider.");return}d=spgiAjax.postData([{n:"reqData",v:"SPGI 1.0\nGetMdpClient()"}],window.spgi.serveurAppURL+window.spgi.cmdOpDossier+"?"+spgiAjax.encodeArray([{n:"societe",v:window.spgi.idSociete},{n:"nomClient",v:(a||"")},{n:"emailClient",v:(b||"")},{n:"numeroClient",v:(d||"")}]));if(d&&(d.status==200||d.status===0)){alert(d.txt)}}config.macros.spgiHistoPaniersClient={reopenPanier:function(a){var f,d,e,b=window.spgi;if(b.panier&&b.panier.length>0){for(d=0;d<b.panier.length;d++){f=b.panier[d];if(!f.ref||isNaN(f.ref)||(parseFloat(f.ref)<0)){f=null;break}}if(!f&&!confirm("Attention !\nVotre panier comporte des commanedes non validées.\nSi vous poursuivez votre action vous allez abandonner votre panier en cours.\n\nEtes-vous sur de vouloir annuler toutes les commandes de votre panier en cours ?")){return}}b.refP={};d=b.refP;e=b.client.paniers[a];d.t=e.panier.resas;d.key=e.kId;d.p=e.panier.Paye||0;restaurePanier();b.oldPanier=true;story.refreshTiddler(b.TNPanier,null,true);story.displayTiddler(null,b.TNPanier)},derouleClick:function(a,b){a=window.spgi.client.paniers[a];a.deroule=!a.deroule;story.refreshTiddler(b,1,true)},derouleResa:function(a,b){a=window.spgi.client.resas[a];a.deroule=!a.deroule;story.refreshTiddler(b,1,true)},handler:function(l,d,E,e,h,u){var A=window.spgi,z,y,v,r,m,D,o,F,q,f,C=A.TNDossier,w=0,b=0,s=(A.client.paniers)?A.client.paniers.length:0,B=['<html><table class="panier"><tr><th></th><th align="center">FlgFlg</th><th align="center">Réf</th><th align="center">Date</th><th align="center">Séance/Aabonnement/Produit</th><th align="center">Montant</th><th align="center">Solde</th></tr>'];for(v=0;v<s;v++){r=A.client.paniers[v];F=(r.etat>1?' style="text-decoration: line-through"':"");if(!r.panier.Paye){r.panier.Paye=0}if(!F){w=parseFloat(w)+parseFloat(r.panier.total);b=parseFloat(b)+parseFloat(r.panier.Paye)}if(r.deroule){q="En";f="Cach"}else{q="De";f="Montr"}B.push('<tr><td align="center"><a class="lienImage" title="'+f+'er le détail de cette commande" href="javascript:;" onClick="config.macros.spgiHistoPaniersClient.derouleClick(\''+v+"', '"+C+'\');"><img src="/img/mini'+q+'roule.png"></a></td><td colspan="2" align="center"'+F+">"+(F?r.kId:'<a class="button" title="Réouvrir ce panier" href="javascript:;" onClick="config.macros.spgiHistoPaniersClient.reopenPanier(\''+v+"');\">"+r.kId+"</a>")+'</td><td align="center"'+F+">"+spgiDateHeureToString(r.date)+'</td><td></td><td align="right"'+F+">"+toMoneyChar(r.panier.total)+'</td><td align="right"'+F+">"+toMoneyChar(parseFloat(r.panier.total)-parseFloat(r.panier.Paye))+"</td></tr>");if(r.deroule&&r.panier.resas){for(z=0;z<r.panier.resas.length;z++){m=r.panier.resas[z];for(y=0;y<A.client.resas.length;y++){D=A.client.resas[y];if(m==D.ref){break}}if(y<A.client.resas.length){m=D.iSeance;m=isNaN(m)||(m<0)?null:A.seances[m];F=(D.iFacture>=0?"F":" ")+(D.attr&2?"E":" ")+(D.attr&4?"B":" ");if(D.deroule){q="En";f="Cach"}else{q="De";f="Montr"}B.push("<tr"+(D.etat==3?' style="text-decoration: line-through"':"")+'><td align="center"><a class="lienImage" title="'+f+'er le détail de cette commande" href="javascript:;" onClick="config.macros.spgiHistoPaniersClient.derouleResa(\''+y+"', '"+C+'\');"><img src="/img/mini'+q+'roule.png"></a></td><td style="color: red">'+F+"</td><td>"+D.ref+'</td><td align="center">'+spgiDateHeureToString(D.date)+"</td><td>"+(m?(A.spectacles[m.spectacle].s+" du "+spgiDateHeureToString(m.date)):(D.formuleAb?"Abonnement : "+D.formuleAb:"Commande boutique"))+'</td><td align="right">'+toMoneyChar(D.total)+'</td><td align="right">'+toMoneyChar(D.solde)+"</td></tr>");if(D.deroule&&D.cmd){for(y=0;y<D.cmd.length;y++){o=D.cmd[y];q=(o.old?' style="text-decoration: line-through"':"");if(o.typeZone==4){F=o.tarif+(o.reduc?"avec "+toMonay(o.reduc)+"% de réduction":"")}else{if(m){F=o.tarif+" en "+o.zone}else{F=A.spectacles[A.seances[o.iSeance].spectacle].s+" du "+spgiDateHeureToString(A.seances[o.iSeance].date)}}B.push('<tr><td colspan="3"><td'+q+">"+spgiDateHeureToString(o.date)+"</td><td"+q+">"+o.qtt+" "+F+'</td><td align="right"'+q+">"+toMoneyChar(o.total)+"</td><td></td></tr>")}}}}}}B.push('<tr><th></th><th colspan="3" align="center">Total<th><th align="right">'+toMoneyChar(w)+'</th><th align="right">'+toMoneyChar(parseFloat(w)-parseFloat(b))+"</th></tr></table></html>");wikify(B.join("\n"),l)}};config.macros.spgiHistoTransClient={derouleClick:function(){window.spgi.client.resas[this.v1].deroule=window.spgi.client.resas[this.v1].deroule?false:true;story.refreshTiddler(window.spgi.TNDossier,1,true)},handler:function(l,f,C,h,k,s){var w,v,m,B,o,z,E,D,y=window.spgi,p=y.client.resas,u=0,d=0,q=(p)?p.length:0,A=["|panier|k","|!| !Flg | !Réf | !Date | !Séance/Aabonnement/Produit | !Montant | !Solde |"];for(w=0;w<q;w++){B=p[w];u=parseFloat(u)+parseFloat(B.total);d=parseFloat(d)+parseFloat(B.solde);z=(B.etat==3)?z="--":"";m=B.iSeance;m=isNaN(m)||(m<0)?null:y.seances[m];E=(B.iFacture>=0?"F":" ")+(B.attr&2?"E":" ")+(B.attr&4?"B":" ");A.push("|<<spgiBouton '"+(B.deroule?"<<":"V")+"' '"+(B.deroule?"Cacher le détail de cette commande":"Montrer le détail de cette commande")+"' {{config.macros.spgiHistoTransClient.derouleClick}} "+w+">>| "+z+"@@color:#ff0000;"+E+"@@"+z+" | "+z+B.ref+z+"| "+z+spgiDateHeureToString(B.date)+z+" | "+z+(m?(y.spectacles[m.spectacle].s+" du "+spgiDateHeureToString(m.date)):(B.formuleAb?"Abonnement : "+B.formuleAb:"Commande boutique"))+z+" | "+z+toMoneyChar(B.total)+z+"| "+z+toMoneyChar(B.solde)+z+"|");if(B.deroule&&B.cmd&&(B.cmd.length>0)){for(v=0;v<B.cmd.length;v++){o=B.cmd[v];E=(o.old?"--":"");D=o.typeZone==4?o.tarif+(o.reduc?"avec "+toMonay(o.reduc)+"% de réduction":""):(m?o.tarif+" en "+o.zone:y.spectacles[y.seances[o.iSeance].spectacle].s+" du "+spgiDateHeureToString(y.seances[o.iSeance].date));A.push("|>|>||"+E+spgiDateHeureToString(o.date)+E+"|"+E+o.qtt+" "+D+E+" | "+E+toMoneyChar(o.total)+E+"||")}}}A.push("|!|>|>|>| !Total | !"+toMoneyChar(u)+"| !"+toMoneyChar(d)+"|");wikify(A.join("\n"),l)}};config.macros.spgiHistoPayeClient={handler:function(l,f,k,o,h,v){var q,b,s,u,t,r=window.spgi.client.paiements,d=(r)?r.length:0,m=0,j=0,c=["|panier|k","|>|>| !Paiement |>|>| !Prochain prélèvement |","| !Mode | !Montant | !Date | !Reste à prélever | !Date | !Montant |"];for(q=0;q<d;q++){b=r[q];if(b.dateAnnul){s="--"}else{m=parseFloat(m)+parseFloat(b.montant);s=""}if(!s&&b.resteAPrelever){u="| "+toMoneyChar(b.resteAPrelever);if(b.resteAPrelever!="0.00"){u+="| "+spgiDateHeureToString(datePrelevement);j=parseFloat(j)+parseFloat(b.resteAPrelever);t=parseFloat(b.montant)/parseFloat(b.nbPrelevements);if((parseFloat(t)>=parseFloat(b.resteAPrelever))||((2*parseFloat(t))>parseFloat(b.resteAPrelever))){t=b.resteAPrelever}u+="| "+toMoneyChar(t)+"|"}else{u+="|>|>|"}}else{u="|>|>||"}c.push("|"+s+b.mode+s+" | "+s+toMoney(b.devises)+b.symbole+s+"| "+s+spgiDateHeureToString(b.date)+s+u)}c.push("|!| !"+toMoneyChar(m)+"|!| !"+toMoneyChar(j)+"|>|!|");wikify(c.join("\n"),l)}};config.macros.spgiHistoFacturesClient={handler:function(k,c,j,m,d,s){var o,q,r,p=window.spgi.client.factures,b=(p)?p.length:0,l=0,h=0,a=["|panier|k","| !Référence | !Date d'émission | !Date d'arrêt | !Montant | !Solde |"];for(o=0;o<b;o++){q=p[o];if(q.dateAnnul){r="--"}else{l=parseFloat(l)+parseFloat(q.montant);h=parseFloat(h)+parseFloat(q.solde);r=""}a.push("|"+r+q.ref+r+" | "+r+spgiDateHeureToString(q.date)+r+" | "+(q.dateArret?r+spgiDateHeureToString(q.dateArret)+r:"")+" | "+r+toMoneyChar(q.montant)+r+"| "+r+toMoneyChar(q.montant)+r+"|")}a.push("|>|>| !Total | !"+toMoneyChar(l)+"| !"+toMoneyChar(h)+"|");wikify(a.join("\n"),k)}};function spgiRequestSaison(){var r=spgiAjax.postData([{n:"reqData",v:"SPGI 1.0\nGetDonneesSaisonJs(window.spgi.)"}],window.spgi.serveurAppURL+window.spgi.cmdOpDossier+"?societe="+window.spgi.idSociete);if(r&&(r.status==200||r.status===0)){if(r.txt.substr(0,12)=="window.spgi."){eval(r.txt);var i,j,f,a,l,s,g=window.spgi;for(f=0;f<g.formulesAb.length;f++){a=g.formulesAb[f];for(i=0;i<a.lignes.length;i++){l=a.lignes[i];s=l.iSeance;if(s>=0){for(j=0;j<g.seances.length;j++){if(s==g.seances[j].idxFiche){l.iSeance=j;break}}}}}if(!g.firstSaison){invokeParamifier(params,"spgisaison");if(g.firstSaison){config.macros.spgiListeDeSeances.initCL("","",g.spectacle);spgif.computeCrtListS();spgif.forceStartTiddler(g.TNSeanceCmd)}g.firstSaison=true}}else{alert("Erreur lors du téléchargement de la saison !")}}}function spgiValidePanier(){var g=window.spgi;if(g.panier.length<=0){alert("Votre parier est vide, il n'y a rien à valider.");return}if(g.client.idx<0){alert("Vous devez d'abord saisir vos coordonnées.\nVous pourrez ensuite valider votre panier.");spgiSetTiddler(g.TNDossier);return}var i,j,x,s,c,l,m,p,v,r,e=0,ti=[],buf=["SPGI 1.0","ValidePanier(window.spgi.panierRes=)","K\t"+g.key];if(g.p.port){for(i=0;i<g.p.port.length;i++){c=g.p.port[i];if(c.checked){buf.push("P\t"+c.code+"\t1")}}}for(i=0;i<g.panier.length;i++){c=g.panier[i];if(!c.ref||isNaN(c.ref)||(parseFloat(c.ref)<0)){if(!isNaN(x=c.seance)){s=g.seances[x];buf.push("S\t"+s.serveur+"\t"+s.ref);for(j=0;j<c.c.length;j++){ti=c.c[j].zt.split("_");buf.push("\t"+g.seances[x].zones[ti[0]].nom+"\t"+g.lTarifs[g.seances[x].zones[ti[0]].tarifs[ti[1]]].libelle+"\t"+c.c[j].v)}}else{if(!isNaN(x=c.formule)){buf.push("A\t"+g.formulesAb[x].nom+"\t"+c.nbPlaces);for(j=0;j<c.c.length;j++){l=c.c[j];if((l.iSeance>=0)&&l.zone&&l.tarif&&(l.qtt&1)){s=g.seances[l.iSeance];m=l.v?l.v:0;buf.push("\t"+j+"\t"+s.serveur+"\t"+s.ref+"\t"+l.zone+"\t"+l.tarif+"\t"+c.nbPlaces)}}}}}}g.panierRes=null;x=spgiAjax.postData([{n:"reqData",v:buf.join("\n")}],g.serveurAppURL+g.cmdOpDossier+"?"+spgiAjax.encodeArray([{n:"societe",v:window.spgi.idSociete},{n:"numeroClient",v:g.client.idx},{n:"mdpClient",v:g.client.mdp}]));if(x&&(x.status==200||x.status===0)){if(x.txt.substr(0,22)=="window.spgi.panierRes="){eval(x.txt);if(g.panierRes&&g.panierRes.key){g.p.port=[];for(i=0;i<g.panierRes.resas.length;i++){r=g.panierRes.resas[i];if(r.code){v=false;if((m=g.optionsInternet.port)){for(j=0;j<m.t.length;j++){if(r.code==m.t[j].code){v=m.t[j];g.p.port.push({force:true,checked:true,enabled:true,delai:v.delai,txt:v.txt,txtDelay:v.txtDelay,code:v.code,prix:r.total,tva:v.tva});break}}}if(!v){g.p.port.push({force:true,checked:true,enabled:true,txt:"Frais d'envoi en recommandé",code:r.code,prix:r.total})}}}j=0;g.key=g.panierRes.key;v=spgiFindPanierInHisto(g.key);if(!v){g.client.paniers.push({});v=g.client.paniers[g.client.paniers.length-1]}v.kId=g.key;v.etat=0;v.total=g.panierRes.total;v.frais=g.panierRes.frais;v.Paye=g.panierRes.Paye||0;for(i=0;i<g.panier.length;i++){p=g.panier[i];if(!p.ref||isNaN(p.ref)||parseFloat(p.ref)<0){p.ref=-1;while(j<g.panierRes.resas.length){r=g.panierRes.resas[j];j++;if(!r.code){p.ref=r.ref;if((r.ref>=0)&&(toMoney(r.total)!=toMoney(g.fraisCompris?p.total:toMoney(parseFloat(p.total)+parseFloat(p.frais))))){alert("Le montant de la ligne "+(i+1)+" de votre panier ("+toMoneyChar(p.total)+") est différent du montant calculé par le serveur ("+toMoneyChar(r.total)+") !");p.total=r.total}break}}if(parseFloat(p.ref)<0){e++}}}v.resas=g.panier.slice(0);if(e>0){alert(e+" lignes de votre panier ont été refusées par le serveur !")}story.refreshTiddler(g.TNPanier,null,true);if(e<j){spgiDoGetDossierClient(g.client.idx,"","",g.client.mdp)}}else{alert("Votre panier n'a pas été validé !")}}else{alert(x.txt)}}}function spgiFindPanierInHisto(a){var b,d,c=window.spgi;if(!c.client.paniers){c.client.paniers=[]}for(b=0;b<c.client.paniers.length;b++){d=c.client.paniers[b];if(a==d.kId){return d}}return null}function spgiAnnulePanier(){if(!confirm("Etes-vous sur de vouloir annuler toutes les réservations de ce panier ?")){return}var a,d,b=window.spgi;for(a=b.panier.length-1;a>=0;a--){d=b.panier[a];if(!d.ref||isNaN(d.ref)||(parseFloat(d.ref)<0)){b.panier.splice(a,1)}}if(b.panier.length>0){d=spgiAjax.sendRequest("GET",b.serveurAppURL+"AnnuleUnPanier?"+spgiAjax.encodeArray([{n:"ref",v:(b.idSociete?b.idSociete+"-":"")+b.key}]));if(d&&(d.status==200||d.status===0)){a=spgiFindPanierInHisto(b.key);if(a){a.etat=3}alert("Votre panier a été annulé.")}else{alert("Le serveur a refusé d'annuler votre panier !")}b.panier=[]}b.panierRes=null;b.key="";story.refreshTiddler(b.TNPanier,null,true)}window.confirmExit=function(){if(hadConfirmExit){return}hadConfirmExit=true;var a,d,b=window.spgi;if(b.panier&&b.panier.length>0){for(a=0;a<b.panier.length;a++){d=b.panier[a];if(!d.ref||isNaN(d.ref)||(parseFloat(d.ref)<0)){d=null;break}}if(!d){return"--------------------------------\n\nVotre panier contient des commandes que vous n'avez pas encore validées.\nCes commandes seront purement et simplement perdue si vous acceptez de quitter !\n\n--------------------------------"}else{if(b.aPayer){return"--------------------------------\n\nVous n'avez pas payé votre panier (ou pas en totalité).\nSi vous acceptez de quitter, il vous faudra revenir sur ce site dans un délai raisonnable pour payer vos commandes,\nfaute de quoi elles seront annulées !\n\n--------------------------------"}}}};config.macros.spgiPayePanierPayBox={handler:function(e,a,d,h,c,l){var j=window.spgi,k=j.PayBox;if(j.panier.length<1||!j.key||!j.aPayer||!j.client.eMail){return}var f=j.aPayer.length-2,m=['<html><form name="PayBoxForm" action="'+(k.urlCgi?k.urlCgi:"http://www.guichetnet.fr:81/modulev3.cgi")+'" method="post" />','<input type="hidden" name="PBX_MODE" value="'+(k.pbxMode?k.pbxMode:"1")+'" />','<input type="hidden" name="PBX_TOTAL" value="'+j.aPayer.substr(0,f-1)+j.aPayer.substr(f)+'" />','<input type="hidden" name="PBX_CMD" value="'+(j.idSociete?j.idSociete+"-":"")+j.key+'" />','<input type="hidden" name="PBX_PORTEUR" value="'+j.client.eMail+'" />','<input type="hidden" name="PBX_DEVISE" value="'+(k.pbxDevise?k.pbxDevise:"978")+'" />','<input type="hidden" name="PBX_RETOUR" value="'+(k.pbxRetour?k.pbxRetour:"montant:M;ref:R;auto:A;trans:T;err:E")+'" />'];if(k.pbxOpt){m.push('<input type="hidden" name="PBX_OPT" value="'+k.pbxOpt+'" />')}if(k.pbxSite){m.push('<input type="hidden" name="PBX_SITE" value="'+k.pbxSite+'" />')}if(k.pbxRang){m.push('<input type="hidden" name="PBX_RANG" value="'+k.pbxRang+'" />')}if(k.pbxIdentifiant){m.push('<input type="hidden" name="PBX_IDENTIFIANT" value="'+k.pbxIdentifiant+'" />')}if(k.pbxEffectue){m.push('<input type="hidden" name="PBX_EFFECTUE" value="'+k.pbxEffectue+'" />')}if(k.pbxRefuse){m.push('<input type="hidden" name="PBX_REFUSE" value="'+k.pbxRefuse+'" />')}if(k.pbxAnnule){m.push('<input type="hidden" name="PBX_ANNULE" value="'+k.pbxAnnule+'" />')}m.push("<p>"+(d[1]?d[1]:"")+'<input type="submit" onClick="hadConfirmExit=true;" name="bouton_paiement" value="'+(d[0]?d[0]:"Effectuer le paiement sur PayBox")+'" /></p>');m.push("</form></html>");wikify(m.join("\n"),e)}};function restaurePanier(){var q=window.spgi;if(q.client.idx<0||!q.refP){return}var o,l,h,b,m,d,e,a,v,y,u,x,w,f,p;q.dejaPaye=q.refP.p;q.key=q.refP.key;q.panier=[];if(!q.p){q.p={}}q.p.port=[];for(o=0;o<q.refP.t.length;o++){e=q.refP.t[o];for(l=0;l<q.client.resas.length;l++){a=q.client.resas[l];if(e==a.ref){w=0;f=[];d=0;if(a.formuleAb){for(h=0;h<a.cmd.length;h++){v=a.cmd[h];y=q.seances[v.iSeance];m=parseInt(v.nbFrais)*parseFloat(v.frais);f.push({iSeance:v.iSeance,qtt:(v.qtt>0),reduc:v.reduc,flgInit:0,flgFixe:0,theme:y.theme,site:y.site,spectacle:y.spectacle,zone:v.zone,tarif:v.tarif,v:(q.fraisCompris?parseFloat(v.total)+parseFloat(m):v.total),f:m});w=parseFloat(w)+parseFloat(m)}for(m=0;m<q.formulesAb.length;m++){if(q.formulesAb[m].nom==a.formuleAb){break}}q.panier.push({deroule:1,formule:m,ref:e,nbPlaces:a.nbAb,total:(q.fraisCompris?a.total:parseFloat(a.total)-parseFloat(w)),frais:w,c:f})}else{if(!isNaN(a.iSeance)&&a.iSeance>=0){y=q.seances[a.iSeance];for(h=0;h<a.cmd.length;h++){v=a.cmd[h];p=null;for(b=0;b<y.zones.length;b++){u=y.zones[b];if(u.numero==v.iZone){for(m=0;m<u.tarifs.length;m++){x=q.lTarifs[u.tarifs[m]];if(x.libelle==v.tarif){p=b+"_"+m;break}}break}}if(p){f.push({zt:p,v:v.qtt});w=parseFloat(w)+parseInt(v.nbFrais)*parseFloat(v.frais);d=parseInt(d)+parseInt(v.qtt)}}q.panier.push({deroule:1,seance:a.iSeance,ref:e,nbPlaces:d,total:(q.fraisCompris?a.total:parseFloat(a.total)-parseFloat(w)),frais:w,c:f})}else{if(q.optionsInternet.port){x=q.optionsInternet.port.t;for(h=0;h<a.cmd.length;h++){v=a.cmd[h];if(!v.old&&v.typeZone==4&&v.qtt>0){for(d=0;d<x.length;d++){if(v.zone==(y=x[d]).code){q.p.port.push({force:true,checked:true,enabled:true,delai:y.delai,txt:y.txt,txtDelay:y.txtDelay,code:y.code,prix:v.total,tva:v.tva});break}}}}}}}break}}}}version.extensions.inlineJavascript={major:1,minor:8,revision:1,date:new Date(2008,2,14)};config.formatters.push({name:"inlineJavascript",match:"\\<script",lookahead:'\\<script(?: src=\\"((?:.|\\n)*?)\\")?(?: label=\\"((?:.|\\n)*?)\\")?(?: title=\\"((?:.|\\n)*?)\\")?(?: key=\\"((?:.|\\n)*?)\\")?( show)?\\>((?:.|\\n)*?)\\<\/script\\>',handler:function(w){var lookaheadRegExp=new RegExp(this.lookahead,"mg");lookaheadRegExp.lastIndex=w.matchStart;var lhm=lookaheadRegExp.exec(w.source);if(lhm&&lhm.index==w.matchStart){var src=lhm[1],label=lhm[2],tip=lhm[3],key=lhm[4],show=lhm[5],code=lhm[6];if(src){var script=document.createElement("script");script.src=src;document.body.appendChild(script);document.body.removeChild(script)}if(code){code="function _out(place){"+code.replace(/document.write\s*\(/gi,"place.innerHTML+=(")+"\n};_out(w.output);";if(show){wikify("{{{\n"+lhm[0]+"\n}}}\n",w.output)}if(label){var link=createTiddlyElement(w.output,"a",null,"tiddlyLinkExisting",wikifyPlainText(label));link.onclick=function(){try{return(eval(this.code))}catch(e){alert(e.description||e.toString())}};link.code=code;link.setAttribute("title",tip||"");var URIcode="javascript:void(eval(decodeURIComponent(%22(function(){try{";URIcode+=encodeURIComponent(encodeURIComponent(code.replace(/\n/g," ")));URIcode+="}catch(e){alert(e.description||e.toString())}})()%22)))";link.setAttribute("href",URIcode);link.style.cursor="pointer";if(key){link.accessKey=key.substr(0,1)}}else{try{var out=eval(code)}catch(e){out=e.description?e.description:e.toString()}if(out&&out.length){wikify(out,w.output,w.highlightRegExp,w.tiddler)}}}w.nextMatch=lhm.index+lhm[0].length}}})};