/* 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': '
').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', '