(function($){ $.proxy = function(fn, that, args){ return function(){ fn.apply(that, args); }; }; jQuery.extend({ hideOldImage: function(cont) { cont.find('img').animate({'top':'-500px'},100).end(); } }); function showNewImage(data) { actImage.html(data).dequeue().find('.teaser').find('img').css({'bottom':'-500px'}).animate({ 'bottom':'0' },50); initSwitchLinks(); }; function loadNewImage(container, switcher) { $.hideOldImage(container); var img = $(switcher); var url = img.attr('rel'), paramBegin = url.indexOf('?'), baseUrl = (paramBegin > -1) ? url.substr(0, paramBegin + 1) : url, params = (paramBegin > -1) ? url.substr(paramBegin + 1) : {}; ; baseUrl = baseUrl + params[0]; params.view = params[0]; jQuery.ajax({ url: baseUrl, data: params, success: function(){ container.delay(50).queue($.proxy(showNewImage, switcher, arguments)); } }); return false; } function initSwitchLinks(){ var empLinks = $('div.interactive .controls a'); if (empLinks.length) { empLinks.unbind('click'); empLinks.click(function(e) { var button = $(this); actImage = button.closest('.photoGallery'); loadNewImage(actImage, button); return false; }); } }; $.imgswitcher = function(){ if (!$('div.interactive .stage-design .teaser').length) { return; } if($('.photoGalleryWrapper').length){ initSwitchLinks(); } }; })(jQuery);