// ©2007-2009 Max Barel a_x@ac-mb.info

$(function(){var prix_housse=60;var ident_prem=$('input[name="prénom[]"], input[name="nom[]"]','#parti_prem').change(function(){var soussigne=$('input[name="soussigné"]'),ident=ident_prem.map(function(){return(this.value||null)}).get();if(ident.length==2){soussigne[0].value=ident.join(' ');soussigne.trigger('change');}});$('#prix_unit, #inscrits').change(function(){var px=parseInt($('#prix_unit').val());$('#prix_unit').val(isNaN(px)?'':px);$('#st_voy').val(isNaN(px)?NaN:px*parseInt($('#inscrits').val())).trigger('change');});$('input[name="supp_unit[]"], input[name="q_supp[]"]').change(function(){var tr=$(this).parent().parent(),ip_px=$('input[name="supp_unit[]"]',tr),px=parseInt(ip_px.val()),q=parseInt($('input[name="q_supp[]"]',tr).val());if(isNaN(q))q=0;if(isNaN(px))px=0;ip_px.val(isNaN(px)?'':px);$('input[name="st_supp[]"]',tr).val(isNaN(px)?0:px*q).trigger('change');});$('#st_voy, input[name="st_supp[]"]').change(function(){var st_supp=0,st_voy=parseInt($('#st_voy').val());$('input[name="st_supp[]"]').each(function(){var v=parseInt(this.value);st_supp+=isNaN(v)?0:v});$('#total').val(isNaN(st_voy)?'?':(st_supp+st_voy)).trigger('change');});$('#total').change(function(){var total=$('#total').val();$('#acompte').val(isNaN(total)?'?':(total<34?Math.floor(total*0.3):Math.floor(total*0.03)*10));});$('input[name="suppl[]"]').blur(function(){var tr=$(this).parent().parent(),p_supp=$('tr.p_supp',tr.parent()),tr_i=p_supp.index(tr);if((tr_i==p_supp.length-1)&&$.trim(this.value)){var n_tr=tr.clone(true).insertAfter(tr);n_tr.find('input').val('');if($.browser.msie)$('input[name="supp_unit[]"], input[name="q_supp[]"]',n_tr).val(0).trigger('change');}else if((tr_i!=p_supp.length-1)&&!$.trim(this.value)){p_supp.eq(p_supp.length-1).find('input').get(0).focus();tr.remove();$('#st_voy').trigger('change');}});$('.velo').click(loc_velo);function loc_velo(){var n_housses=$('.velo[value="vélo_loué"]:checked').length;var op_housses=$('tr.p_supp').filter(function(){return $('input[name="suppl[]"]',this).val()=="Location de vélo";});if(n_housses){if(!op_housses.length){op_housses=$('tr.p_supp:last');$('input[name="suppl[]"]',op_housses).val("Location de vélo").trigger('blur');}
$('input[name="q_supp[]"]',op_housses).val(n_housses).trigger('change');}
else if(op_housses.length){op_housses.remove();$('#st_voy').trigger('change');}
var self=$(this);if(this.checked){var p_taille=$('input[name="taille[]"]',self.parent().parent())[this.value=='vélo_loué'?'addClass':'removeClass']('obli').removeClass('erreur').parent();if(this.value=='vélo_loué')p_taille.append($('<span class="obli">*</span>'));else $('span.obli',p_taille).remove();}}
$('.housse').click(option_housses);function option_housses(){var n_housses=$('.housse:checked[value="achat_housse"]').length;var op_housses=$('tr.p_supp').filter(function(){return $('input[name="suppl[]"]',this).val()=="Housse(s)";});if(n_housses){if(!op_housses.length){op_housses=$('tr.p_supp:last');$('input[name="supp_unit[]"]',op_housses).val(prix_housse);$('input[name="suppl[]"]',op_housses).val("Housse(s)").trigger('blur');}
$('input[name="q_supp[]"]',op_housses).val(n_housses).trigger('change');}
else if(op_housses.length){op_housses.remove();$('#st_voy').trigger('change');}}
$('input[name="courriel[]"]').blur(function(){this.p_err_courriel&&this.p_err_courriel.remove();var courriel=this;$.get('ajax.php?cont=verif_mail&mail='+this.value,function(data){if(data)courriel.p_err_courriel=$(data).addClass('erreur info').insertAfter(courriel.parentNode);})}).eq(0).addClass('obli');$('input.obli, textarea.obli, select.obli').change(ctrl_obli).parent().append($('<span class="obli">*</span>')).css({'white-space':'nowrap'});$('td:has(.euro)').append(' €').css({'white-space':'nowrap'});function ctrl_obli(){var self=$(this).removeClass('erreur');self.parent().removeClass('erreur');if(self.parents('#parti_proto').length)return;if(self.is('input[type=text]')){if((this.value=$.trim(this.value))=='')self.addClass('erreur');}
else if(self.is('textarea[value=""]'))self.addClass('erreur');else if(self.is('select[value=""]'))self.parent().addClass('erreur');else if(self.is('input:checkbox'))self.not(':checked').parent().addClass('erreur');else if(self.is('input:radio'))self.each(function(){var groupe=$('input:radio[name="'+$(this).attr('name')+'"]'),ok=groupe.filter(':checked').length;groupe.parent()[ok?'removeClass':'addClass']('erreur');});}
$('input[type=submit]').click(function(){this.form.ctrl=this.name.search('_régler')!=-1;});$('.auto').attr('disabled','disabled');$('#form_resa').submit(function(){$('input, textarea','#parti_proto').val('');if(this.ctrl)$('input.obli, textarea.obli, select.obli').each(ctrl_obli);this.ctrl=!this.ctrl||!$('.erreur').length;if(this.ctrl)$('.auto').removeAttr('disabled');else alert("Merci de remplir tous les champs obligatoires.\nLes champs omis sont surlignés en rouge.\nAttention à vérifier dans chaque fiche participant!\nVous pouvez utiliser le bouton « mémoriser » de ce formulaire pour y revenir ensuite.");return this.ctrl;});$('#entete select').not('#select_circuit').change(function(){$('~ select',this).each(function(){this.selectedIndex=0});$('#reference').val('');$('#variante').val('');$('.auto').removeAttr('disabled');this.form.submit();});$('#select_circuit').change(function(){var ref_var=this.options[this.selectedIndex].title.split('-');$('#reference').val(ref_var[0]);$('#variante').val(ref_var[1]);});$('#parti_ajout').click(function(){var proto=$('#parti_proto');$(':text, textarea',proto).val('');var fiche=proto.clone().removeAttr('id').insertBefore(proto);$('.parti_supp',fiche).click(parti_supp);$('.housse',fiche).click(option_housses);$('.velo',fiche).click(loc_velo);$('input.obli, textarea.obli',fiche).change(ctrl_obli);var nb=$('.participant').length-1,ong=$('<span>'+nb+'<sup>ème</sup></span>').addClass('actif').click(parti_permu);$('#parti_ctrl span:last').before(ong);$('#inscrits').val(nb).trigger('change');$(':radio',fiche).each(function(){this.name=this.name.replace(/99/,nb-1);if(this.checked)$(':radio[value="'+this.value+'"]',proto)[0].checked='checked';});parti_permu.apply(ong);});$('#parti_ctrl span').not(':last').click(parti_permu);function parti_permu(){var i_cible=$('#parti_ctrl span').index(this);$('#parti_ctrl span').removeClass('actif');$(this).addClass('actif');$('.participant').filter('.actif').animate({left:'30em'},700).removeClass('actif').end().eq(i_cible).animate({left:'1em'},700).addClass('actif');}
$('.parti_supp').click(parti_supp);function parti_supp(){var cible=$('.participant.actif').eq(0),i_cible=$('.participant').index(cible);cible.animate({left:'-30em'},500,function(){cible.remove();var ong=$('#parti_ctrl span');ong.not(':last').each(function(i){this.firstChild.nodeValue=i+1}).eq(0).addClass('actif');});$('#parti_ctrl span').eq(i_cible).css({position:'relative'}).animate({left:'-30em'},450,function(){$(this).remove()});$('#inscrits').val($('#inscrits').val()-1).trigger('change');}
var mois='';$('input, select, textarea').focus(function(){var self=this;$('.cal_div').filter(function(){return(this.parentElement||this.parentNode)!=(self.parentElement||self.parentNode)}).fadeOut('fast');}).filter('.cal').focus(function(){if(this.value){var dt=this.value.split('/');mois='&mois[mon]='+dt[1].substr(dt[1].length-2,2)+'&mois[year]=20'+dt[2].substr(dt[2].length-2,2);}
var cal_div=$('.cal_div',this.parentElement||this.parentNode);cal_div.load('ajax.php?cont=cal'+mois,post_load);}).change(function(){if(this.value){var dt=this.value.split('/');while(dt.length<3)dt.unshift('01');for(var i=0;i<3;i++){dt[i]='0'+dt[i];dt[i]=dt[i].substr(dt[i].length-2,2);}
this.value=dt.join('/');}});function post_load(){var date=$('input',this.parentElement||this.parentNode),cal_div=$(this).show('fast',function(){$('td[title=iso_20'+date[0].value.split('/').reverse().join('-')+']',this).addClass('actif');date[0].select();});$('#m_prec a, #m_suiv a',this).click(function(ev){if($.browser.safari&&parseInt($.browser.version)<=525)this.href=this.href.replace(/&%2338;|&#38;/,'&');mois='&'+this.href.replace(/^.*#mois/,'mois');cal_div.load('ajax.php?cont=cal'+mois,post_load);return false;});$(' > table td',cal_div).click(function(){var dt=this.title.replace(/iso_/,'');dt=dt.split('-');dt[0]=dt[0].substr(2);date.val(dt.reverse().join('/')).trigger('change');date[0].select();$(' > table td.actif',cal_div).removeClass('actif');$(this).addClass('actif');});}});