ui.js 18 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809
  1. /**
  2. * ?????? ?????? maxLength ??? ?????????????????? text ????????? ????????? ?????? ??? ?????? ?????? ????????????.
  3. * f : form object
  4. * return boolean (true : ?????? maxLength ?????? ??????????????? ???????????????,false : maxLength ?????? ????????? ??????
  5. */
  6. function doMaxLengthCheck(f){
  7. var e = f.elements;
  8. var flag = true;
  9. for(i = 0 ; i< e.length ; i++){
  10. if(e[i].type == "text" && e[i].getAttribute("maxlength") < 2147483647){
  11. if(e[i].getAttribute("maxlength") < getByteLength(e[i].value)){
  12. alert(e[i].alt+"????????? ??????????????? ?????? ?????? ????????? "+e[i].getAttribute("maxlength")+" Byte ??????, ???????????? ????????? "+getByteLength(e[i].value)+"Byte ?????????.\n????????? ????????? ???????????? ?????????");
  13. e[i].focus();
  14. flag = false;
  15. }
  16. }
  17. }
  18. return flag;
  19. }
  20. /**
  21. * 입력항목 검사 2004-09-17 sukjin chang
  22. * 파라미터)> ctype:구분
  23. * 사용예)> CheckData(f.obj, "E")
  24. */
  25. function CheckData(ctype)
  26. {
  27. //alert("event.keyCode == [" + event.keyCode + "]");
  28. switch(ctype) {
  29. case "A" :
  30. // 영문자, 숫자 0~9 문자만 입력가능
  31. if( ((event.keyCode >= 48 && event.keyCode <= 57) || (event.keyCode >= 65 && event.keyCode <= 90) || (event.keyCode >= 97 && event.keyCode <= 122)) )
  32. {
  33. // event.keyCode=0;
  34. } else {
  35. event.keyCode=0;
  36. }
  37. break;
  38. case "E" :
  39. // 영문자만 입력가능
  40. if( ((event.keyCode >= 65 && event.keyCode <= 90) || (event.keyCode >= 97 && event.keyCode <= 122)) )
  41. {
  42. // event.keyCode=0;
  43. } else {
  44. event.keyCode=0;
  45. }
  46. break;
  47. case "N" :
  48. // 숫자 0~9 문자만 입력가능
  49. if( event.keyCode < 48 || event.keyCode > 57)
  50. {
  51. event.keyCode=0;
  52. }
  53. break;
  54. case "D" :
  55. break;
  56. default :
  57. }
  58. }
  59. /**
  60. * 대문자로 반환
  61. * 파라미터)> obj:객체 명
  62. * 사용예)> f_Upper(f.obj)
  63. */
  64. function f_Upper(obj)
  65. {
  66. obj.value = obj.value.toUpperCase();
  67. }
  68. function doKeyUpEvent(str_value, type){
  69. if(type == "NUMBER"){
  70. return str_value.replace(/[^0-9]/gi, "");
  71. }else if(type == "FLOAT"){
  72. return str_value.replace(/[^0-9.]/gi, "");
  73. }else if(type == "NUMBER_MINUS"){
  74. return str_value.replace(/[^0-9-]/gi, "");
  75. }else if(type == "FLOAT_MINUS"){
  76. return str_value.replace(/[^0-9-.]/gi, "");
  77. }
  78. }
  79. function doKeyPressEvent(obj, type) {
  80. try {
  81. if( event.keyCode == 13 ) {
  82. return;
  83. }
  84. if( type == "NUMBER" ) {
  85. if( (event.keyCode < 48) || (event.keyCode > 57) ) {
  86. event.returnValue = false;
  87. }
  88. }
  89. else if( type == "NUMBER_MINUS" ) {
  90. if( ((event.keyCode < 48) || (event.keyCode > 57)) && ((event.keyCode != 45)) ) {
  91. event.returnValue = false;
  92. }
  93. if( event.keyCode == 45 && obj.value.indexOf('-') > 0 ) {
  94. event.returnValue = false;
  95. }
  96. }
  97. else if( type == "FLOAT" ) {
  98. if( ((event.keyCode < 48) || (event.keyCode > 57)) && ((event.keyCode != 46)) ) {
  99. event.returnValue = false;
  100. }
  101. if( event.keyCode == 46 && obj.value.indexOf('.') > 0 ) {
  102. event.returnValue = false;
  103. }
  104. }
  105. else if( type == "FLOAT_MINUS" ) {
  106. if( ((event.keyCode < 48) || (event.keyCode > 57)) && ((event.keyCode != 46) && (event.keyCode != 45)) ) {
  107. event.returnValue = false;
  108. }
  109. if( event.keyCode == 46 && obj.value.indexOf('.') > 0 ) {
  110. event.returnValue = false;
  111. }
  112. if( event.keyCode == 45 && obj.value.indexOf('-') > 0 ) {
  113. event.returnValue = false;
  114. }
  115. }
  116. else if(type == "ID" ) {
  117. if( (event.keyCode < 48) || ((event.keyCode > 57) && ( (event.keyCode < 65) || (event.keyCode > 128) )) ) {
  118. event.returnValue = false;
  119. }
  120. }
  121. else if(type == "TEL" ) {
  122. if( ((event.keyCode < 48) || (event.keyCode > 57)) && (event.keyCode != 45) ) {
  123. event.returnValue = false;
  124. }
  125. }
  126. else if(type == "ENGLISH"){
  127. if(event.keyCode < 65) {
  128. event.returnValue = false;
  129. }
  130. else if( ((event.keyCode > 90) && (event.keyCode < 97)) || (event.keyCode > 122)) {
  131. event.returnValue = false;
  132. }
  133. }else if(type =="NO"){
  134. if(event.keyCode != 45){
  135. if( (event.keyCode < 48) || ((event.keyCode > 57) && ( (event.keyCode < 65) || (event.keyCode > 128) ) ) ) {
  136. event.returnValue = false;
  137. }
  138. }
  139. }
  140. }
  141. catch(errorObject) {
  142. showErrorDlg(errorObject);
  143. }
  144. }
  145. //통화에 따라 넘버형인지 플롯인지 선택하도록 한다. 2010.08.19 김영수.
  146. function doKeyPressCurrencyEvent(obj, currency, type ) {
  147. try {
  148. if( event.keyCode == 13 ) {
  149. return;
  150. }
  151. if( currency == "KRW" ) {
  152. if( type != undefined && type != null && type == "minus"){
  153. if( ((event.keyCode < 48) || (event.keyCode > 57)) && ((event.keyCode != 45)) ) {
  154. event.returnValue = false;
  155. }
  156. if( event.keyCode == 45 && obj.value.indexOf('-') > -1 ) {
  157. event.returnValue = false;
  158. }
  159. }
  160. else{
  161. if( (event.keyCode < 48) || (event.keyCode > 57) ) {
  162. event.returnValue = false;
  163. }
  164. }
  165. }
  166. else {
  167. if( type != undefined && type != null && type == "minus"){
  168. if( ((event.keyCode < 48) || (event.keyCode > 57)) && ((event.keyCode != 46) && (event.keyCode != 45)) ) {
  169. event.returnValue = false;
  170. }
  171. if( event.keyCode == 46 && obj.value.indexOf('.') > -1 ) {
  172. event.returnValue = false;
  173. }
  174. if( event.keyCode == 45 && obj.value.indexOf('-') > -1 ) {
  175. event.returnValue = false;
  176. }
  177. }
  178. else{
  179. if( ((event.keyCode < 48) || (event.keyCode > 57)) && ((event.keyCode != 46)) ) {
  180. event.returnValue = false;
  181. }
  182. if( event.keyCode == 46 && obj.value.indexOf('.') > -1 ) {
  183. event.returnValue = false;
  184. }
  185. }
  186. }
  187. }
  188. catch(errorObject) {
  189. showErrorDlg(errorObject);
  190. }
  191. }
  192. function doNumberFloatFocusEvent(obj) {
  193. removeMinusMask(obj);
  194. }
  195. function doNumberFloatBlurEvent(obj) {
  196. try {
  197. var oNumber = obj.value.replace(/,/g,"");
  198. var sNumber = oNumber;
  199. var lNumber = "";
  200. var tNumber = "";
  201. var dotIndex ="";
  202. var bSign = "";
  203. var bDot ="";
  204. if( oNumber.indexOf('-') != -1) {
  205. bSign = 1 ;
  206. }
  207. if( (dotIndex = oNumber.indexOf('.')) != -1) {
  208. bDot = 1 ;
  209. }
  210. if( bSign ) {
  211. if( bDot ) {
  212. sNumber = obj.value.substring(1, dotIndex);
  213. lNumber = obj.value.substring(dotIndex);
  214. }
  215. else {
  216. sNumber = obj.value.substring(1);
  217. }
  218. }
  219. else {
  220. if( bDot ) {
  221. sNumber = obj.value.substring(0, dotIndex);
  222. lNumber = obj.value.substring(dotIndex);
  223. }
  224. }
  225. var i;
  226. // var j = 0;
  227. var tLen = sNumber.length;
  228. if( sNumber.length <= 3 ) {
  229. return ;
  230. }
  231. if( bSign ) {
  232. tNumber +="-";
  233. }
  234. for( i = 0 ; i < tLen ; i++ ) {
  235. if( i != 0 && ( i % 3 == tLen % 3) )
  236. tNumber += ",";
  237. if( i < sNumber.length )
  238. tNumber += sNumber.charAt(i);
  239. }
  240. obj.value = tNumber + lNumber;
  241. }
  242. catch(errorObject) {
  243. showErrorDlg(errorObject);
  244. }
  245. }
  246. function doCheckMinMaxValue(obj) {
  247. try {
  248. var value = obj.value.replace(/,/g,"");
  249. if( obj.minvalue != null ) {
  250. if( parseFloat(value) < parseFloat(obj.minvalue) ) {
  251. obj.value = obj.minvalue;
  252. }
  253. }
  254. if( obj.maxvalue != null ) {
  255. if( parseFloat(value) > parseFloat(obj.maxvalue) ) {
  256. obj.value = obj.maxvalue;
  257. }
  258. }
  259. }
  260. catch(errorObject) {
  261. showErrorDlg(errorObject);
  262. }
  263. }
  264. function doDateFocusEvent(obj) {
  265. removeMask(obj);
  266. }
  267. function doDateBlurEvent(obj) {
  268. try {
  269. //IBSheet??? ?????? Object.OnBlur Event??? 2??? Call?????? ????????? ????????????
  270. //Masking????????? ?????? ?????? ??????????????? ?????? ????????? ???????????? Masking ????????? ????????? ??????.
  271. //by bestop
  272. removeMask(obj);
  273. var yyyy = "";
  274. var mm = "";
  275. var dd = "";
  276. var c_date = "";
  277. var i_date = obj.value;
  278. var i_date_length = i_date.length;
  279. if( i_date_length > 8 ) {
  280. i_date = i_date.substring(0, 8);
  281. i_date_length = i_date.length;
  282. }
  283. if( i_date_length <= 4 ) {
  284. return;
  285. }
  286. else if( i_date_length <= 6 ) {
  287. yyyy = i_date.substring(0, 4);
  288. mm = i_date.substring(4, i_date_length);
  289. }
  290. else if( i_date_length <= 8 ) {
  291. yyyy = i_date.substring(0, 4);
  292. mm = i_date.substring(4, 6);
  293. dd = i_date.substring(6, i_date_length);
  294. }
  295. c_date = yyyy;
  296. if( mm != null && mm != "" ) {
  297. if( parseInt(mm, 10) < 1 ) {
  298. mm = "01";
  299. }
  300. else if( parseInt(mm, 10) > 12 ) {
  301. mm = "12";
  302. }
  303. c_date += "-" + mm;
  304. }
  305. if( dd != null && dd != "" ) {
  306. var last_day = getLastDay(parseInt(yyyy,10), parseInt(mm,10));
  307. if( parseInt(dd,10) < 1 ) {
  308. dd = "01";
  309. }
  310. else if( parseInt(dd,10) > last_day ) {
  311. dd = last_day;
  312. }
  313. c_date += "-" + dd;
  314. }
  315. obj.value = c_date;
  316. }
  317. catch(errorObject) {
  318. showErrorDlg(errorObject);
  319. }
  320. }
  321. // ?????? ?????? ????????? ????????? ?????? ??????.
  322. function getLastDay(year, month) {
  323. try {
  324. var Last_DAY = new Array( 31, // 1???
  325. 28, // 2???
  326. 31, // 3???
  327. 30, // 4???
  328. 31, // 5???
  329. 30, // 6???
  330. 31, // 7???
  331. 31, // 8???
  332. 30, // 9???
  333. 31, // 10???
  334. 30, // 11???
  335. 31 ); // 12???
  336. // ??????
  337. var a_leap_year;
  338. if( year % 4 == 0 && year % 100 != 0 )
  339. a_leap_year = true;
  340. else
  341. a_leap_year = false;
  342. if( year % 1000 == 0 )
  343. a_leap_year = true;
  344. // 2?????? ?????? ??????????????? ?????? ??????.
  345. Last_DAY[1] = (a_leap_year) ? 29 : 28 ;
  346. return Last_DAY[month - 1];
  347. }
  348. catch(errorObject) {
  349. showErrorDlg(errorObject);
  350. }
  351. }
  352. function doTimeFocusEvent(obj) {
  353. removeMask(obj);
  354. }
  355. function doTimeBlurEvent(obj) {
  356. try {
  357. var hh = "";
  358. var mm = "";
  359. var ss = "";
  360. var c_time = "";
  361. var i_time = obj.value;
  362. var i_time_length = i_time.length;
  363. if( i_time_length > 6 ) {
  364. i_time = i_time.substring(0, 6);
  365. i_time_length = i_time.length;
  366. }
  367. if( i_time_length <= 2 ) {
  368. return;
  369. }
  370. else if( i_time_length <= 4 ) {
  371. hh = i_time.substring(0, 2);
  372. mm = i_time.substring(2, i_time_length);
  373. }
  374. else if( i_time_length <= 6 ) {
  375. hh = i_time.substring(0, 2);
  376. mm = i_time.substring(2, 4);
  377. ss = i_time.substring(4, i_time_length);
  378. }
  379. if( hh != null && hh != "" ) {
  380. if( parseInt(hh,10) < 0 ) {
  381. hh = "00";
  382. }
  383. else if( parseInt(hh,10) > 23 ) {
  384. hh = "23";
  385. }
  386. c_time += hh;
  387. }
  388. if( mm != null && mm != "" ) {
  389. if( parseInt(mm,10) < 0 ) {
  390. mm = "00";
  391. }
  392. else if( parseInt(mm,10) > 59 ) {
  393. mm = "59";
  394. }
  395. c_time += ":" + mm;
  396. }
  397. if( ss != null && ss != "" ) {
  398. if( parseInt(mm,10) > 59 ) {
  399. ss = "59";
  400. }
  401. if( ss.length == 1 ) {
  402. ss = "0" + ss;
  403. }
  404. c_time += ":" + ss;
  405. }
  406. obj.value = c_time;
  407. }catch(errorObject){
  408. showErrorDlg(errorObject);
  409. }
  410. }
  411. function autoTab(obj, len) {
  412. try {
  413. var keyCode = event.keyCode;
  414. var filter = [0,8,9,16,17,18,37,38,39,40,46];
  415. if( obj.value.length >= len && !containsElement(filter, keyCode) ) {
  416. obj.value = obj.value.slice(0, len);
  417. obj.form[(getIndex(obj)+1) % obj.form.length].focus();
  418. }
  419. return true;
  420. }
  421. catch(errorObject) {
  422. }
  423. }
  424. function enterKeyPress(obj) {
  425. try {
  426. var keyCode = event.keyCode;
  427. if( keyCode == 13 ) {
  428. obj.form[(getIndex(obj)+1) % obj.form.length].focus();
  429. }
  430. }
  431. catch(errorObject) {
  432. }
  433. }
  434. function containsElement(arr, ele) {
  435. var found = false, index = 0;
  436. while(!found && index < arr.length)
  437. if(arr[index] == ele)
  438. found = true;
  439. else
  440. index++;
  441. return found;
  442. }
  443. function getIndex(obj) {
  444. var index = -1, i = 0;
  445. while (i < obj.form.length && index == -1)
  446. if (obj.form[i] == obj)
  447. index = i;
  448. else
  449. i++;
  450. return index;
  451. }
  452. function removeMask(obj) {
  453. /**
  454. * ?????? obj.select() ?????? ?????? ???????????? ????????? ?????? ??????...
  455. */
  456. try {
  457. if( obj.length == null ) {
  458. obj.value = obj.value.replace(/(\,|\-|\:)/g,"");
  459. }
  460. else {
  461. for( var i = 0 ; i < obj.length ; i++ ) {
  462. obj[i].value = obj[i].value.replace(/(\,|\-|\:)/g,"");
  463. }
  464. }
  465. }
  466. catch(errorObject) {
  467. showErrorDlg(errorObject);
  468. }
  469. }
  470. function removeMinusMask(obj) {
  471. /**
  472. * ?????? obj.select() ?????? ?????? ???????????? ????????? ?????? ??????...
  473. */
  474. try {
  475. if( obj.length == null ) {
  476. obj.value = obj.value.replace(/(\,|\:)/g,"");
  477. }
  478. else {
  479. for( var i = 0 ; i < obj.length ; i++ ) {
  480. obj[i].value = obj[i].value.replace(/(\,|\:)/g,"");
  481. }
  482. }
  483. }
  484. catch(errorObject) {
  485. showErrorDlg(errorObject);
  486. }
  487. }
  488. function removeMaskForString(value) {
  489. return value.replace(/(\,|\-|\:)/g,"");
  490. }
  491. function removeMaskForNumber(value) {
  492. return value.replace(/(\,|\:)/g,"");
  493. }
  494. function isValidDate(data)
  495. {
  496. var str;
  497. var yyyy;
  498. var y_year;
  499. var m_month;
  500. var mm_month;
  501. var d_day;
  502. str = data;
  503. yyyy = parseInt(str.substring(0,4), 10);
  504. var end = new Array(31,28,31,30,31,30,31,31,30,31,30,31);
  505. if ((yyyy % 4 == 0 && yyyy % 100 != 0) || yyyy % 400 == 0) {
  506. end[1] = 29;
  507. }
  508. y_year = parseInt(str.substring(0,4), 10);
  509. m_month = parseInt(str.substring(4,6), 10);
  510. mm_month = m_month - 1;
  511. d_day = parseInt(str.substring(6), 10);
  512. if( str.length == 8 )
  513. {
  514. if ( 1900 < y_year && y_year<= 2100)
  515. {
  516. if( 0 < m_month && m_month <= 12)
  517. {
  518. if( 0 < d_day && d_day <= end[mm_month] )
  519. return true;
  520. else
  521. return false;
  522. }
  523. else
  524. return false;
  525. }
  526. else
  527. return false;
  528. }
  529. else
  530. return false;
  531. }
  532. /**
  533. * ??????????????? ????????? ??????
  534. * obj : form object
  535. * checkLen : ????????? ?????????
  536. * return boolean (true : ??????????????? ???????????????, false : checkLen ?????????.
  537. */
  538. function doPointLengthCheck(obj,checkLen){
  539. //var f = document.form;
  540. var dotIndex ="";
  541. var lNumber = "";
  542. var bDot ="";
  543. var oNumber = obj.value.replace(/,/g,"");
  544. var rtnValue = true;
  545. if( (dotIndex = oNumber.indexOf('.')) != -1) {
  546. bDot = 1 ;
  547. rtnValue = false;
  548. }
  549. if( bDot ){
  550. lNumber = oNumber.substring(dotIndex+1);
  551. if(lNumber.length > checkLen){
  552. rtnValue = false;
  553. }else{
  554. rtnValue = true;
  555. }
  556. }
  557. return rtnValue;
  558. }
  559. /**
  560. * ??????????????? ????????? ?????????
  561. * obj : form object
  562. * checkLen : ????????? ?????????
  563. * return boolean (true : ??????????????? ???????????????, false : checkLen ?????????.
  564. */
  565. function cutPointLength(obj,checkLen){
  566. //var f = document.form;
  567. //var lNumber = "";
  568. //var bDot ="";
  569. var oNumber = obj.value.replace(/,/g,"");
  570. var dotIndex = oNumber.indexOf('.');
  571. var rtnValue = "";
  572. if( dotIndex == -1 ){
  573. rtnValue = oNumber;
  574. }else{
  575. rtnValue = oNumber.substring(0,dotIndex);
  576. if( checkLen>0 ){
  577. rtnValue = rtnValue + "." + oNumber.substring(parseInt(dotIndex+1),parseInt(dotIndex+1)+parseInt(checkLen)); // + oNumber.substring(parseInt(dotIndex+1), parseInt(dotIndex+checkLen-1));
  578. }
  579. }
  580. return rtnValue;
  581. }
  582. /**
  583. * 占쌥억옙 占쏙옙' 占쌘몌옙占쏙옙 체크
  584. * obj : form object
  585. * checkLen : 占쌍억옙占쏙옙 占쌘몌옙占쏙옙
  586. * return boolean (true : d占쏙옙占쏙옙8占쏙옙 占쌉력되억옙=, false : checkLen 占싼는댐옙.
  587. */
  588. function doMoneyLengthCheck(obj,checkLen){
  589. //var f = document.form;
  590. var dotIndex ="";
  591. var lNumber = "";
  592. //var bDot ="";
  593. var oNumber = obj.value.replace(/,/g,"");
  594. var rtnValue = true;
  595. if( (dotIndex = oNumber.indexOf('.')) == -1) {
  596. lNumber = oNumber;
  597. }else{
  598. lNumber = oNumber.substring(0, dotIndex);
  599. }
  600. if( lNumber < 0 ){
  601. lNumber = lNumber.substring(1);
  602. }
  603. if(lNumber.length > checkLen){
  604. rtnValue = false;
  605. }else{
  606. rtnValue = true;
  607. }
  608. return rtnValue;
  609. }
  610. /********************************************************************************/
  611. // 금액필드 자릿수 체크
  612. /********************************************************************************/
  613. function check_Amount_Digit(obj, point_digit, error_Msg) {
  614. var digit = parseInt(point_digit);
  615. if( ! doMoneyLengthCheck(obj, OCCUR_DIGIT) ){
  616. ErrMsg(obj, error_Msg + " is allowed to hold up to " + OCCUR_DIGIT + " figures.[10 billions]");
  617. return false;
  618. }
  619. if( ! doPointLengthCheck(obj, digit) ){
  620. ErrMsg(obj, error_Msg + " is allowed to hold up to " + digit + " decimal places.");
  621. return false;
  622. }
  623. return true;
  624. }
  625. function check_Amount_Digit2(obj, point_digit) {
  626. var digit = parseInt(point_digit);
  627. if( ! doMoneyLengthCheck(obj, OCCUR_DIGIT) ){
  628. ErrMsg(obj, "Allowed to hold up to " + OCCUR_DIGIT + " figures.[10 billions]");
  629. return false;
  630. }
  631. if( ! doPointLengthCheck(obj, digit) ){
  632. ErrMsg(obj, "Allowed to hold up to " + digit + " decimal places.");
  633. return false;
  634. }
  635. return true;
  636. }
  637. /********************************************************************************/
  638. /**
  639. * 이인오 textbox 온포커스 아웃포커스
  640. */
  641. function inputTextOnFocus(obj){
  642. // if(!obj.readOnly) {
  643. obj.style.border = "1px solid";
  644. obj.style.borderColor = "#ff0000";
  645. // }
  646. }
  647. function inputTextOutFocus(obj){
  648. // if(!obj.readOnly) {
  649. obj.style.border = "1px solid";
  650. obj.style.borderColor = "#d0d7e4";
  651. // }
  652. }