if('jQuery' in window){
  (function($){
     $.fn.appender = function( opts ){
       this.each(
	 function(){
	   var $this = $(this);
	   if($('div.target', $this).length<1){
	     $this.prepend('<div class="target"></div>');
	   }
	   else {
	      $('.target .item', this).append('<span class="del-item"></span>');
	   }
	   $this
	     .append('<span class="addbtn">dodaj</span>')
	       .find('span.addbtn')
	       .click(function(){
			var source = $(this).parent().find('.target').parent().find('input:text, input:checked,select').last();
			var text = /checkbox|radio/.test(source.attr('type')) ? source.next().text() : source.is('select') ? source.find('option:selected').text() : source.val();

			var $target = $('div.target', $this);
			text =  text.replace(/^\s*|\s*$/gi,'');
			if(text.length>0 && source.val()!="0" && !(source.data('placeholder') == text) && !( $target.find('input[value='+ source.val()+']' ).parent().hide().fadeIn().length )){
			  $target
			    .append('<div class="item"></div>')
			      .find('div:last')
				.hide()
				.append('<input type="checkbox" checked="checked" name="'+ source.attr('name') +'" value="'+ source.val() +'" />')
				.append('<label>'+ text +'</label>')
				.append('<span class="del-item"></span>')
				  .fadeIn();
			  source.val('').trigger('change').trigger('blur');
			}
	       });
	   $('div.target span.del-item').live('click', function(){
						$(this).closest('.item').fadeOut(350, function(){ $(this).remove(); });
				    });

       });
       return this;
     };
   }(jQuery));
}
