/* SVN FILE: $Id: find.js 4009 2010-01-06 15:13:18Z mark_story $ */
YouFoot.matchesFind = {
	require: ['FindFilters', 'RemoteSlider'],

	init : function () {
		var findFilters = new FindFilters({container : '.find-filters .content-block'});
		
		//attach events to form clearing buttons.
		
		$('#SearchForm .clear-field').clearField();

		var MatchesSlider = new RemoteSlider({
			responseTemplate: {
				'default': YouFoot.Templates.existingMatches,
				'upcoming': YouFoot.Templates.upcomingMatches
			}
		});
		$('#AwayTeamName').val('');
		$('#HomeTeamId').val('');
		
		$('#HomeTeamName').autocomplete(window.basePath + 'teams/suggest/like', {
			'minChars': 1,
			parse: function(item) {
			var rows = new Array();
			data=eval('('+item+')');
			var begin_url = '';
			for(var i=0; i<data.length; i++){
				//alert(data[i].Nickname);
				    if ( typeof(data[i].Team.type ) != "undefined" ) {
				    	begin_url = '/teams/news/';
				    }
				
				rows[i] = {data: data[i], result: data[i].Team.name, value: begin_url+data[i].Team.slug};
				begin_url = '';
			}
			return rows;
		},
		formatItem: function(item,row, i, n) {
			$('span.ac_loading').hide();
			var  itemname = item.Team.name;
			if( typeof(item.Team.linkimage) == 'undefined'){
				item.Team.linkimage = '/img/content/1px-alpha.gif';
			}
		    if(typeof(item.Nickname) != "undefined" ){
		    	itemname = item.Team.name+", aka: "+item.Nickname.nickname;
		    }
			return '<span title="'+item.Team.name+'"><img alt="'+item.Team.name+'" src="'+item.Team.linkimage+'" height="25" width="25">'+itemname+'</span>';
		}
	}).result(function(event, item,formatted) {
		//alert(JSON.stringify(item));
		$('#HomeTeamId').val(item.Team.id);
		$('#HomeTeamName').attr("disabled","disabled");
		$('#AwayTeamName').removeAttr("disabled");
		$("#selected-match").empty();
		$('#selected-match').hide();
		$('#AwayTeamName').css('background-color','#ffffff');
		$('#HomeTeamName').css('border','1px solid #909090');
		$('#HomeTeamName').css('background-color','#DAF7DB');
		$('#MatchHomeTeamClear').show();
		if(item.Team.name == 'Create a new team page?' && 'More results'){
			location.href = formatted;
		}
	});
		$('#AwayTeamName').bind('keyup', function (event) {			
			var input = $('#AwayTeamName');
			
			clearTimeout(self._timerId);
			self._timerId = setTimeout(function () {
				var otherTeamId = $('#HomeTeamId').val();
				input.addClass('ac_loading');
				var address = window.basePath + 'matches/suggest/byteam.json?q=' + escape(input.val());
				
				var postVars = {
					'data[Match][team]': otherTeamId,
					'data[Match][query]': input.val(),
					'data[Match][limit]': 12
				};
				//postVars = jQuery.extend({}, postVars, self.options.extraPostData);
				$.ajax({
					type: 'POST',
					dataType: 'json',
					url: address,
					data: postVars,
					beforeSend:function(){
						/*$('span.ac_loading').show();*/
						input.addClass('ac_loading');
						$(".match-inputs").removeAttr("id");
						$("#selected-match").empty();
						if($('#AwayTeamName').val() == ''){
							//$('span.ac_loading').hide();
							input.toggleClass('ac_loading');
						}
					},
					success:  function (result) {	
					
					$('#selected-match').show();	
					$(".match-inputs").attr("id","matchesLookup");
					if($.browser.safari){
						/*var position = $('#HomeTeamName').offset();
						$('#selected-match').css('position','absolute');
						$('#selected-match').css('left',(position.left)+'px');
						$('#selected-match').css('top',(position.top+20)+'px');*/
						
						$('#selected-match').css('position','absolute');
						$('#selected-match').css('top','-10px');
						$('#selected-match').css('left','114px');
						
					}
					for (var i = 0, len = result.data.length; i < len; i++) {
						var row = result.data[i];						
						$("#selected-match").append('<li><a href="/matches/view/'+row.Match.slug+'"><img style="vertical-align: middle; width: 25px; height: 25px; float: left; padding-left:5px; padding-top:3px;" alt="'+row.HomeTeam.name+'" src="'+row.HomeTeam.image+'"><strong style="float: left;width: 460px;"><span class="left_team">'+row.HomeTeam.name+'</span><span class="search_versus">'+row.Match.vs+'</span><span class="right_team">'+row.AwayTeam.name+'</span></strong><img style="vertical-align: middle; width: 25px; height: 25px;float: right; padding-right:5px; padding-top:3px;" alt="'+row.AwayTeam.name+'" src="'+row.AwayTeam.image+'"> '+row.Match.start_time_utc.substr(0, 10)+' - '+row.Match.start_time_utc.substr(10, 8)+'</a></li>');
						if(i >= 10){
							$("#selected-match").append('<li><a style="font-weight: bold; padding-top: 15px;" href="/search_indexes/search/query:'+row.HomeTeam.name+' '+input.val()+'/type:Match">'+YouFoot.i18n.get('View all results')+'</a></li>');
							break;
						}
					}
					if(result.data.length == 0){
						$("#selected-match").append('<li class="search_nomatch"><div style="padding-bottom: 5px;">'+YouFoot.i18n.get('Sorry there isn’t any match between:')+'</div><span style="display: block;text-align: right;float: left; width: 237px;">'+$('#HomeTeamName').val()+'</span> '+YouFoot.i18n.get('- vs -')+' <span style="display: block;text-align: left;float: right; width: 235px;">'+input.val()+'...</span></li><a href="/matches/add" style="padding-top:10px;"><li><b>'+YouFoot.i18n.get('Would you like to be the first to create the page for this match?')+'</b></li></a>');
					}
						input.toggleClass('ac_loading');
					}
				});
			}, 400);
		}).change(function(){
			input.toggleClass('ac_loading');
			//$('span.ac_loading').hide();
			$('#selected-match').hide();
		});		
		$('#HomeTeamName').removeAttr("disabled");
		$('#TeamCountry').quickselect();
	}
};

function clearhometeam(){
	$('#HomeTeamName').css('background-color','#fff');
	$('#HomeTeamName').css('border','1px solid #BFBFBF');
	$('#MatchHomeTeamClear').hide();
	$("#selected-match").empty();
	$("#selected-match").hide();
	$('#HomeTeamName').removeAttr("disabled");
	$('#AwayTeamName').attr("disabled","disabled");
	$('#AwayTeamName').css('background-color','#cccccc');
	$('#HomeTeamNameId').val('');
	$('#HomeTeamName').val('');
	$('#AwayTeamName').val('');
}
