// pay40.js
// function : Merchant Script & ÀüÀÚÁö°©ÀÇ Interface
// ¨Ï 2006 INICIS.Co.,Ltd. All rights reserved.


var PLUGIN_SVR_NAME = "/wallet61/"
var PLUGIN_CLASSID = "<OBJECT ID=INIpay CLASSID=CLSID:24F6E6A8-852C-45A8-ADD3-C4AB0D6FD231 width=0 height=0 CODEBASE=http://plugin.inicis.com/wallet61/INIwallet61.cab#Version=1,0,0,2 onerror=OnErr()></OBJECT>"
var PLUGIN_ERRMSG =""

var IS_VISTA=0;
var IS_64BIT = 0;
var JSINFO_NAME = "61_pay40host";

var IS_INIPAY_INIT = 0;

function SetEnvironment()        
{
     if(navigator.userAgent.indexOf("Windows NT 6") > -1)
     {
	    IS_VISTA=1;
	    PLUGIN_CLASSID = "<OBJECT ID=INIpay CLASSID=CLSID:24F6E6A8-852C-45A8-ADD3-C4AB0D6FD231 width=0 height=0 CODEBASE=http://plugin.inicis.com/wallet61/INIwallet61_vista.cab#Version=1,0,0,2 onerror=OnErr()></OBJECT>"
	    PLUGIN_ERRMSG = "°í°´´ÔÀÇ ¾ÈÀüÇÑ °áÁ¦¸¦ À§ÇÏ¿© °áÁ¦¿ë ¾ÏÈ£È­ ÇÁ·Î±×·¥ÀÇ ¼³Ä¡°¡ ÇÊ¿äÇÕ´Ï´Ù.\n\n" +
			            "´ÙÀ½ ´Ü°è¿¡ µû¶ó ÁøÇàÇÏ½Ê½Ã¿À.\n\n\n" +
         			      "1. ºê¶ó¿ìÀú(ÀÎÅÍ³Ý ÀÍ½ºÇÃ·Î¾î) »ó´ÜÀÇ ³ë¶õ»ö ¾Ë¸² Ç¥½ÃÁÙÀ» ¸¶¿ì½º·Î Å¬¸¯ ÇÏ½Ê½Ã¿À.\n\n" +
                                                "2. 'ActiveX ÄÁÆ®·Ñ ¼³Ä¡'¸¦ ¼±ÅÃÇÏ½Ê½Ã¿À.\n\n" +
                                                "3. º¸¾È °æ°íÃ¢ÀÌ ³ªÅ¸³ª¸é '¼³Ä¡'¸¦ ´­·¯¼­ ÁøÇàÇÏ½Ê½Ã¿À.\n"	
      }
      else
      {
	     IS_VISTA=0;
  	     PLUGIN_CLASSID = "<OBJECT ID=INIpay CLASSID=CLSID:24F6E6A8-852C-45A8-ADD3-C4AB0D6FD231 width=0 height=0 CODEBASE=http://plugin.inicis.com/wallet61/INIwallet61.cab#Version=1,0,0,2 onerror=OnErr()></OBJECT>"
  	 	
  	     if( navigator.userAgent.indexOf("Windows NT 5.1") > -1 || navigator.userAgent.indexOf("Windows NT 5.2") > -1 )
        {
	      	PLUGIN_ERRMSG = "°í°´´ÔÀÇ ¾ÈÀüÇÑ °áÁ¦¸¦ À§ÇÏ¿© °áÁ¦¿ë ¾ÏÈ£È­ ÇÁ·Î±×·¥ÀÇ ¼³Ä¡°¡ ÇÊ¿äÇÕ´Ï´Ù.\n\n" +
         				      "´ÙÀ½ ´Ü°è¿¡ µû¶ó ÁøÇàÇÏ½Ê½Ã¿À.\n\n\n" +
         				      "1. ºê¶ó¿ìÀú(ÀÎÅÍ³Ý ÀÍ½ºÇÃ·Î¾î) »ó´ÜÀÇ ³ë¶õ»ö ¾Ë¸² Ç¥½ÃÁÙÀ» ¸¶¿ì½º·Î Å¬¸¯ ÇÏ½Ê½Ã¿À.\n\n" +
                                                              "2. 'ActiveX ÄÁÆ®·Ñ ¼³Ä¡'¸¦ ¼±ÅÃÇÏ½Ê½Ã¿À.\n\n" +
                                                              "3. º¸¾È °æ°íÃ¢ÀÌ ³ªÅ¸³ª¸é '¼³Ä¡'¸¦ ´­·¯¼­ ÁøÇàÇÏ½Ê½Ã¿À.\n"
        }
     	else 
     	{
   		    PLUGIN_ERRMSG = "[INIpayÀüÀÚÁö°©]ÀÌ ¼³Ä¡µÇÁö ¾Ê¾Ò½À´Ï´Ù.\n\nºê¶ó¿ìÀú¿¡¼­ [»õ·Î°íÄ§]¹öÆ°À» Å¬¸¯ÇÏ½Å ÈÄ [º¸¾È°æ°í]Ã¢ÀÌ ³ªÅ¸³ª¸é [¿¹]¹öÆ°À» Å¬¸¯ÇÏ¼¼¿ä.";
        }		
      }
      
     if(window.navigator.appVersion.indexOf("Win64")>0 || window.navigator.appVersion.indexOf("WOW64")>0)
     {
 	     IS_64BIT = 1;
     }        
}

function StartSmartUpdate()
{
	SetEnvironment();
	 document.writeln(PLUGIN_CLASSID);
}


function OnErr()
{
  alert(PLUGIN_ERRMSG);
  //return false;
}


//=========================================================
//                                                BANKTOWN HOSTING
//=========================================================
function MakePayMessage(payform)
{
  document.INIpay.IFplugin(100, "inihosting", "");  

 if(document.INIpay.IFplugin(0, PLUGIN_SVR_NAME, "inihosting|00") == "ERROR") return false;


  if(SetField(payform) == false) {
    document.INIpay.IFplugin(1, "", "");
    return false;
  }
  
  if(document.INIpay.IFplugin(4, "", "") == "ERROR") {
    document.INIpay.IFplugin(1, "", "");
    return false;
  }
  
  if(GetField(payform) == false) {
    document.INIpay.IFplugin(1, "", "");
    return false;
  }
	
  document.INIpay.IFplugin(1, "", "");
  
  return true;
}	

//Set Merchant Payment Field
function SetField(payform)
{
  var nField = payform.elements.length;
    
  for(i = 0; i < nField; i++)
  {
    if( payform.elements[i].name == "mid" )	
    	document.INIpay.IFplugin(2, "mid", payform.mid.value);
    else if(payform.elements[i].name == "cardcode" )	
    	document.INIpay.IFplugin(2, "cardcode", payform.cardcode.value);
    else if(payform.elements[i].name == "price" )	
    	document.INIpay.IFplugin(2, "price", payform.price.value);
    else if(payform.elements[i].name == "currency" )	
    	document.INIpay.IFplugin(2, "currency", payform.currency.value);
    else if(payform.elements[i].name == "cardquota" )	
    	document.INIpay.IFplugin(2, "cardquota", payform.cardquota.value);
    else if(payform.elements[i].name == "nointerest" )	
    	document.INIpay.IFplugin(2, "nointerest", payform.nointerest.value);
    else if(payform.elements[i].name == "mpi1" )	
    	document.INIpay.IFplugin(2, "mpi1", payform.mpi1.value); 
    else if(payform.elements[i].name == "mpi2" )	
    	document.INIpay.IFplugin(2, "mpi2", payform.mpi2.value); 
    else if(payform.elements[i].name == "cardnumber" )	
    	document.INIpay.IFplugin(2, "cardnumber", payform.cardnumber.value);
    else if(payform.elements[i].name == "expiry" )	
    	document.INIpay.IFplugin(2, "expiry", payform.expiry.value);
  }
    
  return true;
}	


//Get PayMessage made
function GetField(payform)
{
  var nField = payform.elements.length;
   for(i = 0; i < nField; i++)
  { 
     if( payform.elements[i].name == "xid" )
  	payform.xid.value = document.INIpay.IFplugin(3, "xid", "");
    else if( payform.elements[i].name == "cavv" )	
  	payform.cavv.value = document.INIpay.IFplugin(3, "cavv", "");
    else if( payform.elements[i].name == "eci" )	  	
  	payform.eci.value = document.INIpay.IFplugin(3, "eci", "");
    else if( payform.elements[i].name == "retcode" )	  	
  	payform.retcode.value = document.INIpay.IFplugin(3, "retcode", "");
    else if( payform.elements[i].name == "retmsg" )	  	
  	payform.retmsg.value = document.INIpay.IFplugin(3, "retmsg", "");
    else if( payform.elements[i].name == "realpan" )	  	
  	payform.realpan.value = document.INIpay.IFplugin(3, "realpan", "");
}
  
  return true;
}



//=========================================================
//                                                 XPAY
//=========================================================
function INIpayInit()
{
	if( IS_INIPAY_INIT == 1 ) return false;
	
	document.INIpay.IFplugin(100, "inihosting", "");  

 	if(document.INIpay.IFplugin(0, PLUGIN_SVR_NAME, "inihosting|00") == "ERROR") return false;

	IS_INIPAY_INIT = 1;
}

function INIpayEnd()
{
	if( IS_INIPAY_INIT == 0 ) return false;
	
	IS_INIPAY_INIT = 0;
	document.INIpay.IFplugin(1, "", "");	
}

//==== for xpay one func
function INIpayExecFunc( setFuncType, setParam  )
{
	if( IS_INIPAY_INIT == 0 ) return false;
	
	retData = document.INIpay.IFplugin( 5, setFuncType, setParam );
	if( retData == "ERROR" ) return false;
	
	return retData;
}

//==== for xpay card
function Make_FlashPayMessage( setValue )
{
	if( IS_INIPAY_INIT == 1 ) return false;

	if( INIpayInit() == false ) return false;
	
	if( IS_INIPAY_INIT == 0 ) return false;
	document.INIpay.IFplugin(2, "XpaySetData", setValue );
	
  	if(document.INIpay.IFplugin(4, "", "") == "ERROR") 
  	{
  		retData = document.INIpay.IFplugin(3, "XpayGetData", "");
    		INIpayEnd();
    		if( retData == "" ) return false;
    		return retData;
  	}
  	
  	retData = document.INIpay.IFplugin(3, "XpayGetData", "");
  	INIpayEnd();
  	
  	
  	if( retData == "ERROR" || retData == "") return "error";
	return retData;
}




