(function($){  

    $.fn.Slider = function(arrImages, options) 
    { 	
    	var $this = $(this);
    	var defaults = {
			timeFadeOut:1000,
			urlpath: '/images'
			};				
		var options = $.extend(defaults, options);			
		
		var defaultTime = 3000;
		var frontImg = 0;
		var curr = 0;
		var next_img = 0;		
		var countImgLoad = 0;
		var img_loading = null;
		var pause = false;
		var time = null;
		var loading = function()
		{
			if (!img_loading)
				img_loading = $("<div id='loading'></div>").css({'position':'absolute','z-index':1000})
				.appendTo('body');
			$(img_loading).center($this);
		}
		var hide_loading = function()
		{
			if (img_loading)
			{
				$(img_loading).fadeOut();
			}
		}
		var loadImg = function()
		{
			img = document.getElementById('img0');
			if (!img.complete)
			{
				window.setTimeout(function(){loadImg();}, 200);	
			}
		else
			{
				hide_loading();				
				$("<div id='title' class='title' style='z-index:1001;position:absolute;display:none'></div>").appendTo('#frases');	
				if ($.browser.msie){
					$('#title').html(arrImages[0][1]).fadeIn(function(){
						this.style.removeAttribute('filter');																	  
					}); 
				}else{
					$('#title').html(arrImages[0][1]).fadeIn();   
				}
				if(arrImages[0][1].length == 0){
					$('#title').css('display','none');
				}
				$('#img1').css('display','');
				timeWait = (arrImages[curr].length > 2)?arrImages[curr][2]: defaultTime;
		 		time = window.setTimeout(function(){makeSlider();}, timeWait);	
			}
			
		}
		var linkUrl = function(img)
		{
			parentImg = $(img).parent();
			$(parentImg).attr('href', '#');
			if (arrImages[curr].length > 3)
				$(parentImg).attr('href', arrImages[curr][3]);
			_target = '_self';			
			if (arrImages[curr].length > 4)
				_target = arrImages[curr][4];
			$(parentImg).attr('target', _target);
		}
		var initSlider = function(){
			
			var slider = $this;
			slider.append("<a style='border:0;padding:0;margin:0' href='#'><img id='img0' style='z-index:2'/></a>");
			slider.append("<a style='border:0;padding:0;margin:0' href='#'><img id='img1' src='"+arrImages[1][0]+"' style='z-index:1'/></a>");
			linkUrl('#img0');	
			$('#img0, #img1').css({'position':'absolute', 'display':'none', 'border':0,'padding':0,'margin':0}).click(function(){			
				if ($(this).parent().attr('href')!="#") return;
				if (pause)
				{
					pause = 0;
					clearTimeout(time);
					time = window.setTimeout(function(){makeSlider();}, 500); 														
				}
				else pause = 1;
				
				});
			$('#img0').attr('src', arrImages[0][0]).fadeIn();
			loading();
			loadImg();
		}
		var updateCurrNext = function()
		{
		if (curr + 2 < arrImages.length){ next_img = curr+2;curr++;}
		 		else		 		
		 		 if (curr+1 == arrImages.length){ curr = 0; next_img = 1;}
		 		else // curr+1 == arrImages.length-1
		 		{
		 			next_img = 0;curr++;
		 		}
		}
		var makeSlider = function(){
			if (pause) return;
			backImg = (frontImg)?0:1;
			updateCurrNext();
			if ($.browser.msie){
				$('#title').html(arrImages[curr][1], function(){
					this.style.removeAttribute('filter');												  
				});   
			}else{
				$('#title').fadeOut(options.timeFadeOut, function(){
					$(this).html(arrImages[curr][1]);
					$(this).fadeIn(options.timeFadeOut);
				});
			}
			if(arrImages[curr][1].length == 0){
				$('#title').css('display','none');
			}
			
			linkUrl('#img'+backImg);			
			$('#img'+frontImg).animate({opacity:"0"}, options.timeFadeOut, function(){
		 		
	 			$(this).css('z-index','1');
		 		$('#img'+backImg).css('z-index','2');						 			 			 			 		
		
		 		$(this).attr({'src':arrImages[next_img][0]});
		 		$(this).css({'opacity':1.0});
		 		frontImg = backImg; 			
		 		timeWait = (arrImages[curr].length > 2)?arrImages[curr][2]: defaultTime;
 				time = window.setTimeout(function(){makeSlider();}, timeWait); 			 						
			});
	 		
		}
		initSlider(); 		 
 	}
})(jQuery);  

(function($){ 
	$.fn.center = function center(_target){
		
		if (!$(_target).offset() || $(_target).offset() == 'undefined') return;
		leftTarget = $(_target).offset().left;
		topTarget  = $(_target).offset().top;		
		widthTarget = $(_target).get(0).offsetWidth;
		heightTarget = $(_target).get(0).offsetHeight;
		widthElem = $(this).get(0).offsetWidth;
		HeightElem = $(this).get(0).offsetHeight;
	
		centerLeft = (leftTarget+widthTarget/2)-widthElem/2;
		centerTop = (topTarget+heightTarget/2)-HeightElem/2;
		$(this).css({left:centerLeft, top:centerTop});
	}
})(jQuery); 