// page init
$(function(){
	initXMLGallery();
});

// gallery init
function initXMLGallery() {
	// gallery options
	var _activeClass = 'active';
	var _autoSlide = false;
	var _switchTime = 5000;
	var _fadeSpeed = 500;

	// xml gallery init
	$('div.xml-gallery').each(function(_groupIndex){
		var _holder = $(this);
		var _xmlSource = _holder.attr('title');
		_holder.removeAttr('title');

		// ajax XML request
		_holder.empty();
		$.ajax({
			url: _xmlSource,
			dataType: ($.browser.msie) ? 'text' : 'xml',
			success: function(xmlData){
				var _galleryData;
				if (typeof xmlData == 'string') {
					_galleryData = new ActiveXObject('Microsoft.XMLDOM');
					_galleryData.async = false;
					_galleryData.loadXML(xmlData);
				} else {
					_galleryData = xmlData;
				}

				//generate gallery from XML
				$(_galleryData).find('item').each(function(){
					var _item = $(this);
					var _source = $(this).find('source').text();
					var _id = $(this).find('id').text();
					var _title = $(this).find('title').text();
					var _link = $(this).find('link').text();
					var _order = $(this).find('orderg').text();

					var img = new Image();
					img.src = _source;
					_holder.append('<a href="'+_link+'"><img src="'+_source+'"  alt="'+_title+'" /></a>');

				});

				_holder.each(function(){
					var _this = $(this);
					var _list = $('> a', _this);

					var _a = _list.index(_list.filter('.active:eq(0)'));
					if(_a == -1) _a = 0;
					_list.removeClass('active').css({'opacity': 0, display:'none'}).eq(_a).addClass('active').css('opacity', 1).css({'opacity': 'auto', display:'block'});
					var _t;
					if (_switchTime){
						_t = setTimeout(function(){
							if(_a < _list.length - 1) changeEl(_a + 1);
							else changeEl(0);
						}, _switchTime);
					}
					function changeEl(_ind){
						if(_t) clearTimeout(_t);
						if(_ind != _a){
							_list.eq(_a).removeClass('active').css({display:'block'}).animate({opacity: 0}, {queue:false, duration:_fadeSpeed, complete: function(){
								$(this).hide();
								_list.eq(_ind).addClass('active').css({opacity:0,display:'block'}).animate({opacity: 1}, {queue:false, duration:_fadeSpeed, complete: function(){
									_a = _ind;
									if (_switchTime){
										_t = setTimeout(function(){
											if(_a < _list.length - 1) changeEl(_a + 1);
											else changeEl(0);
										}, _switchTime);
									}
								}});
							}});
						}
					}
				});
			},
			error: function() {
				alert('AJAX Error!');
			}
		});
	});
}

