(function( $ )
{

	$.captcha = function(el,options)
    {
			
    var base = this;

        // Access to jQuery and DOM versions of element
    base.$el = $(el);
    base.el = el;
	var options = $.extend($.captcha.defaults, options);

	base.$el.html("<div id='ajax-fc-content'>" +
                    "<div id='ajax-fc-left'>" +
                        "<p id='ajax-fc-task'>" + options.text + "</p>" +
                            "<ul id='ajax-fc-task'>" +
                                "<li class='ajax-fc-0'><img src='" + options.captchaDir + "/images/item-none.png' alt='' /></li>" +
                                "<li class='ajax-fc-1'><img src='" + options.captchaDir + "/images/item-none.png' alt='' /></li>" +
                                "<li class='ajax-fc-2'><img src='" + options.captchaDir + "/images/item-none.png' alt='' /></li>" +
                                "<li class='ajax-fc-3'><img src='" + options.captchaDir + "/images/item-none.png' alt='' /></li>" +
                                "<li class='ajax-fc-4'><img src='" + options.captchaDir + "/images/item-none.png' alt='' /></li>" +
                            "</ul>" +
                    "</div>" +
                    "<div id='ajax-fc-right'>" +
                        "<p id='ajax-fc-circle'></p>" +
                    "</div>" +
                 "</div>");
	var rand = $.ajax({ url: options.url,async: false, cache:false}).responseText;
	var pic = randomNumber();

	base.$el.find(".ajax-fc-" + rand).html( "<img src=\"" + options.captchaDir +"/images/item-" + pic + ".png\" alt=\"\" />");
	base.$el.find("p#ajax-fc-task span").html(options.items[pic]);
	base.$el.find(".ajax-fc-" + rand).addClass('ajax-fc-highlighted');
	base.$el.find(".ajax-fc-" + rand).draggable({ containment: '#ajax-fc-content' });
	var used = Array();
	for(var i=0;i<5;i++){
		if(i != rand && i != pic)	
		{
			base.$el.find(".ajax-fc-" +i).html( "<img src=\"" + options.captchaDir +"/images/item-" + i + ".png\" alt=\"\" />");
			used[i] = options.items[i];
		}
	}
	base.$el.find(".ajax-fc-container, .ajax-fc-rtop *, .ajax-fc-rbottom *").css("background-color", options.borderColor);
	base.$el.find("#ajax-fc-circle").droppable({
		drop: function(event, ui) {
			base.$el.find(".ajax-fc-" + rand).draggable("disable");
            // add global field
			$("#" + options.formId).append("<input type='hidden' style='display: none;' id='captcha' name='captcha' value='" + rand + "'>");

		},
		tolerance: 'touch'
	});	
	};


    $.captcha.defaults = {
       borderColor: "",
       captchaDir: "/assets/css",
       url: "./captcha",
       //formId: "lgn_form",
       text: "Поставете <span>предмет</span> в кръга.",
       items: Array("молив", "ножица", "часовник", "сърце", "нота")
      };


    $.fn.captcha = function(options)
    {
       return this.each(function(i)
            {
                (new $.captcha(this, options));
            });
    }


                    
})( jQuery );

function randomNumber() {
	var chars = "01234";
	chars += ".";
	var size = 1;
	var i = 1;
	var ret = "";
		while ( i <= size ) {
			$max = chars.length-1;
			$num = Math.floor(Math.random()*$max);
			$temp = chars.substr($num, 1);
			ret += $temp;
			i++;
		}
	return ret;
}
