////////////////////////////////////////////////////////////////////////////////////////////////////////
// 				¼ÒÇÁÆ®Æ÷·³ ¾È½ÉÅ¬¸¯ ÇÃ·¯±×ÀÎ (XPayMPI Control)
//									    ´ã´çÀÚ : ¹Î»ó½Ä (02-526-8332)
// JS 20040227 for 1,4,2,25
// JS 20040227 for 1,4,4,1
// JS 20040227 for 1,4,4,14
// JS 20040830 for 1,4,4,14 WindowsXP SP2°ü·Ã °øÁö ¾÷µ¥ÀÌÆ®
// JS 20040830 for 1,4,4,14 JS Á¤¸® ¹× Error Report ±â´É Ãß°¡!
////////////////////////////////////////////////////////////////////////////////////////////////////////

var mprotocol=location.protocol;
var g_PAReqUrl = "http://mpi.dacom.net/MPI/servlet/MakePAReq4";
var g_PopupUrl = "http://mpi.dacom.net/XPayMPI/ManualUpdateOCX.html";
//var g_XPayMPICodeBase = 'CodeBase="'+mprotocol+'//mpi.dacom.net/XPayMPI/XPayMPIOCX.cab#version=2,1,3,3" onerror=OnError()>'; 
var g_XPayMPICodeBase = 'CodeBase="'+mprotocol+'//mpi.dacom.net/XPayMPI/XPayMPI.cab#version=2,2,3,2" onerror=OnError()>';

//CONTROL ERRORREPORT
//var g_ErrReportUrl_Control = "http://164.124.119.93:7777/MPI/ErrorLog.jsp"
var g_ErrReportUrl_Control = "http://mpi.dacom.net:80/MPI/ErrorLog.jsp"

//POPUP ERRORREPORT
var g_ErrReportUrl = "http://164.124.119.166/MPI/servlet/ErrorReport";	// General Error Report
var g_ErrReportUrl_11002 = ""; // Report : 11002 
var g_ErrReportUrl_11005 = ""; // Report : 11005 
var g_ErrReportUrl_12005 = "http://mpi.dacom.net/XPayMPI/errorreport_12005.html"; // Report : 12005 

//POPUP Manual ERRORREPORT
var g_ErrReportUrl_11002_Log = "http://mikado1.mireene.com/cgi-bin/ZeroBoard/mpi_req_11002.html"; // Report : 11002 
var g_ErrReportUrl_11005_Log = "http://mikado1.mireene.com/cgi-bin/ZeroBoard/mpi_req_11005.html"; // Report : 11005 
var g_ErrReportUrl_12005_Log = "http://mikado1.mireene.com/cgi-bin/ZeroBoard/mpi_req_12005.html"; // Report : 12005 



// LG Card BIN Check for Normal Dialog
var NormalDialogCardBINArray = new Array(941013,941014,941015,941017,941018,941019,941080,
					 941081,941082,941083,941084,941096,941097,
					 542158,540486,558768,552087,552537,555013,547671,
					 400906,400905,400904,400903,400990,420178,438676,
					 448523,449914,467124,474130,
					 356290,356291,356292,356293,356294);
// NormalDialogCardBINArray BIN Check
function IsNormalDialogCard(CardNo)
{
	for(count=0;count < NormalDialogCardBINArray.length; count++)
	{
		var Check_CardNO = NormalDialogCardBINArray[count];
		var Check_CardNO_Text =  ""+Check_CardNO;
		var CardNo_BIN_RANGE = CardNo.substr(0, Check_CardNO_Text.length);
		if(CardNo_BIN_RANGE == Check_CardNO) {
			return true;
		}
	}
	return false;
}

// For Live Update, Not Use
function PrintTag_Xecure_LiveUpdate_Object()
{
}

// Check Control Setup Error! & XP Àû¿ëµÊ
function OnError()
{
	var ua = window.navigator.userAgent;
	
	var msie = ua.indexOf ( "MSIE" );	
	var msxp = ua.indexOf ( "Windows NT 5." );
	var msxpsp2 = ua.indexOf ( "SV1" );
	
	if(msie >0 && msxp >0 && msxpsp2 >0)
	{
		// Case : WindowsXP SP2
		alert("[¾È½ÉÅ¬¸¯ ÇÃ·¯±×ÀÎ]ÀÌ ¼³Ä¡µÇÁö ¾Ê¾Ò½À´Ï´Ù.\n\nºê¶ó¿ìÀú »ó´ÜÀÇ ³ë¶õ»ö[¾Ë¸²Ç¥½ÃÁÙ]À» Å¬¸¯ÇÏ½Å ÈÄ [ActiveX ÄÁÆ®·Ñ ¼³Ä¡]¸¦ Å¬¸¯ÇÏ¼¼¿ä.");
	} 
	else if( ua.indexOf("MSIE 7.0") >0 ) {
		// Case: MSIE 7.0
		alert("[¾È½ÉÅ¬¸¯ ÇÃ·¯±×ÀÎ]ÀÌ ¼³Ä¡µÇÁö ¾Ê¾Ò½À´Ï´Ù.\n\nºê¶ó¿ìÀú »ó´ÜÀÇ ³ë¶õ»ö[¾Ë¸²Ç¥½ÃÁÙ]À» Å¬¸¯ÇÏ½Å ÈÄ [ActiveX ÄÁÆ®·Ñ ¼³Ä¡]¸¦ Å¬¸¯ÇÏ¼¼¿ä.");
	}
	else if( ua.indexOf("MSIE 8.0") >0 ) {
		// Case: MSIE 8.0
		alert("[¾È½ÉÅ¬¸¯ ÇÃ·¯±×ÀÎ]ÀÌ ¼³Ä¡µÇÁö ¾Ê¾Ò½À´Ï´Ù.\n\nºê¶ó¿ìÀú »ó´ÜÀÇ ³ë¶õ»ö[¾Ë¸²Ç¥½ÃÁÙ]À» Å¬¸¯ÇÏ½Å ÈÄ [ActiveX ÄÁÆ®·Ñ ¼³Ä¡]¸¦ Å¬¸¯ÇÏ¼¼¿ä.");
	}
	else
	{
		// Case : Windows98, windows2000, WindowsXP SP1 (±âÁ¸°ú µ¿ÀÏ)
		if ( confirm("[¾È½ÉÅ¬¸¯ ÇÃ·¯±×ÀÎ]ÀÌ ¼³Ä¡µÇÁö ¾Ê¾Ò½À´Ï´Ù.  [º¸¾È°æ°í]Ã¢ÀÌ ³ªÅ¸³ª¸é [¿¹]¹öÆ°À» Å¬¸¯ÇÏ¼¼¿ä.\n\nÆäÀÌÁö¸¦ ´Ù½Ã ÀÐ¾î¼­ ÇÃ·¯±×ÀÎÀ» ¼³Ä¡ÇÏ½Ã°Ú½À´Ï±î?") ) window.location.reload();
	}
}

// ÇÃ·¯±×ÀÎ TAG Print
function PrintTag_XPayMPI_Object()
{
	var tag;
	tag = '<OBJECT ID="XPayMPI"	'; 
	tag += '	WIDTH=0		'; 
	tag += '	HEIGHT=0	'; 
	tag += '	CLASSID="CLSID:48ECCD73-123C-4C25-A64C-76E8E8A30CAF"	'; 
	tag += 		g_XPayMPICodeBase;
	tag += '</OBJECT>		';
	document.write(tag);
}

// ¾È½ÉÅ¬¸¯ ÀÎÁõ ÁøÇà ÇÔ¼ö
// _mall_id, _mall_name, _PAN, _ExpYear, _ExpMonth, _amount, _installment, _desc
function XPayMPIProcess(_mall_id, _mall_name, _PAN, _ExpYear, _ExpMonth, _amount, _installment, _desc)
{
	
	var ControlResult = "";
	var ErrorReportResult = "";	// ¿¡·¯¸®Æ÷ÆÃ °á°úÄÚµå
	var Step1ServerResult = "";
	var Step1Msg = "";
	var Step2ServerResult = "";
	var Step2Msg = "";
	var Cavv = "";
	var MD = "";
	var ECI = "";
	var CAVVAlg = "";
	
	var ClientIP = "";
	
	// IE CHECK
	if(navigator.userAgent.indexOf("MSIE") == -1 || navigator.userAgent.indexOf("MSIE 3") != -1 || navigator.userAgent.indexOf("MSIE 4") != -1) 
	{
		alert("[Error] Internet Explorer 5.0ºÎÅÍ Áö¿øÇÕ´Ï´Ù.");
		
		ControlResult = 10001;
		Step1Msg = "¿¡·¯ : Internet explorer 5.0ºÎÅÍ Áö¿øÇÕ´Ï´Ù.";
		
		XPayMPIProcessResult(ControlResult, Step1ServerResult, Step1Msg, ControlResult, Step2ServerResult, Step2Msg, Cavv, MD, ECI, CAVVAlg );
		return 10001;
	}
	
	// PLUGIN CHECK	
	if(XPayMPI==null || typeof(XPayMPI) == "undefined" ||XPayMPI.object==null){
                //alert("ÄÁÆ®·ÑÀ» ¼³Ä¡ÇÏ¼Å¾ß ¾È½ÉÅ¬¸¯ °áÁ¦°¡ °¡´ÉÇÕ´Ï´Ù. \nÄÁÆ®·ÑÀÌ Á¤»óÀûÀ¸·Î ¼³Ä¡°¡ ¾ÈµÇ´Â°æ¿ì¿¡ ¼öµ¿¼³Ä¡°¡ °¡´ÉÇÕ´Ï´Ù. \n\nÈ®ÀÎ¹öÆ°À» ´©¸£¸é ¼öµ¿¼³Ä¡ÆÄÀÏÀ» ´Ù¿î¹ÞÀ» ¼ö ÀÖ´Â Ã¢ÀÌ ¿­¸³´Ï´Ù.");
                //window.open(g_PopupUrl,"_Blank","toolbar=no,scrollbars=no,resizable=no,width=380,height=680")
                
                ControlResult = 10002;
                Step1Msg = "¿¡·¯ : ÄÁÆ®·ÑÀÌ Á¤»óÀûÀ¸·Î ¼³Ä¡µÇÁö ¾Ê¾Ò½À´Ï´Ù.";
                
                XPayMPIProcessResult(ControlResult, Step1ServerResult, Step1Msg, ControlResult, Step2ServerResult, Step2Msg, Cavv, MD, ECI, CAVVAlg );
		return 10002;
        }

	// PARAMETER Forced Setting
	if(_mall_name == "")
    	{
    		_mall_name = "Mall_Name";
    	}
	if(_ExpYear == ""){
    	_ExpYear = 2049;
    	_ExpMonth = 12;
	}
    	_desc = "DESC";
    	
	// INPUT PARAMETER DIGIT CHECK
	if(isNumeric(_PAN) == false || isNumeric(_amount) == false || isNumeric(_installment) == false){
		ControlResult = 11005;
                Step1Msg = "¿¡·¯ : ÀÔ·Âµ¥ÀÌÅÍ ¿À·ù (Digit), ÇØ´ç ¼îÇÎ¸ô¿¡ ¹®ÀÇ ¹Ù¶ø´Ï´Ù.";
                
                XPayMPIProcessResult(ControlResult, Step1ServerResult, Step1Msg, ControlResult, Step2ServerResult, Step2Msg, Cavv, MD, ECI, CAVVAlg );
		return 11005;
	}
	
	// ´ÙÀÌ¾ó·Î±× µðÀÚÀÎ ¼±ÅÃ (Normal PANÀº ÀÏ¹Ý ºê¶ó¿ìÀú ÆË¾÷°ú µ¿ÀÏÇÑ UI ¼ÂÆÃ	)
/*
	if(IsNormalDialogCard(_PAN)) {
		XPayMPI.SetNormalDialog(1);
	}
	else{
		XPayMPI.SetNormalDialog(0);
		XPayMPI.SetBrowserTitle(0);
	}
*/
		XPayMPI.SetNormalDialog(1);
	// MPI ¼­¹ö¿Í Åë½Å ½Ãµµ
    	ControlResult = XPayMPI.GetPAReq2(_mall_id, _mall_name, _PAN, _ExpYear, _ExpMonth, _amount, _installment, _desc, g_PAReqUrl);
    	
    	// Socket or Wininet Retry Check 
    	if(ControlResult == 11001 || ControlResult == 11002 || ControlResult == 2 || ControlResult == -1) {
    		// XPayMPI.GetClientProxySetting()  (0 : No Proxy, 1 : Under Proxy) 
    		if(XPayMPI.GetClientProxySetting() == 0){
			// XPayMPI.SetForcedProxyEnv ÇÁ¶ô½Ã ¼ÂÆÃ ¼³Á¤ (0:Auto, 1:NO Proxy, 2: Under Proxy)
			XPayMPI.SetForcedProxyEnv(2);
		}
		else{
			XPayMPI.SetForcedProxyEnv(1);
		}
		ControlResult = XPayMPI.GetPAReq2(_mall_id, _mall_name, _PAN, _ExpYear, _ExpMonth, _amount, _installment, _desc, g_PAReqUrl);		
    	}
    	
	Step1ServerResult 	= XPayMPI.Code1;
	Step1Msg 		= XPayMPI.Msg1;
	Step2ServerResult  	= XPayMPI.Code2;
	Step2Msg    		= XPayMPI.Msg2;
	Cavv 			= XPayMPI.Cavv;
	MD 			= XPayMPI.MD;
	ECI 			= XPayMPI.ECI;
	CAVVAlg 		= XPayMPI.CAVVAlg;

	// ¿¡·¯ ¸Þ½ÃÁö reMapping
	if(ControlResult == 2 || ControlResult == -1) {
		//Step1Msg = "¾È½ÉÅ¬¸¯ ÀÎÁõ ÁøÇàÁß ¾Ë¼ö¾ø´Â ¿¡·¯ÀÔ´Ï´Ù.\nÀÌ·¯ÇÑ ¹®Á¦°¡ ¹ß»ýÇÏ´Â °æ¿ì ´ÙÀ½ ¿¬¶ôÃ³·Î ²À °áÁ¦°ü·Ã È®ÀÎÀ» ÇÏ¼Å¾ß ÇÕ´Ï´Ù.\n ( ¼ÒÇÁÆ®Æ÷·³ ¹Î»ó½Ä 02-526-8332, ¿ù~±Ý AM 9:00~PM6:00)";
		Step1Msg = "¾È½ÉÅ¬¸¯ ÀÎÁõ ÁøÇàÁß ¾Ë¼ö¾ø´Â ¿¡·¯ÀÔ´Ï´Ù.\n";
	}
	if(ControlResult == 12003) {
		//Step1Msg = "¾È½ÉÅ¬¸¯ ÀÎÁõ ÁøÇàÁß ³×Æ®¿öÅ© ¿¡·¯ÀÔ´Ï´Ù.\nÇØ°á¹æ¹ý1 :  ¹ÙÀÌ·¯½º³ª ¾Öµå¿þ¾î°Ë»ç¸¦ ÇÏ½Ã±â ¹Ù¶ø´Ï´Ù.\nÇØ°á¹æ¹ý2 :  IE Toy¸¦ »ç¿ëÁßÀÎ °æ¿ì ³»¿ëÇÊÅÍ¸¦ Àá½Ã ÁßÁö½ÃÅ°°í °áÁ¦ÇÏ¼¼¿ä.\n\n°è¼ÓÇØ¼­ ¹®Á¦°¡ ¹ß»ýÇÏ´Â °æ¿ì ´ÙÀ½ ¿¬¶ôÃ³·Î ¹®ÀÇ ¹Ù¶ø´Ï´Ù.\n ( ¼ÒÇÁÆ®Æ÷·³ ¹Î»ó½Ä 02-526-8332 )";
		Step1Msg = "¾È½ÉÅ¬¸¯ ÀÎÁõ ÁøÇàÁß ³×Æ®¿öÅ© ¿¡·¯ÀÔ´Ï´Ù.\nÇØ°á¹æ¹ý1 :  ¹ÙÀÌ·¯½º³ª ¾Öµå¿þ¾î°Ë»ç¸¦ ÇÏ½Ã±â ¹Ù¶ø´Ï´Ù.\nÇØ°á¹æ¹ý2 :  IE Toy¸¦ »ç¿ëÁßÀÎ °æ¿ì ³»¿ëÇÊÅÍ¸¦ Àá½Ã ÁßÁö½ÃÅ°°í °áÁ¦ÇÏ¼¼¿ä.\n";
	}
	if(ControlResult == 12005) {
		//Step1Msg = "¾È½ÉÅ¬¸¯ ÀÎÁõ ÁøÇàÁß ³×Æ®¿öÅ© ¿¡·¯ÀÔ´Ï´Ù.\nÇØ°á¹æ¹ý : Àá½Ã ÈÄ ½ÃµµÇØ º¸¼¼¿ä.  \n\n°è¼ÓÇØ¼­ ¹®Á¦°¡ ¹ß»ýÇÏ´Â °æ¿ì ´ÙÀ½ ¿¬¶ôÃ³·Î ¹®ÀÇ ¹Ù¶ø´Ï´Ù.\n ( ¼ÒÇÁÆ®Æ÷·³ ¹Î»ó½Ä 02-526-8332 )";
		Step1Msg = "¾È½ÉÅ¬¸¯ ÀÎÁõ ÁøÇàÁß ³×Æ®¿öÅ© ¿¡·¯ÀÔ´Ï´Ù.\nÇØ°á¹æ¹ý : Àá½Ã ÈÄ ½ÃµµÇØ º¸¼¼¿ä.  \n";
	}
	if(ControlResult == 12006) {
		Step1Msg = "¾È½ÉÅ¬¸¯ ÀÎÁõÀÌ Ãë¼ÒµÇ¾ú½À´Ï´Ù.";
	}
	
	// °á°ú Àü¼Û
        XPayMPIProcessResult(ControlResult, Step1ServerResult, Step1Msg, ControlResult, Step2ServerResult, Step2Msg, Cavv, MD, ECI, CAVVAlg );

	// ÀÎÁõ °á°ú ¼­¹ö·Î Àü¼Û (Åë°è¸¦ À§ÇÑ ±â´É)
	if(ControlResult != 0) {
		ClientIP = XPayMPI.GetClientIPAddress();
		
		// Use Control Socket
		if( ControlResult != 12006 ){
			var ReportResult = XPayMPI.SendHTTPPost(g_ErrReportUrl_Control, 1, _PAN + "|" +"00"+ "|" +_mall_id+ "|" +_mall_name+ "|" +_amount+ "|" +_installment+ "|" +ControlResult+ "|" + "|" + ClientIP, "ParamField2", "ParamField3");
			//if(ReportResult != 0)
			
			var ClientHTTPData1 = XPayMPI.GetClientHTTPData1();
			var ClientHTTPData2 = XPayMPI.GetClientHTTPData2();

/*
			if(ControlResult == 2 || ControlResult == -1){
				window.open(g_ErrReportUrl + "?ip="+ClientIP+"&code=" + ControlResult + "&message=" + Step1Msg+","+Step2Msg+","+Cavv+","+MD+","+ECI+","+CAVVAlg+")","_ErrorReport","toolbar=no,scrollbars=no,resizable=yes,width=1,height=1,left=5000,top=5000");
			}
			else if(ControlResult < 12000 && ControlResult != 11005){
				window.open(g_ErrReportUrl + "?ip="+ClientIP+"&code=" + ControlResult + "&message=" + Step1Msg+"("+_mall_id+","+_mall_name+","+_PAN+","+_amount+","+_installment+")"+ClientHTTPData1.substr(0, 1024),"_ErrorReport","toolbar=no,scrollbars=no,resizable=yes,width=1,height=1,left=5000,top=5000");
			}
			else if(ControlResult == 11005){
				window.open(g_ErrReportUrl + "?ip="+ClientIP+"&code=" + ControlResult + "&message=" + Step1Msg+"("+_mall_id+","+_mall_name+","+_PAN+","+_amount+","+_installment+")"+location.href,"_ErrorReport","toolbar=no,scrollbars=no,resizable=yes,width=1,height=1,left=5000,top=5000");
			}
			else{
				window.open(g_ErrReportUrl + "?ip="+ClientIP+"&code=" + ControlResult + "&message=" + Step1Msg+"("+_mall_id+","+_mall_name+","+_PAN+","+_amount+","+_installment+")"+ClientHTTPData2.substr(0, 1024),"_ErrorReport","toolbar=no,scrollbars=no,resizable=yes,width=1,height=1,left=5000,top=5000");
			}
*/
			
		}
		//if( ControlResult == 11002 )
		//	window.open(g_ErrReportUrl_11002_Log, "_ErrorReport11002_log","toolbar=no,scrollbars=yes,resizable=yes,width=600,height=400,left=0,top=0"); 
		//if( ControlResult == 11005 )
		//	window.open(g_ErrReportUrl_11005_Log, "_ErrorReport11005_log","toolbar=no,scrollbars=yes,resizable=yes,width=600,height=400,left=0,top=0"); 
		//if( ControlResult == 12005 )
		//	window.open(g_ErrReportUrl_12005_Log, "_ErrorReport12005_log","toolbar=no,scrollbars=yes,resizable=yes,width=600,height=400,left=0,top=0"); 
	}
	
        return ControlResult;
}


// UTIL Function
function isNumeric(str){  // ¼ýÀÚÀÎÁö Ã¼Å©ÇÏ´Â ÇÔ¼ö
	 if(str.length == 0)
	 	return false;
	 for (i = 0; i < str.length; i++){
		 ch = str.charAt(i);
		 if (ch < "0" || ch > "9")
      		return false;
	 }
	 	return true;
}

function PrintTag_XPayMPI_Event()
{
}

function Xecure_LiveUpdate_Check()
{
}

