﻿function SlideShow()
{
var name;var waitTime = 3000;var fadeTime = 50;var fadeIncr = 25;var pauzeMode = false;var timer = null;var counter;var playBut;var container;var divIn;var divOut;this.StartShow = function( containerID, playBut, counter, waitTime, fadeTime, fadeIncr) { startShow( containerID, playBut, counter, waitTime, fadeTime, fadeIncr);};function startShow( _containerID, _playBut, _counter, _waitTime, _fadeTime, _fadeIncr)
{
if ( _playBut != null)
playBut = $get( _playBut);if ( _counter != null)
counter = $get( _counter);if ( _waitTime != null)
waitTime = _waitTime;if ( _fadeTime != null)
fadeTime = _fadeTime;if ( _fadeIncr != null)
fadeIncr = _fadeIncr;name = "ss"+_containerID;RemoveWhiteSpaces( $get( _containerID));container = $get( _containerID);prepareSlides();prevIndex = container.childNodes.length - 1;if ( prevIndex < 0) prevIndex = 0;fadeInOut( 0);}
function disableImages(s)
{
doEnableImages(s, false);}
function enableImages(s)
{
doEnableImages(s, true);}
var divs = new Array();function removeChilds( c)
{
var childs = c.childNodes;for( var i = childs.length - 1;i >= 0;i--)
{
var s = childs.item(i);c.removeChild( s);}
}
function prepareSlides()
{
var slides = container.childNodes;for( var i = 0;i < slides.length;i++)
{
var s = slides.item(i);disableImages( s);divs[i] = s;}
removeChilds( container);divOut = document.createElement('DIV')
container.appendChild( divOut);divIn = document.createElement('DIV');container.appendChild( divIn);divIn.style.position = 
divOut.style.position = 'absolute';divIn.style.width = 
divOut.style.width = container.offsetWidth;divIn.style.height = 
divOut.style.height = container.offsetHeight;}
this.FadeInOut = function( pos) { fadeInOut( pos) };function fadeInOut( pos)
{
if ( pos == 0) { setIndex(curIndex+1);}
fadeOutIndex = prevIndex;fadeInIndex = curIndex;if (fadeInIndex != fadeOutIndex)
{
setFade( divIn, pos);setFade( divOut, 100-pos);if ( pos < 100)
{
if ( timer != null)
clearTimeout( timer);timer = setTimeout( name +".FadeInOut(" + (pos+fadeIncr) + ")", fadeTime);}
else
{
if ( !pauzeMode)
{
if ( timer != null)
clearTimeout( timer);timer = setTimeout( name + ".FadeInOut( 0)", waitTime);}
}
}
else
{
setFade( divIn, 100);} 
}
function setFade( obj, pos)
{
setElementOpacity( obj, pos);}
this.Pauze = function() { pauze();};function pauze()
{
if (pauzeMode)
{
pauzeMode = false;setIndex( curIndex+1);fadeInOut( 0);if ( playBut)
playBut.innerText = playBut.title = 'Stop';}
else
{
pauzeMode = true;if ( playBut)
playBut.innerText = playBut.title = 'Play';setIndex( curIndex);}
}
function stop()
{
if (!pauzeMode)
pauze();}
this.SetInterval = function( value) { waitTime = value;};var curIndex = -1;var prevIndex = 0;this.MoveFirst = function() { moveTo(0);};this.MoveNext = function() { moveTo(curIndex+1);};this.MovePrev = function() { moveTo(curIndex-1);};this.MoveLast = function() { moveTo(divs.length-1);};this.MoveTo = function( index) { moveTo( index);};function moveTo( index)
{ 
stop();setIndex( index);fadeInOut( 100);} 
function setIndex( index)
{ 
if ( prevIndex >= 0 && prevIndex < divs.length)
disableImages( divs[prevIndex]);prevIndex = curIndex;if ( prevIndex < 0) prevIndex = divs.length-1;if ( prevIndex < 0) prevIndex = divs.length-1;if ( index < 0) 
curIndex = divs.length-1;else if ( index >= divs.length)
curIndex = 0;else
curIndex = index;enableImages( divs[curIndex]);enableImages( divs[prevIndex]);if ( curIndex+1 < divs.length)
enableImages( divs[curIndex+1]);if ( counter)
{
var pica = (curIndex + 1);counter.innerHTML = '&nbsp;' + pica + ' of ' + divs.length + '&nbsp;';}
removeChilds( divOut);removeChilds( divIn);var tmp = divOut;divOut = divIn;divIn = tmp;if ( curIndex != prevIndex)
{
setFade( divOut, 100);setFade( divIn, 1);}
else
{
setFade( divIn, 100);} 
divOut.style.zIndex = 99;divIn.style.zIndex = 100;divOut.appendChild( divs[prevIndex]);divIn.appendChild( divs[curIndex]);}
function setElementOpacity(element, value) {
if ( value < 0) value = 0;if ( value > 100) value = 100;if (element.filters) {
var filters = element.filters;var createFilter = true;if (filters.length != 0) {
var alphaFilter = filters['DXImageTransform.Microsoft.Alpha'];if (alphaFilter != null) {
createFilter = false;alphaFilter.opacity = value;}
}
if (createFilter) {
element.style.filter = 'progid:DXImageTransform.Microsoft.Alpha(opacity=' + (value * 100) + ')';}
}
else {
element.style.opacity = value / 100;}
}
}

if(typeof(Sys)!=='undefined')Sys.Application.notifyScriptLoaded();