

function sortColor (a, b) {
	return b.count - a.count;
}


var aColors = [
    {name: "red"   },
    {name: "green" },
    {name: "blue"  },
    {name: "pink"   },
    {name: "yellow"}
];


var colors_count = {
        blue: 0,
        green: 0,
        red: 0,
        yellow: 0,
        pink: 0
};




function counterSum() {
 	for (var i in aColors) {
		aColors[i].count = 0;
 	}
	$('#test-content ul.answers li.selected').each(function(){
        var current_color = $(this).find('>div').attr('class');
        for (var i in aColors) {
        	var curColor = aColors[i];
          if (curColor.name == current_color) {
          	curColor.count++;
          	break;
          }
        }

	});

	aColors.sort(sortColor);

	//alert(aColors[0].name + ' ' + aColors[0].count);
	//alert(aColors[1].name + ' ' + aColors[1].count);
};





var total_pos = 10;
var tmp = "";
// NEW
var test_result;

function PlaceColors() {
	$('#test-content ul.answers').each(function(){
        var used_colors = [], used_pos = [];
        var color, pos;

        $(this).find('li').each(function(){

            do{
            color = aColors[ Math.floor( Math.random() * aColors.length)].name;
              //tmp += Math.floor(Math.random() * aColors.length) + " | ";
            }while($.inArray(color, used_colors) > -1);

            $(this).find('>div').addClass(color);
            used_colors.push(color);

            do{
				pos = Math.floor( Math.random() * (total_pos ) ) + 1;
            }while($.inArray(pos, used_pos) > -1);

            $(this).find('.marker').addClass('position' + pos);
            used_pos.push(color);

        })
	});
}

var flag_code = 0;

$(document).ready(function(){
     PlaceColors();

	$('#code_normal').click(function(){
		//$('#person-bubble').css({"display":"inline"});
		$('#person-bubble').show();
	});

	$('#code_href').click(function(){
		$('#person-bubble').hide();
	});

	$('#test').click(function(){
// NEW

		if ($('#test #part1:visible').length) {
			$.ajax({
				url: '/ajax/cabinet/save_test.php',
				data: {
					result_id: test_result.result_id,
					color1: aColors[0].name,
					color2: aColors[1].name
				},
				type: 'POST',
				dataType: 'xml',
				cache: false,
				timeout: 20000,
				success: function(xml) {
//					alert("OK")
				},
				error: function() {
//					alert("ERROR");
				}
			});

			$('#test #part1').hide();
			$('#test #part2').show();
		}

	});

	$('textarea').click(function(){
		$(this).select();
	});


	$('#test-content ul.answers li').click(function() {
		$(this).parent().parent().parent().find("input").val($(this).attr("answer_id"));

		disableAll($(this));

		$(this).addClass('selected');
		$(this).prevAll().addClass('disable');
		$(this).nextAll().addClass('disable');

		counterSum();

		apearRsult();

		//hack for IE6 - resizing same element for rebilding all code model
		$('#footer').css('position','relative');
		$('#footer').css('position','absolute');
	});


	function disableAll(elem) {
		elem.parent().find('li.selected').each(function() {
			$(this).removeClass('selected');
	    });
	    elem.parent().find('li.disable').each(function() {
			$(this).removeClass('disable');
	    });
	}


	function apearRsult() {
		if ( $('ul.answers .selected').length < $('ul.answers').length ) {
			$('div#result').hide();
			$('div#result').removeClass();

		} else {
			$("div#result").removeClass();

			// NEW
			$.getJSON("/ajax/get_test_result.php", $("form#test-form").serializeArray(), function(data) {
				test_result = data;

				$('#results-info-header').html(data.header);
				$('#results-info-text').html(data.text);
				
				$('div#result').addClass(aColors[0].name);

				if (aColors[1].count == 0) {
					$('div#result').addClass("position_" + aColors[0].name + "_" + aColors[0].name);
				} else {
					$('div#result').addClass("position_" + aColors[0].name + "_" + aColors[1].name);
				}
				
				if (data.image) {
					$("#result-image2").css("background-image", "url('" + data.image + "')");
					$("#result-image").hide();
					$("#result-image2").show();
				} else {
					$("#result-image2").hide();
					$("#result-image").show();
				}

				var image_url = $("#result-image div").css("background-image");
				if (image_url == "none") {
					image_url = $("#result-image div").css("filter").replace("progid:DXImageTransform.Microsoft.AlphaImageLoader(src='", "").replace("',sizingMethod='scale')", "");
				} else {
					image_url = image_url.replace("\"", "").replace("\"", "").replace("'", "").replace("'", "").replace("url(", "").replace(")", "");
				}
					
				var background_image = "url(" + image_url + ")";
				var background_image_url = image_url;

				var margin_top  = $("#result-image div").css("margin-top");
				var margin_left = $("#result-image div").css("margin-left");
				
				var code = data.code;
				code = code.replace("{BACKGROUND-IMAGE}", background_image);
				code = code.replace("{BACKGROUND-IMAGE-URL}", background_image_url);
				code = code.replace("{MARGIN-TOP}", margin_top);
				code = code.replace("{MARGIN-LEFT}", margin_left);
				
				$('#results-info-code').val(code);
				$('div#result').show();
				
				$('#footer').css('position','relative');
				$('#footer').css('position','absolute');
			});
		};
	};
});
