function gDebug(strMsg) {
	if (window.console){console.log(strMsg);}
}

function positionImage($img) {
	if ($img.height() > 0 && $img.width() > 0) {
		$img.css("top",($img.parent().height()-$img.height())/2+"px").css('position','absolute');
		$img.css("left",($img.parent().width()-$img.width())/2+"px").css('position','absolute');
	}
}

(function($) {
    $.fn.extend({
        homeLogos: function(options) {
			var defaults = {
				delay:4000,
				transition:500,
				displayNumber: 3
			};
			var opts = $.extend(defaults, options);
			return this.each(function() {
				
				var $this = $(this);
				var list=null;
				var list=$this.children("ul:first");
				var arrImages = list.find("img");
				var arrImagesC = list.clone(false).find("img");
				var timer = null;
				if($.browser.safari) {
					$(window).bind('load',function() {
						logoSetup();
					});
				} else {
					logoSetup();
				}
				
				$("#"+$this.attr("id")+" img").load(function() {
					positionImage($(this));
				});
				
				function logoSetup() {
					intLastTemp = opts.displayNumber;
					if(intLastTemp < arrImages.size()-1) {
						intLastTemp = intLastTemp + 1;
					} else {
						intLastTemp = 0;
					}
					$this.data("settings",{
						lastItem:arrImages.size()-1,
						nextItem:intLastTemp
					});
					if($this.data("settings").lastItem>-1) {
						list.children('li:gt('+(opts.displayNumber-1)+')').hide();
						startAuto();
					} else {
						return;
					}
				}
				
				function generateImages() {
					intNextItem = $this.data("settings").nextItem;
					var arrImages = new Array();
					for (intItemCount = 0;intItemCount<=opts.displayNumber-1;intItemCount++) {
						intNextItemTmp = intNextItem + intItemCount;
						
						if (intNextItemTmp > $this.data("settings").lastItem) {
							intNextItemTmp = (intNextItemTmp - $this.data("settings").lastItem) - 1;
						}
						arrImages[intItemCount] = intNextItemTmp;						
					}
					logoAnimate(arrImages,0);
					$this.data("settings").nextItem = $this.data("settings").nextItem+1;
					if($this.data("settings").nextItem > $this.data("settings").lastItem) {
						$this.data("settings").nextItem = 0;
					}
				}
				
				function logoAnimate(arrImages,intCurrImg) {
					list.children("li:eq("+intCurrImg+")").children("img").fadeOut(
						opts.transition, 
						function(){
							list.children("li:eq("+intCurrImg+")").children("img").attr("src",$(arrImagesC[arrImages[intCurrImg]]).attr("src"));
							list.children("li:eq("+intCurrImg+")").children("img").fadeIn(opts.transition,function(){
								intCurrImg += 1; 
								if (intCurrImg <= opts.displayNumber) {
									logoAnimate(arrImages,intCurrImg);
								}
							});
						}
					);
				}
				
				function startAuto() {
					if(timer!==null) {
						return;
					}
					$this.data("settings").nextItem = $this.data("settings").nextItem+1;
					timer=setInterval(function() {
						generateImages();
					},opts.delay);
				}
		
			});
        }
    });
})(jQuery);

