/* Сохраняем версию библиотеке jQuery, подключаемую в рамках модуля, в специальную переменную */
var	$jqCourtCaseStats = jQuery.noConflict();

/* Предыдущую подключенную версию библиотеки сохраняем в переменную jQuery */
jQuery = $;

(function($){
	/**
	 * Функция для вывода круговых диаграмм со статистикой по количеству дел
	 * @param int cx			координата х для перемещения указателя в центр будущей диаграммы
	 * @param int cy			координата y для перемещения указателя в центр будущей диаграммы
	 * @param int r				радиус круга
	 * @param arr values		значения секторов
	 * @param str stroke		цвет границы секторов
	 */
	Raphael.fn.pieChart = function (cx, cy, r, values, stroke) {
		var paper = this,
			chart = this.set();
		
		function sector(cx, cy, r, startAngle, endAngle, params) {
			var startAngleRad = Raphael.rad(startAngle),
				endAngleRad = Raphael.rad(endAngle),
				x1 = cx - r * Math.sin(-startAngleRad),			//начальная точка дуги по х
				x2 = cx - r * Math.sin(-endAngleRad),			//конечная точка дуги по х
				y1 = cy - r * Math.cos(-startAngleRad),			//начальная точка дуги по у
				y2 = cy - r * Math.cos(endAngleRad);			//конечная точка дуги по у
			
			return paper
						.path(['M', cx, cy, 'L', x1, y1, 'A', r, r, 0,
								+(endAngle - startAngle > 180), 1,
								x2, y2, 'z'])
						.attr(params);
		}
		
		if ($('.l-column-wrapper--right').length) {
			var stroke = $('.l-column-wrapper--right').css('background-color');
		}
		
		var angle = 0,							//угол для первого сектора
			total = 0,							//сумма значений секторов
			process = function (j) {
				var colors = ['#4F7D00', '#383C45', '#0773BF', '#75797E'],		//цвета секторов
					value = values[j],						//значение текущего сектора
					angleplus = 360 * value / total,		//угол текущего сектора
					ms = 500,								//кол-во миллисек до запуска анимации при наведении курсора на сектор
					//сектор
					pSector = value ? sector(cx, cy, r, angle, angle + angleplus, {
						fill: "90-" + colors[j] + "-" + colors[j],
						stroke: (stroke) ? stroke : '#fff',
						'stroke-width': 2
					}) : false ;
				
				angle += angleplus;
			};
			
		//получаем сумму значений секторов (должен быть равен 100)
		for (var i = 0, ii = values.length; i < ii; i++) {
			total += values[i];
		}
		
		//отрисовка секторов
		for (var i = 0; i < ii; i++) {
			process(i);
		}
	
		return chart;
	};
	
	/**
	 * уменьшение высоты блока статистики для ФАСМО 
	 * и запуск функции отрисовки диаграммы
	 */
	$(function() {
		var blockContainer = $('.stat'),
			width = $('.js-stat_canvas').width(),
			height = $('.js-stat_canvas').height();
		
		// [FIXME] после перехода на тему Courts_model убрать
		if (blockContainer.hasClass('js-stat--fasmo')) {
			blockContainer.css('height', '399px');
		}
		
		//устанавливаем текст заголовка
		$('.b-block-court_case_stats .b-block-title_caption').html(blockTitle);
		
		if (percentage[0]) {
			//Отрисовываем диаграмму
			Raphael('stat_canvas', width, height).pieChart(width/2, height/2, 100, percentage, '#fff');
		}
	});
})($jqCourtCaseStats);

