var m_aImageSwapperObject 		= null;
var m_aImageSwapper 			= Array();
var m_oImageSwapperTimer 		= null;
var m_iImageSwapperRandom 		= 0;

var m_oFaderDecreaseTimer 		= null;
var m_oFaderIncreaseTimer 		= null;

var m_iTimeout			 		= 6000;

var m_iFaderOpacity 			= 10;
var m_iFaderOpacityDecreaser 	= 1;

var m_bFaderDecrease 			= true;
var m_bFaderIncrease 			= true;

var m_iImageRandom				= 0;

/**
*	Thif function will center the page.
*/
function func_center_vertical(a_sId) {
	oObj = document.getElementById(a_sId);
	
	if (oObj) {
		OBJ_center_vertical(oObj);
	}
}

function func_image_swapper_add(a_sImage) {
	m_aImageSwapper.push(a_sImage);
}

function func_image_swapper(a_sId) {
	m_aImageSwapperObject = document.getElementById(a_sId);
	
	iNumberImages = m_aImageSwapper.length;
	
	if (m_aImageSwapperObject && iNumberImages > 1) {
		if (m_iImageRandom == 0) {
			m_iImageRandom 			= Math.ceil(Math.random() * iNumberImages-1);
			m_oImageSwapperTimer 	= setTimeout(function(){func_image_swapper(a_sId);}, m_iTimeout);
			return;
		}
		
		iImageRandomTemp = Math.ceil(Math.random() * iNumberImages-1);
		
		if (m_iImageRandom == iImageRandomTemp) {
			func_image_swapper(a_sId);
			return;
		} else {
			m_iImageRandom = iImageRandomTemp;
		}
		
		m_iImageSwapperRandom = m_iImageRandom;
		
		// Enable fader.
		func_fader_increase(a_sId, "func_image_swapper_set();");
		// No fader.
//		func_image_swapper_set();
		
		m_oImageSwapperTimer = setTimeout(function(){func_image_swapper(a_sId);}, m_iTimeout);
		
	}
}

function func_image_swapper_set() {
	if (m_aImageSwapperObject.style.background != m_aImageSwapper[m_iImageSwapperRandom]) {
		m_aImageSwapperObject.style.background = "url("+m_aImageSwapper[m_iImageSwapperRandom]+")";
	}
}

////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

function func_fader_increase(a_sId, a_sFunction) {
	oObj = document.getElementById(a_sId);
	
	if (oObj && m_bFaderIncrease) {
		// Set the opacity of the object to an increasing opacity. Make sure the parent object has the right background color.
		oObj.style.opacity = (m_iFaderOpacity/10)-(m_iFaderOpacityDecreaser/10);
		oObj.style.filter = 'alpha(opacity=' + ((m_iFaderOpacity*10)-(m_iFaderOpacityDecreaser*10)) + ')';
	
		if (m_iFaderOpacityDecreaser < 10) {
			m_iFaderOpacityDecreaser++;
		} else {
			m_bFaderIncrease = false;
		}
		
		m_oFaderIncreaseTimer = setTimeout(function(){func_fader_increase(a_sId,a_sFunction);},25);
	} else {
		clearTimeout(m_oFaderIncreaseTimer);
		m_bFaderIncrease = true;
		
		// Run the given function.
		eval(a_sFunction);
		
		// Make the image visible again.
		func_fader_decrease(a_sId);
	}
}

function func_fader_decrease(a_sId) {
	oObj = document.getElementById(a_sId);
	
	if (oObj && m_bFaderDecrease) {
		// Set the opacity of the object to an decreasing opacity making the image visible. Make sure the parent object has the right background color.
		oObj.style.opacity = (m_iFaderOpacity/10)-(m_iFaderOpacityDecreaser/10);
		oObj.style.filter = 'alpha(opacity=' + ((m_iFaderOpacity*10)-(m_iFaderOpacityDecreaser*10)) + ')';
	
		if (m_iFaderOpacityDecreaser <= 10 && m_iFaderOpacityDecreaser > 0) {
			m_iFaderOpacityDecreaser--;
		} else {
			
			m_bFaderDecrease = false;
		}
		
		m_oFaderDecreaseTimer = setTimeout(function(){func_fader_decrease(a_sId);},25);
	} else {
		clearTimeout(m_oFaderDecreaseTimer);
		m_bFaderDecrease = true;
	}
}

////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
// Image changer
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

var m_oImageChangeSource = '';

var m_sImageChangeSourceOrg = '';
var m_sImageChangeSourceNew = '';
var m_sImageChangeSourceNewHeight 	= 0;
var m_sImageChangeSourceNewWidth 	= 0;

function func_image_change(a_sImageId, a_sImageSource, a_bAnimated, a_iHeight, a_iWidth) {
	if (oObj = document.getElementById(a_sImageId)) {
		m_oImageChangeSource 			= oObj;
		m_sImageChangeSourceOrg 		= oObj.src;
		m_sImageChangeSourceNew 		= a_sImageSource;
		m_sImageChangeSourceNewHeight	= a_iHeight;
		m_sImageChangeSourceNewWidth	= a_iWidth;
		
		if (a_bAnimated=='true') {
			func_fader_increase(a_sImageId, "func_image_change_set();");
		} else {
			func_image_change_set();
		}
	}
}

function func_image_change_back (a_sId) {
	if (oObj = document.getElementById(a_sId)) {
		m_oImageChangeSource 		= oObj;
		m_sImageChangeSourceNew 	= m_sImageChangeSourceOrg;
		
		func_image_change_set(oObj, m_sImageChangeSourceOrg);
		func_image_change_set(oObj, m_sImageChangeSourceOrg);
	}
}

function func_image_change_set (a_oObj, a_sImageSource) {
	if (m_oImageChangeSource) {
		m_oImageChangeSource.src = m_sImageChangeSourceNew;
		
		if (m_sImageChangeSourceNewHeight && m_sImageChangeSourceNewWidth) {
			m_oImageChangeSource.height = m_sImageChangeSourceNewHeight;
			m_oImageChangeSource.width 	= m_sImageChangeSourceNewWidth;
		}
	}
}
