window.addEvent('domready', function() {
	
var close = $$('h2.open');	
	close.each(function(element) {
		
	//START SLIDE EFFECT //	
	var divs = element.parentNode.getElementsByTagName("div");
	var Slide = divs[0];
	var temp = "";
	var collapseDiv = new Fx.Slide(Slide);
	if(Slide.className != "first") {
	collapseDiv.hide(); element.className="closed"; }
		element.addEvent('click', function() {
		collapseDiv.toggle(); 
		 temp = Slide.parentNode.offsetHeight;
		 Slide.parentNode.style.overflow = "hidden";
		if(temp != "")
		{
			Slide.parentNode.style.height = temp + "px";
		}
		element.addClass('waiting');
		});	
		collapseDiv.addEvent('onComplete', function() {
		element.removeClass('waiting');
		if(element.className == "open") { element.className = "closed"; }
		else { element.className = "open"; Slide.parentNode.style.overflow = "visible"; Slide.parentNode.style.height = "auto";  }
		});
	//END SLIDE EFFECT //	
		
	//START PAGINATION //
	
	var pagination = $ES('div.pagination', Slide); /* div containing pagination */
	pagination.each(function(e) {
		var current_num_pages = $ES('ul.page li',Slide).length;
		if(current_num_pages >= 10 && current_num_pages < 50)
		{
			e.innerHTML = '<ol class="limit"><li class="show">Show:</li><li><a href="#" class="active select">2</a></li><li><a href="#" class="select">5</a></li><li><a href="#" class="select">10</a></li><li style="visibility: hidden"><a href="#" class="select">50</a></li><li><a href="#" class="select">Show All</a></li></ol><ol><li><a href="#" class="previous closed">&laquo; prev</a></li></ol><ol class="pages"></ol><ol><li><a href="#" class="next open">next &raquo;</a></li></ol>';
		}
		else if(current_num_pages >= 5 && current_num_pages < 10)
		{
			e.innerHTML = '<ol class="limit"><li class="show">Show:</li><li><a href="#" class="active select">2</a></li><li><a href="#" class="select">5</a></li><li style="visibility: hidden"><a href="#" class="select">10</a></li><li style="visibility: hidden"><a href="#" class="select">50</a></li><li><a href="#" class="select">Show All</a></li></ol><ol><li><a href="#" class="previous closed">&laquo; prev</a></li></ol><ol class="pages"></ol><ol><li><a href="#" class="next open">next &raquo;</a></li></ol>';
		}
		else
		{
			e.innerHTML = '<ol class="limit"><li class="show">Show:</li><li><a href="#" class="active select">2</a></li><li><a href="#" class="select">5</a></li><li><a href="#" class="select">10</a></li><li><a href="#" class="select">50</a></li><li><a href="#" class="select">Show All</a></li></ol><ol><li><a href="#" class="previous closed">&laquo; prev</a></li></ol><ol class="pages"></ol><ol><li><a href="#" class="next open">next &raquo;</a></li></ol>';
		}
	});
	var container = $ES('ul.page',Slide);	
	var previous = $ES('ol li a.previous',Slide);	/* previous link */
	var next = $ES('ol li a.next',Slide);	/* next link */	
	var briefs = new Array (); /* list items */	
	var limitSelect = $ES('ol.limit li a.select',Slide);
	var limit = 2; /* number of list items to show */
	
	var active = new Array ();
	var pageItems = new Array ();
	var temp = 0;
	var cond = 0;
	var pages = $ES('ol.pages',Slide); pages = pages[0]; /* page list */
	var numPages = Math.round(briefs.length/limit); /* number of pages */
	PAGINATE();
	

	
	// BEGIN FUNCTION
	function PAGINATE() {
	briefs = $ES('ul.page li',Slide);
	remainder = briefs.length % limit;
	var extra_page = 0;
	remainder > 0 ? extra_page = 1 : '';
	numPages = Math.floor(briefs.length/limit) + extra_page;
	if (limit == 2 && numPages <= 1)
	{
		pagination[0].style.display = "none";
	}
	if (numPages <= 1) {
		 pagination[0].firstChild.nextSibling.style.display = "none";
		 pagination[0].firstChild.nextSibling.nextSibling.style.display = "none";
		 pagination[0].firstChild.nextSibling.nextSibling.nextSibling.style.display = "none";
		 }
	else {
		 pagination[0].firstChild.nextSibling.style.display = "inline";
		 pagination[0].firstChild.nextSibling.nextSibling.style.display = "inline";
		 pagination[0].firstChild.nextSibling.nextSibling.nextSibling.style.display = "inline";
	}
	//COUNT LIST ITEMS
	for(i=0;i<briefs.length;i++)
	{
		if(i<limit) { briefs[i].style.display = "block"; }
		else { briefs[i].style.display = "none"; }
	}
	//COUNT PAGES AND CREATE LIST
	pages.innerHTML = ""; 
	for(j=1;j<=numPages;j++)
	{
			if (j == 1) { pages.innerHTML += ('<li><a href="#" class="active">' + j + '</a></li>'); } 
			else { pages.innerHTML +=  ('<li><a href="#">' + j + '</a></li>'); }
	}
	//NAVIGATE USING PAGE NUMBERS
	pageItems.length = 0;
	pageItems = $ES('ol.pages li a',Slide);
	active = pageItems[0];
	
		pageItems.each(function(element2) {
		  if(element2.innerHTML > 4) { element2.style.display = "none"; }
			element2.addEvent('click', function(event) {
				if(element2.className != "active"){
					var current = element2.innerHTML;
					for(k=0;k<pageItems.length;k++)
					{
						pageItems[k].className="";
					}
					for(l=0;l<briefs.length;l++)
					{
							briefs[l].style.display="none"; 
					}
					for(l=0;l<briefs.length;l++)
					{
						if(l ==((current * limit) - limit))
						{ 
							for(f=0;f<limit;f++) {
							var temp = ((current * limit) - limit) + f;
							if(temp<briefs.length) {
							briefs[temp].style.display="block"; } }
						} 		
					}
					element2.className = "active";
					active = element2;

					if(active.innerHTML == 1) { previous.removeClass("open"); previous.addClass("closed"); next.removeClass("closed"); next.addClass("open"); }
					else if(active.innerHTML == (pageItems.length)) { next.removeClass("open"); next.addClass("closed"); previous.removeClass("closed"); previous.addClass("open"); }
					else { previous.removeClass("closed"); next.removeClass("closed"); previous.addClass("open"); next.addClass("open"); }
				}
				new Event(event).preventDefault().stopPropagation();
				new Event(event).stop();
				return false;
			});
		});
	}
	//NAVIGATE USING PREVIOUS BUTTON
	previous.addEvent('click', function(event) {
		if(active.innerHTML > 1)
		{
		next.removeClass("closed"); next.addClass("open");
		
			for(k=0;k<pageItems.length;k++)
			{
				if(pageItems[k].innerHTML == (active.innerHTML - 1))
				{
					if(pageItems[k].style.display != "none") 
					{
					pageItems[k].className="active";
					active = pageItems[k];
					}
					else
					{
						pageItems[k].style.display="inline";
						if(pageItems.length>4) {
						pageItems[k+4].style.display="none"; }
						pageItems[k].className="active";
						active = pageItems[k];
					}
				}
				else 
				{
					pageItems[k].className="";
				}
			}
			var current = active.innerHTML;
			for(l=0;l<briefs.length;l++)
			{
				briefs[l].style.display="none"; 
			}
			for(l=0;l<briefs.length;l++)
			{
				if(l ==((current * limit) - limit))
				{ 
					for(f=0;f<limit;f++) {
					var temp = ((current * limit) - limit) + f;
					if(temp<briefs.length) {
					briefs[temp].style.display="block"; } }
				} 		
			}
		}
		if(active.innerHTML == 1)
		{ 
			this.removeClass("open"); this.addClass("closed"); 
		}
		new Event(event).preventDefault().stopPropagation();
		new Event(event).stop();
		return false;
	});	
	//NAVIGATE USING NEXT BUTTON
	next.addEvent('click', function(event) {
		if(active.innerHTML < pageItems.length)
		{
			previous.removeClass("closed"); previous.addClass("open");
			cond = active.innerHTML;
			cond = eval(cond) + 1;
			for(k=0;k<pageItems.length;k++)
			{
				if(pageItems[k].innerHTML == cond)
				{
					if(pageItems[k].style.display != "none") 
					{
					pageItems[k].className="active";
					active = pageItems[k];
					}
					else
					{
						pageItems[k].style.display="inline";
						if(k>=4){
						pageItems[k-4].style.display="none";
						}
						pageItems[k].className="active";
						active = pageItems[k];
					}
				}
				else 
				{
					pageItems[k].className="";
				}
			}
			var current = active.innerHTML;
			for(l=0;l<briefs.length;l++)
			{
				briefs[l].style.display="none"; 
			}
			for(l=0;l<briefs.length;l++)
			{
				if(l ==((current * limit) - limit))
				{ 
					for(f=0;f<limit;f++) {
					var temp = ((current * limit) - limit) + f;
					if(temp<briefs.length) {
					briefs[temp].style.display="block"; } }
				} 		
			}
		}
		if(active.innerHTML == (pageItems.length))
		{ 
			this.removeClass("open"); this.addClass("closed"); 
		}
		new Event(event).preventDefault().stopPropagation();
		new Event(event).stop();
		return false;
	});	
	limitSelect.each(function(e) {
		e.addEvent('click', function(event) {
			next.removeClass("closed");
			previous.removeClass("open");
			previous.addClass("closed");
			next.addClass("open");
			swapLength (e);
			new Event(event).preventDefault().stopPropagation();
			new Event(event).stop();
			return false;
		});
	});
	
	//SELECT NUMBER OF LIST ITEMS
	function swapLength (e) {
			for(i=0;i<limitSelect.length;i++) { 
				limitSelect[i].removeClass("active");
			}
			e.addClass("active");
			if(e.innerHTML == 'Show All')
			{
				limit = briefs.length;
			}
			else
			{
				limit = e.innerHTML;
			}
			active = "";
			cond = 0;
			PAGINATE();
	}
	//END PAGINATION
	});
});


