123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447 |
- /**
- EMR_BROWSER의 JAVASCRIPT 파일
- **/
- //현재비율. 100%로 할시 이미지 깨짐문제로 101%로 세팅
- var nowZoom = 101;
- // 최대비율(500으로하면 5배 커진다)
- var maxZoom = 300;
- // 최소비율
- var minZoom = 80;
- var TFWin = null;
- var domain = "";
- var lockyn = "N";
- var emrview_maxWidth = 840;
- /**
- 상페이지를 최상단으로 옮기기
- **/
- function go_top(){location.href='#top';}
- /**
- 다음페이지 호출
- 클릭한 '다음페이지' 는 화면에서 지운다.
- **/
- function nPage(page) {
- var obj = document.getElementById('tr' + page);
- if(obj){
- obj.innerHTML = '';
- obj.style.display='none' ;
- }
-
- loadHTML(page);
- }
- /**
- 현재페이지에 있는 ckeckbox 모두 체크 / 또는 해제
- **/
- function selectAll(bool){
- var ckk = document.getElementsByName('ck');
- for(i=0; i<ckk.length; i++){
- if(bool == 'Y')
- ckk[i].checked = true;
- else
- ckk[i].checked = false;
- }
- }
- /**
- 페이지보기 팝업
- 체크된 체크박스에 갯수에 따라 정해진 위치에 팝업을 띄움
- 팝업 화면에서 .'checkbox'와 '다음페이지' 등을 안보이게 가림
- **/
- function pageView(){
- var checknum = 0;
- var sum = 0;
- var ckk = document.getElementsByName('ck');
-
- for(i=0; i<ckk.length; i++){
- if(ckk[i].checked){
-
- ckvalue = ckk[i].value;
- ckvalue_arr = ckvalue.split("||");
- checknum++;
- if(sum % 2 == 0)
- win = window.open('about:blank','', 'width=900, height=700, top=0, left=0, scrollbars=yes');
- else
- win = window.open('about:blank','', 'width=900, height=700, top=0, left=300, scrollbars=yes');
- win.document.open();
- win.document.write("<link rel='stylesheet' type='text/css' href='../../../com/commonweb/css/common.css' />");
- win.document.write("<link rel='stylesheet' type='text/css' href='../../../emr/commonweb/css/emr.css' />");
- win.document.write("<script type='text/javascript' src='../../../emr/emrbrowserweb/js/emrbrowser.js'></script>");
- win.document.write(document.getElementById('div' + ckvalue_arr[ckvalue_arr.length-1]).innerHTML);
- win.document.title = "EMR Browser " + ckvalue_arr[0];
- win.document.close();
- sum++;
- if(win.document.getElementById('nextpagelink'))
- win.document.getElementById('nextpagelink').style.display='none';
- if(win.document.getElementById('checkid'))
- win.document.getElementById('checkid').style.display='none';
- }
- }
- if(checknum == 0){ alert('체크해 주세요.');}
- }
- /**
- 화면확대
- **/
- function zoomIn() {
- if (nowZoom < maxZoom) {
- nowZoom += 10; //25%씩 커진다.
- } else {
- return;
- }
- document.getElementById('ALLPAGE').style.zoom = nowZoom + '%';
- }
- /**
- 화면축소
- **/
- function zoomOut() {
- if (nowZoom > minZoom) {
- nowZoom -= 10; //25%씩 작아진다.
- } else {
- return;
- }
- document.getElementById('ALLPAGE').style.zoom = nowZoom + '%';
- }
- /**
- 기본화면 비율은 101%로 한다. 이미지가 잘 나오게 하기 위함
- **/
- function zoomDeafault() {
- document.getElementById('ALLPAGE').style.zoom = nowZoom + '%';
- }
- /**
- 왼쪽 프레임의 링크부분 생성 및 name 링크를 달아서 바로가기식으로 추가
- **/
- function writeLink(view, link){
- var linkHM = '<a href=javascript:link(\"'+link+'\")>'+view+'</a>' ;
- //leftObj = top.left.document.getElementById('leftDiv');
- //k = top.left.document.createElement('div');
- leftObj = document.getElementById('linkinDiv');
- k = document.createElement('div');
- k.style.paddingTop = "5";
- k.style.paddingRight = "0";
- k.style.paddingBottom = "0";
- k.style.paddingLeft = "5";
- leftObj.appendChild(k);
- k.innerHTML =linkHM;
- //innerHTMLJS(k,leftHM);
- }
- /**
- ajax 안에서 javascript호출(writeLink) 하므로 기본적으로 동작하지 않음
- ajax 안에서 javascript를 호출했을시 작동하게 만드는 function임
- **/
- function innerHTMLJS(obj,content) {
- // if(typeof(obj) != 'object' && typeof(content) != 'string') return;
- obj = (typeof obj=='string') ? document.getElementById(obj) : obj;
- // avoid IE innerHTML bug add.
- content = '<body>' + content.replace(/<\/?head>/gi, '')
- .replace(/<\/?html>/gi, '')
- .replace(/<body/gi, '<div')
- .replace(/<\/body/gi, '</div') + '</body>';
- obj.innerHTML = content;
- var scripts = obj.getElementsByTagName('script');
-
- if(scripts == false) return true; // no node script == no problem !
- for(var i=0; i<scripts.length; i++) {
- var scriptclone = document.createElement('script');
- if(scripts[i].attributes.length > 0) { /* boucle de copie des attributs du script dans le nouveau node */
- for(var j in scripts[i].attributes) {
- if(typeof(scripts[i].attributes[j]) != 'undefined'
- && typeof(scripts[i].attributes[j].nodeName) != 'undefined' /* IE needs it */
- && scripts[i].attributes[j].nodeValue != null
- && scripts[i].attributes[j].nodeValue != '' /* IE needs it ou il copie des nodes vides */)
- {
- scriptclone.setAttribute(scripts[i].attributes[j].nodeName, scripts[i].attributes[j].nodeValue);
- }
- }
- }
- scriptclone.text = scripts[i].text; // on copie le corp du script
- /*
- la j'ai pas compris, si je ne return pas sous opera ici : le javascript s'execute 2 fois -
- mais la : le script s'execute mais n'est pas a ce moment la place entre les balises scripts !
- et si je return juste apres le innerHTML, le script n'est pas execute... ---o(<
- */
- //if (navigator.userAgent.indexOf('Opera')>0) { return; }
- /* on force le remplacement du node par dom, qui a pour effet de forcer le parsing du javascript */
- scripts[i].parentNode.replaceChild(scriptclone, scripts[i]);
- }
- return true;
- }
- /*
- copy/paste 기능 구현을 위해 보안모듈의 설치 여부를 체크
- */
- function SecuCheck(){
- try
- {
- var WebSecurer = document.all("WebSecurer");
- var DSstate = WebSecurer. DSInstalled;
-
- if( DSstate != 1)
- {
- alert("보안모듈이 설치 되지 않았습니다.");
- //window.location.replace("ErrorPage.html")
- }
- }
- catch(e)
- {
- alert("보안모듈이 설치 되지 않았습니다.");
- //window.location.replace("ErrorPage.html")
- }
- }
- /*
- name link로 이동
- */
- function link(w){
- var ll = location.toString();
- var lo = ll.split('#');
- //top.content.location.href = lo[0] + '#' + w;
- location.href = lo[0] + '#' + w;
- }
- /*
- bookmark insert를 위해 필요한 인자값을 세팅
- */
- function getBookmarkParameter(){
- var checknum = 0;
- var retValue = "";
- var ckk = document.getElementsByName('ck');
- for(i=0; i<ckk.length; i++){
- if(ckk[i].checked){
- checknum++;
- ckvalue = ckk[i].value;
- ckvalue_arr = ckvalue.split("||");
- if(retValue == ""){
- retValue = ckvalue_arr[0] + "▦" + ckvalue_arr[1] + "▦" + ckvalue_arr[2] + "▦" + ckvalue_arr[3] + "▦" + ckvalue_arr[4] + "▦" + ckvalue_arr[5] + "▦" + ckvalue_arr[6] + "▦" + ckvalue_arr[7] + "▦" + ckvalue_arr[8] + "▦" + ckvalue_arr[9] + "▦" + ckvalue_arr[10] + "▦" + ckvalue_arr[11] + "▦" + ckvalue_arr[12] + "▦" + ckvalue_arr[13] + "▦" + ckvalue_arr[14] + "▦" + ckvalue_arr[15] + "▦" + ckvalue_arr[16];
- }
- else{
- retValue = retValue + "▩" + ckvalue_arr[0] + "▦" + ckvalue_arr[1] + "▦" + ckvalue_arr[2] + "▦" + ckvalue_arr[3] + "▦" + ckvalue_arr[4] + "▦" + ckvalue_arr[5] + "▦" + ckvalue_arr[6] + "▦" + ckvalue_arr[7] + "▦" + ckvalue_arr[8] + "▦" + ckvalue_arr[9] + "▦" + ckvalue_arr[10] + "▦" + ckvalue_arr[11] + "▦" + ckvalue_arr[12] + "▦" + ckvalue_arr[13] + "▦" + ckvalue_arr[14] + "▦" + ckvalue_arr[15] + "▦" + ckvalue_arr[16];
- }
-
- }
- }
- if(checknum == 0){
- alert('체크해 주세요.');
- return retValue;
- }
- else{
- return retValue;
- }
- }
- var checknum = 1;
- function viewHidden(){
- var obj1 = document.getElementById("linkDiv");
- var obj2 = document.getElementById("inbtn");
- var obj3 = document.getElementById("linkinDiv");
- if(checknum == 1){
- obj1.style.width = "27";
- obj1.style.left = "820";
- obj2.innerHTML = "<a href='javascript:viewHidden()'><img src='../../../com/commonweb/images/btn_send_left.gif' border='0' width='26' height='19'/></a>";
- obj3.style.display = "none";
- checknum = 2;
- }
- else{
- obj1.style.width = "200";
- obj1.style.left = "656";
- obj2.innerHTML = "<a href='javascript:viewHidden()'><img src='../../../com/commonweb/images/btn_send_right.gif' border='0' width='26' height='19'/></a>";
- obj3.style.display = "";
- checknum = 1;
- }
- }
- function viewScroll(bool){
- var obj = document.getElementById("linkDiv");
- if(bool == "Y"){
- obj.style.display = "";
- }
- else{
- obj.style.display = "none";
- }
- }
- function goLocation(url){
- location.href = domain + "/himed/webapps/cmc/web/xrw/.live?" + url;
- }
- //-----------------------------------------------------------------------------------------------------------------------------
- var stmnLEFT = 0; // 왼쪽 여백 (메뉴가 왼쪽에서 10픽셀 떨어진 곳에 보여집니다)
- var stmnGAP1 = 0; // 위쪽 여백 (메뉴가 위에서 10픽셀 떨어진 곳에 보여집니다)
- var stmnGAP2 = 80; // 스크롤시 브라우저 위쪽과 떨어지는 거리
- var stmnBASE = 80; // 스크롤 시작위치
- var stmnActivateSpeed = 200;
- var stmnScrollSpeed = 10;
- var stmnTimer;
- function InitializeStaticMenu(){
- var STATICMENU = document.getElementById("linkDiv");
- STATICMENU.style.top = document.body.scrollTop + stmnBASE;
- RefreshStaticMenu();
- }
- function RefreshStaticMenu(){
- var STATICMENU = document.getElementById("linkDiv");
- var stmnStartPoint, stmnEndPoint, stmnRefreshTimer;
- stmnStartPoint = parseInt(STATICMENU.style.top, 10);
- stmnEndPoint = document.body.scrollTop + stmnGAP2;
- if (stmnEndPoint < stmnGAP1) stmnEndPoint = stmnGAP1;
- stmnRefreshTimer = stmnActivateSpeed;
- if ( stmnStartPoint != stmnEndPoint ) {
- stmnScrollAmount = Math.ceil( Math.abs( stmnEndPoint - stmnStartPoint ) / 15 );
- STATICMENU.style.top = parseInt(STATICMENU.style.top, 10) + ( ( stmnEndPoint<stmnStartPoint ) ? -stmnScrollAmount : stmnScrollAmount );
- stmnRefreshTimer = stmnScrollSpeed;
- }
- stmnTimer = setTimeout ("RefreshStaticMenu();", stmnRefreshTimer);
- }
- function emrview_errorImage(o, id){
- o.src = "../../../com/commonweb/images/no_image.gif";
- if (id != null) {
- var divObj = document.getElementById("div_reckey_i"+id);
- if (divObj != null) {
- divObj.innerHTML = divObj.innerHTML + "<BR>error code : "+id;
- }
- }
- }
- function emrview_resizeImage(img, maxWid)
- {
- if (maxWid == null)
- maxWid = emrview_maxWidth;
-
- if (img.width > maxWid) {
- img.height = img.height * maxWid / img.width;
- img.width = maxWid;
- }
- }
- //--------------------------------------------------------------------------------------------------------
- //프린트 관련
- function initPrint(){
- if (!secmgr.object){
- return;
- }
- else{
- //UpdateViewsourceLinks();
- /*
- document.expando = true;
- document.printingRules = {
- //diffFirstPageHeadFoot: true,
- allPagesHeadFoot: true,
- pageRange: "",
- printingPass: "all",
- //printingPass: "odd&even",
- mirrorMargins: true,
- setupButton: "show",
- //setupButton: "hidden",
- setupExtraButton: "enabled"
- }
- */
- //document.printingRules.extraFirstPageFooter = "<div style='color:red; font:bold 6pt Arial'><img src='http://www.meadroid.com/support/sx_stat.gif'> EXTRA FIRST PAGE FOOTER AS IMAGE<br> </div>";
- //document.printingRules.firstPageHeader = "<div style='border: 1pt solid red; font: bold 12pt Arial; background: threedface; color: white; padding-Top: 5px; padding-Bottom: 6px; background-repeat: repeat; background-Image: url(http://www.meadroid.com/images/act_bg.jpg)'><center> --- Header for page <b> &p </b>--- </center></div>";
- //document.printingRules.firstPageFooter = "<div style='border: 1pt solid red; font: bold 12pt Arial; background: threedface; color: white; padding-Top: 5px; padding-Bottom: 6px background-repeat: repeat; background-Image: url(http://www.meadroid.com/images/act_bg.jpg)'><center> --- Footer for page <b> &p </b>--- </center></div>";
- //document.printingRules.allPagesHeader = "<div style='border: 1pt solid red; font: bold 12pt Arial; background: threedface; color: navy; padding-Top: 5px; padding-Bottom: 6px; background-repeat: repeat; background-Image: url(http://www.meadroid.com/images/non_act_bg.jpg)'><center> --- Header for page <b> &p </b>---</i></center></div>";
- //document.printingRules.allPagesFooter = "<div style='border: 1pt solid red; font: bold 12pt Arial; background: threedface; color: navy; padding-Top: 5px; padding-Bottom: 6px; background-repeat: repeat; background-Image: url(http://www.meadroid.com/images/non_act_bg.jpg)'><center> --- Footer for page <b> &p </b> ---</i></center></div>";
- /*
- // Usually the value of height for headers/footers
- // is automatically calculated.
- // But we may decide to specify an exact value as below:
- document.firstHeaderHeight = 180;
- document.firstFooterHeight = 180;
- document.extraFirstFooterHeight = 160;
- document.allHeaderHeight = 120;
- document.allFooterHeight = 120;
- */
-
- //factory.printing.SetPrintScale(120);
- // factory.printing.paperSize = "Letter (8.5 x 11in.)";
- factory.printing.header = "";
- factory.printing.footer = "";
- //factory.printing.onuserprintpreview = Preview;
- //factory.printing.printBackground = true;
- }
- }
- function Preview(instcd, instnm, tmppid, hngnm, rrgstno, pTime, usernm, plcenm){
- //factory.printing.header = instnm + " " + tmppid + " " + hngnm + " " + rrgstno;
- //factory.printing.footer = "&p/&P 출력 : " + pTime + " " + usernm + " " + plcenm + " 이 서식은 사본입니다.(원본 대조필)";
- //factory.printing.Preview();
- document.title = instnm + " " + tmppid + " " + hngnm;
- // 웹 브라우저 컨트롤 생성
- var WebBrowser = '<OBJECT ID="WebBrowser1" WIDTH=0 HEIGHT=0 CLASSID="CLSID:8856F961-340A-11D0-A96B-00C04FD705A2"></OBJECT>';
- // 웹 페이지에 객체 삽입
- document.body.insertAdjacentHTML('beforeEnd', WebBrowser);
- // if intOLEparam이 정의되어 있지 않으면 디폴트 값 설정
- //if ( ( ! intOLEparam ) || ( intOLEparam < -1 ) || (intOLEparam > 1 ) )
- intOLEparam = 1;
- // ExexWB 메쏘드 실행
- WebBrowser1.ExecWB(7, intOLEparam);
- // 객체 해제
- WebBrowser1.outerHTML = "";
- //window.print();
- }
- function DoPrint(){
- factory.printing.Print();
- }
- //------------------------------------------------------------
- function copyBrowser(){
- var rng = document.selection.createRange();
- var str = new String(rng.text);
- return str;
- }
|