﻿
//Globals
var SL_plugin;

var HorizontalCollageXAMLTemplate = "";
var Collage_URLs = null;

var H_NumberImages = 9;


//
function RootCanvasLoaded(sender) {

    SL_plugin = sender.getHost();

    //
    GenerateNewRandomCFEVALogoSnowflake();


    //
    //TeasersServices.GetCollage_URLs(GetCollage_URLs_Completed)
    //
    //TeasersServices.GetHorizontalCollage_XAML(9, GetHorizontalCollage_XAML_Completed)



    //
    TeasersServices.BuildHorizontalCollageXAMLTemplate(H_NumberImages, BuildHorizontalCollageXAMLTemplate_Completed);


}


//
function BuildHorizontalCollageXAMLTemplate_Completed(result) {

    HorizontalCollageXAMLTemplate = result;
    //alert(HorizontalCollageXAMLTemplate);

    //
    TeasersServices.GetCollage_URLs(GetCollage_URLs_Completed);

}


//
function GetCollage_URLs_Completed(result) {

    Collage_URLs = result;
    //alert(Collage_URLs);

    //
    DisplayHorizontalCollage();

}


//
function sortResultArray(a, b) {
    return a.sortKey - b.sortKey;
}


//
function DisplayHorizontalCollage() {


    try {



        var thisTemplate = HorizontalCollageXAMLTemplate;
        //var thisTemplate = "_IMAGESOURCE" + 0 + "_";






//        for (var i = 0; i < H_NumberImages; i++) {

//            var ImageIndex = Math.floor(Math.random() * Collage_URLs.length);

//            var sourceString = "_IMAGESOURCE" + i.toString() + "_";
//            var targetString = Collage_URLs[ImageIndex];
//            //targetString = targetString.replace("~", "http://www.philaopenstudios.org");  // Causes 4001?
//            targetString = targetString.replace("~", ".");

//            //alert(targetString);

//            thisTemplate = thisTemplate.replace(sourceString, targetString);

//        }




        var sortArray = new Array();
        for (var c in Collage_URLs) {

            var thisResult = new Object();
            thisResult.imageURL = Collage_URLs[c];
            thisResult.sortKey = Math.random();

            sortArray.push(thisResult);
        }


        sortArray.sort(sortResultArray);


        for (var i = 0; i < H_NumberImages; i++) {

            var sourceString = "_IMAGESOURCE" + i.toString() + "_";
            var targetString = sortArray[i].imageURL;
            //targetString = targetString.replace("~", "http://www.philaopenstudios.org");  // Causes 4001?
            targetString = targetString.replace("~", ".");

            //alert(targetString);

            thisTemplate = thisTemplate.replace(sourceString, targetString);

        }




        //alert(thisTemplate);


        //
        SL_plugin.content.findName("CollageContainerCanvas").children.clear();
        var newCanvas = SL_plugin.content.createFromXaml(thisTemplate, false);
        SL_plugin.content.findName("CollageContainerCanvas").children.add(newCanvas);


        //
        SL_plugin.content.findName("CollageDelayStoryboard").begin();

    }
    catch (err) {
        SL_plugin.content.findName("ErrMsg").text = "Error: " + err.description;        
    }

}


//
function CollageDelayStoryboardCompleted(sender) {

    //TeasersServices.GetHorizontalCollage_XAML(9, GetHorizontalCollage_XAML_Completed)

    //
    DisplayHorizontalCollage();

}





//
function GenerateNewRandomCFEVALogoSnowflake() {

    SL_plugin.content.findName("CFEVA_Logo_Snowflake")["Canvas.Left"] = (Math.random() * 800) + 50;

    SL_plugin.content.findName("CFEVA_Logo_Snowflake_Storyboard").begin();
}

//
function CFEVA_Logo_Snowflake_StoryboardCompleted(sender) {

    GenerateNewRandomCFEVALogoSnowflake();

}



//
function TextCanvasStoryboardCompleted(sender) {

    //
    //GetRandomArtworkDetailImage_XAML(sender);

}





//
//function GetRandomArtworkDetailImage_XAML(sender) {
//    TeasersServices.GetRandomArtworkDetailImage_XAML(GetRandomArtworkDetailImage_XAML_Completed);
//}




//
//function GetRandomArtworkDetailImage_XAML_Completed(result) {

//    //alert(result)

//    SL_plugin.content.findName("RandomArtworkDetailContainerCanvas").children.clear();

//    var newCanvas = SL_plugin.content.createFromXaml(result, false);

//    SL_plugin.content.findName("RandomArtworkDetailContainerCanvas").children.add(newCanvas);

//    SL_plugin.content.findName("RandomArtworkDetailInnerCanvas")["Canvas.Left"] = (Math.random() * 300);


//    // Start animations
//    SL_plugin.content.findName("RandomArtworkDetailCanvasStoryboard").begin();

//}



//
//function GetHorizontalCollage_XAML_Completed(result) {

//    //alert(result)

//    SL_plugin.content.findName("CollageContainerCanvas").children.clear();

//    var newCanvas = SL_plugin.content.createFromXaml(result, false);

//    SL_plugin.content.findName("CollageContainerCanvas").children.add(newCanvas);

//    SL_plugin.content.findName("CollageDelayStoryboard").begin();
//    
//}




//
//function RandomArtworkDetailCanvasStoryboardCompleted(sender, eventArgs) {

//    //
//    GetRandomArtworkDetailImage_XAML(sender);

//}

