﻿//
//  SJW 2011-06-22
//  
//  Wrote new version on jq-innerfade 
//   functions to suite these requirements
//
//
//	

	//Steve's news image functions
	
	
	//images block
	$(document).ready(
			function(){
		
				$('#newscrossimage').innerfade_img({
					speed: 'slow',
					timeout: 4000,
					type: 'sequence'
					});
			}
	);

	//nav block
	$(document).ready(
			function(){
		
				$('#newscrossnav').innerfade_nav({
					speed: 'slow',
					timeout: 4000,
					type: 'sequence'
					});
			}
	);

	
			
	function navpressed(id) {

		for(var i=0;i<elements_nav.length;i++) {
			if(i==id) {
				//set image element
				$(elements_img[id]).show();

				//set nav element
				$(elements_nav[id]).show();
			} else {
				//set image element
				$(elements_img[i]).hide();

				//set nav element
				$(elements_nav[i]).hide();					
			}
		}
		
	}



	//
	// Innerfade logic changed for custom 
	//   Images block	
	//
	//

	var elements_img;

	$.fn.innerfade_img = function(options_img) {
		return this.each(function(){ 	

			var settings_img = {
				speed: 'normal',
				timeout: 2000,
				type: 'sequence',
				containerheight: 'auto'
			}

			if(options_img)
				$.extend(settings_img, options_img);

			elements_img = $(this).children().get();

			if (elements_img.length > 1) {

				$(this).parent().css('position', 'relative');

				$(this).css('height', settings_img.containerheight);

				for ( var i = 0; i < elements_img.length; i++ ) {
					$(elements_img[i]).css('z-index', elements_img.length - i).css('position', 'absolute');
					$(elements_img[i]).hide();
				}

				if ( settings_img.type == 'sequence' ) {
					setTimeout(function(){
						$.innerfade_img.next(elements_img, settings_img, 1, 0);
					}, settings_img.timeout);
					$(elements_img[0]).show();
				}

			}

		});
	};


	$.innerfade_img = function() {}
	$.innerfade_img.next = function (elements_img, settings_img, current_img, last_img) {

		$(elements_img[last_img]).fadeOut(settings_img.speed);
		$(elements_img[current_img]).fadeIn(settings_img.speed);

		if ( settings_img.type == 'sequence' ) {
			if ( ( current_img + 1 ) < elements_img.length ) {
				current_img = current_img + 1;
				last_img = current_img - 1;
			}
			else {
				current_img = 0;
				last_img = elements_img.length - 1;
			}
		}

		setTimeout((function(){$.innerfade_img.next(elements_img, settings_img, current_img, last_img);}), settings_img.timeout);
	}

	//
	// Innerfade logic changed for custom 
	//  Navigation block	
	//
	//

	var elements_nav;

	$.fn.innerfade_nav = function(options_nav) {
		return this.each(function(){ 	

			var settings_nav = {
				speed: 'normal',
				timeout: 2000,
				type: 'sequence',
				containerheight: 'auto'
			}

			if(options_nav)
				$.extend(settings_nav, options_nav);

			elements_nav = $(this).children().get();

			if (elements_nav.length > 1) {

				$(this).parent().css('position', 'relative');

				$(this).css('height', settings_nav.containerheight);

				for ( var i = 0; i < elements_nav.length; i++ ) {
					$(elements_nav[i]).css('z-index', elements_nav.length - i).css('position', 'absolute');
					$(elements_nav[i]).hide();
				}

				if ( settings_nav.type == 'sequence' ) {
					setTimeout(function(){
						$.innerfade_nav.next(elements_nav, settings_nav, 1, 0);
					}, settings_nav.timeout);
					$(elements_nav[0]).show();
				}

			}

		});
	};


	$.innerfade_nav = function() {}
	$.innerfade_nav.next = function (elements_nav, settings_b, current_nav, last_nav) {

		$(elements_nav[last_nav]).fadeOut(settings_b.speed);
		$(elements_nav[current_nav]).fadeIn(settings_b.speed);
		//$(elements_nav[last_nav]).hide();
		//$(elements_nav[current_nav]).show();


	if ( settings_b.type == 'sequence' ) {
		if ( ( current_nav + 1 ) < elements_nav.length ) {
			current_nav = current_nav + 1;
			last_nav = current_nav - 1;
		}
		else {
			current_nav = 0;
			last_nav = elements_nav.length - 1;
		}
	}

		setTimeout((function(){$.innerfade_nav.next(elements_nav, settings_b, current_nav, last_nav);}), settings_b.timeout);
	}
