//( general.js

var FS_GetRandomPath;

var N_DelayIn = 600;
var O_FadeIn = new T_Fade (0, 100, 25, 10);
var N_DelayOut = 2300;
var O_FadeOut = new T_Fade (100, 0, 25, 10);

var AO_Faders;
var O_Fader;


function V_Fade(O_img)
	{
	return;

	var o_fader;

	if (!(o_fader = O_Fader))
		{
		var s_id;
		s_id = O_img.id;

		var n_fader;
		n_fader = 0;

		while (1)
			{
			if (n_fader == AO_Faders.length)
				{
				return;
				}

			o_fader = AO_Faders[n_fader];

			if (o_fader.s_ID == s_id)
				{
				break;
				}

			++n_fader;
			}
		}

	if (o_fader.b_Run)
		{
		o_fader.v_Stop();

		o_fader.o_FadedImage.v_SetOpacity(100);

		o_fader.o_BufferImage.o_IMG.src = o_fader.o_FadedImage.o_IMG.src;

		if (o_fader.o_BufferImage.o_IMG.src != o_fader.o_FadedImage.o_IMG.src)
			{
			//V_Buffer(o_fader);
			}
		}
	else
		{
		//o_fader.v_Start(0, O_FadeIn, V_FadedIn);
		o_fader.v_Start(0, O_FadeOut, V_FadedOut());

		V_Buffer(o_fader);
		}
	}


function V_Buffer(O_fader)
	{
	var s_image;
	s_image = FS_GetRandomPath();

	O_fader.v_Buffer(s_image);
	}


function V_Init(
 S_imgBaseName, FS_getRandomPath, N_delayIn, O_fadeIn, N_delayOut, O_fadeOut)
	{
	var Z;

	FS_GetRandomPath = FS_getRandomPath;
	N_DelayIn = N_delayIn;
	O_FadeIn = O_fadeIn;
	N_DelayOut = N_delayOut;
	O_FadeOut = O_fadeOut;

	var o_fader;

	o_fader = new T_Fader ();
	o_fader.v_Init(S_imgBaseName);

	if (o_fader.b_Ready)
		{
		O_Fader = o_fader;

		V_Buffer(o_fader);

		o_fader.v_Start(0, O_FadeIn, V_FadedIn());

		return;
		}

	delete o_fader;
	O_Fader = Z;

	AO_Faders = new Array ();

	var n_fader;
	n_fader = 0;

	while (1)
		{
		o_fader = new T_Fader ();
		o_fader.v_Init(S_imgBaseName + (n_fader + 1));

		if (!o_fader.b_Ready)
			{
			delete o_fader;

			break;
			}

		V_Buffer(o_fader);

		AO_Faders[n_fader] = o_fader;
		++n_fader;
		}

	n_fader = 0;

	while (n_fader < AO_Faders.length)
		{
		o_fader = AO_Faders[n_fader];

		V_Buffer(o_fader);

		var n_delay;
		n_delay = Math.floor(Math.random() * N_DelayIn);

		o_fader.v_Start(n_delay, O_FadeIn, V_FadedIn());

		++n_fader;
		}
	}


function V_Exit()
	{
	var Z;

	if (O_Fader)
		{
		O_Fader.v_Exit();
		delete O_Fader;
		o_Fader = Z;
		}
	else
		{
		var n_fader;
		n_fader = 0;

		while (n_fader < AO_Faders.length)
			{
			AO_Faders[n_fader].v_Exit();
			delete AO_Faders[n_fader];
			AO_Faders[n_fader] = Z;
			++n_fader;
			}

		delete AO_Faders;
		AO_Faders = Z;
		}
	}


function V_FadedIn()
	{
	return function (O_fader)
		{
		if (O_fader.b_Stop)
			{
			return;
			}

		var n_delay;
		n_delay = O_Fader ? N_DelayOut : Math.floor(Math.random() * N_DelayOut);

		O_fader.v_Start(n_delay, O_FadeOut, V_FadedOut());

		V_Buffer(O_fader);
		}
	}


function V_FadedOut()
	{
	return function (O_fader)
		{
		if (O_fader.b_Stop)
			{
			return;
			}

		var n_delay;
		n_delay = O_Fader ? N_DelayIn : Math.floor(Math.random() * N_DelayIn);

		O_fader.v_Start(n_delay, O_FadeIn, V_FadedIn());
		}
	}


//) general.js

