var frame=null;
var time=FADE;
var delay=DELAY;
var transition=false;
var initialized=false;
var reverse=false;
var mainTimer=null;
var fadeTimer=null;
var children;
var ss;
var current_slide = 0;
var last_slide = 0;
var max_slides = 0;
window.onload=initialize;
function start(){
	if(ss==null||children==null||!ss) return;
	//commented by mls, not sure what it was here for,
	// was causing that if there were 2 slides it would not continue scrolling after it showed the second slide
	//if(children.length==2&&frame!=ss.firstChild) return;
	if (!frame) return; 
	if (document.all) {
		ss.filters[0].apply();if(frame.style) frame.style.display="none";ss.filters[0].play(duration=time);fadeTimer=window.setTimeout(finish,time*1000);
		transition=true;
	}
	else {next();mainTimer=window.setTimeout(start,DELAY);}
}
function finish(){
	if(ss==null||ss.children==null||!ss) return;
	transition=false;
	if(reverse){
		last_slide = current_slide;current_slide--;if (current_slide < 0) current_slide = children.length-1;frame=children[current_slide];if(frame==null||(IS_INTRO!='no'&&frame==ss.firstChild)) frame=children[children.length-1];reverse=false;
	}
	else{
		last_slide = current_slide;current_slide++;if (current_slide >= children.length) current_slide = 0;frame=children[current_slide];
		if(frame==null){ frame=children[0];if(IS_INTRO!='no') frame=children[1];}
	}
	update_number();parseDelay();ss.filters[0].apply();if(frame.style) frame.style.display="block";ss.filters[0].play(duration=time);mainTimer=window.setTimeout(start,time*1000+delay);time=FADE;
}
function pause(){
	if(!transition && document.all){
		window.clearTimeout(fadeTimer);window.clearTimeout(mainTimer);mainTimer=window.setTimeout(start,(FADE*1000+delay));
	}
}
function initialize(){
	if (!document.getElementById && !document.all) return;
	if (!(ss=document.getElementById('ss'))) return;children = document.all?ss.all.tags('div'):ss.getElementsByTagName('DIV');
	if(ss==null||children==null) return;
	current_slide=0;frame=children[current_slide];parseDelay();ss.onmousemove=pause;mainTimer=window.setTimeout(start,delay);create_counter();
}
function next(){
  if(!transition){window.clearTimeout(fadeTimer);window.clearTimeout(mainTimer);} 
  last_slide=current_slide;frame.style.display='none';current_slide++;if (current_slide==children.length)current_slide=0;play();
}
function prev(){
	if(!transition){window.clearTimeout(fadeTimer);window.clearTimeout(mainTimer);} 
  last_slide=current_slide;frame.style.display='none';current_slide--;if (current_slide<0)current_slide=children.length-1;play();
}
function play() {
	frame=children[current_slide];if (frame.style) frame.style.display = 'block';update_number();if (!transition&&document.all) { parseDelay(); mainTimer=window.setTimeout(start,time*1000+delay);}
}
function change_slide(n) { if(!transition){window.clearTimeout(fadeTimer);window.clearTimeout(mainTimer);} last_slide=current_slide;current_slide=n;if(current_slide<0||current_slide>=children.length)current_slide=0;frame.style.display = 'none';play();}

function create_counter() {
	var slide_count = document.getElementById('slide_counter');
	max_slides = children.length;
	for (var i = 1; i <= max_slides; i++) slide_count.innerHTML+='<span href="javascript:void(0);" id="slide_'+i+'" class="MainPromoFooter'+(i==1?'_Bold':'')+'"><a href="javascript:void(0);" onclick="change_slide('+(i-1)+');">&nbsp;'+i+'&nbsp;</a></span>';
}

function update_number() {
  document.getElementById('slide_'+(parseInt(last_slide)+1)).className = 'MainPromoFooter';
  document.getElementById('slide_'+(parseInt(current_slide)+1)).className = 'MainPromoFooter_Bold';
}
function parseDelay(){
	try {delay=parseInt(frame.delay);}catch(ex) {delay=DELAY;}if(delay<FADE) delay=DELAY;
}
