(function(){
	jQuery.fn.jqContentSlider = function(configs){
		var autoRun, currentSlide, childs, totChilds, owner;
		
		//Configurações por defeito
		configs = jQuery.extend({
			animSpeed : 800,
			prev : '',
			next : '',
			autoSlide : false,
			autoSlideInterval : 1000,
			autoSlideElement : '',
			autoSlideDirection : 'next',
			slideNavigation : false,
			slideNavigationElement : '',
			setNavigationElementWidth : true,
			stopAutoSlideWhenClick : false,
			startSlide : 1,
			msiedetection : true
		}, configs);
		
		return this.each(function(){
			owner = jQuery(this).parent();
			
			childs = jQuery(this).children().hide();
			jQuery(childs[configs.startSlide - 1]).show();
			jQuery('.txtimage p', owner).empty().text(jQuery(childs[configs.startSlide - 1]).attr('textImage'));
			jQuery('.titulo', owner).empty().text(jQuery(childs[configs.startSlide - 1]).attr('tituloimage'));
			jQuery('.stitulo', owner).empty().text(jQuery(childs[configs.startSlide - 1]).attr('stituloimage'));
			
		  var video = jQuery(childs[configs.startSlide - 1]).attr('video');
      
       
			//jQuery('.titulo', owner).click(function(){ alert("OK" + (configs.startSlide - 1) );});
     
      
      if(video!=null){
        
        /*jQuery('.video', owner).empty();
  			var so = new SWFObject('flash/player.swf', 'Fisuel', '290', '180', '9', '#FFFFFF'); 
        so.addParam("scale", "noScale"); 
        so.addParam("wmode", "transparent"); 
        so.addVariable("link",slocation + "/flash/" + video);
        so.write("video"); */
      }
			
			
			currentSlide = configs.startSlide;
			
			totChilds = childs.length;
			
			//Configurar o evento click para o elemento que retrocede o slide
			if(configs.prev != ''){
				jQuery('.' + configs.prev, owner).live('click', function(){
					if(configs.autoSlide){
						clearInterval(autoRun);
					}

					prevSlide();
				
					if(configs.autoSlide && !configs.stopAutoSlideWhenClick){
						AutoSlide();
					}
				});
			};
			
			//Configurar o evento click para o elemento que avança o slide
			if(configs.next != ''){
				jQuery('.' + configs.next, owner).live('click', function(){
					if(configs.autoSlide){
						clearInterval(autoRun);
					}
					
					nextSlide();

					if(configs.autoSlide && (!configs.stopAutoSlideWhenClick)){
						AutoSlide();
					}
				});
			};
			
			//Configurar o autoslide
			if(configs.autoSlide){
				AutoSlide();
			};
			
			//Configurar o elemento de autoslide
			if(configs.autoSlideElement != ''){
				var i=-1;
				jQuery('.' + configs.autoSlideElement).hover(function(){
					++i;
					//Efectuar logo uma mudança
					if(i == 0){
						if(configs.autoSlideDirection == 'prev'){
							prevSlide();
						}
						else if(configs.autoSlideDirection == 'next'){
							nextSlide();
						}
					}
					
					AutoSlide();
				}, function(){
					i=-1;
					clearInterval(autoRun);
				});
			};
			
			if(configs.slideNavigation && configs.slideNavigationElement !=''){
				jQuery(configs.slideNavigationElement).append(jQuery('<li></li>').html(jQuery('<a class="prevhome" href="#"></a>').click(function(){
					if(configs.autoSlide){
						clearInterval(autoRun);
					}

					prevSlide();
					
					if(configs.autoSlide && !configs.stopAutoSlideWhenClick){
						AutoSlide();
					}
					
					return false;
				})));
				
				
				//Criar elementos da paginação
				childs.each(function(i){
					var elemClass;
					
					if(i == (configs.startSlide - 1)){
						elemClass = 'sel';
					}
					else{
						elemClass = 'unsel';
					}
					
					jQuery(configs.slideNavigationElement).append(jQuery('<li></li>').html('<a class="' + elemClass + '"href="#" rel="' + i + '"></a>'));
				});
				
				jQuery(configs.slideNavigationElement).append(jQuery('<li></li>').html(jQuery('<a class="nexthome" href="#"></a>').click(function(){
					if(configs.autoSlide){
						clearInterval(autoRun);
					}

					nextSlide();
					
					if(configs.autoSlide && !configs.stopAutoSlideWhenClick){
						AutoSlide();
					}
					
					return false;
				})));
				
				//Adicionar evento aos elementos previamente criados
				jQuery(configs.slideNavigationElement + ' li a.unsel').live('click', function(){
					clearInterval(autoRun);
					
					var that = jQuery(this);
					
					if(configs.msiedetection && jQuery.browser.msie){
						jQuery(childs[currentSlide - 1]).hide();
					}
					else{
						jQuery(childs[currentSlide - 1]).fadeOut('fast', 'linear');
					}
					
					jQuery(configs.slideNavigationElement + ' li a.sel').attr('class', 'unsel');
					
					currentSlide = parseInt(that.attr('rel'), 10) + 1;
					
					
					
					if(configs.msiedetection && jQuery.browser.msie){
						jQuery(childs[currentSlide - 1]).show();
					}
					else{
						jQuery(childs[currentSlide - 1]).fadeIn(configs.animSpeed, 'linear');
					}
					
					jQuery('.txtimage p', owner).empty().text(jQuery(childs[currentSlide - 1]).attr('textImage'));
					jQuery('.titulo', owner).empty().text(jQuery(childs[currentSlide - 1]).attr('tituloimage'));
					jQuery('.stitulo', owner).empty().text(jQuery(childs[currentSlide - 1]).attr('stituloimage'));
					
					
				  var link = jQuery(childs[currentSlide - 1]).attr('link');
				  
				  jQuery('.titulo').unbind('click');
          jQuery('.stitulo').unbind('click');
				  
				  if(link!='' ){
				     jQuery('.titulo', owner).click(function(){ window.location = link;  });
					   jQuery('.titulo', owner).css('cursor','pointer');
					   jQuery('.stitulo', owner).click(function(){ window.location = link; });
					   jQuery('.stitulo', owner).css('cursor','pointer');
					}else {
					  
					   jQuery('.titulo', owner).click(function(){ return false; });
					   jQuery('.titulo', owner).css('cursor','default');
					   jQuery('.stitulo', owner).click(function(){ return false; });
					   jQuery('.stitulo', owner).css('cursor','default'); 
          }
					
					var video = jQuery(childs[currentSlide - 1]).attr('video');
          //alert(video);
          if(video!=null){
            /*jQuery('.video', owner).empty();
      			var so = new SWFObject('flash/player.swf', 'Fisuel', '290', '180', '9', '#FFFFFF'); 
            so.addParam("scale", "noScale"); 
            so.addParam("wmode", "transparent"); 
            so.addVariable("link",slocation + "/flash/" + video);
            so.write("video"); */
          }
					
					that.attr('class', 'sel');
					
					var toLeft;
					if(owner.is('.smallslide')){
						toLeft = Math.abs(Math.abs((jQuery('.ulpagination > li:has(a.sel)').offset().left - owner.offset().left)) - (jQuery('.bgselslide').width() / 2)) + 5;
						//jQuery('.bgselslide', owner).animate({'left' : (($(this).parent().offset().left - $(this).parents('ul').offset().left) - 7)});
					}
					else{
						var leftMinus;
						if(jQuery.browser.ff)
						{
							leftMinus = 118;
						}
						else
						{
							leftMinus = 117;
						}
						
						toLeft = Math.abs(Math.abs((jQuery('.ulpaginationbig > li:has(a.sel)').offset().left - owner.offset().left)) - (jQuery('.bgselslide').width() / 2)) - leftMinus;
						//jQuery('.bgselslide', owner).animate({'left' : (($(this).parent().offset().left - $(this).parents('ul').offset().left) + 41)});
					}
					
					jQuery('.bgselslide', owner).animate({'left' : toLeft }, 200);
					
					//Configurar o autoslide
					if(configs.autoSlide && !configs.stopAutoSlideWhenClick){
						AutoSlide();
					}
					
					return false;
				});
				
				//Calcular width do elemento
				if(configs.setNavigationElementWidth){
					var ulChilds = jQuery(configs.slideNavigationElement).children().length;
					//var childWidth = jQuery(configs.slideNavigationElement + ' li').outerWidth(true);
					
					function GetULWidth(childs){
						var result = 0;
						
						childs.each(function(i){
							result += jQuery(this).outerWidth(true);
						});
						
						return result;
					}
					
					jQuery(configs.slideNavigationElement).width(GetULWidth(jQuery(configs.slideNavigationElement).children()));
					
					var toLeft;
					if(owner.is('.smallslide')){
						toLeft = Math.abs(Math.abs((jQuery('.ulpagination > li:has(a.sel)').offset().left - owner.offset().left)) - (jQuery('.bgselslide').width() / 2)) + 5;
						//jQuery('.bgselslide', owner).animate({'left' : (($(this).parent().offset().left - $(this).parents('ul').offset().left) - 7)});
					}
					else{
						var leftMinus;
						if(jQuery.browser.ff)
						{
							leftMinus = 118;
						}
						else
						{
							leftMinus = 117;
						}
						
						toLeft = Math.abs(Math.abs((jQuery('.ulpaginationbig > li:has(a.sel)').offset().left - owner.offset().left)) - (jQuery('.bgselslide').width() / 2)) - leftMinus;
						//jQuery('.bgselslide', owner).animate({'left' : (($(this).parent().offset().left - $(this).parents('ul').offset().left) + 41)});
					}
					jQuery('.bgselslide', owner).animate({'left' : toLeft }, 200);
				}
			};
			
			//Função para retroceder
			function prevSlide(){
				if(currentSlide == 1){
					currentSlide = totChilds;
					
					if(configs.msiedetection && jQuery.browser.msie){
						jQuery(childs[0]).hide();
						jQuery(childs[currentSlide - 1]).show();
					}
					else{
						jQuery(childs[0]).fadeOut('fast', 'linear');
						jQuery(childs[currentSlide - 1]).fadeIn(configs.animSpeed, 'linear');
					}
					
					jQuery('.txtimage p', owner).empty().text(jQuery(childs[currentSlide - 1]).attr('textImage'));
					jQuery('.titulo', owner).empty().text(jQuery(childs[currentSlide - 1]).attr('tituloimage'));
					jQuery('.stitulo', owner).empty().text(jQuery(childs[currentSlide - 1]).attr('stituloimage'));
					//jQuery('.bgselslide', owner).animate({'left' : (21 * (childs.length - 1) + parseInt(jQuery('.bgselslide', owner).attr('firstLeftValue')))}, 100);
					
					var link = jQuery(childs[currentSlide - 1]).attr('link');
				  
				  jQuery('.titulo').unbind('click');
          jQuery('.stitulo').unbind('click');
					
					if(link!='' ){
				     jQuery('.titulo', owner).click(function(){ window.location = link;  });
					   jQuery('.titulo', owner).css('cursor','pointer');
					   jQuery('.stitulo', owner).click(function(){ window.location = link; });
					   jQuery('.stitulo', owner).css('cursor','pointer');
					}else {
					  
					   jQuery('.titulo', owner).click(function(){ return false; });
					   jQuery('.titulo', owner).css('cursor','default');
					   jQuery('.stitulo', owner).click(function(){ return false; });
					   jQuery('.stitulo', owner).css('cursor','default'); 
          }
					
					var video = jQuery(childs[currentSlide - 1]).attr('video');
					  //alert(video);
					  if(video!=null){
  						/*jQuery('.video', owner).empty();
  							var so = new SWFObject('flash/player.swf', 'Fisuel', '290', '180', '9', '#FFFFFF'); 
  						so.addParam("scale", "noScale"); 
  						so.addParam("wmode", "transparent"); 
  						so.addVariable("link",slocation + "/flash/" + video);
  						so.write("video"); */
					  }
								
					//Seleccionar elemento de navegação
					if(configs.slideNavigation && configs.slideNavigationElement !=''){
						SlideNavigationCurrent(currentSlide - 1);
					}
				}
				else{
					if(configs.msiedetection && jQuery.browser.msie){
						jQuery(childs[currentSlide - 1]).hide();
						jQuery(childs[currentSlide - 2]).show();
					}
					else{
						jQuery(childs[currentSlide - 1]).fadeOut('fast', 'linear');
						jQuery(childs[currentSlide - 2]).fadeIn(configs.animSpeed, 'linear');
					}
					
					jQuery('.txtimage p', owner).empty().text(jQuery(childs[currentSlide - 2]).attr('textImage'));
					jQuery('.titulo', owner).empty().text(jQuery(childs[currentSlide - 2]).attr('tituloimage'));
					jQuery('.stitulo', owner).empty().text(jQuery(childs[currentSlide - 2]).attr('stituloimage'));
						//jQuery('.bgselslide', owner).animate({'left' : '-=21'}, 100);
						
					var link = jQuery(childs[currentSlide - 2]).attr('link');
					
					jQuery('.titulo').unbind('click');
          jQuery('.stitulo').unbind('click');
					
					if(link!='' ){
				     jQuery('.titulo', owner).click(function(){ window.location = link;  });
					   jQuery('.titulo', owner).css('cursor','pointer');
					   jQuery('.stitulo', owner).click(function(){ window.location = link; });
					   jQuery('.stitulo', owner).css('cursor','pointer');
					}else {
					  
					   jQuery('.titulo', owner).click(function(){ return false; });
					   jQuery('.titulo', owner).css('cursor','default');
					   jQuery('.stitulo', owner).click(function(){ return false; });
					   jQuery('.stitulo', owner).css('cursor','default'); 
          }
          
					  var video = jQuery(childs[currentSlide - 2]).attr('video');
					  //alert(video);
					  if(video!=null){
    						/*jQuery('.video', owner).empty();
    						var so = new SWFObject('flash/player.swf', 'Fisuel', '290', '180', '9', '#FFFFFF'); 
    						so.addParam("scale", "noScale"); 
    						so.addParam("wmode", "transparent"); 
    						so.addVariable("link",slocation + "/flash/" + video);
    						so.write("video");*/
					  }
          
					//Seleccionar elemento de navegação
					if(configs.slideNavigation && configs.slideNavigationElement !=''){
						SlideNavigationCurrent(currentSlide - 2);
					}

					currentSlide--;
				}
			};
			
			//Função para avançar
			function nextSlide(){
		
				if(currentSlide == totChilds){
					currentSlide = 1;
					
					if(configs.msiedetection && jQuery.browser.msie){
						jQuery(childs[totChilds - 1]).hide();
						jQuery(childs[currentSlide - 1]).show();
					}
					else{
						jQuery(childs[totChilds - 1]).fadeOut('fast', 'linear');
						jQuery(childs[currentSlide - 1]).fadeIn(configs.animSpeed, 'linear');
					}
					
					
					
					jQuery('.txtimage p', owner).empty().text(jQuery(childs[currentSlide - 1]).attr('textImage'));
					jQuery('.titulo', owner).empty().text(jQuery(childs[currentSlide - 1]).attr('tituloimage'));
					jQuery('.stitulo', owner).empty().text(jQuery(childs[currentSlide - 1]).attr('stituloimage'));
					
					var link = jQuery(childs[currentSlide - 1]).attr('link');
			   
			   	jQuery('.titulo').unbind('click');
          jQuery('.stitulo').unbind('click');
			   
			   if(link!='' ){
				     jQuery('.titulo', owner).click(function(){ window.location = link;  });
					   jQuery('.titulo', owner).css('cursor','pointer');
					   jQuery('.stitulo', owner).click(function(){ window.location = link; });
					   jQuery('.stitulo', owner).css('cursor','pointer');
					}else {
					  
					   jQuery('.titulo', owner).click(function(){ return false; });
					   jQuery('.titulo', owner).css('cursor','default');
					   jQuery('.stitulo', owner).click(function(){ return false; });
					   jQuery('.stitulo', owner).css('cursor','default'); 
          }
					
				//	alert( jQuery(childs[currentSlide - 1]).attr('onclick') )
					//jQuery('.bgselslide', owner).animate({'left' : jQuery('.bgselslide', owner).attr('firstLeftValue')}, 100);
					
					  //alert(video);
					  if(video!=null){
  						/*jQuery('.video', owner).empty();
  						var so = new SWFObject('flash/player.swf', 'Fisuel', '290', '180', '9', '#FFFFFF'); 
  						so.addParam("scale", "noScale"); 
  						so.addParam("wmode", "transparent"); 
  						so.addVariable("link",slocation + "/flash/" + video);
  						so.write("video");*/ 
					  }
					
					//Seleccionar elemento de navegação
					if(configs.slideNavigation && configs.slideNavigationElement !=''){
						SlideNavigationCurrent(currentSlide - 1);
					}
					
				}
				else{
				
					if(configs.msiedetection && jQuery.browser.msie){
						jQuery(childs[currentSlide - 1]).hide();
						jQuery(childs[currentSlide]).show();
					}
					else{
						jQuery(childs[currentSlide - 1]).fadeOut('fast', 'linear');
						jQuery(childs[currentSlide]).fadeIn(configs.animSpeed, 'linear');
					}
				  
					jQuery('.txtimage p', owner).empty().text(jQuery(childs[currentSlide]).attr('textImage'));
					jQuery('.titulo', owner).empty().text(jQuery(childs[currentSlide]).attr('tituloimage'));
					jQuery('.stitulo', owner).empty().text(jQuery(childs[currentSlide]).attr('stituloimage'));
						
            
					
					jQuery('.titulo').unbind('click');
          jQuery('.stitulo').unbind('click');
				  
					var link = jQuery(childs[currentSlide]).attr('link');
				  if(link!='' ){
				    
					   jQuery('.titulo', owner).click(function(){ window.location = link;  });
					   jQuery('.titulo', owner).css('cursor','pointer');
					   jQuery('.stitulo', owner).click(function(){ window.location = link; });
					   jQuery('.stitulo', owner).css('cursor','pointer');
					}else {
					  
					   jQuery('.titulo', owner).click(function(){ return false; });
					   jQuery('.titulo', owner).css('cursor','default');
					   jQuery('.stitulo', owner).click(function(){ return false; });
					   jQuery('.stitulo', owner).css('cursor','default'); 
          }
					
					
				  
       
          
           
					var video = jQuery(childs[currentSlide]).attr('video');
					
				  //alert(video);
				  if(video!=null){
					jQuery('.video', owner).empty();
						/*
            var so = new SWFObject('flash/player.swf', 'Fisuel', '290', '180', '9', '#FFFFFF'); 
  					so.addParam("scale", "noScale"); 
  					so.addParam("wmode", "transparent"); 
  					so.addVariable("link",slocation + "/flash/" + video);
  					so.write("video");
            */
				  }
					
					//Seleccionar elemento de navegação
					if(configs.slideNavigation && configs.slideNavigationElement !=''){
						SlideNavigationCurrent(currentSlide);
					}
					
					currentSlide++;
						
				}
			};
			
			//Função de autoslide
			function AutoSlide(){
				if(configs.autoSlideDirection == 'prev'){
					autoRun = setInterval(function (){prevSlide()}, configs.autoSlideInterval);
				}
				else if(configs.autoSlideDirection == 'next'){
					autoRun = setInterval(function (){nextSlide()}, configs.autoSlideInterval);
				}
			};
			
			function SlideNavigationCurrent(toCompare){
				jQuery(configs.slideNavigationElement + ' li a.sel', owner).attr('class', 'unsel');
				
				jQuery(configs.slideNavigationElement + ' li a', owner).filter(function(i){
					return (parseInt(jQuery(this).attr('rel'), 10) == (toCompare)) ? true : false;
				}).attr('class', 'sel');
				
				var toLeft;
				if(owner.is('.smallslide')){
					toLeft = Math.abs(Math.abs((jQuery('.ulpagination > li:has(a.sel)').offset().left - owner.offset().left)) - (jQuery('.bgselslide').width() / 2)) + 5;
					//jQuery('.bgselslide', owner).animate({'left' : (($(this).parent().offset().left - $(this).parents('ul').offset().left) - 7)});
				}
				else{
					var leftMinus;
					if(jQuery.browser.ff)
					{
						leftMinus = 118;
					}
					else
					{
						leftMinus = 117;
					}
						
					toLeft = Math.abs(Math.abs((jQuery('.ulpaginationbig > li:has(a.sel)').offset().left - owner.offset().left)) - (jQuery('.bgselslide').width() / 2)) - leftMinus;
					//jQuery('.bgselslide', owner).animate({'left' : (($(this).parent().offset().left - $(this).parents('ul').offset().left) + 41)});
				}
				jQuery('.bgselslide', owner).animate({'left' : toLeft }, 200);
			};
		});
	};
})(jQuery);

