window.onkeydown = function(e){
	var key = (window.event) ? event.keyCode : e.keyCode;
	if(key == 13 && $("#search-field-item").hasClass("focus")){
		$("#search-field-item").closest("form").submit();
	}
	if(key == 13 && $("#filter-field-item").hasClass("focus")){
		$("#filter-field-item").closest("form").submit();
	}
};

function webstamp_initialize_search	
	( 
		searchInputId, 
		searchButtonId,
		locale,
		applyConstraints
	){
	
	$(searchInputId).blur(function(){
		$(this).removeClass("focus");
	}).focus(function() {                
        $(this).addClass("focus");
    });
	
	$(searchInputId).focus();
		
	$(searchInputId).autocomplete({
		source: function( request, response ) {
			$.ajax({
				url: "/WebstampWebResource/searchprodorg",
				dataType: "json",
				data: {
					q: request.term,
					country: getCountries(applyConstraints),
					community: getCommunities(applyConstraints),
					lang: locale
				},
				success: function( data ) {
					response( $.map( data, function( item ) {
						return {
							product: item.prodName,
							organization: item.orgName,
							value: item.orgName
						};
					}));
				}
			});
		},
		minLength: 1,
		select: function(event, ui) 
		{
			$(searchInputId).val(ui.item.organization);
			$(searchButtonId).click();
		}
	})
	.data("autocomplete")._renderItem = function( ul, item ) {
		return $( "<li></li>" )
			.data( "item.autocomplete", item )
			.append( "<a><span id='autocomplete-product'>" + 
					item.product + "</span><span id='autocomplete-organization'>" + item.organization + "</span></a>" )
			.appendTo( ul );
	};
}

function getCountries(applyConstraints)
{
	if(applyConstraints)
	{
		var countries="";
		var i = 0;
		var checkedCountries = $("#countryCode:checked"); 
		$.each(checkedCountries, function(){
			i++;
			countries+=$(this).val();
			if(i != checkedCountries.length)
				countries += ",";
			
		});
		return countries;
	}
}

function getCommunities(applyConstraints)
{
	if(applyConstraints)
	{
		var communities="";
		var i = 0;
		var checkedCommunities = $("#communityType:checked"); 
		$.each(checkedCommunities, function(){
			i++;
			communities+=$(this).val();
			if(i != checkedCommunities.length)
				communities += ",";
			
		});
		return communities;
	}
}
