(function($){ ////CONFIGURATION var WIDTH_BOOK //WIDTH BOOK var HEIGHT_BOOK //HEIGHT BOOK var BOOK_SLUG; //SLUG FOR BOOK var WINDOW_WIDTH; //WIDTH AREA [px] var WINDOW_HEIGHT; //HEIGHT AREA [px] var ZOOM_STEP //STEPS SIZE FOR ZOOM var ZOOM_DOUBLE_CLICK_ENABLED; //ENABLED DOUBLE CLICK FOR ZOOM var ZOOM_DOUBLE_CLICK; //ZOOM FOR DOUBLE CLICK var GOTOPAGE_WIDTH; //WIDTH FOR INPUT FIELD var IS_AS_TEMPLATE //IF THIS TEMPLATE var TOOL_TIP_VISIBLE //TOOLTIP VISIBLE var SWF_ADDRESS //SWF ADDRESS var TOOLS_VISIBLE //TOOLBAR VISIBLE var RTL //RIGHT TO LEFT var rendered var pdfDoc var CONFIG /* = event ready --------------------------*/ $(document).ready(function(e) { ///redirect from load_book_lightbox ( change attributes href to onClick ) $('a[href]').each(function(index, element) { var el=$(element); var href=el.attr('href'); if ( href.indexOf("load_book_lightbox") >= 0 ) { el.attr('onClick',href); el.removeAttr('href'); el.css('cursor','pointer'); } }); if( $('#fb5-ajax').attr('data-cat') == undefined ){ ///as lightbox Ajax_v5.start_book_lightbox(); }else{ //as shortcodes if( $('#fb5-ajax').hasClass('fb5-fullbrowser') ){ $("#fb5-ajax").detach().appendTo('body') } Ajax_v5.start_book_shortcode(); } if( general.browser_firefox() ) { console.log('book:version jquery = '+$.fn.jquery); } }); /* = Ajax load --------------------------*/ var Ajax_v5 = { all_books_slug:"", speed_bcg:function(books_){ if( $('#fb5-ajax').attr('data-template') == "true"){ Ajax_v5.init_from_shortcode( $('#fb5-ajax').attr('data-cat') ); return; } /* var _cur_book=Ajax_v5.auto_select_book( books_ ); var width=fb5_books[_cur_book].w//data_bcg[0] var height=fb5_books[_cur_book].h//data_bcg[1] var tools_height=fb5_books[_cur_book].toolsHeight//data_bcg[2]; var bcg=fb5_books[_cur_book].bcg//data_bcg[3]; var opacity=fb5_books[_cur_book].opacity var bcg_div=$('#fb5-ajax .fb5-bcg-book'); bcg_div.css('opacity',opacity); if ( bcg.match(/\..{3}$/) !=null ){ bcg_div.css('background-image','url("'+bcg+'")'); }else{ bcg_div.css('background-color',bcg); } $('#fb5-ajax').waitForImages({ waitForAll: true, finished: function() { if( $('#fb5-ajax').attr('data-cat') == undefined ){ ///as lightbox Ajax_v5.init_book(books_) }else{ Ajax_v5.init_from_shortcode( $('#fb5-ajax').attr('data-cat') ); } } }); Book_v5.book_area(width,height,tools_height); /*/ if( $('#fb5-ajax').attr('data-cat') == undefined ){ ///as lightbox Ajax_v5.init_book(books_) }else{ Ajax_v5.init_from_shortcode( $('#fb5-ajax').attr('data-cat') ); } }, start_book_shortcode:function(){ var books=$('#fb5-ajax').attr('data-cat') Ajax_v5.speed_bcg( books ); }, start_book_lightbox:function(){ ///lightbox from deeplinking var cur_book=$.address.pathNames()[0] if(cur_book!=undefined&&cur_book!='book_close'){ ///search function load_book_lightbox in body document var string=$('body').html(); var regex = /load_book_lightbox\(\'(.+?)\'(,(.+?))?\)/g; var array=string.match(regex); $.each(array, function( index, value ) { var regex=/load_book_lightbox\(\'(.+?)\'(,(.+?))?\)/; var books=value.match(regex)[1]; if( books.indexOf(cur_book) >=0 ){ Ajax_v5.init_from_function(books) return false; } }); }else{ //autostart lightbox var string=$('body').html(); var regex = /load_book_lightbox\(\'(.+?)\',(true)\)/; var results=string.match( regex ) if( results != null ){ Ajax_v5.init_from_function(results[1]) } } }, init_from_shortcode:function(books_){ if(books_!=undefined){ this.init_book( books_ ); } }, init_from_function:function(books_){ $("body").append("
") Ajax_v5.speed_bcg( books_ ); $('body,html').addClass('remove_scroll'); }, auto_select_book:function(books_){ var categories=books_.split(","); //array var address=$.address.pathNames()[0] //set category var cat=categories[0]; $.each(categories, function(index, value) { if(value==address){ cat=value; } }); return cat; }, init_book:function(books_){ this.all_books_slug=books_; var categories=books_.split(","); //array var address=$.address.pathNames()[0] //set category var cat=categories[0]; $.each(categories, function(index, value) { if(value==address){ cat=value; } }); //set background this.load_config( cat ); }, isPdf_js:function(){ if( Book_v5.getConfig('pdf_type') == "js" && Book_v5.getConfig('pdfjs_source').length > 0 ){ return true; }else{ return false; } }, get_ajax_url:function(){ var is_as_template=$('#fb5-ajax').attr('data-template'); if( is_as_template == "true" ){ var url=$('#fb5-ajax').attr('ajax_url'); }else{ var url=ajax_object.ajax_url; } return url; }, addConfigData:function(config_){ CONFIG={}; //create object with configuration if( $('#fb5-ajax').attr('data-cat') == undefined ){ ///lightbox var config=config_; }else{ //shortcode var config='#config'; } $(config).find('ul li').each(function(index, element) { var _li=$(element); var _key=_li.attr('key'); var _value=_li.text(); CONFIG[_key]=_value }); ///// var pdf_url=Book_v5.getConfig('pdf_url'); if( pdf_url.length ){ Book_v5.setConfig('pdf_type','js'); Book_v5.setConfig('pdfjs_source',pdf_url); } }, check_pdf:function(cat_){ //if PDF.js if( Book_v5.getConfig('pdf_type') == "js" && Book_v5.getConfig('pdfjs_source').length > 0 ){ var url=Book_v5.getConfig('pdfjs_source'); var is_chrome = navigator.userAgent.toLowerCase().indexOf('chrome') > -1; if(!is_chrome ){ PDFJS.disableWorker = true; } PDFJS.workerSrc = 'js/pdf.worker.js' PDFJS.getDocument(url).then(function getPdfFile(_pdfDoc) { pdfDoc = _pdfDoc; var pdf_length=pdfDoc.numPages; Book_v5.pdf_length= pdf_length; pdfDoc.getPage(1).then(function(page) { var scale=Book_v5.getConfig('pdf_scale'); var viewport = page.getViewport(scale); var w=viewport.width; var h=viewport.height; Book_v5.setConfig('page_width',w); Book_v5.setConfig('page_height',h); Ajax_v5.load_book(cat_) }) }); }else{ ///not pdf.js Ajax_v5.load_book(cat_,[]) } }, load_config:function(cat_){ //load config for flipbook if( $('#fb5-ajax').attr('data-cat') == undefined ){ ///lightbox var url_config $('a[onClick*=load_book_lightbox]').each(function(index, element) { var el=$(element); var _onClick=el.attr('onClick'); var regex=/load_book_lightbox\(\'(.+?)\'(,(.+?))?\)/; var book_name=_onClick.match(regex)[1]; if(book_name==cat_){ url_config=el.attr('data-config'); } }); $.ajax({ url:url_config, success: function(config_) { //add config Ajax_v5.addConfigData(config_); //event added config Ajax_v5.check_pdf(cat_) } }) }else{ //shortcode //add config Ajax_v5.addConfigData(); //event added config Ajax_v5.check_pdf(cat_) } }, load_book:function(cat_){ if( general.browser_firefox() ) { console.log("book:ajax load cat="+cat_); } var cat=cat_; var url; ////BEGIN get URL from html code if( $('#fb5-ajax').attr('data-cat') == undefined ){ ///lightbox $('a[onClick*=load_book_lightbox]').each(function(index, element) { var el=$(element); var _onClick=el.attr('onClick'); var _data_content=el.attr('data-content'); var regex=/load_book_lightbox\(\'(.+?)\'(,(.+?))?\)/; var book_name=_onClick.match(regex)[1]; if( book_name==cat_ ){ url=_data_content; } }); $.ajax({ url: url, fb5:true, dataType: 'html', async: true, beforeSend: function() { }, complete:function(){ $('#fb5').attr('data-current',cat_); Book_v5.ready(); }, success: function(data, textStatus, xhr) { $('#fb5-ajax').append(data).waitForImages({ waitForAll: true, finished: function() { if( general.browser_firefox() ) { console.log('book:load all images in ajax'); } Book_v5.load() } }); }, error: function(xhr, textStatus, errorThrown) { alert("error load book / "+errorThrown); } }); }else{ //shortcode $('#fb5').attr('data-current',cat_); Book_v5.ready(); $('#fb5-ajax').waitForImages({ waitForAll: true, finished: function() { if( general.browser_firefox() ) { console.log('book:load all images in ajax'); } Book_v5.load() } }); } } } /* = event ajaxSuccess --------------------------*/ $(document).ajaxSuccess( function(event, xhr, settings){ if( settings.fb5==true ){ //Book_v5.ready(); //Book_v5.renderPage(1); } }); /* = event ajaxComplete --------------------------*/ $(document).ajaxComplete(function(event, xhr, settings){ if( settings.fb5==true ){ //Book_v5.load(); } }) /* = show Book --------------------------*/ load_book_lightbox=function(books_){ Ajax_v5.init_from_function(books_); } /* = show Book --------------------------*/ function clean(obj) { rendered=[] var it; while(obj.children().length) { it = obj.children(":eq(0)").unbind().removeData().remove(); clean(it); } $(document).unbind('mousemove'); $(document).unbind('touchmove'); $(document).unbind('mouseup'); $(document).unbind('touchend'); } /* = set Page --------------------------*/ setPage=function(nr_) { if( SWF_ADDRESS == "true" ){ var results= $("#fb5-deeplinking ul li[data-page="+nr_+"]"); var address = results.attr('data-address'); setAddress( $('#fb5').attr('data-current')+"/"+address); }else{ $('#fb5-book').turn('page',nr_); } }; /* = set Address --------------------------*/ setAddress=function(address_) { $.address.value( address_ ); }; /* = show lightbox with video --------------------------*/ youtube=function(id_,w_,h_) { var w=w_; var h=h_; var id=id_; $('body').prepend('
'); $(window).trigger('orientationchange'); $("#v5_lightbox").click(function(){ $(this).children().hide(); $(this).remove(); Book_v5.zoomAuto(); }) $("#v5_lightbox").css('display','block'); }; /* = prototype --------------------------*/ Number.prototype.rtl=function() { return (Book_v5.getLength()+1)-this.valueOf(); } /* = local general function --------------------------*/ var general={ browser_firefox:function(){ if(navigator.userAgent.toLowerCase().indexOf('firefox') > -1) { return true; }else{ return false; } } } /* = FlipBook v5 --------------------------*/ var Book_v5 = { toolsHeight:0, //tools height zoom:1, //zoom page_padding:0.1, paddingL:0.03, paddingR:0.05, paddingT:0.02, paddingB:0.02, width_slider:0, inter_font:0, currentPage:0, ready: function(){ if( general.browser_firefox() ) { console.log('book:ready'); } //lightbox if( $('#fb5-ajax').attr('data-cat') == undefined ){ //$('#fb5-ajax').addClass('fb5-lightbox'); //$('#fb5-ajax').addClass('fb5-fullbrowser'); $('#fb5-close-lightbox').bind('click',function(e){ setTimeout(function(){ $('body,html').removeClass('remove_scroll'); },100); if( $('#fb5-ajax').hasClass('fullScreen') ){ Navigation_v5.full_screen(); //return false; } setTimeout( function(){ $(this).remove(); //remove button close clean( $('#fb5') ); //clean book html $('#fb5-ajax').remove(); //remove container book window.location.hash="#book_close"; //remove hash Book_v5.load_one_thumbs=null; },1); }) } //Configuration WIDTH_BOOK=Number( Book_v5.getConfig('page_width') )*2; HEIGHT_BOOK=Number( Book_v5.getConfig('page_height') ); ZOOM_STEP=Number( Book_v5.getConfig('zoom_step') ); ZOOM_DOUBLE_CLICK_ENABLED=( Book_v5.getConfig('double_click_enabled') ); ZOOM_DOUBLE_CLICK=Number( Book_v5.getConfig('zoom_double_click') ) GOTOPAGE_WIDTH=Number( Book_v5.getConfig('gotopage_width') ); TOOL_TIP_VISIBLE=( Book_v5.getConfig('tooltip_visible') ); SWF_ADDRESS=( Book_v5.getConfig('deeplinking_enabled') ); RTL=Book_v5.getConfig('rtl'); IS_AS_TEMPLATE= $('#fb5-ajax').attr('data-template') == "true" ? true : false; TOOLS_VISIBLE=( Book_v5.getConfig('toolbar_visible') ); if( TOOLS_VISIBLE == "true" ){ Book_v5.toolsHeight=50; }else{ Book_v5.toolsHeight=0; } ////add section links for page if( Book_v5.getConfig('pdf_type')!="js" ){ $('#fb5-book > div').each(function(index, element) { var links=$('#links div[data-page="'+(index+1)+'"]'); if( links.length ){ links= links.parent().html(); $(element).append(links); } }); } /////enabled/disabled lazy loading for thumbs if( Book_v5.getConfig('lazy_loading_thumbs')!='true' && Book_v5.getConfig('pdf_type')!="js" ){ $('#fb5-all-pages li img').each(function(index, element) { var el=$(element); var src=el.attr('data-src'); if( el.attr('src')==undefined ){ el.attr('src',src); } }); } /////enabled/disabled lazy loading for pages if( Book_v5.getConfig('pdf_type')!="js" ){ if( Book_v5.getConfig('lazy_loading_pages')=="true" ){ /*lazy loading for pages enabled you need to load a previously two current page ( change attributes data to src ) /*/ //get current pages var address=$.address.pathNames()[1]; var results=$('#fb5-deeplinking ul li[data-address='+address+']'); var nrPage=new Number(results.attr('data-page')) //nr page from deeplinking var left=Book_v5.getCurrentPages(nrPage).left; var right=Book_v5.getCurrentPages(nrPage).right; if( left != null ){ //current left page var left_div=$('#fb5-book > div').eq(left-1); //change data-background-image to background-image var data_background_image=left_div.attr('data-background-image'); if( data_background_image!="" ){ left_div.css('background-image', 'url("'+data_background_image+'")'); } //change data to src for image in description page $('.fb5-page-book img',left_div).each(function(index, element) { var data_src=$(element).attr('data-src'); $(element).attr('src',data_src); }); } if( right != null ){ //current right page var right_div=$('#fb5-book > div').eq(right-1); //change data-background-image to background-image var data_background_image=right_div.attr('data-background-image'); if( data_background_image!="" ){ right_div.css('background-image', 'url("'+data_background_image+'")'); } //change data to src for image in description page $('.fb5-page-book img',right_div).each(function(index, element) { var data_src=$(element).attr('data-src'); $(element).attr('src',data_src); }); } }else{ /*lazdy loading for pages disabled you need to replace the data-src attribute to src /*/ //change attributes data-background-image to background-image $('#fb5-book > div').each(function(index, element) { var page_div=$(element); var data_background_image=page_div.attr('data-background-image'); if( data_background_image!="" && data_background_image!=undefined ){ page_div.css('background-image', 'url("'+data_background_image+'")'); } }); //change data to src for image in description page $('.fb5-page-book img').each(function(index, element) { var data_src=$(element).attr('data-src'); $(element).attr('src',data_src); }); } } ////generate html code ( if use PDF.js ) if( Book_v5.getConfig('pdf_type')=="js" ){ $('#fb5-slider').empty(); ///remove all thumbs $('#fb5-book').empty(); ///remove all pages in book $('#fb5-deeplinking ul').empty(); //remove all data from deeplinking var _pdf_length=Book_v5.pdf_length; for(var i=1;i<=_pdf_length;i++){ //add thumbs var thumb='
  • ' $('#fb5-slider').append(thumb); //add pages var links=$('#links div[data-page="'+i+'"]'); if( links.length ){ links= links.parent().html(); }else{ links=''; } var page='
    '+links+'
    '; $('#fb5-book').append(page); //add deep linking var left_a var right_a if(i==1){ left_a=1; right_a=''; }else if(i==_pdf_length){ left_a=''; right_a=_pdf_length; }else if(i%2==0){ left_a=i; right_a="-"+(i+1) }else{ left_a=i-1 } var address=left_a+right_a; var dep='
  • '; $('#fb5-deeplinking ul').append(dep); } } //add class 'even' and 'odd' using jQuery if( RTL == "false" ){ $("#fb5-book > div:odd").addClass("odd"); $("#fb5-book > div:even").addClass("even"); }else{ $("#fb5-book > div:odd").addClass("even"); $("#fb5-book > div:even").addClass("odd"); } //reverse book $( $('#fb5-book>div').get().reverse() ).each(function(index,element) { var item=$(element); var meta=$('div.fb5-meta',this); ///for only reverse if( RTL == "true" ){ //reverse $(this).appendTo( $(this).parent() ); //reorder description and number var desc=$('span.fb5-description',item); if( desc.index() ==0 ){ desc.appendTo(meta); }else{ desc.prependTo(meta); } ///for double if( item.hasClass('fb5-double') ){ if( item.hasClass('fb5-first') ){ item.removeClass('fb5-first').addClass('fb5-second'); }else if( item.hasClass('fb5-second') ){ item.removeClass('fb5-second').addClass('fb5-first'); } } //add data for meta if( index%2!=0 ){ meta.addClass('fb5-left'); }else{ meta.addClass('fb5-right'); } }else{ //add data for meta if( index%2==0 ){ meta.addClass('fb5-left'); }else{ meta.addClass('fb5-right'); } } }); ///about show $('#fb5-about').css('display','block'); //event resize $(window).bind('orientationchange resize', function(event){ Book_v5.book_area(); Book_v5.zoomAuto(); Book_v5.book_position(); Book_v5.dragdrop_init(); Book_v5.resize_page() Book_v5.center($('#v5_lightbox')); Book_v5.center_icon(); Book_v5.center_icon(); Book_v5.media_queries() }); ////end WINDOW_WIDTH=$('#fb5').width(); WINDOW_HEIGHT=$('#fb5').height(); Book_v5.resize_input_text() Book_v5.book_area(); $("#fb5").css('opacity','1'); /* SCALE PAGE IN FLIPBOOK /*/ //size default for class .fb5-cont-page-book $("#fb5 .fb5-cont-page-book").css('width',(WIDTH_BOOK/2)+'px'); $("#fb5 .fb5-cont-page-book").css('height',HEIGHT_BOOK+'px'); $("#fb5 .fb5-cont-page-book").css({'transform-origin':'0 0','-ms-transform-origin':'0 0','-webkit-transform-origin':'0 0'}); //size default for class .page_book var paddingL=WIDTH_BOOK*this.paddingL; var paddingR=WIDTH_BOOK*this.paddingR; var paddingT=WIDTH_BOOK*this.paddingT; var paddingB=WIDTH_BOOK*this.paddingB; $("#fb5 .fb5-page-book").css('width',(WIDTH_BOOK/2-(paddingL+paddingR))+'px'); $("#fb5 .fb5-page-book").css('height',(HEIGHT_BOOK-(paddingT+paddingB))+'px'); /* SCALE ABOUT near FLIPBOOK /*/ $("#fb5 #fb5-about").css('width',(WIDTH_BOOK/2)+'px'); $("#fb5 #fb5-about").css('height',HEIGHT_BOOK+'px'); if(RTL=='true'){ $("#fb5 #fb5-about").css('right','0px'); $("#fb5 #fb5-about").css({'transform-origin':'right 0','-ms-transform-origin':'right 0','-webkit-transform-origin':'right 0'}); }else{ $("#fb5 #fb5-about").css({'transform-origin':'0 0','-ms-transform-origin':'0 0','-webkit-transform-origin':'0 0'}); } //run key this.key_down(); //show and hide full screen icon if(!$.support.fullscreen){ $('li a.fb5-fullscreen').parent(this).remove(); } ///redirect from youtube and setPage ( change attributes href to onClick ) $('#fb5 a[href]').each(function(index, element) { var el=$(element); var href=el.attr('href'); if ( href.indexOf("youtube") >= 0 || href.indexOf("setPage") >= 0 ) { el.attr('onClick',href); el.removeAttr('href'); } }); /////add remove scrollbar //if( $('#fb5-ajax').hasClass('fb5-fullbrowser') ){ //$('body,html').addClass('remove_scroll'); //} }, load: function(){ if( general.browser_firefox() ) { console.log('book:load'); } //show class .links if( Book_v5.getConfig('lazy_loading_pages')=="false" ){ $('.links').css('display','block'); } //preloader hide if( Book_v5.getConfig('pdf_type')!="js" ){ $('#fb5 .fb5-preloader').css('display','none'); } $.address.strict(false) $.address.autoUpdate(true) $('#fb5-container-book').show(); Book_v5.init(); Book_v5.zoomAuto(); Book_v5.book_position(); Book_v5.dragdrop_init(); Navigation_v5.init(); Book_v5.resize_page(); clearInterval(Book_v5.inter_font); Book_v5.inter_font=setInterval( function(){ $('#fb5-center ul li').each(function(index, element) { var el=$(element); if(el.width()>0){ if( TOOLS_VISIBLE == "true" ){ $("#fb5 #fb5-footer").css('opacity','1'); } //center icon Book_v5.center_icon(); Book_v5.center_icon(); Book_v5.media_queries() clearInterval(Book_v5.inter_font); return false; } }); },100); }, renderPage:function(num){ //$('#fb5 .fb5-preloader').css('display','block'); var scale = parseInt(Book_v5.getConfig('pdf_scale')); var canvasID = 'canv' + num; var canvas = document.getElementById(canvasID); if (canvas == null) return; var ctx = canvas.getContext('2d'); // Using promise to fetch the page pdfDoc.getPage(num).then(function(page) { var viewport = page.getViewport(scale); canvas.height = viewport.height; canvas.width = viewport.width; // Render PDF page into canvas context var renderContext = { canvasContext: ctx, viewport: viewport }; //render var renderTask=page.render(renderContext); renderTask.promise.then( function pdfPageRenderCallback() { //preloader hide $('#fb5 .fb5-preloader').css('display','none'); } ); }); }, renderThumb:function(num){ console.log("render Thumb = "); //add el canvas using jquery var newCanvas = $('', {id:'canvas_thumb'+num}); var target=$('#fb5-slider li[class='+num+']'); target.append(newCanvas) ///calculate scale var scale_book = parseInt(Book_v5.getConfig('pdf_scale')); var h=parseInt( Book_v5.getConfig('page_height') ); var scale = 228*scale_book/h; var canvasID = 'canvas_thumb' + num; var canvas = document.getElementById(canvasID); if (canvas == null) return; var ctx = canvas.getContext('2d'); // Using promise to fetch the page pdfDoc.getPage(num).then(function(page) { var viewport = page.getViewport(scale); canvas.height = viewport.height; canvas.width = viewport.width; // Render PDF page into canvas context var renderContext = { canvasContext: ctx, viewport: viewport }; page.render(renderContext); }); }, getConfig:function(attr_){ return CONFIG[attr_]; }, setConfig:function(attr_,value_){ CONFIG[attr_]=value_; }, getLength:function(){ return $('#fb5-deeplinking ul li').length; }, center_icon:function(){ //icon tools position var icon=$('#fb5-center'); var all_width=$('#fb5').width(); var left_w=$('#fb5-logo').width(); var center_w=$('#fb5-center').width(); var right_w=$('#fb5-right').width(); var posX=all_width/2-center_w/2; icon.css('left',posX+'px'); }, media_queries:function (){ //center var position_center=$('#fb5-center').position(); var xMax_center=position_center.left+$('#fb5-center').width(); var xMin_center=position_center.left //right var position_right=$('#fb5-right').position(); var xMin_right=position_right.left; //left var position_left=$('#fb5-logo').position(); var xMax_left=position_left.left+$('#fb5-logo').width(); var source=$('#fb5 #fb5-logo,#fb5 #fb5-right'); if( xMax_center > xMin_right || xMax_left > xMin_center ){ source.css('visibility','hidden'); source.css('opacity','0'); }else{ source.css('visibility','visible'); source.css('opacity','1'); } }, autoMarginB:function(){ return Math.round( $('#fb5').height()*0.02 ) }, autoMarginT:function(){ return Math.round( $('#fb5').height()*0.02 ) }, autoMarginL:function(){ return Math.round( $('#fb5').width()*0.02 ) }, autoMarginR:function(){ return Math.round( $('#fb5').width()*0.02 ) }, change_address:function(){ var th=this; if( general.browser_firefox() ) { console.log("book:change address") } //$('h1.entry-title').append(' /change ') ///for slug var slug=$.address.pathNames()[0]; if(th.tmp_slug!=undefined&&slug!=th.tmp_slug){ //setAddress('book5-1'); //setTimeout(function(){ //window.location.reload(); //},1); if( general.browser_firefox() ) { console.log("book:change book") } //$('h1.entry-title').append(' /change book ') //$("#fb5").remove(); // Ajax_v5.ready() return; } th.tmp_slug=slug; //normal var address=$.address.pathNames()[$.address.pathNames().length-1]; var results=$('#fb5-deeplinking ul li[data-address='+address+']'); var nrPage=results.attr('data-page') if(RTL=='true'){ var nrPage = ( Book_v5.getLength()+1 ) -results.attr('data-page'); } //error nr page if(!nrPage){ if(RTL=='true'){ nrPage=Book_v5.getLength(); }else{ nrPage=1; } } $('#fb5-book').turn('page',nrPage); Book_v5.resize_page(); }, getCurrentPages:function(page){ if(page%2==0){ var page_left=page var page_right=page+1 }else{ var page_right=page var page_left=page-1 } /////if current page is page oldf if(page_left==Book_v5.getLength()){ page_right=null } ////if current page is page first if(page_right==1){ page_left=null } return {left:page_left,right:page_right} }, init: function() { var th=this; //this.on_start = true; if( SWF_ADDRESS=="true" ){ /* = jQuery Addresss INIT --------------------------*/ var current_address=$.address.pathNames()[$.address.pathNames().length-1]; BOOK_SLUG=$.address.pathNames()[0]; var results=$('#fb5-deeplinking ul li[data-address='+current_address+']'); var nrPage = results.attr('data-page'); if(RTL=='true'){ var nrPage = ( Book_v5.getLength()+1 ) -results.attr('data-page'); } //error nr page if(!nrPage){ if(RTL=='true'){ nrPage=Book_v5.getLength(); }else{ nrPage=1; } } /* = jQuery Addresss CHANGE --------------------------*/ if(Book_v5.one_init_swf_address==null){ $.address.change(function(event) { th.change_address() }) } Book_v5.one_init_swf_address=1 } $('#fb5-book').turn({ display: 'double', duration: 600, acceleration: true, elevation:50, page:nrPage, when: { first: function(e, page) { $('.fb5-nav-arrow.prev').hide(); }, turned: function(e, page) { if (page > 1) { $('.fb5-nav-arrow.prev').fadeIn(); //$('#fb5-about').hide(); } if( (page==1&&RTL=='false') || ( page==$(this).turn('pages')&&RTL=='true') ){ $('#fb5-about').css('z-index',11); } if ( page < $(this).turn('pages') ) { $('.fb5-nav-arrow.next').fadeIn(); } ///add current number page var page1=page; if(RTL=="true"){ page1=Book_v5.getLength()-page+1; } var page2; if(page1>1&&page1').attr('src', src).load(function(){ element.css('background-image', 'url("'+src+'")'); //show class .links element.find('.links').css('display','block'); }); //for Firefox ( not load background image if display:none ) var el=element.parent() if( el.css('display')=='none' ){ el.css('opacity','0'); el.css('display','block') setTimeout(function(){ el.css('display','none'); el.css('opacity','1'); },1); } ////PDF.js }); }, corner_change:function(boolean_){ //$('#fb5-book').turn("disable",boolean_); }, center: function (lightbox_) { var iframe=$('iframe',lightbox_); var old_w=iframe.attr("width"); var old_h=iframe.attr("height"); iframe.css("position","absolute"); var stage_w=$(window).width(); var stage_h=$(window).height(); var delta_w=stage_w-old_w; var delta_h=stage_h-old_h if(delta_w').attr('src',src).load(function(){ el.css('opacity',0).animate({'opacity':1}); el.attr('src',src); Book_v5.setAutoWidthSlider() }); },index*200) } }); this.load_one_thumbs=1; } } ///load using PDF.js if( Book_v5.getConfig('pdf_type')=="js" ){ if(!this.load_one_thumbs2){ //for( var i=1;i<=Book_v5.pdf_length;i++){ var i=1; var inter_thumb=setInterval( function(){ Book_v5.renderThumb(i); i++; Book_v5.setAutoWidthSlider() if(i>Book_v5.pdf_length){ clearInterval(inter_thumb) } },i*200); //} this.load_one_thumbs2=1; } } ///height thumbs var cont_thumbs=$('#fb5-all-pages .fb5-container-pages'); var area_height=$('#fb5').height()-this.toolsHeight; var height_container=area_height*80/100; if(height_container>225){ height_container=225; } cont_thumbs.css('height',height_container+'px'); //position thumbs var _top=( (area_height/2) - ( (cont_thumbs.outerHeight())/2 ) ) cont_thumbs.css('top',_top+'px'); var self = this; Book_v5.setAutoWidthSlider(); $("#fb5-menu-holder").mousemove(function(e) { /////////////////////////////////////////// if ( $(this).width() < $("#fb5-slider").width() ) { var distance = e.pageX - $(this).offset().left; var percentage = distance / $(this).width(); var targetX = -Math.round(($("#fb5-slider").width() - $(this).width()) * percentage); $('#fb5-slider').animate({left: [targetX+"px",'easeOutCubic'] }, { queue:false, duration: 200 }); } }); //////////////////////SWIPE if(self.events_thumbs!=1){ $('#fb5-all-pages .fb5-container-pages').bind("touchstart", function(e) { $('#fb5-slider').stop(); //time self.time_start=new Date().getTime(); self.time_move_old=self.time_start; //road self.x_start = e.originalEvent.targetTouches[0].pageX; self.x_move=undefined; self.x_move_old=self.x_start; //remove default action e.preventDefault(e); }); $('#fb5-all-pages .fb5-container-pages').bind("touchmove", function(e) { //current round and time self.x_move = e.originalEvent.targetTouches[0].pageX; self.time_move=new Date().getTime(); //time - delta self.delta_t=new Date().getTime()-self.time_move_old; self.time_move_old=new Date().getTime(); //round- delta self.delta_s=self.x_move-self.x_move_old; self.x_move_old=self.x_move; //set position thumbs self.current_x=parseInt( $('#fb5-slider').css('left') ); var new_position=self.current_x+self.delta_s; if(new_position>0){ new_position=0 } var minX=-Book_v5.width_slider+WINDOW_WIDTH; if(new_position0){new_position=0} var minX=-Book_v5.width_slider+WINDOW_WIDTH; if(new_position 5){ $('#fb5-slider').animate({ left:[new_position+"px","easeOutCubic"] },t); } //redirect to page if( self.x_move==undefined ){ var page_index = $(this).attr('class'); var tmp = parseInt(page_index); setPage(tmp) setTimeout(function(){ close_overlay(); },200); } //e.preventDefault(e); }); //////////////////////end SWIPE self.events_thumbs=1; } ////redirect to click thumbs ( not work in IPhone ) if ( !Book_v5.isiPhone() ) { $('#fb5-slider li').bind('click',function() { self.x_start=null; self.x_move=null; $('#fb5-slider').stop(); var page_index = $(this).attr('class'); var tmp = parseInt(page_index); close_overlay(); setTimeout(function(){ setPage(tmp); },200); }) } $(document).on('click',function(e) { var target = $(e.target); if ( target.hasClass('fb5-overlay') ) close_overlay(); }); }, book_grab: function() { $('#fb5-container-book').css('cursor', '-webkit-grab'); $('#fb5-container-book').css('cursor', '-moz-grab'); }, book_grabbing: function() { $('#fb5-container-book').css('cursor', '-webkit-grabbing'); $('#fb5-container-book').css('cursor', '-moz-grabbing'); }, book_area: function(w_,h_,tools_){ var width_book=$('#fb5-ajax').width(); if( w_ ){ WIDTH_BOOK=Number(w_)*2; } if( h_ ){ HEIGHT_BOOK=Number(h_); } if( tools_ ){ this.toolsHeight=Number(tools_); } var width_book=$('#fb5-ajax').width(); ///if(IS_AS_TEMPLATE==true){ // var height=$(window).height()+"px"; //}else{ //var height=(width_book*HEIGHT_BOOK/WIDTH_BOOK)+this.toolsHeight+"px"; ///} if( $('#fb5-ajax').attr('data-template')=="true" || $('#fb5-ajax').hasClass('fb5-fullbrowser') || $('#fb5-ajax').hasClass('fullScreen') ){ //var height=$(window).height()+"px"; $('#fb5-ajax').removeAttr('style'); }else{ var height=(width_book*HEIGHT_BOOK/WIDTH_BOOK)+this.toolsHeight+"px"; $("#fb5-ajax").css('height',height); } }, ///current width book widthBook: function(){ return $('#fb5-container-book').width(); }, //current height book heightBook: function(){ return $('#fb5-container-book').height(); }, book_position: function() { var book_height = this.heightBook(); var book_width = this.widthBook(); var half_height = ( (book_height/2)+this.toolsHeight/2 ); var half_width = ( book_width/2 ); var x=$('#fb5').width()/2-half_width; var y=this.autoMarginT()+this.toolsHeight //$('#fb5').height()/2-half_height; $('#fb5-container-book').css({ left: x, top:y }); /*footer position/*/ var new_y=book_height+this.autoMarginT()+this.autoMarginB(); //$("#fb5-footer").css({top:new_y+'px'}); //$("#fb5").css('height',new_y+this.toolsHeight); }, touchstart_book:function(e){ this.book_x = e.originalEvent.touches[0].pageX; this.book_y = e.originalEvent.touches[0].pageY; }, touchmove_book:function(e){ //delta x this.book_x_delta=e.originalEvent.touches[0].pageX-this.book_x; this.book_x=e.originalEvent.touches[0].pageX; //delta y this.book_y_delta=e.originalEvent.touches[0].pageY-this.book_y; this.book_y=e.originalEvent.touches[0].pageY; var current_x= parseInt( $('#fb5-container-book').css('left') ) var current_y= parseInt( $('#fb5-container-book').css('top') ) var x=current_x+this.book_x_delta; var y=current_y+this.book_y_delta; $('#fb5-container-book').css( {left:x,top:y } ); e.preventDefault(); //var t=e.originalEvent.changedTouches[0].pageX //alert("move"); }, touchend_book:function(e){ }, drag: function(e) { var el = $(this); var dragged = el.addClass('draggable'); $('#fb5-container-book').unbind('mousemove'); $('#fb5-container-book').bind('mousemove', Book_v5.book_grabbing); var d_h = dragged.outerHeight(); var d_w = dragged.outerWidth(); var pos_y = dragged.offset().top + d_h - e.pageY; var pos_x = dragged.offset().left + d_w - e.pageX; dragged.parents().unbind("mousemove"); dragged.parents().bind("mousemove", function(e) { $('.draggable').offset({ top:e.pageY + pos_y - d_h, left:e.pageX + pos_x - d_w }); }); e.preventDefault(); }, drop: function() { Book_v5.book_grab(); $('#fb5-container-book').bind('mousemove', Book_v5.book_grab); $('#fb5-container-book').removeClass('draggable'); }, checkScrollBook: function () { var vertical=$('#fb5-book').height() > $("#fb5").height() - this.toolsHeight; var horizontal=$('#fb5-book').width() > $("#fb5").width() - (this.arrow_width*2); if ( vertical || horizontal ) { higherThanWindow = true; } else { higherThanWindow = false; } return higherThanWindow; }, dragdrop_init: function() { this.checkScrollBook(); if ( higherThanWindow == false ) { //mobile $('#fb5-container-book').unbind('touchstart', Book_v5.touchstart_book); $('#fb5-container-book').unbind('touchmove', Book_v5.touchmove_book); $('#fb5-container-book').unbind('touchend', Book_v5.touchend_book); $('#fb5-container-book').unbind('mousedown', Book_v5.drag); $('#fb5-container-book').unbind('mouseup', Book_v5.drop); $('#fb5-container-book').unbind('mousemove', Book_v5.book_grab); $('#fb5-container-book').unbind('mousemove', Book_v5.book_grabbing); $('#fb5-container-book').css('cursor', 'default'); } else { //mobile $('#fb5-container-book').bind('touchstart', Book_v5.touchstart_book); $('#fb5-container-book').bind('touchmove', Book_v5.touchmove_book); $('#fb5-container-book').bind('touchend', Book_v5.touchend_book); $('#fb5-container-book').bind('mousedown', Book_v5.drag); $('#fb5-container-book').bind('mouseup', Book_v5.drop); $('#fb5-container-book').bind('mousemove', Book_v5.book_grab); Book_v5.book_grab(); } Book_v5.resize_page(); }, scaleStart: function() { //if ( this.on_start == true ) { this.checkScrollBook(); //this.on_start = false; //} }, setSize:function(w_,h_){ $('#fb5-container-book').css({ width:w_, height:h_ }); $('#fb5-book').turn('size',w_,h_); }, zoomTo:function(zoom_){ this.zoom=zoom_; var new_width=(WIDTH_BOOK*this.zoom); var new_height=(HEIGHT_BOOK*this.zoom); this.setSize(new_width,new_height); this.scale_arrows() this.book_position(); Book_v5.dragdrop_init(); Book_v5.resize_page() }, zoomOriginal:function(){ this.zoomTo(1); }, scale_arrows:function(){ var HEIGHT_ARROW=136; var WIDTH_ARROW=34; var height_arrow=this.heightBook()*0.45; if( height_arrow > 136 ){ height_arrow=136; } var width_arrow= (height_arrow*WIDTH_ARROW)/HEIGHT_ARROW; this.zoom_arrows=height_arrow/HEIGHT_ARROW; $('.fb5-nav-arrow').css({'transform':'scale('+this.zoom_arrows+')','-ms-transform':'scale('+this.zoom_arrows+')','-webkit-transform':'scale('+this.zoom_arrows+')'}); }, zoomAuto: function() { Book_v5.scaleStart(); ////resize one var zoom=this.getAutoZoomBook(0); this.zoomTo( zoom ) ////resize two (with arrow) this.scale_arrows(); var arrow_width=$('.fb5-nav-arrow').width()*this.zoom_arrows; this.arrow_width=arrow_width; var zoom=this.getAutoZoomBook(arrow_width*2); //calculate optimal zoom /* zoom=Math.round(zoom * 100) / 100 var percent=zoom*100; if(percent%2!=0){ zoom=zoom-0.01; } /*/ this.zoomTo( zoom ) Book_v5.resize_page() }, getAutoZoomBook: function(arrow_width_){ var book_width=this.widthBook(); var book_height=this.heightBook(); var screen_width = $("#fb5").width()- ( this.autoMarginL()+this.autoMarginR() + (arrow_width_) ); var screen_height = $("#fb5").height()-this.toolsHeight-( this.autoMarginT()+this.autoMarginB() ) if(screen_width>WIDTH_BOOK){ screen_width=WIDTH_BOOK } if(screen_height>HEIGHT_BOOK){ screen_height=HEIGHT_BOOK } var scaleW=screen_width/book_width; var scaleH=screen_height/book_height; var scale=Math.min(scaleW,scaleH) var new_width = book_width*scale; var new_height = book_height*scale; var auto_zoom= new_width/WIDTH_BOOK return auto_zoom; }, zoomIn: function() { var zoom=this.zoom; this.zoomTo(zoom+ZOOM_STEP ); }, zoomOut: function() { this.zoomTo( this.zoom-ZOOM_STEP ); }, resize_page: function (){ /* RESIZE PAGE IN FLIPBOOK /*/ //resize class .fb5-page-book var page_width=this.widthBook()/2; var width_current_page=(page_width) var width_orginal_page= ( WIDTH_BOOK/2 ) var zoom= (width_current_page / width_orginal_page); $('.fb5-cont-page-book,.links').css({'transform':'scale('+zoom+')','-ms-transform':'scale('+zoom+')','-webkit-transform':'scale('+zoom+')'}); ///center class .fb5-page-book var paddingL=(this.widthBook()*this.paddingL)/zoom; var paddingR=(this.widthBook()*this.paddingR)/zoom; var paddingT=(this.widthBook()*this.paddingT)/zoom; $('#fb5 .odd.turn-page .fb5-page-book').css({'left':paddingL+'px','top':paddingT+'px'}); $('#fb5 .even.turn-page .fb5-page-book').css({'left':paddingR+'px','top':paddingT+'px'}); /* RESIZE ABOUT IN FLIPBOOK /*/ $('#fb5-about').css({'transform':'scale('+zoom+')','-ms-transform':'scale('+zoom+')','-webkit-transform':'scale('+zoom+')'}); //padding top var padding_top=(this.heightBook()*0.05); $('#fb5-about').css('top',padding_top+'px'); //height var height=(this.heightBook()-( padding_top*2) )/zoom; $('#fb5-about').css('height',height+'px'); //width var width=( (this.widthBook()/2)-( this.widthBook()*0.05 ) )/zoom; $('#fb5-about').css('width',width+'px'); //CENTER VERTICAL FOR HOME PAGE //var posY=$('.fb5-page-book').height()/2 - $('#fb5 #fb5-cover ul').innerHeight()/2; //$('#fb5 #fb5-cover ul').css('top',posY+'px'); }, resize_font: function($size_original_,path_){ var w=this.widthBook(); var size= ($size_original_*w)/WIDTH_BOOK; var new_size=Math.round(parseInt(size))+"px"; ///$(path_).css('font-size',new_size); ///$(path_).css('line-height',new_size); $(path_).css('font-size',$size_original_+"px"); $(path_).css('line-height',$size_original_+"px"); } } /* = Navigation --------------------------*/ var Navigation_v5 = { tooltip: function() { $('.fb5-menu li').filter(':not(.fb5-goto)').each(function() { var description = $('a', this).attr('title'); var tooltip = ''+description+''; $('a', this).removeAttr("title"); $(this).append(tooltip); }); $('.fb5-menu li').mousemove(function(e) { var tooltip=$('.fb5-tooltip', this); var offset = $(this).offset(); var relY = e.pageY - offset.top; var x2= e.pageX-$('#fb5').offset().left+tooltip.width() var width_area=$('#fb5').width() if( (x2+10)>width_area){ var orient="right"; }else{ var orient="left"; } if(orient=="left"){ var relX = e.pageX - offset.left-tooltip.width()/2; $('#fb5 .fb5-tooltip b').css('left','6px') }else{ var relX = e.pageX - offset.left-tooltip.width()-5; $('#fb5 .fb5-tooltip b').css('left',(tooltip.width()+6)+'px') } //$('.fb5-tooltip', this).html( x2+" > "+width_area ); $('.fb5-tooltip', this).css({ left: relX, top: relY+38 }); }) $('.fb5-menu li').hover(function() { $('.fb5-tooltip').stop(); $('.fb5-tooltip', this).fadeIn(); }, function() { $('.fb5-tooltip').hide(); }); Book_v5.resize_page() }, ///event mouse down in book book_mouse_down: function(){ $('#fb5-about').css('z-index',5); //Book_v5.resize_page(); }, book_mouse_up: function(e){ var offset = $(this).offset(); var relativeX = (e.pageX - offset.left); if( relativeX > ( WIDTH_BOOK / 2 ) ){ //$('#fb5-about').css('z-index',11); } }, full_screen:function(){ $('#fb5-ajax').fullScreen({ 'callback': function(isFullScreen){ //Book_v5.book_area(); //Book_v5.zoomAuto(); //Book_v5.center_icon(); //Book_v5.center_icon(); $(window).trigger('orientationchange'); if(isFullScreen){ }else{ } } }); }, init: function() { // Double Click if(ZOOM_DOUBLE_CLICK_ENABLED=="true"){ $('#fb5-book').dblclick(function() { if(Book_v5.checkScrollBook()==false){ //zoom Book_v5.zoomTo(ZOOM_DOUBLE_CLICK) }else{ Book_v5.zoomAuto(); $('#fb5-container-book').css('cursor', 'default'); } }); } //focus for page manager var page_manager=$('#fb5-page-number'); page_manager.focus(function(e) { var target=$(e.currentTarget); target.data('current',target.val()); target.val('') target.addClass('focus_input'); }); page_manager.focusout(function(e) { var target=$(e.currentTarget); var old=target.data('current'); target.removeClass('focus_input'); if( target.val() ==''){ target.val(old); } }); //full screen $('.fb5-fullscreen').on('click', function() { $('.fb5-tooltip').hide(); Navigation_v5.full_screen(); e.preventDefault(); }); //download $('.fb5-download').on('click', function(event) { //$.address.update(); // event.preventDefault(); }); // Home $('.fb5-home').on('click', function() { setPage(1); //setAddress('book5-1'); }); // Zoom Original $('.fb5-zoom-original').click(function() { Book_v5.zoomOriginal(); }); // Zoom Auto $('.fb5-zoom-auto').on('click', function() { Book_v5.zoomAuto(); }); // Zoom In $('.fb5-zoom-in').on('click', function() { Book_v5.zoomIn(); }); // Zoom Out $('.fb5-zoom-out').on('click', function() { Book_v5.zoomOut(); }); // All Pages $('.fb5-show-all').on('click', function() { $('#fb5-all-pages'). addClass('active'). css('opacity', 0). animate({ opacity: 1 }, 1000); Book_v5.all_pages(); return false; }) // Goto Page $('#fb5-page-number').keydown(function(e) { if (e.keyCode == 13) { setPage( $('#fb5-page-number').val() ); } }); $('.fb5-goto button').click(function(e) { setPage( $('#fb5-page-number').val() ); }); // Contact $('.contact').click(function() { $('#fb5-contact').addClass('active').animate({ opacity: 1 }, 1000); contact_form(); clear_on_focus(); return false; }) //change z-index in about $('#fb5-book').bind('mousedown',this.book_mouse_down); $('#fb5-book').bind('mouseup',this.book_mouse_up); if (Book_v5.isiPhone()) {//for IPhone $('#fb5-book').bind('touchstart',this.book_mouse_down); $('#fb5-book').bind('touchend',this.book_mouse_up); } //show tooltip for icon if ( !Book_v5.isiPhone() && TOOL_TIP_VISIBLE=="true" ) { this.tooltip(); } } } /* = CONTACT FORM --------------------------*/ function clear_on_focus() { $('input[type="text"], input[type="password"], textarea').each( function() { var startValue = $(this).val(); $.data(this, "startValue", startValue); this.value=startValue; }) $('input[type="text"], input[type="password"], textarea').focus(function() { var startValue = $.data(this, "startValue"); if ( this.value == startValue ) { this.value = ''; } }); $('input[type="text"], input[type="password"], textarea').blur(function() { var startValue = $.data(this, "startValue"); if ( this.value == '' ) { this.value = startValue; } }) } function close_overlay() { $('.fb5-overlay').removeClass('active'); setTimeout(function(){ Book_v5.corner_change(false); },1000); } function contact_form() { $('#fb5-contact .req').each(function() { var startValue = $(this).val(); $.data(this, "startValue", startValue); }); $('#fb5-contact button[type="submit"]').click(function() { $('#fb5-contact .req').removeClass('fb5-error'); $('#fb5-contact button').fadeOut('fast'); var isError = 0; // Get the data from the form var name = $('#fb5-contact #fb5-form-name').val(); var email = $('#fb5-contact #fb5-form-email').val(); var message = $('#fb5-contact #fb5-form-message').val(); // Validate the data $('#fb5-contact .req').each(function() { var startValue = jQuery.data(this, "startValue"); if ( ($(this).val() == '') || (this.value == startValue) ) { $(this).addClass('fb5-error'); isError = 1; } }); var reg = /^([A-Za-z0-9_\-\.])+\@([A-Za-z0-9_\-\.])+\.([A-Za-z]{2,4})$/; if (reg.test(email)==false) { $('#fb5-contact #fb5-form-email').addClass('fb5-error'); isError=1; } // Terminate the script if an error is found if (isError == 1) { $('#fb5-contact button').fadeIn('fast'); return false; } $.ajaxSetup ({ cache: false }); var _email=Book_v5.getConfig('email_form'); var dataString = 'name='+ name + '&email=' + email + '&message=' + message+'&_email='+_email; var url="php/submit-form-ajax.php" $.ajax({ type: "POST", url: url, data: dataString, success: function(msg) { // Check to see if the mail was successfully sent if (msg == 'Mail sent') { $("#fb5-contact fieldset").hide(); $("#fb5-contact fieldset.fb5-thanks").show(); setTimeout(function() { close_overlay(); }, 5000); } else { $('#fb5-contact button').fadeIn('fast'); alert('The problem with sending it, please try again!'); } }, error: function(ob,errStr) { alert('The problem with sending it, please try again.'); } }); return false; }); $('#fb5-contact .fb5-close').click(function() { close_overlay(); }) } /* * $ Easing v1.3 - http://gsgd.co.uk/sandbox/$/easing/ * * Uses the built in easing capabilities added In $ 1.1 * to offer multiple easing options */ $.easing["jswing"]=$.easing["swing"];$.extend($.easing,{def:"easeOutQuad",swing:function(a,b,c,d,e){return $.easing[$.easing.def](a,b,c,d,e)},easeInQuad:function(a,b,c,d,e){return d*(b/=e)*b+c},easeOutQuad:function(a,b,c,d,e){return-d*(b/=e)*(b-2)+c},easeInOutQuad:function(a,b,c,d,e){if((b/=e/2)<1)return d/2*b*b+c;return-d/2*(--b*(b-2)-1)+c},easeInCubic:function(a,b,c,d,e){return d*(b/=e)*b*b+c},easeOutCubic:function(a,b,c,d,e){return d*((b=b/e-1)*b*b+1)+c},easeInOutCubic:function(a,b,c,d,e){if((b/=e/2)<1)return d/2*b*b*b+c;return d/2*((b-=2)*b*b+2)+c},easeInQuart:function(a,b,c,d,e){return d*(b/=e)*b*b*b+c},easeOutQuart:function(a,b,c,d,e){return-d*((b=b/e-1)*b*b*b-1)+c},easeInOutQuart:function(a,b,c,d,e){if((b/=e/2)<1)return d/2*b*b*b*b+c;return-d/2*((b-=2)*b*b*b-2)+c},easeInQuint:function(a,b,c,d,e){return d*(b/=e)*b*b*b*b+c},easeOutQuint:function(a,b,c,d,e){return d*((b=b/e-1)*b*b*b*b+1)+c},easeInOutQuint:function(a,b,c,d,e){if((b/=e/2)<1)return d/2*b*b*b*b*b+c;return d/2*((b-=2)*b*b*b*b+2)+c},easeInSine:function(a,b,c,d,e){return-d*Math.cos(b/e*(Math.PI/2))+d+c},easeOutSine:function(a,b,c,d,e){return d*Math.sin(b/e*(Math.PI/2))+c},easeInOutSine:function(a,b,c,d,e){return-d/2*(Math.cos(Math.PI*b/e)-1)+c},easeInExpo:function(a,b,c,d,e){return b==0?c:d*Math.pow(2,10*(b/e-1))+c},easeOutExpo:function(a,b,c,d,e){return b==e?c+d:d*(-Math.pow(2,-10*b/e)+1)+c},easeInOutExpo:function(a,b,c,d,e){if(b==0)return c;if(b==e)return c+d;if((b/=e/2)<1)return d/2*Math.pow(2,10*(b-1))+c;return d/2*(-Math.pow(2,-10*--b)+2)+c},easeInCirc:function(a,b,c,d,e){return-d*(Math.sqrt(1-(b/=e)*b)-1)+c},easeOutCirc:function(a,b,c,d,e){return d*Math.sqrt(1-(b=b/e-1)*b)+c},easeInOutCirc:function(a,b,c,d,e){if((b/=e/2)<1)return-d/2*(Math.sqrt(1-b*b)-1)+c;return d/2*(Math.sqrt(1-(b-=2)*b)+1)+c},easeInElastic:function(a,b,c,d,e){var f=1.70158;var g=0;var h=d;if(b==0)return c;if((b/=e)==1)return c+d;if(!g)g=e*.3;if(h