/* Major version of Flash required */
var requiredMajorVersion = 9;
/* Minor version of Flash required */
var requiredMinorVersion = 0;
/* Minor version of Flash required */
var requiredRevision = 124;
/* name of id */
var swfid = "INISAFEWebFx";
var swfid1 = "INISAFEWebFx1";
var pluginid = "iniplugin";
/* Crypto */
var cipher = "SEED/CBC/PKCS5Padding";
var cipher1 = "SEED-CBC";
/* path */
var pluginPath = "/initech/plugin";
var propertyPath = pluginPath + "/conf/inisafe_web_fx.xml";
var swfPath = pluginPath + "/swfs/INISAFEWebFxPlugin.swf";
/* Const */
var CRYPT = 0;
var SIGN = 1;
function IsIE()
{
if (navigator.appName.indexOf("Microsoft") != -1)
return (true);
return (false);
}
function ShowMessage(msg)
{
if (msg != null) {
alert(msg);
self.location.reload();
return;
}
showPopWin('/initech/plugin/site/installFx.html', 445, 375, null);
}
function InstalledModule()
{
self.parent.location.reload();
}
var secureframename="secureframe";
var __secureframe__= null;
var framecount = 0;
var maxframecount = 10;
var AddServerTime = true;
function FindSecureFrame(inframe)
{
if (__secureframe__ != null)
return __secureframe__;
if (framecount++ > maxframecount)
return null;
if (typeof inframe == "undefined" || inframe == null)
return null;
else if (typeof inframe.secureframe != "undefined" &&
inframe.secureframe != null) {
framecount = 0;
return inframe.secureframe
} else if (inframe.parent.frames.length > 0)
if(inframe != inframe.parent)
return FindSecureFrame(inframe.parent);
return null;
}
function FrameCheck()
{
if (typeof document.INIplugin != "undefined")
__secureframe__ = self;
else {
framecount = 0;
__secureframe__ = FindSecureFrame(parent);
//팝업,모달 팝업창인 경우 추가
//모달창을 생성시 window개체를 Arguments로 전달했을경우 사용가능
if (__secureframe__ == null) {
var open_frame = null;
open_frame = top.opener;
//opener가 없을경우 모달창으로 판단 모달창으로 넘겨받은 윈도우 개체를 open_frame으로 설정
if ((typeof open_frame) == "undefined" && (typeof window.dialogArguments)!="undefined")
{
open_frame = window.dialogArguments;
}
//최상위 opener까지 찾아간다.
while((typeof open_frame) != "undefined")
{
if((typeof open_frame.document) == "unknown"){break;}//opener가 존재하는지 여부 체크
framecount = 0;
__secureframe__ = FindSecureFrame(open_frame);
if (__secureframe__ != null){
break;
}else{
var t_open_frame = open_frame;
open_frame = open_frame.top.opener;
if ((typeof open_frame) == "undefined" && (typeof t_open_frame.window.dialogArguments)!="undefined")//opener가 없을경우 모달으로 판단
{
open_frame = t_open_frame.window.dialogArguments;
}
}
}
}
}
}
function FrameCheckSign()
{
if (typeof document.INIpluginSign != "undefined")
__secureframe__ = self;
else {
framecount = 0;
__secureframe__ = FindSecureFrame(parent);
//팝업,모달 팝업창인 경우 추가
//모달창을 생성시 window개체를 Arguments로 전달했을경우 사용가능
if (__secureframe__ == null) {
var open_frame = null;
open_frame = top.opener;
//opener가 없을경우 모달창으로 판단 모달창으로 넘겨받은 윈도우 개체를 open_frame으로 설정
if ((typeof open_frame) == "undefined" && (typeof window.dialogArguments)!="undefined")
{
open_frame = window.dialogArguments;
}
//최상위 opener까지 찾아간다.
while((typeof open_frame) != "undefined")
{
if((typeof open_frame.document) == "unknown"){break;}//opener가 존재하는지 여부 체크
framecount = 0;
__secureframe__ = FindSecureFrame(open_frame);
if (__secureframe__ != null){
break;
}else{
var t_open_frame = open_frame;
open_frame = open_frame.top.opener;
if ((typeof open_frame) == "undefined" && (typeof t_open_frame.window.dialogArguments)!="undefined")//opener가 없을경우 모달으로 판단
{
open_frame = t_open_frame.window.dialogArguments;
}
}
}
}
}
}
function ModuleInstallCheck()
{
FrameCheck();
if (__secureframe__ == null)
return;
if (navigator.appName == "Netscape" || navigator.appName == "Opera")
return __secureframe__.document.INIplugin;
else {
if(__secureframe__.INIplugin == null ||
typeof(__secureframe__.INIplugin) == "undefined" ||
__secureframe__.INIplugin.object == null)
return null;
else
return __secureframe__.INIplugin;
}
}
function ModuleInstallCheckSign()
{
FrameCheckSign();
if (__secureframe__ == null)
return;
if (navigator.appName == "Netscape" || navigator.appName == "Opera")
return __secureframe__.document.INIpluginSign;
else {
if(__secureframe__.INIpluginSign == null ||
typeof(__secureframe__.INIpluginSign) == "undefined" ||
__secureframe__.INIpluginSign.object == null)
return null;
else
return __secureframe__.INIpluginSign;
}
}
/* plugin size */
var px, py, lx, ly;
function LoadINIplugin(label, width, height, imgUrl)
{
px = width;
py = height;
if (label == null)
label = "";
/*
* Version check for the Flash Player that has the ability
* to start Player Product Install (6.0r65)
*/
var hasProductInstall = DetectFlashVer(6, 0, 65);
/* Version check based upon the values defined in globals */
var hasRequestedVersion = DetectFlashVer(requiredMajorVersion,
requiredMinorVersion, requiredRevision);
if (hasProductInstall && !hasRequestedVersion) {
/* DO NOT MODIFY THE FOLLOWING FOUR LINES */
/*
* Location visited after installation is complete
* if installation is required
*/
var MMPlayerType = (isIE == true) ? "ActiveX" : "PlugIn";
var MMredirectURL = window.location;
document.title = document.title.slice(0, 47) + " - Flash Player Installation";
var MMdoctitle = document.title;
AC_FL_RunContent(
"src", "/initech/plugin/swfs/playerProductInstall",
"FlashVars", "MMredirectURL="+MMredirectURL+'&MMplayerType='+MMPlayerType+'&MMdoctitle='+MMdoctitle+"",
"width", width,
"height", height,
"align", "middle",
"id", swfid,
"quality", "high",
"name", "INIplugin",
"allowScriptAccess", "sameDomain",
"type", "application/x-shockwave-flash",
"pluginspage", "http://www.adobe.com/go/getflashplayer",
"flashVars", "path="+propertyPath+"&btnLabel="+label+"&btnWidth="+width+"&btnHeight="+height+"&btnImgUrl="+imgUrl,
"wmode", IsIE()? "transparent" : "window");
} else if (hasRequestedVersion) {
/*
* if we've detected an acceptable version
* embed the Flash Content SWF when all tests are passed
*/
AC_FL_RunContent(
"src", swfPath,
"width", width,
"height", height,
"align", "middle",
"id", swfid,
"quality", "high",
"name", "INIplugin",
"allowScriptAccess", "sameDomain",
"type", "application/x-shockwave-flash",
"pluginspage", "http://www.adobe.com/go/getflashplayer",
"flashVars", "path="+propertyPath+"&btnLabel="+label+"&btnWidth="+width+"&btnHeight="+height,
"wmode", IsIE()? "transparent" : "window");
} else {
/* flash is too old or we can't detect the plugin */
var alternateContent = 'Flash player가 설치 되어 있지 않습니다.' +
'설치하신 후 다시 접속하시기 바랍니다. 설치하기';
document.write(alternateContent); // insert non-flash content
}
}
function LoadINIpluginSign(label, width, height)
{
px = width;
py = height;
if (label == null)
label = "";
/*
* Version check for the Flash Player that has the ability
* to start Player Product Install (6.0r65)
*/
var hasProductInstall = DetectFlashVer(6, 0, 65);
/* Version check based upon the values defined in globals */
var hasRequestedVersion = DetectFlashVer(requiredMajorVersion,
requiredMinorVersion, requiredRevision);
if (hasProductInstall && !hasRequestedVersion) {
/* DO NOT MODIFY THE FOLLOWING FOUR LINES */
/*
* Location visited after installation is complete
* if installation is required
*/
var MMPlayerType = (isIE == true) ? "ActiveX" : "PlugIn";
var MMredirectURL = window.location;
document.title = document.title.slice(0, 47) + " - Flash Player Installation";
var MMdoctitle = document.title;
AC_FL_RunContent(
"src", "/initech/plugin/swfs/playerProductInstall",
"FlashVars", "MMredirectURL="+MMredirectURL+'&MMplayerType='+MMPlayerType+'&MMdoctitle='+MMdoctitle+"",
"width", width,
"height", height,
"align", "middle",
"id", swfid1,
"quality", "high",
"name", "INIpluginSign",
"allowScriptAccess", "sameDomain",
"type", "application/x-shockwave-flash",
"pluginspage", "http://www.adobe.com/go/getflashplayer",
"flashVars", "path="+propertyPath+"&btnLabel="+label+"&btnWidth="+width+"&btnHeight="+height+"&btnImgUrl="+imgUrl,
"wmode", IsIE()? "transparent" : "window");
} else if (hasRequestedVersion) {
/*
* if we've detected an acceptable version
* embed the Flash Content SWF when all tests are passed
*/
AC_FL_RunContent(
"src", swfPath,
"width", width,
"height", height,
"align", "middle",
"id", swfid1,
"quality", "high",
"name", "INIpluginSign",
"allowScriptAccess", "sameDomain",
"type", "application/x-shockwave-flash",
"pluginspage", "http://www.adobe.com/go/getflashplayer",
"flashVars", "path="+propertyPath+"&btnLabel="+label+"&btnWidth="+width+"&btnHeight="+height,
"wmode", IsIE()? "transparent" : "window");
} else {
/* flash is too old or we can't detect the plugin */
var alternateContent = 'Flash player가 설치 되어 있지 않습니다.' +
'설치하신 후 다시 접속하시기 바랍니다. 설치하기';
document.write(alternateContent); // insert non-flash content
}
}
var keyStr = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=";
function Base64Decode(input)
{
var output = "";
var chr1, chr2, chr3;
var enc1, enc2, enc3, enc4;
var i = 0;
// remove all characters that are not A-Z, a-z, 0-9, +, /, or =
input = input.replace(/[^A-Za-z0-9\+\/\=]/g, "");
do {
enc1 = keyStr.indexOf(input.charAt(i++));
enc2 = keyStr.indexOf(input.charAt(i++));
enc3 = keyStr.indexOf(input.charAt(i++));
enc4 = keyStr.indexOf(input.charAt(i++));
chr1 = (enc1 << 2) | (enc2 >> 4);
chr2 = ((enc2 & 15) << 4) | (enc3 >> 2);
chr3 = ((enc3 & 3) << 6) | enc4;
output = output + String.fromCharCode(chr1);
if (enc3 != 64)
output = output + String.fromCharCode(chr2);
if (enc4 != 64)
output = output + String.fromCharCode(chr3);
} while (i < input.length);
return output;
}
function URLEncode(data)
{
obj = ModuleInstallCheck();
if (obj == null)
return "";
return (obj.URLEncode(data));
}
function URLDecode(data)
{
obj = ModuleInstallCheck();
if (obj == null)
return "";
return (obj.URLDecode(data));
}
function EncLocation(indata)
{
var s = indata.indexOf('?');
var url = indata.substring(0, s) + "?INIpluginData=";
var encData = "&" + indata.substring(s + 1);
var INIdata;
obj = ModuleInstallCheck();
if (obj == null) {
alert("플러그인을 찾을수 없습니다.");
return false;
}
INIdata = obj.MakeINIpluginData(0, cipher, encData);
url += URLEncode(INIdata);
return url;
}
function EncLink(url, encData, target, style)
{
var queryString = "INIpluginData=";
var INIdata;
obj = ModuleInstallCheck();
if (obj == null) {
alert("플러그인을 찾을수 없습니다.");
return false;
}
INIdata = obj.MakeINIpluginData(0, cipher, encData);
queryString += obj.URLEncode(INIdata);
if (url.indexOf('?', 0) < 0)
url += "?";
if (url.charAt(url.length-1) != '?' && url.charAt(url.length-1) != '&')
url += "&";
url += queryString;
window.open(url, target, style);
}
function GatherValue(form, start, bErase)
{
var strResult = "";
var name = "";
var value = "";
var sel=0;
// INIplugin Install Check
obj = ModuleInstallCheck();
if (obj == null)
return "";
len = form.elements.length;
for (i = start; i < len; i++) {
element = form.elements[i];
//add to wakano 2002/03/13
if (element.name == "")
continue;
if (element.name == "INIpluginData")
continue;
//add to smgrl 2004/06/22
if (element.name == "filedata")
continue;
if (!((form.elements[i].type != "button") && (form.elements[i].type != "reset") && (form.elements[i].type != "submit")))
continue;
if ( ((element.type == "radio") || (element.type == "checkbox")) && (element.checked!=true) )
continue;
//객체인가 체크 한다. kookai 2010.04.29
if (typeof form.elements[i] == 'Object')
{
// File Field는 SKIP한다.
if(form.elements[i].name.indexOf('file_', 0) >= 0) {
continue;
}
}
if (element.type == "select-one") {
sel = element.selectedIndex;
if (sel < 0)
continue;
//2007.04.19 수정 select box 구현시 value 값이 ""인경우 서버에는 text값이 value로 넘어가는 현상 수정
value = element.options[sel].value;
if (bErase)
element.selectedIndex = -1;
} else {
value = element.value;
if (bErase && !((element.type == "radio") || (element.type == "checkbox")))
element.value = "";
}
//add to smgrl 2004/06/29
if (element.type == "select-multiple") {
var j;
for (j = 0; j < element.options.length; j++) {
if (element.options[j].selected != true)
continue;
if (strResult != "")
strResult += "&";
if (element.id == "")
strResult += element.name;
else
strResult += element.id;
strResult += "=";
strResult += obj.URLEncode(element.options[j].value);
if (bErase)
element.options[j].select=false;
}
if (bErase)
element.selectedIndex = -1;
continue;
}
// modify wakano 2001/08/21
if (element.type == "checkbox" && bErase)
element.checked = false;
if (strResult != "")
strResult += "&";
if (element.name == "INIencSK")
value = URLEncode(value);
// 2007.05.03 수정 element.name default (id가 아니라 name을 써야만 HTML 규격에 맞음)
strResult += element.name;
strResult += "=";
//strResult += URLEncode(value);
strResult += value;
}
return ("&" + strResult);
}
function GatherValueSign(form, start, bErase)
{
var strResult = "";
var name = "";
var value = "";
var sel=0;
// INIplugin Install Check
obj = ModuleInstallCheckSign();
if (obj == null)
return "";
len = form.elements.length;
for (i = start; i < len; i++) {
element = form.elements[i];
//add to wakano 2002/03/13
if (element.name == "")
continue;
if (element.name == "INIpluginData")
continue;
//add to smgrl 2004/06/22
if (element.name == "filedata")
continue;
if (!((form.elements[i].type != "button") && (form.elements[i].type != "reset") && (form.elements[i].type != "submit")))
continue;
if ( ((element.type == "radio") || (element.type == "checkbox")) && (element.checked!=true) )
continue;
// File Field는 SKIP한다.
if(form.elements[i].name.indexOf('file_', 0) >= 0) {
continue;
}
if (element.type == "select-one") {
sel = element.selectedIndex;
if(sel<0) continue;
//2007.04.19 수정 select box 구현시 value 값이 ""인경우 서버에는 text값이 value로 넘어가는 현상 수정
value = element.options[sel].value;
if(bErase) element.selectedIndex = -1;
} else {
value = element.value;
if(bErase && !((element.type == "radio") || (element.type == "checkbox"))) element.value = "";
}
//add to smgrl 2004/06/29
if(element.type == "select-multiple") {
var j;
for(j=0;j= 3 check for Flash plugin in plugin array
var flashVer = -1;
if (navigator.plugins != null && navigator.plugins.length > 0) {
if (navigator.plugins["Shockwave Flash 2.0"] || navigator.plugins["Shockwave Flash"]) {
var swVer2 = navigator.plugins["Shockwave Flash 2.0"] ? " 2.0" : "";
var flashDescription = navigator.plugins["Shockwave Flash" + swVer2].description;
var descArray = flashDescription.split(" ");
var tempArrayMajor = descArray[2].split(".");
var versionMajor = tempArrayMajor[0];
var versionMinor = tempArrayMajor[1];
var versionRevision = descArray[3];
if (versionRevision == "") {
versionRevision = descArray[4];
}
if (versionRevision[0] == "d") {
versionRevision = versionRevision.substring(1);
} else if (versionRevision[0] == "r") {
versionRevision = versionRevision.substring(1);
if (versionRevision.indexOf("d") > 0) {
versionRevision = versionRevision.substring(0, versionRevision.indexOf("d"));
}
} else if (versionRevision[0] == "b") {
versionRevision = versionRevision.substring(1);
}
var flashVer = versionMajor + "." + versionMinor + "." + versionRevision;
}
}
// MSN/WebTV 2.6 supports Flash 4
else if (navigator.userAgent.toLowerCase().indexOf("webtv/2.6") != -1) flashVer = 4;
// WebTV 2.5 supports Flash 3
else if (navigator.userAgent.toLowerCase().indexOf("webtv/2.5") != -1) flashVer = 3;
// older WebTV supports Flash 2
else if (navigator.userAgent.toLowerCase().indexOf("webtv") != -1) flashVer = 2;
else if ( isIE && isWin && !isOpera ) {
flashVer = ControlVersion();
}
return flashVer;
}
// When called with reqMajorVer, reqMinorVer, reqRevision returns true if that version or greater is available
function DetectFlashVer(reqMajorVer, reqMinorVer, reqRevision)
{
versionStr = GetSwfVer();
if (versionStr == -1 ) {
return false;
} else if (versionStr != 0) {
if(isIE && isWin && !isOpera) {
// Given "WIN 2,0,0,11"
tempArray = versionStr.split(" "); // ["WIN", "2,0,0,11"]
tempString = tempArray[1]; // "2,0,0,11"
versionArray = tempString.split(","); // ['2', '0', '0', '11']
} else {
versionArray = versionStr.split(".");
}
var versionMajor = versionArray[0];
var versionMinor = versionArray[1];
var versionRevision = versionArray[2];
// is the major.revision >= requested major.revision AND the minor version >= requested minor
if (versionMajor > parseFloat(reqMajorVer)) {
return true;
} else if (versionMajor == parseFloat(reqMajorVer)) {
if (versionMinor > parseFloat(reqMinorVer))
return true;
else if (versionMinor == parseFloat(reqMinorVer)) {
if (versionRevision >= parseFloat(reqRevision))
return true;
}
}
return false;
}
}
function AC_AddExtension(src, ext)
{
var qIndex = src.indexOf('?');
if ( qIndex != -1)
{
// Add the extention (if needed) before the query params
var path = src.substring(0, qIndex);
if (path.length >= ext.length && path.lastIndexOf(ext) == (path.length - ext.length))
return src;
else
return src.replace(/\?/, ext+'?');
}
else
{
// Add the extension (if needed) to the end of the URL
if (src.length >= ext.length && src.lastIndexOf(ext) == (src.length - ext.length))
return src; // Already have extension
else
return src + ext;
}
}
function AC_Generateobj(objAttrs, params, embedAttrs)
{
var str = '';
if (isIE && isWin && !isOpera)
{
str += '';
} else {
str += '';
}
document.write(str);
}
function AC_FL_RunContent(){
var ret =
AC_GetArgs
( arguments, ".swf", "movie", "clsid:d27cdb6e-ae6d-11cf-96b8-444553540000"
, "application/x-shockwave-flash"
);
AC_Generateobj(ret.objAttrs, ret.params, ret.embedAttrs);
}
function AC_GetArgs(args, ext, srcParamName, classid, mimeType){
var ret = new Object();
ret.embedAttrs = new Object();
ret.params = new Object();
ret.objAttrs = new Object();
for (var i=0; i < args.length; i=i+2){
var currArg = args[i].toLowerCase();
switch (currArg){
case "classid":
break;
case "pluginspage":
ret.embedAttrs[args[i]] = args[i+1];
break;
case "src":
case "movie":
args[i+1] = AC_AddExtension(args[i+1], ext);
ret.embedAttrs["src"] = args[i+1];
ret.params[srcParamName] = args[i+1];
break;
case "onafterupdate":
case "onbeforeupdate":
case "onblur":
case "oncellchange":
case "onclick":
case "ondblClick":
case "ondrag":
case "ondragend":
case "ondragenter":
case "ondragleave":
case "ondragover":
case "ondrop":
case "onfinish":
case "onfocus":
case "onhelp":
case "onmousedown":
case "onmouseup":
case "onmouseover":
case "onmousemove":
case "onmouseout":
case "onkeypress":
case "onkeydown":
case "onkeyup":
case "onload":
case "onlosecapture":
case "onpropertychange":
case "onreadystatechange":
case "onrowsdelete":
case "onrowenter":
case "onrowexit":
case "onrowsinserted":
case "onstart":
case "onscroll":
case "onbeforeeditfocus":
case "onactivate":
case "onbeforedeactivate":
case "ondeactivate":
case "type":
case "codebase":
ret.objAttrs[args[i]] = args[i+1];
break;
case "id":
case "width":
case "height":
case "align":
case "vspace":
case "hspace":
case "class":
case "title":
case "accesskey":
case "name":
case "tabindex":
ret.embedAttrs[args[i]] = ret.objAttrs[args[i]] = args[i+1];
break;
default:
ret.embedAttrs[args[i]] = ret.params[args[i]] = args[i+1];
}
}
ret.objAttrs["classid"] = classid;
if (mimeType) ret.embedAttrs["type"] = mimeType;
return ret;
}