
var HOST = "http://ne2005.de/getView/interface/";


function addEvent( obj, type, fn )
{
   if (obj.addEventListener) {
      obj.addEventListener( type, fn, false );
   } else if (obj.attachEvent) {
      obj["e"+type+fn] = fn;
      obj[type+fn] = function() { obj["e"+type+fn]( window.event ); }
      obj.attachEvent( "on"+type, obj[type+fn] );
   }
}


if (!Array.prototype.indexOf) Array.prototype.indexOf = function(value)
{
	for(var j=0; j < this.length; j++)
	{
		if(this[j] == value)
		{
			return j;
		}
	}
	return false;
}


function galerie()
{
	var gale = new Array();
	var galeToIndex = new Array();
	var pages = 0;

	this.init = function()
	{
		addEvent(window, 'load', initGalerie);
	}
	
	this.addData = function(page, data)
	{
		gale.push(data);
		galeToIndex.push(page);
	};
	
	this.setPages = function(data)
	{
		pages = data;
	};
	
	this.waitForData = function (page)
	{
		if(typeof(gale[galeToIndex.indexOf(page+1)]) == "undefined")
		{
			setTimeout(function() {galerieObj.waitForData(page)}, 100);
		}
		else
		{
			this.createGalerieList(page);
			this.hideWait();
		}
	};
	
	this.setOpacity = function(ele, prozent)
	{
		ele.style.filter = 'alpha(opacity=' + prozent + ');';
		ele.style.MozOpacity = (prozent/100);
		ele.style.opacity = (prozent/100);
		
	};
	
	this.hideWait = function()
	{
		if(document.getElementById('galerieWaitBox'))
		{
			document.getElementById('galerieBox').removeChild(document.getElementById('galerieWaitBox'));	
		}
	};
	
	this.slideIn = function(id, opa)
	{
		if(document.getElementById(id))
		{
			opa+= 10;
			this.setOpacity(document.getElementById(id), opa);	

			if(opa < 100)
			{
				setTimeout(function() {galerieObj.slideIn(id, opa)}, 100);	
			}
		}
	};
	
	this.showWait = function()
	{
		var waitBox = document.createElement("div");
		waitBox.innerHTML = "Load...";
		waitBox.id = "galerieWaitBox";
		waitBox.style.fontWeight = "bold";
		waitBox.style.width = "100%";
		document.getElementById('galerieBox').appendChild(waitBox);	
		this.slideIn('galerieWaitBox', 0);
	};
	
	this.getPage = function (page)
	{
		if(document.getElementById('galerieTable'))
			document.getElementById('galerieBox').removeChild(document.getElementById('galerieTable'));
			
		this.showWait();
		this.include(page);
		this.waitForData(page);
	};
		
	this.include = function (page)
	{
		if(!document.getElementById("dataPage_" + page))
		{
			var date = new Date();
			var script = document.createElement("script");
			script.type = "text/javascript";
			script.id = "dataPage_" + page;
			script.src = HOST + "getData.php?key=c81e728d9d4c2f636f067f89cc14862c&page=" + page + "&t=" + date.getTime()+ "&g=5";
			document.getElementsByTagName('head')[0].appendChild(script);
		}
	};
	
	this.includeSys = function (page, para)
	{
		var date = new Date();
		var script = document.createElement("script");
		script.type = "text/javascript";
		script.id = "sys_" + page;
		script.src = HOST + page + "?" + para + ((para != "") ? '&' : '') + "t=" + date.getTime();
		document.getElementsByTagName('head')[0].appendChild(script);
	};
	
	this.createGalerieList = function(page)
	{
		var table = document.createElement("div");
		table.id = "galerieTable";
		table.style.width = "100%";
		document.getElementById('galerieBox').appendChild(table);
		
		var imgBox = document.createElement("div");
		imgBox.className = "navi";
		
		var navi = "";
		var k = "";

		if(pages > 1)
		{
			for(j=1; j <= pages; j++)
			{
				navi+= k+'<a href="#" onClick="galerieObj.getPage(' + (j-1) + ');"><nobr>Seite ' + j + '</nobr></a>';
				k = " | ";
			}
			imgBox.innerHTML = navi;
		}
		
		
		document.getElementById('galerieTable').appendChild(imgBox);

		for(i = 0; i < gale[galeToIndex.indexOf(page+1)].length; i++)
		{
			var imgId = gale[galeToIndex.indexOf(page+1)][i].link.replace(/http:\/\/view.stern.de\/v2\/picture\//, "").split("/")[0];
		
			var imgBox = document.createElement("div");
			imgBox.className = "imgBox";
			imgBox.innerHTML = '<a href="http://view.stern.de/v2/original/' + imgId + '/show/' + imgId + '.jpg" id="img" rel="lightbox"><img src="http://view.stern.de' + gale[galeToIndex.indexOf(page+1)][i].thumb + '" border="0" id="img_' + i + '"></a><br><a href="' + gale[galeToIndex.indexOf(page+1)][i].link + '" target="_blank">' + gale[galeToIndex.indexOf(page+1)][i].name + '</a>';
			document.getElementById('galerieTable').appendChild(imgBox);			

		}

		
		//var imgBox = document.createElement("div");

		this.slideIn('galerieTable', 0);
	};
	this.setSchein = function(img, num)
	{
		document.getElementById('hover' + num + '').style.left = ((60-parseInt(document.getElementById('img_' + num + '').width)/2)-4) + "px";
	}
}

var galerieObj = new galerie();
galerieObj.init();

function initGalerie()
{
	//new Lightbox();
	var date = new Date();

	var css = document.createElement("link");
	css.type = "text/css";
	css.rel = "stylesheet";
	css.href = HOST + "style.php?t=" + date.getTime() + "&key=c81e728d9d4c2f636f067f89cc14862c";
	document.getElementsByTagName('head')[0].appendChild(css);

	/*var css = document.createElement("link");
	css.type = "text/css";
	css.rel = "stylesheet";
	css.href = HOST + "getGView/interface/css/lightbox.css?t=" + date.getTime();
	document.getElementsByTagName('head')[0].appendChild(css);
*/
	galerieObj.getPage(0);
}


