/**
 * @author []~~~~~/N.R.O.R.
 */

function showTag(tag)
{
	if($.trim(tag) != "")
	{
		tagElement = $(document.createElement('div')).attr('class', 'tag').
			append($(document.createElement('span')).html(tag)).
			append($(document.createElement('a')).click(function ()
			{ 
   				deleteTag(this);
     		}).append('<strong>x</strong>'));
		$('input.autocomplete').before(tagElement);
	}
}

function isRepeated(parent, str)
{
	var tags = parent.find("div.tag span:contains('" + str + "')");
	var equalities = 0;
	tags.each(function()
	{
		if($(this).html() == str)
			equalities++;
	});
	return (equalities != 0);
}
	
function addTag(autoInputObj, tag)
{
	if($.trim(tag) != "")
	{
		//idInputTag = autoInputObj.attr("id").substr(3);
		idTag = autoInputObj.prop('name') != '' ? autoInputObj.prop('name') : 'N';
							
		tagElement = $(document.createElement('div')).attr('class', 'tag').
			append($(document.createElement('span')).prop('id', idTag).html(tag)).
			append($(document.createElement('a')).click(function ()
			{ 
   				deleteTag(this);
   			}).append('<strong>x</strong>'));
		autoInputObj.before(tagElement);
	}
}
				
function deleteTag(tag)
{
	$(tag).parent().remove();
}
				
function autoCompleteTimeout(autoInputObj)
{
	autoInputValue = autoInputObj.val();

	if(!isRepeated(autoInputObj.parent(), autoInputValue))
		addTag(autoInputObj, autoInputValue);

	addingTag = false;
	autoInputObj.prop('value', '');
	autoInputObj.prop('name', '');
}
	
function deselect(search, select)
{
	var vec = $(search);
	for(var i = 0; i < vec.length; i++)
		if( vec[i] != select ) $(vec[i]).removeClass('seleccionado');
}
	
$(function() 
{
	function split(val)
	{
		return val.split(/,\s*/);
	}
		
	function extractLast(term)
	{
		return split(term).pop();
	}
        
       
        
        
	$( "#tags-match_msg" ).live("keydown", function( event )
	{
               
		if(event.keyCode === $.ui.keyCode.TAB && $(this).data("autocomplete").menu.active)
		{
                      
			event.preventDefault();
		}
	}).autocomplete(
	{
		source: function(request, response)
		{
                        
			$.getJSON(CI_ROOT + "index.php/user/search", {term: extractLast(request.term)}, response);
		},
		search: function()
		{
			var term = extractLast(this.value);
			if(term.length < 2)
			{
				return false;
			}
		},
		focus: function()
		{
			return false;
		},
		select: function(event, ui)
		{
			
                            var terms = split(this.value);
                            terms.pop();
                            terms.push( ui.item.value );
                            $('input.autocomplete').prop('name', ui.item.id);
                            terms.push( "" );
                            this.value = terms.join( "" );
                        
                        
			return false;
		}
	});
});

	

$(document).ready(function()
{	
	/*$('#tags-match').keydown(function(e) {
	    if(e.which  == 188){
			alert("Bien che");
        } 
	            
	});*/
	$('div.cont').click(function() 
	{
		//$(this).find("input.autocomplete").focus();
	});

	$('div.cont input.autocomplete').keydown(function(e)
	{
		autoInputObj = $(this);
		autoInputValue = autoInputObj.val();
		if ((e.which && e.which == 13) || (e.keyCode && e.keyCode == 13)|| (e.keyCode && e.keyCode == 188)|| (e.which && e.which == 13))
		{
			e.preventDefault();

			if(!isRepeated(autoInputObj.parent(), autoInputValue))
				addTag(autoInputObj, autoInputValue);
		
			autoInputObj.prop('value', '');
			autoInputObj.prop('name', '');
		}
		
		return true;
	});

	$('div.cont input.autocomplete').blur(function(e)
	{
		autoInputObj = $(this);
		addingTag = true;
		setTimeout(function(){autoCompleteTimeout(autoInputObj);}, 200);

		return true;
	});
						
	/*$("div.tags input.autocomplete").keydown(function(e)
	{
		autoInputObj = $(this);
								
		campoValue = autoInputObj.attr("id").substr(3);
		return true;
	});*/
	
	/*
	 * []
	 */
	
	/*
	 * []~~~~~/New item
	 */					
});
