var filters = {};

$(function(){

	configGetList();
	aliasGetList();
	filtersGetList();

	
	// allow pier
	$('#config input[name=allowPier]').click(function(e){
		if ($(this).val() == 'yes') {
			$('#config .allow-pier-no').hide();
		}
		else {
			$('#config .allow-pier-no').show();
		}
	});
	/// allow pier


	
	// advanced config
	if (localStorage['configAdvanced']) {
		$('input#configAdvanced').prop('checked', true);
		$('div#configAdvanced').show();
	}

	$('input#configAdvanced').change(function(){
		if ($(this).prop('checked')) {
			localStorage['configAdvanced'] = true;
			$('div#configAdvanced').show();
		}
		else {
			$('div#configAdvanced').hide();
			localStorage.removeItem('configAdvanced');
		}
	});
	//// advanced config

	
	// alias
	$('#configAliasButton').click(function(e){
		e.preventDefault();
		
		$('#configModalAliasList').html('');
		
		for (var i in alias) {
			$('#templateModalConfigAliasItem').tmpl({
				alias: i,
				name: alias[i],
				filters: filters
			}).appendTo('#configModalAliasList');
		}
		
		$('#modalConfigAlias').modal('show');				
	});
	
	$('.modal#modalConfigAlias button[type=submit]').click(function(e){
		e.preventDefault();
		
		var update = {};
		
		$('.modal#modalConfigAlias select').each(function(){
			update[ $(this).attr('name') ] = $(this).val();
		});
		
		$.post('/alias', JSON.stringify(update), function(data){
			$.notify({message: 'Соответствия фильтров успешно сохранены'});
			
			$('#modalConfigAlias').modal('hide');				
		}, 'json');
	});
	//// alias
	
	
	// files
	$('#configFitFolderButton').click(function(e){
		e.preventDefault();
		
		$.get('/folders', function(data){
			//@todo проверки пришло ли что
			
			$('#modalConfigFitFolder select').html('');
			
			$('#templateConfigFitFolderItem').tmpl({path: ''}).appendTo('#modalConfigFitFolder select');
			for (var i in data) {
				$('#templateConfigFitFolderItem').tmpl({path: data[i]}).appendTo('#modalConfigFitFolder select');
			}
			
			$('#modalConfigFitFolder select').val(
				$('#config input[name=fitFolder]').val()
			);
			
			$('#modalConfigFitFolder').modal('show');
		}, 'json');
	});
	
	$('#modalConfigFitFolder button[type=submit]').click(function(){
		if ($('#modalConfigFitFolder select').val()) {
						
			$.post(
				'/config/fitFolder/update',
				$('#modalConfigFitFolder select').val(),
				function(){
					$('#config input[name=fitFolder]').val(
						$('#modalConfigFitFolder select').val()
					);
					
					$('#modalConfigFitFolder').modal('hide');
				}
			);
		}
	});
	
	$('#config .files button').click(function(e){
		$.post(
			'/config/fitFolder/update',
			$('#config input[name=fitFolder]').val(),
			function() {
				$.notify({message: 'Настройки успешно сохранены'});
			}
		);
	});
	// / files
	
	
	// how default
	$('#config .how-default button').click(function(e){
		$.post(
			'/config', JSON.stringify({
				allowPier: $('#config input[name=allowPier]:checked').val(),
				pierOnly:  $('#config input[name=pierOnly]:checked').val(),
				allowOverMeridian: $('#config input[name=allowOverMeridian]').val()
			}),
			function() {
				$.notify({message: 'Настройки успешно сохранены'});
			}
		);
	});
	
});

var config;


function configGetList()
{
	$.get('/config', function(data){
		//@todo проверки пришло ли что
		
		config = data;
		
		for (var i in data) {
			if ($('#config input[name='+ i +'][type=text],input[name='+ i +'][type=number]').length) {
				$('#config input[name='+ i +']').val( data[i] );
			}
			else if ($('#config input[name='+ i +'][type=radio][rel='+ data[i] +']').length) {
				$('#config input[name='+ i +'][rel='+ data[i] +']').click();
			}
		}
		
		if (!$('#config input[name=allowPier]:checked').length) {
			$('#config input[name=allowPier][rel=yes]').click()
		}
		
	}, 'json');
}


function filtersGetList()
{
	$.get('/alias?names', function(data){
		filters = data;
	}, 'json');
}