/* 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 += ' '; str += ''; } else { str += '