/*
 * LT Focus plugin (for jQuery, extends from jFlow)
 * Version: 1.0
 * @requires jQuery v1.2 or later
 * Created by Yanng (http://lutea.me)
 */
(function($) {
	$.fn.ltFocus = function(options) {
		// build main options before element iteration
		var opts = $.extend( {}, $.fn.ltFocus.defaults, options);

		return this.each(function() {
			var target = $(this);

			var pics = opts.pics.split("|");
			var links = opts.links.split("|");
			var texts = opts.texts.split("|");

			var num = pics.length;
			if (opts.pics && num > 0) {

				var node = $('<div id="LTWRAP" style="width:' + opts.width
						+ ';height:' + opts.height + '"></div>');

				// build sliades
				var slides = $('<div id="LTSLIDES"></div>');
				for ( var i = 0; i < num; i++) {
					if (pics[i] != '') {
						if (links.length > i && links[i] != '') {
							slides.append('<div><a target="_blank" href="'
									+ links[i] + '"><img style="width:' + opts.width + ';height:' + opts.height + '" src="' + pics[i]
									+ '" /></a></div>');
						} else {
							slides
									.append('<div><img style="width:' + opts.width + ';height:' + opts.height + '" src="' + pics[i] + '" /></div>');
						}
					}
				}
				node.append(slides);

				// build text links
				var tlinks = $('<div id="LTFOCUS"><table><tr></tr></table></div>');
				var tr = tlinks.find("tr");
				if (opts.prevnext) {
					tr
							.append('<td class="jFlowPrev">' + opts.prevtext + '</td>');
				}
				for ( var i = 0; i < num; i++) {
					if (pics[i] != '') {
						if (texts.length > i && texts[i] != '') {
							tr
									.append('<td class="jFlowControl">' + texts[i] + '</td>');
						} else {
							tr
									.append('<td class="jFlowControl">' + (i + 1) + '</td>');
						}
					}
				}
				if (opts.prevnext) {
					tr
							.append('<td class="jFlowNext">' + opts.nexttext + '</td>');
				}
				node.append(tlinks);

				target.empty();
				target.append(node);

				// use jFlow to control slides
				$("#LTFOCUS").jFlow( {
					slides : "#LTSLIDES",
					width : opts.width,
					height : opts.height,
					duration : 400
				});

				// auto scrolling
				if (opts.auto) {
					var int = setInterval(function(){
						var target = $(".jFlowSelected + .jFlowControl");
						if (target.size() <= 0) {
							target = $(".jFlowControl:first");
						}
						target.click();
					}, opts.delay);
				}
			}
		});
	};

	// plugin defaults settings
	$.fn.ltFocus.defaults = {
		pics : '',
		links : '',
		texts : '',
		width : '100%',
		height : '100%',
		prevnext : true,
		prevtext : '&larr;',
		nexttext : '&rarr;',
		auto : true,
		delay: 4000
	};
})(jQuery);

