function mySlides(sImageIdsA, iTimeoutA, iImageWidthA, iImageHeightA) {

    this.arrImageIds = sImageIdsA.split(',');
    this.iTimeout = iTimeoutA;
    this.iImage = 0;
    this.angle = 0;

    if (!iImageWidthA)
        iImageWidthA = 0;

    if (!iImageHeightA)
        iImageHeightA = 0;

    var i;

    for (i = 0; i < this.arrImageIds.length; i++) {

        // Create name of next image to show
        var imageID = "#" + this.arrImageIds[i];

        if (iImageWidthA > 0)
            $(imageID + ' > img').width(iImageWidthA);

        if (iImageHeightA > 0)
            $(imageID + ' > img').height(iImageHeightA);

        //$(imageID + ' > img').transform({ rotate: '45deg' });
    }
}

function startSlideShow(mySlidesA) {

    clearTimeout(mySlidesA.timer);

    mySlidesA.timer = setTimeout(function () { nextImage(mySlidesA); }, mySlidesA.iTimeout);
}

function nextImage(mySlidesA) {

    // Create name of current image being shown
    var imageOld = "#" + mySlidesA.arrImageIds[mySlidesA.iImage];

    // Increment image number
    mySlidesA.iImage++;

    // Have we exceeded maximum array index?
    if (mySlidesA.iImage >= mySlidesA.arrImageIds.length)
        // Yes - reset to 0
        mySlidesA.iImage = 0;

    // Create name of next image to show
    var imageNew = "#" + mySlidesA.arrImageIds[mySlidesA.iImage];

    //if (mySlidesA.iImage % 2 == 1)
    //    $(imageNew + ' > img').transform({ reflectY: true });

   // mySlidesA.angle = (mySlidesA.angle + 45) % 360;

   // $(imageNew + ' > img').animate({ rotate: mySlidesA.angle }); 

    $(imageNew).css("visibility", "visible");
    $(imageNew).css("opacity", "0");

    $(imageOld).animate({ "opacity": -1 }, 3000, "linear", null);
    $(imageNew).animate({ "opacity": 1 }, 3000, "linear", null);

    clearTimeout(mySlidesA.timer);
    mySlidesA.timer = setTimeout(function () { nextImage(mySlidesA); }, mySlidesA.iTimeout);

}

