(function(){
  
  $j('#search-videos-input').show();
  
  $j('#search-videos').each(function() {

   	var module = $j(this);

		var artistRedirect = false;
		var extraParameters = {};
		var height;												 
		var maxResults;

		if (module.hasClass('artist-redirect')) {
			artistRedirect = true;
			maxResults = 9;
			height = 260;
			extraParameters['goTo'] = 'listPg';
		}
		else {
			maxResults = 20;
			height = 520;
		}

		module.find('#acInput').result(function(event, name, value) {
			module.find("#artistVideosAC").
    	html('<p style="padding-left: 12px;"><img src=\"/sitewide/apps/type_ahead/images/loading.gif\"\/><\/p>').
    	css("display", "block");

			var url;
			if(module.find("#artistVideosAC").parents("#sidebar").length) {
				url = "/sitewide/apps/type_ahead/includes/videos_sidebar.jhtml?artistId=" + value;
			}
			else {
				url = '/sitewide/apps/type_ahead/includes/videos.jhtml?artist=' + value;
			}

			if (artistRedirect) {
				document.location.href = value;
			}
			else {
				$j.get(url, function(data) {
					module.find('#artistVideosAC').html(data);
				});	
			}

		});

		var width = parseInt(module.find('#acInput').parent().outerWidth()) - 20;

		module.find('#acInput').autocomplete('/sitewide/apps/type_ahead/typeahead.jhtml', {
				width: width,
				offsetTop: -2,
/*        beforeSend: function() { module.find('.inputLoader').show(); },*/
/*        complete: function() { module.find('.inputLoader').hide(); },*/
				offsetLeft: -(parseInt(module.find('#acInput').css('margin-left')) - 1),
				resultsClass: 'videoSearchResults ac_results',
        minChars: 1,
        scrollHeight: height,
        dataType: 'json',
				max: maxResults,
				//delay: 1,
        matchSubset: false,
        selectFirst: false,
				extraParams : extraParameters,
        formatItem: function(item) {
          return item;
        },
        parse: function(data) {
					var results = [];
					try {
						results = data.ResultSet.Result
					}
					catch(e) {}

          var parsed = [];
          $j.each(results, function(i) {
						var result = this;
						if (artistRedirect) {
							parsed[i] = { data: result.name, value: result.url, result: result.name };
						}
						else {
							parsed[i] = { data: result.name, value: result.aid, result: result.name };
						}
          });
          return parsed;
        }														

		});


	});
	

})();
