/* 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); } /* 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('input[type=submit]').each(function(e) {
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){
//todo: omzetten naar in_array();
/*
var allowedKeys = new Array();
allowedKeys[0] = 0;
allowedKeys[1] = 1;
allowedKeys[2] = 2;
allowedKeys[3] = 3;
allowedKeys[4] = 4;
allowedKeys[5] = 5;
allowedKeys[6] = 6;
allowedKeys[7] = 7;
allowedKeys[8] = 8;
allowedKeys[9] = 9;
allowedKeys[11]= 'backspace';
allowedKeys[12]= 'delete';
allowedKeys[13]= 'left';
allowedKeys[14]= 'right';
allowedKeys[15]= 'tab';
*/
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();
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();
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();
if(value=='alternative_adress') alternative_logo_adress.show();
});
});
}
var order_details_switch = function() {
$$('.details_switch').removeEvents();
$$('.details_switch').addEvent('click', function(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();
var order_state_link = function() {
$$('.confirm_click').removeEvents();
$$('.confirm_click').addEvent('click',function(e){
e.stop();
var order_container = this.getParent('.order_state');
link = this;
var message = this.get('rel');
if(confirm(message)){
var parts = this.get('href').split('/');
var action = parts[parts.length-2];
var id = parts[parts.length-1];
var container = link.getParent('.order');
if(action=='accept_order') var state_layer_name = 'completed';
var ajax = new Request({
method: 'get',
url: 'suppliers/ajax/'+action+'/'+id,
onSuccess: function(response){
if(action == 'accept_order'){
var inject_after = $('content').getElement('.'+state_layer_name).getElement('.overview_header');
copy = container.clone();
if($chk(inject_after)){
copy.inject(inject_after, 'after');
} else {
// order state is empty, need to fill
$('content').getElement('.'+state_layer_name).getElement('em').destroy();
copy.inject($('content').getElement('.'+state_layer_name).getElement('h2'), 'after');
}
copy.getElement('.controls').destroy();
copy.set('html', response + copy.get('html'));
var scroll = new Fx.Scroll($(document).getElement('body'), {
wait: false,
duration: 300,
transition: Fx.Transitions.Quad.easeInOut,
offset: {'x': 0, 'y': -50}
});
scroll.toElement(copy);
copy.highlight('#F99E18');
order_state_link();
order_details_switch();
tooltips();
}
container.destroy();
},
onFailure: function(response){
}
});
ajax.send('ajax=1');
//empty the order state if no orders are present
if(order_container.getElements('.order').length == 1){
order_container.getElement('.overview_header').destroy();
var empty = new Element('em', { html: 'Leeg' }).inject(order_container.getElement('h2'), 'after');
}
}
});
}
order_state_link();
}
$$('.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');
}
//var value = this.get('value');
//dependant_show_hide(value);
});
});
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){
//big todo
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($('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 check_checkboxes = function(className, checked) {
$$('.'+className).each(function(el) { el.checked = (checked == "true" ? true : false) });
}
if($chk($('checkbox_selecter'))) {
$$('#checkbox_selecter a').addEvent('click', function(e) {
e.stop();
check_checkboxes('kind_cb', e.target.get('href'));
});
}
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() {
//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($('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', '