/* 
Optimal Jobs Javascript Interface functions library
Author: Dan Sunderland
No reason these are inline- It's just tidier this way! 
*/

$j = jQuery.noConflict(); 

$j(document).ready(function() {
	// Initial Fancybox for all links with the class.
	$j('.fancybox').fancybox();
	
		$j(document).ready(function() {
	
		//load the dropdown nav
		$j("nav").dropDown({
			type:"fade",
			speed: 100
		});
	});

//Pagination
$j('#job-results-container').pajinate( {
	item_container_id : '#job-results-body',
	items_per_page : 10,
	nav_panel_id : '#pagination' 
});
	


// Function for Clemtech slideshow
(function($){
	$.fn.slider = function(options){
		
		var defaults = {}
		
		var $this = $(this);
		var opts = $.extend(defaults,options);
		var $slidecount = $('#slider > img').size() - 1;
		var $i = 0;

		var h = $('#slider').css('height');
		$('#slider > img').css({position:'absolute',top:0,left:0,width:'100%',height:h});
		
		//Function for left arrow
		$('#slider-left').click(function() {
			
			//Get current and previous slides
			var $currentSlide = $('#slider > img:visible');
			var $prevSlide = $currentSlide.prev();
			
			//Get current and next buttons
			var $currentButton = $('.slider-button.active');
			
			//Get current and previous straplines
			var $currentStrap = $('.strapline.active');
			
			if($i > 0) {
				$i--;
				$($currentSlide).fadeOut();//.toggleClass('active');
				$($prevSlide).fadeIn();//.toggleClass('active');
				$($currentButton).toggleClass('active');	
				$('#button-' + $i).toggleClass('active');	
				$($currentStrap).toggleClass('active');	
				$('#strapline-' + $i).toggleClass('active');
			}
			return false;
		});
		
		//Function for right arrow
		$('#slider-right').click(function() {
			//Get current and next slides
			var $currentSlide = $('#slider > img:visible');
			var $nextSlide = $currentSlide.next();
			
			//Get current and next buttons
			var $currentButton = $('.slider-button.active');
			
			//Get current and next straplines
			var $currentStrap = $('.strapline.active');		
			
			if($i < $slidecount) {
				$i++;
				$($currentSlide).fadeOut();//.toggleClass('active');
				$($nextSlide).fadeIn();//.toggleClass('active');
				$($currentButton).toggleClass('active');	
				$('#button-' + $i).toggleClass('active');
				$($currentStrap).toggleClass('active');	
				$('#strapline-' + $i).toggleClass('active');				
			}
			return false;
		});

		var goRight = 1;
		var interval = null
		if (!interval) interval = setInterval(function(){
			if (goRight && $i >= $slidecount) goRight = 0;
			if (!goRight && $i <= 0) goRight = 1;

			if (goRight)
				$('#slider-right').trigger('click');
			else
				$('#slider-left').trigger('click');
		},5000);
	}
})(jQuery);

$j("#slider").slider();

(function($){
	$.fn.dropDown = function(options){
		defaults = {
			type: "show",	//can use slide/show/fade
			speed:1000		//sets the animation speed
		}
		var opts = $.extend(defaults,options);
		return this.each(function(){
			if(opts.type == "show"){
				$("li:has(ul)",this).hover(function(){
					$("ul:eq(0)",this).show();
				},function(){
					$("ul:eq(0)",this).hide();
				});
			} else if(opts.type == "slide"){
				$("li:has(ul)",this).hover(function(){
					$("ul:eq(0)",this).slideDown(opts.speed);
				},function(){
					$("ul:eq(0)",this).slideUp(opts.speed);
				});				
			} else if(opts.type == "fade"){
				$("li:has(ul)",this).hover(function(){
					$("ul:eq(0)",this).fadeIn(opts.speed);
				},function(){
					$("ul:eq(0)",this).fadeOut(opts.speed);
				});					
			} else {
				alert("Option 'type' does not have a valid option");
			}
		});
	}
})(jQuery);
});

