
var VP_VERSION = "2,1,1,9";

//»çÀÌÆ®º°·Î º¯°æµÉ ³»¿ë ½ÃÀÛ
var VP_CABURL				= "http://" + document.location.host + "/veraport/veraport.cab";
var VP_EXEURL				= "http://" + document.location.host + "/veraport/veraport.exe";


var VP_AxInfoUrl      		= "http://acs.keb.co.kr/dist/nbebank.dist";
var VP_NbebankInfo 			= "http://acs.keb.co.kr/dist/nbebank.dist"
var VP_YescardInfo 			= "http://acs.keb.co.kr/dist/yescard.dist"
var VP_B2cInfo 	   			= "http://acs.keb.co.kr/dist/b2c.dist"
var VP_ClientInfoRecvUrl 	= "http://acs.keb.co.kr/ACSManager/recvClientInfo.do";
var VP_LogRecvUrl        	= "http://acs.keb.co.kr/ACSManager/recvInstallLog.do";


var VP_VeraPortInstallUrl	= "http://" + document.location.host + "/veraport/install_page/winstall.html";
var VP_LogoImageUrl			= "http://" + document.location.host + "/veraport/client_image/logo.gif";
var VP_MsgImageUrl		    = "http://" + document.location.host + "/veraport/client_image/msg.gif";
var VP_Msg2ImageUrl		  	= "http://" + document.location.host + "/veraport/client_image/msg2.gif";
var VP_LogoImageUrlEn		= "http://" + document.location.host + "/veraport/client_image/e_logo.gif";
var VP_MsgImageUrlEn		= "http://" + document.location.host + "/veraport/client_image/e_msg.gif";
var VP_Msg2ImageUrlEn		= "http://" + document.location.host + "/veraport/client_image/e_msg2.gif";

try {
	//VP_notUse();
	//VP_setDebug();
	VP_checkBrowser();
	VP_CreateObject();
} catch(err) {
    //090701ÀÏ ÁÖ¼®Ã³¸®ÇÔ (È­¸é¿¡ ³ª¿È)
	//alert("VP_Main\n[" + err + "]");
}

function VeraPortSetNbebank() {
	VP_AxInfoUrl = VP_NbebankInfo;
}
function VeraPortSetYescard() {
	VP_AxInfoUrl = VP_YescardInfo;
}
function VeraPortSetB2c() {
	VP_AxInfoUrl = VP_B2cInfo;
}

function GoVeraPortInstallPage() {
	if (window.location.href != VP_VeraPortInstallUrl)
		window.location.href = VP_VeraPortInstallUrl;
}

function VeraPortInstallCheck(goInstallPage) {
	if (!VP_isUse()) return false;
	try {
		if( ((typeof(this.document.VpCtrl) == "undefined") || (this.document.VpCtrl == "undefined")
			||(this.document.VpCtrl == null) || (this.document.VpCtrl.object == null) )) {
			if (goInstallPage) GoVeraPortInstallPage();
			return false;
		}
	}
	catch(err) {
		alert("VeraPortInstallCheck\n[" + err + "]");
	}
	return true;
}

function VeraPortShowAndInstallEn() {
	try {
		if(!VeraPortInstallCheck(true)) return;

		var obj = VP_GetObject();
		obj.SetActiveXInfoUrl(VP_AxInfoUrl);
		obj.SetClientInfoRecvUrl(VP_ClientInfoRecvUrl);
		obj.SetLogRecvUrl(VP_LogRecvUrl);
		obj.SetAutoClose(VP_TRUE);

		VP_SetLangEn();
		obj.SetLogo(VP_LogoImageUrlEn,VP_MsgImageUrlEn);

		var loadresult = VP_LoadInfo();

		if(loadresult != ERR_SUCCESS) {
			VP_alert(VP_GetLastError());
		}
		else {
			if(VP_GetMustNInstallCount() > 0) {
				VP_ShowAndInstall();
			}
		}
	}
	catch(err) {
		alert("VeraPortShowAndInstallEn\n[" + err + "]");
	}

}


function VeraPortShowEn() {
	try {
		if(!VeraPortInstallCheck(true)) return;

		var obj = VP_GetObject();
		obj.SetActiveXInfoUrl(VP_AxInfoUrl);
		obj.SetClientInfoRecvUrl(VP_ClientInfoRecvUrl);
		obj.SetLogRecvUrl(VP_LogRecvUrl);
		obj.SetAutoClose(VP_FALSE);

		VP_SetLangEn();
		obj.SetLogo(VP_LogoImageUrlEn,VP_Msg2ImageUrlEn);

		var loadresult = VP_LoadInfo();

		if(loadresult != ERR_SUCCESS) {
			alert(VP_GetLastError());
		}
		else {
			VP_ShowForce();
		}
	}
	catch(err) {
		alert("VeraPortShowEn\n[" + err + "]");
	}
}
function VeraPortShowAndInstall() {
	try {
		if(!VeraPortInstallCheck(true)) return;

		var obj = VP_GetObject();
		obj.SetActiveXInfoUrl(VP_AxInfoUrl);
		obj.SetClientInfoRecvUrl(VP_ClientInfoRecvUrl);
		obj.SetLogRecvUrl(VP_LogRecvUrl);
		obj.SetAutoClose(VP_TRUE);

		VP_SetLangKr();
		obj.SetLogo(VP_LogoImageUrl,VP_MsgImageUrl);

		var loadresult = VP_LoadInfo();


		if(loadresult != ERR_SUCCESS) {
			//alert(VP_GetLastError());
		}
		else {
			if(VP_GetMustNInstallCount() > 0) {
				VP_ShowAndInstall();
			}
		}
	}
	catch(err) {
		alert("VeraPortShowAndInstall\n[" + err + "]");
	}
}

function VeraPortShow() {
	try {
		if(!VeraPortInstallCheck(true)) return;

		var obj = VP_GetObject();
		obj.SetActiveXInfoUrl(VP_AxInfoUrl);
		obj.SetClientInfoRecvUrl(VP_ClientInfoRecvUrl);
		obj.SetLogRecvUrl(VP_LogRecvUrl);
		obj.SetAutoClose(VP_FALSE);

		VP_SetLangKr();
		obj.SetLogo(VP_LogoImageUrl,VP_Msg2ImageUrl);

		var loadresult = VP_LoadInfo();

		if(loadresult != ERR_SUCCESS) {
			alert(VP_GetLastError());
		}
		else {
			VP_ShowForce();
		}
	} catch(err) {
		alert("VeraPortShow\n[" + err + "]");
	}
}


var ERR_ERROR			= 0;
var ERR_SUCCESS			= 1;
var ERR_AXINFO_PARSE	= 1000;
var ERR_AXINFO_DOWNLOAD	= 1001;
var ERR_AXINFO_VERIFY	= 1002;
var ERR_AXINFO_EMPTY	= 1003;

var OBJTYPE_MUST		=(0);
var OBJTYPE_OPT			=(1);

var VP_TRUE				=(1);
var VP_FALSE			=(0);

var g_axm_cookie = "axm_show";

var VP_LANG_KR		=(0);
var VP_LANG_EN		=(1);


function VP_GetObject() {
	if(!VeraPortInstallCheck(false)) return null;
	return document.getElementById("VpCtrl");
}

function VP_SetLangKr() {
	var obj = VP_GetObject();
	if(obj == null) return;
	obj.SetLang(VP_LANG_KR);
}
function VP_SetLangEn() {
	var obj = VP_GetObject();
	if(obj == null) return;
	obj.SetLang(VP_LANG_EN);
}
function VP_Test() {
	alert("test");
}
function VP_CreateObject() {
	var VP_CLSID = "CLSID:967386A1-409E-431A-A93A-FB5FEFF86A58";

	var objstr = "";
	objstr += '<object id="VpCtrl" width="1" height="1" classid="';
	objstr += VP_CLSID;
	objstr += '" codebase="';
	objstr += VP_CABURL;
	objstr += '#version=';
	objstr += VP_VERSION;
	objstr += '"></object>';

	if (!VP_isUse()) return;
	document.write(objstr);
}

function VP_SetImage(logo,msg) {
	var obj = VP_GetObject();
	if(obj == null) return;
	obj.SetLogo(logo,msg);
}

function VP_GetAxInfo() {
    var obj = VP_GetObject();
	if(obj == null) return "null";
    return obj.GetAxInfo();
}
function VP_LoadInfo() {
    var obj = VP_GetObject();
	if(obj == null) return "null";
    var ret = obj.LoadInfo("");
	return ret;
}
function VP_GetLastError() {
	var obj = VP_GetObject();
	if(obj == null) return "null";
	return obj.GetLastErrorMsg();
}
function VP_SetAxInfoUrl(infourl) {
	var obj = VP_GetObject();
	if(obj == null) return;
	obj.SetActiveXInfoUrl(infourl);
}
function VP_Trim(str) {
	return str.replace(/^\s+|\s+$/g,"");
}
function VP_Util_ClearShow() {
	document.cookie = g_axm_cookie+"=true";
}
function VP_Util_GetShow() {
	var ck = document.cookie.split(";");
	for(var i=0;i<ck.length;i++) {
		var ckitem = ck[i].split("=");
		if(ckitem.length < 2) {
			continue;
		}
		if(VP_Trim(ckitem[0]) == g_axm_cookie) {
			if(ckitem[1] != "true") {
				return false;
			}
		}
	}
	return true;
}
function VP_Show() {
	if(VP_Util_GetShow() == false) {
		return;
	}
	var obj = VP_GetObject();
	if(obj == null) return;
	obj.Show();
}
function VP_ShowForce() {
	VP_Util_ClearShow();
	VP_Show();
}
function VP_Util_CheckObjs(objs) {
	if(objs == null || objs.length ==0 || objs[0].type == undefined) {
		return false;
	}
	return true;
}
function VP_Util_GetStateCnt(objs,statetype) {
	if(VP_Util_CheckObjs(objs) == false) {
		return 0
	}
	var cnt = 0;
	for(var i=0;i<objs.length;i++) {
		if(objs[i].state == statetype) {
			cnt++;
		}
	}
	return cnt;
}
function VP_Util_GetCnt(objs,objtype) {
	if(VP_Util_CheckObjs(objs) == false) {
		return 0
	}
	var cnt = 0;
	for(var i=0;i<objs.length;i++) {
		if(objs[i].type == objtype) {
			cnt++;
		}
	}
	return cnt;
}
function VP_Util_GetInstalledCnt(objs) {
	return	VP_Util_GetStateCnt(objs,0);
}
function VP_Util_GetUninstalledCnt(objs) {
	return	VP_Util_GetStateCnt(objs,1);

}
function VP_Util_GetMustCnt(objs) {
	return	VP_Util_GetCnt(objs,0);
}
function VP_Util_GetOptCnt(objs) {
	return	VP_Util_GetCnt(objs,1);

}
function VP_GetMustNInstallCount() {
	var axobj = VP_GetObject();
	var cnt = axobj.GetUninstalledCnt(OBJTYPE_MUST);
	return cnt;
}
function VP_ShowAndInstall() {
	var axobj = VP_GetObject();
	VP_Util_ClearShow();
	axobj.ShowType(1);
}


function VP_getCookie( name ) {
	try {
		var nameOfCookie = name + "=";
		var x = 0;
		while ( x <= document.cookie.length ) {
		var y = (x+nameOfCookie.length);
		if ( document.cookie.substring( x, y ) == nameOfCookie ) {
		   if ( (endOfCookie=document.cookie.indexOf( ";", y )) == -1 )
				endOfCookie = document.cookie.length;
		   return unescape( document.cookie.substring( y, endOfCookie ) );
		}
		   x = document.cookie.indexOf( " ", x ) + 1;
		   if ( x == 0 ) break;
		}
	}
	catch(err) {
		alert("VP_getCookie\n[" + err + "]");
	}
	return "";
}

function VP_isUse() {
	if (VP_getCookie("VeraPortUse") == "N") return false;
	return true;
}
function VP_setUse() {
	document.cookie="VeraPortUse=Y; path=/;";
}
function VP_notUse() {
	document.cookie="VeraPortUse=N; path=/;";
}

function VP_isDebug() {
	if (VP_getCookie("VeraPortDebug") == "Y") return true;
	return false;
}
function VP_setDebug() {
	document.cookie="VeraPortDebug=Y; path=/;";
}
function VP_notDebug() {
	document.cookie="VeraPortDebug=N; path=/;";
}
function VP_alert(msg) {
	if (VP_isDebug()) alert(msg);
}

function VP_checkBrowser() {
	try	{

		var brower_ver = "";
		if (navigator.appName == 'Netscape') {
			s = navigator.userAgent.indexOf("/");
			e = navigator.userAgent.indexOf(" ");
			brower_ver = navigator.userAgent.substring(s+1, s+4);
			VP_notUse();
		}
		else if(navigator.cpuClass.toLowerCase() == "x64") {
			VP_notUse();
		}
		else {
			s = navigator.userAgent.indexOf("MSIE ");
			if (s < 0) VP_unsetVeraPortUse();
			tmp = navigator.userAgent.substring(s+5);
			e = tmp.indexOf(";");
			brower_ver = tmp.substring(0, 3);
			if (brower_ver<5.0) VP_notUse();
		}

		if (!VP_isUse()) {
			var msg = "Version Information[";
				msg += brower_ver + "]";
				msg += "\n\nNavigator Information\n";
				msg += "navigator.appName \t[" + navigator.appName + "]\n";
				msg += "navigator.userAgent \t[" + navigator.userAgent + "]\n";
				msg += "navigator.appCodeName \t[" + navigator.appCodeName + "]\n";
				msg += "navigator.appVersion \t[" + navigator.appVersion + "]\n";
				msg += "navigator.systemLanguage \t[" + navigator.systemLanguage + "]\n";
				msg += "navigator.javaEnabled() \t[" + navigator.javaEnabled() + "]\n";
				msg += "navigator.systemLanguage \t[" + navigator.systemLanguage + "]\n";
				msg += "navigator.language \t\t[" + navigator.language + "]\n";
				msg += "navigator.platform \t\t[" + navigator.platform + "]\n";

			VP_alert(msg);
		}

	}
	catch(err) {
		alert("VP_CheckBrowser\n[" + err + "]");
	}
}


