LocalBroker.prototype._CheckPort_ = function(that)
{
	var Class = new Type();
	var Bool = Class.CheckPositiveIntegers($(that).val());
	if(Bool==false)
	{
		$(that).val(1883);
	}
	LocalBroker.prototype._SynchronizeModifyGlobalVariable_();
};

LocalBroker.prototype._CheckAccount_ = function(that)
{
	$(that).closest(".RightColumn").find(".Message").hide();
	var Class = new Type();
	if($(that).val() == "")
	{
		$(that).closest(".RightColumn").find(".Message").eq(0).show();
		return 0;
	}
	else if(Class.EnglishDigital($(that).val()) == false)
	{
		$(that).closest(".RightColumn").find(".Message").eq(1).show();
		return 0;
	}
	LocalBroker.prototype._SynchronizeModifyGlobalVariable_();
};

LocalBroker.prototype._CheckPassword_ = function(that)
{	
	$(that).closest(".RightColumn").find(".Message").hide();
	var Class = new Type();
	if($(that).val() == "")
	{
		$(that).closest(".RightColumn").find(".Message").eq(0).show();
		return 0;
	}
	else if(Class.EnglishDigital($(that).val()) == false)
	{
		$(that).closest(".RightColumn").find(".Message").eq(1).show();
		return 0;
	}
	LocalBroker.prototype._SynchronizeModifyGlobalVariable_();
};

LocalBroker.prototype._ChangeAnonymousLogin_ = function(that)
{
	var Row = $(that).closest(".Form").find(".Row");
	var Bool = $(that).closest(".Row").find(":checkbox").prop("checked");
	if(Bool == true)
	{
		Row.eq(2).find(".RightColumn").find(".Text").val("");
		Row.eq(2).find(".RightColumn").find(".Message").hide();
		Row.eq(2).hide();
		Row.eq(3).find(".RightColumn").find(".Text").val("")
		Row.eq(3).find(".RightColumn").find(".Message").hide();
		Row.eq(3).hide();
	}
	else if(Bool == false)
	{
		Row.eq(2).find(".RightColumn").find(".Message").eq(0).show();
		Row.eq(2).show();
		Row.eq(3).find(".RightColumn").find(".Message").eq(0).show();
		Row.eq(3).show();
	}
	LocalBroker.prototype._SynchronizeModifyGlobalVariable_();
};

LocalBroker.prototype._CollectData_ = function()
{
	var Form = $("#Main_Center-Content").find(".Form").eq(0);
	var Port = Form.find(".Row").eq(0).find(".Text").val();
	var AnonymousLogin = Form.find(".Row").eq(1).find(":checkbox").prop("checked");
	var Account = Form.find(".Row").eq(2).find(".Text").val();
	var Password = Form.find(".Row").eq(3).find(".Text").val();
	var Return = new Array(Port, AnonymousLogin, Account, Password);
	return Return;
};

LocalBroker.prototype._TransmissionSetting_ = function(that, ssocket, array)
{
	ssocket.emit("SaveLocalBrokerSetting", array);	
	ssocket.on("SaveLocalBrokerSetting", function (Return) {
		if(Return == true)
		{
			$(that).closest('.Row').find(".Loading").hide();
			$(that).closest('.Row').find(".Message").eq(0).show();
		}
		else if(Return  == false)
		{
			$(that).closest('.Row').find(".Loading").hide();
			$(that).closest('.Row').find(".Message").eq(1).show();
		}
		ssocket.emit("SocketClose");
	});
};

LocalBroker.prototype._AllDataIsCorrect_ = function()
{
	var Return = true;
	var length = $(".Form").eq(0).find(".Row").length;
	for(var i=0; i<length; i++)
	{
		var ShowMessage = $(".Form").eq(0).find(".Row").eq(i).find(".Message").eq(0).is(":visible");
		if(ShowMessage == true)
		{
			Return = false;
		}
	}
	return Return;
};

LocalBroker.prototype._SaveLocalBrokerSetting_ = function(that)
{
	$(that).closest('.Row').find(".Loading").show();
	$(that).closest('.Row').find(".Message").hide();
	if(LocalBroker.prototype._AllDataIsCorrect_() == false)
	{
		$(that).closest('.Row').find(".Loading").hide();
		$(that).closest('.Row').find(".Message").eq(2).show();
		return 0;
	}
	var array = Global_LocalBroker;
	var ssocket = io.connect();
	LocalBroker.prototype._TransmissionSetting_(that, ssocket, array);
};

LocalBroker.prototype._GetUiData_ = function(ssocket)
{
	var array = Global_LocalBroker;
	LocalBroker.prototype._SetUiData_(array);
};

LocalBroker.prototype._SetUiData_ = function(array)
{
	$(".Form").find(".Row").eq(0).find(".Text").val(array[0]);
	
	$(".Form").find(".Row").eq(1).find(":checkbox").prop("checked", array[1]);
	if(array[1] == false)
	{
		$(".Form").find(".Row").eq(2).show();
		$(".Form").find(".Row").eq(3).show();
	}
	else if(array[1] == true)
	{
		$(".Form").find(".Row").eq(2).hide();
		$(".Form").find(".Row").eq(3).hide();
	}
	$(".Form").find(".Row").eq(2).find(".Text").val(array[2]);
	$(".Form").find(".Row").eq(3).find(".Text").val(array[3]);
	$(".Form").show();
};

LocalBroker.prototype._ShowUi_ = function(that)
{
	$(".Form").hide();
	var ssocket = io.connect();
	LocalBroker.prototype._GetUiData_(ssocket);
};

LocalBroker.prototype._SynchronizeModifyGlobalVariable_ = function()
{
	if(LocalBroker.prototype._AllDataIsCorrect_() == false){
		return 0;
	}
	Global_LocalBroker = LocalBroker.prototype._CollectData_();	
};