/*
Copyright Roberto Filippi - www.robertofilippi.it
La copia e/o la modifica anche parziali e qualsiasi utilizzo non espressamente autorizzato per iscritto sono vietati
*/

function rfFrSetElementSrc(elementID, src) 
{
	try{
		var x=document.getElementById(elementID);
		//window.alert(elementID);
		try{
			x.src = src;
		}
		catch(excp) {/*window.alert(excp);*/}
	}
	catch(excp) {/*window.alert(excp);*/}
}

function rfFnOpacity(elementID, opacityLevel) 
//opacityLevel = 0..100
{
	try{
		var x=document.getElementById(elementID);
		//window.alert(elementID);
		if (opacityLevel>100){
			opacityLevel=100;
		}

		try{//Opera, Firefox
			x.style.opacity=opacityLevel/100;
		}
		catch(excp) {/*window.alert(excp);*/}
		try{//IE
			x.filters.alpha.opacity=opacityLevel;
		}
		catch(excp) {/*window.alert(excp);*/}
	}
	catch(excp) {/*window.alert(excp);*/}
}

function rfFnImgSubst(elementID, src, lowsrc, timeoutHVarn, opacityLevelLo, opacityStepDelayMs, opacityIncPerStep)
{
	try{
		if (opacityLevelLo==null){opacityLevelLo=50;}
		try{
			var x=document.getElementById(elementID);
			//window.alert('rfFnFade_Out');
			//rfFnFade_Out(elementID, timeoutHVarn, 100, opacityLevelLo, opacityStepDelayMs, opacityIncPerStep);
			//window.alert('delay loop');
			//while(!isNaN(eval(timeoutHVarn))){};
			//rfFnOpacity(elementID, opacityLevelLo);
			//window.alert('src');
			if (lowsrc!=null){
				x.lowsrc = lowsrc;
			}
			else{
				x.lowsrc = "";
			}
			x.src = src;
			//window.alert('rfFnFade_In');
			rfFnFade_In(elementID, timeoutHVarn, opacityLevelLo, 100, opacityStepDelayMs, opacityIncPerStep);
			//"document.getElementById(" + elementID + ").src = " + src);
		}
		catch(excp){/*window.alert(excp);*/}
	}
	catch(excp) {/*window.alert(excp);*/}
}

function rfFnFade_In(elementID, timeoutHVarn, opacityLevelStart, opacityLevelStop, opacityStepDelayMs, opacityIncPerStep)
/*opacityLevelStart = 0..100*/
{
	try{
		var timeH=0;

		if (opacityLevelStart==null){opacityLevelStart=0;}
		if (opacityLevelStop==null){opacityLevelStop=100;}
		if (opacityStepDelayMs==null){opacityStepDelayMs=3;}
		if (opacityIncPerStep==null){opacityIncPerStep=3;}
		if (opacityLevelStart < 0){opacityLevelStart=0;}
		if (opacityLevelStop > 100){opacityLevelStop=100;}
		if (opacityStepDelayMs < 1){opacityStepDelayMs=1;}
		if (opacityIncPerStep < 1){opacityIncPerStep=1;}

		try{
			if (!isNaN(eval(timeoutHVarn))){
				window.clearTimeout(eval(timeoutHVarn));
				eval(timeoutHVarn + ' = NaN;');
			}
		}
		catch(excp){/*window.alert(excp);*/}

		try{
			rfFnOpacity(elementID, opacityLevelStart);
			//opacityStepDelayMs++; //non linearit
			if (opacityLevelStart<opacityLevelStop){
				timeH=window.setTimeout(timeoutHVarn + "=rfFnFade_In('" + elementID + "', '" + timeoutHVarn + "', " + (opacityLevelStart + opacityIncPerStep) + ", "  + opacityLevelStop + ", " + opacityStepDelayMs + ", " + opacityIncPerStep + ")", opacityStepDelayMs);
			}
			else{
				timeH=NaN;
			}
		}
		catch(excp){/*window.alert(excp);*/}
		return(timeH);
	}
	catch(excp) {/*window.alert(excp);*/}
}

function rfFnFade_Out(elementID, timeoutHVarn, opacityLevelStart, opacityLevelStop, opacityStepDelayMs, opacityDecPerStep)
/*opacityLevelStart = 0..100*/
{
	try	{
		var timeH=0;

		if (opacityLevelStart==null){opacityLevelStart=100;}
		if (opacityLevelStop==null){opacityLevelStop=0;}
		if (opacityStepDelayMs==null){opacityStepDelayMs=3;}
		if (opacityDecPerStep==null){opacityDecPerStep=3;}

		if (opacityLevelStart>100){opacityLevelStart=100;}
		if (opacityLevelStop<0){opacityLevelStop=0;}
		if (opacityStepDelayMs<1){opacityStepDelayMs=1;}
		if (opacityDecPerStep<1){opacityDecPerStep=1;}

		try{
			if (!isNaN(eval(timeoutHVarn))){
				clearTimeout(eval(timeoutHVarn));
				eval(timeoutHVarn + ' = NaN;');
			}
		}
		catch(excp){/*window.alert(excp);*/}

		try{
			rfFnOpacity(elementID, opacityLevelStart);
			//opacityStepDelayMs++; //non linearit
			if (opacityLevelStart>opacityLevelStop){
				timeH=window.setTimeout(timeoutHVarn + "=rfFnFade_Out('" + elementID + "', '" + timeoutHVarn + "', " + (opacityLevelStart - opacityDecPerStep) + ", "  + opacityLevelStop + ", " + opacityStepDelayMs + ", " + opacityDecPerStep + ")", opacityStepDelayMs);
			}
			else{
				timeH=NaN;
			}
		}
		catch(excp){/*window.alert(excp);*/}
		return(timeH);
	}
	catch(excp) {/*window.alert(excp);*/}
}
/*MM
function rfPreloadImages()
{
if(document.images)
{
if(!document.imageArray) document.imageArray = new Array();
var i,j = document.imageArray.length, args = rfPreloadImages.arguments;

for(i=0; i<args.length; i++)
{
if (args[i].indexOf("#")!=0)
{
document.imageArray[j] = new Image;
document.imageArray[j++].src = args[i];
}
}
}
}
*/