
var MASTER_FORCUSED = "master_forcused";
var master;
var slaves = [];

//マスター用
(function($){

	$.fn.dispatchForcus = function()
	{
		var self = this;
		var _dispatchForcus = function(e)
		{
			var key = $(self).find('option:selected').attr('key');
			//console.log(key);
			for(var i = 0; i < slaves.length; i++)
			{
				slaves[i].trigger(MASTER_FORCUSED, [key]);
			};
		}
		
		$(this).bind("change", _dispatchForcus);
		return this;
	};
	
})(jQuery);

//スレイブ用
(function($){

	$.fn.forcusObserve = function()
	{
		var self = this;
		var _execute = function(id, data)
		{
			$(self).empty();
			for(var el in data)
			{
				var add = '\n<option value="' + data[el] + '">' + data[el] + '</option>';
				$(self).append(add);
			}
		};
		
		$(this).bind(MASTER_FORCUSED, function(e, key){
			var selfId = $(this).attr("id");
			var data = config[key][selfId];
			_execute(selfId, data);
		});
	};
	
})(jQuery);

//初期化
function init()
{
	master = $(MASTER).dispatchForcus();
	for(var i = 0; i < SLAVES.length; i++)
	{
		var tmp = $(SLAVES[i]);
		tmp.forcusObserve();
		slaves.push(tmp);
	};
};

$(document).ready(function(){
	init();
});
