	
	/**
	 * jquery.headliners.js 
	 * Adds a headlines widget to any div and reads from XML
	 * Developer: matt@matthewdunham.com
	 * Date Created: 03/04/2010
	 */

	(function($){
	
		$.fn.extend({ 
			
			headliner: function(options) {
				
				var defaults = {
					xmlFile: 'feeds/headliners',
					interval: 6000
				};
				
				var options = jQuery.extend(defaults, options);
				var obj = $(this);
				var images = $('<div>').attr('class','img_parent').appendTo(obj);
				var caption_box = $('<div>').attr('class','caption_box').appendTo(obj);
				var ul = $('<ul>').appendTo(caption_box);
				var caption = $('<div>').attr('class','caption').appendTo(caption_box);
				var current_ind = 0, int;
				var loop = function(c,t) {
					var current = ul.find('.current'), next_img, ind = current_ind;
					var func = function() { 
						next_img.fadeIn(1500); 
						caption.find('h1').text(next_img.attr('cat'));
						caption.find('span').text(next_img.attr('title'));
						caption.find('span a').attr('href',next_img.attr('link'));
						$('<a>').attr('href',next_img.attr('link')).attr('target','_blank').text('Read More').appendTo(caption.find('span'));
					}
					if (t=='click') {
						current.removeClass('current');
						ul.find('a:eq('+c+')').addClass('current');
						current_ind = (c);
						next_img = images.find('img:eq('+(c)+')');
						images.find('img:eq('+ind+')').fadeOut(1500);
						func();
						clearInterval(int);
						return false;
					}
					if ((ind+1)==ul.find('li').length) {
						current.removeClass('current');
						ul.find('a:first').addClass('current');
						next_img = images.find('img:first');
						current_ind = 0;
						images.find('img:eq('+ind+')').fadeOut(1500);
						func();
					} else {
						current.removeClass('current');
						ul.find('a:eq('+(ind+1)+')').addClass('current');
						current_ind = (ind+1);
						next_img = images.find('img:eq('+(ind+1)+')');
						images.find('img:eq('+ind+')').fadeOut(1500);
						func();
					}
				}
				
				$.ajax({
					type: "GET",
					url: options.xmlFile,
					dataType: "json",
					success: function(json) {
						if (json.length===0) {
							obj.remove();
						}
						$.each(json,function(index){
											 
							var hline = this;
							
							if (index>0) {
								$('<a>').attr('href',hline.image).attr('target','_blank').appendTo($('<li>').appendTo(ul));
								$('<img>').attr('src',hline.image).attr('link',hline.link).attr('cat',hline.type).attr('title',hline.caption+' ').css('display','none').appendTo(images);
							} else {
								$('<a>').addClass('current').attr('target','_blank').attr('href',hline.image).appendTo($('<li>').appendTo(ul));
								$('<img>').attr('src',hline.image).attr('link',hline.link).attr('cat',hline.type).attr('title',hline.caption+' ').appendTo(images);
								$('<h1>').html(hline.type).appendTo(caption);
								$('<a>').attr('href',hline.link).attr('target','_blank').text('Read More').appendTo($('<span>').html(hline.caption+' ').appendTo(caption));
							}
						});
						ul.find('a').click(function(e){
							e.preventDefault();
							var index = ul.find('li').index($(this).parent());
							loop(index,'click');
						});
						images.find('img').click(function(){window.location=$(this).attr('link')});
						if (images.find('img').length>1) int = setInterval(loop, options.interval);
					}
				});
			}
		});
		
	})(jQuery);
