sharedCentral = new CentralIntelligence;

function CentralIntelligence() {

	this.rawXML;
	this.links = new Array;
	this.viewingFunction = new Function;
}

CentralIntelligence.prototype.initWithXML = initWithXML;
CentralIntelligence.prototype.updateData = updateData;
CentralIntelligence.prototype.asString = asString;
CentralIntelligence.prototype.linkWithTitle = linkWithTitle;
CentralIntelligence.prototype.titlesView = titlesView;
CentralIntelligence.prototype.valueForKey = valueForKey;
CentralIntelligence.prototype.viewFunction = viewFunction;

function initWithXML(xmlDoc) {

	if (window.DOMParser) {
		parser = new DOMParser();
		xmlDoc = parser.parseFromString(xmlDoc, "text/xml");
	} else { // Internet Explorer
		//xmlDoc=new ActiveXObject("Microsoft.XMLDOM");
		//xmlDoc.async="false";
		//xmlDoc.loadXML(txt); 
		//Fahr zur Hölle!!
	}

	this.rawXML = xmlDoc;

	var count = xmlDoc.getElementsByTagName("link").length;

	for(i = 0; i < xmlDoc.getElementsByTagName("Key").length; i ++) {
		keyName = xmlDoc.getElementsByTagName("Key")[i].childNodes[0].nodeValue;
		valueName = xmlDoc.getElementsByTagName("Value")[i].childNodes[0].nodeValue;
		this.links[keyName] = valueName;
	}
}

function updateData() {

	if (window.XMLHttpRequest)
	{
		xmlhttp = new XMLHttpRequest();
	} else {// code for IE6, IE5
		//xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
		//Fahr zur Hölle!!
	}

	xmlhttp.onreadystatechange = function() {
		if (xmlhttp.readyState == 4 && xmlhttp.status == 200) {
			sharedCentral.initWithXML(xmlhttp.responseText);
			sharedCentral.viewingFunction(sharedCentral.titlesView());
		}
	}
	var url = "centralIntelligenceHelper.php";
	var params = "";
	xmlhttp.open("POST", url, true);
	xmlhttp.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
	xmlhttp.setRequestHeader("Content-length", params.length);
	xmlhttp.setRequestHeader("Connection", "close");
	xmlhttp.send(params);
}

function asString() {

	return this.titlesView();
}

function linkWithTitle(title) {

	return "<p><a href=\""+this.valueForKey(title)+"\">"+title+"</a></p>";
}

function titlesView() {

	var titlesString = "";
	var count = this.rawXML.getElementsByTagName("link").length;
	for(var beschreibung in this.links) {
	
		titlesString += this.linkWithTitle(beschreibung);
	}

	titlesString += "<p><a onclick='showGallerieDemo();'>Gallerie Demo</a></p>";

	return titlesString;
}

function showGallerieDemo() {

	var code = "<embed class='xg_slideshow' src='http://static.ning.com/socialnetworkmain/widgets/photo/slideshowplayer/slideshowplayer.swf?v=201007201730' quality='high' bgcolor='#' width=\""+ModalViewSizeBig+"\" height=\""+9*ModalViewSizeBig/16+"\" allowFullScreen='true' allowScriptAccess='always' scale='noscale' wmode='opaque' FlashVars='feed_url=http%3A%2F%2Flarper.ning.com%2Fphoto%2Fphoto%2FslideshowFeedAlbum%3Fid%3D1183176%253AAlbum%253A723722%26mtime%3D1279734411%26x%3DSeNUUlTKrqzsB6JRaducihDRqCBCfwFC&autoplay=1&hideShareLink=1&config_url=http%3A%2F%2Flarper.ning.com%2Fphoto%2Fphoto%2FshowPlayerConfig%3Fx%3DSeNUUlTKrqzsB6JRaducihDRqCBCfwFC%26xn_auth%3Dno%26feed_url%3Dhttp%253A%252F%252Flarper.ning.com%252Fphoto%252Fphoto%252FslideshowFeedAlbum%253Fid%253D1183176%25253AAlbum%25253A723722%2526mtime%253D1279734411%2526x%253DSeNUUlTKrqzsB6JRaducihDRqCBCfwFC%26version%3DDEP-5087%253A8adce74_71_34_742&slideshow_title=&fullsize_url=http%3A%2F%2Flarper.ning.com%2Fphoto%2Fphoto%2Fslideshow%3Ffeed_url%3Dhttp%253A%252F%252Flarper.ning.com%252Fphoto%252Fphoto%252FslideshowFeedAlbum%253Fid%253D1183176%25253AAlbum%25253A723722%2526mtime%253D1279734411' type='application/x-shockwave-flash' pluginspage='http://www.macromedia.com/go/getflashplayer'> </embed> <br /><small><a href='http://larper.ning.com/photo/photo'>Du kannst mehr Fotos wie diese finden auf <em>LarpeR</em>.</a></small><br />";

	view = new ModalView;
	view.setWidth(ModalViewSizeBig);
	view.titleLabel = "Tolle Bilder, wa?";
	view.detailLabel = code;
	view.presentModalView();
}

function valueForKey(key) {

	return this.links[key];
}

function viewFunction(showGroovyShit) {

	this.viewingFunction = showGroovyShit;
}
