# Displaying 2 or more gallery's using XML

**URL:** <https://forum.kirupa.com/t/displaying-2-or-more-gallerys-using-xml/151764>\
**Category:** flash\
**Created:** [June 17, 2005, 10:13pm UTC](https://forum.kirupa.com/t/displaying-2-or-more-gallerys-using-xml/151764 "2005-06-17T22:13:28Z")\
**Posts on this page:** 1\
**Page:** 1

<div class="post-metadata">

**Author:** ![nisamnormalan](https://avatars.discourse-cdn.com/v4/letter/n/90ced4/32.png) [@nisamnormalan](https://forum.kirupa.com/u/nisamnormalan)\
**Post date:** [June 17, 2005, 10:13pm UTC](https://forum.kirupa.com/t/displaying-2-or-more-gallerys-using-xml/151764/1 "2005-06-17T22:13:28Z")

</div>

Ok I need help and I need it bad…

_I got 2 .xml files which looks like_

```auto
 
<gallery timer="5" order="sequential" fadetime="2" looping="yes" xpos="0" ypos="0"> 
<image path="proba/1.jpg" /> 
<image path="proba/2.jpg" /> 
<image path="proba/3.jpg" /> 
<image path="proba/4.jpg" /> 
<image path="proba/5.jpg" /> 
</gallery> 

```

**I’m trying to display them in two diferent .swf files!**

_First gallery_ I click on display images just fine, but as soon as I click on _other_, things goes wrong. It display _first image_ from _second gallery_ and than it jumps back to the _first gallery_ again!!!

I’m guessing there must be some .as conflict, can anyone help out??

.AS

```auto
 var container_mc = this.createEmptyMovieClip("container",0);
// movie clip containers
container_mc.createEmptyMovieClip("loader1_mc",2);
container_mc.createEmptyMovieClip("loader2_mc",1);
// preload watcher
this.createEmptyMovieClip("watcher_mc",100);
// load xml
images_xml = new XML();
images_xml.ignoreWhite=true;
images_xml.onLoad = parse;
images_xml.load("proba.xml");
function parse(success) {
if (success) {
imageArray = new Array();
var root = this.firstChild;
_global.numPause = Number(this.firstChild.attributes.timer * 1000);
_global.order = this.firstChild.attributes.order;
_global.looping = this.firstChild.attributes.looping;
_global.fadetime = Number(this.firstChild.attributes.fadetime);
_global.xpos = Number(this.firstChild.attributes.xpos);
_global.ypos = Number(this.firstChild.attributes.ypos);
var imageNode = root.lastChild;
var s=0;
while (imageNode.nodeName != null) {
imageData = new Object;
imageData.path = imageNode.attributes.path;
imageArray[s]=imageData;
imageNode = imageNode.previousSibling;
s++;
}
// place parent container
container_mc._x = -120;
container_mc._y = -90;
// parse array
imageArray.reverse();
imageGen(imageArray);
} else {
trace('problem');
}
}
// depth swapping
function swapPlace(clip,num) {
eval(clip).swapDepths(eval("container_mc.loader"+num+"_mc"));
}
function loadImages(data,num) {
if (i==undefined || i == 2) {
i=2;
createLoader(i,data,num);
i=1;
} else if (i==1) {
createLoader(i,data,num);
i=2;
}
}
function createLoader(i,data,num) {
thisLoader=eval("container_mc.loader"+i+"_mc");
thisLoader._alpha=0;
thisLoader.loadMovie(data[num].path);
watcher_mc.onEnterFrame=function () {
var picLoaded = thisLoader.getBytesLoaded();
var picBytes = thisLoader.getBytesTotal();
if (isNaN(picBytes) || picBytes < 4) {
return;
}
if (picLoaded / picBytes >= 1) {
swapPlace("container_mc.loader2_mc",1);
alphaTween = new mx.transitions.Tween(thisLoader, "_alpha", mx.transitions.easing.Regular.easeOut,0,100,_global.fadetime,true);
timerInterval = setInterval(imageGen,_global.numPause,data);
delete this.onEnterFrame;
}
}
}
function imageGen(data) {
// random, or sequential?
if (_global.order=="random") {
// choose random # between 0 and total number of images
while (randomNum == randomNumLast) {
randomNum = Math.floor(Math.random() * data.length);
trace(randomNum);
}
loadImages(data,randomNum);
randomNumLast = randomNum;
} else if (_global.order=="sequential") {
// start at 0, increment to total number of images, then drop back to zero when done
if (p==undefined || p==data.length && _global.looping=="yes") { p=0; } else { break; }
loadImages(data,p);
p++;
} else {
trace ("order attribute in xml isn't correct - must specify either 'random' or 'sequential'");
}
clearInterval(timerInterval);
}
stop(); 

```

Ty
