// version 1.3

var IBX_ip			= "218.233.5.42";
var IBX_port			= 2020;
var IBX_connected			= false;
var IBX_running			= false;
var IBX_autoupload			= false;
var IBX_page_ip;
var IBX_page_port;
var IBX_page_baseUrl		= "";
var IBX_page_targetUrl		= "";
var IBX_page_docTitle		= "";
var IBX_page_etcParam		= "";

function IBX_onGotMessage(wParam, lParam, size, message)
{
	var	BIZMATE_IPC_RECV		= 0;
	var	BIZMATE_IPC_SENT		= 1;
	var	BIZMATE_IPC_CONNECTED		= 2;
	var	BIZMATE_IPC_CLOSED		= 3;
	var	BIZMATE_IPC_ERROR		= 4;
	
	switch (wParam)
	{
		case BIZMATE_IPC_SENT:
		case BIZMATE_IPC_CONNECTED:
		case BIZMATE_IPC_CLOSED:
		case BIZMATE_IPC_ERROR:
			break;
				
		case BIZMATE_IPC_RECV:
			{
				if (size <= 0)
					break;
						
				if (message == 'VCH RUN OK\r\n')
				{
					IBX_running	= true;
				}
				else if (message == 'VCH END\r\n')
				{
					IBX_running	= false;
				}
				else if (message == 'VCH UPL READY\r\n')
				{
					if (IBX_autoupload == true)
					{
						setTimeout("IBX_shareThisPage();", 2000);
					}
				}
				else
				{
					var	cmd	= message.substring(0, 7);
					
					if (cmd == 'VCH 1:1')
					{
						var	result	= message.substring(8, 11);
						
						if (result == 'OFF')
						{
							IBX_terminateMeeting();
							IBX_delayMessage('»ó´ë¹æÀÌ ¹ÌÁ¢¼ÓÁßÀÎ °Í °°½À´Ï´Ù.', 1500);
						}
						else if (result == 'RJT')
						{
							IBX_terminateMeeting();
							IBX_delayMessage('»ó´ë¹æÀÌ ¿µ»óÅëÈ­¸¦ °ÅÀýÇß½À´Ï´Ù.', 1500);
						}
					}
					else if (cmd == 'VCH INV')
					{
						var	result	= message.substring(8, 11);
						var callee	= message.substring(12, size - 2);
						
						if (result == 'OFF')
						{
							IBX_delayMessage('ID °¡ ' + callee + ' ÀÎ »ç¿ëÀÚ´Â ¹ÌÁ¢¼ÓÁßÀÎ °Í °°½À´Ï´Ù.', 1000);
						}
						else if (result == 'RJT')
						{
							IBX_delayMessage('ID °¡ ' + callee + ' ÀÎ »ç¿ëÀÚ´Â È¸ÀÇÂü¿©¸¦ °ÅÀýÇß½À´Ï´Ù.', 1000);
						}
						else if (result == 'BSY')
						{
							IBX_delayMessage('ID °¡ ' + callee + ' ÀÎ »ç¿ëÀÚ´Â ¿µ»óÈ¸ÀÇÁßÀÔ´Ï´Ù.', 1000);
						}
						else if (result == 'WRG')
						{
							IBX_delayMessage('È¸ÀÇ½Ç Á¤º¸°¡ ¿Ã¹Ù¸£Áö ¾Ê¾Æ ÃÊÃ»ÀÌ ºÒ°¡´ÉÇÕ´Ï´Ù.', 1000);
						}
						else if (result == 'FUL')
						{
							IBX_delayMessage('È¸ÀÇ½Ç ÀÎ¿øÃÊ°ú·Î ÃÊÃ»ÀÌ ÃÊÃ»ÀÌ ºÒ°¡´ÉÇÕ´Ï´Ù.', 1000);
						}
						else if (result == 'UKW')
						{
							IBX_delayMessage('¾Ë ¼ö ¾ø´Â ¿À·ù·Î ÃÊÃ»ÀÌ ºÒ°¡´ÉÇÕ´Ï´Ù.', 1000);
						}
						else if (result == 'ACT')
						{
							IBX_delayMessage('ID °¡ ' + callee + ' ÀÎ »ç¿ëÀÚ´Â È¸ÀÇÂü¿©¸¦ ¼ö¶ôÇß½À´Ï´Ù.', 1000);
						}
					}
				}
			}
			break;			
	}
}

function IBX_init(ip, port, userId, userName, userPwd)
{
	IBizmateX.setIp(ip);
	IBizmateX.setPort(port);
	IBizmateX.setUserInfo(userId, userName, userPwd);
}

function IBX_connect()
{
	if (IBX_connected == false)
	{
		if (IBizmateX.initialize() == false)
		{
			alert("¿µ»óÈ¸ÀÇ ½Ã½ºÅÛ¿¡ ¿¬°áÇÒ ¼ö ¾ø½À´Ï´Ù!");
		}
		else
		{
			IBX_connected	= true;
		}
	}
	
	return	IBX_connected;
}

function IBX_deinit()
{
	IBX_connected		= false;
	IBX_running		= false;
	IBX_autoupload		= false;
	
	IBizmateX.deinitialize();
}

function IBX_checkUpdates(parameter)
{
	IBizmateX.checkUpdates(parameter + '/m:noexecute');
}

function IBX_executeMessenger(parameter)
{
	IBizmateX.checkUpdates(parameter);
}

function IBX_checkUpdates(parameter)
{
	IBizmateX.checkUpdates(parameter);
}

function IBX_delayMessage(message, delay)
{
	setTimeout("alert('" + message + "');", delay);
}

function IBX_terminateMeeting()
{
	if (IBX_connected == true)
	{
		IBizmateX.notify("VCH EXT\r\n");
	}
}

function IBX_getUserInfo(siteName)
{
	return	IBizmateX.getUserInfo(siteName);
}

function IBX_saveUserInfo(siteName, id, pwd)
{
	return	IBizmateX.saveUserInfo(siteName, id, pwd);
}

function IBX_getProxyInfo()
{
	IBizmateX.getProxyInfo();
}

function IBX_setProxyInfo(useProxy, type, ip, port, userId, userPwd)
{
	return	IBizmateX.setProxyInfo(useProxy, type, ip, port, userId, userPwd);
}

function IBX_inviteUser(userId, message)
{
	if (IBX_connected == true && IBX_running == true)
	{
		if (IBizmateX.inviteUser(userId, message) == false)
		{
			alert("ÃÊ´ë°¡ ºÒ°¡´ÉÇÕ´Ï´Ù.");
		}
	}
	else
	{
		alert("È¸ÀÇ½ÇÀ» ¸ÕÀú °³¼³ÇØÁÖ½Ê½Ã¿ä.");
	}	
}

function IBX_inviteUsers(userList, message)
{
	if (IBX_connected == true && IBX_running == true)
	{
		var userListArray = userList.split(";");

		for (var i=0; i<userListArray.length; i++)
		{
			if (IBizmateX.inviteUser(userListArray[i], message) == false)
			{
				alert("ÃÊ´ë°¡ ºÒ°¡´ÉÇÕ´Ï´Ù.");
				break;
			}
		}
	}
	else
	{
		alert("È¸ÀÇ½ÇÀ» ¸ÕÀú °³¼³ÇØÁÖ½Ê½Ã¿ä.");
	}
}

function IBX_openMeeting(title)
{
	if (IBX_connected == true && IBX_running == true)
	{
		alert("È¸ÀÇ½ÇÀÌ ÀÌ¹Ì °³¼³µÇ¾î ÀÖ½À´Ï´Ù.");
	}
	else
	{
		if (IBX_connected == false)
		{
			if (IBX_connect())
			{		
				setTimeout("IBX_openMeeting('" + title + "');", 2000);	
			}
			else
			{
				alert("È¸ÀÇ½Ç °³¼³ÀÌ ºÒ°¡´ÉÇÕ´Ï´Ù!");
			}
		}
		else
		{
			IBizmateX.openMeeting(0, 12, 12, 7, title, "");
		}
	}
}

function IBX_request1to1Meeting(userId)
{
	if (IBX_connected == false)
	{
		if (IBX_connect())
		{
			setTimeout("IBX_request1to1Meeting('" + userId + "');", 2000);
		}
		else
		{
			alert("¿µ»óÈ¸ÀÇ ½ÇÇàÀÌ ºÒ°¡´ÉÇÕ´Ï´Ù!");
		}
	}
	else
	{
		if (IBX_running == true)
		{
			alert("ÀÌ¹Ì ¿µ»óÈ¸ÀÇ°¡ ÁøÇàµÇ°í ÀÖ½À´Ï´Ù.");
		}
		else
		{
			if (IBizmateX.requestMeeting(userId) == false)
			{
				alert("¿µ»óÈ¸ÀÇ ½ÇÇàÀÌ ºÒ°¡´ÉÇÕ´Ï´Ù!");
			}
		}
	}	
}

function IBX_shareUrl(ip, port, baseUrl, targetUrl, docTitle, etcParam)
{
	if (IBX_connected == true && IBX_running == true)
	{
		var command	= "VCH UPL HTTP " + ip + ";" + port + ";" + baseUrl + ";" + targetUrl + ";" + docTitle + ";" + etcParam + "\r\n";		
		
		IBizmateX.notify(command);
	}
}

function IBX_shareThisPage()
{
	IBX_shareUrl(IBX_page_ip, IBX_page_port, IBX_page_baseUrl, IBX_page_targetUrl, IBX_page_docTitle, IBX_page_etcParam);
}

function IBX_runSSOAgent()
{
	IBizmateX.runSSOAgent();
}

