/* LOGIN BAR */ var login_bar_switch = function(e) { e.stop(); var initial_height = 3; var open_height = 140; var link = $('login_bar_switch'); var inner_login_bar = $('inner_login_bar'); var height = inner_login_bar.getStyle('height'); if(height == open_height +'px') { var slide_to = initial_height; link.set('html', 'Login'); } else { var slide_to = open_height; link.set('html', 'Sluiten'); } inner_login_bar.set('tween', {duration: 500}); inner_login_bar.tween('height', slide_to); } var save_reference = function(order_id, hash) { var request = new Request({ method: 'post', url: 'suppliers/save_reference/', data: 'id='+ order_id +'&hash='+ hash +'&custom_bakery_reference='+ encodeURIComponent($('reference'+ order_id).get('value')), onComplete: function(response) { $('save_reference'+ order_id).setStyle('display', 'inline'); } }).send(); return false; } /* COUNTRY SELECTOR */ var country_selector = { initialize: function(cart_empty, error_str) { if($('country_selector')) { $('country_selector').getElements('a[href]').each(function(elm) { elm.addEvent('click', function(e) { if(!cart_empty) { if(!confirm(error_str)) e.stop() } }); }); } } } /* HEADER ROTATOR */ var header_rotator = { images: [], previous: 0, current: 0, next: 1, container: 'b', initialize: function() { if($('header_images')) { this.images = $('header_images').getElements('.header_img'); if(this.images.length > 1) this.load_next(); } }, load_next: function() { this.previous = this.current; this.current = ((this.images.length - 1) == this.current ? 0 : this.current + 1); (this.fade.bind(this)).delay(10000); }, fade: function() { this.images.each(function(img) { if(img != this.images[this.previous] && img != this.images[this.current]) img.setStyles({'z-index': 996, 'opacity': 1}); }.bind(this)); this.images[this.previous].setStyles({'z-index': 998}).tween('opacity', [1, 0]); this.images[this.current].setStyles({'z-index': 997, 'opacity': 1}); this.load_next(); } } var other_shops_rotator = { images: [], headers: [], previous: 0, current: 0, next: 1, container: 'b', initialize: function() { this.images = $('other_shops_rotator').getElements('img'); this.headers = $('other_shops_headers').getElements('img'); if(this.images.length > 1) this.load_next(); }, load_next: function() { this.previous = this.current; this.current = ((this.images.length - 1) == this.current ? 0 : this.current + 1); (this.fade.bind(this)).delay(5000); }, fade: function() { this.images.each(function(img) { if(img != this.images[this.previous] && img != this.images[this.current]) img.setStyles({'z-index': 996, 'opacity': 1}); }.bind(this)); this.headers.each(function(img) { if(img != this.headers[this.previous] && img != this.headers[this.current]) img.setStyles({'z-index': 996, 'opacity': 1}); }.bind(this)); this.images[this.previous].setStyles({'z-index': 998}).tween('opacity', [1, 0]); this.headers[this.previous].setStyles({'z-index': 998}).tween('opacity', [1, 0]); this.images[this.current].setStyles({'z-index': 997}); this.headers[this.current].setStyles({'z-index': 997}); this.load_next(); } } /* C2A BUTTONS */ var set_c2a_buttons = function() { $$('.ajax_fallback_submit_button').setStyle('display', 'none'); $$('.form_submit_link').setStyle('display', 'inline-block'); $$('.c2a').setStyle('display', 'inline-block'); do_cufon_button(); $$('.form_submit_link').each(function(link) { if(!link.hasClass('detail_submit')) { link.addEvent('click', function(e) { e.stop(); var button = link; var value = button.get('rel'); var form = button.getParents('form')[0]; new Element('input', { 'type': 'hidden', 'value': value, 'name': 'form_submit' }).injectTop(form); new Element('input', { 'type': 'hidden', 'value': value, 'name': 'form_submit_ie6' }).injectBottom(form); var validator = new EasyValidator({ failedClass: 'validated_false', passedClass: 'validated_true', showError: function(elm, error) { if(!elm.retrieve('form-error')) { new Fx.Scroll(window).toElement('content'); var coord = elm.getCoordinates(); var errorEl = new Element('div', { 'class': 'form-error', 'html': '
'+ error +'
' }); errorEl.injectBefore('wrapper').setStyles({ 'top': coord.top - errorEl.getHeight(), 'left': coord.left + (coord.width / 2) - (errorEl.getWidth() / 2) }); elm.store('form-error', errorEl); elm.addEvent('blur', function() { if(this.retrieve('form-error')) { this.retrieve('form-error').hide(); } this.eliminate('form-error'); }); } }, hideError: function(elm, error) { if(elm.retrieve('form-error')) { elm.retrieve('form-error').hide(); } } }); validator.addTest(['zipcode', false, function(elm) { return /^[1-9]{1}[0-9]{3}\s?[A-Za-z]{2}$/.test(elm.get('value')); }]); validator.addTest(['zipcode_nl', false, function(elm) { return /^[1-9]{1}[0-9]{3}\s?[A-Za-z]{2}$/.test(elm.get('value')); }]); validator.addTest(['zipcode_de', false, function(elm) { return /^[0-9]{5}$/.test(elm.get('value')); }]); validator.addTest(['stripped_zipcode_nl', false, function(elm) { return /^[1-9]{1}[0-9]{3}$/.test(elm.get('value')); }]); validator.addTest(['stripped_zipcode_de', false, function(elm) { return /^[0-9]{5}$/.test(elm.get('value')); }]); validator.addTest(['btw_number', false, function(elm) { return /^NL[0-9]{9}B[0-9]{2}$/.test(elm.get('value')); }]); validator.addTest(['numeric', 'Alleen getallen toegestaan.', function(elm) { return /^([0-9]*)$/.test(elm.get('value')); }]); if(validator.validate(form)) { form.submit(); } }); } //Detail form check else { link.addEvent('click', function(e) { e.stop(); var value = link.get('rel'); var form = link.getParents('form')[0]; new Element('input', { 'type': 'hidden', 'value': value, 'name': 'form_submit' }).injectTop(form); new Element('input', { 'type': 'hidden', 'value': value, 'name': 'form_submit_ie6' }).injectBottom(form); var validator = new EasyValidator({ failedClass: 'validated_false', passedClass: 'validated_true' }); var validated = validator.validate(form); //Check logo or photo if($('product_detail').getElement('input[name=pxl_f_logo_or_photo]') && $('product_detail').getElement('input[name=pxl_f_logo_or_photo]').get('checked')) { if($('logo_or_photo_preview').getChildren().length == 0) { validated = false; alert('Geen logo of foto geüpload.'); } } //Check letter if($('product_detail').getElement('input[name=pxl_f_add_letter]') && $('product_detail').getElement('input[name=pxl_f_add_letter]').get('checked')) { if(!$chk($('product_detail').getElement('input[name=add_letter_file_uploader]').get('value'))) { validated = false; alert('Geen brief geüpload.'); } } //Check card if($('product_detail').getElement('input[name=pxl_f_add_card]') && $('product_detail').getElement('input[name=pxl_f_add_card]').get('checked')) { if(!$chk($('product_detail').getElement('textarea[name=pxl_f_add_card_text]').get('value'))) { validated = false; $('product_detail').getElement('textarea[name=pxl_f_add_card_text]').addClass('validated_false'); } } else if($('product_detail').getElement('input[name=pxl_f_add_card]')) { $('product_detail').getElement('textarea[name=pxl_f_add_card_text]').removeClass('validated_false'); } if(validated) form.submit(); }); } }); } /* TOOL TIPS */ var tooltips = function() { $$('[class*=tooltip]').removeEvents(); var show_tooltip = new Tips($$('.show_tooltip'), { className: 'tooltip' }); var tooltip_positive = new Tips($$('.show_tooltip_positive'), { className: 'tooltip_positive' }); var tooltip_negative = new Tips($$('.show_tooltip_negative'), { className: 'tooltip_negative' }); var tooltip_black = new Tips($$('.show_tooltip_black'), { className: 'tooltip_black' }); } /* PHOTO EDITOR */ var photo_editor = { upload: null, dialog: null, initialize: function() { do_cufon(); set_c2a_buttons(); $('photo_editor_upload').addEvent('click', function(e) { e.stop(); }); $('photo_edit_save').addEvent('click', function(e) { photo_editor.dialog.close(); return false; }); this.upload = new AjaxUpload('photo_editor_upload', { action: 'photo_editor/upload', name: 'photo_file', onSubmit: function(file , ext) { if(!(ext && /^(jpg|png|jpeg|gif)$/.test(ext))) { // extension is not allowed alert('Error: Verkeerd soort bestand'); // cancel upload return false; } else $('uploading_logo').show(); }, onComplete: function(file, response) { $('uploading_logo').hide(); var data = JSON.decode(response); if($chk(data.error)) alert(data.error); else { var img = ''; if(data.type == 'portrait') img = ''; else img = ''; $('photo_edit_area').set('html', img); this.uvumi = new uvumiCropper('photo_edit_src', { serverScriptSave: 'photo_edit/crop_photo' /* onCropSuccess: this.onCropSuccess, */ }); } } }); } } /* DELIVERY ADDRESSES */ var delivery_addresses = { total_products: 0, total_addresses: 1, error_showed: false, initialize: function() { $('add_delivery_address').addEvent('click', function(e) { e.stop(); delivery_addresses.add(); }); $('remove_delivery_address').addEvent('click', function(e) { e.stop(); delivery_addresses.remove(); }); this.total_addresses = $('delivery_addresses_total').get('value'); if(this.total_addresses == 1) $('remove_delivery_address').hide(); for(var i = 1; i <= this.total_addresses; i++) { this.enquete_name_initialize(i); } }, add: function() { if(this.total_products.toInt() < this.total_addresses.toInt() + 1) { if(!this.error_showed) { alert('U heeft meer bezorgadressen ten opzichte van het aantal bestelde taarten.'); //this.error_showed = true; return true; } } var form = $('delivery_address_form_1').clone(); this.total_addresses++; form.set('id', 'delivery_address_form_'+ this.total_addresses); form.addClass('top_line'); var i = (this.total_addresses - 1) * 9; form.getElements('input').each(function(input) { input.set('name', input.get('name').replace('_1', '_'+ this.total_addresses)); input.set('tabindex', input.get('tabindex') + i); input.set('value', ''); input.removeClass('validated_true'); input.removeClass('validated_false'); }.bind(this)); form.getElements('.error, img').each(function(error) { error.destroy(); }); form.getElements('.delivery_enquete_1').each(function(input) { input.set('class', input.get('class').replace('_1', '_'+ this.total_addresses)); }.bind(this)); if(form.getElement('input[name=pxl_f_delivery_enquete_'+ this.total_addresses +']')) { form.getElement('input[name=pxl_f_delivery_enquete_'+ this.total_addresses +']').set('checked', false); } form.setStyles({'overflow': 'hidden', 'height': 0}).injectAfter($('delivery_address_form_'+ (this.total_addresses - 1))).tween('height', [0, $('delivery_address_form_1').getStyle('height')]); $('delivery_addresses_total').set('value', this.total_addresses); $('remove_delivery_address').show(); for(var i = 1; i <= this.total_addresses; i++) { this.enquete_name_initialize(i); } }, remove: function() { $('delivery_address_form_'+ this.total_addresses).destroy(); this.total_addresses--; if(this.total_addresses == 1) $('remove_delivery_address').hide(); $('delivery_addresses_total').set('value', this.total_addresses); }, enquete_name_initialize: function(level) { $$('input[name=pxl_f_delivery_name_'+ level +']').removeEvents('keyup').addEvent('keyup', function() { var val = $$('input[name=pxl_f_delivery_name_'+ level +']').get('value'); $$('.delivery_enquete_'+ level).set('html', val != '' ? val : '...'); }.bind(this)).fireEvent('keyup'); $$('input[name=pxl_f_delivery_enquete_'+ level +']').removeEvents('click').addEvent('click', function() { if(this.get('checked')) $$('input[name=pxl_f_delivery_email_'+ delivery_addresses.total_addresses +']').addClass('v:not-empty').addClass('v:email'); else $$('input[name=pxl_f_delivery_email_'+ delivery_addresses.total_addresses +']').removeClass('v:not-empty').removeClass('v:email').removeClass('validated_false'); }).fireEvent('click'); } } /* MISC */ var profile_logo_delete = function(id) { var request = new Request({ method: 'post', url: 'profile/delete_logo/'+ id, onComplete: function(response) { $('logo'+ id).destroy(); } }).send(); } /* DOMREADY */ window.addEvent('domready', function() { set_c2a_buttons(); tooltips(); if($chk($('warning_bar'))) { (function() { $('warning_bar').fade() }).delay(3000); } if($chk($('card_div'))) { $$('input[name=added_card]').addEvent('change', function(e){ if(e.target.checked) { var cardTween = new Fx.Tween('card_div', {duration: 200}); cardTween.start('height', [0, 60]); } else{ var cardTween = new Fx.Tween('card_div', {duration: 200}); cardTween.start('height', [60, 0]); } }); $$('input[name=added_letter]').addEvent('change', function(e){ if(e.target.checked) { var letterTween = new Fx.Tween('letter_div', {duration: 200}); letterTween.start('height', [0, 50]); } else{ var letterTween = new Fx.Tween('letter_div', {duration: 200}); letterTween.start('height', [50, 0]); } }); } if($('other_shops_rotator')) { other_shops_rotator.initialize(); } if($chk($('about'))) { new SlideShow($('about_image_slideshow'), { duration: 6000, slides: '.image' }); } if($chk($('custom_pie_add_price_row'))) { $('custom_pie_add_price_row').addEvent('click',function(e) { e.stop(); price_row = $$('.price_row')[0]; var clone = price_row.clone(); clone.inject($('custom_prices'), 'bottom'); clone.getElements('input').each(function(input) { input.set('value', '') }); element = new Element('a', {'class': 'custom_pie_delete_price_row', 'href': '#'}).set('html', '').addEvent('click', function(e) { e.stop(); this.getParent().destroy() }).inject(clone, 'bottom'); }); } $$('.orders_mass_action_form').each(function(form) { form.addEvent('submit', function(e) { e.stop(); }); form.getElements('button').each(function(e) { if(!e.hasClass('no_submit')) { e.addEvent('click', function() { var selected_orders = false; form.getElements('input[type=checkbox]').each(function(e) { if(e.get('checked') == true) selected_orders = true; }); var action = this.get('class'); form.getElement('.hidden_action').set('value',action); var confirmation = true; var confirmation_string = null; var form_action = null; if(action == 'print') form_action = 'junction/print_orders'; if(action == 'decline') form_action = 'suppliers/order_overview'; if(action == 'accept') form_action = 'suppliers/order_overview'; if(selected_orders == true) { if(action == 'accept') confirmation_string = 'Order accepteren'; if(action == 'decline') confirmation_string = 'Order weigeren'; if(confirmation_string != null) { confirmation = confirm("Weet je zeker dat "+ confirmation_string +"?\n\n Dit kan niet ongedaan gemaakt worden."); } if(form_action != null) { form.set('action', form_action); if(confirmation == true) { if(action == 'print') { form.set('target', '_blank'); } form.submit(); } } } else { alert('Geen orders geselecteerd'); } }); } }); }); if($chk($('login_bar_switch'))) { $('login_bar_switch').addEvent('click', function(e) { login_bar_switch(e); }); $('login_bar').getElement('.login_tab').addEvent('click', function(e) { login_bar_switch(e); }); } $$('.popup').addEvent('click', function(e) { e.stop(); window.open(this.href +'?popup', 'popup', 'menubar=1,resizable=0,width=600,height=700,scrollbars=1'); }); // FORMS ACTIONS // $$('.only_numeric').addEvent('keypress', function(e) { var key = e.key; if(key !=0 && key != 1 && key != 2 && key != 3 && key != 4 && key != 5 && key != 6 && key != 7 && key != 8 && key != 9 && key != 'backspace' && key != 'delete' && key != 'left' && key != 'right' && key != 'tab') { return false; } }); $$('.add_zipcode_row').addEvent('click',function(e) { e.stop(); var clone = $$('.delivery_area_row')[0].clone().inject($('delivery_area_rows'), 'bottom'); clone.getElements('input').each(function(input) { input.set('value', '') }); element = new Element('a', {'class': 'delete_zipcode_row', 'href': '#'}).set('html', '').addEvent('click', function(e) { e.stop(); this.getParent().destroy() }).inject(clone, 'bottom'); clone.getElement('.form_tooltip').destroy(); }); $$('.delete_zipcode_row').addEvent('click', function(e) { e.stop(); e.target.getParents('.delivery_area_row').destroy(); }); if($chk($('alternative_email'))) { $('alternative_email').hide(); $('alternative_adress').hide(); $('show_alt_email').addEvent('click', function(e) { e.stop();$('alternative_email').toggle();}); $('show_alt_adress').addEvent('click', function(e) { e.stop(); $('alternative_adress').toggle(); }); } $$('.supplier_pie_details').each(function(drow) { drow.hide(); }); $$('.supplier_pie_checkbox input').each(function(checkbox) { checkbox.addEvent('click', function() { if(this.get('checked')) this.getParent().getNext().getNext().getNext().show(); else this.getParent().getNext().getNext().getNext().hide(); }); }); $$('.register_pie_details').each(function(link) { link.addEvent('click', function(e) { e.stop(); this.getParent().getNext().getNext().toggle(); }); }); if($chk($('suppliers'))) { var closed_on_fixed_days_container = $('closed_on_fixed_days_container'); if($chk(closed_on_fixed_days_container)) { closed_on_fixed_days_container.hide(); var show_hide_selector = $('closed_on_fixed_days_yes_no'); var show_hide_bool = show_hide_selector.get('value'); var show_hide_days = function(value) { if(value == 'yes') closed_on_fixed_days_container.show(); else if(value == 'no') { closed_on_fixed_days_container.hide(); $('closed_on_fixed_days_container').getElements('input').each(function(inp) { inp.set('checked', false) }); } } show_hide_days(show_hide_bool); show_hide_selector.addEvent('click',function(element) { show_hide_days(this.get('value')); }); } var form_tooltip = function() { var tooltips = new Tips($$('.form_tooltip'), { className: 'tooltip' }); } form_tooltip(); var show_tooltip = new Tips($$('.form_tooltip'), { className: 'show_tooltip' }); if($chk($('send_logos_to'))) { $('send_logos_to').getChildren('input').each(function(element) { var alternative_logo_adress = $('alternative_logo_adress'); alternative_logo_adress.hide(); if(element.get('checked') == true) { var value = element.get('value'); if(value == 'my_adress') alternative_logo_adress.hide(); else if(value == 'alternative_adress') alternative_logo_adress.show(); } element.addEvent('click', function(e) { var value = this.get('value'); if(value == 'my_adress') alternative_logo_adress.hide(); else if(value == 'alternative_adress') alternative_logo_adress.show(); }); }); } var order_details_switch = function() { $$('.details_switch').removeEvents(); $$('.details_switch').addEvent('click', function(e) { if(e) e.stop(); var image = this.getChildren('img')[0]; if(image.get('src').contains('up')) { image.set('src','img/arrow_down.png'); } else image.set('src','img/arrow_up.png'); var order_small = this.getParents('.order').getElement('.order_small'); var order_details = this.getParents('.order').getElement('.order_details'); order_small.toggle(); order_details.toggle(); }); } order_details_switch(); $$('.dependant_show_hide_select').each(function(element) { var show_hide = element.getNext(); var value = element.get('value'); var dependant_show_hide = function(value_arg) { if(value_arg != 'no') { value_arg = 'yes'; } if(value_arg == 'yes') show_hide.setStyle('display', 'inline-block'); if(value_arg == 'no') { show_hide.hide(); if(element.get('name').contains('pxl_f_supplier_can_deliver_pie')) { element.getParent().getNext().getNext().hide(); } } } dependant_show_hide(value); element.addEvent('change',function(element) { var value = this.get('value'); dependant_show_hide(value); }); }); $$('.can_deliver_pie_select').each(function(element) { var show_hide = $$('.supplier_pie_details'+ element.get('rel')); var value = element.get('value'); show_hide.hide(); var a = element.getParent().getNext(); a.hide(); if(value != '') a.setStyle('display', 'inline-block'); a.addEvent('click', function(e) { e.stop(); var show_hide = $$('.supplier_pie_details'+ a.get('rel')); show_hide.toggle(); }); element.addEvent('change', function(e) { var value = this.get('value'); if(value == '') { a.hide(); show_hide.hide(); } else { a.setStyle('display', 'inline-block'); } }); }); if($chk($('logo_costs_yes_no'))) { var logo_costs_yes_no = $('logo_costs_yes_no'); var value = $('logo_costs_yes_no').get('value'); if(value == 'yes') { $('logo_costs').setStyle('visibility', 'visible'); } else { $('logo_costs').setStyle('visibility', 'hidden'); } logo_costs_yes_no.addEvent('change',function(e) { var value = this.get('value'); if(value=='yes') { $('logo_costs').setStyle('visibility','visible'); } else { $('logo_costs').setStyle('visibility','hidden'); } }); } if($chk($('send_logos_to_supplier'))) { $('alternative_logo_adress').hide(); $('send_logos_to_supplier').addEvent('click', function(e) { $('alternative_logo_adress').hide(); }); $('send_logos_to_alternative_adress').addEvent('click', function(e) { $('alternative_logo_adress').show(); }); } var value_dependant_field = function(field1, field2, value) { var logo_costs_yes_no = $('logo_costs_yes_no'); var value = $('logo_costs_yes_no').get('value'); if(value == 'yes') { $('logo_costs').setStyle('visibility', 'visible'); } else { $('logo_costs').setStyle('visibility', 'hidden'); } logo_costs_yes_no.addEvent('change', function(e) { var value = this.get('value'); if(value == 'yes') { $('logo_costs').setStyle('visibility', 'visible'); } else { $('logo_costs').setStyle('visibility', 'hidden'); } }); } $$('a.logo_self_print').addEvent('click', function(e) { if(confirm('Heeft u het logo niet per post ontvangen? (OK = Ja, Annuleren = Nee)')) { new Request({ method: 'post', url: 'suppliers/logo_self_print/acknowledge' }).send('product_id='+ this.get('rel')); alert('U print het logo zelf uit. Dit wordt doorberekend op de factuur.'); } else { new Request({ method: 'post', url: 'suppliers/logo_self_print/decline' }).send('product_id='+ this.get('rel')); alert('U wilt het logo alleen bekijken. Dit wordt niet doorberekend op de factuur.'); } }); if($chk($('backup_supplier'))) { $('backup_supplier').setStyle('display', 'none'); $('show_backup_supplier').addEvent('click', function(e) { e.stop(); e.target.setStyle('display', 'none'); $('backup_supplier').setStyle('display', 'block'); } ); } var check_vacation = function() { var link = $('show_backup_supplier'); var vacation_period = $('vacation_period'); var value = $('vacation_period_is_known').get('value'); if(value == 'no') { link.setStyle('display', 'none'); vacation_period.setStyle('display', 'none'); $('backup_supplier').setStyle('display', 'none'); } else { link.setStyle('display', 'block'); vacation_period.setStyle('display', 'block'); } } if($chk($('vacation_period_is_known'))) { check_vacation(); $('vacation_period_is_known').addEvent('change', function(e) { check_vacation(); }); } if($chk($$('.vacation_period'))) { new DatePicker('.vacation_period', { pickerClass: 'datepicker_dashboard', allowEmpty: true }); } } if($chk($$('.date_field'))) { new DatePicker('.date_field', { pickerClass: 'datepicker_dashboard', allowEmpty: true }); } if($chk($('agreement_required'))) { $('agreement_required').addEvent('click', function(e) { if($('licence_agreement_checker').get('checked') == false) { e.stop(); alert('U dient akkoord te gaan met onze voorwaarden'); } }); } // END FORM ACTIONS // if($('region_fields')) { $('add_gegion').addEvent('click', function(e) { var copy = $('region_fields').clone().injectAfter($('region_fields')); $('region_fields').erase('id'); copy.set('id', 'region_fields'); /*remove button*/ img = copy.getElements('img'); img.set('src', 'img/cross.png'); img.set('alt', 'X'); img.set('class', 'remove_parend'); img.addEvent('click', function(e) { remove_elm = this.getParent('tr'); if(remove_elm.get('id') == 'region_fields') { niew_id = remove_elm.getPrevious('tr'); niew_id.set('id', 'region_fields'); } remove_elm.dispose(); }); inputs = copy.getElements('input'); inputs.each(function(elm) { elm.set('value', ''); }); }); } $$('.help_info').each(function(elm) { elm.addEvents({ 'mouseover': function() { info = elm.getChildren('.info'); info.setStyle('display', 'block'); }, 'mouseout' : function() { info = elm.getChildren('.info'); info.setStyle('display', 'none'); } }); }); if($('logo_keuze')) { $('logo_keuze').addEvent('change', function(e) { if($('logo_keuze').get('value') == 'Ja') { $('show_logo').setStyle('display', 'inline'); }else{ $('show_logo').setStyle('display', 'none'); } }); } $$('.remove_parend').each(function(elm) { elm.addEvent('click', function(e) { elm.getParent('tr').dispose(); }); }); if($chk($('faq'))) { $$('.questions').hide(); $$('.faq_status_icon').setStyle('display','block'); $$('.question_header').addEvent('click',function(e) { questions = this.getParents('.category').getFirst('.questions'); status_icon = this.getFirst('.faq_status_icon'); questions.toggle(); if(questions.getStyle('display') == 'block') status_icon.set('src', 'img/faq_down.gif'); else status_icon.set('src', 'img/faq_up.gif'); }); } if($chk($('contact'))) { map = new Gmap({ canvas: 'map_canvas', errors: 'errors' }); var directions_is_clicked = false; map.setpoint('Amstel 326, 1017AR Amsterdam '); map.setcenter('Amstel 326, 1017AR Amsterdam ', 15); $('getdirections').addEvent('click', function() { if(directions_is_clicked == false) { directions_is_clicked = true; map.directions($('from').get('value'), 'Amstel 326, 1017AR Amsterdam ', 'directions'); } }); } if($chk($('price_overview'))) { var pie_select = function(e) { pie_selector = $('price_overview_pie_selector'); pie_selector.addEvent('change',function(e) { var pie_id = e.target.get('value'); var request = new Request({ method: 'post', url: 'price_overview/price_overview_table_contents', data: { 'pie_id' : pie_id }, onComplete: function(response) { $('price_overview_table_contents').set('html',response); pie_select(); } }).send(); }); } pie_select(); } /* PRODUCT DETAIL */ var image_controller = { load: function(src) { $('large_img').getElement('img').set('src', src); } } $$('.product_detail .small_img').each(function(img) { img.getElement('a').addEvent('click', function(e) { e.stop(); image_controller.load(this.get('rel')); }); }); var product_detail = { initialize: function() { $$('tr.total').removeClass('hidden'); if($('logo_or_photo_file_uploader')) $('logo_or_photo_file_uploader').removeClass('hidden'); //Tabs if($('tab_container')) { $('tab_container').getElements('div').each(function(el) { el.addEvent('click', function() { $$('#tab_contents > div').setStyle('display', 'none'); $$('#tab_container > div').removeClass('selected'); el.addClass('selected'); $(el.get('rel')).setStyle('display', ''); }); }); } //Misc if($('design_logo_or_photo')) $('design_logo_or_photo').removeClass('hidden'); if($('design_logo_or_photo')) $('design_logo_or_photo').getNext().removeClass('hidden'); $$('.product_detail_option').each(function(pdo) { if(!pdo.getPrevious().getElement('input').get('checked')) pdo.addClass('hide'); }); $('product_detail').getElements('input[type=checkbox]').each(function(input) { input.addEvent('click', product_detail.refresh_price); }); $('product_detail').getElements('select').each(function(input) { input.addEvent('change', product_detail.refresh_price); }); $$('.product_detail_checkbox').each(function(chck) { chck.addEvent('click', function() { if(this.get('checked')) this.getParent().getParent().getNext().removeClass('hide'); else this.getParent().getParent().getNext().addClass('hide'); }); }); //Edit photo if($('edit_photo')) { photo_editor.dialog = new Dialog({'dialogClass': 'photo_editor_dialog', 'overlayColor': 'black'}); $$('input.logo_or_photo').addEvent('click', function() { if($$('input.design_logo_or_photo').get('checked')) { $$('input.design_logo_or_photo').set('checked', false); $$('input.design_logo_or_photo').getParent().getParent().getNext().addClass('hide'); } }); $$('input.design_logo_or_photo').addEvent('click', function() { if($$('input.logo_or_photo').get('checked')) { $$('input.logo_or_photo').set('checked', false); $$('input.logo_or_photo').getParent().getParent().getNext().addClass('hide'); } }); $('edit_photo').addEvent('click', function(e) { e.stop(); photo_editor.dialog.show('photo_editor', {'width': 800, 'height': 500, 'onComplete': photo_editor.initialize }); }); } //Logo upload if($('user_logos')) { $('user_logos').show(); $$('#user_logos a img').addEvent('click', function(e) { e.stop(); $('logo_or_photo_preview').set('html', ''); $('logo_or_photo_desc').set('html', ''+ this.get('rel') +''); $$('input[name="pxl_f_logo_or_photo_userfile_name"]').set('value', this.get('rel')); $$('input[name="pxl_f_logo_or_photo_file"]').set('value', this.get('src')); }); } if($('logo_or_photo_file_uploader')) { new AjaxUpload('logo_or_photo_file_uploader', { action: 'order/upload_logo', name: 'logo', onSubmit: function(file, ext) { if(!(ext && /^(jpg|png|jpeg|gif)$/.test(ext))) { alert('Error: invalid file extension'); return false; } else { $('logo_or_photo_file_uploading_icon').show(); } }, onComplete: function(file, response) { $('logo_or_photo_file_uploading_icon').hide(); if(response != 'error' && response != 'http://www.taartenwinkel.nl/uploads/logos/error' && file != 'http://www.taartenwinkel.nl/uploads/logos/error') { $('logo_or_photo_preview').set('html', ''); $('logo_or_photo_desc').set('html', ''+ file +''); $$('input[name="pxl_f_logo_or_photo_userfile_name"]').set('value', file); $$('input[name="pxl_f_logo_or_photo_file"]').set('value', response); } else { alert('Error while uploading picture'); } } }); } //Text characters if($$('input[name=pxl_f_chocolate_text_text]')) { $$('input[name=pxl_f_chocolate_text_text]').addEvent('keyup', function() { $('chocolate_text_characters').set('html', 30 - this.get('value').length); }); } if($('product_detail').getElement('input[name=pxl_f_chocolate_text]')) { $('product_detail').getElement('input[name=pxl_f_chocolate_text]').addEvent('click', function() { if($('product_detail').getElement('input[name=pxl_f_chocolate_text]').get('checked')) $$('input[name=pxl_f_chocolate_text_text]').addClass('v:not-empty'); else $$('input[name=pxl_f_chocolate_text_text]').removeClass('v:not-empty'); }); $('product_detail').getElement('input[name=pxl_f_chocolate_text]').fireEvent('click'); } if($$('textarea[name=pxl_f_add_card_text]')) { $$('textarea[name=pxl_f_add_card_text]').addEvents({ 'keyup': function() { if(this.get('value').length > 160) this.set('value', this.get('value').substring(0, 160)); $('card_text_characters').set('html', 160 - this.get('value').length); }, 'change': function() { this.fireEvent('keyup') } }).fireEvent('keyup'); } }, refresh_price: function() { new Request({ method: 'post', url: 'order/product_detail_priceview', onComplete: function(data) { data = JSON.decode(data); if($('total_price')) $('total_price').set('html', data.total); if($('size_price')) $('size_price').set('html', data.size_price); }, evalScripts: true }).post($('product_detail')); } } if($chk($('product_detail'))) { product_detail.initialize(); } var refresh_additional_price = function() { new Request({ method: 'post', url: 'order/additional_product_detail_priceview', onComplete: function(data) { if($('total_price')) { $('total_price').set('html', data); } }, evalScripts: true }).post($('additional_product_detail')); } if($chk($('additional_product_detail'))) { $('additional_product_detail').getElements('select').each(function(input) { input.addEvent('change', refresh_additional_price); }); } /* STEP 3b */ if($chk($('step_3b')) && $chk($('step_3b').getElement('tr.corporate'))) { $('step_3b').getElement('tr.corporate').addClass('hidden'); $('payment_method').addClass('hidden'); $('step_3b').getElements('.customer_type input[type=radio]').each(function(radio) { radio.addEvent('click', function() { switch(radio.get('value')) { case '0': $('step_3b').getElement('tr.corporate').addClass('hidden'); $('step_3b').getElement('tr.cost_centre').addClass('hidden'); $('step_3b').getElement('span.corporate').addClass('hidden'); $('step_3b').getElement('span.private').removeClass('hidden'); $('step_3b').getElement('input.company_name').removeClass('v:not-empty'); $('payment_method').addClass('hidden'); $('payment_private').removeClass('hidden'); $('invoice_details').hide(); break; case '1': $('step_3b').getElement('tr.corporate').removeClass('hidden'); $('step_3b').getElement('tr.cost_centre').removeClass('hidden'); $('step_3b').getElement('span.corporate').removeClass('hidden'); $('step_3b').getElement('span.private').addClass('hidden'); $('step_3b').getElement('input.company_name').addClass('v:not-empty'); $('payment_method').removeClass('hidden'); $('payment_private').addClass('hidden'); $('invoice_details').show(); break; } }); }); if($('step_3b').getElement('.customer_type input[type=radio]').get('checked') == true) { $('step_3b').getElement('.customer_type input[type=radio]').fireEvent('click'); } /* INVOICES */ $('different_invoice_address').addEvent('click', function() { if($('different_invoice_address').get('checked')) { $('invoice_details_form').show(); $('invoice_details_form').getElements('input').each(function(input) { if(input.hasClass('e:not-empty')) { input.addClass('v:not-empty'); } }); } else { $('invoice_details_form').hide(); $('invoice_details_form').getElements('input').each(function(input) { input.removeClass('v:not-empty'); }); } }); $('different_invoice_address').fireEvent('click'); } if($chk($('add_delivery_address'))) { delivery_addresses.initialize(); } /* PROFILE */ if($chk($('profile_logo_upload'))) { $('profile_logo_upload').addEvent('click', function(e) { e.stop(); }); new AjaxUpload('profile_logo_upload', { action: 'profile/upload_logo/'+ $('logos_container').get('rel'), name: 'logo', onSubmit: function(file , ext) { if(!(ext && /^(jpg|png|jpeg|gif)$/.test(ext))) { // Extension is not allowed alert('Error: invalid file extension'); // Cancel upload return false; } else { $('uploading_logo').show(); } }, onComplete: function(file, response) { $('uploading_logo').hide(); if(response != 'error') { if($('logos_container').getElements('div').length == 4) $('profile_logo_upload').hide(); var vars = response.split('/'); $('logos_container').set('html', $('logos_container').get('html') +'
Verwijderen
'); } else alert('Error while uploading picture'); } }); } if($chk($('request_international_order_link'))) { var container = $('request_international_order'); container.hide(); $('request_international_order_link').addEvent('click', function(e) { e.stop(); container.toggle(); }) } if($chk($('profile'))) { $$('.proposal_contact_container').each(function(elm) { container = this; response_container = elm.getElements('.response')[0]; elm.hide(); var form = elm.getElement('form'); form.set('action', form.get('action') + '?ajax'); submit_link = form.getElements('.form_submit_link')[0]; submit_link.removeEvents('click'); submit_link.addEvent('click', function(e) { e.stop(); form.hide(); response_container.set('html', 'Bezig met versturen...'); form.set('send', { onComplete: function(response) { response_container.set('html', response); } }); form.send(); }); }); $$('.show_contact').each(function(elm) { elm.addEvent('click',function(e) { e.stop(); this.getParent().getParent().getElement('.proposal_contact_container').toggle(); }); }); } if($chk($('admin'))) { bs_form = $('bs_form'); bs_form.addEvent('submit', function(e) { e.stop(); $('ajax_callback').set('html', 'Loading'); bs_form.set('send', { onComplete: function(response) { $('ajax_callback').set('html', response); } }); bs_form.send(); }); } });