$(function(){
	THEFORM = $('#tseachform');
	
	speciality = new Array();  
	
	if($(':select[name="area"]', THEFORM)[0]){
		$(':select[name="area"]', THEFORM).change(loadSpecialities);   
	}
	
	$('.extended a',THEFORM).click(function(){
		$(this).next().toggle();
		$(this).html($(this).next().is(':hidden')?'расширенный режим':'скрыть расширенный режим');
		return false;
	});
	
	THEFORM.submit(function(){
		$('.xparams:hidden', this).remove();
		return true;
	});
	
	
	function loadSpecialities(){
		
		area_id = $('option:selected', $(':select[name="area"]', THEFORM)).attr('id');
		if(area_id == '') clearSpecialityList();
		
		lnk = $('h5','#t_specs');
		$('ul', '#t_specs').remove();

		showLoad(lnk);
		
		if(area_id != ''){
			if(list = getSpecialities(area_id)){
				
				hideLoad(lnk);
				if(list != 'none'){
					createSpecialityList(area_id);
				}else{					
					clearSpecialityList();
				};

			}
		}

		return false;
	}
	
	function clearSpecialityList(){
		$('#t_specs').html('');
		
	}
	
	function createSpecialityList(id){
		
		if(typeof speciality[id] != 'object' || !speciality[id].length) return false;
		
		col = Math.ceil(speciality[id].length / 3);
		i = 0; html = '<h5>специализации:</h5><ul>';
		while(speciality[id][i] != null){
			if(i > 0 && i%col == 0) html += '</ul><ul>';
			html += '<li><label for="spec' + speciality[id][i].id + '"><input type="checkbox" class="ch" id="spec'+speciality[id][i].id+'" name="speciality[' + speciality[id][i].id + ']" value="1"> '+speciality[id][i].title+'</label></li>';
			i++;
		};
		html += '</ul><div class="clb"></div>';

		$('#t_specs').html(html).filter(':hidden').show();
		modifyCheckboxes('#t_specs');
	}
		
	function getSpecialities(id){
		if(id == null) return false;

		if(speciality[id] != null) return speciality[id];

		$.getJSON("/speciality/get/"+id, function(json){
		  if(json.errors == null){
			  i = 0;
			  speciality[id] = 'none';
			  
			  if(json.data != null){
				  if(json.data.list != null && json.data.list.length){
					  speciality[id] = json.data.list;
				  }
			  }
			 return loadSpecialities();
		  }
		});
	};
	
	
});
