/*
* Класс работы с ajax-выпадающими списками
* Урушев Владимир (c) ООО "Магия золота", 2009
* urushev@yandex.ru
*/

jQuery.fn.ajaxCombo = function(settings) {
	this.each(function(){
		var elem = $(this);
		
		if (elem.attr('type') != 'select-one')
			return true;
			
		/*elem.attr('disabled','disabled');*/
		
		$.ajax({
			type: "POST",
			url: '/index.php',
			cache: false,
			data: {'hash': elem.attr('shash')},
			dataType: 'json',
			success: function(data){
				if (data){
					elem.empty();
				
					for (i = 0; i < data.length; i++){
						elem.get(0).options.add(new Option (data[i].text, data[i].value, false, data[i].selected == 1));
					}
				
				/*elem.removeAttr('disabled');*/
				
					if (settings)
						if (settings.update)
							elem.change();
				}
			}
		});
		
		elem.unbind('change');
		
		elem.change(function(){
			var submission = $(this).attr('submission');
			
			$.ajax({
				type: 'POST',
				url: '/index.php',
				cache: false, 
				data:{
					m: 'savevars',
					n: $(this).attr('id'),
					v: $(this).val()
				},
				success: function(data){
					if (submission)
						
						try{
							$( submission ).ajaxCombo();
							$( submission ).ajaxUpdate();
						}catch(err){}
						
				}
			});
		});
	});
		
	return this;
};
