var news_spooler = null;
var newsClass = function(no_news_label, loading_label, ln) {
	
	this.site = 0;
	this.site_c = null;
	this.scrolled = true;
	
	this.init = function(load_labels) {
		//analyze current hash
		var site_offset = window.location.hash.indexOf("site-");
		if(site_offset != -1) {
			site_offset += 5;
			if(window.location.hash.substr(site_offset).indexOf("|") == -1)
				site = window.location.hash.substr(site_offset);
			else
				site = window.location.hash.substr(site_offset, window.location.hash.substr(site_offset).indexOf("|"));
			
		}
		else site = 1;
		
		//request site
		this.getSite(site, load_labels);
	}
	this.getSite = function(page, load_labels) {
		if(page == this.site || page == 0) return false;
		sites = buffer.getData("news.php?action=page-num&ln="+ln, false);
		if(sites == 0) return false;
		
		if(typeof(load_labels) == "undefined" || load_labels == true) {
			gfx.fade('news_content', 100, 0, false);
			getObjectById("news-site-navi").innerHTML = loading_label;
		}
		
		if(sites < page) {
			page = sites;
			currHash = "#site-"+page;
		}

		window.location.hash = "#site-"+page;
		
		this.site = page;
		
		if(sites > 0) {
			
			var site = buffer.getData("news.php?action=overview&ln="+ln+"&site="+page, false, false, true, "news.writeSite");
			if(typeof(site) == "boolean")	return true;
			else							return this.writeSite(site);
		}
		else return error();
	}
	this.writeSite = function(site) {
		
		if(
			typeof(site) != "undefined" &&
			typeof(site) != "number"
		)
			news.site_c = site;
		else
			site = news.site_c;
		
		//check for alpha-blending
		if(gfx.running("news_content", "fader") == true) {
			news_spooler = window.clearInterval(news_spooler);
			news_spooler = window.setInterval(news.writeSite, 50);
			return false;
		}
		else {
			news_spoller = window.clearInterval(news_spooler);
		}
		
		//check for smooth-scrolling
		if(gfx.running("news_content", "scroller") == true) {
			news_spooler = window.clearInterval(news_spooler);
			news_spooler = window.setInterval(news.writeSite, 50);
			return false;
		}
		else {
			news_spoller = window.clearInterval(news_spooler);
		}
		
		var json = eval("("+unescape(site)+")");
		
		var new_content = "";
		
		//alert(json.entries.length);
			
		for(var i = 0;i < json.entries.length;++i) {
			
			new_content+= 
			'<div class="news">' +
				(i == 0 ? '' : '<div class="sperator">&nbsp;</div>') +
				'<h3><a href="/'+ln+'/'+unescape(json.entries[i].seo_title)+'.xhtml">'+unescape(json.entries[i].title)+'</a></h3>' +
				//'<div class="posted">'+unescape(json.entries[i].date)+'</div>' +
				unescape(json.entries[i].content) +
			'</div>';
		}
		
		/*if(news.scrolled == false) {
			gfx.smooth("news_content", new_content);
			
			news.scrolled = true;
			news_spooler = window.setInterval(news.writeSite, 50, site);
			
			return false;
		}*/

		getObjectById("news_content").innerHTML = new_content;

		if(getObjectById("news-site-navi").innerHTML == loading_label) {
			gfx.fade('news_content', 0, 100, true);
		}
		
		writeSitesNavigation(news.site, sites);
		news.scrolled = false;
		
		return true;
	}
	
	var writeSitesNavigation = function(site, sites) {
		var obj;
		if(site > 1)		obj = '<a href="" onclick="news.getSite(\''+(parseInt(site)-1)+'\');return false;" class="prev">&laquo; Vorherige</a>';
		else				obj = '<a href="" onclick="news.getSite(\'1\');return false;" class="prev disabled">&laquo; Vorherige</a>';
		
		obj+= 'Seite '+site+' von '+sites;
		
		if(sites > site)	obj+= '<a href="" onclick="news.getSite(\''+(parseInt(site)+1)+'\');return false;" class="next">N&auml;chste &raquo;</a>';
		else				obj+= '<a href="" onclick="news.getSite(\''+sites+'\');return false;" class="next disabled">N&auml;chste &raquo;</a>';
		
		getObjectById("news-site-navi").innerHTML = obj;
	}
	var error = function() {
		getObjectById("news-site-navi").innerHTML 	= "";
		getObjectById("news_content").innerHTML 	= 
			"<div class=\"error\">" +
				"<img src=\"/static/images/error.png\" alt=\"[FEHLER]\" />" +
				no_news_label +
			"</div>";
	}
}
