/* * Create the splitter, set the viewport size, and set the position of the scrollbar to the first item. */ Drupal.behaviors.calendarSetScroll = function (context) { // Make multi-day resizable - stolen/borrowed from textarea.js $('.header-body-divider:not(.header-body-divider-processed)').each(function() { var divider = $(this).addClass('header-body-divider-processed'); var start_y = divider.offset().top; // Add the grippie icon $(this).prepend('
').mousedown(startDrag); function startDrag(e) { start_y = divider.offset().top; $(document).mousemove(performDrag).mouseup(endDrag); return false; } function performDrag(e) { var offset = e.pageY - start_y; var mwc = $('#multi-day-container'); mwc.height(Math.max(0,mwc.height() + offset)); start_y = divider.offset().top; return false; } function endDrag(e) { $(document).unbind("mousemove", performDrag).unbind("mouseup", endDrag); } }); $('.single-day-footer:not(.single-day-footer-processed)').each(function() { var divider = $(this).addClass('single-day-footer-processed'); var start_y = divider.offset().top; // Add the grippie icon $(this).prepend('
').mousedown(startDrag); function startDrag(e) { start_y = divider.offset().top; $(document).mousemove(performDrag).mouseup(endDrag); return false; } function performDrag(e) { var offset = e.pageY - start_y; var sdc = $('#single-day-container'); sdc.height(Math.max(0,sdc.height() + offset)); start_y = divider.offset().top; return false; } function endDrag(e) { $(document).unbind("mousemove", performDrag).unbind("mouseup", endDrag); } }); // Size the window calendar_resizeViewport(); } // Scroll the viewport to the first item function calendar_scrollToFirst() { if ($('div.first_item').size() > 0 ) { var y = $('div.first_item').offset().top - $('#single-day-container').offset().top ; $('#single-day-container').scrollTop(y); } } // Size the single day view function calendar_resizeViewport() { // Size of the browser window var viewportHeight = window.innerHeight ? window.innerHeight : $(window).height(); var top = $('#single-day-container').offset().top; $('#multi-day-container').height(75); // Give it a 20 pixel margin at the bottom $('#single-day-container').height(Math.max(400,viewportHeight - top - 20)); }