var downBasePath = location.protocol+"//"+location.host;
var touchenexBaseDir = "/emwp/jsp/cgg/TouchEn";
if (typeof JSON !== "object" || navigator.userAgent.match(/msie 8/i)) {
	try {
		JSON = {};
		document.write("");
	} catch(e) {
		alert("json2.js load error");
	}
}
var nxKey = {
	//λ© λͺ¨λ λ° Protocol λ² 28
	"processingbar"			: true,
	"processingbarimg"		: touchenexBaseDir + "/nxKey/images/processing.gif",
	"TouchEnNxKey"			: touchenexBaseDir + "/nxKey/js/",
	"TouchEnNxKey_Install"	: touchenexBaseDir + "/nxKey/js/",
	"exproto"				: touchenexBaseDir + "/cmn/",
	"TouchEnNxKey_Interface": touchenexBaseDir + "/nxKey/js/",
	"tkappiver"				: "1.0.0.24",//1.0.0.26
	"tkappmver"				: "1.0.0.17",//1.0.0.22
	"exWinVer"				: "1.0.0.48",//1.0.0.34
	"exWinClient"			: downBasePath + touchenexBaseDir + "/nxKey/module/TouchEn_nxKey_Installer_32bit.exe",
	"exWin64Ver"			: "1.0.0.48",//1.0.0.34
	"exWin64Client"			: downBasePath + touchenexBaseDir + "/nxKey/module/TouchEn_nxKey_Installer_64bit.exe",
	"exWinProtocolVer"		: "1.0.1.774",//1.0.1.845
	"exWinProtocolDownURL"	: downBasePath + touchenexBaseDir + "/nxKey/module/TouchEn_nxKey_Installer_32bit.exe",
	"exWin64ProtocolDownURL": downBasePath + touchenexBaseDir + "/nxKey/module/TouchEn_nxKey_Installer_64bit.exe",
	"exChromeExtVer"		: "1.0.1.12",
	"exChromeExtDownURL"	: "https://chrome.google.com/webstore/detail/dncepekefegjiljlfbihljgogephdhph",
	"exFirefoxExtVer"		: "1.0.1.11",
	"exFirefoxExtDownURL"	: downBasePath + touchenexBaseDir + "/nxKey/module/touchenex_firefox.xpi",
	"exFirefoxExtIcon"		: "",//48*48 icon
	"exOperaExtVer"			: "1.0.1.12",
	"exOperaExtDownURL"		: downBasePath + touchenexBaseDir + "/nxKey/module/touchenex_opera.nex",
	"blankPath"				: touchenexBaseDir + "/cmn/",
	"json2Path"				: touchenexBaseDir + "/cmn/",
	"tkInstallpage"			: touchenexBaseDir + "/install/install.html"+"?"+"&url=" + encodeURIComponent(window.location.href),	
	"tkMainpage"			: "",
	"lic"					: "eyJ2ZXJzaW9uIjoiMS4wIiwiaXNzdWVfZGF0ZSI6IjIwMTUwNzI4MTQwOTQ5IiwicHJvdG9jb2xfbmFtZSI6InRvdWNoZW5leCIsInV1aWQiOiJhNjgzN2Y1ZmFhNTk0ZTllOWE1ZDFlYjgwZjBhYjkzOCIsImxpY2Vuc2UiOiJYa1RLU3VMRlwvUitCcUdRR21pR2d0VUxSUFg1Z21zWnpOYVZUa3YwM1BYdk45bkt3aWo2bDFiOVp4OXVvaW8ySFllS3RHQnJVa3p5aHJtVjRcL1B2ckw3UW5jUEoyMVpYdU1TWWJCb3ROU1pNWE1YcTNJbDJZOXIzYUQ0bnFxWW5wQlhEcjlpUDUzV21EQzRwVVc3VDlpaVUzZFE0bW8zd3ZIckdRRzJlemNnNmlZaG43WVk0STlkT3h5c2JwMGJuaU1WdmFBaDlXOXQ4dHBLNUhNVDltdDFDbFZnYk90UkhPK2J6ODNJYkRnNllUcGc0dVRhY2V1emZoU0F0bnBZRWMifQ==",
	"exEdgeInfo" : {
		"isUse"			: true,
		"addScript"		: downBasePath + touchenexBaseDir + "/cmn/TouchEnNx_daemon.js",
		"portChecker"	: downBasePath + touchenexBaseDir + "/cmn/TouchEnNx_port_checker.js",
		"localhost"		: "wss://127.0.0.1",
		"edgeStartPort"	: 34581,
		"portChkCnt"	: 3,
		"daemonVer"		: "1.0.1.845",
		"daemonDownURL"	: downBasePath + touchenexBaseDir + "/nxKey/module/TouchEn_nxKey_Installer_32bit.exe"
	}
};
var TouchEnUtil = {
getOSInfo : function(){
	var
		tp = navigator.platform,
		ua = navigator.userAgent,
		tem;
	var result = {};
	
	// platform
	if (tp == "Win32" || tp == "Win64") result.platform = "WINDOWS";
	else result.platform = "UNKNOWN";
	if(result.platform == "WINDOWS"){
		if(ua.indexOf("Windows NT 5.1") != -1) {result.version="5.1"; result.name="XP";}
		else if(ua.indexOf("Windows NT 6.0") != -1) {result.version="6.0"; result.name="VISTA";}
		else if(ua.indexOf("Windows NT 6.1") != -1) {result.version="6.1"; result.name="7";}
		else if(ua.indexOf("Windows NT 6.2") != -1) {result.version="6.2"; result.name="8";}
		else if(ua.indexOf("Windows NT 6.3") != -1) {result.version="6.3"; result.name="8.1";}
		else if(ua.indexOf("Windows NT 6.4") != -1) {result.version="6.4"; result.name="10";}
		else if(ua.indexOf("Windows NT 10.0") != -1) {result.version="10.0"; result.name="10";}
		else if(ua.indexOf("Windows NT") != -1){
			// TODO
		} else {
			result.version="UNKNOWN"; result.name="UNKNOWN";
		}
		if(ua.indexOf("WOW64") != -1 || ua.indexOf("Win64") != -1) result.bit="64";
		else result.bit="32";
	}
	return result;
},
isWin : function() {
	var OSInfo = TouchEnUtil.getOSInfo().platform;
	if(!OSInfo) OSInfo = TouchEnUtil.getOSInfo().platform;
	if (OSInfo == "WINDOWS") return true;
	return false;
},
getBrowserInfo : function(){
	var
		tp = navigator.platform,
		N= navigator.appName,
		ua= navigator.userAgent,
		tem;
	var result, M;
	
	//exlog("appName", N);
	//exlog("userAgent", ua);
	
	// if Edge
	M = ua.match(/(edge)\/?\s*(\.?\d+(\.\d+)*)/i);
	M = M ? {"browser":"Edge", "version":M[2]} : M;
	
	// if opera
	if(!M){
		M = ua.match(/(opera|opr)\/?\s*(\.?\d+(\.\d+)*)/i);
		if(M && (tem = ua.match(/version\/([\.\d]+)/i)) != null) M[2] = tem[1];
		M = M ? {"browser":"Opera", "version":M[2]} : M;
	}
	
	// if IE7 under
	if(!M) {
		M = ua.match(/MSIE ([67].\d+)/);
		if(M) M = {"browser":"MSIE", "version":M[1]};
	}
	
	// others
	if(!M) {
		M = ua.match(/(msie|trident|chrome|safari|firefox)\/?\s*(\.?\d+(\.\d+)*)/i);
		if(M){
			if((tem = ua.match(/rv:([\d]+)/)) != null) {
				M[2] = tem[1];
			} else if((tem = ua.match(/version\/([\.\d]+)/i)) != null) {
				M[2] = tem[1];
			}
			if(M[1] == "Trident") M[1] = "MSIE";
			M = M? {"browser":M[1], "version":M[2]} : {"browser":N, "version1":navigator.appVersion,"other":'-?'};
		}
	}
	
	if(!M){
		return {"browser":"UNDEFINED", "version":""};
	}
	
	if(M.version){
		var verArr = (M.version).split(".");
		M.version = verArr[0];
	}
	
	if(M.browser == "MSIE" || M.browser == "Edge") {
		if(tp == "Win32"){
			M.bit = "32";
		} else if (tp == "Win64"){
			M.bit = "64";
		}
	}
	
	result = M;
	
	//exlog("CrossEXUtil.getBrowserInfo", result);
	return result;
},
getBrowserVer : function() {
	var browserInfo = TouchEnUtil.getBrowserInfo();
	return browserInfo.version;
},
getBrowserBit : function() {
	var browserInfo = TouchEnUtil.getBrowserInfo();
	return browserInfo.bit;
},
isIE : function() {
	var browserInfo = TouchEnUtil.getBrowserInfo();
	if(!browserInfo) browserInfo = TouchEnUtil.getBrowserInfo();
	if(browserInfo.browser.toLowerCase().indexOf("msie") != -1) {
		return true;
	} else {
		return false;
	}
},
isEdge : function() {
	var browserInfo = TouchEnUtil.getBrowserInfo();
	if(!browserInfo) browserInfo = TouchEnUtil.getBrowserInfo();
	if(browserInfo.browser.toLowerCase().indexOf("edge") != -1) {
		return true;
	} else {
		return false;
	}
},
isChrome : function() {
	var browserInfo = TouchEnUtil.getBrowserInfo();
	if(!browserInfo) browserInfo = TouchEnUtil.getBrowserInfo();
	if(browserInfo.browser.toLowerCase().indexOf("chrome") != -1) {
		return true;
	} else {
		return false;
	}
},
isFirefox : function() {
	var browserInfo = TouchEnUtil.getBrowserInfo();
	if(!browserInfo) browserInfo = TouchEnUtil.getBrowserInfo();
	if(browserInfo.browser.toLowerCase().indexOf("firefox") != -1) {
		return true;
	} else {
		return false;
	}
},
isOpera : function() {
	var browserInfo = TouchEnUtil.getBrowserInfo();
	if(!browserInfo) browserInfo = TouchEnUtil.getBrowserInfo();
	if(browserInfo.browser.toLowerCase().indexOf("opera") != -1) {
		return true;
	} else {
		return false;
	}
},
isSafari : function() {
	var browserInfo = TouchEnUtil.getBrowserInfo();
	if(!browserInfo) browserInfo = TouchEnUtil.getBrowserInfo();
	if((browserInfo.browser).toLowerCase().indexOf("safari") != -1) {
		return true;
	} else {
		return false;
	}
},
"muduleMinVer" : {
	"MSIE"			: "6",
	"chromeMinVer"	: "38",
	"FireFoxMinVer"	: "36",
	"OperaMinVer"	: "26",
	"SafariMinVer"	: "5",
	"Edge"			: "ALL"
	}
};
var useTouchEnnxKey = false;
try{
	if(TouchEnUtil.isWin()){
		if(TouchEnUtil.isIE() && parseInt(TouchEnUtil.getBrowserVer()) >= parseInt(TouchEnUtil.muduleMinVer.MSIE)) useTouchEnnxKey = true;
		else if(TouchEnUtil.isChrome() && parseInt(TouchEnUtil.getBrowserVer()) >= parseInt(TouchEnUtil.muduleMinVer.chromeMinVer)) useTouchEnnxKey = true;
		else if(TouchEnUtil.isFirefox() && parseInt(TouchEnUtil.getBrowserVer()) >= parseInt(TouchEnUtil.muduleMinVer.FireFoxMinVer)) useTouchEnnxKey = true;
		else if(TouchEnUtil.isOpera() && parseInt(TouchEnUtil.getBrowserVer()) >= parseInt(TouchEnUtil.muduleMinVer.OperaMinVer)) useTouchEnnxKey = true;
		else if(TouchEnUtil.isSafari() && parseInt(TouchEnUtil.getBrowserVer()) >= parseInt(TouchEnUtil.muduleMinVer.SafariMinVer)) useTouchEnnxKey = true;
		else if(TouchEnUtil.isEdge())	/*Edge λΈΌμ°μ ¬μ ¬λ*/useTouchEnnxKey = true;
		else useTouchEnnxKey = false;
	} else{
		useTouchEnnxKey = false;
	}
}catch(e){
	useTouchEnnxKey = false;
}
document.write("");
document.write("");
document.write("");
document.write("");
if(TouchEnUtil.isEdge() && useTouchEnnxKey){
	document.write("");
};
//$(document).ready(function(){
//	if (typeof TouchEnKey_installpage != "string" && useTouchEnnxKey){
//		TK_Loading();
//	}else{
		/**
		 * €λ³΄λ³΄μ λ―Έμ OS  λΈΌμ°μ
. κ°€ν¨λ ¬μ Defaultλ‘ λ³κ² ©λ.
		 * κ°€ν¨λ   κ²½μ  ΄μλ‘ ΄λ λΈΌμ°μ 
°μ΄ν   OS¬μ κΆ₯μ ©λ.
		**/
//	}
//});
function TK_initSucuess(){
	//€λ³΄λ³΄μ λ‘  μ²λ¦ ΄μ©μ μΆκ° .
	// ex : processingbar false
	// ex : 첫λμ§  focus ±λ
	TK_processingbar(false);
}