function tripListOpenMap(url) { if ($('aanbod_control_map_frame').src.match('Laden')) $('aanbod_control_map_frame').src = url; Effect.toggle('aanbod_control_map','blind', {duration:0.6} ); } function visitorTripDetailSave(tripID) { var url = '/async/visitor-add/' + tripID; new Ajax.Request(url, { method: 'get', onSuccess: function(transport) { if (transport.responseText.match('ok')) { var count = transport.responseText.match(/\d+/g)[0]; $("saved_count").innerHTML = "Bewaarde Reizen ("+ count +")"; $('trip_detail_actions_add').hide(); $('trip_detail_actions_remove').show(); if (! $('menu_visitor').visible() ) Effect.BlindDown('menu_visitor'); if ($('trip_detail_container') && !$('geniediv')) { over = document.createElement('div'); over.className = 'geniediv'; over.id = 'geniediv'; $('trip_detail_container').parentNode.appendChild(over); $('geniediv').clonePosition($('trip_detail_container')); new Effect.MoveAndReSize('geniediv',{move:['all:-160:-150'],resize:['fixed:1:1'],opacity:0.0,toggleIndex:1,duration:0.9}); } setTimeout("alert('Deze reis is nu toegevoegd aan Mijn bewaarde reizen (zie menu linksboven)');",950); } else alert('Wegens een fout kon de reis niet toegevoegd worden'); } }); } function visitorTripDetailRemove(tripID) { var url = '/async/visitor-remove/' + tripID; new Ajax.Request(url, { method: 'get', onSuccess: function(transport) { if (transport.responseText.match('ok')) { $('trip_detail_actions_add').show(); $('trip_detail_actions_remove').hide(); alert('Deze reis is nu verwijderd uit Mijn bewaarde reizen'); } else alert('Wegens een fout kon de reis niet verwijderd worden'); } } ); } function visitorTripListRemove(itemDiv, tripID) { var url = '/async/visitor-remove/' + tripID; new Ajax.Request(url, { method: 'get', onSuccess: function(transport) { if (transport.responseText.match('ok')) { // remove visually Effect.DropOut(itemDiv); // correct alternating rows var items = $$('#aanbod_list_items .item'); if (items.size() == 1) $('tripListFavouritesEmpty').show(); var nr = 1; items.each(function(item) { // skip invisibles/ ones that are deleted if (item.style.display == 'none' || item.id == itemDiv) return; item.removeClassName('light'); item.removeClassName('dark'); // set correct classes if ((nr % 2) != 0) { item.addClassName('light'); var photoframes = $$('#'+item.id+' .beeld img'); photoframes.each(function(photoframe) { photoframe.src = photoframe.src.replace('dark', 'light'); }); } else { item.addClassName('dark'); var photoframes = $$('#'+item.id+' .beeld img'); photoframes.each(function(photoframe) { photoframe.src = photoframe.src.replace('light', 'dark'); }); } nr++; } ); } else alert('Wegens een fout kon de reis niet verwijderd worden'); } } ); } var toggleHash = new Array(20); Effect.MoveAndReSize = Class.create(); Object.extend(Object.extend(Effect.MoveAndReSize.prototype, Effect.Base.prototype), { initialize: function(element) { this.element = $(element); if(!this.element) throw(Effect._elementDoesNotExistError); // AVAILABLE OPTIONS (all is optional) //{opacity: 0.2 ,move:['all:200:300','x:500','y:400','fixed:100:100'], resize: ['all:200:300','y:400','x:500','fixed:100:100'], toggleIndex:1...x} var options = Object.extend({move:[], resize: []}, arguments[1] || {}); var goMove =( options.move.length > 0); var goResize = (options.resize.length > 0); var goToggle = (options.toggleIndex!=null); var goOpacity = (options.opacity!=null); var dimension = Element.getDimensions(this.element); var position = Position.positionedOffset(this.element); if (goToggle) { originalElement = toggleHash[options.toggleIndex]; // Prevent mutliclic on same object if (originalElement!=null) if (originalElement.usedNow==true) return; else originalElement.usedNow=true; this.goToggle(options,dimension,position); } options.addToSize = new Object(); if (goResize) this.goResize(options,dimension); if(goOpacity) this.goOpacity(options); if (goMove) this.goMove(options,position); if (goResize || goOpacity) this.start(options); }, initToggle: function(index){ if (index!=null) toggleHash[index].usedNow=false; }, goToggle: function(options,dimension,position){ index = options.toggleIndex originalElement = toggleHash[index]; if (originalElement==null) { toggleHash[index] = new Array(dimension,position,this.element.getStyle('opacity'),this.element.getStyle('z-index')); } else if (!toggleHash[index].isInitPosition) { options.resize = new Array('fixed:' + originalElement[0].width +':'+originalElement[0].height); options.move = new Array('fixed:' + originalElement[1][0] +':'+originalElement[1][1]); options.opacity= originalElement[2]; this.element.style.zIndex = originalElement[3]; toggleHash[index].isInitPosition = true; } else toggleHash[index].isInitPosition = false; }, goResize: function(options,dimension) { this.originalSize = new Object(); options.resize.each( function(szd) { tmp = szd.split(':'); if ((tmp[0]=='all') || (tmp[0]=='y')){ options.addToSize.changeY = true; options.addToSize.y = parseInt(((tmp[0]=='y')?tmp[1]:tmp[2])); } if ((tmp[0]=='all') || (tmp[0]=='x')){ options.addToSize.changeX = true; options.addToSize.x = parseInt(tmp[1]); } if (tmp[0]=='fixed') { options.addToSize.changeX = true; options.addToSize.changeY = true; options.addToSize.x = parseInt(tmp[1]) - dimension.width; options.addToSize.y = parseInt(tmp[2]) - dimension.height; } } ); this.originalSize.x = dimension.width; this.originalSize.y = dimension.height; }, goMove: function(options,position) { var x = 0; var y = 0; var duration = 0.3; options.move.each( function(szd) { tmp = szd.split(':'); if ((tmp[0]=='all') || (tmp[0]=='y')){y = parseInt(((tmp[0]=='y')?tmp[1]:tmp[2]));} if ((tmp[0]=='all') || (tmp[0]=='x')){x = parseInt(tmp[1]);} if (tmp[0]=='fixed') { x = parseInt(tmp[1]) - position[0]; y = parseInt(tmp[2]) - position[1]; } } ); new Effect.Move(this.element,{x:x,y:y, afterFinish: this.initToggle(options.toggleIndex)}); }, goOpacity: function(options){ this.originalOpacity = parseFloat(this.element.getStyle('opacity')); options.changeOpacity = true; options.addTOpacity = parseFloat(options.opacity) - this.originalOpacity; }, setOpacity: function(opacity) { this.element.style.opacity =''+opacity; this.element.style.filter = 'alpha(opacity='+(opacity*100)+')'; }, setup: function() { if(!this.element.visible()) { this.cancel(); return; } }, update: function(position) { if(this.options.addToSize.changeX) this.element.setStyle({width: this.originalSize.x+(this.options.addToSize.x*position)+'px'}); if(this.options.addToSize.changeY) this.element.setStyle({height: this.originalSize.y+(this.options.addToSize.y*position)+'px'}); if(this.options.changeOpacity) this.setOpacity(this.originalOpacity+(this.options.addTOpacity*position)); }, finish: function(){ if(this.options.addToSize.changeX) this.element.setStyle({width: this.originalSize.x+this.options.addToSize.x+'px'}); if(this.options.addToSize.changeY) this.element.setStyle({height: this.originalSize.y+this.options.addToSize.y+'px'}); if (this.options.toggleIndex!=null) toggleHash[this.options.toggleIndex].usedNow=false; if(this.options.changeOpacity) { this.setOpacity(this.originalOpacity+this.options.addTOpacity); // Initialize z-index if layer is hidden (opacity = 0.0) if((this.originalOpacity+this.options.addTOpacity)==0.0) this.element.style.zIndex = 1; } } }); function loadHiddenResult(e, style, slideId) { var e = e || window.event; e.cancelBubble = true; if (e.stopPropagation) { e.stopPropagation(); } var slider = document.getElementById(slideId); if (style == "down") { Effect.SlideDown(slideId); } else if (style == "up") { Effect.SlideUp(slideId); } }