﻿if (!window.SSFF_Ceremony)
	window.SSFF_Ceremony = {};

SSFF_Ceremony.Scene = function() 
{
}

SSFF_Ceremony.Scene.prototype =
{
	handleLoad: function(plugIn, userContext, rootElement) 
	{
	    //FireFoxのキャッシュ回避用初期化ルーチン
	    initVar();
	    
	    m_plugIn.content.onFullScreenChange = backNormalScreen;	   
	    
	    // ローディングアニメーションのStoryboardをセット
	    initLoadingAnimationSet();
	    
    	// SSFFをかたどる写真の位置をリセット
        var sb = m_plugIn.content.findName("resetLoadingImages");
        sb.Begin();
	    
        var downloader = m_plugIn.createObject("downloader");
        downloader.addEventListener("completed", startImageLoad);
        downloader.open("GET", "silverlightfiles_ceremony/data.json");
        downloader.send();
    }
}

// フルスクリーンからESCキーで戻った時対応
function backNormalScreen(sender, arg)
{
    var fullScreenCanvasTmp = m_plugIn.content.findName("fullScreenCanvas");
    if(!m_plugIn.content.FullScreen && fullScreenCanvasTmp.Visibility =="Visible")
    {
        playStatus = "stop";
        fullScreenCanvasTmp.Visibility = "Collapsed";        
        
        var normalBaseCanvasTmp = m_plugIn.content.findName("normalBaseCanvas");
        normalBaseCanvasTmp.Visibility = "Visible";
        
	    var fullScreenPlayBtnCanvasTmp = m_plugIn.content.findName("fullScreenPlayBtnCanvas");
	    fullScreenPlayBtnCanvasTmp.Visibility = "Collapsed";
    
        var fullScreenImageTmp = m_plugIn.content.findName("fullScreenImageA");
        fullScreenImageTmp.Source = "";
        var fullScreenImageTmp = m_plugIn.content.findName("fullScreenImageB");
        fullScreenImageTmp.Source = "";
    }
}


var m_baseCanvasName = "normalBaseCanvas";
var m_plugIn = null;
var m_json = null;
var m_loadedImageNumber = 0;
var m_loadedSmallImageNumber = 0;
var m_smallImageURL = "silverlightfiles_ceremony/ssmovieimages/small_image/";
var m_imageURL = "silverlightfiles_ceremony/ssmovieimages/";
var scale = 0.32;
var m_movingImageBox = null;
var m_transformingImageBox = null;
var m_originWidth = 368;
var m_originHeight = 368;
var m_zIndex = 0;
var m_ox = 0;
var m_oy = 0;
var m_baseAngle = 0;
var m_rotateTransform = null;
var m_scaleTransform = null;
var m_offsetX = 0;
var m_offsetY = 0;
var arrowDispAnimePlaying = false;
var addedImages = new Array();
var m_imageBoxes = new Array();
var m_boxIndex = 0;
var m_canShadowDispAnime = false;
var minScale = 0.32;
var maxScale = 1;
var loadedImageSBIndex = 0;
var m_penDowned = false;
var m_allSlideShowBtnDowned = false;
var m_selectSlideShowBtnDowned = false;
var selectImages = null;
var firstFullScrennDisp = true;
var m_loadedCommentImageNumber = 0;
var arrowDispAnimeStop = false;
function initVar()
{
    m_plugIn = document.getElementById("SilverlightPlugIn");
    m_baseCanvasName = "normalBaseCanvas";
    m_json = new Array();
    m_loadedImageNumber = 0;
    m_loadedSmallImageNumber = 0;
    m_smallImageURL = "silverlightfiles_ceremony/ssmovieimages/small_image/";
    m_imageURL = "silverlightfiles_ceremony/ssmovieimages/";
    scale = 0.32;
    m_movingImageBox = null;
    m_transformingImageBox = null;
    m_originWidth = 368;
    m_originHeight = 368;
    m_zIndex = 0;
    m_ox = 0;
    m_oy = 0;
    m_baseAngle = 0;
    m_rotateTransform = null;
    m_scaleTransform = null;
    m_offsetX = 0;
    m_offsetY = 0;
    arrowDispAnimePlaying = false;
    addedImages = new Array();
    m_imageBoxes = new Array();
    m_boxIndex = 0;
    m_canShadowDispAnime = false;
    minScale = 0.32;
    maxScale = 1;
    loadedImageSBIndex = 1;
    m_penDowned = false;
    m_allSlideShowBtnDowned = false;
    m_selectSlideShowBtnDowned = false;
    selectImages = new Array();
    firstFullScrennDisp = true;
    m_loadedCommentImageNumber = 0;
    arrowDispAnimeStop = false;
}

function startImageLoad(sender, arg)
{
    m_json = eval("(" + sender.ResponseText +")");
    startImageLoadOf(m_smallImageURL, loadedImage, downloadImageFailed);
}

function startImageLoadOf(imageDirectoryURL, completedFunction, downloadFailedFunction)
{
    var donwloaders = new Array();
    for(var i = 0; i < m_json.ssmovie.length; i++)
    {
        var downloader = m_plugIn.createObject("downloader");
        downloader.addEventListener("Completed", loadedImage);
        downloader.addEventListener("DownloadFailed", loadedImage);            
        var imageURL = m_imageURL + m_json.ssmovie[i].image;
        downloader.open("GET", imageURL);
        donwloaders.push(downloader);
        
        downloader = m_plugIn.createObject("downloader");
        downloader.addEventListener("Completed", loadedSmallImage);
        downloader.addEventListener("DownloadFailed", loadedSmallImage);            
        var imageURL = m_smallImageURL + m_json.ssmovie[i].image;
        downloader.open("GET", imageURL);
        donwloaders.push(downloader);
        
        downloader = m_plugIn.createObject("downloader");
        downloader.addEventListener("Completed", loadedCommentImage);
        downloader.addEventListener("DownloadFailed", loadedCommentImage);            
        var imageURL = m_smallImageURL + String(m_json.ssmovie[i].image).replace(".JPG", "_coment.png");
        downloader.open("GET", imageURL);
        donwloaders.push(downloader);
    }
    
    //m_loadImageNumber = donwloaders.length;
    for(i = 0; i < donwloaders.length; i++)
    {
        donwloaders[i].send();
    }
}

function loadedImage(sender, arg)
{
    //m_jsonが生成される前に呼び出されてしまうことがあるぽい
    if (m_json.ssmovie.length <= 0)
    {
        return;
    }

    m_loadedImageNumber++;
    downloadedProgressive();
    
    dispShuffleScreen();
}

function loadedSmallImage(sender, arg)
{
    //m_jsonが生成される前に呼び出されてしまうことがあるぽい
    if (m_json.ssmovie.length <= 0)
    {
        return;
    }

    m_loadedSmallImageNumber++;
    if(m_loadedSmallImageNumber != 0 && m_loadedSmallImageNumber % 3 == 0)
    {
        downloadedProgressive();
    }
    
    dispShuffleScreen();
}

function loadedCommentImage(sender, arg)
{
    //m_jsonが生成される前に呼び出されてしまうことがあるぽい
    if (m_json.ssmovie.length <= 0)
    {
        return;
    }
    
    m_loadedCommentImageNumber++;
    if(m_loadedCommentImageNumber != 0 && m_loadedCommentImageNumber % 9 == 0)
    {
        downloadedProgressive();
    }
    
    dispShuffleScreen();
}

function downloadedProgressive()
{
    var sb = m_plugIn.content.findName("loadedImage" +  loadedImageSBIndex++);
    beginLoadedImageSB(sb, 0);
        
    sb = m_plugIn.content.findName("loadedImage" +  loadedImageSBIndex++);
    beginLoadedImageSB(sb, 0.5);
}

function dispShuffleScreen()
{
    if(m_loadedSmallImageNumber  >= m_json.ssmovie.length && m_loadedImageNumber >= m_json.ssmovie.length && m_loadedCommentImageNumber  >= m_json.ssmovie.length)
    {
        var beginTime = 0.5;
        for (var i = loadedImageSBIndex; i < 120; i++)
        {
            var sb = m_plugIn.content.findName("loadedImage" +  loadedImageSBIndex++);
            beginLoadedImageSB(sb, beginTime);
            beginTime += 0.5;
        }
        var sb = m_plugIn.content.findName("loadedImage120");
        sb.BeginTime = "00:00:" + String(beginTime).slice(0, 3);        
        sb.addEventListener("Completed", beginLoadedDiffusion);
        sb.Begin();
    }
}

function beginLoadedImageSB(sb, beginTime)
{
    if (sb != null)
    {
        sb.BeginTime = "00:00:" + String(beginTime).slice(0, 3);             
        sb.Begin();
    }
}

function beginLoadedDiffusion(sender, arg)
{
    var loadedDiffusion = m_plugIn.content.findName("loadedDiffusion");
    loadedDiffusion.addEventListener("Completed", initFunction);
    loadedDiffusion.Begin();
}

function initFunction()
{
    m_plugIn.content.findName("loadingCanvas").Visibility = "Collapsed";

    var imageBoxes = getNewImageBoxes();

	var baseCanvas = m_plugIn.content.findName(m_baseCanvasName);
	baseCanvas.Visibility = "Visible";
	baseCanvas.findName("normalBaseCanvasDisp").Begin();
	for (var i = 0; i < imageBoxes.length; i++)
	{
	    var shadow = createImageBoxShadow(imageBoxes[i].Name,  0, 0);        
        baseCanvas.Children.add(shadow);
    }    
    
    imageBoxesSlideIn(imageBoxes);
      
	drawFullScreen();
}

function getNewImageBoxes()
{
    var box;
    var imageBoxes = new Array();
    var rootCanvas = m_plugIn.content.findName(m_baseCanvasName);
    var beginTime = 0.5;
	for (var i = 0; i < m_json.ssmovie.length; i++)
	{
	    beginTime += 0.05;
		box = createImageBox(m_smallImageURL + m_json.ssmovie[i].image, String(beginTime).slice(0, 3));
		rootCanvas.children.Add(box);
		
		imageBoxes.push(box);
		m_imageBoxes.push(box);
	}
	return imageBoxes;
}

function imageBoxesSlideIn(imageBoxes)
{    
	for (var i = 0; i < imageBoxes.length; i++)
	{
	    imageBoxSlideIn(imageBoxes[i]);
	}
}

function imageBoxSlideIn(imageBox)
{
    m_canShadowDispAnime = true;
    
    var box = imageBox;
	var transform = box.findName("m_scaleTransform" + box.Name);
	transform.ScaleX = scale;
	transform.ScaleY = scale;
			
	box["Canvas.ZIndex"] = m_zIndex;
	m_zIndex += 2;	
	
    var shadow = m_plugIn.content.findName("shadow" + box.Name);
    var shadowScaleTransform = shadow.findName("shadowScaleTransform" + box.Name);
	shadowScaleTransform.ScaleX = scale;
	shadowScaleTransform.ScaleY = scale;
    shadow["Canvas.Top"] = -400 + getShadowLocationDiff();
    shadow["Canvas.Left"] = -100 + getShadowLocationDiff();
    shadow.Visibility = "Visible";	
	
	shadow["Canvas.ZIndex"] = box["Canvas.ZIndex"] - 1;	
	
	box.findName("SlideIn" + box.Name).Begin();
}

function downloadImageFailed(sender, arg)
{
}

/*function slideInedImage(sender, arg)
{
    var boxName = sender.Name.slice(7, 20);
    var box = m_plugIn.content.findName(boxName);
    var shadow = sender.findName("shadow" + box.Name);
    if (shadow != null)
    {
        shadow.Opacity = 0;
	    shadow.Visibility = "Visible";
	}
	
	var shadowScaleTransform = shadow.findName("shadowScaleTransform" + box.Name);
	shadowScaleTransform.ScaleX = scale;
	shadowScaleTransform.ScaleY = scale;
	
	var shadow = m_plugIn.content.findName("shadow" + box.Name);
	shadow["Canvas.Top"] = box["Canvas.Top"] + getShadowLocationDiff();
	shadow["Canvas.Left"] = box["Canvas.Left"] + getShadowLocationDiff();
	
	var shadowRotateTransform = shadow.findName("shadowRotateTransform" + box.Name);
	var m_rotateTransform = m_plugIn.content.findName("m_rotateTransform" + box.Name);
	shadowRotateTransform.Angle = m_rotateTransform.Angle;	

	shadow["Canvas.ZIndex"] = box["Canvas.ZIndex"] - 1;
	
	if (m_canShadowDispAnime)
	{
	    var shadowDispAnime = m_plugIn.content.findName("shadowDispAnime" + boxName);
	    shadowDispAnime.Begin();
    }
}*/

function slideOutedImage(sender, arg)
{
    var boxName = sender.Name.slice(8, 20);
    var box = m_plugIn.content.findName(boxName);
    imageBoxSlideIn(box);    
}

function transformBoxMouseDowned(sender, eventArgs)
{
    m_transformingImageBox = sender;
	var box = m_transformingImageBox.GetParent();
	box["Canvas.ZIndex"] = ++m_zIndex;

	m_ox = box.Width / 2 + box["Canvas.Left"];
	m_oy = box.Height / 2 + box["Canvas.Top"];
	var dragBoxOx = m_transformingImageBox.Width / 2 + m_transformingImageBox["Canvas.Left"] + box["Canvas.Left"];
	var dragBoxOy = m_transformingImageBox.Height / 2 + m_transformingImageBox["Canvas.Top"] + box["Canvas.Top"];
	m_baseAngle = Math.atan2(dragBoxOx - m_ox, dragBoxOy - m_oy) * 180 / Math.PI;
	
	m_rotateTransform = box.findName("m_rotateTransform" + box.Name);
	m_scaleTransform = box.findName("m_scaleTransform" + box.Name);
	
	m_transformingImageBox.Source = "silverlightfiles_ceremony/images/arrow_click.png";
}

function transformBoxMouseEnter(sender, eventArgs)
{
if(!m_mouseMoving)
    {
    sender.Source = "silverlightfiles_ceremony/images/arrow_enter.png";
    }
}

function transformBoxMouseLeave(sender, eventArgs)
{
    if(!m_mouseMoving)
    {
        sender.Source = "silverlightfiles_ceremony/images/arrow.png";
    }
}

function boxMouseDowned(sender, mouseEventArgs)
{
    var transformImage = m_plugIn.content.findName("transform" + sender.Name);
    if (transformImage.Visibility == "Visible")
    {
	    m_movingImageBox = sender;
	    m_movingImageBox["Canvas.ZIndex"] = ++m_zIndex;
	    var shadow = m_plugIn.content.findName("shadow" + m_movingImageBox.Name);
	    shadow["Canvas.ZIndex"] = m_movingImageBox["Canvas.ZIndex"] - 1;
	    if (m_transformingImageBox == null)
	    {
		    m_movingImageBox.opacity = 0.8;
		    shadow.opacity = 0;
	    }

	    m_offsetX = mouseEventArgs.getPosition(null).x - m_movingImageBox["Canvas.Left"];
	    m_offsetY = mouseEventArgs.getPosition(null).y - m_movingImageBox["Canvas.Top"];
	    
	    
	    arrowDispAnimeStop = false;
	    if (!arrowDispAnimePlaying && m_transformingImageBox == null)
	    {
	        arrowDispAnimePlaying = true;
	        var inArrow = m_plugIn.content.findName("inArrow");
	        inArrow.Visibility = "Visible";
	        var inArrowNavi = m_plugIn.content.findName("inArrowNavi");
	        inArrowNavi.Visibility = "Visible";
	        var arrowDispAnime = m_plugIn.content.findName("arrowDispAnime");
	        arrowDispAnime.Begin();
	    }
    }
}

function arrowDispAnimeCompleted(sender, arg)
{
    if(arrowDispAnimeStop && addedImages.length > 0)
    {
        arrowDispAnimePlaying = false;
        var inArrow = m_plugIn.content.findName("inArrow");
	    inArrow.Visibility = "Collapsed";
	    var inArrowNavi = m_plugIn.content.findName("inArrowNavi");
	    inArrowNavi.Visibility = "Collapsed";
    }
    else if(arrowDispAnimeStop && addedImages.length <= 0)
    {
        arrowDispAnimePlaying = false;
        m_plugIn.content.findName("arrowDispAnime2").Begin();
	    
    }
    else
    {
        var arrowDispAnime = m_plugIn.content.findName("arrowDispAnime");
        arrowDispAnime.Begin();
    }
}

function mouseUped(sender, mouseEventArgs)
{
    var cameraCanvas = sender.findName("cameraCanvas");
    var mx = mouseEventArgs.getPosition(cameraCanvas).x;
    var my = mouseEventArgs.getPosition(cameraCanvas).y;
    var activeImage = m_plugIn.content.findName("activeImage");		
    if (m_transformingImageBox == null && m_movingImageBox != null && 0 <= mx && mx <= cameraCanvas.Width && 0 <= my && my <= cameraCanvas.Height)
	{
        activeImage.Visibility = "Collapsed";
        addImagToSlideShow();

        m_transformingImageBox = null;
        m_movingImageBox = null;
        return;
    }

    if(m_transformingImageBox != null)
    {
        m_mouseMoving = false;
        m_transformingImageBox.Source = "silverlightfiles_ceremony/images/arrow.png";
    
        var scaleTransform = sender.findName("m_scaleTransform" + m_movingImageBox.Name);		
        var shadowScaleTransform = sender.findName("shadowScaleTransform" + m_movingImageBox.Name);
        if (scaleTransform.ScaleX < minScale) 
        {
            scaleTransform.ScaleX = minScale;
            scaleTransform.ScaleY = minScale;            
            
            shadowScaleTransform.ScaleX = scaleTransform.ScaleX;
            shadowScaleTransform.ScaleY = scaleTransform.ScaleY;
        }
        else if(scaleTransform.ScaleX > maxScale)
        {
            scaleTransform.ScaleX = maxScale;
            scaleTransform.ScaleY = maxScale;
                        
            shadowScaleTransform.ScaleX = scaleTransform.ScaleX;
            shadowScaleTransform.ScaleY = scaleTransform.ScaleY;
        }
        var shadow = m_plugIn.content.findName("shadow" + m_movingImageBox.Name);
    	shadow["Canvas.Top"] = m_movingImageBox["Canvas.Top"] + getShadowLocationDiff();
    	shadow["Canvas.Left"] = m_movingImageBox["Canvas.Left"] + getShadowLocationDiff();
    }
	m_transformingImageBox = null;
	
	if (m_movingImageBox != null) 
	{
		m_movingImageBox.opacity = 1.0;
		var shadow = m_plugIn.content.findName("shadow" + m_movingImageBox.Name);
		shadow.opacity = m_movingImageBox.opacity;
		
		arrowDispAnimeStop = true;
	}
	m_movingImageBox = null;
}

function addImagToSlideShow()
{
    m_plugIn.content.findName("selectSlideShowBtnCanvas").IsHitTestVisible = true;
    var selectSlideShowImageMask = m_plugIn.content.findName("selectSlideShowImageMask");
    if(selectSlideShowImageMask.IsHitTestVisible)
    {        
        m_plugIn.content.findName("selectSlideShowImageMaskHide").Begin();
        selectSlideShowImageMask.IsHitTestVisible = false;
    }


    m_movingImageBox.Cursor = "Arrow";    

    var shadow = m_plugIn.content.findName("shadow" + m_movingImageBox.Name);
    shadow.Visibility = "Collapsed";

    var canvasLeftAddSlideShowBegin = m_plugIn.content.findName("canvasLeftAddSlideShow0" + m_movingImageBox.Name);
    canvasLeftAddSlideShowBegin.Value = m_movingImageBox["Canvas.Left"];
    var canvasTopAddSlideShow = m_plugIn.content.findName("canvasTopAddSlideShow0" + m_movingImageBox.Name);
    canvasTopAddSlideShow.Value = m_movingImageBox["Canvas.Top"];
    
    var tt = m_plugIn.content.findName("m_scaleTransform" + m_movingImageBox.Name);
    var scaleXAddSlideShow = m_plugIn.content.findName("scaleXAddSlideShow0" + m_movingImageBox.Name);
    scaleXAddSlideShow.Value = tt.ScaleX;
    var scaleYAddSlideShow = m_plugIn.content.findName("scaleYAddSlideShow0" + m_movingImageBox.Name);
    scaleYAddSlideShow.Value = tt.ScaleY;    
    
    var transformImage = m_plugIn.content.findName("transform" + m_movingImageBox.Name);
    transformImage.Visibility = "Collapsed";
    var commentImage = m_plugIn.content.findName("comment" + m_movingImageBox.Name);
    commentImage.Visibility = "Collapsed";
    
    for (var i = 0; i < addedImages.length; i++)
    {
        var canvasLeftPushListAnime = m_plugIn.content.findName("canvasLeftPushListAnime" + addedImages[i].Name);
        canvasLeftPushListAnime.Value -= (addedImages[i].Width - 297 + 10);
        
        var pushListAnime = m_plugIn.content.findName("pushListAnime" + addedImages[i].Name);        
        pushListAnime.Begin();
    }
    
    addedImages.push(m_movingImageBox);

    var arrowDispAnime = m_plugIn.content.findName("arrowDispAnime");
    arrowDispAnime.Stop();
    arrowDispAnimePlaying = false;
    var inArrow = m_plugIn.content.findName("inArrow");
    inArrow.Visibility = "Collapsed";
    var inArrowNavi = m_plugIn.content.findName("inArrowNavi");
    inArrowNavi.Visibility = "Collapsed";
    
    var filmCanvas = m_plugIn.content.findName("filmCanvas");
    m_movingImageBox["Canvas.ZIndex"] = filmCanvas["Canvas.ZIndex"] + 1;
    var anime = m_plugIn.content.findName("addSlideShowImage" + m_movingImageBox.Name);    
	anime.Begin();
}

var m_mouseMoving = false;
function mouseMoved(sender, mouseEventArgs)
{
    
	if (m_transformingImageBox != null)
	{
	    m_mouseMoving = true;
	    m_transformingImageBox.Source = "silverlightfiles_ceremony/images/arrow_click.png";
		renderTransformImage(mouseEventArgs);
	}
	else if (m_movingImageBox != null)
	{
		moveImage(mouseEventArgs);
		
		var cameraCanvas = sender.findName("cameraCanvas");
	    var mx = mouseEventArgs.getPosition(cameraCanvas).x;
	    var my = mouseEventArgs.getPosition(cameraCanvas).y;
	    var activeImage = m_plugIn.content.findName("activeImage");
	    if (m_transformingImageBox == null /*&& m_movingImageBox != null */&& 0 <= mx && mx <= cameraCanvas.Width && 0 <= my && my <= cameraCanvas.Height)
	    {
            activeImage.Visibility = "Visible";
	    }
	    else
	    {
            activeImage.Visibility = "Collapsed";
	    }
	}
	

}

function renderTransformImage(mouseEventArgs)
{
	var mx = mouseEventArgs.getPosition(null).x;
	var my = mouseEventArgs.getPosition(null).y;
	var diffAngle = Math.atan2(mx - m_ox , my - m_oy) * 180 / Math.PI;
	m_rotateTransform.Angle = m_baseAngle - diffAngle;
	
	var shadowRotateTransform = m_plugIn.content.findName("shadowRotateTransform" + m_movingImageBox.Name); 
	shadowRotateTransform.Angle = m_rotateTransform.Angle;
	
	var scale = Math.max(Math.abs(mx - m_ox) * 2 / m_originWidth, 
		Math.abs(my - m_oy) * 2 / m_originHeight);
	m_scaleTransform.ScaleX = scale;
	m_scaleTransform.ScaleY = scale;
	
	var shadowScaleTransform = m_plugIn.content.findName("shadowScaleTransform" + m_movingImageBox.Name); 
	shadowScaleTransform.ScaleX = m_scaleTransform.ScaleX;
	shadowScaleTransform.ScaleY = m_scaleTransform.ScaleY;
	
	var shadow = m_plugIn.content.findName("shadow" + m_movingImageBox.Name);
	shadow["Canvas.Top"] = m_movingImageBox["Canvas.Top"] + getShadowLocationDiff();
	shadow["Canvas.Left"] = m_movingImageBox["Canvas.Left"] + getShadowLocationDiff();
	
	//m_movingImageBox.Opacity = 0.5;
}

//写真の再シャッフル
function reshuffle(sender, eventArgs)
{
    if(!m_penDowned)
    {
        return;    
    }

    m_canShadowDispAnime = false;
    var box = null;
    var beginTime = 0;
    for (var i = 0; i < m_imageBoxes.length; i++)
    {
        box = m_imageBoxes[i];
        if (!containImageBox(addedImages, box))
        {
            var shadow = m_plugIn.content.findName("shadow" + box.Name);
            shadow.Visibility = "Collapsed";
            
            var sBeginTime = "00:00:" + String(beginTime).slice(0, 3);
            box.findName("slideInXDoubleAnimationUsingKeyFrames" + box.Name).BeginTime = sBeginTime;
            box.findName("slideInYDoubleAnimationUsingKeyFrames" + box.Name).BeginTime = sBeginTime;
            box.findName("slideInAngleDoubleAnimationUsingKeyFrames" + box.Name).BeginTime = sBeginTime;
            box.findName("shadowSlideInXDoubleAnimationUsingKeyFrames" + box.Name).BeginTime = sBeginTime;
            box.findName("shadowSlideInYDoubleAnimationUsingKeyFrames" + box.Name).BeginTime = sBeginTime;
            box.findName("shadowSlideInAngleDoubleAnimationUsingKeyFrames" + box.Name).BeginTime = sBeginTime;
            beginTime += 0.05;

            var x = getRandomXForImageBox();
            var y = getRandomYForImageBox();
            var angle = getRandomAngleForImageBox();
            box.findName("slideInXSplineDoubleKeyFrame" + box.Name).Value = x;
            box.findName("slideInYSplineDoubleKeyFrame" + box.Name).Value = y;
            box.findName("slideInAngleSplineDoubleKeyFrame" + box.Name).Value = angle;
            box.findName("shadowSlideInXSplineDoubleKeyFrame" + box.Name).Value = x + getShadowLocationDiff();
            box.findName("shadowSlideInYSplineDoubleKeyFrame" + box.Name).Value = y + getShadowLocationDiff();
            box.findName("shadowSlideInAngleSplineDoubleKeyFrame" + box.Name).Value = angle;
            
            box.findName("slideOut" + box.Name).Begin();            
        }
    }
    m_plugIn.content.findName("penEnterAnime").Begin();
}

function containImageBox(array, imageBox)
{
    for (var i = 0; i < array.length; i++)
    {
        if (array[i].Name == imageBox.Name)
        {
            return true;
        }
    }
    return false;
}

function moveImage(mouseEventArgs)
{
	var mx = mouseEventArgs.getPosition(null).x;
	var my = mouseEventArgs.getPosition(null).y;
	
	m_movingImageBox["Canvas.Left"] = mx - m_offsetX;
	m_movingImageBox["Canvas.Top"] = my - m_offsetY;
	
	var shadow = m_plugIn.content.findName("shadow" + m_movingImageBox.Name);
	shadow["Canvas.Left"] = m_movingImageBox["Canvas.Left"] + getShadowLocationDiff();
	shadow["Canvas.Top"] = m_movingImageBox["Canvas.Top"] + getShadowLocationDiff();
}


//ペンのアニメーション
function reshufflePenEnter(sender, arg)
{
    if (m_transformingImageBox != null || m_movingImageBox != null)
	{
	    return;
	}

    sender.findName("penEnterAnime").Begin();
}
function reshufflePenLeave(sender, arg)
{
    if (m_transformingImageBox != null || m_movingImageBox != null)
	{
	    return;
	}
	
    m_penDowned = false;
    sender.findName("penLeaveAnime").Begin();
}
function reshufflePenDown(sender, arg)
{
    m_penDowned = true;
    sender.findName("penDownAnime").Begin();
}

//全ての写真のスライドショー用ボタンのアニメーション
function allSlideShowBtnEnter(sender, arg)
{
    if (m_transformingImageBox != null || m_movingImageBox != null)
	{
	    return;
	}
	
    sender.findName("allSlideShowBtnEnterAnime").Begin();
}
function allSlideShowBtnLeave(sender, arg)
{
    if (m_transformingImageBox != null || m_movingImageBox != null)
	{
	    return;
	}
	
    m_allSlideShowBtnDowned = false;
    sender.findName("allSlideShowBtnLeaveAnime").Begin();
}
function allSlideShowBtnDown(sender, arg)
{
    m_allSlideShowBtnDowned = true;
    sender.findName("allSlideShowBtnDownAnime").Begin();
}
function allSlideShowBtnLeftButtonUp(sender, arg)
{
    if(!m_allSlideShowBtnDowned)
    {
        return;
    }
    
    sender.findName("allSlideShowBtnEnterAnime").Begin();
        
    selectImages = new Array();
    for(var i = 0; i < m_json.ssmovie.length; i++)
    {        
        selectImages.push(m_json.ssmovie[i].image);
    }
    
    if(selectImages.length > 0)
    {
        fullscreentbtn(sender, arg);
    }
}

//選択した写真のスライドショー用ボタンのアニメーション
function selectSlideShowBtnEnter(sender, arg)
{
    if (m_transformingImageBox != null || m_movingImageBox != null)
	{
	    return;
	}
	
    sender.findName("selectSlideShowBtnEnterAnime").Begin();
}
function selectSlideShowBtnLeave(sender, arg)
{
    if (m_transformingImageBox != null || m_movingImageBox != null)
	{
	    return;
	}

    m_selectSlideShowBtnDowned = false;
    sender.findName("selectSlideShowBtnLeaveAnime").Begin();
}
function selectSlideShowBtnDown(sender, arg)
{
    m_selectSlideShowBtnDowned = true;
    sender.findName("selectSlideShowBtnDownAnime").Begin();
}
function selectSlideShowBtnLeftButtonUp(sender, arg)
{
    if(!m_selectSlideShowBtnDowned)
    {
        return;
    }
    
    sender.findName("selectSlideShowBtnEnterAnime").Begin();
    
    selectImages = new Array();
    for (var i = 0; i < addedImages.length; i++)
    {
        var image = m_plugIn.content.findName("image" + addedImages[i].Name);
        selectImages.push(String(image.Source).replace(m_smallImageURL, "") );
    }
    
    if(selectImages.length > 0)
    {
        fullscreentbtn(sender, arg);
    }
}


// ボタンアニメーション
function goFullScreenBtnMouseOver(sender,arg)
{
    //sender.findName(m_baseCanvasName).Visibility = "Collapsed"
	var sb = m_plugIn.content.findName("goFullScreenBtnOver");
	sb.Begin();
}

function goFullScreenBtnMouseLeave(sender,arg)
{
	var sb = m_plugIn.content.findName("goFullScreenBtnLeave");
	sb.Begin();
}

// ボタンアニメーション
function backFullScreenBtnMouseOver(sender,arg)
{    
	var sb = m_plugIn.content.findName("backFullScreenBtnOver");
	sb.Begin();
}
function backFullScreenBtnMouseLeave(sender,arg)
{
	var sb = m_plugIn.content.findName("backFullScreenBtnLeave");
	sb.Begin();
}

function createImageBox(imageURL, beginTime)
{
	var x = getRandomXForImageBox();
	var y = getRandomYForImageBox();
	var angle = getRandomAngleForImageBox();
	var width = 368;
	var height = 368;
	var filmCanvas = m_plugIn.content.findName("filmCanvas");
	var xAddSlideShow = filmCanvas.Width - width + 148.5 - 175;
	var yAddSlideShow = filmCanvas["Canvas.Top"] - 135;
	var commentURL = imageURL.replace(".JPG", "_coment.png");

	var boxName = "box" + m_boxIndex++;
	var xaml = '';
	xaml += '<Canvas xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"  x:Name="' + boxName + '"';
	xaml += '  Width="368" Height="368" Canvas.Top="0" ';
	xaml += 'Canvas.Left="-400" Cursor="Hand" MouseLeftButtonDown="boxMouseDowned">';
	xaml += '<Canvas.Resources>';
	
	xaml += '<Storyboard x:Name="SlideIn'+ boxName +'">';	
	xaml += '<DoubleAnimationUsingKeyFrames x:Name="slideInXDoubleAnimationUsingKeyFrames' + boxName + '" BeginTime="00:00:' + beginTime + '" Storyboard.TargetName="' + boxName + '" Storyboard.TargetProperty="(Canvas.Left)">';
    xaml += '<SplineDoubleKeyFrame KeyTime="00:00:00" Value="-400" KeySpline="0.008,0.854,1,0.019"/>';
    xaml += '<SplineDoubleKeyFrame x:Name="slideInXSplineDoubleKeyFrame' + boxName + '" KeySpline="0,0,0,1" KeyTime="00:00:0.4" Value="' + x + '"/>';    
    xaml += '</DoubleAnimationUsingKeyFrames>';
    xaml += '<DoubleAnimationUsingKeyFrames x:Name="slideInYDoubleAnimationUsingKeyFrames' + boxName + '" BeginTime="00:00:' + beginTime + '" Storyboard.TargetName="' + boxName + '" Storyboard.TargetProperty="(Canvas.Top)">';
    xaml += '<SplineDoubleKeyFrame KeyTime="00:00:00" Value="-100" KeySpline="0.008,0.854,1,0.019"/>';
    xaml += '<SplineDoubleKeyFrame x:Name="slideInYSplineDoubleKeyFrame' + boxName + '" KeySpline="0,0,0,1" KeyTime="00:00:0.4" Value="' + y + '"/>';
    xaml += '</DoubleAnimationUsingKeyFrames>';
	xaml += '<DoubleAnimationUsingKeyFrames x:Name="slideInAngleDoubleAnimationUsingKeyFrames' + boxName + '" BeginTime="00:00:' + beginTime + '" Storyboard.TargetName="m_rotateTransform' + boxName + '" Storyboard.TargetProperty="Angle">';
    xaml += '<SplineDoubleKeyFrame KeyTime="00:00:00" Value="0" KeySpline="0.008,0.854,1,0.019"/>';
    xaml += '<SplineDoubleKeyFrame x:Name="slideInAngleSplineDoubleKeyFrame' + boxName + '" KeySpline="0,0,0,1" KeyTime="00:00:0.4" Value="' + angle + '"/>';
    xaml += '</DoubleAnimationUsingKeyFrames>';	

	xaml += '<DoubleAnimationUsingKeyFrames x:Name="shadowSlideInXDoubleAnimationUsingKeyFrames' + boxName + '" BeginTime="00:00:' + beginTime + '" Storyboard.TargetName="shadow' + boxName + '" Storyboard.TargetProperty="(Canvas.Left)">';
    xaml += '<SplineDoubleKeyFrame x:Name="shadowSlideInXSplineDoubleKeyFrame' + boxName + 'a" KeyTime="00:00:00" Value="' + String(-400 + getShadowLocationDiff()) + '" KeySpline="0.008,0.854,1,0.019"/>';
    xaml += '<SplineDoubleKeyFrame x:Name="shadowSlideInXSplineDoubleKeyFrame' + boxName + '" KeySpline="0,0,0,1" KeyTime="00:00:0.4" Value="' + String(x + getShadowLocationDiff()) + '"/>';
    xaml += '</DoubleAnimationUsingKeyFrames>';
    xaml += '<DoubleAnimationUsingKeyFrames x:Name="shadowSlideInYDoubleAnimationUsingKeyFrames' + boxName + '" BeginTime="00:00:' + beginTime + '" Storyboard.TargetName="shadow' + boxName + '" Storyboard.TargetProperty="(Canvas.Top)">';
    xaml += '<SplineDoubleKeyFrame x:Name="shadowSlideInYSplineDoubleKeyFrame' + boxName + 'a" KeyTime="00:00:00" Value="' + String(-100 + getShadowLocationDiff()) + '" KeySpline="0.008,0.854,1,0.019"/>';
    xaml += '<SplineDoubleKeyFrame x:Name="shadowSlideInYSplineDoubleKeyFrame' + boxName + '" KeySpline="0,0,0,1" KeyTime="00:00:0.4" Value="' + String(y + getShadowLocationDiff()) + '"/>';
    xaml += '</DoubleAnimationUsingKeyFrames>';
	xaml += '<DoubleAnimationUsingKeyFrames x:Name="shadowSlideInAngleDoubleAnimationUsingKeyFrames' + boxName + '" BeginTime="00:00:' + beginTime + '" Storyboard.TargetName="shadowRotateTransform' + boxName + '" Storyboard.TargetProperty="Angle">';
    xaml += '<SplineDoubleKeyFrame KeyTime="00:00:00" Value="0" KeySpline="0.008,0.854,1,0.019"/>';
    xaml += '<SplineDoubleKeyFrame x:Name="shadowSlideInAngleSplineDoubleKeyFrame' + boxName + '" KeySpline="0,0,0,1" KeyTime="00:00:0.4" Value="' + angle + '"/>';
    xaml += '</DoubleAnimationUsingKeyFrames>';	
	xaml += '</Storyboard>';
	
    xaml += '<Storyboard x:Name="slideOut'+ boxName +'" Completed="slideOutedImage">';	
	xaml += '<DoubleAnimation Storyboard.TargetName="' + boxName + '" Storyboard.TargetProperty="(Canvas.Left)" To="1500"  Duration="0:0:0.5"/>';
	xaml += '</Storyboard>';
	
	
	xaml += '<Storyboard x:Name="addSlideShowImage' + boxName + '">';
    xaml += '<DoubleAnimationUsingKeyFrames BeginTime="00:00:00" Storyboard.TargetName="' + boxName + '" Storyboard.TargetProperty="(Canvas.Left)">';
    xaml += '<SplineDoubleKeyFrame x:Name="canvasLeftAddSlideShow0' + boxName + '" KeyTime="00:00:00" Value="0" KeySpline="0.008,0.854,1,0.019"/>';
    xaml += '<SplineDoubleKeyFrame x:Name="canvasLeftAddSlideShow1' + boxName + '" KeySpline="0,0,0,1" KeyTime="00:00:0.3" Value="602"/>';
    xaml += '<SplineDoubleKeyFrame x:Name="canvasLeftAddSlideShow2' + boxName + '" KeySpline="0,0.344,0,0.994" KeyTime="00:00:0.8" Value="602"/>';
    xaml += '<SplineDoubleKeyFrame x:Name="canvasLeftAddSlideShow3' + boxName + '" KeySpline="0,1,0.276,0.974" KeyTime="00:00:1" Value="' + xAddSlideShow + '"/>'
    xaml += '</DoubleAnimationUsingKeyFrames>';
    xaml += '<DoubleAnimationUsingKeyFrames x:Name="canvasTopAddSlideShow' + boxName + '" BeginTime="00:00:00" Storyboard.TargetName="' + boxName + '" Storyboard.TargetProperty="(Canvas.Top)">';
    xaml += '<SplineDoubleKeyFrame x:Name="canvasTopAddSlideShow0' + boxName + '" KeyTime="00:00:00" Value="0" KeySpline="0.008,0.854,1,0.019"/>';
    xaml += '<SplineDoubleKeyFrame x:Name="canvasTopAddSlideShow1' + boxName + '" KeySpline="0,0,0,1" KeyTime="00:00:0.3" Value="349"/>';
    xaml += '<SplineDoubleKeyFrame x:Name="canvasTopAddSlideShow2' + boxName + '" KeySpline="0,0.344,0,0.994" KeyTime="00:00:0.8" Value="425"/>';
    xaml += '<SplineDoubleKeyFrame x:Name="canvasTopAddSlideShow3' + boxName + '" KeySpline="0,1,0.276,0.974"  KeyTime="00:00:1" Value="' + yAddSlideShow + '"/>';
    xaml += '</DoubleAnimationUsingKeyFrames>';
    xaml += '<DoubleAnimationUsingKeyFrames x:Name="scaleXAddSlideShow' + boxName + '" BeginTime="00:00:00" Storyboard.TargetName="m_scaleTransform' + boxName + '" Storyboard.TargetProperty="ScaleX">';
    xaml += '<SplineDoubleKeyFrame x:Name="scaleXAddSlideShow0' + boxName + '" KeyTime="00:00:00" Value="1" KeySpline="0.008,0.854,1,0.019"/>';
    xaml += '<SplineDoubleKeyFrame x:Name="scaleXAddSlideShow1' + boxName + '" KeySpline="0,0,0,1" KeyTime="00:00:0.3" Value="0.196"/>';
    xaml += '<SplineDoubleKeyFrame x:Name="scaleXAddSlideShow2' + boxName + '" KeySpline="0,0,0,1" KeyTime="00:00:0.8" Value="0.196"/>';
    xaml += '<SplineDoubleKeyFrame x:Name="scaleXAddSlideShow3' + boxName + '" KeySpline="0,0,0,1" KeyTime="00:00:1" Value="0.19"/>';
    xaml += '</DoubleAnimationUsingKeyFrames>';
    xaml += '<DoubleAnimationUsingKeyFrames x:Name="scaleYAddSlideShow' + boxName + '" BeginTime="00:00:00" Storyboard.TargetName="m_scaleTransform' + boxName + '" Storyboard.TargetProperty="ScaleY">';
    xaml += '<SplineDoubleKeyFrame x:Name="scaleYAddSlideShow0' + boxName + '" KeyTime="00:00:00" Value="1" KeySpline="0.008,0.854,1,0.019"/>';
    xaml += '<SplineDoubleKeyFrame x:Name="scaleYAddSlideShow1' + boxName + '" KeySpline="0,0,0,1" KeyTime="00:00:0.3" Value="0.196"/>';
    xaml += '<SplineDoubleKeyFrame x:Name="scaleYAddSlideShow2' + boxName + '" KeySpline="0,0,0,1" KeyTime="00:00:0.8" Value="0.196"/>';
    xaml += '<SplineDoubleKeyFrame x:Name="scaleYAddSlideShow3' + boxName + '" KeySpline="0,0,0,1" KeyTime="00:00:1" Value="0.19"/>';
    xaml += '</DoubleAnimationUsingKeyFrames>';
    xaml += '<DoubleAnimationUsingKeyFrames x:Name="opacityAddSlideShow' + boxName + '" BeginTime="00:00:00" Storyboard.TargetName="' + boxName + '" Storyboard.TargetProperty="(UIElement.Opacity)">';
    xaml += '<SplineDoubleKeyFrame KeyTime="00:00:00" Value="1" KeySpline="0.008,0.854,1,0.019"/>';
    xaml += '<SplineDoubleKeyFrame KeySpline="0,0,0,1" KeyTime="00:00:0.3" Value="0.4"/>';
    xaml += '<SplineDoubleKeyFrame KeySpline="0,0,0,1" KeyTime="00:00:0.5" Value="1"/>';
    xaml += '</DoubleAnimationUsingKeyFrames>';
    xaml += '<DoubleAnimation To="0"  Storyboard.TargetName="m_rotateTransform' + boxName + '" ';
	xaml += 'Storyboard.TargetProperty="Angle" BeginTime="00:00:00" Duration="00:00:0.3"/>';
    xaml += '</Storyboard>';    
    
    xaml += '<Storyboard x:Name="pushListAnime' + boxName + '">';
    xaml += '<DoubleAnimationUsingKeyFrames BeginTime="00:00:0.8" Storyboard.TargetName="' + boxName + '" Storyboard.TargetProperty="(Canvas.Left)">';
    xaml += '<SplineDoubleKeyFrame x:Name="canvasLeftPushListAnime' + boxName + '" KeySpline="0,1,0.276,0.974" KeyTime="00:00:00.5" Value="' + String(xAddSlideShow)  + '"/>';
    xaml += '</DoubleAnimationUsingKeyFrames>';
    xaml += '</Storyboard>';    
	
	xaml += '</Canvas.Resources>';
	
	
	xaml += '<Canvas.RenderTransform>';
	xaml += '<TransformGroup>';
	xaml += '<RotateTransform x:Name="m_rotateTransform' + boxName + '" Angle="0" CenterX="' + width / 2 + '" CenterY="' + width / 2 + '"/>';
	xaml += '<ScaleTransform x:Name="m_scaleTransform' + boxName + '" ScaleX="1.0" ScaleY="1.0" CenterX="' + width / 2 + '" CenterY="' + width / 2 + '"/>';
	xaml += '<TranslateTransform x:Name="translateTransform' + boxName + '" X="0" Y="0"/>';
	xaml += '</TransformGroup>';
	xaml += '</Canvas.RenderTransform>';	
	
	xaml += '<Canvas>';
    xaml += '<Canvas>';
    xaml += '<Canvas>  ';
    xaml += '<Path Data="F1 M 368.086914,353.364258 C 368.086914,361.495117 361.495117,368.088867 353.363281,368.088867 L 14.723633,368.088867 C 6.590820,368.088867 0.000000,361.495117 0.000000,353.364258 L 0.000000,14.724121 C 0.000000,6.590332 6.590820,0.000000 14.723633,0.000000 L 353.363281,0.000000 C 361.495117,0.000000 368.086914,6.590332 368.086914,14.724121 L 368.086914,353.364258 Z">';
    xaml += '<Path.Fill>';
    xaml += '<LinearGradientBrush MappingMode="Absolute" StartPoint="411.271484,420.466309" EndPoint="779.358398,420.466309">';
    xaml += '<LinearGradientBrush.GradientStops>';
    xaml += '<GradientStop Offset="0.000000" Color="#ffbfbfbf"/>';
    xaml += '<GradientStop Offset="0.274725" Color="#ffdcdcdc"/>';
    xaml += '<GradientStop Offset="0.532967" Color="#ffd1d1d2"/>';
    xaml += '<GradientStop Offset="0.846154" Color="#ffdddedd"/>';
    xaml += '<GradientStop Offset="1.000000" Color="#ffc4c5c4"/>';
    xaml += '</LinearGradientBrush.GradientStops>';
    xaml += '<LinearGradientBrush.Transform>';
    xaml += '<MatrixTransform Matrix="1.000000,0.000000,-0.000000,-1.000000,-411.271484,604.510742" />';
    xaml += '        </LinearGradientBrush.Transform>';
    xaml += '      </LinearGradientBrush>';
    xaml += '    </Path.Fill>';
    xaml += '  </Path>';
    xaml += '  </Canvas>';
    xaml += '  <Path Data="F1 M 362.042969,351.043945 C 362.042969,357.118164 357.118164,362.043945 351.042969,362.043945 L 17.042969,362.043945 C 10.967773,362.043945 6.042969,357.118164 6.042969,351.043945 L 6.042969,17.044434 C 6.042969,10.969238 10.967773,6.044434 17.042969,6.044434 L 351.042969,6.044434 C 357.118164,6.044434 362.042969,10.969238 362.042969,17.044434 L 362.042969,351.043945 Z">';
    xaml += '    <Path.Fill>';
    xaml += '      <LinearGradientBrush MappingMode="Absolute" StartPoint="761.407227,624.365723" EndPoint="440.596588,230.531799">';
    xaml += '        <LinearGradientBrush.GradientStops>';
    xaml += '<GradientStop Offset="0.000000" Color="#ffcecfcf"/>';
    xaml += '<GradientStop Offset="0.274725" Color="#ffeeeeee"/>';
    xaml += '<GradientStop Offset="0.532967" Color="#ffeeeeee"/>';
    xaml += '<GradientStop Offset="0.846154" Color="#fff2f2f3"/>';
    xaml += '<GradientStop Offset="1.000000" Color="#ffd1d1d2"/>';
    xaml += '        </LinearGradientBrush.GradientStops>';
    xaml += '        <LinearGradientBrush.Transform>';
    xaml += '<MatrixTransform Matrix="1.000000,0.000000,-0.000000,-1.000000,-411.271484,604.510742" />';
    xaml += '        </LinearGradientBrush.Transform>';
    xaml += '      </LinearGradientBrush>';
    xaml += '    </Path.Fill>';
    xaml += '  </Path>';
    xaml += '  <Path Fill="#ff050000" Data="F1 M 309.032227,99.867676 L 309.032227,269.188477 L 58.733398,269.188477 L 58.733398,99.867676 L 309.032227,99.867676 Z"/>';
    xaml += '  <Path Data="F1 M 341.875000,184.473145 C 341.875000,187.522461 339.405273,189.996094 336.356445,189.996094 C 333.306641,189.996094 330.833008,187.522461 330.833008,184.473145 C 330.833008,181.424805 333.306641,178.952637 336.356445,178.952637 C 339.405273,178.952637 341.875000,181.424805 341.875000,184.473145 Z">';
    xaml += '    <Path.Fill>';
    xaml += '      <LinearGradientBrush MappingMode="Absolute" StartPoint="749.596680,415.602539" EndPoint="747.105957,421.206665">';
    xaml += '        <LinearGradientBrush.GradientStops>';
    xaml += '<GradientStop Offset="0.000000" Color="#ff939394"/>';
    xaml += '<GradientStop Offset="0.532967" Color="#ffcbcccd"/>';
    xaml += '<GradientStop Offset="1.000000" Color="#ff211613"/>';
    xaml += '        </LinearGradientBrush.GradientStops>';
    xaml += '        <LinearGradientBrush.Transform>';
    xaml += '<MatrixTransform Matrix="1.000000,0.000000,-0.000000,-1.000000,-411.271484,604.510742" />';
    xaml += '        </LinearGradientBrush.Transform>';
    xaml += '      </LinearGradientBrush>';
    xaml += '    </Path.Fill>';
    xaml += '  </Path>';
    xaml += '';
    xaml += '  <!-- レイヤー 1/<グループ>/<パス> -->';
    xaml += '  <Path Fill="#ffdedddb" Data="F1 M 339.978516,184.473145 C 339.978516,186.477539 338.358398,188.097656 336.356445,188.097656 C 334.354492,188.097656 332.735352,186.477539 332.735352,184.473145 C 332.735352,182.475098 334.354492,180.852051 336.356445,180.852051 C 338.358398,180.852051 339.978516,182.475098 339.978516,184.473145 Z"/>';
    xaml += '';
    xaml += '  <!-- レイヤー 1/<グループ>/<パス> -->';
    xaml += '  <Path Fill="#ff888b84" Data="F1 M 59.170410,96.187012 L 59.170410,272.868164 L 55.297852,272.868164 L 55.297852,96.187012 L 59.170410,96.187012 Z"/>';
    xaml += '';
    xaml += '  <!-- レイヤー 1/<グループ>/<パス> -->';
    xaml += '  <Path Fill="#ff7d7e7e" Data="F1 M 308.917969,96.187012 L 308.917969,272.868164 L 312.791016,272.868164 L 312.791016,96.187012 L 308.917969,96.187012 Z"/>';
    xaml += '<Path Fill="#ffb0b3b1" Data="F1 M 308.919922,268.897461 L 59.169434,268.897461 L 55.284180,272.866211 L 312.804688,272.866211 L 308.919922,268.897461 Z"/>';
    xaml += '<Path Fill="#ff57575a" Data="F1 M 308.919922,100.063477 L 59.169434,100.063477 L 55.284180,96.094727 L 312.804688,96.094727 L 308.919922,100.063477 Z"/>';
    xaml += '</Canvas>';
    xaml += '</Canvas>';    
    
	xaml += '<Image Source="' + imageURL +  '" Height="168.5" Width="249.75" Canvas.Top="100.25" Canvas.Left="59.25" x:Name="image' + boxName + '"/>';
	xaml += '<Image x:Name="transform' + boxName + '" Width="58" Height="58" MouseLeftButtonDown="transformBoxMouseDowned"  MouseEnter="transformBoxMouseEnter" MouseLeave="transformBoxMouseLeave" ';
	xaml += 'Source="silverlightfiles_ceremony/images/arrow.png" Canvas.Top="288" Canvas.Left="286" Cursor="Hand"/>';
	xaml += '<Image x:Name="comment' + boxName + '"  Width="330" Height="330" Canvas.Top="19" Canvas.Left="19"  Source="' + commentURL + '" IsHitTestVisible="False"/>';
	xaml += '</Canvas>';
	
	var imagebox = m_plugIn.content.createFromXaml(xaml, false);
	return imagebox;
}

function createImageBoxShadow(boxName, canvasLeft, canvasTop)
{
    var w = 420;
    var h = 420;
    var xaml = "";
    xaml += '<Image xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" x:Name="shadow' + boxName + '" Width="' + w + '" Height="' + h + '" Canvas.Left="' + canvasLeft;
    xaml += '" Canvas.Top="' + canvasTop + '" Source="silverlightfiles_ceremony/images/shadow.png" Opacity="1" Visibility="Collapsed" IsHitTestVisible="False">';
    xaml += '<Image.Resources> ';
    xaml += '<Storyboard x:Name="shadowDispAnime' + boxName + '" Completed="arrowDispAnimeCompleted"> ';
    xaml += '<DoubleAnimationUsingKeyFrames BeginTime="00:00:00" Storyboard.TargetName="shadow' + boxName + '" Storyboard.TargetProperty="(UIElement.Opacity)"> ';
    xaml += '<SplineDoubleKeyFrame KeyTime="00:00:00" Value="0"/> ';
    xaml += '<SplineDoubleKeyFrame KeyTime="00:00:1" Value="1"/> ';
    xaml += '</DoubleAnimationUsingKeyFrames> ';
    xaml += '</Storyboard> ';
    xaml += '</Image.Resources> ';
    xaml += '<Image.RenderTransform>';
	xaml += '<TransformGroup>';
	xaml += '<RotateTransform x:Name="shadowRotateTransform' + boxName + '" Angle="0" CenterX="' + w / 2 + '" CenterY="' + h / 2 + '"/>';
	xaml += '<ScaleTransform x:Name="shadowScaleTransform' + boxName + '" ScaleX="1.0" ScaleY="1.0" CenterX="' + w / 2 + '" CenterY="' + h / 2 + '"/>';	
	xaml += '</TransformGroup>';
	xaml += '</Image.RenderTransform>';
	xaml += '</Image>';    
    
    var imageBoxShadow = m_plugIn.content.createFromXaml(xaml, false);
	return imageBoxShadow;
}

function getRandomXForImageBox()
{
    return Math.floor( Math.random() * 800 ) - 100;
}

function getRandomYForImageBox()
{
    return Math.floor( Math.random() * 350 ) - 50;
}

function getRandomAngleForImageBox()
{
    var angle = Math.floor( Math.random() * 50 );
	if (Math.random() > 0.5)
	{
		angle *= -1;
	}
    return angle;
}

function getShadowLocationDiff()
{
    var shadowLocationDiff = -20;
    if(scale >= minScale)
	{
	    return shadowLocationDiff - 1 / scale;
	}
	else
	{
	    return shadowLocationDiff - 1.8 / minScale;	    
	}    
}

function callDrawFullScreen()
{    
    if (firstFullScrennDisp)
    {
        firstFullScrennDisp = false;
        drawFullScreen();	        
    }	    
}
/***************** ↑maeyama **************************************/


/***************** ↓SAKAMOTO **************************************/

// 初期Storyboardセット
function initLoadingAnimationSet()
{
    var caravan = document.getElementById("SilverlightPlugIn");
    
    var xamlFragment = '';
    
    var loadingAnimationImageCanvasTmp = caravan.content.findName("loadingAnimationImageCanvas");
    
    
    for(var i = 1; i < 121;i++)
    {
        xamlFragment = '<Storyboard x:Name="loadedImage' + i + '" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml">';
        xamlFragment += '<DoubleAnimationUsingKeyFrames BeginTime="00:00:00" Storyboard.TargetName="loadingimage' + i + '" Storyboard.TargetProperty="(Canvas.Left)">';
        xamlFragment += '<SplineDoubleKeyFrame KeyTime="00:00:01" Value="0" KeySpline="0,1,0,1"/>';
        xamlFragment += '</DoubleAnimationUsingKeyFrames>';
        xamlFragment += '<DoubleAnimationUsingKeyFrames BeginTime="00:00:00" Storyboard.TargetName="loadingimage' + i + '" Storyboard.TargetProperty="(Canvas.Top)">';
        xamlFragment += '<SplineDoubleKeyFrame KeyTime="00:00:01" Value="0" KeySpline="0,1,0,1"/>';
        xamlFragment += '</DoubleAnimationUsingKeyFrames>';
        xamlFragment += '</Storyboard>';
        
        var thumbXaml = caravan.content.createFromXaml(xamlFragment, false);
        loadingAnimationImageCanvasTmp.Resources.add(thumbXaml);
    }
}

// フルスクリーン描画
function drawFullScreen()
{
    var caravan = document.getElementById("SilverlightPlugIn");

    // フルスクリーンのサムネイル画像の生成
    var fullScreenThumbCanvasTmp = caravan.content.findName("fullScreenThumbListCanvas");
    var xamlFragment = '<Canvas xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml">';
    xamlFragment += '<Canvas x:Name="fullscrcanvas">';
    
    for (var i = 0; i < m_json.ssmovie.length; i++) {
        var canvasleft = 130 * i;
        xamlFragment += '<Canvas ';
        xamlFragment += 'x:Name="fullScreenThumbCanvas' + i + '" ';
        xamlFragment += 'Canvas.Top="10" ';
        xamlFragment += 'Canvas.Left="' + canvasleft + '" ';
        xamlFragment += '>';
        xamlFragment += '<Canvas Canvas.Top="-14" Canvas.Left="-10"><Canvas><Path Data="F1 M 110.9,106.5 C 110.9,108.9 108.9,110.9 106.5,110.9 L 4.4,110.9 C 1.9,110.9 0.0,108.9 0.0,106.5 L 0.0,4.4 C 0.0,1.9 1.9,0.0 4.4,0.0 L 106.5,0.0 C 108.9,0.0 110.9,1.9 110.9,4.4 L 110.9,106.5 Z"><Path.Fill><LinearGradientBrush MappingMode="Absolute" StartPoint="457.8,383.3" EndPoint="568.7,383.3"><LinearGradientBrush.GradientStops><GradientStop Offset="0.0" Color="#ffbfbfbf"/><GradientStop Offset="0.2" Color="#ffdcdcdc"/><GradientStop Offset="0.5" Color="#ffd1d1d2"/><GradientStop Offset="0.8" Color="#ffdddedd"/><GradientStop Offset="1.0" Color="#ffc4c5c4"/></LinearGradientBrush.GradientStops><LinearGradientBrush.Transform><MatrixTransform Matrix="1.0,0.0,-0.0,-1.0,-457.8,438.7" /></LinearGradientBrush.Transform></LinearGradientBrush></Path.Fill></Path></Canvas><Path Data="F1 M 109.1,105.8 C 109.1,107.6 107.6,109.1 105.8,109.1 L 5.1,109.1 C 3.3,109.1 1.8,107.6 1.8,105.8 L 1.8,5.1 C 1.8,3.3 3.3,1.8 5.1,1.8 L 105.8,1.8 C 107.6,1.8 109.1,3.3 109.1,5.1 L 109.1,105.8 Z"><Path.Fill><LinearGradientBrush MappingMode="Absolute" StartPoint="563.3,444.7" EndPoint="466.6,326.0"><LinearGradientBrush.GradientStops><GradientStop Offset="0.0" Color="#ffcecfcf"/><GradientStop Offset="0.2" Color="#ffeeeeee"/><GradientStop Offset="0.5" Color="#ffeeeeee"/><GradientStop Offset="0.8" Color="#fff2f2f3"/><GradientStop Offset="1.0" Color="#ffd1d1d2"/></LinearGradientBrush.GradientStops><LinearGradientBrush.Transform><MatrixTransform Matrix="1.0,0.0,-0.0,-1.0,-457.8,438.7" /></LinearGradientBrush.Transform></LinearGradientBrush></Path.Fill></Path><Path Data="F1 M 107.4,55.3 C 107.4,56.2 106.7,56.9 105.8,56.9 C 104.9,56.9 104.1,56.2 104.1,55.3 C 104.1,54.4 104.9,53.6 105.8,53.6 C 106.7,53.6 107.4,54.4 107.4,55.3 Z"><Path.Fill><LinearGradientBrush MappingMode="Absolute" StartPoint="564.2,382.1" EndPoint="563.4,383.8"><LinearGradientBrush.GradientStops><GradientStop Offset="0.0" Color="#ff939394"/><GradientStop Offset="0.5" Color="#ffcbcccd"/><GradientStop Offset="1.0" Color="#ff211613"/></LinearGradientBrush.GradientStops><LinearGradientBrush.Transform><MatrixTransform Matrix="1.0,0.0,-0.0,-1.0,-457.8,438.7" /></LinearGradientBrush.Transform></LinearGradientBrush></Path.Fill></Path><Path Fill="#ffdedddb" Data="F1 M 106.9,55.3 C 106.9,55.9 106.4,56.4 105.8,56.4 C 105.2,56.4 104.7,55.9 104.7,55.3 C 104.7,54.7 105.2,54.2 105.8,54.2 C 106.4,54.2 106.9,54.7 106.9,55.3 Z"/><Path Fill="#ff888b84" Data="F1 M 10.3,20.0 L 10.3,90.4 L 9.1,90.4 L 9.1,20.0 L 10.3,20.0 Z"/><Path Fill="#ff7d7e7e" Data="F1 M 100.4,20.0 L 100.4,90.4 L 101.5,90.4 L 101.5,20.0 L 100.4,20.0 Z"/><Path Fill="#ffb0b3b1" Data="F1 M 100.4,89.2 L 10.3,89.2 L 9.1,90.4 L 101.5,90.4 L 100.4,89.2 Z"/><Path Fill="#ff57575a" Data="F1 M 100.4,21.1 L 10.3,21.1 L 9.1,19.9 L 101.5,19.9 L 100.4,21.1 Z"/><Path Fill="#ff000000" Data="F1 M 100.3,89.1 L 10.3,89.1 L 10.3,21.1 L 100.3,21.1 L 100.3,89.1 Z"/></Canvas>';
        xamlFragment += '<Image Canvas.Top="7" ';
        xamlFragment += 'x:Name="fullScreenImage' + i + '" ';
        //xamlFragment += 'Source="silverlightfiles_ceremony/ssmovieimages/small_image/' + selectImages[i] + '" ';
        xamlFragment += 'Width="90" Height="68" ';
        xamlFragment += 'Stretch="Uniform" />';
        xamlFragment += '</Canvas>';
    }
    
    xamlFragment += '</Canvas>';
    xamlFragment += '</Canvas>';
    
    var thumbXaml = caravan.content.createFromXaml(xamlFragment, false);
    fullScreenThumbCanvasTmp.children.add(thumbXaml);
    
    
    var fullScreenCanvasTmp = caravan.content.findName("fullScreenCanvas");
    
    for (var i = 0; i < m_json.ssmovie.length; i++) {
        // フルスクリーンサムネイルアニメーション定義
        var xamlFragment = '<Storyboard xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" x:Name="fullScreenThumbCanvas' + i + 'leftMove" Completed="continueMove">';
        xamlFragment += '<Storyboard Storyboard.TargetName="fullScreenThumbListCanvas">';
        xamlFragment += '<DoubleAnimationUsingKeyFrames Storyboard.TargetProperty="(Canvas.Left)">';
        xamlFragment += '<SplineDoubleKeyFrame KeyTime="00:00:00.5" KeySpline="0,0.8,0,0.8" Value="' + ((-130) * i - 5) + '" />';
        xamlFragment += '<SplineDoubleKeyFrame KeyTime="00:00:00.55" Value="' + (-130) * i + '" />';
        xamlFragment += '</DoubleAnimationUsingKeyFrames>';
        xamlFragment += '</Storyboard>';
        xamlFragment += '</Storyboard>';
        var thumbXaml = caravan.content.createFromXaml(xamlFragment, false);
        fullScreenCanvasTmp.Resources.add(thumbXaml);
        
        var xamlFragment = '<Storyboard xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" x:Name="fullScreenThumbCanvas' + i + 'rightMove" Completed="continueMove">';
        xamlFragment += '<Storyboard Storyboard.TargetName="fullScreenThumbListCanvas">';
        xamlFragment += '<DoubleAnimationUsingKeyFrames Storyboard.TargetProperty="(Canvas.Left)">';
        xamlFragment += '<SplineDoubleKeyFrame KeyTime="00:00:00.5" KeySpline="0,0.8,0,0.8" Value="' + ((-130) * i + 5) + '" />';
        xamlFragment += '<SplineDoubleKeyFrame KeyTime="00:00:00.55" Value="' + (-130) * i + '" />';
        xamlFragment += '</DoubleAnimationUsingKeyFrames>';
        xamlFragment += '</Storyboard>';
        xamlFragment += '</Storyboard>';
        var thumbXaml = caravan.content.createFromXaml(xamlFragment, false);
        fullScreenCanvasTmp.Resources.add(thumbXaml);
                                                 
        target_Image = caravan.content.findName("fullScreenThumbCanvas" + i);
        target_Image.addEventListener("MouseLeftButtonUp", Silverlight.createDelegate(this, selectFullscreenImage));
        target_Image.Cursor = "Hand";
    }
}

var slideImageNumber = 0;
var moveLeftOrRight = "right";
var slidePlayStatus = "play";
var playStatus = "stop";
var fullscreenImageID = "A";

// フルスクリーンサムネイルクリックアニメーション
function selectFullscreenImage(sender,arg)
{
    var caravan = document.getElementById("SilverlightPlugIn");
    
    playStatus = "play";
        
    // 0をマイナスすることで変数タイプを数字にする。
    var tmpSlideImageNumber = sender.Name.slice(21) - 0;
    
    
    if(tmpSlideImageNumber != slideImageNumber)
    {
        var sb = caravan.content.findName("timerStoryboard");
        sb.Stop();
    
	    var fullScreenPlayBtnCanvasTmp = caravan.content.findName("fullScreenPlayBtnCanvas");
	    fullScreenPlayBtnCanvasTmp.Visibility = "Collapsed";
        
        if(fullscreenImageID != "A")
        {
            fullscreenImageID = "A";
        }
        else
        {
            fullscreenImageID = "B";
        }
    }
    
    var fullScreenImageTmp = caravan.content.findName("fullScreenImage" + fullscreenImageID);
    fullScreenImageTmp.Source = "";
    fullScreenImageTmp.Source = "silverlightfiles_ceremony/ssmovieimages/" + selectImages[tmpSlideImageNumber];
    
    var fullScreenImageCaptionTmp = caravan.content.findName("fullScreenImageCaption" + fullscreenImageID);
    fullScreenImageCaptionTmp.Source = "silverlightfiles_ceremony/comment/" + selectImages[tmpSlideImageNumber].replace("JPG", "png");
        
    // サムネイルリスト移動
    if(slideImageNumber > tmpSlideImageNumber){
        var storyboardName = sender.Name + "rightMove";
        var sb = caravan.content.findName(storyboardName);
        sb.Begin();
        var storyboardName = "fullScreenImage" + fullscreenImageID + "right";
	    var sb = caravan.content.findName(storyboardName);
	    sb.Begin();
	        
        var storyboardName = "fullScreenImageCaption" + fullscreenImageID + "active";
	    var sb = caravan.content.findName(storyboardName);
	    sb.Begin();
    }else if(slideImageNumber < tmpSlideImageNumber){
        var storyboardName = sender.Name + "leftMove";
        var sb = caravan.content.findName(storyboardName);
        sb.Begin();
        var storyboardName = "fullScreenImage" + fullscreenImageID + "left";
	    var sb = caravan.content.findName(storyboardName);
	    sb.Begin();
	        
        var storyboardName = "fullScreenImageCaption" + fullscreenImageID + "active";
	    var sb = caravan.content.findName(storyboardName);
	    sb.Begin();
    }else{
    }
    
    slideImageNumber = tmpSlideImageNumber;
}

function continueMove(sender, arg)
{
    var caravan = document.getElementById("SilverlightPlugIn");
    
    if(slideImageNumber < selectImages.length - 1)
    {
        var sb = caravan.content.findName("timerStoryboard");
        sb.Begin();
    }else{
	    var fullScreenPlayBtnCanvasTmp = caravan.content.findName("fullScreenPlayBtnCanvas");
	    fullScreenPlayBtnCanvasTmp.Visibility = "Visible";
	    
	    fullScreenPlayBtnMouseLeave(sender,arg);
	}
}

function stopMove(sender, arg)
{
    playStatus = "stop";

    var caravan = document.getElementById("SilverlightPlugIn");
    
    var sb = caravan.content.findName("timerStoryboard");
    sb.Stop();
}

function timerStoryboardComplete(sender, arg)
{
    if(playStatus == "play")
    {
        var caravan = document.getElementById("SilverlightPlugIn");
        
        if(moveLeftOrRight == "right")
        {
            var tmpSlideImageNumber = slideImageNumber + 1;
        }else{
            var tmpSlideImageNumber = slideImageNumber - 1;
            if(tmpSlideImageNumber < 0)tmpSlideImageNumber=0;
        }
        
        if(fullscreenImageID != "A")
        {
            fullscreenImageID = "A";
        }
        else
        {
            fullscreenImageID = "B";
        }
        
        var fullScreenImageTmp = caravan.content.findName("fullScreenImage" + fullscreenImageID);
        fullScreenImageTmp.Source = "";
        fullScreenImageTmp.Source = "silverlightfiles_ceremony/ssmovieimages/" + selectImages[tmpSlideImageNumber];
    
        var fullScreenImageCaptionTmp = caravan.content.findName("fullScreenImageCaption" + fullscreenImageID);
        fullScreenImageCaptionTmp.Source = "silverlightfiles_ceremony/comment/" + selectImages[tmpSlideImageNumber].replace("JPG", "png");
            
        // サムネイルリスト移動
        if(slideImageNumber > tmpSlideImageNumber){
            var storyboardName = "fullScreenThumbCanvas" + tmpSlideImageNumber + "rightMove";
            var sb = caravan.content.findName(storyboardName);
            sb.Begin();
            
            var storyboardName = "fullScreenImage" + fullscreenImageID + "right";
	        var sb = caravan.content.findName(storyboardName);
	        sb.Begin();
	        
            var storyboardName = "fullScreenImageCaption" + fullscreenImageID + "active";
	        var sb = caravan.content.findName(storyboardName);
	        sb.Begin();
        }else if(slideImageNumber < tmpSlideImageNumber){
            var storyboardName = "fullScreenThumbCanvas" + tmpSlideImageNumber + "leftMove";
            var sb = caravan.content.findName(storyboardName);
            sb.Begin();
            
            var storyboardName = "fullScreenImage" + fullscreenImageID + "left";
	        var sb = caravan.content.findName(storyboardName);
	        sb.Begin();
	        
            var storyboardName = "fullScreenImageCaption" + fullscreenImageID + "active";
	        var sb = caravan.content.findName(storyboardName);
	        sb.Begin();
        }else{
        }
        
        slideImageNumber = tmpSlideImageNumber;
    }
}

// フルスクリーン切り替え
function fullscreentbtn(sender, arg)
{
    var SilverlightControl = sender.getHost();
    SilverlightControl.content.fullScreen = !SilverlightControl.content.fullScreen;
    
    var screenWidth = SilverlightControl.content.actualWidth;
    var screenHeight = SilverlightControl.content.actualHeight;
    
    var caravan = document.getElementById("SilverlightPlugIn");    
    
    var normalBaseCanvasTmp = caravan.content.findName("normalBaseCanvas");
    var fullScreenCanvasTmp = caravan.content.findName("fullScreenCanvas");
    
	if(fullScreenCanvasTmp.Visibility =="Visible")
	{
	    playStatus = "stop";
	    
        normalBaseCanvasTmp.Visibility = "Visible";
        fullScreenCanvasTmp.Visibility = "Collapsed";
        
	    var fullScreenPlayBtnCanvasTmp = caravan.content.findName("fullScreenPlayBtnCanvas");
	    fullScreenPlayBtnCanvasTmp.Visibility = "Collapsed";
    
        var fullScreenImageTmp = caravan.content.findName("fullScreenImageA");
        fullScreenImageTmp.Source = "";
        var fullScreenImageTmp = caravan.content.findName("fullScreenImageB");
        fullScreenImageTmp.Source = "";
	}
	else
	{
	    playStatus = "play";
	    slideImageNumber = 0;
	    
	    for(var i = 0;i < m_json.ssmovie.length;i++)
	    {
	        if(selectImages[i])
	        {   
	            var fullScreenThumbCanvasTmp = caravan.content.findName("fullScreenThumbCanvas" + i);
	            fullScreenThumbCanvasTmp.Visibility = "Visible";
	            
	            var fullScreenImageTmp = caravan.content.findName("fullScreenImage" + i);
	            fullScreenImageTmp.Source = "silverlightfiles_ceremony/ssmovieimages/small_image/" + selectImages[i];
	        }else{
	            var fullScreenThumbCanvasTmp = caravan.content.findName("fullScreenThumbCanvas" + i);
	            fullScreenThumbCanvasTmp.Visibility = "Collapsed";
	        }
	    }
	    
        var fullScreenImageTmp = caravan.content.findName("fullScreenImageA");        
        fullScreenImageTmp.Source = "silverlightfiles_ceremony/ssmovieimages/" + selectImages[0];
        
        fullScreenImageTmp = caravan.content.findName("fullScreenImageB");        
        fullScreenImageTmp.Source = "silverlightfiles_ceremony/ssmovieimages/" + selectImages[0];
    
        var fullScreenImageCaptionTmp = caravan.content.findName("fullScreenImageCaptionA");
        fullScreenImageCaptionTmp.Source = "silverlightfiles_ceremony/comment/" + selectImages[0].replace("JPG", "png");
    
        var fullScreenImageCaptionTmp = caravan.content.findName("fullScreenImageCaptionB");
        fullScreenImageCaptionTmp.Source = "silverlightfiles_ceremony/comment/" + selectImages[0].replace("JPG", "png");
        
	    continueMove(sender,arg);
	    
	    var fullScreenThumbListCanvasTmp = caravan.content.findName("fullScreenThumbListCanvas");
	    fullScreenThumbListCanvasTmp["Canvas.Left"] = 0;
	    
        normalBaseCanvasTmp.Visibility = "Collapsed";
        fullScreenCanvasTmp.Visibility = "Visible";
        
        fullScreenCanvasTmp.Width = screenWidth;
        fullScreenCanvasTmp.Height = screenHeight;
        
        fullScreenImageTmp = caravan.content.findName("fullScreenImageA");
        fullScreenImageTmp.Width = screenWidth - 20;
        fullScreenImageTmp.Height = screenHeight - 261;
        
        fullScreenImageTmp = caravan.content.findName("fullScreenImageB");
        fullScreenImageTmp.Width = screenWidth - 20;
        fullScreenImageTmp.Height = screenHeight - 261;
        
        var fullScreenImageCaptionTmp = caravan.content.findName("fullScreenImageCaptionA");
        fullScreenImageCaptionTmp["Canvas.Left"] = screenWidth / 2 - 314;
        var fullScreenImageCaptionTmp = caravan.content.findName("fullScreenImageCaptionB");
        fullScreenImageCaptionTmp["Canvas.Left"] = screenWidth / 2 - 314;
        
        var fullScreenThumbCanvasTmp = caravan.content.findName("fullScreenThumbListBaseCanvas");
        fullScreenThumbCanvasTmp["Canvas.Top"] = screenHeight - 119;
        fullScreenThumbCanvasTmp["Canvas.Left"] = screenWidth / 2 - 60;
        
        var fullScreenHeaderBaseTmp = caravan.content.findName("fullScreenHeaderBase");
        fullScreenHeaderBaseTmp.Width = screenWidth;
        
        var fullScreenBackBtnCanvasTmp = caravan.content.findName("fullScreenBackBtnCanvas");
        fullScreenBackBtnCanvasTmp["Canvas.Left"] = screenWidth - 100;
	}
}

// ボタンアニメーション
function fullScreenPlayBtnMouseOver(sender,arg)
{
	var caravan = document.getElementById("SilverlightPlugIn");
	var sb = caravan.content.findName("fullScreenPlayBtnMouseOverSB");
	sb.Begin();
}
function fullScreenPlayBtnMouseLeave(sender,arg)
{
	var caravan = document.getElementById("SilverlightPlugIn");
	
	var sb = caravan.content.findName("fullScreenPlayBtnMouseLeaveSB");
	sb.Begin();
	
	var sb = caravan.content.findName("fullScreenPlayBtnMouseUpSB");
	sb.Begin();
}
function fullScreenPlayBtnMouseDown(sender,arg)
{
	var caravan = document.getElementById("SilverlightPlugIn");
	var sb = caravan.content.findName("fullScreenPlayBtnMouseDownSB");
	sb.Begin();
}
function fullScreenPlayBtnMouseUp(sender,arg)
{
	var caravan = document.getElementById("SilverlightPlugIn");
	var sb = caravan.content.findName("fullScreenPlayBtnMouseUpSB");
	sb.Begin();
	
	playStatus = "play";
	
	if(slideImageNumber == selectImages.length - 1)
	{
	    slideImageNumber = -1;
	    timerStoryboardComplete(null,null);
	}else{
	    continueMove(null,null);
	}
	
	var fullScreenPlayBtnCanvasTmp = caravan.content.findName("fullScreenPlayBtnCanvas");
	fullScreenPlayBtnCanvasTmp.Visibility = "Collapsed";
	
}

// ボタンアニメーション
function fullScreenStopBtnMouseOver(sender,arg)
{
	var caravan = document.getElementById("SilverlightPlugIn");
	var sb = caravan.content.findName("fullScreenStopBtnMouseOverSB");
	sb.Begin();
}
function fullScreenStopBtnMouseLeave(sender,arg)
{
	var caravan = document.getElementById("SilverlightPlugIn");
	
	var sb = caravan.content.findName("fullScreenStopBtnMouseLeaveSB");
	sb.Begin();
	
	var sb = caravan.content.findName("fullScreenStopBtnMouseUpSB");
	sb.Begin();
}
function fullScreenStopBtnMouseDown(sender,arg)
{
	var caravan = document.getElementById("SilverlightPlugIn");
	var sb = caravan.content.findName("fullScreenStopBtnMouseDownSB");
	sb.Begin();
}
function fullScreenStopBtnMouseUp(sender,arg)
{
	var caravan = document.getElementById("SilverlightPlugIn");
	var sb = caravan.content.findName("fullScreenStopBtnMouseUpSB");
	sb.Begin();
	
	stopMove(null,null);
	
	var fullScreenPlayBtnCanvasTmp = caravan.content.findName("fullScreenPlayBtnCanvas");
	fullScreenPlayBtnCanvasTmp.Visibility = "Visible";
}

// ボタンアニメーション
function fullScreenBackBtnMouseOver(sender,arg)
{
	var caravan = document.getElementById("SilverlightPlugIn");
	var sb = caravan.content.findName("fullScreenBackBtnMouseOverSB");
	sb.Begin();
}
function fullScreenBackBtnMouseLeave(sender,arg)
{
	var caravan = document.getElementById("SilverlightPlugIn");
	
	var sb = caravan.content.findName("fullScreenBackBtnMouseLeaveSB");
	sb.Begin();
	
	var sb = caravan.content.findName("fullScreenBackBtnMouseUpSB");
	sb.Begin();
}
function fullScreenBackBtnMouseDown(sender,arg)
{
	var caravan = document.getElementById("SilverlightPlugIn");
	var sb = caravan.content.findName("fullScreenBackBtnMouseDownSB");
	sb.Begin();
}
function fullScreenBackBtnMouseUp(sender,arg)
{
	var caravan = document.getElementById("SilverlightPlugIn");
	var sb = caravan.content.findName("fullScreenBackBtnMouseUpSB");
	sb.Begin();
	
	fullscreentbtn(sender,arg);
}