Have also attached a file please let me know what you think
THE SCRIPT


/*
Image Gallery V1.0
Created April 2, 2006
Created by Tony Yoo
Email: info@tonyyoo.com
Website: tonyyoo.com
* Please keep this information intact
* Please feel free to modify the script and the look of the gallery to meet your needs.
* And make sure you let me know where this gallery gets used.
* My scripts aren't so organized at this point so you may find it difficult to make customization. If you have any questions regarding this gallery please contact me using the eamil address above.
*/

stop();


// include assets
#include "mc_tween2.as"
#include "xmlsa.as"
#include "timer.as"


// two views ? catView : thumbView
var viewMode = "catView"; // when page is first viewed show all the categories.
var viewRand = true; // on/off random preview
var catCol = 4; // number of columns for category
var numCatDisplay = 12; // max number of categories to show per page
var numThumbDisplay = 12; // max number of thumbnails to show per page
var catColXgap = 8; // gap between categories
var catColYgap = 180;
var dropDown = false;

var curImage = 0;
var curCat = 0;

// slideshow switch
var autoSlide = true;
// default transition speed
var defTranSpeed = 300;

catView_btn._alpha = 0;

// load the xml data
gallery = new XMLSA();
gallery.load("gallery.xml");
gallery.onLoad = function(ok){
    if (ok) {
        parseXml();
    } else {
        // error branch
        trace("error");
    }
}


/* loading stylesheet // not being used for image gallery but can be added later
function loadCss() {
    styles = new TextField.StyleSheet();
    css = "styles.css";
    styles.load(css);
    styles.onLoad = function(loaded) {
        if (loaded) {
            cssLoaded = true;
        } else {
            cssLoaded = false;
        }
        parseXml();
    }
}
*/


function parseXml() {
    //DEBUG
    //trace(gallery.dump());
   
    myGallery = new Array();
   
    // gallery title
    galleryTitle = gallery.attributes.title;
    title_txt.text = galleryTitle;
   
    // thumbanil directory
    thumbDir = gallery.attributes.thumbDir;
    // image directory
    imageDir = gallery.attributes.imageDir;
    // random ? true : false
    viewRandom = gallery.attributes.random;
    if(viewRandom == "true") {
        viewRand = true;
    } else {
        viewRand = false;
    }
    // parse information
    catTotal = gallery.category.length;

    for(var i=0; i<catTotal; i++) { //looping through categories
        myGallery[i] = new Array();
        myGallery[i]["name"] = gallery.category[i].attributes.name;
        myGallery[i]["image"] = new Array();
        //trace(myGallery[i]["name"]);
        var imageCount = gallery.category[i].image.length;
        for(var k=0; k<imageCount; k++) { //looping through images
            myGallery[i]["image"][k] = new Array();
            myGallery[i]["image"][k]["date"] = gallery.category[i].image[k].date.getValue();
            myGallery[i]["image"][k]["title"] = gallery.category[i].image[k].title.getValue();
            myGallery[i]["image"][k]["desc"] = gallery.category[i].image[k].desc.getValue();
            myGallery[i]["image"][k]["thumb"] = gallery.category[i].image[k].thumb.getValue();
            myGallery[i]["image"][k]["img"] = gallery.category[i].image[k].img.getValue();
            //trace(myGallery[i]["image"][k]["date"]);
        }
    }
   
   
    // determine the number of pages needed
    if(catTotal > numCatDisplay) {
        catNumPages = Math.ceil(catTotal/numCatDisplay);
    } else {
        // if categories are less than the limit only one page is needed
        catNumPages = 1;
    }

    // start from first page
    catPageCounter = 1;
   
    // start from 0;
    var pos = 0;
   
    // output page status
    page_txt.text = catPageCounter+" of "+catNumPages;
   
    prevBtn(catPageCounter);
    nextBtn(catPageCounter, catNumPages);
   
    //disable catViewBtn
    catView_btn.enabled = false;
   
    loadCat(pos);
    loadDropDown();

    catView_btn.onRelease = function() {
        catPageCounter = 1;
       
        _root.viewMode = "catView";
       
        loadCat(0);
        catView_btn.enabled = false;
        catView_btn.alphaTo(0, 1);
        dropDownBtn_mc.catName_txt.text = "Choose a category";
        if(dropDown) {
            doDropDown();
        }
        // output page status
        page_txt.text = catPageCounter+" of "+catNumPages;
        prevBtn(catPageCounter);
        nextBtn(catPageCounter, catNumPages);
    }   
}



function enableCatViewBtn() {
    catView_btn.enabled = true;
    catView_btn.alphaTo(100, 1);
}




function loadDropDown() {
   
    // if less than 7 categories, shorten the dropdown bg
    if(catTotal < 8) {
        // height of each category buttons
        var catBtnHeight = 20+3; // include the gaps
        var bgHeight = catTotal * catBtnHeight;
        bgHeight += 20; //include the top padding
        dropDown_mc.bg_mc.tween("_height", bgHeight, 1);
    }
   
   
    var temp = dropDown_mc.createEmptyMovieClip("temp", _root.getNextHighestDepth());
   
    var i=0;
   
    temp.onEnterFrame = function(){
        if(catTotal>i){
           
            //trace(i);
            var DropDownBtn = dropDown_mc.catBtn_mc.attachMovie("dropDownBtn", "dropDownBtn_mc"+i, i);
           
            DropDownBtn._alpha = 0;
            DropDownBtn.alphaTo(100, 3);
           
            DropDownBtn._y = Math.round(Number(DropDownBtn._height+3) * i);

            DropDownBtn.catName_txt.text = myGallery[i]["name"];
       
            DropDownBtn.onRollOver = function() {
                this.bg_mc.colorTo(0x10bddc, 0.2);
                this.catName_txt.colorTo(0xddfaff, 0.2);
            }
           
            DropDownBtn.onRollOut = function() {
                this.bg_mc.colorTo(0xebeeef, 3);
                this.catName_txt.colorTo(0x333333, 0.2);
            }
           
            var totalImg = myGallery[i]["image"].length;
           
            // when user clicks on one the categories, show thumbanils of that category
            DropDownBtn.total = total;
            DropDownBtn.chosenCat = i;
            DropDownBtn.onRelease = function() {
                dropDownBtn_mc.catName_txt.text = myGallery[this.chosenCat]["name"];
                activateCat(this, this.chosenCat);
                viewMode = "thumbView"; // change mode to thumb view
                showTnView(this.chosenCat, totalImg);
               
                enableCatViewBtn();
            }
           
            i++
        } else {
            delete this.onEnterFrame;
            this.removeMovieClip();
        }
    }
}






    // function determining whether to enable page buttons or not // if more than one page is needed enable the buttons

function prevBtn(counter) {
    trace(counter);
    if(counter > 1) {
        prev_btn.enabled = true;
        prev_btn.gotoAndStop(2);
       
    } else if(counter == 1) {
        prev_btn.btn_mc.icon_mc.colorTo(0x333333, 0.5);
        prev_btn.btn_mc.bg_mc.colorTo(0xffffff, 0.5);
        prev_btn.enabled = false;
        prev_btn.gotoAndStop(1);
       
       
    }

}

function nextBtn(counter, pages) {

   
    if(counter < pages) {
        next_btn.enabled = true;
        next_btn.gotoAndStop(2);
       
    } else if(counter == pages) {
        next_btn.btn_mc.icon_mc.colorTo(0x333333, 0.5);
        next_btn.btn_mc.bg_mc.colorTo(0xffffff, 0.5);
        next_btn.enabled = false;
        next_btn.gotoAndStop(1);
    }
   
}



prev_btn.onRelease = function() {
    // hide the dropdown if it's open
    if(dropDown) {
        doDropDown();
    }
   
    if(viewMode == "catView") {
        if(catPageCounter > 1) {
            catPageCounter--;
        }
       
        prevBtn(catPageCounter);
        nextBtn(catPageCounter, catNumPages);
        //trace(catPageCounter);
       
        // recaculate the start position
        var pos = (catPageCounter*numCatDisplay)-numCatDisplay;
        //trace(pos);
        // output page status
        page_txt.text = catPageCounter+" of "+catNumPages;
       
        loadCat(pos);
    } else if(viewMode == "thumbView") {
        // hide the dropdown if it's open
        if(dropDown) {
            doDropDown();
        }
       
       
            if(thumbPageCounter > 1) {
                thumbPageCounter--;
            }
            //trace(thumbPageCounter);
           
            // recaculate the start position
            var pos = (thumbPageCounter*numThumbDisplay)-numThumbDisplay;
           
            // output page status
            page_txt.text = thumbPageCounter+" of "+thumbNumPages;
           
            // enable/disable page buttons
            prevBtn(thumbPageCounter);
            nextBtn(thumbPageCounter, thumbNumPages);
           
            remove();
            showThumbs(curCat, pos);
    }
   
}
prev_btn.onRollOver = function() {
    this.btnRollOver();
}
prev_btn.onRollOut = function() {
    this.btnRollOut();
}




next_btn.onRelease = function() {
   

   
    // hide the dropdown if it's open
    if(dropDown) {
        doDropDown();
    }
   
   
   
    if(viewMode == "catView") {
       
        trace('12313');
       
        if(catPageCounter < catNumPages) {
            catPageCounter++;
        }
        //trace(catPageCounter);
        prevBtn(catPageCounter);
        nextBtn(catPageCounter, catNumPages);
        // recaculate the start position
        var pos = (catPageCounter*numCatDisplay)-numCatDisplay;
        //trace(pos);
        // output page status
        page_txt.text = catPageCounter+" of "+catNumPages;
        loadCat(pos);
    } else if(viewMode == "thumbView") {
        trace('aaa');
       
        // hide the dropdown if it's open
        if(dropDown) {
            doDropDown();
        }
       
       
           
            if(thumbPageCounter < thumbNumPages) {
                thumbPageCounter++;
            }
           
            // recaculate the start position
            var pos = (thumbPageCounter*numThumbDisplay)-numThumbDisplay;
           
            // output page status
            page_txt.text = thumbPageCounter+" of "+thumbNumPages;
           
            // enable/disable page buttons
            prevBtn(thumbPageCounter);
            nextBtn(thumbPageCounter, thumbNumPages);
           
            remove();
            showThumbs(curCat, pos);
    }

}
next_btn.onRollOver = function() {
    this.btnRollOver();
}
next_btn.onRollOut = function() {
    this.btnRollOut();
}






// function to initialize the category buttons
function loadCat(pos) {
       
    catWrap_mc.removeMovieClip();
    imgWrap_mc.removeMovieClip();
   
    var catWrap = _root.createEmptyMovieClip("catWrap_mc", _root.getNextHighestDepth());
    var imgWrap = _root.createEmptyMovieClip("imgWrap_mc", _root.getNextHighestDepth());
    catWrap._x = 61;
    catWrap._y = 120;
    imgWrap._x = 58;
    imgWrap._y = 120;
   
    dropDown_mc.swapDepths(_root.getNextHighestDepth());
    dropDownBtn_mc.swapDepths(_root.getNextHighestDepth());
   
   
    //get the total number of rows
    var numRows = catTotal/catCol;
   
    var xnum = catCol;
    var ynum = numRows;
   
    var xgap = catColXgap;
    var ygap = catColYgap;
    var ox = 0
    var oy = 0
    var total = xnum*ynum
   
    var i=pos;
    var j=0; // used to reset the position
   
    var taco = i+numCatDisplay;
    //trace(pos);
   
    var temp = _root.createEmptyMovieClip("temp", _root.getNextHighestDepth());
    temp.onEnterFrame = function(){
        if(i<taco && i<catTotal){
           
            //trace(i);
            var myCat = catWrap.attachMovie("cat", "cat_mc"+i, i);
            var myImg = imgWrap.attachMovie("thumb", "thumb_mc"+i, i);
           
            // mc covering thumbnails to hide dynamic text
            myImg.tnHider_mc.alphaTo(0, 3);
           
            myCat._alpha = 0;
            myImg._alpha = 0;
            myCat.alphaTo(100, 3);
            myImg.alphaTo(100, 3);
           
            myCat._x = Math.round(ox + (j%xnum)*(xgap + myCat._width));
            myCat._y = Math.round(oy + int(j/xnum)*ygap);
           
            myImg._x = Math.round(ox + (j%xnum)*(xgap + myImg._width-4)); // subtract 9 : because of drop shadow it adds to the width of box
            myImg._y = Math.round(oy + myCat._y + 25);
           
            var totalImg = myGallery[i]["image"].length;
       
            if(viewRand) {
                //get a random number between total number of images from each categories
                var RandImgNum = random(myGallery[i]["image"].length);
                var CurImage = RandImgNum;
                var ImgDate = myGallery[i]["image"][RandImgNum]["date"];
                var ImgTitle = myGallery[i]["image"][RandImgNum]["title"];
                var ImgDesc = myGallery[i]["image"][RandImgNum]["desc"];
                var ImgThumb = myGallery[i]["image"][RandImgNum]["thumb"];
                var ImgFull = myGallery[i]["image"][RandImgNum]["img"];
               
            } else {
                var CurImage = 0;
                // 0 == most recently added image <- controlled by php
                var ImgDate = myGallery[i]["image"][0]["date"];
                var ImgTitle = myGallery[i]["image"][0]["title"];
                var ImgDesc = myGallery[i]["image"][0]["desc"];
                var ImgThumb = myGallery[i]["image"][0]["thumb"];
                var ImgFull = myGallery[i]["image"][0]["img"];
            }
           
            //trace(ImgDesc);
           
            myCat.cat_txt.text = myGallery[i]["name"];
            myCat.total_txt.text = totalImg;
           
            myImg.title_txt.text =  ImgTitle;
            myImg.date_txt.text =  ImgDate;
           
            //need to send these to display thumbnails when user clicks the thumbnail from cat view
            myImg.empty_mc.total = total;
            myImg.empty_mc.curCat = i;
           
            myImg.empty_mc.curImage = CurImage;

            myImg.empty_mc.imgDesc = ImgDesc;
            myImg.empty_mc.thumbToLoad = ImgThumb;
            myImg.empty_mc.imgToLoad = ImgFull;
            myImg.empty_mc.loadThumb();
       
       
            myCat.onRollOver = function() {
                this.catBG_mc.colorTo(0x1b4d70, 0.5);
                this.cat_txt.colorTo(0xb5d9f2, 0.5);
            }
           
            myCat.onRollOut = function() {
                this.catBG_mc.colorTo(0x191919, 6);
                this.cat_txt.colorTo(0xa5a5a5, 0.5);
            }
           
            // when user clicks on one the categories, show thumbanils of that category
            myCat.total = total;
            myCat.chosenCat = i;
            myCat.onRelease = function() {
                dropDownBtn_mc.catName_txt.text = myGallery[this.chosenCat]["name"];
                activateCat(this, this.chosenCat);
                viewMode = "thumbView"; // change mode to thumb view
                showTnView(this.chosenCat, totalImg);
               
                enableCatViewBtn();
            }
           
            j++
            i++
        } else {
            delete this.onEnterFrame;
            this.removeMovieClip();
        }
    }
}



function activateCat(item, num) {
    if (currentItem != false) {
        deactivateCat(num);
    }
   
    // hide the dropdown if it's open
    if(dropDown) {
        doDropDown();
    }
   
    currentItem = item;

    currentItem.catBG_mc.colorTo(0x1b4d70, 0.5);
    currentItem.cat_txt.colorTo(0xb5d9f2, 0.5);
   
    currentItem.bg_mc.colorTo(0x10bddc, 0.2);
    currentItem.catName_txt.colorTo(0xddfaff, 0.2);
   
    /*
    dropDown_mc.catBtn_mc["dropDownBtn_mc"+num].bg_mc.colorTo(0x10bddc, 0.2);
    dropDown_mc.catBtn_mc["dropDownBtn_mc"+num].catName_txt.colorTo(0xddfaff, 0.2);
    dropDown_mc.catBtn_mc["dropDownBtn_mc"+num].enabled = false;
    */
    currentItem.enabled = false;
}

function deactivateCat(num) {

    // for catView btns
    currentItem.catBG_mc.colorTo(0x191919, 6);
    currentItem.cat_txt.colorTo(0xa5a5a5, 0.5);
   
    currentItem.bg_mc.colorTo(0xebeeef, 3);
    currentItem.catName_txt.colorTo(0x333333, 0.2);
    // for dropdown buttons
/*
    dropDown_mc.catBtn_mc["dropDownBtn_mc"+num].bg_mc.colorTo(0xebeeef, 3);
    dropDown_mc.catBtn_mc["dropDownBtn_mc"+num].catName_txt.colorTo(0x333333, 0.2);
    dropDown_mc.catBtn_mc["dropDownBtn_mc"+num].enabled = true;
    */
    currentItem.enabled = true;
    currentItem = undefined;
}


MovieClip.prototype.loadThumb = function() {

    var target = this;
    var imgDesc = this.imgDesc;
    var thumbToLoad = this.thumbToLoad;
    var imgToLoad = this.imgToLoad;
    var curImage = this.curImage;
    var curCat = this.curCat;
    var thumbTotal = this.total;
   
    this.loadMovie(thumbDir+thumbToLoad);
    var temp = this._parent.createEmptyMovieClip("temp", this._parent.getNextHighestDepth());
   
    temp.onEnterFrame = function() {
        var loaded = target.getBytesLoaded();
        var total = target.getBytesTotal();
        var perc = Math.round(loaded/total*100);
       
        target._parent.bar_mc._yscale = perc;
       
        //trace(perc);
        if(perc == 100) {
            target._parent.bar_mc.alphaTo(0, 5);
           
            target.curCat = curCat;
            target.curImage = curImage;
            target.imgDesc = imgDesc;
            target.imgToLoad = imgToLoad;
            target.maxWidth = 179;
            target.maxHeight = 55;
            target.thumbTotal = thumbTotal;
           
            target.shrinkImg();
           

            delete this.onEnterFrame;
            temp.removeMovieClip();
        }
    }
}


MovieClip.prototype.shrinkImg = function (){
   
    // init pos and alpha of click_txt
    this._parent.click_txt._alpha = 100;
    //this._parent.click_txt.roundedYSlideTo(15, 0.2);
   
    var orgWidth = this._width;
    var orgHeight = this._height;
   
    var orgX = this._x;
    var orgY = this._y;

   
    // resizeImg object is returned by resizeToFit prototype function and saved as myImage;
    var myImage = this.resizeToFit();
    this.tween(["_width", "_height"], [myImage.newWidth, myImage.newHeight], 1);


    // slide the image to the middle point y
    var yMiddle = -(Number(myImage.newHeight/2)-40);
    //trace(yMiddle);
    //this.ySlideTo(yMiddle, 2);
   
   
    this.onRollOver = function() {
        //this._parent.click_txt.alphaTo(100, 2);
        this._parent.click_txt.roundedYSlideTo(-8, 1);
        // make it dark
        this._parent.rollover_mc.alphaTo(70, 0.5);
        //this.tween(["_width", "_height"], [myImage.newWidth+20, myImage.newHeight+20], 2);
        //this.colorTransformTo(200, 0, 200, 0, 200, 0, 200, 0, 0.3, "linear");
        //this.colorTransformTo(100, 0, 100, 0, 100, 0, 100, 0, 1, "linear", 0.3);
    }
    this.onRollOut = function() {
        //this._parent.click_txt.alphaTo(0, 2);
        this._parent.click_txt.roundedYSlideTo(-24.6, 1);
        this._parent.rollover_mc.alphaTo(0, 3);
        //this.tween(["_width", "_height"], [myImage.newWidth, myImage.newHeight], 2);
    }

    this.onRelease = function()  {
       
        // hide the dropdown if it's open
        if(dropDown) {
            doDropDown();
        }
       
        // reset current image to this image user just clicked on
        _root.curImage = this.curImage;
        // reset the category
        _root.curCat = this.curCat;
       
        this._parent.rollover_mc.alphaTo(90, 0.5);
        //this._parent.viewing_mc.alphaTo(100, 6);

        this._parent.click_txt.roundedYSlideTo(-24.6, 1);
       
        //activateItem(this, myImage.newWidth, myImage.newHeight);
       
       
        // view the image in full scale
        showFullImage(this.imgToLoad, this.imgDesc);
   
    }
}



// TIMER FUNCTION
function loadTimer() {

    var speed = defTranSpeed;
    //var timer = _root.attachMovie("timer", "timer_mc", _root.getNextHighestDepth());

    //timer._x = 474;
    //timer._y = 15;

    myTimer = new Timer();
    myTimer.setDelay(5);
    myTimer.setAlarm(speed);
    var obj = new Object;
    myTimer.addListener(obj);
   
    //reset the timer
    myTimer.reset();
   
    obj.onTimerStart = function(t){
        //trace("Starting countdown::\n" + myTimer.getAlarm());
    }
    obj.onTimerTick = function(t){
       
        //trace(myTimer.getAlarm() - t);
        var curTime = myTimer.getAlarm() - t;
        //trace(curTime);
       
        var curScale = -Math.round((((curTime * 100)/speed) - 100));
        timer_mc.bar_mc._xscale = curScale;
        timer_mc.bar_mc._alpha = 50;
        /*
        // caculate degrees relative to seconds
        // caculate 0 to 360

        var curDegree = - Math.round((((curTime * 360)/speed) - 360));
        //reset rotation
        timer.lhalf_mc._rotation = 0;
        if(curDegree < 180) {
            timer.fhalf_mc._rotation = curDegree + 180;
        }
        if(curDegree >= 180) {
            timer.lhalf_mc._rotation = curDegree + 180;
        }
        */
    }
    obj.onTimerAlarm = function(){

        //trace("Time is up!");
       
        //total of images in chosen category
        var totalImages = myGallery[curCat]["image"].length;
       
        // update the counter and load the news using counter
        if(curImage == totalImages) { // after last one go back to first image
            curImage = 0;
        }

        if(curImage < totalImages-1) {
            showNextImage();
        } else {
            curImage = -1;
            showNextImage();
        }
        //trace(curImage);
       
        // reset the timer so it loops
        myTimer.reset();
    }
   
    myTimer.start();
   
    slideshow_mc.onRelease = function() {
        timerToggle();
    }
}



function showFullImage(imgToLoad, desc) { //<--------------------------------------------------------- SHOW FULL IMAGE // START FROM HERE...

    // reset the conditions
    transBG_mc._x = 34;
    transBG_mc._y = 34;
    transBG_mc._visible = true;
    transBG_mc.alphaTo(100, 1);
    transBG_mc.mask_mc._alpha = 0;

    transBG_mc.swapDepths(_root.getNextHighestDepth());
    transBG_mc.fake_btn.enabled = false;

    transBG_mc.mask_mc.alphaTo(100, 0.7, undefined, 0,
        function() {
            //load preloader
            var myPreloader = transBG_mc.attachMovie("imagePreloader", "preloader_mc", this.getNextHighestDepth());
            myPreloader._alpha = 0;
            myPreloader.alphaTo(100, 1);
            myPreloader._x = transBG_mc._width/2;
            myPreloader._y = transBG_mc._height/2-20;
            loadFull(imgToLoad, desc);
        }
    );
   
    /*
    transBG_mc.exit_mc.onRelease = function() {
        transBG_mc.slideTo(34, -900, 0.1);
    }
    */
}

function loadFull(imgToLoad, desc) {

    var holder = transBG_mc.picBG_mc.empty_mc;
   
    holder._alpha = 0;
    holder.loadMovie(imageDir+imgToLoad);
   
    var temp = holder._parent.createEmptyMovieClip("temp", holder._parent.getNextHighestDepth());
   
    temp.onEnterFrame = function() {
        var loaded = holder.getBytesLoaded();
        var total = holder.getBytesTotal();
        var perc = Math.round((loaded/total)*100);
       
        //trace(perc);
       
        if(perc == 100) {
            // hide the preloader
            transBG_mc.preloader_mc.alphaTo(0, 1, "linear", 0, function() { transBG_mc.prealoder_mc.removeMovieClip(); });
            //trace(holder._width);
            checkImageWidth(holder, desc);
           
            delete this.onEnterFrame;
            temp.removeMovieClip();
        }
    }
}

function checkImageWidth(holder, desc) {
    var temp = holder._parent.createEmptyMovieClip("temp", holder._parent.getNextHighestDepth());
    temp.onEnterFrame = function() {
        if(holder._width > 0) {
            //trace(holder._width);
            displayFullImage(holder, desc);
            // start the timer
            if(autoSlide) {
                loadTimer();
            }
            delete this.onEnterFrame;
            temp.removeMovieClip();
        }
    }
}


function timerToggle() {
    if(autoSlide) {
        slideshow_mc.gotoAndStop(2);
        myTimer.pause();
        autoSlide = false;
    } else {
        slideshow_mc.gotoAndStop(3);
        myTimer.resume();
        autoSlide = true;
    }
}



function displayFullImage(imageHolder, desc) {
   

    var imageBorder = 20;
    var mcW = imageHolder._width;
    var mcH = imageHolder._height;
   
   
    //total of images in chosen category
    var totalImages = myGallery[curCat]["image"].length;
    curImage_txt.text = Number(_root.curImage+1)+" of "+totalImages;

    enableImageNav(true);

    //trace(mcW);
   
    if(mcW > 710) {
        imageHolder.maxWidth = 710;
        var newSize = imageHolder.resizeToFit();
        imageHolder.tween(["_width", "_height"], [newSize.newWidth, newSize.newHeight], 0.5, undefined);
        var mcW = newSize.newWidth;
        var mcH = newSize.newHeight;
    }
   
    var xCenter = (transBG_mc.fake_btn._width/2) - (Number(mcW+imageBorder)/2);
    var yCenter = (transBG_mc.fake_btn._height/2) - (Number(mcH+imageBorder)/2);
   
    // center the image
    transBG_mc.picBG_mc.slideTo(xCenter, yCenter, 0.5);
    // resize the background
    transBG_mc.picBG_mc.bg_mc.tween(["_width", "_height"], [mcW+imageBorder, mcH+imageBorder], 0.5, undefined, 0, function() {  });
    transBG_mc.picBG_mc.bg_mc.alphaTo(100, 0.5, "linear", 0, function() { imageHolder.alphaTo(100, 2); });

   
    var descMC = _root.transBG_mc.desc_mc;
   
    // put description
    descMC.desc_txt.text = desc;
   
   
    // resize textfield
    var padding = 30;
    var myFormat_fmt = new TextFormat();
    var textDimension = myFormat_fmt.getTextExtent(desc, 200);
    var tWidth = textDimension.textFieldWidth;
    var tHeight = textDimension.textFieldHeight+20; // used 20 to prevent it from text get cut off at the end //////////////////////////
   
    descMC.desc_txt._width = tWidth;
    descMC.desc_txt._height = tHeight;
    // reposition textfield
    descMC.desc_txt._x = padding/2;
    descMC.desc_txt._y = padding/2;
    descMC.descBG_mc._width = tWidth+padding;
    descMC.descBG_mc._height = tHeight+padding;
    descMC._alpha = 0;
   
    imageHolder.onRollOver = function() {
        descMC.alphaTo(100, 1);
    }
    imageHolder.onRollOut = function() {
        descMC.alphaTo(0, 1);
    }
   
    // center image description mc
    var xDescCenter = ((transBG_mc.fake_btn._width+imageBorder)/2) - ((descMC._width+imageBorder)/2);
    var yDescCenter = ((transBG_mc.fake_btn._height+imageBorder)/2) - ((descMC._height+imageBorder)/2);
   
    descMC.slideTo(xDescCenter, yDescCenter, 0.5);
   
    // hide full view
    exit_mc.onRelease = function() {
        var DisappearW = mcW;
        var DisappearH = mcH;
        var DisappearXCenter = (transBG_mc.fake_btn._width/2) - (Number(DisappearW+imageBorder/2)/2);
        var DisappearYCenter = (transBG_mc.fake_btn._height/2) - (Number(DisappearH+imageBorder/2)/2);
       
        imageHolder.alphaTo(0, 0.2, "linear", 0, function() { imageHolder.unloadMovie() });
        //transBG_mc.picBG_mc.slideTo(DisappearXCenter, DisappearYCenter, 0.5, undefined, 0.5);
        //transBG_mc.picBG_mc.bg_mc.tween(["_width", "_height"], [DisappearW, DisappearH], 0.5, undefined, 0.5);
        transBG_mc.picBG_mc.bg_mc.alphaTo(0, 0.5, "linear", undefined);
        transBG_mc.alphaTo(0, 0.5, "linear", undefined, function() { transBG_mc._visible = false;});
       
       
        // disable image nav
        enableImageNav(false);
       
        this.btnRollOut();
       
        // stop the timer
        myTimer.pause();
   
    }
    exit_mc.onRollOver = function() {
        this.btnRollOver();
    }
    exit_mc.onRollOut = function() {
        this.btnRollOut();
    }
   
    next_mc.onRelease = function() {
        // turn off timer only if autoSlide is true
        if(autoSlide) {
            timerToggle();
        }
        showNextImage(imageHolder);
    }
    next_mc.onRollOver = function() {
        this.btnRollOver();
    }
    next_mc.onRollOut = function() {
        this.btnRollOut();
    }
   
    prev_mc.onRelease = function() {
        // turn off timer only if autoSlide is true
        if(autoSlide) {
            timerToggle();
        }
        showPrevImage(imageHolder);
    }
    prev_mc.onRollOver = function() {
        this.btnRollOver();
    }
    prev_mc.onRollOut = function() {
        this.btnRollOut();
    }
   
    slideshow_mc.onRelease = function() {
        timerToggle();
    }
    slideshow_mc.onRollOver = function() {
        if(!autoSlide) {
            this.btnRollOver();
        }
    }
    slideshow_mc.onRollOut = function() {
        this.btnRollOut();
    }
   
}




MovieClip.prototype.btnRollOver = function() {
    this.btn_mc.bg_mc.colorTo(0x333333, 0.1);
    this.btn_mc.icon_mc.colorTo(0xffffff, 0.1);
}

MovieClip.prototype.btnRollOut = function() {
    this.btn_mc.bg_mc.colorTo(0xffffff, 0.1);
    this.btn_mc.icon_mc.colorTo(0x333333, 0.1);
}




// enable image navigation buttons
function enableImageNav(showNav) {
    if(showNav) {
        if(autoSlide) {
            slideshow_mc.gotoAndStop(3);
        } else {
            slideshow_mc.gotoAndStop(2);
        }
        next_mc.gotoAndStop(2);
        prev_mc.gotoAndStop(2);
        exit_mc.gotoAndStop(2);
        curImage_txt.colorTo(0x333333, 0.5);
        slideshow_mc.enabled = true;
        next_mc.enabled = true;
        prev_mc.enabled = true;
        exit_mc.enabled = true;
       
    } else {
        slideshow_mc.gotoAndStop(1);
        next_mc.gotoAndStop(1);
        prev_mc.gotoAndStop(1);
        exit_mc.gotoAndStop(1);
        curImage_txt.colorTo(0xcccccc, 0.5);
        slideshow_mc.enabled = false;
        next_mc.enabled = false;
        prev_mc.enabled = false;
        exit_mc.enabled = false;
    }
}

function showNextImage(imageHolder) {
    //total of images in chosen category
    var totalImages = myGallery[curCat]["image"].length;
    if(totalImages-1 > curImage) {
       
        _root.curImage += 1;

    } else if(totalImages-1 == curImage) {
       
        _root.curImage = 0;
       
    }
   
    //fade the picture out
    imageHolder.alphaTo(0, 0.5, "linear");

    var ImgDesc = myGallery[curCat]["image"][curImage]["desc"];
    var ImgFull = myGallery[curCat]["image"][curImage]["img"];
   
    /*
    // disable thumb
    var thumb = imgWrap_mc["thumb_mc"+curImage];
    activateItem(thumb);*/
   
    curImage_txt.text = Number(_root.curImage+1)+" of "+totalImages;
    showFullImage(ImgFull, ImgDesc);
   
}


function showPrevImage(imageHolder) {
    //total of images in chosen category
    var totalImages = myGallery[curCat]["image"].length;
    if(curImage > 0) {
       
        _root.curImage -= 1;

    } else if(curImage == 0) {
       
        _root.curImage = totalImages-1;
       
    }
   
    //fade the picture out
    imageHolder.alphaTo(0, 0.5, "linear");
    var ImgDesc = myGallery[curCat]["image"][curImage]["desc"];
    var ImgFull = myGallery[curCat]["image"][curImage]["img"];
       
    curImage_txt.text = Number(_root.curImage+1)+" of "+totalImages;
    showFullImage(ImgFull, ImgDesc);
   
}


function activateItem(item, oWidth, oHeight) {
    // hide the dropdown if it's open
    if(dropDown) {
        doDropDown();
    }
   
    if (currentItem != false) {
        deactivateItem();
    }
    currentItem = item;

    currentItem.oWidth = oWidth;
    currentItem.oHeight = oHeight;
    currentItem.enabled = false;
}
 
function deactivateItem() {
    currentItem.tween(["_width", "_height"], [currentItem.oWidth, currentItem.oHeight], 2);
    currentItem._parent.viewing_mc.alphaTo(0, 1);
    currentItem._parent.rollover_mc.alphaTo(0, 3);
    currentItem.enabled = true;
    currentItem = undefined;
}

/* prototype for resizing an image to defined size while keeping ratio */
/* it returns an object with new width and height */

MovieClip.prototype.resizeToFit = function (){

    var pMaxWidth = this.maxWidth;
    var pMaxHeight = this.maxHeight;
   
    // determines ratio depends on the width and height
    //this._width>=this._height ? ratio=pMaxWidth/this._width : ratio=pMaxHeight/this._height;
   
    // ratio based on width
    var ratio=pMaxWidth/this._width;

    var resizedImg = new Object();
    resizedImg.newWidth = Math.round(this._width*ratio);
    resizedImg.newHeight = Math.round(this._height*ratio);
   
    return resizedImg;
}


function showTnView(catNum, totalImg) {
    viewMode = "thumbView";
    curCat = catNum;
   
   
    // determine the number of pages needed for viewing thumbnails
    if(totalImg > numThumbDisplay) {
        trace('true');
        thumbNumPages = Math.ceil(totalImg/numThumbDisplay);
       
    } else {
        trace('false');
        // if categories are less than the limit only one page is needed
        thumbNumPages = 1;
    }

    // start from first page
    thumbPageCounter = 1;
           
    // start from 0;
    var pos = 0;
   
    // output page status
    page_txt.text = thumbPageCounter+" of "+thumbNumPages;
   
    // initialize
    prevBtn(thumbPageCounter);
    nextBtn(thumbPageCounter, thumbNumPages);
   
    remove();
    showThumbs(catNum, pos);
   
}
   
function remove() {

    hideCat();
    /*
    // count how many thumbnails are currently sitting inside of imgWrap_mc
    var count = 0;
    for(var each in imgWrap_mc) {
        count++;
    }
    trace(count);
   
    var i=0;
    var temp = _root.createEmptyMovieClip("temp", _root.getNextHighestDepth());
    temp.onEnterFrame = function(){
        if(i<count){
            imgWrap_mc["thumb_mc"+i].tnHider_mc.alphaTo(100, 1, undefined, 0, function() { this._parent.removeMovieClip() });
            //catWrap_mc["cat_mc"+i].alphaTo(0, 1, undefined, 0, function() { });
            //imgWrap_mc["thumb_mc"+i].alphaTo(0, 1, undefined, 0, function() { this.removeMovieClip() });
           
            i++
        } else {
            hideCat();
            delete this.onEnterFrame;
        }
    }
    */
}


function hideCat() {
    for(var i=0; i<catTotal; i++) {
        var eachCat = catWrap_mc["cat_mc"+i];
       
        //eachCat.tween("_x", 0, 1);
        //eachCat.tween("_y", Math.round(Number(eachCat._height+1) *i), 1);
        eachCat._visible = false;
    }
}


function showThumbs(catNum, pos) {
   
    imgWrap_mc.removeMovieClip();
    var imgWrap = _root.createEmptyMovieClip("imgWrap_mc", _root.getNextHighestDepth());

    imgWrap._x = 58;
    imgWrap._y = 120;
   
    dropDown_mc.swapDepths(_root.getNextHighestDepth());
    dropDownBtn_mc.swapDepths(_root.getNextHighestDepth());
   
    var total;

    var totalThumbs = myGallery[catNum]["image"].length;

    var numRows = totalThumbs/catCol;
   
    var xnum = catCol;
    var ynum = numRows;

    var xgap = catColXgap;
    var ygap = catColYgap-28;
    var ox = 0
    var oy = 0
   
    var total = xnum*ynum
   
    var i=pos;
    var j=0; // used to reset the position

    var taco = i+numThumbDisplay;
   
    var temp = _root.createEmptyMovieClip("temp", _root.getNextHighestDepth());
    temp.onEnterFrame = function(){
       
        if(i<taco && i<totalThumbs){
            //trace(i);
            var myImg = imgWrap_mc.attachMovie("thumb", "thumb_mc"+i, i);
           
            myImg._alpha = 0;
            myImg.alphaTo(100, 3);
            myImg.tnHider_mc.alphaTo(0, 3);

            myImg._x = Math.round(ox + (j%xnum)*(xgap + myImg._width-4)); // subtract 9 : because of drop shadow it adds to the width of box
            myImg._y = Math.round(oy + int(j/xnum)*ygap);

            var ImgDate = myGallery[catNum]["image"][i]["date"];
            var ImgTitle = myGallery[catNum]["image"][i]["title"];
            var ImgDesc = myGallery[catNum]["image"][i]["desc"];
            var ImgThumb = myGallery[catNum]["image"][i]["thumb"];
            var ImgFull = myGallery[catNum]["image"][i]["img"];
           
            myImg.title_txt.text =  ImgTitle;
            myImg.date_txt.text =  ImgDate;
           
            myImg.empty_mc.curCat = catNum;
            myImg.empty_mc.curImage = i;
            myImg.empty_mc.imgDesc = ImgDesc;
            myImg.empty_mc.imgToLoad = ImgFull;
            myImg.empty_mc.thumbToLoad = ImgThumb;
            myImg.empty_mc.loadThumb();
       
            j++;
            i++;
        } else {
            delete this.onEnterFrame;
            this.removeMovieClip();
        }
    }
} // end of showThumbs()
   



dropDownBtn_mc.onRelease = function() {
    doDropDown();
}


function doDropDown() {
    if(!dropDown) {
        dropDown_mc.ySlideTo(68, 0.8, "easeOutExpo");
        dropDown = true;
    } else {
        dropDown_mc.ySlideTo(-120, 0.8, "easeOutExpo");
        dropDown = false;
    }
}

dropDown_mc.mask_mc.onEnterFrame = function() {
   
    //only if btns exceed
    if(dropDown_mc.bg_mc.hitTest(_root._xmouse, _root._ymouse, true) && this._parent.catBtn_mc._height > this._height) {
        ymin = this._y+this._height-this._parent.catBtn_mc._height;
        ymax = this._y;
        conv = (this._ymouse-15)*1.3/this._height;
        conv>1 ? conv=1 : null;
        conv<0 ? conv=0 : null;
        this._parent.catBtn_mc.ySlideTo(Math.round(ymax - conv*(ymax-ymin)), 1);
    }
}

dropDown_mc._y = -120;
dropDown_mc.catBtn_mc.setMask(dropDown_mc.mask_mc);
dropDown_mc.setMask(dropMask_mc);







END OF SCRIPT

On Thu, Oct 28, 2010 at 12:57 AM, Watchman <skunkingrahim@gmail.com> wrote:
@Abdul. Please send actionscript alone, my orange connection doesn't allow me to download a 3MB file unless you can wait 2 hrs.


On Thu, Oct 28, 2010 at 9:17 AM, Muhile Abdulaziz <abdulaziz.muhile@gmail.com> wrote:

Halo
I have a problem and this is because i don't know Action script, i want to customize the gallery so that the thumbnails and the menu that lists the name and number of images in a category have the same functions.
that is when you click on the thumbnail  you view all the thumbnails of the category it represents, please assist the gallery can be downloaded from here {http://tonyyoo.com/gallery/ImageGallery.zip} with its source files intact 

Thank you

_______________________________________________
Skunkworks mailing list
Skunkworks@lists.my.co.ke
http://lists.my.co.ke/cgi-bin/mailman/listinfo/skunkworks
------------
Skunkworks Rules
http://my.co.ke/phpbb/viewtopic.php?f=24&t=94
------------
Other services @ http://my.co.ke



--
...and I shall shed my light over dark evil.
For the dark things cannot stand the light.



_______________________________________________
Skunkworks mailing list
Skunkworks@lists.my.co.ke
http://lists.my.co.ke/cgi-bin/mailman/listinfo/skunkworks
------------
Skunkworks Rules
http://my.co.ke/phpbb/viewtopic.php?f=24&t=94
------------
Other services @ http://my.co.ke



--
regards

AA.Muhile Abdul
Title:  Creative 

Address
Plot 145, Kijitonyama Area,
P.O.Box 71387
Dar es Salaam
Tanzania
Cell: +255 783 018998