﻿



//============================================================
//
//
//============================================================
function DynamicPicture_Switch(picture)
{
    var qFadeIn  = null;
    var qFadeOut = null;
    
    var qImage1  = picture.qImage1;
    var qImage2  = picture.qImage2;
    
    qImage1.stop();
    qImage2.stop();
    
    if(qImage1.css("display")=="none")
    {
	    qFadeIn  = qImage1;
        qFadeOut = qImage2;
    }
    else
    {
	    qFadeIn  = qImage2;
        qFadeOut = qImage1;
    }
    
    qFadeIn.css ("display",  "none");
    qFadeIn.css (picture.Anchor, "0px");
    qFadeIn.attr("src",  DynamicPicture_RollPicture(picture));
}

//============================================================
//
//
//============================================================
function DynamicPicture_RollPicture(picture)
{
    if(picture.Pictures == null)
        return null;
    
    var sPicture = picture.Pictures.shift();
    
    picture.Pictures.push(sPicture);
    
    return sPicture;
}

//============================================================ 
//
//
//============================================================
function DynamicPicture_Animate(picture, qImage)
{
    var qContainer = picture.qContainer;

    var oAnimation = {};
    
    if(picture.Anchor=="top")
    {
	    var iTarget = qContainer.height() - qImage.height()

        oAnimation.top = iTarget + "px";
    }
    
    if(picture.Anchor=="bottom")
    {
	    var iTarget = qContainer.height() - qImage.height()
    
        if(picture.Position=="relative")
            iTarget = -iTarget;
    
        oAnimation.bottom = iTarget + "px";
    }

    if(picture.Anchor=="left")
    {
	    var iTarget = qContainer.width() - qImage.width()
    
        oAnimation.left = iTarget + "px";
    }
    
    if(picture.Anchor=="right")
    {
	    var iTarget = qContainer.width() - qImage.width()
    
        if(picture.Position=="relative")
            iTarget = -iTarget;

        oAnimation.right = iTarget + "px";
    }
    
    qImage.css(picture.Anchor,  "0px");
    
    qImage.animate(oAnimation, picture.SlideTimeout, function()
    {
	    DynamicPicture_Schedule(picture);
    });
    
}

//============================================================
//
//
//============================================================
function DynamicPicture_Schedule(picture)
{
    window.setTimeout(function() {DynamicPicture_Switch(picture)}, picture.FadeTimeout);
}

//============================================================
//
//
//============================================================
function DynamicPicture_Start(containerID, img1ID, img2ID, anchor, position, slidetimeout, fadeTimeout, pictures)
{

    var oPicture = 
    {
        qContainer   : jQuery("#"+containerID),
        qImage1      : jQuery("#"+img1ID),
        qImage2      : jQuery("#"+img2ID),
        Anchor       : anchor,
        Position     : position,
        SlideTimeout : slidetimeout,
        FadeTimeout  : fadeTimeout,
        Pictures     : pictures
    };
    
    oPicture.qContainer.css(
    {
        overflow  : "hidden",
        position  : "relative",
        textAlign : "left"
    });
    
    oPicture.qImage1.css(
    {
        display  : "none",
        position : oPicture.Position
    });
    
    oPicture.qImage2.css(
    {
        display  : "none",
        position : oPicture.Position
    });
    
    jQuery(document).ready(function()
    { 
		oPicture.qImage1.load(function()
	    {
            var qFadeIn  = oPicture.qImage1;
            var qFadeOut = oPicture.qImage2;
            
            if(oPicture.Position=="relative")
            {
                qFadeOut.fadeOut(1000, function()
                {
	                qFadeIn. fadeIn (1000, function()
	                {
	                    DynamicPicture_Animate(oPicture, qFadeIn)
	                });
                });
            }
            else
            {
                qFadeOut.fadeOut(1000);
	            qFadeIn. fadeIn (1000, function()
	            {
	                DynamicPicture_Animate(oPicture, qFadeIn)
	            });
            }
	    });
    	
		oPicture.qImage2.load(function()
	    {
            var qFadeIn  = oPicture.qImage2;
            var qFadeOut = oPicture.qImage1;
            
            if(oPicture.Position=="relative")
            {
                qFadeOut.fadeOut(1000, function()
                {
	                qFadeIn. fadeIn (1000, function()
	                {
	                    DynamicPicture_Animate(oPicture, qFadeIn)
	                });
                });
            }
            else
            {
                qFadeOut.fadeOut(1000);
	            qFadeIn. fadeIn (1000, function()
	            {
	                DynamicPicture_Animate(oPicture, qFadeIn)
	            });
            }
	    });
    	
	    //Start animation has soon as image is loaded
    	DynamicPicture_Switch(oPicture);
    });
}
