		Archive = function (instance_name, filters_instance, cargo_id, pager_cargo_id) {
			this.instance_name = instance_name;
			this.data_source = "data/rpc_wrapper.php?module=get_archive_data";
			this.image_server = "";
			this.filters_module_instance = filters_instance;
			this.cargo_id = cargo_id;
			this.pager_cargo_id = pager_cargo_id;
			
			this.current_page = null;
			this.total_pages = 0;
			this.on_page = 20;
			this.max_pages = 11;
			
			this.show_comments = true;
			
			this.data_cache = new Array;
			
			this.queue = $.manageAjax.create('archiveRequestQueue', { 
				queue: 'clear', 
				cacheResponse: true 
			});
			
			Date.replaceChars.longDays = ['Sonntag', 'Montag', 'Dienstag', 'Mittwoch', 'Donnerstag', 'Freitag', 'Samstag'];
			
	
			this.load = function (page) {
				if (page) {
					current_page = page;
				} else {
					current_page = null;
				}
				
				var params = {
					itemsOnPage: this.on_page,
					currentPage: current_page,
					showComments: this.show_comments
				};
				
				if (this.filters_module_instance) {
					var filtersData = this.filters_module_instance.getFiltersData();
					
					if (filtersData.cancel) {
						return;
					}
					
					$.extend(params, filtersData);
				}
				
				
				AjaxUtils.loadJSON(this.data_source, params, this.dataHandler, this, this.queue);
			};
	
			this.dataHandler = function(data) {
				this.current_page = parseInt(data.currentPage);
				this.total_pages = parseInt(data.totalPages);
				
				this.data_cache = data.data;
				this.render(data.data);
				this.renderPager();
			};
			
			this.render = function (list_data) {
				
				var target = $("#"+this.cargo_id).eq(0);
				
				target.empty();
				
				var out="";
				
				if (list_data.length) {
				
					var lastDate = null;
					
					var dateTemp;
					
					for (var i=0; i<list_data.length; i++) {
						dateTemp = new Date(list_data[i].video_date * 1000);
						
						if ((lastDate == null) || (lastDate.format('Ymd') !== dateTemp.format('Ymd'))) {
							lastDate = dateTemp;
							
							out+= this.renderHeader(lastDate);
							
							out+= '<div class="daysItemsContainer">';
						}
						out+= this.renderItem(i);
						
						if (list_data[i+1]) {
							dateTemp = new Date(list_data[i+1].video_date*1000);
						}
						
						if (((i+1) >= list_data.length) || (lastDate.format('Ymd') !== dateTemp.format('Ymd'))) {
							out+= '</div>';
						}
					}
					
				} else {
					out+= '<div class="noResultsMessageContainer">Die Suche ergab keine Treffer.</div>';
				}
				
				target.append(out);
				
				
				
				$(target).find('.archiveItem').each(function () {
					GlobalAnimations.initRollOver(this);
				});
			};
			
			
			this.renderHeader = function (date) {
				var out ="";
				
				var date_out = date.format('l, d.m.Y');
				out+= '<div class="boxHeader">'+date_out+'</div>';
				
				return out;
			};
			
			this.renderItem = function (item_index) {
				var list_item_data = this.data_cache[item_index];
				
				var out = "";
				out+= '<div class="archiveItemWrapper">';
				if (this.show_comments) {
					out+= '	<a href="#" onClick="return DisqusOverlay.getInstance().open('+list_item_data.id+');" class="numCommentsDisplay">'+list_item_data.num_comments+'</a>';
				}
				out+= '	<a class="archiveItem" href="#" onClick="return '+this.instance_name+'.play('+item_index+');">';
				out+= 		'<img src="'+this.image_server+'?w=96&vid='+list_item_data.id+'" alt="'+list_item_data.title+'" width="96" height="54"/>';
				out+=		'<img src="img/img_rollover.png" alt="" class="rollover invisible" />';
				out+= 		'<div class="channelName channel'+list_item_data.channel_id+'">'+list_item_data.channel_name+'</div>';
				out+=		'<div class="title">'+list_item_data.title+'</div>';
				out+= '	</a>';
				out+= '</div>';
				
				return out;
			};
			
			this.play = function (item_index) {
				var data = this.data_cache[item_index];
				
				data.header_content = data.channel_name;
				
				OverlayPlayer.getInstance().openPlayer(data, 'channel'+data.channel_id);
				
				return false;
			};
			
			
			this.renderPager = function() {
				var out = '';
				if (this.total_pages>1) {
					if (this.total_pages > this.max_pages) {
						var p_off = Math.floor((this.max_pages-1)/2);
						var p_start = this.current_page-p_off;
						if (p_start < 1) {
							p_start = 1;
						}
							
						var p_end = p_start+this.max_pages-1;
						
						if (p_end>this.total_pages) {
							p_start = this.total_pages-this.max_pages+1;
							p_end = this.total_pages;
						}
					} else {
						var p_start = 1;
						var p_end = this.total_pages;
					}
					
					for(var i=p_start; i<=p_end; i++) {
						var marker_style = (i==this.current_page) ? ' active' : '';
						//var pad_l = (i==p_start ? 6 : 2);
						//var pad_r = (i==p_end ? 6 : 2);
						out+= '<a href="#" onClick="javascript:'+this.instance_name+'.load('+i+')" class="pagerLink'+marker_style+'">'+i+'</a>';
					}

					
					if (this.current_page > 1) {
						out = '<a href="#" onClick="javascript:'+this.instance_name+'.load('+(this.current_page-1)+')" class="pagerButtonLeft"><img src="img/btn_left.gif" width="11" height="9" alt="" border="0"></a>'+out;
					} else {
						out = '<img src="img/btn_left_off.gif" width="11" height="9" alt="" border="0" class="pagerButtonLeft">'+out;
					}

					if (this.current_page < this.total_pages) {
						out+= '<a href="#" onClick="javascript:'+this.instance_name+'.load('+(this.current_page+1)+')" class="pagerButtonRight"><img src="img/btn_right.gif" width="11" height="9" alt="" border="0"></a>';
					} else {
						out+= '<img src="img/btn_right_off.gif" width="11" height="9" alt="" border="0" class="pagerButtonRight">';
					}
					
				}
				
				$('#'+this.pager_cargo_id).empty();
				$('#'+this.pager_cargo_id).html(out);
			};
			
			
		};
