YUI({combine: true, timeout: 10000}).use('node', 'scrollview', 'scrollview-paginator', function (Y) { // Scroll View function updateIndicator(e){ var scrollView = e.currentTarget, page = scrollView.pages.get('index'), last = scrollView.pages.get('total') - 1, prev = Y.one('#leftbutton span'), next = Y.one('#rightbutton span'), indicator = Y.all('#scrollindicator ul li'); indicator.removeClass('on'); indicator.item(page).addClass('on'); if(page === 0){ // first page prev.addClass('unselectable'); }else{ prev.removeClass('unselectable'); }; if(page === last){ // last page next.addClass('unselectable'); }else{ next.removeClass('unselectable'); }; Y.log("Current Page: " + (page + 1).toString()); }; function initScrollView() { var content, scrollView = new Y.ScrollView({ id: 'scrollview', srcNode: '#navtools-scroller', width : '896px', flick: 0 }); scrollView.plug(Y.Plugin.ScrollViewPaginator, { selector: 'div.page' }); scrollView.render(); Y.one('#rightbutton').on('click', Y.bind(scrollView.pages.next, scrollView.pages)); Y.one('#leftbutton').on('click', Y.bind(scrollView.pages.prev, scrollView.pages)); content = scrollView.get("contentBox"); evtHandleScrollview = content.delegate("click", function(e) { // Prevent links from navigating as part of a scroll gesture if (Math.abs(scrollView.lastScrolledAmt) > 2) { e.preventDefault(); Y.log("Link behavior suppressed.") } }, "a"); content.delegate("mousedown", function(e) { // Prevent default anchor drag behavior, on browsers which let you drag anchors to the desktop e.preventDefault(); }, "a"); scrollView.on('scrollEnd', updateIndicator); }; function setCookie(e){ var now = new Date(), expdate = new Date(now.getTime() + (315360000000)); // 10 years in milliseconds document.cookie = "EUCookieLawAccepted=1;expires=" + expdate.toGMTString(); e.preventDefault(); Y.one('#cookies').remove(true); Y.log('cookie set', 'info'); }; // Initialisation var evtHandleScrollview; function init(){ Y.one('body').addClass('yui3-skin-night'); if(Y.one('#navtools-scroller')){ initScrollView(); }; if(Y.one('#cookies-accepted')){ Y.on('click', setCookie, '#cookies-accepted'); }; }; Y.on("domready", init); });