Page flip problems

Hi!

Everything works fine in my page flip except that it only shows 2 pages at the time. I would like it to have all my pages visible.

I have objects/movie clips in the pages that I would like to be visible all the time. These objecst skip pages.

anyone that might know how I can modify this???

you can have a look at: http://www.claudio-moyano.se/_dea/03_OKQ8_pageflip.html

and the code looks like this:

//pageflip version 2.13 (200504272050)
//
//0427: - removeML() function added, see details at frame 15
// - new page definition system, hope it is easier to use!
// - no need to adjust the mask size!
//0418: now it is AS2/FLash7 Compatible (The bug was the variable flipOff/flipoff)
//skip page option added to gotoPage function
//(for the latest version, always check at http://www.iparigrafika.hu/pageflip)
//
//this code is written by Macc 2004.11.01
//abel@iparigrafika.hu
//
//sound added by Triqui - www.triquitips.com (great job Macc!!!)
//
//this code is opensource
//
//free use!
//but a small credit would be nice:)

//these values can be changed: -------------------------------------------------------------------------

pw = 325; //page width in pixel
ph = 428; //page height in pixel
//pages in the library must have the same size, the script will not resize them!

//page data… (export names/tearing flag)
addPage(“start”); //Always start with “start”!!!
addPage(“page1”);
addPage(“page2”);
addPage(“page3”);
addPage(“page4”);
addPage(“page5”);
addPage(“page6”);
addPage(“page7”);
//addPage(“page8”);
//addPage(“page9”);
//addPage(“page10”);
//addPage(“page11”,true); //second argument defines page tearing.
//addPage(“page12”,true);
//addPage(“page13”);
//addPage(“page14”);
//addPage(“page15”);
addPage(“page16”);
addPage(“end”); //always end with “end”!!!

page=0; //first page (normally it is 0 = the page before the cover = blank page)
hcover = true; //hard cover on/off
page_sound = false; //sound on/off

clickarea = 64; //pixel width of the click sensitive area at the edges…
afa = 56; //width of the autoflip starter square.

gs = 2; //goto page flip speed
ps = 5; //mouse pursuit speed
es = 3; //flip speed after mouse btn release

canflip = true; //page flipping enabled

//do not change these values: ---------------------------------------------------------------------------------------------------------------------

_global.mcnt = 0; //counter (used on a page where is an animation)
gpage = 0; //gotoPage No
gflip = false; //gotoPage flip
gdir = 0; //goto direction…
gskip = false; //skip pages ***
gtarget = 0; //target when skipping

aflip = false; //auto flip
flip = false; //pageflip
flipOff = false; //terminateflip
flipOK = false; //good flip
hflip = false; //hardflip (the cover of the book)
rotz = -30; //hardflip max y difference

preflip = false; //corner flip status
ctear = false; //actual page status
tear = false;
teard = 0;
tlimit = 80;
removedPages = new Array(); //list of removed pages!

mpx = 0, mpy = 0; //mousepos at click
sx = sy = 0; //startpoint when flipping
x = 0; //mouse x,y
y = 0;
ax = 0; //auto x,y
ay = 0;
acnt = 0;
aadd = 0;
aamp = 0;

AM = Math.PI/180;

//pageflip code by Macc ---------------------------------------------------------------------------------------------------------------------------
function addPage(ename,tear) { //defining pages… -------------------------------------------------------------------------------------------
if(ename==“start”) {
pageOrder = new Array();
pageCanTear = new Array();
page=0;
ename=“blankpage”;
}
if(ename==“end”) {
maxpage = page-1;
ename=“blankpage”;
}
tear = tear==undefined? false: tear;
pageOrder[page] = ename;
pageCanTear[page] = tear;
page++
}

function reset() { //initializing pages… ---------------------------------------------------------------------------------------
pages.p0.page._x = -pw;
pages.p0._x = 0;
pages.p1.page._x = -pw;
pages.p1._x = 0;

pages.flip.p2.page._x = -pw;
pages.flip.p2._x = pw;
pages.flip.p3.page._x = -pw;
pages.flip.p3._x = 0;

pages.p4.page._x = -pw;
pages.p4._x = pw;
pages.p5.page._x = -pw;
pages.p5._x = pw;

pages.pgrad._visible = pages.mask._visible = pages.flip._visible = false;
pages.flip.p3mask._width = pages.pgmask._width = pw*2;
pages.center._height = pages.flip.p3mask._height = pages.pgmask._height = ph;
pages.flip.fmask.page.pf._width = pw;
pages.center._width = 6;
pages.flip.fmask.page.pf._height = ph;

pages.mask._height = pages.pgrad._height = pages.flip.p3shadow._height = pages.flip.flipgrad._height = 2*Math.sqrt(ph*ph+pw*pw);

pageNumber = new Array();
for(i=0;i<=(maxpage+1);i++) pageNumber* = i;

}

mousecontroll = new Object(); //initializing mouse click handler ---------------------------------------------------------------------------
mousecontroll.onMouseDown = function() {
if(flip && !aflip) {// && !preflip) {
flipOK = false;
if(sx<0 && pages._xmouse>0) flipOK = true;
if(sx>0 && pages._xmouse<0) flipOK = true;
flipOff = true;
flip = false;
} else if((flipOff || aflip || !canflip) && !preflip) {
trace(“donothing”);
} else {
var oox = ox;
var ooy = oy;
var osx = sx;
var osy = sy;
var hit = hittest(); //hittest
if(hit) {
anim._visible = false;
flip = true;
flipOff = false;
tear = false; //not tearing yet…
ox = sx = hit*pw;
if(preflip) {
aflip = preflip = false;
ox = oox, oy = ooy;
sx = osx, sy = osy;
}
pages.flip.setMask(pages.mask);
mpx = pages._xmouse, mpy = pages._ymouse;
//_quality = “MEDIUM”; //it is the place to degrade image quality while turning pages if the performance is too low.
}
}
}
mousecontroll.onMouseUp = function() {
if(flip && !tear) {
if((Math.abs(pages._xmouse)>(pw-afa) && Math.abs(pages._ymouse)>(ph/2-afa) && Math.abs(pages._xmouse-mpx)<afa) || preflip) {
flip = false;
preflip = false;
autoflip();
} else if(!preflip) {
preflip = false;
flipOK = false;
if(sx<0 && pages._xmouse>0) flipOK = true;
if(sx>0 && pages._xmouse<0) flipOK = true;
flipOff = true;
flip = false;
}
}
}

function hittest() { //hittest at mouse clicks, if click is over the book -> determining turning direction ------------------------------------
var x=pages._xmouse;
var y=pages._ymouse;
var pmh = ph/2;

if(y&lt;=pmh && y&gt;=-pmh && x&lt;=pw && x&gt;=-pw) {    //ha a megadott intervallumban klikkelunk, akkor lapozhatunk
    var r = Math.sqrt(x*x+y*y);
    var a = Math.asin(y/r);
    var y = Math.tan(a)*pw;
    if(y&gt;0 && y&gt;ph/2) y = ph/2;
    if(y&lt;0 && y&lt;-ph/2) y = - ph/2;
    oy = sy = y;
    r0 = Math.sqrt((sy+ph/2)*(sy+ph/2)+pw*pw);
    r1 = Math.sqrt((ph/2-sy)*(ph/2-sy)+pw*pw);
    
    pageN = eval("pages.flip.p2.page");
    pageO = eval("pages.flip.p3");
    offs = -pw;
    pages.flip.fmask._x = pw;
    
    if(x&lt;-(pw-clickarea) && page&gt;0) {        //&gt;-----&gt; flip backward
        pages.flip.p3._x = 0;
        hflip = checkCover(page,-1);
        setPages(page-2,page-1,page,page+1);
        ctear = pageCanTear[page-1];
        return -1;
    }
    if(x&gt;(pw-clickarea) && page&lt;maxpage) {    //&lt;-----&lt; flip forward
        pages.flip.p3._x = pw;
        hflip = checkCover(page,1);
        setPages(page,page+2,page+1,page+3);
        ctear = pageCanTear[page+2];
        return 1;
        
    }
} else return 0;    //wrong click

}
function checkCover(p,dir) {
if(hcover) {
if(dir>0) {
if(p==(maxpage-2) || p==0) return true;
} else {
if(p==maxpage || p==2) return true;
}
}
return false;
}
function corner() {
var x = Math.abs(pages._xmouse);
var y = Math.abs(pages._ymouse);
if(x>(pw-afa) && x<pw && y>(ph/2-afa) && y<(ph/2)) {
return true;
}
return false;
}

function oef() {
_global.mcnt++; //main counter incrase (need for some page effect);

if(!flip && corner()) {    //corner mouseover
    preflip = true;
    if(!autoflip()) preflip = false;
}
if(preflip && !corner()) {
    preflip = false;
    flip = false;
    flipOK = false;
    flipOff = true;
}
getm();
if(aflip && !preflip) {
    y = (ay += (sy-ay)/(gflip? gs: ps ));
    acnt += aadd;
    ax -= aadd;
    if(Math.abs(acnt)&gt;pw) {
        flipOK = true;
        flipOff = true;
        flip = false;
        aflip = false;
    }
}
if(flip) {                            //page turning is in progress...
    if(tear) {
        if (page_sound){
            if (page_effect &lt;&gt; 1){
                triquisound = new Sound(this);
                triquisound.attachSound("pagetear");
                triquisound.start(0, 1);
                page_effect = 1;
            }
        }
        x = tox;
        y = (toy += teard);
        teard *= 1.2;
        if(Math.abs(teard)&gt;1200) {
            flipOff = true;
            flip = false;
        }
    } else {
        x = (ox += (x-ox)/(gflip? gs: ps ));
        y = (oy += (y-oy)/(gflip? gs: ps ));
    }
    calc(x,y);                        //positioning pages and shadows
}
if(flipOff) {                        //terminating page turning effect... (comlplete turning... dropped on the other side)
    if(flipOK || tear) {
        if (page_sound){
            if (page_effect &lt;&gt; 1){
                triquisound = new Sound(this);
                triquisound.attachSound("pageflip");
                triquisound.start(0, 1);
                page_effect = 1;
            }
        }
        x = (ox += (-sx-ox)/(gflip? gs: es ));
        y = (oy += (sy-oy)/(gflip? gs: es ));
        calc(x,y);
        if(x/-sx &gt; 0.99 || tear) {            //we are done with turning, so stop all turning issue...
            flip = false;
            page_effect = 0;
            flipOK = flipOff = false;
            pages.pgrad._visible = pages.flip._visible = false;
            //_quality = "BEST";    //if quality is decrased during turning effect, you must reset its default value!

            if(tear) {                //if tear: remove page!!!
                removePage((sx&lt;0)? page: page+1);
                page += (sx&lt;0)? -2: 0;
            } else {
                page += (sx&lt;0)? -2: 2;    //and tourning pages at pagenumber level...
            }
            if(gskip) page = gtarget;
            setPages(page,0,0,page+1);
            tear = false;
            
            if(gpage&gt;0 && !gskip) {            //gotoflip active -&gt; is there another flipping left?
                gpage--;
                autoflip();
            } else gflip = gskip = false;
        }
    } else {                        //terminating page turning effect... (incomlplete turning... dropped on the dragged side)
        x = (ox += (sx-ox)/3);
        y = (oy += (sy-oy)/3);
        calc(x,y);
        if(x/sx &gt; 0.99) {            //we are done with turning, so stop all turning issue...
            flip = false;
            flipOff = false;
            aflip = false;
            pages.pgrad._visible = pages.flip._visible = false;
            //_quality = "HIGH";     //if quality is decrased during turning effect, you must reset its default value!
            setPages(page,0,0,page+1);    //no change at pagenumbers..
        }
    }
}

}

function calc(x,y) { //positioning pages and shadows by x,y reference points --------------------------------------------------
if(hflip) { //hardflip…
var xp = (sx<0)? -x: x;
if(xp>0) {
sp2._visible = false;
sp3._visible = true;
scalc(sp3,x);
} else {
sp3._visible = false;
sp2._visible = true;
scalc(sp2,x);
}
pages.flip.setMask(null);
pages.flip._visible = true;
pages.flip.fgrad._visible = false;
pages.flip.p2._visible = pages.flip.p3._visible = false;
return;
} else pages.flip.fgrad._visible = true;

//normal flipping process---------------------------------------------------------------------
var rr0 = Math.sqrt((y+ph/2)*(y+ph/2)+x*x);
var rr1 = Math.sqrt((ph/2-y)*(ph/2-y)+x*x);
if((rr0&gt;r0 || rr1&gt;r1) && !tear) {    // we can tear off pages now:)
                        // so reference points must be recalculated!
    if(y&lt;sy) {    // k1-gyel kell osszehasonlitani!
        var a = Math.asin((ph/2-y)/rr1);
        y = (ph/2-Math.sin(a)*r1);
        x = (x&lt;0)? -Math.cos(a)*r1: Math.cos(a)*r1;
        if(y&gt;sy) {
            if((sx*x)&gt;0) y = sy, x = sx;
            else y = sy, x = -sx;
        }
        if((rr1-r1)&gt;tlimit && ctear) {
            teard = -5;
            tear = true;
            tox = ox = x;
            toy = oy = y;
        }
    } else {    // k0-val kell osszehasonlitani!
        var a = Math.asin((y+ph/2)/rr0);
        y = Math.sin(a)*r0-ph/2;
        x = (x&lt;0)? -Math.cos(a)*r0: Math.cos(a)*r0;
        if(y&lt;sy) {
            if((sx*x)&gt;0) y = sy, x = sx;
            else y = sy, x = -sx;
        }
        if((rr0-r0)&gt;tlimit && ctear) {
            teard = 5;
            tear = true;
            tox = ox = x;
            toy = oy = y;
        }
    }
}
if((sx&lt;0 && (x-sx)&lt;10) || (sx&gt;0 && (sx-x)&lt;10)) {
    if(sx&lt;0) x = -pw+10;
    if(sx&gt;0) x = pw-10;
} 
//calculating flipping process
pages.flip._visible = true;
pages.flip.p3shadow._visible = pages.pgrad._visible = !tear;
pages.flip.p2._visible = pages.flip.p3._visible = true;
//equation of the line
var vx = x-sx;
var vy = y-sy;
var a1 = vy/vx;
var a2 = -vy/vx;

cx = sx+(vx/2);
cy = sy+(vy/2);
//trigonometriai szamitasok
//calculating rotation of the page, and the masks
var r = Math.sqrt((sx-x)*(sx-x)+(sy-y)*(sy-y));
var a = Math.asin((sy-y)/r);
if(sx&lt;0) a = -a;    
ad = a/AM;     //in degree
pageN._rotation = ad*2;
r = Math.sqrt((sx-x)*(sx-x)+(sy-y)*(sy-y));
rl = (pw*2);
if(sx&gt;0) {                 //flip forward
    pages.mask._xscale = 100;
    nx = cx-Math.tan(a)*(ph/2-cy);
    ny = ph/2;
    if(nx&gt;pw) {
        nx = pw;
        ny = cy+Math.tan(Math.PI/2+a)*(pw-cx);
    }
    pageN.pf._x = -(pw-nx);
    pages.flip.fgrad._xscale = (r/rl/2)*pw;
    pages.pgrad._xscale = -(r/rl/2)*pw;
    pages.flip.p3shadow._xscale = (r/rl/2)*pw;
} else {                 //flip backward
    pages.mask._xscale = -100;
    nx = cx-Math.tan(a)*(ph/2-cy);
    ny = ph/2;
    if(nx&lt;-pw) {
        nx = -pw;
        ny = cy+Math.tan(Math.PI/2+a)*(-pw-cx);
    }
    pageN.pf._x = -(pw-(pw+nx));
    pages.flip.fgrad._xscale = -(r/rl/2)*pw;
    pages.pgrad._xscale = (r/rl/2)*pw;
    pages.flip.p3shadow._xscale = -(r/rl/2)*pw;
}
pages.mask._x = cx;
pages.mask._y = cy;
pages.mask._rotation = ad;
pageN.pf._y = -ny;
pageN._x = nx+offs;
pageN._y = ny;
pages.flip.fgrad._x = cx;
pages.flip.fgrad._y = cy;
pages.flip.fgrad._rotation = ad;
pages.flip.fgrad._alpha = (r&gt;(rl-50))? 100-(r-(rl-50))*2: 100;
pages.flip.p3shadow._x = cx;
pages.flip.p3shadow._y = cy;
pages.flip.p3shadow._rotation = ad;
pages.flip.p3shadow._alpha = (r&gt;(rl-50))? 100-(r-(rl-50))*2: 100;
pages.pgrad._x = cx;
pages.pgrad._y = cy;
pages.pgrad._rotation = ad+180;
pages.pgrad._alpha = (r&gt;(rl-100))? 100-(r-(rl-100)): 100;
pages.flip.fmask.page._x = pageN._x;
pages.flip.fmask.page._y = pageN._y;
pages.flip.fmask.page.pf._x = pageN.pf._x;
pages.flip.fmask.page.pf._y = pageN.pf._y;
pages.flip.fmask.page._rotation = pageN._rotation;

}

function scalc(obj,x) { //hardflip calc
if(x<-pw) x=-pw;
if(x>pw) x=pw;
var a = Math.asin( x/pw );
var rot = a/AM/2;
var xs = 100;
var ss = 100Math.sin( rotzAM );
x = x/2;
var y = Math.cos(a)(pw/2)(ss/100);
placeImg(obj, rot, ss, x, y)
pages.pgrad._visible = pages.flip._visible = true;
pages.pgrad._xscale = x;
pages.pgrad._alpha = pages.flip.p3shadow._alpha = 100;
pages.flip.p3shadow._xscale = -x;
pages.flip.p3shadow._x = 0;
pages.flip.p3shadow._y = 0;
pages.flip.p3shadow._rotation = 0;
pages.pgrad._x = 0;
pages.pgrad._y = 0;
pages.pgrad._rotation = 0;
}

function placeImg(j, rot, ss, x, y) {
var m = Math.tan( rotAM );
var f = Math.SQRT2/Math.sqrt(m
m+1);
var phxs = 100m;
var phRot = -rot;;
var xs = 100
f;
var ys = 100f;
j.ph.pic._rotation = 45;
j.ph.pic._xscale = (phxs<0)? - xs: xs;
j.ph.pic._yscale = ys
(100/ss);
j.ph._rotation = phRot;
j.ph._xscale = phxs;
j._yscale = ss;
j._x = x;
j._y = y;
j._visible = true;
}

function setPages(p1,p2,p3,p4) { //attach the right page “image” at the right place:)
p0 = p1-2; //pages for transparency…
p5 = p4+2;
if(p0<0) p0=0;
if(p5>maxpage) p5=0;

if(p1&lt;0) p1=0;    //visible pages
if(p2&lt;0) p2=0;
if(p3&lt;0) p3=0;
if(p4&lt;0) p4=0;
trace("setpages -&gt;"+p1+","+p2+","+p3+","+p4);
pleft = pages.p1.page.pf.ph.attachMovie(pageOrder[p1],"pic",0);
pages.p1.page.pf.ph._y = -ph/2;
pleftb = pages.p0.page.pf.ph.attachMovie(pageOrder[p0],"pic",0);
pages.p0.page.pf.ph._y = -ph/2;
if(hflip) {    //hardflip pages are specials!!! 
    var tm = pages.flip.hfliph.attachMovie("sph","sp2",0);
    sp2 = tm.ph.pic.attachMovie(pageOrder[p2],"pic",0);
    sp2._y = -ph/2, sp2._x = -pw/2;
    sp2 = eval("pages.flip.hfliph.sp2");
    var tm = pages.flip.hfliph.attachMovie("sph","sp3",1);
    sp3 = tm.ph.pic.attachMovie(pageOrder[p3],"pic",0);
    sp3._y = -ph/2, sp3._x = -pw/2;
    sp3 = eval("pages.flip.hfliph.sp3");
} else {
    pages.flip.hfliph.sp2.removeMovieClip();
    pages.flip.hfliph.sp3.removeMovieClip();
    sp2 = pages.flip.p2.page.pf.ph.attachMovie(pageOrder[p2],"pic",0);
    pages.flip.p2.page.pf.ph._y = -ph/2;
    sp3 = pages.flip.p3.page.pf.ph.attachMovie(pageOrder[p3],"pic",0);
    pages.flip.p3.page.pf.ph._y = -ph/2;
}
pright = pages.p4.page.pf.ph.attachMovie(pageOrder[p4],"pic",0);
pages.p4.page.pf.ph._y = -ph/2;
prightb = pages.p5.page.pf.ph.attachMovie(pageOrder[p5],"pic",0);
pages.p5.page.pf.ph._y = -ph/2;

}

function resetPages() {
setPages(page,0,0,page+1);
}

function autoflip() { //start auto flip!
if(!aflip && !flip && !flipOff && canflip) { //only when all conditions fits our needs…
acnt = 0
aamp = Math.random()(ph/2)-(ph/4);
var x= gflip? (gdir
pw)/2: ((pages._xmouse<0)? -pw/2: pw/2);
//var y= Math.random()ph-(ph/2); //random starty
var y = Math.random()
(ph/2)-(ph/4);
var pmh = ph/2;
var r = Math.sqrt(xx+yy);
var a = Math.asin(y/r);
var yy = Math.tan(a)*pw;
if(y>0 && y>ph/2) y = ph/2;
if(y<0 && y<-ph/2) y = - ph/2;
oy = sy = yy;
ax = (pages._xmouse<0)? -pw/2: pw/2;
var l = ((ph/2)-y);
ay = y+((Math.random()2l)-l)/2; //page turnig style randomizing

    trace("autoflip from "+ax+","+ay);
    offs = -pw;
    var hit = 0;
    if(x&lt;0 && page&gt;0) {
        pages.flip.p3._x = 0;
        hflip = (hcover && gskip)? gtarget==0: checkCover(page,-1);
        if(!(preflip && hflip)) {
            if(gskip) setPages(gtarget,gtarget+1,page,page+1);
            else setPages(page-2,page-1,page,page+1);
        }
        hit = -1;
    }
    if(x&gt;0 && page&lt;maxpage) {
        pages.flip.p3._x = pw;
        hflip = (hcover && gskip)? gtarget==maxpage: checkCover(page,1);
        if(!(preflip && hflip)) {
            if(gskip) setPages(page,gtarget,page+1,gtarget+1);
            else setPages(page,page+2,page+1,page+3);
        }
        hit = 1;
    }
    if(hflip && preflip) {
        hit = 0;
        preflip = false;
        return false;
    }
    if(hit) {
        anim._visible = false;
        flip = true;
        flipOff = false;
        ox = sx = hit*pw;
        pages.flip.setMask(pages.mask);
        aadd = hit*(pw/(gflip? 5:10 ));            //autoflip takes 10 frames to be done!!!
        aflip = true;
        pages.flip.fmask._x = pw;
        if(preflip) {
            oy = sy = (pages._ymouse&lt;0)? -(ph/2): (ph/2);
        }
        r0 = Math.sqrt((sy+ph/2)*(sy+ph/2)+pw*pw);
        r1 = Math.sqrt((ph/2-sy)*(ph/2-sy)+pw*pw);
        pageN = eval("pages.flip.p2.page");
        pageO = eval("pages.flip.p3");
        oef();
        return true;
    }
} else return false;

}

function getm() { //get x,y reference points depending of turning style: manual/auto
if(aflip && !preflip) {
x = ax;
y = ay;
} else {
x = pages._xmouse;
y = pages._ymouse;
}
}

function gotoPage(i,skip) { //quickjump to the page number i
i = getPN(i); //i = target page
gskip = (skip==undefined)? false: skip; //skip pages

if(i&lt;0) return false;
var p = int(page/2);
var d = int(i/2);
if(p!=d && canflip && !gflip) {        //target!=current page
    if(p&lt;d) {                        //go forward
        gdir = 1;
        gpage = d-p-1;
    } else {                        //go backward
        gdir = -1
        gpage = p-d-1;
    }
    gflip = true;
    if(gskip) gtarget = d*2, gpage = 0;
    autoflip();
} else gskip = false;

}
function getPN(i) { //get the right page number
var find = false;
for(j=1;j<=maxpage;j++) {
if(i==pageNumber[j]) {
i=j;
find = true;
break;
}
}
if(find) return i;
else return -1;
}
function removePage(i) {
trace("remove page "+i);
i = (Math.floor((i-1)/2)2)+1;
removedPages.push(pageNumber
, pageNumber[i+1]);

for(j=(i+2);j&lt;=(maxPage+1);j++) {
    pageOrder[j-2]=pageOrder[j];
    pageCanTear[j-2]=pageCanTear[j];
    pageNumber[j-2]=pageNumber[j];
}
trace("removed pages "+i+","+(i+1));
trace(removedPages.join(", "));
maxPage -= 2;

}

//------------------------------------------------------------------------------------------------ PUT YOUR CODE HERE --------------

/* you can use these functions:

    gotoPage( destinationPageNo, skip );    //quick jump to the page number: destinationPageNo; values = 0-maxpages; skip: boolean; if true, pages will be skipped to the destination!
    autoflip();                                //start autoflip (direction is calculated from _xmouse)

    canflip        //it's a variable. setting its value to false disables flipping

    other functions of page turning is automatic;
    
    WARNING!!!
    if you want to unload/reload tha pageflip, before unloading call function: removeML(); to remove mouse listener!

*/