	var fadeIn_stepCount = 8;
	var shuffle_timeout = 8000;
	var fade_timeout = 10;
	var current_slide = 0;
	var force_fading = true;
	var switch_slide_Timeout_Id = 0;
	var fade_in_Timeout_Id = 0;
	var fade_out_Timeout_Id = 0;
	

	function switchSlides(num) {
		if (switch_slide_Timeout_Id)
			clearTimeout(switch_slide_Timeout_Id);

		// If the user clicks on the same slide
		if (num && num == current_slide) {
			switch_slide_Timeout_Id = setTimeout('switchSlides()', shuffle_timeout);
			return;
		}

		previous_slide = current_slide;

		if (num) {
			if (!current_slide)
				previous_slide = slide_count;
			current_slide = num
		} else
			current_slide++;
			
		if (current_slide > slide_count)
			current_slide = 1;
			
		document.getElementById('ss_pageno_' + previous_slide ).className = '';
		
		if (!force_fading) {	
			fp_em = document.getElementById('slide');
			fp_em.innerHTML = document.getElementById('slide_' + current_slide).innerHTML;
		} else {
			fp_em = document.getElementById('slide_' + current_slide);
		}
		
		fp_em.style.display = 'block';

		if (fade_in_Timeout_Id)
			clearTimeout(fade_in_Timeout_Id);
			
		if (!force_fading) {
			setElementOpacity(fp_em, 100);
		} else {
			// start fading
			setElementOpacity(fp_em, 0);
			fadeIn_Slide('slide_' + current_slide);
			
			// fade out previous slide
			fadeOut_Slide('slide_' + previous_slide);
		}

		paginate_em = document.getElementById('ss_pageno_' + current_slide );
		paginate_em.className = 'selected';
		
		switch_slide_Timeout_Id = setTimeout('switchSlides()', shuffle_timeout);
	}
	
	// set opacity 
	function setElementOpacity(elem, opacity) {
		// Firefox. The real one
	    elem.style.opacity = (opacity / 100);
	    // IE, the fake one
	    elem.style.filter = "alpha(opacity=" + opacity + ")";

	}	
	
	// fade in 
	function fadeIn_Slide(id) {
		var opacity;
		
		elem = document.getElementById(id);
		
		// Only for IE
	    elem.style.zoom = 1;
	    opacity = elem.style.opacity;
	    	
		var currentOpacity = opacity * 100;
		var newOpacity = currentOpacity + fadeIn_stepCount;

		if (newOpacity > 100) {
			newOpacity = 100;
		}
		
		setElementOpacity(elem, newOpacity);

		if (newOpacity < 100) {
			fade_in_Timeout_Id = setTimeout('fadeIn_Slide("'+id+'")', fade_timeout);
		}
	}
	
	// fade out
	function fadeOut_Slide(id) {
		var opacity;

		elem = document.getElementById(id);
	    
		// For IE trigger hasLayout property
	    elem.style.zoom = 1;
	    opacity = elem.style.opacity;
	    
		var currentOpacity = opacity * 100;
		var newOpacity = currentOpacity - fadeIn_stepCount;

		if (newOpacity < 0) {
			newOpacity = 0;
		}
		
		setElementOpacity(elem, newOpacity);
		
		// continue fading
		if (newOpacity > 0) {
			fade_out_Timeout_Id = setTimeout('fadeOut_Slide("'+id+'")', fade_timeout);
		} else {
			elem.style.display = 'none';
		}
	}
