//Variables Intitiliazation

var txtloop = 1;
var buttonclickvalue = 0;
var faderflag = 0;
var faderoutflag = 0
var dealytimerflag = 0
var fade;
fade = 0
cid = 1;
var nameid = "";

var faderTimer;
var delayTimer = 0;
var delayFaderValue = 3000;
var faderSpeed = 50;
var faderIncrement = 8;
var bFade = true;
var bAutoPlay = true;

var fadeinTimerEx,fadeoutTimerEx,hideTimerEx;
k=0;
var active=0;
//var arrayLength=5;
var timerID;

// id will be numberic it will be automatically increase based on
// totalcount/totaldiv
function fadeIn(id) 
{
	clearTimeout(faderTimer);
	if (buttonclickvalue == 1) 
	{
		clearTimeout(faderTimer);
	}

	// highlight the current pagination
	select_page(id);

	faderflag = 1;
	// start fading from here
	hideall();
	cid = id;
	fade = fade + faderIncrement;
	nameid = nameprefix + id;
	// alert(nameid);
	document.getElementById(nameid).style.display = 'block';

	document.getElementById(nameid).style.filter = 'alpha(opacity=' + fade
			+ ')';
	document.getElementById(nameid).style.opacity = eval(fade / 100);

	document.getElementById(nameid).style.MozOpacity = eval(fade / 100);
	faderTimer = setTimeout('fadeIn("' + id + '")', 1000 / faderSpeed);

	if (bFade) 
	{
		delayTimer = setTimeout('delayFader("' + id + '");', delayFaderValue);
		dealytimerflag = 1;
		bFade = false;
	}

	if (fade >= 100) {
		clearTimeout(faderTimer);
		faderflag = 0;
		bFade = true;
	}

}
/* start No in used in this component */
function fadeOut(id) 
{
	faderoutflag = 1;

	fade = fade - faderIncrement;
	nameid = nameprefix + id;
	document.getElementById(nameid).style.filter = 'alpha(opacity=' + fade
			+ ')';
	document.getElementById(nameid).style.MozOpacity = eval(fade / 100);
	faderOutTimer = setTimeout('fadeOut("' + id + '")', 1000 / faderSpeed);
	// document.getElementById("msg").innerHTML="Fader value="+fade+",Current
	// Div "+nameid;
	// 1234 button click value is 1 then clear the relevant timer if running
	if (buttonclickvalue == 1)
	{
		clearTimeout(faderOutTimer);
	}

	if (fade < 0)
	{
		faderoutflag = 0;

		hideall();
		cid++;
		if (cid > totaldiv) 
		{
			cid = 1
			clearTimeout(faderTimer);
			if (txtloop == 1) 
			{
				fadeIn(cid)
			}
		}

		else {
			fadeIn(cid);
		}

		clearTimeout(faderOutTimer);
	}

}

/* End No in used in this component */

function delayFader(id) {

	// 1234 button click value is 1 then clear the relevant timer if running
	if (buttonclickvalue == 1) {
		clearTimeout(delayTimer);
	}
	clearTimeout(delayTimer);
	dealytimerflag = 0
	fadeOut(id);
}

function next() 
{
	timerID = clearInterval(timerID);
	if(k<arrayLength)
	{
		//animateNextPrevious(parseInt(k)+parseInt(1));
		autoplayEx(parseInt(k)+parseInt(1), true);
	}
	else
	{
		//animateNextPrevious(1);
		//document.getElementById("nested_banner_div_show").style.display = "none";
		autoplayEx(1, true);
	}

}

function previous()
{
	timerID = clearInterval(timerID);
	
	if(k==1)
	{
		autoplayEx(arrayLength, true);
	}
	else
	{
		autoplayEx(k-1, true);
	}
}

function buttonclick(id) 
{
	autoplay(0)

	select_page(id);
	buttonclickvalue = 1;
	dealytimerflag = 1;

	if (faderflag == 1) 
	{
		clearTimeout(faderTimer);
	}
	if (faderoutflag == 1) 
	{
		clearTimeout(faderOutTimer);
	}
	if (dealytimerflag == 1) 
	{
		clearTimeout(delayTimer);
	}
	cid = id
	fade = 0;
	fadeIn(id);
	autoplay(1);
}

function select_page(id) 
{
	// make all button normal accept selected
	for (i = 1; i <= totaldiv; i++) {
		var normalStyle = "navigator_" + i + "_off";
		document.getElementById(i + "a").className = normalStyle;

	}
	var selectedStyle = "navigator_" + id + "_on";
	document.getElementById(id + "a").className = selectedStyle;
}

function show_nextprev()
{
	document.getElementById("next").style.display = "block";
	document.getElementById("prev").style.display = "block";
    document.getElementById("play_stop_divi").style.display="block";
    //document.getElementById("nav_stop").style.display="block";
    //document.getElementById("nav_play").style.display="block";
}

function autoplay(flag)
{
	if (flag == 1) 
	{
		document.getElementById("next").style.display = "block";
		document.getElementById("prev").style.display = "block";
		buttonclickvalue = 0;
		fadeIn(cid);

	} 
	else 
	{
		buttonclickvalue = 1;
	}
}

function hideall() 
{
	for (i = 1; i <= arrayLength; i++) 
	{
		
		/*
		div_to_hide = "showhide_" + i;
		document.getElementById(div_to_hide).style.display = "none";
		*/
		var normalStyle = "navigator_" + i + "_off";
		document.getElementById(i + "a").className = normalStyle; 
	}
	
}

/*
if (totaldiv == 0) {
} else {
	hideall();
	autoplay(1);
	fadeIn(1);
}
*/

function autorotatorEx()
{
	if(k<arrayLength)
	{
		k=parseInt(k)+1;
	}
	else
	{
		k=1;
	}
	autoplayEx(parseInt(k), false);
}


function autoplayEx(i,interaction)
{
	
	clearTimeout(fadeinTimerEx);
	clearTimeout(fadeoutTimerEx);
	clearTimeout(hideTimerEx);
	
	if(interaction=="first") 
	{
		//fadeinEx(i);
		document.getElementById("showhide_1").className="nested_banner_div"
		active=i;
		k=active;
		timerID = setInterval("autorotatorEx()", 10000);
	}
	
	if(interaction==true)
	{
		timerID = clearInterval(timerID);
	}
	
	hideall();
	
	if(active!=i) 
	{
		fadeinEx(i);
		fadeoutEx(active);
		
		active=i;
	}

	document.getElementById(i+"a").className = "navigator_" + (i)+ "_on";
	
	if(interaction == true) 
	{
		k = active;
        
        if (bAutoPlay == true)
        {
            timerID = setInterval("autorotatorEx()", 10000);	
        }
	}
}

function animateNextPrevious(i)
{
	clearTimeout(fadeinTimerEx);
	clearTimeout(fadeoutTimerEx);
	clearTimeout(hideTimerEx);
	
	timerID = clearInterval(timerID);
	
	hideall();
	
	if(active!=i) 
	{
		fadeinNextPrev(i);
		fadeoutNextPrev(active);		
		active=i;
	}

	document.getElementById(i+"a").className = "navigator_" + (i)+ "_on";
	
	k = active;
	timerID = setInterval("autorotatorEx()", 7000);

}

function fadeinNextPrev(id)
{
	var showdiv ="showhide_" + id;
	setOpacity(showdiv, 0);
	document.getElementById(showdiv).style.display="block";
	var timer =0;
	for(var i=1 ; i<100 ; i++)
	{
		fadeinTimerEx = setTimeout("setOpacity('"+showdiv+"',"+i+")",timer * 4);
		timer++;
	}
}

function fadeoutNextPrev(id)
{
	hidediv = "showhide_" + id;
	var timer =0;
	for(var i=100 ; i>=1 ; i--)
	{
		fadeinTimerEx = setTimeout("setOpacity('"+hidediv+"',"+i+")",timer * 2);
		timer++;
	}
	
	//document.getElementById(hidediv).style.display="none";
	hideTimerEx = setTimeout("hide('"+hidediv+"')",100);
}

function fadeinEx(id)
{
	var showdiv ="showhide_" + id;
	setOpacity(showdiv, 0);
	document.getElementById(showdiv).style.display="block";
	var timer =0;
	for(var i=1 ; i<100 ; i++)
	{
		fadeinTimerEx = setTimeout("setOpacity('"+showdiv+"',"+i+")",timer * 8);
		timer++;
	}
}

function fadeoutEx(id)
{
	hidediv = "showhide_" + id;
	var timer =0;
	for(var i=100 ; i>=1 ; i--)
	{
		fadeinTimerEx = setTimeout("setOpacity('"+hidediv+"',"+i+")",timer * 4);
		timer++;
	}
	
	//document.getElementById(hidediv).style.display="none";
	hideTimerEx = setTimeout("hide('"+hidediv+"')",100);
}

function hide(id)
{
	document.getElementById(id).style.display='none';
}

function setOpacity(id, level)
{
	var style = document.getElementById(id).style;
	style.opacity = level/100;
	style.filter = 'alpha(opacity='+level+')';
}

if ( arrayLength > 1 )
{
	document.getElementById("showhide_1").style.display = "block";
    autoplayEx(1, "first");
    show_nextprev();
}
else if (arrayLength == 1)
{
	document.getElementById("showhide_1").style.display = "block";
}

function stopAll()
{    
    if ( document.getElementById("nav_stop").className == "stop" ) 
    {
        bAutoPlay = false;
        document.getElementById("nav_stop").className = "stop_dis";
        document.getElementById("nav_play").className = "play_now";
        clearTimeout(fadeinTimerEx);
        clearTimeout(fadeoutTimerEx);
        clearTimeout(hideTimerEx);
        timerID = clearInterval(timerID);
    }
        
    

}

function resume()
{
    if ( document.getElementById("nav_play").className == "play_now" ) 
    {
        bAutoPlay = true;
        document.getElementById("nav_stop").className = "stop";
        document.getElementById("nav_play").className = "playing";
        autorotatorEx();    
        timerID = setInterval("autorotatorEx()", 10000);
    }
}
