var editions_diapo2 = function() {

	var _pub = {}

	var _first=function(p,t) { var l=p.getElementsByTagName(t);if(l){return l[0];}else{return null;}};

	var _setClick = function(div, className) {
		var link = YAHOO.util.Dom.getElementsByClassName(className, 'a', div)[0];
		YAHOO.util.Event.addListener(link, 'click', _click);
	};
	var _setLink = function(xml, tag, target) {
		var link = xml.getElementsByTagName(tag)[0];
		target.href = link.getElementsByTagName('href')[0].firstChild.nodeValue;
	};
	var _click = function(e) {
		_makeRequest(this.href);
		YAHOO.util.Event.stopEvent(e);
	};
	var _makeRequest = function (href) {
		YAHOO.util.Connect.asyncRequest('GET', href.replace('.html', '.xml'), _pub.AjaxClickCallback, null);
	}


	_pub.ajaxSuccess = function(o) {


		if(o.argument == 'init') {

			var div = document.getElementById('editions_diapo2');

			var style = document.createElement('link');
			style.setAttribute('rel', 'stylesheet');
			style.setAttribute('type', 'text/css');
			style.setAttribute('href', 'editions/diapo2/style.css');
			_first(document,'head').appendChild(style);

			var newDiv = document.createElement(div.tagName);
			newDiv.innerHTML = o.responseText.replace(/^\s+/,"");
			var replace = newDiv.firstChild;
			replace.className = div.className;
			div.parentNode.replaceChild(replace, div);

			_setClick(replace, 'prev');
			_setClick(replace, 'next');

			YAHOO.util.Event.addListener(
				YAHOO.util.Dom.getElementsByClassName('thList', 'ul', replace)[0].getElementsByTagName('a'), 'click', _click);

			YAHOO.util.Dom.addClass(replace, 'ajax');

		} else {

			var div = document.getElementById('editions_diapo2');

			var xml = o.responseXML;
			_setLink(xml, 'prev', YAHOO.util.Dom.getElementsByClassName('prev', 'a', div)[0]);
			_setLink(xml, 'next', YAHOO.util.Dom.getElementsByClassName('next', 'a', div)[0]);

			var targetTitle = _first(div,'h2');
			var title = _first(xml,'title').firstChild.nodeValue;
			targetTitle.innerHTML = title;

			var targetImage = YAHOO.util.Dom.getElementsByClassName('image', 'img', div)[0];
			targetImage.src = xml.getElementsByTagName('image')[0].firstChild.nodeValue;
			targetImage.alt = title;

			var targetDesc = YAHOO.util.Dom.getElementsByClassName('description', 'p', div);
			if(targetDesc) {
				var desc = _first(xml,'desc');;
				if(desc && desc.childNodes.length > 0) {
					targetDesc[0].innerHTML = desc.firstChild.nodeValue;
				} else {
					targetDesc[0].innerHTML = '';
				}
			}
		}
	};
	_pub.ajaxFailure = function(o) {
	};


	_pub.AjaxInitCallback = {
		success: _pub.ajaxSuccess,
		failure: _pub.ajaxFailure,
		argument: 'init'
	};
	_pub.AjaxClickCallback = {
		success: _pub.ajaxSuccess,
		failure: _pub.ajaxFailure,
		argument: 'click'
	};


	_pub.init = function() {

		var div = document.getElementById('editions_diapo2');
			div.style.width	 = '450px';
			div.style.height = '300px';
			div.style.position = 'relative';

		var loading = document.createElement('div');
			loading.style.background = 'url(/_images/1.0/ajax-loader.gif) no-repeat center center';
			loading.style.width	 = '450px';
			loading.style.height = '300px';
			loading.style.position = 'absolute';
			loading.style.top = '0';
			loading.style.left = '0';
			div.appendChild(loading);

		YAHOO.util.Connect.asyncRequest('GET', 'http://edition2007.goreediasporafestival.org/editions/diapo2/IMG_7756.jpg.xhtml?fragment', _pub.AjaxInitCallback, null);

	};


	return _pub;
}();


YAHOO.util.Event.onAvailable('editions_diapo2', editions_diapo2.init,
	editions_diapo2);



