
//constants
var interval_length = 4000;
var transition_length = 2000;



$(document).ready(function() {
	carousel_start("carousel_box");
});


function carousel_start(carousel_box_id) {

	var number = count_carousel_items(carousel_box_id);		
		
	var current = 0;
	
	if (number > 1)
		setTimeout('carousel_iteration(\'' + carousel_box_id  + '\', \'' + current  + '\', \'' + number  + '\')', interval_length);

}



function carousel_iteration(carousel_box_id, current, number) {
	
	var next = parseInt(current) + 1;
	if (next == parseInt(number))
		next = 0;

	var start_node = document.getElementById(carousel_box_id);
	var elements = carousel_getElementsByClass(start_node, "carousel_box_item", "*");  

	carousel_shift(elements[current], elements[next]);

	setTimeout('carousel_iteration(\'' + carousel_box_id  + '\', \'' + next  + '\', \'' + number  + '\')', interval_length);

}


function carousel_shift(current, next) {

	next.style.top = "105px";
	
	 $(current).animate({
	    top: '-=100'
	  }, transition_length, function() {
	    // Animation complete.
	  });

	 $(next).animate({
	    top: '-=105'
	  }, transition_length, function() {
	    // Animation complete.
	  });
}




function count_carousel_items(carousel_box_id) {

	var start_node = document.getElementById(carousel_box_id);
	var elements = carousel_getElementsByClass(start_node, "carousel_box_item", "*");  
	return elements.length;	

}


 function carousel_getElementsByClass(node,searchClass,tag) {  
     var classElements = new Array();  
	 if ( node == null )  
	     node = document;  
	 if ( tag == null )  
	     tag = '*';  
     var els = node.getElementsByTagName(tag); // use "*" for all elements  
     var elsLen = els.length;  
     var pattern = new RegExp("\\b"+searchClass+"\\b");  
     for (kk = 0, rr = 0; kk < elsLen; kk++) {  
	  if ( pattern.test(els[kk].className) ) {  
	  classElements[rr] = els[kk];  
	  rr++;  
	  }  
     }  
     return classElements;  
   } 




