/**
 * Script, responsible for chart drawing
 * @author fogandrey@gmail.com (Aiken Studio)
 */

var pointsData;
var example = 'line-basic',
 theme = 'grid'; 

function dataLoader() {
	$.ajax({
		url: '/rpc/ajax-xml-parser.php',
		success: function(dates) {
			jsonData = $.parseJSON(dates);
			graphDrawer(jsonData);
		}
	});
}

function graphDrawer(json) {
	categories = new Array();
	line = new Array();
	messages = new Array();
	todos = new Array();
	files = new Array();
	//alert(json);
	$.each(json, function(date, value) {
			categories.push(date);
			line.push(parseInt(value.active));
	});
	initChart(categories, line, json);
}

function initChart(categories, line, json) { 
	
	i = -1;
	var lang = $.cookie('lang');
	
	chart1 = new Highcharts.Chart({
         chart: {
            renderTo: 'flash',
            defaultSeriesType: 'line',
            height: 150,
            width: 330,
            marginTop: 10,
            marginBottom: 10,
            marginLeft: 5
            
         },
         colors: ['#99CC33'],
         title: {
            text: null
         },
         xAxis: {
            categories: categories,
            lineColor: '#E8E8E8',
            minorGridLineWidth: 1,
            alternateGridColor: '#F8F8F8',
            labels: {enabled: true}
         },
         yAxis: {
            title: {
               text: ''
            },
            tickPixelInterval: 50,
            gridLineColor: '#E8E8E8',
            lineColor: '#E8E8E8'
            
         },
         tooltip: {
         	formatter: function(){
         		
         		//var numbers = [2, 3, 4, 22, 23, 24, 32, 33, 34, 42, 43, 44, 52, 53, 54, 62, 63, 64, 72, 73, 74, 82, 83, 84, 92, 93, 94, 102, 103, 104];
				//var oneNumbers = [1, 21, 31, 41, 51, 61, 71, 81, 91, 101, 201, 121];
				var numbers = ['11', '12', '13', '14'];
         		day = this.x;
         		if(day == categories[0]){
         			//$('.highcharts-tooltip rect').attr('x', '40').attr('y', '46.5');
         			//alert($('.highcharts-tooltip').attr('transform'));
         		}
         		if (lang == 'ua') {
         			if (getLastDigit(json[day].todos, 1) == '1' && isInArray(getLastDigit(json[day].todos, 2), numbers) == false) {
         				todos = 'задача';
         			}
         			else if ((getLastDigit(json[day].todos, 1) == '2' || getLastDigit(json[day].todos, 1) == '3' || getLastDigit(json[day].todos, 1) == '4') && isInArray(getLastDigit(json[day].todos, 2), numbers) == false) {
         				todos = 'задачі';
         			}
         			else {todos = 'задач';}
         			
         			if (getLastDigit(json[day].messages, 1) == '1' && isInArray(getLastDigit(json[day].messages, 2), numbers) == false) {
         				messages = 'повідомлення';
         			}
         			else if ((getLastDigit(json[day].messages, 1) == '2' || getLastDigit(json[day].messages, 1) == '3' || getLastDigit(json[day].messages, 1) == '4') && isInArray(getLastDigit(json[day].messages, 2), numbers) == false) {
         				messages = 'повідомлення';
         			}
         			else {messages = 'повідомлень';}
         			
         			if (getLastDigit(json[day].files, 1) == '1' && isInArray(getLastDigit(json[day].files, 2), numbers) == false) {
         				files = 'файл';
         			}
         			else if ((getLastDigit(json[day].files, 1) == '2' || getLastDigit(json[day].files, 1) == '3' || getLastDigit(json[day].files, 1) == '4') && isInArray(getLastDigit(json[day].files, 2), numbers) == false) {
         				files = 'файла';
         			}
         			else {files = 'файлів';}
         			
         		}
         		if (lang == 'ru') {
         			if (getLastDigit(json[day].todos, 1) == '1' && isInArray(getLastDigit(json[day].todos, 2), numbers) == false) {
         				todos = 'задача';
         			}
         			else if ((getLastDigit(json[day].todos, 1) == '2' || getLastDigit(json[day].todos, 1) == '3' || getLastDigit(json[day].todos, 1) == '4') && isInArray(getLastDigit(json[day].todos, 2), numbers) == false) {
         				todos = 'задачи';
         			}
         			else {todos = 'задач';}
         			
         			if (getLastDigit(json[day].messages, 1) == '1' && isInArray(getLastDigit(json[day].messages, 2), numbers) == false) {
         				messages = 'сообщение';
         			}
         			else if ((getLastDigit(json[day].messages, 1) == '2' || getLastDigit(json[day].messages, 1) == '3' || getLastDigit(json[day].messages, 1) == '4') && isInArray(getLastDigit(json[day].messages, 2), numbers) == false) {
         				messages = 'сообщения';
         			}
         			else {messages = 'сообщений';}
         			
         			if (getLastDigit(json[day].files, 1) == '1' && isInArray(getLastDigit(json[day].files, 2), numbers) == false) {
         				files = 'файл';
         			}
         			else if ((getLastDigit(json[day].files, 1) == '2' || getLastDigit(json[day].files, 1) == '3' || getLastDigit(json[day].files, 1) == '4') && isInArray(getLastDigit(json[day].files, 2), numbers) == false) {
         				files = 'файла';
         			}
         			else {files = 'файлов';}
         			
         		}
         		/*if(lang == 'ua') {
         			if(isInArray(json[day].todos, numbers) == false || isInArray(json[day].todos, oneNumbers) == false) {
						todos = 'задач';
					}
					if(isInArray(json[day].todos, numbers) == true) {
						todos = 'задачі';
					}
					if(isInArray(json[day].todos, oneNumbers) == true) {
						todos = 'задача';
					}
					
					if(isInArray(json[day].messages, numbers) == true || isInArray(json[day].messages, oneNumbers) == true) {
						messages = 'повідомлення';
					}
					else {
						messages = 'повідомлень';
					}
					
					if(isInArray(json[day].files, numbers) == false || isInArray(json[day].files, oneNumbers) == false) {
						files = 'файлів';
					}
					if(isInArray(json[day].files, numbers) == true) {	
						files 	= 'файла';
						
					}
					if(isInArray(json[day].files, oneNumbers) == true) {	
						files 	= 'файл';
					}
					
				}
				if(lang == 'ru') {
					if(isInArray(json[day].todos, numbers) == false || isInArray(json[day].todos, oneNumbers) == false) {
						todos = 'задач';
					}
					if(isInArray(json[day].todos, numbers) == true) {
						todos = 'задачи';
					}
					if(isInArray(json[day].todos, oneNumbers) == true) {
						todos = 'задача';
					}
					
					if(isInArray(json[day].messages, numbers) == false || isInArray(json[day].messages, oneNumbers) == false) {
						messages = 'сообщений';
					}
					if(isInArray(json[day].messages, numbers) == true) {
						messages = 'сообщения';
					}
					if(isInArray(json[day].messages, oneNumbers) == true) {
						messages = 'сообщение';
					}
					
					if(isInArray(json[day].files, numbers) == false || isInArray(json[day].files, oneNumbers) == false) {
						files = 'файлов';
					}
					if(isInArray(json[day].files, numbers) == true) {	
						files 	= 'файла';
						
					}
					if(isInArray(json[day].files, oneNumbers) == true) {	
						files 	= 'файл';
					}
				}*/
				if(lang == 'en') {
					todos = 'tasks';
					messages = 'messages';
					files 	 = 'files';
				}
         		return '<span style="font-size: 9px; color: #3399cc;">'+json[day].messages+'</span><span style="font-size: 9px; color: #888888;">'+messages+' </span><br>'+
         				'<span style="font-size: 9px; color: #cc6600;">'+json[day].todos+'</span><span style="font-size: 9px; color: #888888;">'+todos+' </span><br>'+
		         	   '<span style="font-size: 9px; color: #cc3399;">'+json[day].files+'</span><span style="font-size: 9px; color: #888888;">'+files+' </span><br>'
		         	   ;
         	},
         	borderWidth: 1,
         	borderRadius: 0,
         	borderColor: '#E8E8E8',
         	shadow: false,
         	snap: 2
         },
         plotOptions: {
         	line: {
         		lineWidth: 1
         	}
         },
       	series: [{
            name: '',
            shadow: false,
            data: line,
            dataLabels: {
            	enabled: true,
            	formatter: function() {
            		i++;
            		return categories[i];
            	},
            	style: {
                   color: '#888888'
                   //fontSize: 7
                },
                x: 2,
                y: -10
            }
         }]
	});
	$('.highcharts-legend, .highcharts-axis').hide();
	hidePluginLink();
	changeLabelsStyle();
}

function changeLabelsStyle() {
	if($.browser.msie) {
		$('.highcharts-highcharts-data-labels > span').attr('fill', '#888888').css('color', '#888888').css('font-size', '9px');
	}	
	else {
	$('.highcharts-highcharts-data-labels > text').attr('fill', '#888888').css('color', '#888888').css('font-size', '9px');
	}
}

function hidePluginLink() {
	if($.browser.msie) {
		$('span[x=320]').remove();
	}
	else {
		$('text[text-anchor=end], tspan[x=320]').remove();		
	}
	
}

function isInArray(valq, arrq) {
  inArrayq = false;
  for (j = 0; j < arrq.length; j++)
   if (valq == arrq[j])
	inArrayq = true;

      return inArrayq;
}

function getLastDigit(digit, offset) {
	/*str = new String (digit);
    l = str.length;
    if(l > 1) { l = l - 1;} else {l = 0;}
    return str.substr(l, 1);*/
	str = new String (digit);
    l = str.length;
    if(l > offset) { l = l - offset;} else {l = 0;}
    return str.substr(l, offset);
	
}
$(document).ready(function() {
	dataLoader();
	//t = setTimeout('changeLabelsStyle()', 500);
	//p = setTimeout('hidePluginLink()', 500);
});


