// Désactivation des champs du menu de commande des formules en fonction des paramètres passés function desactivateFormuleFields(category_id, sub_category_id, region_id, partner_id, offer_id, products_qtes_id, experiences, jsremise) { if ( category_id == 1 && $('category_id') ) { $('category_id').setProperty('disabled','disabled'); $('category_id').empty(); var selectoption = new Element('option', { 'value': '' }).injectInside($('category_id')); selectoption.set('text', '...'); if($('jslibelcategory_id')) { $('jslibelcategory_id').removeClass('ajax-loading'); } } if ( sub_category_id == 1 && $('sub_category_id') ) { $('sub_category_id').setProperty('disabled','disabled'); $('sub_category_id').empty(); var selectoption = new Element('option', { 'value': '' }).injectInside($('sub_category_id')); selectoption.set('text', '...'); if($('jslibelsubcategory_id')) { $('jslibelsubcategory_id').removeClass('ajax-loading'); } } if ( region_id == 1 && $('region_id') ) { $('region_id').setProperty('disabled','disabled'); $('region_id').empty(); var selectoption = new Element('option', { 'value': '' }).injectInside($('region_id')); selectoption.set('text', '...'); if($('jslibelregion_id')) { $('jslibelregion_id').removeClass('ajax-loading'); } } if ( partner_id == 1 && $('partner_id') ) { $('partner_id').setProperty('disabled','disabled'); $('partner_id').empty(); var selectoption = new Element('option', { 'value': '' }).injectInside($('partner_id')); selectoption.set('text', '...'); if($('jslibelpartner_id')) { $('jslibelpartner_id').removeClass('ajax-loading'); } } if ( offer_id == 1 && $('offer_id') ) { $('offer_id').setProperty('disabled','disabled'); $('offer_id').empty(); var selectoption = new Element('option', { 'value': '' }).injectInside($('offer_id')); selectoption.set('text', '...'); if($('jslibeloffer_id')) { $('jslibeloffer_id').removeClass('ajax-loading'); } } if ( products_qtes_id == 1 && $('products_qtes_id') ) { $('products_qtes_id').setProperty('disabled','disabled'); $('products_qtes_id').empty(); var selectoption = new Element('option', { 'value': '' }).injectInside($('products_qtes_id')); selectoption.set('text', '...'); if($('jslibelproducts_qtes_id')) { $('jslibelproducts_qtes_id').removeClass('ajax-loading'); } } if( experiences == 1 && $('experiences') ) { $('experiences').empty(); } if ( jsremise == 1 && $('jsremise') ) { $('jsremise').empty(); } $('jspriceformule').removeClass('ajax-loading'); if ( $('jslibelexperience') ) { $('jslibelexperience').removeClass('ajax-loading'); } } function onChangeFormuleItem(item_id, item_type, killsession ) { //console.log('killsession*'+killsession); // Initialisation if( killsession == 1 ) { } var category_id = ''; var sub_category_id = ''; var region_id = ''; var partner_id = ''; var offer_id = ''; var products_qtes_id = ''; if( killsession != 1 ) { if ( item_type == 'quantity' || item_type == 'offer' || item_type == 'partner' || item_type == 'region' || item_type == 'subcategory' ) { if ( $('form_value_category_id') ) { category_id = $('form_value_category_id').getProperty('value'); } } if ( item_type == 'quantity' || item_type == 'offer' || item_type == 'partner' || item_type == 'region' ) { if ( $('form_value_sub_category_id') ) { sub_category_id = $('form_value_sub_category_id').getProperty('value'); } } if ( item_type == 'quantity' || item_type == 'offer' || item_type == 'partner' ) { if ( $('form_value_region_id') ) { region_id = $('form_value_region_id').getProperty('value'); } } if ( item_type == 'quantity' || item_type == 'offer' ) { if ( $('form_value_partner_id') ) { partner_id = $('form_value_partner_id').getProperty('value'); } } if ( item_type == 'quantity' ) { if ( $('form_value_offer_id') ) { offer_id = $('form_value_offer_id').getProperty('value'); } } } else{ if ( $('form_value_category_id') && ( item_type == 'quantity' || item_type == 'offer' || item_type == 'partner' || item_type == 'region' || item_type == 'subcategory' ) ) { var category_id = $('form_value_category_id').getProperty('value'); } if ( $('form_value_sub_category_id') && ( item_type == 'quantity' || item_type == 'offer' || item_type == 'partner' || item_type == 'region' ) ) { var sub_category_id = $('form_value_sub_category_id').getProperty('value'); } if ( $('form_value_region_id') && ( item_type == 'quantity' || item_type == 'offer' || item_type == 'partner' ) ) { var region_id = $('form_value_region_id').getProperty('value'); } if ( $('form_value_partner_id') && ( item_type == 'quantity' || item_type == 'offer' ) ) { var partner_id = $('form_value_partner_id').getProperty('value'); } if ( $('form_value_offer_id') && ( item_type == 'quantity') ) { var offer_id = $('form_value_offer_id').getProperty('value'); } } //console.log('categoryID'+category_id,'subcategoryID'+sub_category_id,'regionID'+region_id,'partnerID'+partner_id,'offerID'+offer_id,'qteID'+products_qtes_id); // Fin Init // spinner loading & lockfields var loadprice = $('jspriceformule').addClass('ajax-loading'); if ( $('jslibelexperience') ) { var loadexperience = $('jslibelexperience').addClass('ajax-loading'); } // experiences : Les stages (7 - Journée expérience) if( item_type == 'experiences' ) { if ( item_id == '' ) { // a vérifier desactivateFormuleFields(0, 0, 0, 0, 0, 0, 0, 1); } } else { // quantity : La quantité de produits (6 - Pieds de vigne) if( item_type == 'quantity' ) { products_qtes_id = item_id; if ( item_id == '' ) { // a vérifier desactivateFormuleFields(0, 0, 0, 0, 0, 0, 0, 1); } } else { // spinner loading if ( $('jslibelproducts_qtes_id') ) { var loadproducts_qtes = $('jslibelproducts_qtes_id').addClass('ajax-loading'); } // offer : L'offre (5 - La saison) if( item_type == 'offer' ) { offer_id = item_id; if ( item_id == '' ) { desactivateFormuleFields(0, 0, 0, 0, 0, 1, 1, 1); } } else { // spinner loading if ( $('jslibeloffer_id') ) { var loadoffer = $('jslibeloffer_id').addClass('ajax-loading'); } // partner : Le partenaire (4 - Le producteur) if( item_type == 'partner' ) { partner_id = item_id; if ( item_id == '' ) { desactivateFormuleFields(0, 0, 0, 0, 1, 1, 1, 1); } } else { // spinner loading if ($('jslibelpartner_id')) { var loadpartner = $('jslibelpartner_id').addClass('ajax-loading'); } // region : La région (3 - La région) if( item_type == 'region' ) { region_id = item_id; if ( item_id == '' ) { desactivateFormuleFields(0, 0, 0, 1, 1, 1, 1, 1); } } else { // spinner loading if ($('jslibelregion_id')) { var loadregion = $('jslibelregion_id').addClass('ajax-loading'); } // subcategory : La sous rubrique (2 - La gamme) if( item_type == 'subcategory' ) { sub_category_id = item_id; if ( item_id == '' ) { desactivateFormuleFields(0, 0, 1, 1, 1, 1, 1, 1); } } else { // spinner loading if ($('jslibelsubcategory_id')) { var loadsubcategory = $('jslibelsubcategory_id').addClass('ajax-loading'); } // category : La rubrique (1 - Le produit) if( item_type == 'category' ) { category_id = item_id; if ( item_id == '' ) { desactivateFormuleFields(0, 1, 1, 1, 1, 1, 1, 1); } } else { // Aucun paramètre sélectionné item_type = ''; // A vérifier desactivateFormuleFields(0, 1, 1, 1, 1, 1, 1, 1); } } } } } } } if ( item_id != '' && item_type != '' ) { var jsonRequest = new Request.JSON({ url: "getinfos.json.php?p=bloc", noCache:true, onSuccess: function(infos){ // libellé produit if( item_type == 'category' && $('quantitylabel') ) { $('quantitylabel').empty(); var product = []; product = infos.product; $('quantitylabel').set('text', product.name); } // Prix à partir de $('jspriceformule').empty(); var price = []; price = infos.price; $('jspriceformule').set('text', price.price+' €'); $('jspricetotal').set('text', price.price); $('jspriceformule').removeClass('ajax-loading'); // sous catégorie if( $('sub_category_id') && ( item_type == 'category' ) ) { $('sub_category_id').empty(); var subcategorieslist = []; subcategorieslist = infos.subcategories; if( subcategorieslist.length < 1 ) { $('sub_category_id').setProperty('disabled','disabled'); var selectoption = new Element('option', { 'value': '' }).injectInside($('sub_category_id')); selectoption.set('text', '...'); } else{ $('sub_category_id').setProperty('disabled',''); subcategorieslist.each(function(el, index){ // console.log(el); // console.log(index); var selectoption = new Element('option', { 'value': el.id }).injectInside($('sub_category_id')); selectoption.set('text', el.name); if( item_type == 'category' && killsession != 1 ) { } }); } $('jslibelsubcategory_id').removeClass('ajax-loading'); if ($('lock-all-select')) { $('sub_category_id').setProperty('disabled','disabled'); } } // regions if( $('region_id') && ( item_type == 'subcategory' || item_type == 'category' ) ) { $('region_id').empty(); var regionslist = []; regionslist = infos.regions; if( regionslist.length < 1 ) { $('region_id').setProperty('disabled','disabled'); var selectoption = new Element('option', { 'value': '' }).injectInside($('region_id')); selectoption.set('text', '...'); } else{ $('region_id').setProperty('disabled',''); regionslist.each(function(el, index){ var selectoption = new Element('option', { 'value': el.id }).injectInside($('region_id')); selectoption.set('text', el.name); if( item_type == 'subcategory' && killsession != 1 ) { } }); } $('jslibelregion_id').removeClass('ajax-loading'); if ($('lock-all-select')) { $('region_id').setProperty('disabled','disabled'); } } // partners if( $('partner_id') && ( item_type == 'region' || item_type == 'subcategory' || item_type == 'category' ) ) { $('partner_id').empty(); var partnerslist = []; partnerslist = infos.partners; if( partnerslist.length < 1 ) { $('partner_id').setProperty('disabled','disabled'); var selectoption = new Element('option', { 'value': '' }).injectInside($('partner_id')); selectoption.set('text', '...'); } else{ $('partner_id').setProperty('disabled',''); partnerslist.each(function(el, index){ var selectoption = new Element('option', { 'value': el.id }).injectInside($('partner_id')); selectoption.set('text', el.name); if ( item_type == 'region' && killsession != 1 ) { } }); } $('jslibelpartner_id').removeClass('ajax-loading'); if ($('lock-all-select')) { $('partner_id').setProperty('disabled','disabled'); } } // offers if( $('offer_id') && ( item_type == 'partner' || item_type == 'region' || item_type == 'subcategory' || item_type == 'category' ) ) { $('offer_id').empty(); var offerslist = []; offerslist = infos.offers; if( offerslist.length < 1 ) { $('offer_id').setProperty('disabled','disabled'); var selectoption = new Element('option', { 'value': '' }).injectInside($('offer_id')); selectoption.set('text', '...'); } else{ $('offer_id').setProperty('disabled',''); offerslist.each(function(el, index){ var selectoption = new Element('option', { 'value': el.id }).injectInside($('offer_id')); selectoption.set('text', el.name); if( item_type == 'partner' && killsession != 1 ) { } }); } $('jslibeloffer_id').removeClass('ajax-loading'); if ($('lock-all-select')) { $('offer_id').setProperty('disabled','disabled'); } } // qtes if( $('products_qtes_id') && ( item_type == 'offer' || item_type == 'partner' || item_type == 'region' || item_type == 'subcategory' || item_type == 'category' ) ) { $('products_qtes_id').empty(); var qteslist = []; qteslist = infos.qtes; if( qteslist.length < 1 ) { $('products_qtes_id').setProperty('disabled','disabled'); var selectoption = new Element('option', { 'value': '' }).injectInside($('products_qtes_id')); selectoption.set('text', '...'); } else{ $('products_qtes_id').setProperty('disabled',''); qteslist.each(function(el, index){ var selectoption = new Element('option', { 'value': el.quantity }).injectInside($('products_qtes_id')); selectoption.set('text', el.quantity); if( item_type == 'offer' && killsession != 1 ) { } }); } $('jslibelproducts_qtes_id').removeClass('ajax-loading'); if ($('lock-all-select')) { $('products_qtes_id').setProperty('disabled','disabled'); } } // experiences if( $('experiences') && ( item_type == 'quantity' || item_type == 'offer' || item_type == 'partner' || item_type == 'region' || item_type == 'subcategory' || item_type == 'category' ) ) { $('experiences').empty(); var experienceslist = []; experienceslist = infos.experiences; if( experienceslist.length < 1 ) { } else{ experienceslist.each(function(el, index){ var p = new Element('p').injectInside($('experiences')); var label = new Element('label').injectInside(p); var checkbox = new Element('input', { 'type': 'checkbox', 'name': 'selectexperiences[]', 'id': 'selectexperiences-'+el.id, 'value': el.id, 'checked': el.checked, 'disabled': el.disabled, 'class': el.classjs }).injectInside(label); var text = new Element('span'); text.set('text', el.name); text.injectInside(label); FancyForm.add(checkbox); }); fClickExperiences(); } } // if( item_type != 'experiences' ) { if ( $('jslibelexperience') ) { $('jslibelexperience').removeClass('ajax-loading'); } if ( $('jsremise') ) { $('jsremise').empty(); } } // update form values if ( item_type == 'category' ) { $('form_value_category_id').setProperty('value', category_id); } if ( item_type == 'subcategory' ) { $('form_value_sub_category_id').setProperty('value', sub_category_id); } else { if( subcategorieslist && subcategorieslist.length > 0 ) { if ($('form_value_sub_category_id')) { $('form_value_sub_category_id').setProperty('value', subcategorieslist[0]['id']); } } } if ( item_type == 'region' ) { $('form_value_region_id').setProperty('value', region_id); } else { if( regionslist && regionslist.length > 0 ) { if ($('form_value_region_id')) { $('form_value_region_id').setProperty('value', regionslist[0]['id']); } } } if ( item_type == 'partner' ) { if($('form_value_partner_id')) { $('form_value_partner_id').setProperty('value', partner_id); } } else { if( partnerslist && partnerslist.length > 0 ) { if ($('form_value_partner_id')) { $('form_value_partner_id').setProperty('value', partnerslist[0]['id']); } } } if ( item_type == 'offer' ) { if( $('form_value_offer_id') ) { $('form_value_offer_id').setProperty('value', offer_id); } // 2010-06-25 achat d'expériences if (!$('form_value_products_qtes_id')) { // activation du bouton commander if ( $('jscommander') ) { $('jscommander').setProperty('disabled',''); } } } else { if( offerslist && offerslist.length > 0 ) { if ($('form_value_offer_id')) { $('form_value_offer_id').setProperty('value', offerslist[0]['id']); } // 2010-06-25 achat d'expériences if (!$('form_value_products_qtes_id')) { // activation du bouton commander if ( $('jscommander') ) { $('jscommander').setProperty('disabled',''); } } } } if ( item_type == 'quantity' ) { if ( $('form_value_products_qtes_id') ) { $('form_value_products_qtes_id').setProperty('value', products_qtes_id); // activation du bouton commander if ( $('jscommander') ) { $('jscommander').setProperty('disabled',''); } } } else if($('form_value_products_qtes_id')) { if( qteslist && qteslist.length > 0 ) { $('form_value_products_qtes_id').setProperty('value', qteslist[0]['quantity']); // activation du bouton commander if ( $('jscommander') ) { $('jscommander').setProperty('disabled',''); } } else{ if ( $('jscommander') ) { $('jscommander').setProperty('disabled','disabled'); } } } //console.log('killsession!'+killsession); if( killsession != 1 ) { if( item_type == 'quantity' ) { } else if( item_type == 'offer' ) { //fInitSelectedExperiences(); } else if( item_type == 'partner' ) { } else if( item_type == 'region' ) { } else if( item_type == 'subcategory' ) { } else if( item_type == 'category' ) { } } } }).get({'products_qtes_id': products_qtes_id, 'category_id': category_id, 'sub_category_id': sub_category_id, 'region_id': region_id, 'partner_id': partner_id, 'offer_id': offer_id}); } } // journées expériences function fClickExperiences() { if( $('selectexperiences-none') ) { // clic sur aucune journée $('selectexperiences-none').addEvent('click', function(){ // spinner loading .... if ( $('jslibelexperience') ) { var loadexperience = $('jslibelexperience').addClass('ajax-loading'); } var loadprice = $('jspriceformule').addClass('ajax-loading'); // la checkbox est cochée var checkStatus = $('selectexperiences-none').getProperty('checked'); if( checkStatus == true ) { var pricetotal = ($('jspricetotal').get('text')); var offer_id = $('form_value_offer_id').getProperty('value'); if ($('form_value_products_qtes_id')) { var products_qtes_id = $('form_value_products_qtes_id').getProperty('value'); } else { var products_qtes_id = ''; } var region_id = $('form_value_region_id').getProperty('value'); var sub_category_id = $('form_value_sub_category_id').getProperty('value'); var partner_id = $('form_value_partner_id').getProperty('value'); // initalisation du prix var jsonRequest = new Request.JSON({ url: "getinfos.json.php?p=bloc", noCache:true, onSuccess: function(infos){ if ( $('jslibelexperience') ) { $('jslibelexperience').removeClass('ajax-loading'); } // Prix à partir de $('jspriceformule').empty(); var price = []; price = infos.price; $('jspriceformule').set('text', price.price+' €'); $('jspricetotal').set('text', price.price); $('jspriceformule').removeClass('ajax-loading'); // remise à 0 if ( $('jsremise') ) { $('jsremise').empty(); } } //}).get({'offer_id': offer_id, 'products_qtes_id': products_qtes_id, 'region_id': region_id, 'sub_category_id': sub_category_id, 'partner_id': partner_id, 'pricetotal': pricetotal}); }).get({'noexp_price_offer_id': offer_id, 'noexp_price_product_qtes_id': products_qtes_id, 'noexp_price_region_id': region_id, 'noexp_price_sub_category_id': sub_category_id, 'noexp_price_partner_id': partner_id, 'pricetotal': pricetotal}); // on désactive la checkbox (on ne peut plus décocher) $('selectexperiences-none').setProperty('disabled','disabled'); } // on décoche toutes les autres checkbox $$('.selectexperience').each(function(el, index){ el.setProperty('checked', ''); var label = el.getParent(); label.setProperty('class', 'unchecked'); }); }); $$('.selectexperience').each(function(el, index){ // une checkbox "experience" est cochée el.addEvent('click', function(){ ////////////////////////////////////////////////// // spinner loading .... if ( $('jslibelexperience') ) { var loadexperience = $('jslibelexperience').addClass('ajax-loading'); } var loadprice = $('jspriceformule').addClass('ajax-loading'); var selectexperienceCheckStatus = 0; var checkStatus = el.getProperty('checked'); if( checkStatus == true ) { selectexperienceCheckStatus = 1; } // récupération de la valeur var experience_id = el.getProperty('value'); // vérification sur les expériences (nombre d'expériences cochées) var nbexperiences = 0; var experienceids = []; $$('.selectexperience').each(function(el, index){ var checkStatus = el.getProperty('checked'); var id = el.getProperty('value'); if( checkStatus == true ) { nbexperiences = nbexperiences + 1; experienceids.include(id); } }); // récupération du montant total var pricetotal = ($('jspricetotal').get('text')); var offer_id = $('form_value_offer_id').getProperty('value'); if ($('form_value_products_qtes_id')) { var products_qtes_id = $('form_value_products_qtes_id').getProperty('value'); } else { var products_qtes_id = ''; } var region_id = $('form_value_region_id').getProperty('value'); var sub_category_id = $('form_value_sub_category_id').getProperty('value'); var partner_id = $('form_value_partner_id').getProperty('value'); var jsonRequest = new Request.JSON({ url: "getinfos.json.php?p=bloc", noCache:true, onSuccess: function(infos){ if ( $('jslibelexperience') ) { $('jslibelexperience').removeClass('ajax-loading'); } // Prix à partir de $('jspriceformule').empty(); var price = []; price = infos.price; $('jspriceformule').set('text', price.price+' €'); $('jspricetotal').set('text', price.price); $('jspriceformule').removeClass('ajax-loading'); // Remise if ( $('jsremise') ) { $('jsremise').empty(); var remise = []; remise = infos.remise; if( (remise.pourcentage).length > 0 ) { $('jsremise').set('text', remise.pourcentage); } } } }).get({'pricetotal': pricetotal, 'experience_id': experience_id, 'selectexperienceCheckStatus': selectexperienceCheckStatus, 'nbexperiences': nbexperiences, 'experienceids': experienceids, 'offer_id': offer_id, 'products_qtes_id': products_qtes_id, 'partner_id': partner_id}); // a partir de la valeur(id), sélectionner le prix dans la table "experiences" et l'additionner au montant total ////////////////////////////////////////////////// // la checkbox aucune journée est décochée et réactivée $('selectexperiences-none').setProperty('disabled',''); $('selectexperiences-none').setProperty('checked', ''); var label = $('selectexperiences-none').getParent(); label.setProperty('class', 'unchecked'); // vérification sur les expériences var selectexperienceCheckStatus = 0; $$('.selectexperience').each(function(el, index){ var checkStatus = el.getProperty('checked'); if( checkStatus == true ) { selectexperienceCheckStatus = 1; } }); // si toutes les expériences sont décochées, on coche la checkbox aucune journée. if( selectexperienceCheckStatus == 0 ) { $('selectexperiences-none').setProperty('checked','checked'); $('selectexperiences-none').setProperty('disabled','disabled'); var label = $('selectexperiences-none').getParent(); label.setProperty('class', 'checked'); } }); }); } }