
var slideList;


function afterChange(e) {
    $("#sliderCaptionAddress").html(slideList[e.currentSlide].address).fadeIn(30);
    $("#sliderCaptionArea").html(slideList[e.currentSlide].area).fadeIn(60);
    $("#sliderCaptionPrice").html(slideList[e.currentSlide].price).fadeIn(90);
}

function beforeChange(e) {
    $("#sliderCaptionAddress").fadeOut(60);
    $("#sliderCaptionArea").fadeOut(40);
    $("#sliderCaptionPrice").fadeOut(20);
}

function afterLoad(e)
{
    $("#sliderCaption").fadeIn(300);
    $("#sliderCaptionAddress").html(slideList[0].address).fadeIn(300);
    $("#sliderCaptionArea").html(slideList[0].area).fadeIn(300);
    $("#sliderCaptionPrice").html(slideList[0].price).fadeIn(300);
    $("#nivo-controlNavWrap").fadeIn(300);
    
}

$(document).ready(function ()
{
    slideList = [];
    $.ajax({
        type: "GET",
        url: xmlPath,
        dataType: "xml",
        success: onXMLReady
    });
});



function parseImage() {

    if (slideList.length > 7) // this is a new UI/Design limit
        return;

    var path = $(this).find("path").text();
    if(path.indexOf("/") == 0)
    {
        path = "." + path;
    }
    var slide = {"path"         : path,
                "address"       : $(this).find("address").text(),
                "area"          : $(this).find("area").text(),
                "price"         : $(this).find("price").text(),
                "detailsLink": $(this).find("detailsLink").text()};

    
            slideList.push(slide);
     
     
     $("<a href='" + slide.detailsLink + "'><img src='" + slide.path + "'/></a>").appendTo("#slider");
            /* Swap this JM */
     //$("<a href='propertydetails.html'><img src='" + slide.path + "'/></a>").appendTo("#slider");

}

function onXMLReady(resXML)
{
    $(resXML).find("image").each(parseImage);
    initSlider();
}

function initSlider()
{
    $('#slider').nivoSlider({
        effect: 'fade', // Specify sets like: 'fold,fade,sliceDown'
        slices: 15, // For slice animations
        boxCols: 8, // For box animations
        boxRows: 4, // For box animations
        animSpeed: 250, // Slide transition speed
        pauseTime: 4800, // How long each slide will show
        startSlide: 0, // Set starting Slide (0 index)
        directionNav: true, // Next & Prev navigation
        directionNavHide: false, // Only show on hover
        controlNav: true, // 1,2,3... navigation
        controlNavThumbs: true, // Use thumbnails for Control Nav
        controlNavThumbsFromRel: false, // Use image rel for thumbs
        controlNavThumbsSearch: '.JPG', // Replace this with...
        controlNavThumbsReplace: '.JPG', // ...this in thumb Image src
        keyboardNav: true, // Use left & right arrows
        pauseOnHover: true, // Stop animation while hovering
        manualAdvance: false, // Force manual transitions
        captionOpacity: 0.8, // Universal caption opacity
        prevText: '', // Prev directionNav text
        nextText: '', // Next directionNav text
        beforeChange: function (e) { beforeChange(e); }, // Triggers before a slide transition
        afterChange: function (e) { afterChange(e); }, // Triggers after a slide transition
        slideshowEnd: function () { }, // Triggers after all slides have been shown
        lastSlide: function () { }, // Triggers when last slide is shown
        afterLoad: function () { afterLoad(); } // Triggers when slider has loaded
    });
}

