	

	

	Slider = function() {};

	

	/*

		Set's the active item based on new index. Changes the picture, text, the circle...

	*/

	

	Slider.setActive = function (index) {

			if ( (index >= 0) && ( index < Slider.size) ) {

			

			//At this part, change the images and indicators

				$('#slider_images .mini_holder:eq('+index+')').css('display', 'block');

				

				$('#slider_images .mini_holder:eq('+index+')').find('h1, h2').each(function(index, el) {

					$(this).css('left', 0-$(el).outerWidth(true)+'px');

					

				});

				$('#slider_images .mini_holder').css('display', 'none');

				var offset_pos = $('#slider_container').position().left;

				

				$('#slider_images .mini_holder:eq('+index+')').css('display','block');				

				

				$('#slider_images .mini_holder:eq('+index+')').each(function() {

				 

					offset_pos = ($('#slider_container').parent().outerWidth(true) - $('#slider_container').parent().width() ) / 2;
					
					//CHANGE LEFT POSITIONS HERE
					offset_pos = 32;

					

					/***/

					

					var i = 0;

					$(this).find('h1, h2').each(function(index, el) {					

						$(el).animate(

							{

								left: offset_pos

							}, (Slider.speed + (i*Slider.delay))

						);

						i++;

					});

					

					/***/

				});

				

				$('#mini_blocks .mini_block_list').removeClass('mini_block_list_active');

				

				$('#mini_blocks .mini_block_list:eq('+index+')').addClass('mini_block_list_active');



					

				Slider.activeIndex = index;

			} else {

				return false;

			}



	}

	

	/*

		Slider's function to set the next element

	*/

	Slider.next = function() {

		

		if ( (Slider.activeIndex+1) < Slider.size ) {

			if (Slider.auto) {

				if (Slider.intervalId) {

					clearInterval(Slider.intervalId);

				}

				clearInterval(Slider.intervalId);

				Slider.intervalId = setTimeout("Slider.next()", Slider.autoDelay);

			}

			Slider.setActive( (Slider.activeIndex+1));

		} else {

			if (Slider.auto) {

				Slider.activeIndex = 0;

				if (Slider.intervalId) {

					clearInterval(Slider.intervalId);

				}

				Slider.intervalId = setTimeout("Slider.next()", Slider.autoDelay);

				Slider.setActive( (Slider.activeIndex));

			}

			

			return false;

		}

	}

	

	/*

		Slider's function to set the previous element

	*/

	Slider.prev = function() {

		if (Slider.intervalId) {

			clearInterval(Slider.intervalId);

		}

		if ( (Slider.activeIndex-1) >= 0 ) {

			Slider.setActive( (Slider.activeIndex-1));

		} else {

			Slider.setActive( (Slider.size-1));

		}

		

		if (Slider.auto) {

			Slider.intervalId = setTimeout("Slider.next()", Slider.autoDelay);

		}

	}

	

	Slider.init = function(arguments) {

		Slider.activeIndex = arguments.startItem;

		Slider.offsetTop = arguments.offsetTop;		

		Slider.width = $('#slider_container').width();

		Slider.height = $('#slider_container').height();

		Slider.paddingRight = arguments.paddingRight;

		Slider.paddingBottom = arguments.paddingBottom;

		Slider.speed = arguments.speed;

		Slider.delay = arguments.delay;

		Slider.auto = arguments.auto;

		Slider.autoDelay = arguments.autoDelay;

		Slider.can = true;

		Slider.intervalID;

		Slider.size = $('#slider_images .mini_holder').size();

		

		

		$('#slider_images .mini_holder').css('display', 'none');

		

		$('#slider_images .mini_holder img').each(function() {

			

			//$(this).attr('width', 909);

			//$(this).attr('height', 355);

		});

					

		//Now construct mini blocks for showing how much of pictures there are 

		var mini_blocks_html = '';

		for (var i = 0; i < Slider.size; i++) {

			mini_blocks_html += '<div class="mini_block_list" index="'+i+'"></div>';			

		}

		

		$('#mini_blocks').html(mini_blocks_html);

		$('.mini_block_list').click(function() {

			Slider.setActive( $(this).attr('index') );

			

		});

		

		//Calculate the position of controls. Calculate the container dimensions as well as control box dimensions

		var offset_x = $('#slider_container').width();			

		var offset_y = $('#slider_container').height();

		

			offset_y -= $('#slider_controls').outerHeight(true);

			offset_y -= Slider.paddingBottom;

			

			offset_x -= (Slider.size * $('.mini_block_list').outerWidth(true) );



			offset_x -= $('#sliderControls_left').outerWidth(true);

			offset_x -= $('#sliderControls_right').outerWidth(true);

			offset_x -= Slider.paddingRight;

			//Apply calculations					

			$('#slider_controls').css('left', offset_x+'px');

			$('#slider_controls').css('top', (offset_y)+'px');

			

			//Hook the click handlers on controls

			$('#sliderControls_left').click( function() {Slider.prev(); });

			$('#sliderControls_right').click( function() {Slider.next(); });

			

			/*

				Here adjust the positions of text slides

				When element has display: block, it does not have dimensions, that's why I make them

				invisible and turn display to block. After all, I reset everything

			*/

			$('.mini_holder').css('visibility', 'hidden');

			$('.mini_holder').css('display', 'block');

			

			$('.mini_holder').each(function(index, element) {

				var last_offset = 0;

				$(this).find('h1, h2').each(function(index, el) {

					var new_offset = Slider.offsetTop + last_offset ;						

						last_offset += $(el).outerHeight(true);

						$(this).css('top', new_offset+'px');

				});					

				

			});

			

			$('.mini_holder').css('visibility', 'visible');

			$('.mini_holder').css('display', 'none');

						

			Slider.setActive(Slider.activeIndex);	

			if (Slider.auto) {

				setTimeout("Slider.next()", Slider.autoDelay);

			}

	}

	

	$(document).ready(function() {

		Slider.init({

			startItem: 0,

			offsetTop: 80,

			paddingRight: 30,

			paddingBottom: 40,

			speed: 500,

			delay: 500,

			auto: true,

			autoDelay: 10000

		});	

		

	

	});


