var referenzen = {
			config: {
				spacer_time: 900,
				height: 30,
				title_anim_time: 600,
				start_anim_time: 3000,
				box_anim_time: 1500
			},

			start: 1,
			limit: 5,
			total: null,
			page_active: 1,

			elements: referenzen_data,

			init:function(){

				if(typeof referenzen.elements == 'object'){
				if(referenzen.elements.length != null){

					referenzen.total = referenzen.elements.length;
					referenzen.paginate();
					referenzen.page('1');
				
				}else{
					return false;
				}
					return false;
				}

				

			},

			build: function(id, title, content, image, link, file){
				
				var referenzen = $('<div id="ref_'+id+'" class="ref_container"></div>');

				var col_left = $('<div class="ref_col_left"></div>');

				var col_right = $('<div class="ref_col_right"></div>');

				var clearer = $('<div class="clear"></div>');

				var ref_spacer = $('<div class="ref_spacer">&nbsp;</div>');

				var ref_title = $('<div class="ref_title"><h2>'+title+'</h2></div>');

				var ref_image = $('<div class="ref_image"><img src="/'+image+'" /></div>');
						
				if(file){
					var nl = '<br /><a href="'+file+'" target="_blank" class="lightbox">Detailansicht</a>';
				}else{
					var nl = '';
				}

				var ref_content = $('<div class="ref_content"><p>'+content+'</p><p><a href="'+link+'" target="_blank">zur Webseite</a>'+nl+'</p></div>');

				$(col_left).append(ref_spacer);
				$(col_left).append(ref_image);

				$(col_right).append(ref_title);
				$(col_right).append(ref_content);

				$(referenzen).append(col_left);
				$(referenzen).append(col_right);
				$(referenzen).append(clearer);

				$('#referenzen').append(referenzen);

			},

			page: function(number, el){
				
				$('.page').removeClass('page_active');
				$('#page_'+number).addClass('page_active');

				if($('.ref_container').length){
					
					referenzen.page_active = number;
					
						
					var container = $('#referenzen .ref_container');
					var container_count = container.length;

					container.each(function(index, el){
						
						var akt_index = index;

						setTimeout(function(index){
						
						$(el).fadeOut('normal',function(){
							
							if(container_count == (akt_index+1)){
								$('#referenzen').empty();
								referenzen.render(number);
							}

						});
						}, (200*index), index);
					});

				}else{

					referenzen.render(number);

				}

			},

			page_next: function(){
				referenzen.page(referenzen.page_active+1);
			},

			page_previous: function(){
				referenzen.page(referenzen.page_active+1);
			},
			
			render:function(number){

				var active = $('#ref_5');
				var active_old = $('#ref_5');
				var active_old_index = 5;
				var elements_length = referenzen.limit;
				var elements = new Array();
				var page = number;
	
				$(referenzen.elements).each(function(index, el){
					
					if(index >= (referenzen.limit * (page-1)) && index < (referenzen.limit * page)){
						elements.push(el);
					}

				});

				//elements.reverse();

				$(elements).each(function(index, el){

					//if(index < (referenzen.start-1) || index > (referenzen.limit-1)){
					
					//}else{

					var timeout = (index) * referenzen.config.spacer_time;
					var top = (index) * referenzen.config.height;
					referenzen.build(index, el.title, el.content, el.image, el.link, el.file);
					
					
					

					$('#ref_'+(index)+' .ref_title').click(function(){

						active = $(this);
						active_index = index;

						if(active_index == active_old_index){
							return false;
							active_index++;
							active = $('#ref_'+active_index);
						}
					
						
						/*active_old.find('.ref_title').animate({
							backgroundColor: '#fff',
							color: '#4444'
						},{ duration: referenzen.config.title_anim_time});*/
						
						$('#referenzen .ref_title').removeClass('orange');
						$(active).addClass('orange');
						//active.addClass('active');
					
						$(referenzen.elements).each(function(index, el){
							
							var top = (index)*referenzen.config.height;
								
							if(index > active_index){
								
								var top = 370-((elements_length - (index))*referenzen.config.height);

							}

							$('#ref_'+index).animate({
								'top': top
							}, { duration: referenzen.config.box_anim_time, queue: false, 'easing': 'easeOutSine'});

						});

						active_old = $(this);
						active_old_index = index;

					});

					
					setTimeout(function(){
						$('#ref_'+index).animate({
							'top': top
						}, referenzen.config.start_anim_time, 'easeOutSine');
					}, timeout);

					//}

				});

				$('#ref_4 .ref_title').addClass('orange');

				$(function() {
					$('.lightbox').lightBox({imageLoading: 'assets/templates/default/img/ajax-loader.gif'});
				})

			},

			paginate:function(){
				
				$('#referenzen').after('<div id="pages"><ul></ul></div>');

				var pages = Math.ceil(referenzen.total/referenzen.limit);

				for(i=1; i<=pages; i++){
					$('#pages ul').append('<li><a href="javascript:referenzen.page(\''+i+'\')" id="page_'+i+'" class="page">'+i+'</a></li>');
				}

			}

		};
	
		$(document).ready(function(){

			referenzen.init();

		});