1 Attachment(s)
xml photo gallery with a category drop down menu
hi guys,
i need some help with this script, i am building a photo gallery with a drop down menu that reveals many photo libraries and all are xml generated, the idea is to have a gallery where it is updatable without the use of flash knowledge, just xml. so i reached with this script to have a drop down menu that opens and you can choose between the galleries, each gallery reveals thumbnails, the problem is when you choose a photo from the thumbnail, the drop down menu stops working. so i need help where the menu still function after you choose a photo. (when you chose a photo u have the posibility to see the caption of the photo and then go back to thumbnail or continue see the photos by a "next" button) i am attaching the file in zip formate and im attaching the script also. thanx
this._parent.title._visible = false
this._parent.info.info._visible = false
this._parent.info.bg._visible = false
var t=_root.attachMovie("mc2","t",245)
t.my.text="Caption"
t.my._visible = false
t._visible = false
t.pressed = true
t._x = 300
t._y = 513
t.onPress = showall
function showall(){
if(!this.pressed){
this._parent.title._visible = true
this._parent.info.info._visible = true
this._parent.info.bg._visible = true
previous_btn._visible = false
next_btn._visible = false
this.my.text="HIDE"
this.pressed=true
}else{
this.pressed = false
this._parent.title._visible = false
this._parent.info.info._visible = false
this._parent.info.bg._visible = false
previous_btn._visible = true
next_btn._visible = true
this.my.text="Caption"
}
}
var current = 0
var allLoaded =false
function rem(){
p=0
for(var obj in thumbnail_mc){
thumbnail_mc[obj].removeMovieClip()
}
}
cliparray=[]
var back=_root.attachMovie("mc3","back",600)
back._x =400
back._y=515
back.my.text =""
back._visible = false
back.onPress = backo
function backo(){
thumbnail_mc._visible = true
this._parent.info.bg._visible = false
this._parent.info.info._visible = false
this._parent.title._visible = false
picture._visible = false
next_btn._visible = false
previous_btn._visible = false
t.my._visible = false
t._visible = false
t.pressed = true
desc_txt._visible = false
pos_txt._visible = false
this._visible = false
for(var obj in cliparray){
cliparray[obj]._visible = true
}
}
//gallery btn!
myvar = false;
function ro() {
if (!myvar) {
_root.sw._visible = true;
myvar = true;
this.my.text = "MENU CLOSE";
} else {
_root.sw._visible = false;
myvar = false;
this.my.text = "MENU OPEN";
}
}
lip = _root.attachMovie("mc", "mc"+45, 345);
lip.my.text = "MENU OPEN";
lip._x = 1;
lip._y = 1;
_root.createEmptyMovieClip("sw", 100);
_root.sw._y = lip._y+lip._height;
_root.sw._visible = false;
lip.onPress = ro;
function loadXML(loaded) {
if (loaded) {
rem();
//lip.onRollOut = ro2
for (var j = 0; j<this.firstChild.childNodes.length; j++) {
clip = _root.sw.attachMovie("mc", "mc"+j, j);
clip._x = 1;
clip._y = 1+j*(clip._height+1);
clip.my.text = this.firstChild.childNodes[j].attributes.name;
clip.jvar = j;
cliparray.push(clip);
clip.onPress = presto;
}
xmlNode = this.firstChild.childNodes[current];
image = [];
description = [];
thumbnails = [];
title = [];
info = [];
total = xmlNode.childNodes.length;
for (i=0; i<total; i++) {
image[i] = xmlNode.childNodes[i].childNodes[0].firstChild.nodeValue;
description[i] = xmlNode.childNodes[i].childNodes[1].firstChild.nodeValue;
thumbnails[i] = xmlNode.childNodes[i].childNodes[2].firstChild.nodeValue;
title[i] = xmlNode.childNodes[i].childNodes[3].firstChild.nodeValue;
info[i] = xmlNode.childNodes[i].childNodes[4].firstChild.nodeValue;
thumbnails_fn(i);
}
firstImage();
} else {
content = "file not loaded!";
}
}
function presto(){
current = this.jvar
xmlData.load("photos.xml");
}
xmlData = new XML();
xmlData.ignoreWhite = true;
xmlData.onLoad = loadXML;
xmlData.load("photos.xml");
/////////////////////////////////////
listen = new Object();
listen.onKeyDown = function() {
if (Key.getCode() == Key.LEFT) {
prevImage();
} else if (Key.getCode() == Key.RIGHT) {
nextImage();
}
};
Key.addListener(listen);
previous_btn._visible = false
previous_btn.onRelease = function() {
prevImage();
pos_txt._visible = true
};
next_btn._visible = false
next_btn.onRelease = function() {
nextImage();
pos_txt._visible = true
};
/////////////////////////////////////
p = 0;
this.onEnterFrame = function() {
filesize = picture.getBytesTotal();
loaded = picture.getBytesLoaded();
preloader._visible = true;
if (loaded != filesize) {
preloader.preload_bar._xscale = 100*loaded/filesize;
} else {
preloader._visible = false;
if (picture._alpha<100) {
picture._alpha += 10;
}
}
};
function nextImage() {
if (p<(total-1)) {
p++;
if (loaded == filesize) {
picture._alpha = 0;
picture.loadMovie(image[p], 1);
desc_txt.text = description[p];
this._parent.title.text=title[p]
this._parent.info.info.text=info[p]
picture_num();
}
}
}
function prevImage() {
if (p>0) {
p--;
picture._alpha = 0;
picture.loadMovie(image[p], 1);
desc_txt.text = description[p];
this._parent.title.text=title[p]
this._parent.info.info.text=info[p]
picture_num();
}
}
function firstImage() {
if (loaded == filesize) {
picture._alpha = 0;
picture.unloadMovie(image[0], 1);
desc_txt.text = description[0];
desc_txt._visible = false
this._parent.title.text=title[0]
this._parent.info.info.text=info[p]
picture_num();
}
}
cx=1
cy = 0
this.onEnterFrame = function() {
filesize = picture.getBytesTotal();
loaded = picture.getBytesLoaded();
preloader._visible = true;
if (loaded != filesize) {
preloader.preload_bar._xscale = 100*loaded/filesize;
} else {
picture._x =cx-picture._width/2
picture._y = cy-picture._height/2
preloader._visible = false;
if (picture._alpha<100) {
picture._alpha += 10;
}
}
};
function picture_num() {
current_pos = p+1;
pos_txt.text = current_pos+" / "+total;
pos_txt._visible = false
}
function thumbNailScroller() {
// thumbnail code!
this.createEmptyMovieClip("tscroller", 1000);
scroll_speed = 0;
tscroller.onEnterFrame = function() {
if ((_ymouse>=thumbnail_mc._y) && (_ymouse<=thumbnail_mc._y+thumbnail_mc._height)) {
if ((_xmouse>=(hit_right._x-40)) && (thumbnail_mc.hitTest(hit_right))) {
thumbnail_mc._x -= scroll_speed;
} else if ((_xmouse<=(hit_left._x+40)) && (thumbnail_mc.hitTest(hit_left))) {
thumbnail_mc._x += scroll_speed;
}
} else {
delete tscroller.onEnterFrame;
}
};
}
function thumbnails_fn(k) {
thumbnail_mc.createEmptyMovieClip("t"+k, thumbnail_mc.getNextHighestDepth());
tlistener = new Object();
tlistener.onLoadInit = function(target_mc) {
target_mc._x = -170+(target_mc._width+15)*(k%5)
target_mc._y =-10+ Math.floor(k/5)*(target_mc._height+15)
target_mc.pictureValue = k;
target_mc.onRelease = function() {
p = this.pictureValue-1;
nextImage();
thumbnail_mc._visible = false
next_btn._visible = true
previous_btn._visible = true
desc_txt._visible = true
pos_txt._visible = true
t.my._visible = true
t._visible = true
t.pressed = false
back._visible = true
for(var obj in cliparray){
cliparray[obj]._visible =false
}
};
target_mc.onRollOver = function() {
this._alpha = 50;
thumbNailScroller();
};
target_mc.onRollOut = function() {
this._alpha = 100;
};
};
image_mcl = new MovieClipLoader();
image_mcl.addListener(tlistener);
image_mcl.loadClip(thumbnails[k], "thumbnail_mc.t"+k);
}