var url_xml = './swapImg_fade.xml';
var dur_default = 1.0;
var still_default = 1.0;

var http = new JKL.ParseXML(url_xml);
var items = http.parse().root.item;
if(!items[0]) {
    items = new Array();
    items[0] = http.parse().root.item;
}

var dur = new Array();
var still = new Array();

for(var i = 0 ; i < items.length ; i++ ) {
    var item = items[i];
    var imgs = item.images.img;
    var width = item.images.width;
    var height = item.images.height;
    var wrap = $(item.id);
    var dur = item.motion ? Number(item.motion.dur) : dur_default;
    var still = item.motion ? Number(item.motion.still) : still_default;
    var startTime = 0;
    item.imgids = new Array();

    wrap.style.display = 'block';
    wrap.style.width = width + 'px';
    wrap.style.height = height + 'px';
    wrap.style.fontSize = height + 'px';
    wrap.style.lineHeight = '1';
    wrap.style.position = 'relative';

    for(var j = 0 ; j < imgs.length ; j++ ) {
        var img = imgs[j];
        img.el = document.createElement('img');
        img.el.src = img.src;
        img.el.width = width;
        img.el.height = height;
        img.el.style.position = 'absolute';
        img.el.style.left = img.el.style.top = '0px';
        item.imgids[j] = img.el.id = item.id + '31415926imgid_' + j;
        Element.setOpacity(img.el,0.0);
        img.startTime = startTime;
        wrap.appendChild(img.el);
        startTime = startTime + dur + still;
    }
    var sif = new Function('','swapImg_fade(items[' + i + '].images.img,' + dur + ',' + still + ')');
    sif();
    window.setInterval(sif, imgs.length * (dur + still) * 1000);
}

function swapImg_fade(imgs,dur,still) {
    for(var j = 0 ; j < imgs.length ; j++ ) {
        var img = imgs[j];
        appearFade(img.el.id,img.startTime,dur,still)
    }
}

function appearFade(imgid,start,dur,still) {
    new Effect.Appear(imgid,{
        from : 0.0,
        to : 1.0,
        delay : start,
        duration : dur
    });
    new Effect.Fade(imgid,{
        from : 1.0,
        to : 0.0,
        delay : start + dur + still,
        duration : dur
    });
}
