/**
Класс objTablemeasur
нужен для сборки таблицы измерений 
==============================================================================================
функции класса: 
build() - сборка функций
makeDataPoints() - массив точек
generate_tbl() - генерация шапки
addnew_row() - добавление строк
delete_row() - удаление строки
select_text_input() - выделение текста по клику на инпут
toggle_table() - автоматическое открытин таблицы
popup_img_file() - всплываха для картинки по имени файла
putToContentForSave() - вставляем контент для сохранения
getTitleFile() - получить название файла
make_tru_size_content ()
==============================================================================================
(c) Mychko Eduard, 2015, Moscow, Russia, eduard.mychko@gmail.com
==============================================================================================
*/

var objTablemeasur  = {
	
	/*----------------------------сборка, аргументы - в чем (DOM-элемент) ее строить----------------------------*/
	build: function($elem){
 		this.make_tru_size_content();
		objHelpers.add_scrollbar($('#measurement_table_wrapp'));
		this.delete_row();
		this.select_text_input();
		//this.popup_img_file();
		return false;
	},
	
	'dataset' : [],
	
	makeDataPoints: function(data){
 		 
		var arr = [];

		for(var i = 0; i < data.length; i++){
			arr['file'] = (data[i]['0']) ? data[i]['0'] : '-',
			arr['name'] = (data[i]['1']) ? data[i]['1'] : '-',
			arr['W'] = (data[i]['2']) ? objHelpers.tr(data[i]['2']) : '-',
			arr['D'] = (data[i]['3']) ? objHelpers.tr(data[i]['3']) : '-',
			arr['S'] = (data[i]['4']) ? objHelpers.tr(data[i]['4']) : '-';

			this.addnew_row(arr,(i+1));
		}
		
		this.makeTextFromDataset();
 		
		
		return false; 
	},
	
	
	
	/*-----------------------------вставляем контент для сохранения------------------------------------*/
	makeTextFromDataset: function(){
		var $saveBox = $("#save-box");
		$saveBox.val("");
		var r="\r\n";
		
		var d = this.dataset;

		var text = "";
		var tempData = [];
		for(var p in d) {
			text = text + r+ d[p][0]+"\t"+ d[p][1]+"\t"+ d[p][2]+"\t"+ d[p][3]+ "\t"+ d[p][4];
			tempData.push([d[p][1],d[p][2],d[p][3],d[p][4]]);
			
			//console.log(d[p]);
		}

		$saveBox.val(text);
		
		objAnalys.dataset = tempData;
		objAnalys.generatepoints();
		
		return false; 
	},	
	
	/*-------------------------------------получить название файла------------------------------------*/
	getTitleFile: function(title){
		var text = (title) ? title : "";  
		$('#table-title-filename').html(text);
		return false; 
	},
	
	/*------------------------------пределение последнего значения порядкового номера в таблице----------------------------------------*/
	getLastNumInTable: function(){
		var num = parseInt($('#measurement_table_num > tbody tr:last td').html());
		return num+1;
		
	},
	
	/*----------------------------------------добавление строк----------------------------------------*/
	addnew_row: function(arr,count){
			var c = (count) ? count : '1';
			
			var uniqKey =  objHelpers.md5Encode(arr['file']+arr['name']+arr['W']+arr['D']+arr['S']);
			if (objTablemeasur.dataset[uniqKey]){
				objHelpers.popup(AVG.lang[AVG.language]['this_val_already_isset'],"warning");
			}else{
			
			objTablemeasur.dataset[uniqKey] = [arr['file'],arr['name'],arr['W'],arr['D'],arr['S']];	 
			
			
			
			$('#measurement_table_main > tbody').append('<tr><td><input type="text" class="tbl_filename_title" value="'+arr['file']+'" disabled></td>'+
														'<td><input type="text" class="tbl_filename_input" value="'+arr['name']+'"></td>'+
														'<td>'+arr['W']+'</td>'+
														'<td>'+arr['D']+'</td>'+
														'<td>'+arr['S']+'</td>'+
														'<td><div class="remove pointer remove_row_measurement_table" id="'+uniqKey+'"></div></td></tr>');
			
			$('#measurement_table_num > tbody').append('<tr><td>'+c+'</td></tr>');
		
			}
	
		return false; 
	},
	
	
	/*---------------------------------парсинг таблицы для формирования массива анализа и сохранения в файл--------------*/
	parseTableForMakeDataset: function(){
		
		$('#measurement_table_main > tbody tr').each(function(){
		  console.log($(this).children());
		});
		
	
	
	},
	
	
	/*----------------------------------------всплываха для картинки по имени файла---------------------------*/
	popup_img_file: function(){
		
		$('body').on('mouseover','.tbl_filename', function(){
			
			
			 
			
			// var img = new Image();
			// img.src = 'pictures/'+$(this).find('input').val();
			// img.onload = function(){
				var $popup_img = $("#popup_img_file");
				$popup_img.css('background-image', 'url(pictures/'+$(this).find('input').val()+')');
				$popup_img.show();
				var popup_height = $popup_img.height();
				var popup_width = $popup_img.width();
				var p = $(this);
				var position = p.position();
				
				$("#popup_img_file").css( {"left" : (position.left+(popup_width/2)) + "px", "top" : (position.top+(popup_height/2)+20)	+ "px"});
				var $popup_img = $("#popup_img_file");
				var p = $(this);
				var position = p.position();
			// };
			// img.onerror = function(){
				 				
			// };

			
			

				  
		});
		
		$('body').on('mouseout','.tbl_filename', function(){
			$("#popup_img_file").hide();
		});
		
		return false; 
	},
	
	 
	
	/*--------------------выделение текста по клику на инпут----------------------------------------*/
	select_text_input:  function(){
		$("input.tbl_filename_input[type=text]").click(function() {
		   $(this).select();
		});
		return false; 
	},
	


	/*---------------------------------------удаление строки---------------------------------------*/
	delete_row: function(){
		$('body').on('click','.remove_row_measurement_table', function(){
			  var uniqKey = $(this).attr('id');
			  $(this).parent().parent().fadeOut("fast",function(){
				  $(this).remove();
				  if (objTablemeasur.dataset[uniqKey]){
					delete  objTablemeasur.dataset[uniqKey];
					objTablemeasur.makeTextFromDataset();
				  }
				  $('#measurement_table_num tr:last').remove();
			  });
			 
			  
			 objHelpers.popup(AVG.lang[AVG.language]['row_delete'],"information");
		});
		return false; 
	},
	
	 
	
	/*--------------------------------автоматическое открытин таблицы-----------------------------------*/
	toggle_table: function(){
		$('#content-toolbar-tabs-imagelist').hide();
		$('#content-toolbar-tabs-tablelist').show();
		$('.content-toolbar-tabs-header li').css({'background' : 'rgb(130, 144, 151)','color' : 'rgb(248, 249, 249)'});
		$(this).css({'background' : 'rgb(248, 249, 249)','color' : 'rgb(130, 144, 151)'});
		return false; 
	},
	
	/*-----------------------------true size content-----------------------------*/
	make_tru_size_content: function(){
		var height = $('#content-measurement-list').height();
		$('#measurement_table_wrapp').height(height-85);
		//$('.content-toolbar-tabs-content').height(height-96);
		return false;
	},
};
