/*==================================================*
$Id: slideshow.js,v 1.5 2003/02/20 17:34:00 pat Exp $
Copyright 2000 Patrick Fitzgerald
http://www.barelyfitz.com/webapps/apps/slideshow/

This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2 of the License, or
(at your option) any later version.

This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
GNU General Public License for more details.

You should have received a copy of the GNU General Public License
along with this program; if not, write to the Free Software
Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
*==================================================*/

// There are two objects defined in this file:
// "slide" - contains all the information for a single slide
// "slideshow" - consists of multiple slide objects and runs the slideshow

//==================================================
// slide object
//==================================================
function slide(src, link, text, window, attr, image0src, image1src, image2src, image3src, image4src, image5src, id, qty, largetext, video0src, video1src, video2src, video3src, video4src, video5src, image0ext, image1ext, image2ext, image3ext, image4ext, image5ext) {

    //imageext named parames and the parameters which have the attribute named as "longdesc" are added by sunil 16/07/2009


    // This is the constructor function for the slide object.
    // It is called automatically when you create a new slide object.
    // For example:
    // s = new slide();
    this.qty = qty;
    this.id = id;
    // Image URL
    this.src = src;

    // Link URL
    this.link = link;

    // Text to display
    this.text = text;
    this.largertext = largetext;
    this.image0src = image0src;
    this.image1src = image1src;
    this.image2src = image2src;
    this.image3src = image3src;
    this.image4src = image4src;
    this.image5src = image5src;

    this.image0ext = image0ext;
    this.image1ext = image1ext;
    this.image2ext = image2ext;
    this.image3ext = image3ext;
    this.image4ext = image4ext;
    this.image5ext = image5ext;

    this.video0src = video0src;
    this.video1src = video1src;
    this.video2src = video2src;
    this.video3src = video3src;
    this.video4src = video4src;
    this.video5src = video5src;

    // Name of the target window ("_blank")
    this.window = window;

    // Attributes for the target window:
    // width=n,height=n,resizable=yes or no,scrollbars=yes or no,
    // toolbar=yes or no,location=yes or no,directories=yes or no,
    // status=yes or no,menubar=yes or no,copyhistory=yes or no
    // Example: "width=200,height=300"
    this.attr = attr;

    // Create an image object for the slide
    if (document.images) {

        this.image = new Image();
        this.image0 = new Image();
        this.image1 = new Image();
        this.image2 = new Image();
        this.image3 = new Image();
        this.image4 = new Image();
        this.image5 = new Image();
    }
    // Public methods
    this.load = slide_load;
    this.hotlink = slide_hotlink;
}
function slide_load() {
    // This function loads the image for the slide
    if (!document.images) { return; }
    if (!this.image.src) {
        this.image.src = this.src;
        this.image.src = this.image.src.replace("/Admin", "");
    }
    if (!this.image0.src) {
        this.image0.src = this.image0src;
        this.image0.name = this.image0ext;
        this.image0.src = this.image0.src.replace("/Admin", "");
    }
    if (!this.image1.src) {
        this.image1.src = this.image1src;
        this.image1.name = this.image1ext;
        this.image1.src = this.image1.src.replace("/Admin", "");
    }
    if (!this.image2.src) {
        this.image2.src = this.image2src;
        this.image2.name = this.image2ext;
        this.image2.src = this.image2.src.replace("/Admin", "");
    }
    if (!this.image3.src) {
        this.image3.src = this.image3src;
        this.image3.name = this.image3ext;
        this.image3.src = this.image3.src.replace("/Admin", "");
    }
    if (!this.image4.src) {
        this.image4.src = this.image4src;
        this.image4.name = this.image4ext;
        this.image4.src = this.image4.src.replace("/Admin", "");
    }

    if (!this.image5.src) {
        this.image5.src = this.image5src;
        this.image5.name = this.image5ext;
        this.image5.src = this.image5.src.replace("/Admin", "");

    }
}


function slide_hotlink(event) {
    // This function jumps to the slide's link.
    // If a window was specified for the slide, then it opens a new window.

    if (this.window) {

        // If window attributes are specified, use them to open the new window
        if (this.attr) {
            //window.open(this.link, "mywindow", this.attr);
            document.getElementById('RecentPanel_IFrame').style.height = "auto";
            document.getElementById('RecentPanel_IFrame').style.height = this.attr;
            RecentPanel.serverUrl = this.link;
            RecentPanel.startCallback(event);
        } else {
            // If window attributes are not specified, do not use them
            // (this will copy the attributes from the originating window)
            //window.open(this.link, this.window);
            document.getElementById('RecentPanel_IFrame').style.height = "auto";
            document.getElementById('RecentPanel_IFrame').style.height = '500px';
            RecentPanel.serverUrl = this.link;
            RecentPanel.startCallback(event);
        }

    } else {
        // Open the hotlink in the current window
        location.href = this.link;
    }
}


//==================================================
// slideshow object
//==================================================
function slideshow(slideshowname) {
    // This is the constructor function for the slideshow object.
    // It is called automatically when you create a new object.
    // For example:
    // ss = new slideshow("ss");

    // Name of this object
    // (required if you want your slideshow to auto-play)
    // For example, "SLIDES1"

    this.name = slideshowname;

    // When we reach the last slide, should we loop around to start the
    // slideshow again?
    this.repeat = true;

    // Number of images to pre-fetch.
    // -1 = preload all images.
    //  0 = load each image as it is used.
    //  n = pre-fetch n images ahead of the current image.
    // I recommend preloading all images unless you have large
    // images, or a large amount of images.
    this.prefetch = 0;

    // IMAGE element on your HTML page.
    // For example, document.images.SLIDES1IMG
    this.image;

    this.image0;
    this.image1;
    this.image2;
    this.image3;
    this.image4;
    this.image5;

    // ID of an element on your HTML page that will contain the text.
    // For example, "slides2text"
    this.textid;

    // TEXTAREA element on your HTML page.
    // This is an alternate method from using textid,
    // since not all browsers can change the text within an HTML element.
    // For example, document.SLIDES1FORM.SLIDES1TEXT
    this.textarea;

    // Milliseconds to pause between slides
    this.timeout = 3000;

    // These are private variables
    this.slides = new Array();
    this.current = 0;
    this.timeoutid = 0;

    // Public methods
    this.set_Video = slideshow_set_Video;
    this.add_slide = slideshow_add_slide;
    this.set_image = slideshow_set_image;
    this.set_image0 = slideshow_set_image0;
    this.set_image1 = slideshow_set_image1;
    this.set_image2 = slideshow_set_image2;
    this.set_image3 = slideshow_set_image3;
    this.set_image4 = slideshow_set_image4;
    this.set_image5 = slideshow_set_image5;
    this.set_textarea = slideshow_set_textarea;
    this.set_textid = slideshow_set_textid;
    this.goto_slide_by_id = slideshow_goto_slide_by_id;
    this.play = slideshow_play;
    this.pause = slideshow_pause;

    this.update = slideshow_update;
    this.goto_slide = slideshow_goto_slide;
    this.next = slideshow_next;
    this.previous = slideshow_previous;

    this.get_text = slideshow_get_text;
    this.get_qty_by_id = slideshow_get_qty_by_id;
    this.get_price_by_id = slideshow_get_price_by_id;
    this.get_all_text = slideshow_get_all_text;
    this.display_text = slideshow_display_text;
    this.hotlink = slideshow_hotlink;

    this.save_position = slideshow_save_position;
    this.restore_position = slideshow_restore_position;

    this.noscript = slideshow_noscript;

    // Private methods
    this.loop = slideshow_loop;
    this.valid_image = slideshow_valid_image;
}
function slideshow_add_slide(slide) {
    // Add a slide to the slideshow.
    // For example:
    // SLIDES1.add_slide(new slide("s1.jpg", "link.html"))

    // If this version of JavaScript does not allow us to
    // change images, then we can't do the slideshow.
    if (!document.images) { return; }

    var i = this.slides.length;

    // Prefetch the slide image if necessary
    if (this.prefetch == -1) {
        slide.load();
    }
    this.slides[i] = slide;
}


function slideshow_set_textid(textidname) {
    // This function configures the slideshow to use an HTML element to display
    // the slideshow text. Not all web browsers can do this.
    // textidname is the ID of the HTML element.
    // For example, <DIV ID="slidetext">Slideshow text goes here</DIV>

    // Set the "textid" property of the slideshow object.
    this.textid = textidname;

    // Display the current text for the slide
    this.display_text();
}

function slideshow_set_textarea(textareaobject) {
    // This function configures the slideshow to use a textarea to display
    // the slideshow text.

    // Set the "textarea" property of the slideshow object.
    this.textarea = textareaobject;

    // Initialize the text in the textarea
    this.display_text();
}


function slideshow_set_image(imageobject) {
    // This function configures the slideshow and tells it which image
    // needs to be updated.

    // If this version of JavaScript does not allow us to
    // change images, then we can't do the slideshow.
    if (!document.images)
        return

    // Set the "image" property of the slideshow object.
    this.image = imageobject;
}

function slideshow_set_image0(imageobject) {
    // This function configures the slideshow and tells it which image
    // needs to be updated.

    // If this version of JavaScript does not allow us to
    // change images, then we can't do the slideshow.
    if (!document.images)
        return

    // Set the "image" property of the slideshow object.
    this.image0 = imageobject;
}
function slideshow_set_image1(imageobject) {
    // This function configures the slideshow and tells it which image
    // needs to be updated.

    // If this version of JavaScript does not allow us to
    // change images, then we can't do the slideshow.
    if (!document.images)
        return

    // Set the "image" property of the slideshow object.
    this.image1 = imageobject;

}
function slideshow_set_image2(imageobject) {
    // This function configures the slideshow and tells it which image
    // needs to be updated.

    // If this version of JavaScript does not allow us to
    // change images, then we can't do the slideshow.
    if (!document.images)
        return

    // Set the "image" property of the slideshow object.
    this.image2 = imageobject;
}
function slideshow_set_image3(imageobject) {
    // This function configures the slideshow and tells it which image
    // needs to be updated.

    // If this version of JavaScript does not allow us to
    // change images, then we can't do the slideshow.
    if (!document.images)
        return

    // Set the "image" property of the slideshow object.
    this.image3 = imageobject;
}
function slideshow_set_image4(imageobject) {
    // This function configures the slideshow and tells it which image
    // needs to be updated.

    // If this version of JavaScript does not allow us to
    // change images, then we can't do the slideshow.
    if (!document.images)
        return

    // Set the "image" property of the slideshow object.
    this.image4 = imageobject;
}
function slideshow_set_image5(imageobject) {
    // This function configures the slideshow and tells it which image
    // needs to be updated.

    // If this version of JavaScript does not allow us to
    // change images, then we can't do the slideshow.
    if (!document.images)
        return

    // Set the "image" property of the slideshow object.
    this.image5 = imageobject;
}


function slideshow_valid_image() {
    // Returns 1 if a valid image has been set for the slideshow

    if (!this.image) {
        // Stop the slideshow
        this.pause;

        // Display an error message
        window.status = "Error: slideshow image not initialized for " + this.name;

        return 0;
    }
    else {
        return 1;
    }
}


function slideshow_hotlink() {
    // This function calls the hotlink() method for the current slide.

    this.slides[this.current].hotlink();
}

function slideshow_set_Video(index, path) {
    // This function returns the text of the current slide

    // document.images.colorIMG.style.display = 'none';
    //  document.getElementById('divvideo').style.display = 'none';
    if (index == 0) {
        if (this.slides[this.current].video0src != undefined) {
            validatevideo('', 'none', this.slides[this.current].video0src);
            //      document.getElementById('divvideo').style.display = '';
            //      document.getElementById('divvideo').innerHTML = this.slides[this.current].video0src;
            //      document.getElementById('lnkX').style.display = 'none';
            setlargeviewtonull();
        }
        else {
            //alert(0);
            validatevideo('none', '', null);
            //      document.getElementById('divvideo').style.display = 'none';
            //      document.getElementById('lnkX').style.display = '';
            li(path);
        }
    }
    else if (index == 1) {
        if (this.slides[this.current].video1src != undefined) {
            validatevideo('', 'none', this.slides[this.current].video1src);
            setlargeviewtonull();
        }
        else {
            //alert(1);
            validatevideo('none', '', null);
            li(path);
        }
    }
    else if (index == 2) {
        if (this.slides[this.current].video2src != undefined) {
            validatevideo('', 'none', this.slides[this.current].video2src);
            //      document.getElementById('divvideo').style.display = '';
            //      document.getElementById('divvideo').innerHTML = this.slides[this.current].video2src;
            //      document.getElementById('lnkX').style.display = 'none';
            setlargeviewtonull();
        }
        else {
            validatevideo('none', '', null);
            li(path);
        }
    }
    else if (index == 3) {
        if (this.slides[this.current].video3src != undefined) {
            validatevideo('', 'none', this.slides[this.current].video3src);
            //      document.getElementById('divvideo').style.display = '';
            //      document.getElementById('divvideo').innerHTML = this.slides[this.current].video3src;
            //      document.getElementById('lnkX').style.display = 'none';
            setlargeviewtonull();
        }
        else {
            //   alert(3);
            validatevideo('none', '', null);
            li(path);
        }
    }
    else if (index == 4) {
        if (this.slides[this.current].video4src != undefined) {
            validatevideo('', 'none', this.slides[this.current].video4src);
            //      document.getElementById('divvideo').style.display = '';
            //      document.getElementById('divvideo').innerHTML = this.slides[this.current].video4src;
            //      document.getElementById('lnkX').style.display = 'none';
            setlargeviewtonull();
        }
        else {
            //   alert(4);
            validatevideo('none', '', null);
            //      document.getElementById('divvideo').style.display = 'none';
            //      document.getElementById('lnkX').style.display = '';
            li(path);
        }
    }
    else if (index == 5)
        if (this.slides[this.current].video5src != undefined) {
        validatevideo('', 'none', this.slides[this.current].video5src);
        //    document.getElementById('divvideo').style.display = '';
        //    document.getElementById('divvideo').innerHTML = this.slides[this.current].video5src;
        //    document.getElementById('lnkX').style.display = 'none';
        setlargeviewtonull();
    }
    else {
        // alert(5);
        validatevideo('none', '', null);
        //    document.getElementById('divvideo').style.display = 'none';
        //    document.getElementById('lnkX').style.display = '';
        li(path);
    }
}

//Added by Team1c -- 11/07/2009
function validatevideo(divvideo, lnkX, divvideoInnerHTML) {
    if (document.getElementById('divvideo') != null && document.getElementById('divvideo') != undefined)
        document.getElementById('divvideo').style.display = divvideo;
    if (document.getElementById('lnkX') != null && document.getElementById('lnkX') != undefined)
        document.getElementById('lnkX').style.display = lnkX;
    if (divvideoInnerHTML != null) {
        if (document.getElementById('divvideo') != null && document.getElementById('divvideo') != undefined)
            document.getElementById('divvideo').innerHTML = divvideoInnerHTML;
    }
}

function li(path) {
    var newpath = path.replace("Thumb", "Product");
    document.images.colorIMG.style.display = '';
    document.images.colorIMG.src = newpath;
}

function slideshow_update() {
    // This function updates the slideshow image on the page
    // Update the text
    this.display_text();
    // Make sure the slideshow has been initialized correctly
    if (this.name != 'size') {
        if (!this.valid_image()) { return; }

        // Load the slide image if necessary
        this.slides[this.current].load();

        // Pre-fetch the next slide image(s) if necessary
        if (this.prefetch > 0) {
            for (i = this.current + 1;
         i <= (this.current + this.prefetch) && i < this.slides.length;
         i++) {
                this.slides[i].load();
            }
        }
        document.getElementById('largeview').innerHTML = this.slides[this.current].largetext.toString().replace(/~~rn~~/g, Math.floor(Math.random() * 10000));
        // Update the image.
        var myRegExp = 'NoImage.gif';

        if (this.slides[this.current].video0src != undefined) {
            //      document.getElementById('divvideo').style.display = '';
            //      document.getElementById('lnkX').style.display = 'none';
            //      document.getElementById('divvideo').innerHTML = this.slides[this.current].video0src;
            validatevideo('', 'none', this.slides[this.current].video0src);
            this.image.src = '';
        }
        else {
            validatevideo('none', '', '');
            //      document.getElementById('divvideo').style.display = 'none';
            //      document.getElementById('lnkX').style.display = '';
            this.image.src = this.slides[this.current].image.src;
            //document.getElementById('divvideo').innerHTML='';
        }
        //this.image.src = this.slides[this.current].image.src;
        //document.getElementById('divvideo').innerHTML = this.slides[this.current].video0src;

        if (this.slides[this.current].image0.src != '') {
            var string1 = this.slides[this.current].image0.src;

            var match = string1.search(myRegExp);

            if (match == -1) {
                this.image0.src = this.slides[this.current].image0.src;
                this.image0.name = this.slides[this.current].image0.name;
                // alert(document.images.colorIMG.src);
                this.image0.style.display = '';
            }
            else
                this.image0.style.display = 'none';
        }
        else
            this.image0.display = 'none';

        if (this.slides[this.current].image1.src != '') {
            var string1 = this.slides[this.current].image1.src;

            var match = string1.search(myRegExp);

            if (match == -1) {
                this.image1.src = this.slides[this.current].image1.src;
                this.image1.name = this.slides[this.current].image1.name;
                this.image1.style.display = '';
            }
            else
                this.image1.style.display = 'none';
        }
        else
            this.image1.display = 'none';

        if (this.slides[this.current].image2.src != '') {
            var string1 = this.slides[this.current].image2.src;

            var match = string1.search(myRegExp);

            if (match == -1) {
                this.image2.src = this.slides[this.current].image2.src;
                this.image2.name = this.slides[this.current].image2.name;
                this.image2.style.display = '';
            }
            else
                this.image2.style.display = 'none';
        }
        else
            this.image2.display = 'none';

        if (this.slides[this.current].image3.src != '') {
            var string1 = this.slides[this.current].image3.src;

            var match = string1.search(myRegExp);

            if (match == -1) {
                this.image3.src = this.slides[this.current].image3.src;
                this.image3.name = this.slides[this.current].image3.name;
                this.image3.style.display = '';
            }
            else
                this.image3.style.display = 'none';
        }
        else
            this.image3.display = 'none';

        if (this.slides[this.current].image4.src != '') {
            var string1 = this.slides[this.current].image4.src;

            var match = string1.search(myRegExp);

            if (match == -1) {
                this.image4.src = this.slides[this.current].image4.src;
                this.image4.name = this.slides[this.current].image4.name;
                this.image4.style.display = '';
            }
            else
                this.image4.style.display = 'none';
        }
        else
            this.image4.display = 'none';


        if (this.slides[this.current].image5.src != '') {
            var string1 = this.slides[this.current].image5.src;

            var match = string1.search(myRegExp);

            if (match == -1) {
                this.image5.src = this.slides[this.current].image5.src;
                this.image5.name = this.slides[this.current].image5.name;
                this.image5.style.display = '';
            }
            else
                this.image5.style.display = 'none';
        }
        else
            this.image5.style.display = 'none';
    }
}

function slideshow_goto_slide(n) {
    // This function jumpts to the slide number you specify.
    // If you use slide number -1, then it jumps to the last slide.
    // You can use this to make links that go to a specific slide,
    // or to go to the beginning or end of the slideshow.
    // Thanks to Lennart Groetzbach (lennartg@web.de) for this code.
    // Examples:
    // <a href="javascript:myslides.goto_slide(0)">First</a>
    // <a href="javascript:myslides.goto_slide(-1)">Last</a>
    // <a href="javascript:myslides.goto_slide(5)">Catching a Fish</a>

    if (n == -1) {
        n = this.slides.length - 1;
    }

    if (n < this.slides.length && n >= 0) {
        this.current = n;
    }

    this.update();
}

function slideshow_goto_slide_by_id(selid) {
    this.current = 0;
    for (i = 0; i < this.slides.length; i++) {
        if (this.slides[i].id == selid) {
            this.current = i;
            this.update();
            return;
        }
    }
}
function slideshow_get_qty_by_id(selid) {
    // This function returns the qty of the current slide
    for (i = 0; i < this.slides.length; i++) {
        if (this.slides[i].id == selid) {
            return (this.slides[i].qty);
        }
    }
}
function slideshow_get_price_by_id(selid) {
    // This function returns the qty of the current slide
    for (i = 0; i < this.slides.length; i++) {
        if (this.slides[i].id == selid) {
            return (this.slides[i].text);
        }
    }
}
function slideshow_next() {
    // This function advances to the next slide.

    // Increment the image number
    if (this.current < this.slides.length - 1) {
        this.current++;
    } else if (this.repeat) {
        this.current = 0;
    }

    this.update();
}

function slideshow_previous() {
    // This function goes to the previous slide.

    // Decrement the image number
    if (this.current > 0) {
        this.current--;
    } else if (this.repeat) {
        this.current = this.slides.length - 1;
    }

    this.update();
}


function slideshow_display_text(text) {
    // This function displays text in the textarea.

    // If the "text" arg was not supplied (usually it isn't),
    // get the text from the slideshow
    if (!text) {

        text = this.slides[this.current].text;
    }

    // If a textarea has been specified,
    // then change the text displayed in it
    if (this.textarea) {
        this.textarea.value = text;
    }

    // If a text id has been specified,
    // then change the contents of the HTML element
    if (this.textid) {
        // Make sure we don't cause an error
        // for browsers that do not support getElementById
        if (!document.getElementById) { return false; }

        //    r = document.getElementById(this.textid);
        //    if (!r){ return false; }
        //    if (!r.innerHTML){ return false; }
        //    r.innerHTML = text;

        document.getElementById(this.textid).innerHTML = text;
    }
}

function slideshow_get_text() {
    // This function returns the text of the current slide

    return (this.slides[this.current].text);
}
function slideshow_get_all_text(before_slide, after_slide) {
    // This function returns the text for all of the slides.
    // For the text of each slide, add "before_slide" in front of the
    // text, and "after_slide" after the text.
    // For example:
    // document.write("<ul>");
    // document.write(myslideshow.get_all_text("<li>","\n"));
    // document.write("</ul>");

    all_text = "";

    // Loop through all the slides in the slideshow
    for (i = 0; i < this.slides.length; i++) {

        slide = this.slides[i];

        all_text += before_slide;

        if (slide.text) {
            all_text += slide.text;
        }

        all_text += after_slide;
    }

    return (all_text);

}


function slideshow_loop() {
    // This function is for internal use only.
    // This function gets called automatically by a JavaScript timeout.
    // It advances to the next slide, then sets the next timeout.

    // Go to the next image
    this.next();

    // Keep playing the slideshow
    this.play();
}


function slideshow_play(timeout) {
    // This function implements the automatically running slideshow.

    // Make sure we're not already playing
    this.pause();

    // If a new timeout was specified (optional)
    // set it here
    if (timeout) {
        this.timeout = timeout;
    }

    // After the timeout, call this.loop()
    this.timeoutid = setTimeout(this.name + ".loop()", this.timeout);
}


function slideshow_pause() {
    // This function stops the slideshow if it is automatically running.

    if (this.timeoutid != 0) {
        clearTimeout(this.timeoutid);
        this.timeoutid = 0;
    }
}


function slideshow_save_position(cookiename) {
    // Saves the position of the slideshow in a cookie,
    // so when you return to this page, the position in the slideshow
    // won't be lost.

    if (!cookiename) {
        cookiename = this.name + '_slideshow';
    }

    document.cookie = cookiename + '=' + this.current;
}


function slideshow_restore_position(cookiename) {
    // If you previously called slideshow_save_position(),
    // returns the slideshow to the previous state.

    //Get cookie code by Shelley Powers

    if (!cookiename) {
        cookiename = this.name + '_slideshow';
    }

    var search = cookiename + "=";

    if (document.cookie.length > 0) {
        offset = document.cookie.indexOf(search);
        // if cookie exists
        if (offset != -1) {
            offset += search.length;
            // set index of beginning of value
            end = document.cookie.indexOf(";", offset);
            // set index of end of cookie value
            if (end == -1) end = document.cookie.length;
            this.current = unescape(document.cookie.substring(offset, end));
        }
    }
}


function slideshow_noscript() {
    // This function is not for use as part of your slideshow,
    // but you can call it to get a plain HTML version of the slideshow
    // images and text.
    // You should copy the HTML and put it within a NOSCRIPT element, to
    // give non-javascript browsers access to your slideshow information.
    // This also ensures that your slideshow text and images are indexed
    // by search engines.

    html = "\n";

    // Loop through all the slides in the slideshow
    for (i = 0; i < this.slides.length; i++) {

        slide = this.slides[i];

        html += '<P>';

        if (slide.link) {
            html += '<a href="' + slide.link + '">';
        }

        html += '<img src="' + slide.src + '" ALT="slideshow image">';

        if (slide.link) {
            html += '</a>';
        }

        if (slide.text) {
            html += "<BR>\n" + slide.text;
        }

        html += '</P>' + "\n\n";
    }

    // Make the HTML browser-safe
    html = html.replace(/\&/g, "&amp;");
    html = html.replace(/</g, "&lt;");
    html = html.replace(/>/g, "&gt;");
    html = '<pre>' + html + '</pre>';

    return (html);
}




