var URL;
var DisciplineID;
var $ = jQuery;
$(function() {
	URL = (window.location.href).split('/');
	DisciplineID = URL[URL.length - 1];
	
	var SubjectsGlobal = [];
	
	// Получить список в память
	function GetSubjectsList()
	{
		var FacultyID = 0;
		var optionVal = parseInt($('.SelectFaculty option:selected').val());
		if (optionVal <= 0)
			return;
		
		var FacultyID = optionVal; 
		$.post(
			URLdir + 'handler/map/GetSubjectsList',
			{
				'FacultyID': FacultyID
			},
			function(data)
			{
				SubjectsGlobal = $.parseJSON(data);
				console.log(SubjectsGlobal); // *
			}
		);
	}
	GetSubjectsList();
	
	// Сортировка списка
	function SortByName(NameFilter)
	{
		var NameFilter = NameFilter.toLowerCase();
		var SortSubjects = {};
		var j = 0;
		var SubjectCount = SubjectsGlobal.Count;
		for (var i = SubjectCount - 1; i >= 0; --i)
		{
			src = SubjectsGlobal[i];
			if ((src.Title).toLowerCase().indexOf(NameFilter) == 0)
			{
				// 0 - успех, -1 - ничего не нашел 
				var dest = SortSubjects[j] = {};
				dest['ID'] = src.ID;
				dest['Title'] = src.Title;
				j++;
			}
		}
		SortSubjects.Count = j;
		console.log(SortSubjects); // *
		
		return SortSubjects;
	}

	// Для поиска предметов
	$('.InputSubject').keyup(function()
	{
		var NameFilter = $(this).val();

		if (NameFilter.length <= 0) {
			SelectSubject.html('');
			return;
		}

		var SortSubjects = SortByName(NameFilter);
		var SelectSubject = $('.SelectSubject');
		SelectSubject.html('');
		if (SortSubjects.Count > 0) {
			SelectSubject.append('<option disabled>Результаты:</option>');
			for (var i = SortSubjects.Count - 1; i >= 0; --i)
				SelectSubject.append('<option value="'+ SortSubjects[i].ID +'">'+ SortSubjects[i].Title +'</option>');
				
			var size = (SortSubjects.Count > 4)?'4':'2';
			SelectSubject.attr('size', size);
		}
		else {
			SelectSubject.append('<option disabled>По запросу ничего не найдено.</option>');
			SelectSubject.attr('size', '2');
		}
		SelectSubject.show();

	});
	


	$('.SelectFaculty').change(function(){
		GetSubjectsList($(this).val());
	});
	


	$('.SelectSubject').change(function(){
		$('.InputSubject').val($('.SelectSubject option:selected').text());
		$(this).hide();
	});



	$('.InputSubject').focusout(function(){
		var SelectSubject = $('.SelectSubject');
		var NameFilter = $(this).val();
		if (NameFilter.length == 0) {
			SelectSubject.html('');
			SelectSubject.hide();
		}
	});
})