var popup = (function(){ var popup = {}; var popupList = {}; // 창 닫을 때 팝업 창도 같이 닫히도록 처리 popup.autoClose = function() { $.each(popupList, function(key, obj) { if(obj) { obj.close(); } }); } popup.open = function(target, setPopup, getPopup, custom) { var popupName = custom ? target + custom.name : target; init(popupName, getParam(target), setPopup, getPopup); popupList[popupName].open(); } popup.close = function(target, data) { if(popupList[target]) { if (_.isFunction(popupList[target].getPopup)) { popupList[target].getPopup(target, data); } popupList[target].close(); }else { alert("오류로 인해 창을 닫습니다."); popupList[target].close(); } } popup.setPopup = function(target) { if(_.isFunction(popupList[target].setPopup)) { return popupList[target].setPopup(target); } } function init(popupName, param, setPopup, getPopup) { var baseOption = { width : 1000 , height : 800 , status : "no" , resizable : "yes" , scrollbars :"yes" } var url = param.url; if(url.indexOf("http") == -1) { url = "/" + url; url = url.replace(/\/+/gi, "/"); } var optObj = _.clone(baseOption); $.each(param.option, function(key, value) { optObj[key] = value; }); // Fixes dual-screen position, Most browsers, Firefox var dualScreenLeft = window.screenLeft != undefined ? window.screenLeft : screen.left; var dualScreenTop = window.screenTop != undefined ? window.screenTop : screen.top; var width = window.innerWidth ? window.innerWidth : document.documentElement.clientWidth ? document.documentElement.clientWidth : screen.width; var height = window.innerHeight ? window.innerHeight : document.documentElement.clientHeight ? document.documentElement.clientHeight : screen.height; var left = (width / 2) - (optObj.width / 2) + dualScreenLeft; var top = (height / 2) - (optObj.height / 2) + dualScreenTop; optObj["top"] = top; optObj["left"] = left; var optList = []; $.each(optObj, function(key, value) { optList.push(key + "=" + value); }); if(popupList[popupName]) { popupList[popupName].close(); } popupList[popupName] = { obj : null , open : function() { this.obj = window.open(url, popupName, optList.join(",")); } , close : function() { this.obj.close(); } , getPopup : getPopup , setPopup : setPopup } } function getParam(target) { var list = { // 표준산업분류 검색 팝업 scgsCorpKsicPop : {url : "scgs/corp/ksicpop", option : {width:1000,height:540}} // 산업단지검색 팝업 , scgsCorpComplexPop : {url : "scgs/corp/complexpop", option : {width:1000,height:820}} // 기업 검색 팝업(다건) , scgsCorpCompPop : {url : "scgs/corp/comppop", option : {width:1200,height:1000}} // 폐쇄순환 네트워크 현황 팝업 , scgsCircNetworkPop : {url : "scgs/circ/networkpop", option : {width:1200,height:970,top:0}} // 예측/검토 임시팝업 , scgsPredNetworkPop : {url : "scgs/pred/networkpop", option : {width:1200,height:970,top:0}} // 폐기물 검색 팝업 , scgsCorpWastePop : {url : "scgs/corp/wastepop", option : {width:1000,height:900}} // EIP 세부기술 기술소유 현황 팝업 , scgsTechOwnerPop : {url : "scgs/tech/ownerpop", option : {width:1000,height:800}} // 지능형 폐쇄순환그리드 시스템 > 기업정보 > 제조업체 현황 > 팩토리온 팝업 , scgsCorpFactoryonPop : {url : "scgs/corp/factoryonpop", option : {width:1000,height:600}} // 지능형 폐쇄순환그리드 시스템 > 기업정보 > 제조업체 현황 > 올바로 팝업 , scgsCorpAllbaroPop : {url : "scgs/corp/allbaropop", option : {width:1400,height:960}} // 지능형폐쇄순환 > 예측/검토 > 적용사례 팝업 , scgsPredEipprojPop : {url : "scgs/pred/eipprojpop", option : {width:1200,height:800}} // 지능형폐쇄순환 > 예측/검토 > 알고리즘 팝업 , scgsPredCandidateAlgorithmPop : {url : "scgs/pred/algorithmpop", option : {width:1200,height:800}} , scgsPredCandidateAlgorithmmPop : {url : "scgs/pred/algorithmmpop", option : {width:1200,height:800}} , scgsPredCandidateAlgorithmwPop : {url : "scgs/pred/algorithmwpop", option : {width:1200,height:800}} , scgsPredCandidateAlgorithmcPop : {url : "scgs/pred/algorithmcpop", option : {width:1200,height:800}} , scgsPredCandidateAlgorithm9Pop : {url : "scgs/pred/algorithm9pop", option : {width:1200,height:800}} // 지능형폐쇄순환 > 예측/검토 > 표본기업 팝업 , scgsPredCandidateSamplePop : {url : "scgs/pred/samplepop", option : {width:1400,height:960}} // 지능형폐쇄순환 > 기준정보 > 화학물질검색 팝업 , scgsBaseSubsPop : {url : "scgs/base/subspop", option : {width:1000,height:540}} // 지능형폐쇄순환 > 기준정보 > 표준산업분류(다건) 팝업 , scgsBaseKsicmultiPop : {url : "scgs/base/ksicmultipop", option : {width:1000,height:540}} // EIP과제관리에서 EIP사업 선택 팝업 , scgsTechEiptechEipprojPop : {url : "scgs/tech/eiptechEipprojpop", option : {width:1000,height:540}} , scgsAltoTotalPrintguidePop : {url : "scgs/algo/total/printguide", option : {width:900,height:700}} // 지능형폐쇄순환 사업추진 기업검색 팝업 (단건) , scgsSuppCompPop : {url : "scgs/supp/comppop", option : {width:1200,height:820}} // 지능형폐쇄순환 사업추진 재활용업체검색 팝업 (단건) , scgsRecyCompPop : {url : "scgs/supp/recycomppop", option : {width:1200,height:820}} // 산업단지 폐부산물 교환 시스템 > 환경정보 > 거래업체 > 거래업체 검색 팝업 , iwbpBaseTradeCompPop : {url : "iwbp/base/tradecomppop", option : {width:1400,height:960,top:0}} // 산업단지 폐부산물 교환 시스템 > 환경정보 > 부산물(재활용 폐기물) > 부산물 DB 검색 팝업 , iwbpBaseByprodPop : {url : "iwbp/base/byprodpop", option : {width:1000,height:960,top:0}} // 산업단지 폐부산물 교환 시스템 > 환경정보 > 화학물질 정보 > 화학물질 DB검색 팝업 , iwbpBaseChemPop : {url : "iwbp/base/chempop", option : {width:1000,height:960,top:0}} // 산업단지 폐부산물 교환 시스템 > 환경정보 > 원자재 검색 팝업 , iwbpBaseItemPop : {url : "iwbp/base/itempop", option : {width:1000,height:800}} // 산업단지 폐부산물 교환 시스템 > 환경정보 > 제품 검색 팝업 , iwbpBaseProdPop : {url : "iwbp/base/prodpop", option : {width:1000,height:800}} // 산업단지 폐부산물 교환 시스템 > 폐부산물 모니터링 > 부산물 관리대장 > 부산물 발생/판매정보 팝업 , iwbpMoniByprodPop : {url : "iwbp/moni/byprodpop", option : {width:1000,height:800}} // 산업단지 폐부산물 교환 시스템 > 폐부산물 모니터링 > 폐기물 관리대장 > 폐기물 처리정보 팝업 , iwbpMoniWastePop : {url : "iwbp/moni/wastepop", option : {width:1000,height:800}} // 산업단지 폐부산물 교환 시스템 > 폐부산물 모니터링 > 화학물질 관리대장 > 화학물질 구매/사용정보 팝업 , iwbpMoniChemPop : {url : "iwbp/moni/chempop", option : {width:1000,height:800}} // 산업단지 폐부산물 교환 시스템 > 기업정보 등록 > 기업 검색 팝업(단건) , iwbpCorpCompPop : {url : "iwbp/corp/comppop", option : {width:1200,height:1000}} // 산업단지 폐부산물 교환 시스템 > 기업정보 등록 > 표준산업분류 검색 팝업 , iwbpCorpKsicPop : {url : "iwbp/corp/ksicpop", option : {width:1000,height:540}} // 산업단지 폐부산물 교환 시스템 > 폐기물 검색 팝업 , iwbpBaseWastePop : {url : "iwbp/base/wastepop", option : {width:1000,height:960,top:0}} // 청정공정 > 주소 검색 팝업 , cppmsCmmnJusoPop : {url : "cppms/cmmn/jusopop", option : {width:1000,height:900}} // 청정공정 > 기업 검색 팝업(단건) , cppmsMembSearchcompPop : {url : "cppms/memb/searchcomppop", option : {width:1000,height:750}} // 청정공정 > 기업 정보 팝업 , cppmsMembCompPop : {url : "cppms/memb/comppop", option : {width:1200,height:800}} // 청정공정 > 표준산업분류 , cppmsMembKsicPop : {url : "cppms/memb/ksicpop", option : {width:1000,height:700}} // 청정공정 > 비밀번호 변경 , cppmsCmmnChangePwdPop : {url : "cppms/cmmn/changePwdpop", option : {width:1000,height:350}} // 청정공정 > 사업신청 > TOE 산정보기 https://netis.kemco.or.kr/EngyUseRpt/ER_01/ER_01_01_140.aspx , cppmsTOEPop : {url : "http://tips.energy.or.kr/popup/toe.do", option : {width:978,height:780}} // 청정공정 > 파일업로드 , cppmsCmmnUploadFilePop : {url : "cppms/file/uploadFilepop", option : {width:825,height:227}} // 청정공정 > 사업신청 팝업 CppmsMembRequestP , cppmsMembRequestPop : {url : "cppms/memb/requestpop", option : {width:1200,height:800}} // 청정공정 > 진단기관 팝업 , cppmsMembExpertPop : {url : "/cppms/memb/expertpop", option : {width:1200,height:800}} // 청정공정 > 사업공지 팝업 , cppmsBaseBiznoticePop : {url : "/cppms/base/biznoticepop", option : {width:1080,height:925}} // 클린팩토리 > 기업 검색 팝업 , cfcmMembSearchsitePop : {url : "cfcm/memb/searchsitepop", option : {width:1000,height:750}} // 클린팩토리 > 기업 정보 팝업(단건) , cfcmMembSitePop : {url : "cfcm/memb/sitepop", option : {width:1200,height:550}} // 클린팩토리 > 표준산업분류 , cfcmMembKsicPop : {url : "cfcm/memb/ksicpop", option : {width:1000,height:700}} // 클린팩토리 > 비밀번호 변경 , cfcmCmmnChangePwdPop : {url : "cfcm/cmmn/changePwdpop", option : {width:1000,height:350}} // 클린팩토리 > 파일업로드 , cfcmCmmnUploadFilePop : {url : "cfcm/file/uploadFilepop", option : {width:825,height:227}} // 클린팩토리 > 진단기관 검색 팝업 , cfcmMembExpertsearchPop : {url : "cfcm/memb/expertsearchpop", option : {width:1000,height:750}} // 클린팩토리 > 진단기관 팝업 , cfcmMembExpertPop : {url : "cfcm/memb/expertpop", option : {width:1200,height:800}} // 클린팩토리 > 사업공지 팝업 , cfcmBaseBiznoticePop : {url : "cfcm/base/biznoticepop", option : {width:1080,height:925}} // 클린팩토리 > 산업단지 검색 팝업 , cfcmBaseComplexPop : {url : "cfcm/base/complexpop", option : {width:650,height:750}} // 클린팩토리 > 진단기관정보 > 진단기관 목록 팝업 , cfcmBusiAssignPop : {url : "cfcm/busi/assignpop", option : {width:800,height:750}} // 환경통계 표준산업분류 검색 팝업 , iedbCmmnKsicPop : {url : "iedb/cmmn/ksicpop", option : {width:1200,height:540}} // 환경통계 산업단지검색 팝업 , iedbCmmnComplexPop : {url : "iedb/cmmn/complexpop", option : {width:1000,height:820}} // 환경통계 폐기물검색 팝업 , iedbCmmnWastePop : {url : "iedb/cmmn/wastepop", option : {width:1000,height:820}} // 환경통계 폐기물 처리방법검색 팝업 , iedbCmmnProcessPop : {url : "iedb/cmmn/processpop", option : {width:1000,height:820}} // 환경통계기업검색 팝업 , iedbCmmnCompPop : {url : "iedb/cmmn/comppop", option : {width:1200,height:820}} // 환경통계 연료검색 팝업 , iedbCmmnFuelPop : {url : "iedb/cmmn/fuelpop", option : {width:1000,height:820}} // 환경통계 비밀번호 변경 , iedbCmmnChangepwdPop : {url : "iedb/cmmn/changepwdpop", option : {width:450,height:350}} // 환경통계 기업조회 팝업 , iedbCorpCompPop : {url : "iedb/corp/comppop", option : {width:1200,height:820}} // 환경통계 사업장관리 팝업 , iedbCorpSitePop : {url : "iedb/corp/sitepop", option : {width:1200,height:820}} // 환경통계 폐기물 발생/처리량 팝업 , iedbWasteWastePop : {url : "iedb/waste/wastepop", option : {width:1000,height:820}} // 환경통계 폐기물 처리방법 팝업 , iedbWasteProcessPop : {url : "iedb/waste/processpop", option : {width:1000,height:820}} // 환경통계 폐기물 처리네트워크 팝업 , iedbWasteNetworkPop : {url : "iedb/waste/networkpop", option : {width:1000,height:820}} // 환경통계 재활용 발생/처리량 팝업 , iedbWasteRecyclePop : {url : "iedb/waste/recyclepop", option : {width:1000,height:820}} // 환경통계 재활용 폐기물별 발생/처리량 팝업 , iedbWasteRecyclewastePop : {url : "iedb/waste/recyclewastepop", option : {width:1200,height:820}} // 환경통계 재활용 처리네트워크 팝업 , iedbWasteRecyclenetworkPop : {url : "iedb/waste/recyclenetworkpop", option : {width:1000,height:820}} // 환경통계 에너지 연료별 사용량 팝업 , iedbEnergyFuelPop : {url : "iedb/energy/fuelpop", option : {width:1000,height:820}} // 환경통계 에너지 연료 용도별 사용량 팝업 , iedbEnergyFuelusePop : {url : "iedb/energy/fuelusepop", option : {width:1000,height:820}} // 환경통계 에너지 연료 업체별 사용량 팝업 , iedbEnergyFuelsitePop : {url : "iedb/energy/fuelsitepop", option : {width:1000,height:820}} // 환경통계 에너지 전력 용도별 사용량 팝업 , iedbEnergyElecusePop : {url : "iedb/energy/elecusepop", option : {width:1000,height:820}} // 환경통계 에너지 전력 업체별 사용량 팝업 , iedbEnergyElecsitePop : {url : "iedb/energy/elecsitepop", option : {width:1000,height:820}} // 환경통계 공급-매개기업 지도 팝업 , iedbCorpAlgoPop : {url : "iedb/corp/algopop", option : {width:1400,height:960,top:0}} // 환경통계 부산물 지도 팝업 , iedbWasteByprodmapPop : {url : "iedb/waste/byprodmappop", option : {width:1400,height:960,top:0}} }; return list[target]; } return popup; }());