
function RollSlideshow(i,max)
{
 if(i>max)
	i=0;
 $('.slideshow').blinds_change(i);
 setTimeout("RollSlideshow("+(i+1).toString()+","+max.toString()+");",6000);
}

var FadeInTime = 1500;
var FadeOutTime = 1000;
var FadeDelayTime = 2000;
var FirstFade=1;
function RollFade(BaseID,i,max)
{
 if(i>max)
	i=FirstFade;
 CallNext="RollFade('"+BaseID+"', "+(i+1).toString()+", "+max.toString()+");";
 ThisID="#"+BaseID+i.toString();
 $(ThisID).fadeIn(FadeInTime, function(){
	setTimeout("$('"+ThisID+"').fadeOut("+FadeOutTime+");"+CallNext,FadeDelayTime);
 });
}

function List(ParamList)
{
 this.ID=ParamList.ID;
 
 this.ListElement=$("#"+this.ID);
 this.ListItems=$("#"+this.ID+" li");
 
 if(ParamList.TimeoutID)
	this.TimeoutID=ParmList.TimeoutID;
 
 if(ParamList.Index)
	this.Index=ParamList.Index;
 else
	this.Index=0;
 
 if(ParamList.RollFadeDelayTime)
	this.FadeDelay=ParamList.RollFadeDelayTime;
 else
	this.FadeDelay = FadeDelayTime;
 
 if(ParamList.RollFadeInTime)
	this.FadeInTime=ParamList.RollFadeInTime;
 else
	this.FadeInTime = FadeInTime;
 
 if(ParamList.RollFadeOutTime)
	this.FadeOutTime=ParamList.RollFadeOutTime;
 else
	this.FadeOutTime = FadeOutTime;
 
 if(ParamList.OnIndexChange)
	this.ListElement.bind("IndexChange",ParamList.OnIndexChange);
}

var ResetRoll=true;
function FadeRollList(ListID)
{
 var oList=window['o'+ListID];
 var ListItems=oList.ListItems;
 if(ResetRoll)
	ListItems.fadeOut(0);

 var i=oList.Index;
 if(i==null || i==undefined || i>ListItems.size()-2)
	oList.Index=-1;

 var Item=ListItems.eq(i);
 var ItemText='$("#'+ListID+' li").eq('+i+')';
 //	var CallNext="FadeRollList('"+ListID+"', '"+TimeoutName+"', "+(i+1)+");";
 var CallNext="FadeRollList('"+ListID+"');";
 var FadeOut=ItemText+".fadeOut("+lFadeOutTime+");";
 
 // This is because microsoft IE cannot fade propperly. Stupid browser... 
 var lFadeInTime=0;
 var lFadeOutTime=0;
 var lDelay=oList.FadeDelay;
 lFadeInTime=oList.FadeInTime;
 lFadeOutTime=oList.FadeOutTime;
if($.browser.msie)
 {
 var ChildrenFadeOut=ItemText+".children().fadeOut("+lFadeOutTime+");";
 Item.fadeIn(0,function(){Item.children().fadeIn(lFadeInTime, function(){
	oList.TimeoutID=setTimeout(FadeOut+ChildrenFadeOut+ CallNext,lDelay);
	 });
 });
 }
else
 {
 Item.fadeIn(lFadeInTime, function(){
	oList.TimeoutID=setTimeout(FadeOut+ CallNext,lDelay);
 });
 }
 oList.Index++;
 oList.ListElement.trigger("IndexChange");
}

function PauseListRoll(ListID)
{
 clearTimeout(window['o'+ListID].TimeoutID);
}
 
