/** ÆÄÀϸí : domevent.js ¸ñ Àû : °øÅëÇÔ¼ö ÀÛ¼ºÀÚ : À̼º¿ø ³» ¿ë : ---------------------------------------------------------------------------- **/ var TYPE_NONE = 0; var TYPE_WON = 1; var TYPE_YEAR = 2; var TYPE_YEARMONTH = 3; var TYPE_DATE = 4; var TYPE_TIME = 5; var TYPE_SSN = 6; var TYPE_BRN = 7; var TYPE_ZIPCODE = 8; var TYPE_NUMCODE = 10; var TYPE_ENGCODE = 11; var TYPE_KOR = 20; var TYPE_ENG = 21; var TYPE_NUM = 22; var TYPE_KORENG = 23; var TYPE_KORNUM = 24; var TYPE_ENGNUM = 25; var TYPE_EMAIL = 30; var TYPE_URL = 31; var TYPE_TEL = 32; function unformat() { for(i = 0; i < document.forms.length; i++) { var form = document.forms[i]; for(j = 0; j < form.elements.length; j++) { if(form.elements[j].type == "text" || form.elements[j].type == "password") form.elements[j].value = form.elements[j].value.replace(/(\,|\-)/g, ""); } } } function __format() { switch(this.elementType) { case TYPE_WON : var sWon = this.value.replace(/(^(0)*|,)/g, ""); // ¾Õ¿¡¼­ ¹ß»ýÇÏ´Â ¹«ÀǹÌÇÑ 0¿Í Áß°£ÀÇ ,(Comma)¸¦ Á¦°ÅÇÑ´Ù. var tWon = ""; var i; var j = 0; var tLen = sWon.length; for(i=0; i= 33 && nKeyCode <= 40) || nKeyCode == 45 || nKeyCode == 46) return; switch(this.elementType) { case TYPE_WON : insertSeperatorByWon(this, ","); break; case TYPE_YEAR : if(strlen(this.value) > 4) // 4ÀÚ ÀÌ»ó ÀÔ·ÂÀÌ ºÒ°¡ this.value = this.value.substring(0, 4); break; case TYPE_YEARMONTH : insertSeperatorByYearMonth(this, "-"); break; case TYPE_DATE : insertSeperatorByDate(this, "-"); break; case TYPE_TIME : insertSeperatorByTime(this, ":"); break; case TYPE_SSN : insertSeperatorBySsn(this, "-"); break; case TYPE_BRN : insertSeperatorByBrn(this, "-"); break; case TYPE_ZIPCODE : insertSeperatorByZipcode(this, "-"); break; case TYPE_NUMCODE : case TYPE_ENGCODE : case TYPE_KOR : case TYPE_ENG : case TYPE_NUM : case TYPE_KORENG : case TYPE_KORNUM : case TYPE_ENGNUM : case TYPE_EMAIL : case TYPE_URL : case TYPE_TEL : break; } if(this.getAttribute("keyup")) { var fn = eval(this.getAttribute("keyup")); } } function __onkeydown() { if(this.getAttribute("keydown")) { var fn = eval(this.getAttribute("keydown")); } } function __onfocus() { if(this.select) { this.select(); } if(this.getAttribute("focus")) { var fn = eval(this.getAttribute("focus")); } } function __onblur() { if(window.event.keyCode == 9) return; var title = this.getAttribute("title")?this.getAttribute("title"):"ÀÔ·ÂÀÚ·á"; var name = this.name; // ¹üÀ§ °Ë»ç if(this.getAttribute("range")) { var range = this.getAttribute("range").split("-"); if(range.length == 2) { var str = trim(this.value); if(strlen(str) != 0 && !(strlen(str) >= range[0] && strlen(str) <= range[1])) { if(range[0] == range[1]) { window.alert(title + "Àº(´Â) " + range[0] +"ÀÚ·Î ÀÔ·ÂÇϼ¼¿ä."); this.focus(); } else { window.alert(title + "Àº(´Â) ÃÖ¼Ò " + range[0] +"ÀÚ, ÃÖ´ë " + range[1] + "ÀÚ·Î ÀÔ·ÂÇϼ¼¿ä."); this.focus(); } this.value = str; this.focus(); return; } this.value = str; } } // À¯È¿¼º °Ë»ç switch(this.elementType) { case TYPE_YEAR : var str = this.value; if(str != "") { if(str != "" && !(parseInt(str) >= 1900 && parseInt(str) <= 2100)) { window.alert("[" + str + "]Àº(´Â) À¯È¿ÇÑ " + title + "ÀÌ(°¡) ¾Æ´Õ´Ï´Ù."); this.focus(); this.value = str; return; } this.value = str; } break; case TYPE_YEARMONTH : var sep = "-" // ±¸ºÐÀÚ var str = this.value; if(str != "") { var arr = new Array(); arr = str.split(sep); if(arr.length != 2) { window.alert(title + "Àº(´Â) [" + sep + "]·Î ±¸ºÐÇØ¾ß ÇÕ´Ï´Ù."); this.value = str; return; } if(!ValidYear(arr[0]) || !ValidMonth(arr[1])) { window.alert("[" + str + "]Àº(´Â) À¯È¿ÇÑ " + title + "ÀÌ(°¡) ¾Æ´Õ´Ï´Ù."); this.focus(); this.value = str; return; } if(arr[1].length == 1) { arr[1] = "0" + arr[1]; } this.value = arr[0] + sep + arr[1]; } break; case TYPE_DATE : var sep = "-"; var str = this.value; if(str != "") { var arr = new Array(); arr = str.split(sep); if(arr.length != 3) { window.alert(title + "Àº(´Â) [" + sep + "]·Î ±¸ºÐÇØ¾ß ÇÕ´Ï´Ù."); this.focus(); this.value = str; return; } if(!ValidDate(arr[0], arr[1], arr[2])) { window.alert("[" + str + "]Àº(´Â) À¯È¿ÇÑ " + title + "ÀÌ(°¡) ¾Æ´Õ´Ï´Ù."); this.focus(); this.value = str; return; } if(arr[1].length == 1) { arr[1] = "0" + arr[1]; } if(arr[2].length == 1) { arr[2] = "0" + arr[2]; } this.value = arr[0] + sep + arr[1] + sep + arr[2]; } break; case TYPE_TIME : var sep = ":" // ±¸ºÐÀÚ var str = this.value; if(str != "") { var arr = new Array(); arr = str.split(sep); if(arr.length != 2) { window.alert(title + "Àº(´Â) [" + sep + "]·Î ±¸ºÐÇØ¾ß ÇÕ´Ï´Ù."); this.focus(); this.value = str; return; } if(!ValidHour(arr[0]) || !ValidMinute(arr[1])) { window.alert("[" + str + "]Àº(´Â) À¯È¿ÇÑ " + title + "ÀÌ(°¡) ¾Æ´Õ´Ï´Ù."); this.focus(); this.value = str; return; } if(arr[1].length == 1) { arr[1] = "0" + arr[1]; } this.value = arr[0] + sep + arr[1]; } break; case TYPE_SSN : var sep = "-"; var str = this.value; if(str != "") { var arr = new Array(); arr = str.split(sep); if(arr.length != 2) { window.alert(title + "Àº(´Â) [" + sep + "]·Î ±¸ºÐÇØ¾ß ÇÕ´Ï´Ù."); this.focus(); this.value = str; return; } if(!ValidSize(arr[0], 6, 6)) { window.alert(title + "ÀÇ ¾ÕÀÚ¸®´Â " + 6 + "ÀÚ·Î ÀÔ·ÂÇϼ¼¿ä."); this.focus(); this.value = str; return; } if(!ValidSize(arr[1], 7, 7)) { window.alert(title + "ÀÇ µÞÀÚ¸®´Â " + 7 + "ÀÚ·Î ÀÔ·ÂÇϼ¼¿ä."); this.focus(); this.value = str; return; } var year = (parseInt(arr[0].substring(0, 2)) < 5)?"20":"19"; if(!ValidDate(year + arr[0].substring(0, 2), arr[0].substring(2, 4), arr[0].substring(4, 6))) { window.alert(title + "ÀÇ »ý³â¿ùÀÏÀÌ Á¤È®ÇÏÁö ¾Ê½À´Ï´Ù."); this.focus(); this.value = str; return; } var hap = 0; for(var i = 0; i < 6; i++) { var temp = arr[0].charAt(i) *(i+2); hap += temp; } if(!(arr[0] == "000000" && arr[1] == "0000000")) { var n1 = arr[1].charAt(0); var n2 = arr[1].charAt(1); var n3 = arr[1].charAt(2); var n4 = arr[1].charAt(3); var n5 = arr[1].charAt(4); var n6 = arr[1].charAt(5); var n7 = arr[1].charAt(6); hap += n1*8+n2*9+n3*2+n4*3+n5*4+n6*5; hap %= 11; hap = 11 - hap; hap %= 10; if(hap != n7) { window.alert(title + "ÀÌ(°¡) À¯È¿ÇÏÁö ¾Ê½À´Ï´Ù. È®ÀÎ ÈÄ ´Ù½Ã ÀÔ·ÂÇϼ¼¿ä."); this.focus(); this.value = str; return; } } this.value = str; } break; case TYPE_NONE : // TYPE_NONEÀÇ °æ¿ì document ³»ÀÇ ¸ðµç element°¡ ÇØ´çµÇ¹Ç·Î validation °Ë»ç¸¦ ÇÏÁö¾Ê´Â´Ù. break; } if(this.getAttribute("blur")) { var fn = eval(this.getAttribute("blur")); } } function enableDomEvent() { for(i = 0; i < document.forms.length; i++) { var form = document.forms[i]; for(j = 0; j < form.elements.length; j++) { switch(form.elements[j].type) { // ³»ÀåµÈ Ű¿öµå°¡ ÀÖÀ» °æ¿ì ¿À¸¥ÂÊ Á¤·Ä, ¿µ¼ýÀÚ¸¸ ÀÔ·ÂÀÌ °¡´ÉÇϵµ·Ï ¼³Á¤ÇÑ´Ù. case "password" : case "text" : if(form.elements[j].getAttribute("won") != null) { form.elements[j].elementType = TYPE_WON; form.elements[j].style.textAlign = "right"; form.elements[j].style.imeMode = "disabled"; } else if(form.elements[j].getAttribute("year") != null) { form.elements[j].elementType = TYPE_YEAR; form.elements[j].style.imeMode = "disabled"; } else if(form.elements[j].getAttribute("yearmonth") != null) { form.elements[j].elementType = TYPE_YEARMONTH; form.elements[j].style.imeMode = "disabled"; } else if(form.elements[j].getAttribute("date") != null) { form.elements[j].elementType = TYPE_DATE; form.elements[j].style.imeMode = "disabled"; } else if(form.elements[j].getAttribute("time") != null) { form.elements[j].elementType = TYPE_TIME; form.elements[j].style.imeMode = "disabled"; } else if(form.elements[j].getAttribute("ssn") != null) { form.elements[j].elementType = TYPE_SSN; form.elements[j].style.imeMode = "disabled"; } else if(form.elements[j].getAttribute("brn") != null) { form.elements[j].elementType = TYPE_BRN; form.elements[j].style.imeMode = "disabled"; } else if(form.elements[j].getAttribute("zipcode") != null) { form.elements[j].elementType = TYPE_ZIPCODE; form.elements[j].style.imeMode = "disabled"; } else if(form.elements[j].getAttribute("kor") != null) { form.elements[j].elementType = TYPE_KOR; form.elements[j].style.imeMode = "active"; } else if(form.elements[j].getAttribute("eng") != null) { form.elements[j].elementType = TYPE_ENG; form.elements[j].style.imeMode = "disabled"; } else if(form.elements[j].getAttribute("num") != null) { form.elements[j].elementType = TYPE_NUM; form.elements[j].style.textAlign = "right"; form.elements[j].style.imeMode = "disabled"; } else if(form.elements[j].getAttribute("numcode") != null) { form.elements[j].elementType = TYPE_NUMCODE; form.elements[j].style.imeMode = "disabled"; } else if(form.elements[j].getAttribute("engcode") != null) { form.elements[j].elementType = TYPE_ENGCODE; form.elements[j].style.imeMode = "disabled"; } else if(form.elements[j].getAttribute("koreng") != null) { form.elements[j].elementType = TYPE_KORENG; form.elements[j].style.imeMode = "active"; } else if(form.elements[j].getAttribute("kornum") != null) { form.elements[j].elementType = TYPE_KORNUM; form.elements[j].style.imeMode = "active"; } else if(form.elements[j].getAttribute("engnum") != null) { form.elements[j].elementType = TYPE_ENGNUM; form.elements[j].style.imeMode = "disabled"; } else if(form.elements[j].getAttribute("email") != null) { form.elements[j].elementType = TYPE_EMAIL; form.elements[j].style.imeMode = "disabled"; } else if(form.elements[j].getAttribute("url") != null) { form.elements[j].elementType = TYPE_URL; form.elements[j].style.imeMode = "inactive"; } else if(form.elements[j].getAttribute("tel") != null) { form.elements[j].elementType = TYPE_TEL; form.elements[j].style.imeMode = "disabled"; } else { form.elements[j].elementType = TYPE_NONE; form.elements[j].style.imeMode = "active"; } form.elements[j].onkeypress = __onkeypress; form.elements[j].onkeyup = __onkeyup; form.elements[j].onkeydown = __onkeydown; form.elements[j].format = __format; form.elements[j].onfocus = __onfocus; form.elements[j].onblur = __onblur; break; default: break; } } } }