// JavaScript Document
var TimeToFade = 3000.0;
var TimeToChill = 15000.0;
var pausebeforemove=3500 // time to wait before animation begins (3000=3 seconds)
var pausebetweenmsg=10 //customize pause in miliseconds between each message showing up (3000=3 seconds)
var glidespeed=50 //customize glide speed in pixels per frame.
var curobjindex=0
var slideshowpath="slideshow.php";

function actualstyle(el, cssproperty){
	if(undefined===el) window.stop();
	if (el.currentStyle) return el.currentStyle[cssproperty]
	else if (window.getComputedStyle) {
		var elstyle=window.getComputedStyle(el, "")
		return elstyle.getPropertyValue(cssproperty)
	}
}

function createGlideArray() {
	var classname="glidetext"
	var classname2="glidetextright"
	glidearray=new Array()
	var inc=0
	var alltags=document.all? document.all : document.getElementsByTagName("*")
	for (i=0; i<alltags.length; i++) {
		if (alltags[i].className==classname || alltags[i].className==classname2)
		glidearray[inc++]=alltags[i]
	}
}

function createSlideIndex(num_slides) {
	var start=Math.floor(Math.random()*num_slides)
	slideIndex=new Array()
	slideIndex['current_image']='Featured_Container' + start;
	slideIndex['current_text']='glide_container' + start;
	slideIndex['current']=start;
	slideIndex['total']=num_slides;
}

function updateSlideIndex(direction) {
	if(direction=='next') {
		slideIndex['current']++;
		if(slideIndex['current']==slideIndex['total'])  slideIndex['current']=0;
	}
	if(direction=='prev') {
		slideIndex['current']--;
		if(slideIndex['current']>0)  slideIndex['current']=slideIndex['total']--;
	}
	slideIndex['current_image']='Featured_Container' + slideIndex['current'];
	slideIndex['current_text']='glide_container' + slideIndex['current'];
	//alert(slideIndex['current_image']);
	//alert(slideIndex['current_text']);
}

function collectElementbyClass() { 	
	if (glidearray.length>0) {
  		document.getElementById(slideIndex['current_text']).style.display='block';
		document.getElementById(slideIndex['current_text']).style.opacity=100;
		
    	document.getElementById(slideIndex['current_text']).style.filter = 'alpha(opacity=100)';
		document.getElementById(slideIndex['current_text']).FadeState=2;
  		onebyoneglide()
	}
}

function onebyoneglide(){
	if (curobjindex<glidearray.length)  glidetimer=setInterval("glideroutine()",50)
}

function glideroutine() {
	if(glidearray[curobjindex]) {
		if(glidearray[curobjindex].className=="glidetextright")  {	
			if (parseInt(actualstyle(glidearray[curobjindex], "left"))<390) {
				glidearray[curobjindex].style.left=parseInt(actualstyle(glidearray[curobjindex], "left"))+50+"px"
			}
			else {
				glidearray[curobjindex].style.left=390
				curobjindex++
				clearInterval(glidetimer)
			setTimeout("onebyoneglide()", pausebetweenmsg)
			}
		} else {
			if (parseInt(actualstyle(glidearray[curobjindex], "left"))<0) {
				glidearray[curobjindex].style.left=parseInt(actualstyle(glidearray[curobjindex], "left"))+50+"px"
			}
			else {
				glidearray[curobjindex].style.left=0
				curobjindex++
				clearInterval(glidetimer)
			setTimeout("onebyoneglide()", pausebetweenmsg)
			}
		}
	}
	else setTimeout("onebyoneglide()", pausebetweenmsg)
}

function showFadingElement()
{ 
	if (window.XMLHttpRequest)  xmlhttp=new XMLHttpRequest();
    else xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
 
	xmlhttp.onreadystatechange=function()
    {
  		if (xmlhttp.readyState==4 && xmlhttp.status==200)  {
    		document.getElementById("FeaturedPane").innerHTML=xmlhttp.responseText;
			document.getElementById("FeaturedPane").style.display="block";
			document.getElementById(slideIndex['current_image']).style.display="block";
			fade(slideIndex['current_image']);
			setTimeout("collectElementbyClass()", TimeToFade);
			setTimeout("fadeOutImageText()", TimeToChill);
    	}
  	}
  	xmlhttp.open("GET",slideshowpath,true);
  	xmlhttp.send();
}

function fadeOutImageText() {
	  fade(slideIndex['current_image']);
	  fade(slideIndex['current_text']);
	  setTimeout("resetGlide()",TimeToFade);	
	  setTimeout("nextSlide()",TimeToFade*1.5);	
	  //setTimeout("loadRoutine("+slideIndex['total']+")",TimeToChill);
}

function nextSlide() { 
    document.getElementById(slideIndex['current_image']).style.display="none";
    document.getElementById(slideIndex['current_image']).style.opacity=0;
    document.getElementById(slideIndex['current_image']).style.filter = 'alpha(opacity=0)';
	document.getElementById(slideIndex['current_image']).FadeState=-2;
	updateSlideIndex('next');
	document.getElementById(slideIndex['current_image']).style.opacity = 0;
    document.getElementById(slideIndex['current_image']).style.filter = 'alpha(opacity=0)';
    document.getElementById(slideIndex['current_image']).style.display="block";
	document.getElementById(slideIndex['current_image']).FadeState=-2;
	fade(slideIndex['current_image']);
	setTimeout("collectElementbyClass()", TimeToFade);
	setTimeout("fadeOutImageText()", TimeToChill);
}



function fade(eid)
{
  var element = document.getElementById(eid);
  if(element == null)
    return;
   
 
  if(element.FadeState == null)
  {
    if(element.style.opacity == null 
        || element.style.opacity == '' 
        || element.style.opacity == '1')
    {
      element.FadeState = 2;
    }
    else
    {
      element.FadeState = -2;
    }
  }
    
  if(element.FadeState == 1 || element.FadeState == -1)
  {
    element.FadeState = element.FadeState == 1 ? -1 : 1;
    element.FadeTimeLeft = TimeToFade - element.FadeTimeLeft;
  }
  else
  {
    element.FadeState = element.FadeState == 2 ? -1 : 1;
    element.FadeTimeLeft = TimeToFade;
    setTimeout("animateFade(" + new Date().getTime() + ",'" + eid + "')", 33);
  }  
}

function animateFade(lastTick, eid)
{  
  var curTick = new Date().getTime();
  var elapsedTicks = curTick - lastTick;
  
  var element = document.getElementById(eid);
 
  if(element.FadeTimeLeft <= elapsedTicks)
  {
    element.style.opacity = element.FadeState == 1 ? '1' : '0';
    element.style.filter = 'alpha(opacity = ' 
        + (element.FadeState == 1 ? '100' : '0') + ')';
    element.FadeState = element.FadeState == 1 ? 2 : -2;
    return;
  }
 
  element.FadeTimeLeft -= elapsedTicks;
  var newOpVal = element.FadeTimeLeft/TimeToFade;
  if(element.FadeState == 1)
    newOpVal = 1 - newOpVal;

  element.style.opacity = newOpVal;
  element.style.filter = 'alpha(opacity = ' + (newOpVal*100) + ')';
  
  setTimeout("animateFade(" + curTick + ",'" + eid + "')", 33);
}


function loadRoutine(totalslides) {
  if(undefined===window.glidearray) createGlideArray();
  if(undefined===window.slideIndex) {
	  createSlideIndex(totalslides);    
  }
  var slide=slideIndex[0];
  showFadingElement(totalslides)
}

function resetGlide() {
	document.getElementById(slideIndex['current_text']).style.textAlign="left";
	document.getElementById(slideIndex['current_text']).setAttribute((document.all ? 'className' : 'class'), 'glide_container_off');
	document.getElementById(slideIndex['current_text']).style.textalign="right";
    //document.getElementById(slideIndex['current_text']).style.display='block';
	
	if (glidearray.length>0) {
  		x=0;
		while(x<glidearray.length) {
		  glidearray[x].style.left="-300px";
		  x++;
	    }
		//style="opacity:0;display:none;filter:alpha(opacity=0);"
	}
	curobjindex=0
}




