
var USING_CUSTOM_IMAGE = 0; 
var CUSTOM_IMAGE_URL = "";
var USING_CKKeyPro = "1";		



var CKKeyPro_CLSID="clsid:6CE20149-ABE3-462E-A1B4-5B549971AA38";	

var XecureCK_CODEBASE_x64 = "/XecureObject/CKKeyPro_64.cab";
var XecureCK_CODEBASE_x86 = "/XecureObject/CKKeyPro_32k.cab";
var XecureCK_VERSION = "version=3,0,2,4";

var Multi_InstallBinary = "/XecureObject/CKKeyPro_Installer_Multi.exe";
var Multi_Version = "1.0.0.27";
var Multi_InstallPage = "./iris/vsc/RVSCDownApp1J.jsp#num03";
var Multi_IndexPage = "./PMainJ.jsp";


CKBrowser.prototype = {
	getBrowserName : function ()
	{
		var result;

		if (this.mUserAgent.indexOf (this.cMSIE) != -1)				// Explorer
			result = this.cMSIE;

		else if (this.mUserAgent.indexOf (this.cOPERA) != -1)			// Opera
					result = this.cOPERA;
					
		else if (this.mUserAgent.indexOf (this.cSEAMONKEY) != -1)		// Seamonkey
					result = this.cSEAMONKEY;

		else if (this.mUserAgent.indexOf (this.cSAFARI) != -1)		// Å©·ÒÀÇ mUserAgent³»¿ë¿¡ "»çÆÄ¸®", "Å©·Ò" ½ºÆ®¸µÀÌ °°ÀÌ µé¾î ÀÖ´Ù
		{
			if (this.mUserAgent.indexOf (this.cCHROME) != -1)
				result = this.cCHROME;
			else
				result = this.cSAFARI;
		}	

		else if (this.mUserAgent.indexOf (this.cFIREFOX) != -1)
		{
			if (this.mUserAgent.indexOf ("Navigator") != -1)		// Netscape 9
				result = this.cNETSCAPE9;
			else if (this.mUserAgent.indexOf (this.cNETSCAPE) != -1)		// Netscape 6
				result = this.cNETSCAPE;
			else
				result = this.cFIREFOX;								// Firefox
		}
		else if (this.mUserAgent.indexOf ("BonEcho") != -1)	// Netscape 6
			result = this.cFIREFOX;								// Firefox


		else if (this.mUserAgent.indexOf (this.cNETSCAPE) != -1)	// Netscape 6
			result = this.cNETSCAPE;

		else if (this.mUserAgent.indexOf ("Mozilla/4") != -1)		// Netscape 4
			result = this.cNETSCAPE4;

		else
			result = this.cUNSUPPORT;								// Unsupport

		return result;
	},

	getBrowserVersion : function ()
	{
		var result;
		var fromIndex = this.mUserAgent.indexOf (this.mBrowser);

		if (this.mBrowser == this.cMSIE)
		{
			fromIndex += 5;
			result = this.mUserAgent.substring (fromIndex,
												this.mUserAgent.indexOf (";", fromIndex));
		}
		else if (this.mBrowser == this.cSAFARI)
		{
			fromIndex = this.mUserAgent.indexOf ("Version") + 8;
			result = this.mUserAgent.substring (fromIndex,
												this.mUserAgent.indexOf (" ", fromIndex));
		}
		else if (this.mBrowser == this.cFIREFOX)
		{
			fromIndex += 8;
			result = this.mUserAgent.substring (fromIndex,
								this.mUserAgent.indexOf (" ", fromIndex));
		}
		else if (this.mBrowser == this.cNETSCAPE9)
		{
			fromIndex = this.mUserAgent.indexOf ("Navigator") + 10;
			result = this.mUserAgent.substring (fromIndex, 
												this.mUserAgent.indexOf (" ", fromIndex));
		}
		else if (this.mBrowser == this.cNETSCAPE)
		{
			fromIndex += 10;
			result = this.mUserAgent.substring (fromIndex);
		}
		
		else if (this.mBrowser == this.cNETSCAPE4)
		{
			fromIndex = this.mUserAgent.indexOf ("Mozilla") + 8;
			result = this.mUserAgent.substring (fromIndex, fromIndex + 4);
		}
		else if (this.mBrowser == this.cOPERA)		//jrkim ¿ÀÆä¶ó
		{
			fromIndex = this.mUserAgent.indexOf ("Opera") + 6;
			result = this.mUserAgent.substring (fromIndex, 
												this.mUserAgent.indexOf (" ", fromIndex));
		}
		else if (this.mBrowser == this.cCHROME)		//jrkim Å©·Ò
		{
			fromIndex = this.mUserAgent.indexOf ("Chrome") + 7;
			result = this.mUserAgent.substring (fromIndex,
												this.mUserAgent.indexOf (" ", fromIndex));
		}
		else
			result = 0;

		return result;
	},
	
	
	getPluginType : function ()
	{
		var result;
		if (this.mPlatform == this.cWIN32){		
			if (this.mBrowser == this.cMSIE){
					return this.cACTIVEX;
			} else if (this.mBrowser == this.cFIREFOX ||
							this.mBrowser == this.cSAFARI ||
							this.mBrowser == this.cCHROME ||
				  		this.mBrowser == this.cOPERA ||
				  		this.mBrowser == this.cNETSCAPE9){
					return this.cNPRUNTIME;
			}
		}
	}
};

//
//jrkim 20090803
//
function CKBrowser ()		
{
	/* O/S Constant List */
	this.cWIN				= "Win";
	this.cWIN32			= "Win32";
	this.cWIN64			= "Win64";

	this.cLINUX			= "Linux";
	this.cLINUX32		= "Linux i";
	this.cLINUX64		= "Linux x86_64";

	this.cMAC					= "Mac";
	this.cMACPPC			= "MacPPC";
	this.cMACINTEL		= "MacIntel";

	/* Web Browser Constant List */
	this.cMSIE			= "MSIE";
	this.cSAFARI		= "Safari";
	this.cFIREFOX		= "Firefox";
	this.cNETSCAPE		= "Netscape";
	this.cNETSCAPE4		= "Netscape4";
	this.cNETSCAPE9		= "Netscape9";
	this.cCHROME			= "Chrome";	
	this.cOPERA				= "Opera";					
	this.cSEAMONKEY		= "SeaMonkey";

	this.cUNSUPPORT		= "Unsupport";

	/* plugin type */
	this.cACTIVEX		= "activex";
	this.cNPRUNTIME		= "npruntime";

	/* Member variables */
	this.mPlatform		= navigator.platform;
	this.mUserAgent		= navigator.userAgent;

	this.mBrowser		= this.getBrowserName();
	this.mVersion		= this.getBrowserVersion();
	
	this.mPluginType = this.getPluginType();
}

var gCKBrowser = new CKBrowser();


function CK_PrintCKBrowserInfo()
{
	document.write("Platform : " + gCKBrowser.mPlatform + "<br>");
	document.write("UserAgent : " + gCKBrowser.mUserAgent + "<br>");
	document.write("Browser : " + gCKBrowser.mBrowser + "<br>");
	document.write("Version : " + gCKBrowser.mVersion + "<br>");
	document.write("PluginType : " + gCKBrowser.mPluginType + "<br>");
}



function PrintXecureCKActiveXTag()
{
  
    
    
    
    
    
  
  
  
  
		if (USING_CKKeyPro == "1")
		{
		  
		  
		    
				var Str="";
				
				Str+= '<object classid="' + CKKeyPro_CLSID + '"';
				if(navigator.cpuClass.toLowerCase() == "x64")
				{	
			   		Str+= '\n\t codebase="' + XecureCK_CODEBASE_x64 + '#' + XecureCK_VERSION + '"';
				}
					else
				{
				  
				  
		   			Str+= '\n\t codebase="' + XecureCK_CODEBASE_x86 + '#' + XecureCK_VERSION + '"';
				}
				
			
				
				Str+= '\n\tvspace="0" hspace="0" width="0" id="XecureCK" style="display:none;">';
				Str+= '\n\t <PARAM name="PKI" value="XecureWeb">';
				Str+= '\n\t <PARAM name="DefaultEnc" value="Off">';
				Str+= '\n\t <PARAM name="DefaultPaste" value="Off">';
				Str+= '\n\t <PARAM name="ClearBufferOnEmpty" value="true">';
				
				
			                	if(USING_CUSTOM_IMAGE)
			                	
                        
			                		Str+= '\n\t <PARAM name="ImageURL" value="' + CUSTOM_IMAGE_URL + '">';
		                  
			                	//Str+= '\n\tNo CKKeyPro Plugin';
                      
			                	Str+= '</object>';
			                		
			                	
			               //   alert(Str);
			              
	                       document.write(Str);
       
		} 			
}










function PrintXecureCKEmbedTag()
{
		if (USING_CKKeyPro == "1")
		{
				var Str="";
				
				Str+= '<EMBED id="XecureCK" type="application/ClientKeeperKeyPro" width=0 height=0 ';
		
				if(USING_CUSTOM_IMAGE)
					Str+= 'ImageURL="' +								CUSTOM_IMAGE_URL + '" ';
		
				//Str+= 'DefaultEnc="on"';
				Str+= 'DefaultEnc="off"';
				Str+= 'DefaultSecurity="on"';
				Str+= '>';
				Str+= '</EMBED>';
				Str+= '<NOEMBED>no ClientKeeper KeyPro</NOEMBED>';
		 

		   	document.write(Str);

		}
}

function CK_PrintXecureCKTag()
{
	if (gCKBrowser.mPluginType == gCKBrowser.cACTIVEX){

		PrintXecureCKActiveXTag();
		
	} else if (gCKBrowser.mPluginType == gCKBrowser.cNPRUNTIME){

	 	PrintXecureCKEmbedTag();

	}
}


function XecureCK_UIEevents(frm,ele,event,keycode)
{
	var obj;
	var eventObj;

	try{
		obj=document.forms[frm].elements[ele];
		if( document.createEventObject )
		{
			eventObj = document.createEventObject();
			eventObj.keyCode=keycode;
			if(obj)
			{
				obj.fireEvent(event,eventObj);
			}
		}
	}
	catch(e) {}
}


function XecureCK_ReScan()
{
	if(gCKBrowser.mPluginType != gCKBrowser.cACTIVEX) return;
	if(document.XecureCK==null || typeof(document.XecureCK) == "undefined" || document.XecureCK.object==null)
	{
		//CKKeyPro is not running in current document
		return;
	}
	document.XecureCK.ReScanDocument();
}

function HaveControl_CK()
{
	if(gCKBrowser.mPluginType != gCKBrowser.cACTIVEX) return;
	//if(USING_MultiOS == "1") return;
	
	if(document.XecureCK==null || typeof(document.XecureCK) == "undefined" || document.XecureCK.object == null)
		window.open("./iris/vsc/RVSCDownApp1J.jsp#num03","_top","");
	else
		return true;
}

function XecureCK_Clear(frmName,eleName)
{
	if(gCKBrowser.mPluginType != gCKBrowser.cACTIVEX) return;
 	if(document.XecureCK==null || typeof(document.XecureCK) == "undefined" || document.XecureCK.object==null)
        {
                //XecureCK is not running in current document.
                return;
        }
	document.XecureCK.Clear(frmName,eleName,0);
}

function XecureCK_GetVariable(name)
{	
	if(name == "XW_E2E_MODE")
	{
		var KeyPro_E2E_KeyType = "1";

		try
		{
			if(E2E_keytype == 1)	//E2E_keytype Àº xecureweb.js¿¡ ¼³Á¤µÇ¾î¾ßÇÑ´Ù.				
				KeyPro_E2E_KeyType = "1";
		}
		catch (e)
		{
		}

		return KeyPro_E2E_KeyType;
	}
	
	//È®Àå E2E PKI=XecureWebEx ÀÏ¶§ ¾Æ·¡ ÁÙ ÀÌ¿ë	
	//for ClientSM V7.2.1.7  20080311
	var xObj; 
	if(document.XecureWeb==null || typeof(document.XecureWeb) == "undefined" ||document.XecureWeb.object==null) 
	{
  	try 
  	{
   		xObj = new ActiveXObject("Xwctl40.XecCtl40");
  	}
  	catch(ex)
  	{
   		//alert("XecureWeb Client not installed");
   		return "";
  	}
	} 
 	else 
	{ 
  	xObj = document.XecureWeb;
 	}  

	if(document.XecureWeb !=null || typeof(document.XecureWeb)!= "undefined")
	{ 
 		if(xObj.GetVerInfo(0) >= '7, 2, 1, 7')
  		enc_xgate = xObj.GetEncUserData(xgate_addr);
 		else
  		enc_xgate = xgate_addr;
  
 		return enc_xgate;		
	}
}

function checkPlugin() {
	
	return;
	
	var sKeyProNewName = "CKKeyPro Plugin 1.0.0";
	var sKeyProOldName = "CKKeyPro Plugin 0.9.0";

	var pluginArray = navigator.mimeTypes.length;	
	var pluginName;
	var iStatus = -1;
	
	for(var i=0; i < pluginArray; i++) {
		pluginName = navigator.mimeTypes[i].description;

		if ( pluginName == sKeyProNewName ) {
			iStatus = 0;
		}
		else if ( pluginName == sKeyProOldName ) {
			iStatus = 1;
		}
	}
	
	if(iStatus != 0)
		window.location.replace(sKeyProInstallURL);
}

function GetLinuxEncData(sXgate)
{
	var keyProData = document.getElementById("XecureCK_Linux_Password");
	keyProData.pluginspage = sKeyProInstallURL;
	
	return keyProData.getText(sXgate);
}

function GetMacEncData(sXgate, sBrowser)
{
	var keyProData = document.embeds["XecureCK_Mac_Password"];
	
	return keyProData.getText(sXgate, sBrowser);
}

// auto redirect install page
if (navigator.userAgent.indexOf("Firefox")!=-1 && navigator.userAgent.indexOf("Fedora")!=-1) { // for fedora & firefox
	/* for Mozilla */

	if (document.addEventListener) {

		document.addEventListener("DOMContentLoaded", checkPlugin, false);
	}
	
	/* for other browsers */
	window.onload = checkPlugin;
}



var CK_objFocused;
function CK_Start(nsEvent)
{
	if(gCKBrowser.mPluginType != gCKBrowser.cNPRUNTIME) return;

	var theEvent;
	var inputObj;

	if (nsEvent.type == "text" || nsEvent.type == "password") {
		inputObj = nsEvent;
	}
	else {
		theEvent = nsEvent ? nsEvent : window.event;
		inputObj = theEvent.target ? theEvent.target : theEvent.srcElement;
	}

	try{
		document.getElementById('XecureCK').StartCK(inputObj);
		CK_objFocused = inputObj;
	}catch(e){
		//alert("CK_Start catch");
	}
}

function CK_Stop()
{
	if(gCKBrowser.mPluginType != gCKBrowser.cNPRUNTIME) return;
	
	try{
		document.getElementById('XecureCK').StopCK();
	}catch(e){
		//alert("CK_Stop catch");
	}
}

function CK_PatchKey()
{
	if(gCKBrowser.mPluginType != gCKBrowser.cNPRUNTIME) return;
	
 	try{
		document.getElementById('XecureCK').PatchKey(CK_objFocused);
	}catch(e){
		//alert("CK_Dummy catch");
	}
}

function CK_Blur()
{
	if(gCKBrowser.mPluginType != gCKBrowser.cNPRUNTIME) return;
	
	try{
		CK_objFocused.blur();
	}catch(e){
		//alert("CK_Blur catch");
	}
}

function CK_MimeExist()
{
	var CKInstalled = false;
	var objCKKeyProMimeType = navigator.mimeTypes['application/ClientKeeperKeyPro'];
	if (objCKKeyProMimeType) {	

		if (objCKKeyProMimeType.description) {
			CKInstalled = true;
		    return true;
		}
	}
	
	if (CKInstalled == false) {
	    
	  
	                                           //¿ÀÆä¶ó¸¸¼³Ä¡µÆ´ÂÁö È®ÀÎÇÏ´Â ºÎºÐ.
        var once_per_session=1 
	    
	     var is_opera = (agt.indexOf("opera") != -1);
	   
	    if(is_opera)
	     {
	       
	       if (once_per_session==0)
              loadalert()
              else
              alertornot() 
	     }
	    
	    
  
  
  
   return false;
	}
}



function get_cookie(Name) {
var search = Name + "="
var returnvalue = "";
if (document.cookie.length > 0) {
offset = document.cookie.indexOf(search)
if (offset != -1) {
offset += search.length
end = document.cookie.indexOf(";", offset);
if (end == -1)
end = document.cookie.length;
returnvalue=unescape(document.cookie.substring(offset, end))
}
}
return returnvalue;
} 



function alertornot(){
if (get_cookie('alerted')==''){
loadalert()
document.cookie="alerted=yes"
}
} 



function loadalert(){
	       if(confirm("Å°º¸µå º¸¾ÈÀ» À§ÇØ ÇÁ·Î±×·¥ ¼öµ¿¼³Ä¡[ClientKeeper KeyPro(¸ÖÆ¼ºê¶ó¿ìÀú¿ë)]¸¦ ½ÇÇà ÇÏ½Ã°Ú½À´Ï±î?")){
	           location.replace("./iris/vsc/RVSCDownApp1J.jsp#num03");
	           }
} 




function CK_CheckPlugInVersion()
{
	if(gCKBrowser.mPluginType != gCKBrowser.cNPRUNTIME)return;
	
 	try{

 		if ((gCKBrowser.mPlatform == gCKBrowser.cWIN32) && (gCKBrowser.mBrowser == gCKBrowser.cOPERA)) {

			 			if (CK_MimeExist() == false)
			 			
			 			return;
			 		}
			 		
		IsNeedUpdate = document.getElementById('XecureCK').NeedUpdate(Multi_Version);			
		if (IsNeedUpdate==false) {
	//	alert("»ç¿ëÀÚPc¿¡ Å°º¸µå º¸¾È ¼³Ä¡µÊ");
			return;
		}
		else {
		//	alert("»ç¿ëÀÚPC¿¡ ¼³Ä¡µÈ ¹öÀüÀÌ ÇöÀç ¹öÀüº¸´Ù ÇÏÀ§¹öÀüÀÔ´Ï´Ù. ");
	  	//	location.replace(Multi_InstallPage);
	  	       var once_per_session=1 
    
            if (once_per_session==0)
              loadalert()
              else
              alertornot() 
	  	
	  	
		}
	}
	catch(e){
	//alert("»ç¿ëÀÚPC¿¡ Å°º¸µå º¸¾ÈÀÌ ¼³Ä¡µÇÁö ¾Ê¾Ò½À´Ï´Ù. ");
    //  location.replace(Multi_InstallPage);                   // ÆÄÀÌ¾îÆø½º¿¡¼­¸¸ Àû¿ëµÊ. ¼³Ä¡¾ÈµÇ¾îÀÖÀ»¶§ ¸®´ÙÀÌ·º¼ÇÇÔ.
    
         var once_per_session=1 
    
        if (once_per_session==0)
              loadalert()
              else
              alertornot() 
    
    
    
	}
}

//jrkim 20090804
function CK_ApplySecurity()
{
  

	if(gCKBrowser.mPluginType != gCKBrowser.cNPRUNTIME) return;
	
	
	try{
	
	
		for(var i=0;i<document.forms.length;i++){
			for (var j=0;j < document.forms[i].elements.length;j++){				
				if(document.forms[i].elements[j].tagName == "INPUT" && (document.forms[i].elements[j].type == "text" || document.forms[i].elements[j].type == "password")){
			  	  if(document.forms[i].elements[j].addEventListener){
			  	  	document.forms[i].elements[j].addEventListener("focus", CK_Start, false);		//w3c
			  	  	document.forms[i].elements[j].addEventListener("blur", CK_Stop, false);		//w3c
			  	  }
		  	  	else if (document.forms[i].elements[j].attachEvent){
	  	  			 document.forms[i].elements[j].attachEvent("onfocus", CK_Start);					//msdom
	  	  			 document.forms[i].elements[j].attachEvent("onblur", CK_Stop);					//msdom
	  	  		}
					}	//end if
				} // end for
			} // end for
	}catch(e){		
			//	alert("error");	
	} // end try
}

    CK_PrintXecureCKTag();
    CK_CheckPlugInVersion();
		CK_ApplySecurity();
		


