(function(){

		// cria a função de inicio do plugin.
		$.fn.jwytube = function(settings){

			var jwYTube = this;
			settings = jQuery.extend({
				user	: "josewilker",
				url		: "http://gdata.youtube.com/feeds/api/users/",
				idDOM	: "jwVideos",
				showtitle : true,
				feed	: false,
				stilo	: true,
				json	: true,
				maxvideos	:	"4",
				hoverColor	:	"#FFFFD4",
				normalColor	:	"#F2F2F2",
				borderColor	:	"#696969",
				jwPlayer	:	false,
				playerShow	:	'jwPlayer',
				urlPath		:	'http://www.ricardoxavier.com.br/sdk/js/',
				imgsrc		: 	'http://www.ricardoxavier.com.br/sdk/imgs/play.png',
				pathshow	:	'http://www.ricardoxavier.com.br/index.php?acao=videos&subacao=visualizar&id_video='
				
			},settings);
			
			return jwYTube.each(function(){
				
				// define a url de pra onde deve ser buscado os videos
				wUrl = settings.url + settings.user + "/uploads/?alt=json-in-script&callback=?";
				
				// cria a camada aonde irão aparecer os feeds do youtube.
				$("#" + settings.idDOM).html("<div id='" + settings.idDOM + "_showfeeds'></div>");
				
				// pega as propriedades da tag de visualização de feeds
				objContainerFeeds = document.getElementById(settings.idDOM);
				objContainerJquery = $("#" + settings.idDOM);
				
				// aqui pega o conteudo do arquivo do JSON.
				$.getJSON(wUrl, function(json){
					feed = json.feed.entry;
					if (settings.maxvideos != false) {
						if (feed.length > settings.maxvideos) { 
							qntdResults = settings.maxvideos; 
						} else {
							qntdResults = feed.length;
						}	
					} else {
						qntdResults = feed.length;
					}
					
					// faço o loop do json.
					for(i=0; i < qntdResults; i++) {
						fd = feed[i];
						
						// seto o css da imagem do play
						cssObjectPlay = {
							'position'	:	'absolute',
							'border'	:	'none',
							'margin-left'	:	'40px',
							'margin-top'	:	'20px'
						}
						
						// defino as variaveis de inserção de imagem thumbnail, titulo, imagem play.
						var img = $('<img width="110" height="70" />').attr('src', fd.media$group.media$thumbnail[0].url);
						var imgButton = $("<img src='" + settings.imgsrc + "' width='36px' height='32px'/>").css(cssObjectPlay);
						var title = "<br>" + unescape(fd.title.$t) + "<br>";
						var url = fd.link[0].href;
						var videoid = fd.media$group.media;
						
						// se o player estiver ativo
						if (settings.jwPlayer == true) {
							$('<a id="feedVideo'+ i +'" target="_blank" />').attr('href', url).append(imgButton).append(img).prependTo('#'+settings.idDOM);
						} else {
							// o player não estiver ativo e o path dele for diferente de false.	
							if (settings.pathshow != "") {
								var newurl = settings.pathshow + url;
								$('<a id="feedVideo'+ i +'"/>').attr('href', newurl).append(imgButton).append(img).prependTo('#' + settings.idDOM);		
							} else {
								$('<a id="feedVideo'+ i +'" target="_blank" />').attr('href', url).append(imgButton).append(img).prependTo('#' + settings.idDOM);
							}
							
						}
						
						img = "";
						imgButton = "";
						
						if (settings.showtitle == true) {
							$("#feedVideo" + i).html($("#feedVideo" + i).html() + title);	
						}
						
					}
					
					// configurações de efeito
					$("#" + settings.idDOM  + " a").css({opacity:0.5});
					
					// configurações para quando o mouse passar por cima da area do vídeo.
					$("#" + settings.idDOM  + " a").mouseover(function(){
						$(this).animate({opacity: 1.0}, {queue: false, duration: 400});
					}).mouseout(function(){
						$(this).animate({opacity:0.5},{queue: false, duration: 400});
					});
									
					// propriedade para adicionar a tela do video na página.
					if (settings.jwPlayer == true) {
						$("#" + settings.idDOM + " a").click(function(){
							$("#" + settings.playerShow).show();
							wUrl = settings.urlPath + "player.php?idvideo=" + this.href;
							$.get(wUrl,function(data){ 
								$("#" + settings.playerShow).html(data); 
							});
							return false;
						});	
					}
				});
			});
		}
	})(jQuery);