/******************************************************************************* FILE : common.js DESCRIPTIONS : ÀÚ¹Ù½ºÅ©¸³Æ® °øÅë ¸ðµâ REMARKS : °øÅëÀûÀ¸·Î ¾²ÀÌ´Â ÀÚ¹Ù½ºÅ©¸³Æ® ÇÔ¼ö DATE : 2007.12.15 *******************************************************************************/ //============================================================================= // ÇÔ¼ö¸í: fn_~~ // ¼³ ¸í: °øÅëÀûÀ¸·Î ¾²´Â ÆË¾÷ // ÀÛ¾÷ÀÏ: // ÀÛ¾÷ÀÚ: //============================================================================= // ex function fn_OpenPop_TC(TC_CD) { PopUp(0, 800,630, TC_CD, '../TC/TC010400.ASPX?TC_CD='+TC_CD); } //============================================================================= // ÇÔ¼ö¸í: MM_preloadImages // ¼³ ¸í: Mouse Over¿¡ ÀÇÇÑ À̹ÌÁö Àüȯ // ÀÛ¾÷ÀÏ: // ÀÛ¾÷ÀÚ: //============================================================================= function MM_preloadImages() { //v3.0 var d=document; if(d.images){ if(!d.MM_p) d.MM_p=new Array(); var i,j=d.MM_p.length,a=MM_preloadImages.arguments; for(i=0; i0&&parent.frames.length) { d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);} if(!(x=d[n])&&d.all) x=d.all[n]; for (i=0;!x&&i= 0) { command = strValidateStr.substring(0,epos); cmdvalue = strValidateStr.substr(epos+1); } else { command = strValidateStr; } switch(command) { case "req": case "required": { var tp = objValue.value.replace(/\s/g,''); if(eval(tp.length) == 0) { alert(strError); return false; } break; } case "maxlen": case "maxlength": { if(eval(objValue.value.length) > eval(cmdvalue)) { alert(strError); return false; } break; } case "minlen": { if(eval(objValue.value.length) < eval(cmdvalue) && eval(objValue.value.length) != eval(0)) { alert(strError); return false; } break; } case "minlength": { if(eval(objValue.value.length) < eval(cmdvalue)) { alert(strError); return false; } break; } case "eng": case "english": { var charpos = objValue.value.search("[^A-Za-z]"); if(objValue.value.length > 0 && charpos >= 0) { alert(strError); return false; } break; } case "engnum": case "engnumeric": { var charpos = objValue.value.search("[^A-Za-z0-9]"); if(objValue.value.length > 0 && charpos >= 0) { alert(strError); return false; } break; } case "engnumhyphen": { var charpos = objValue.value.search("[^A-Za-z0-9\-_]"); if(objValue.value.length > 0 && charpos >= 0) { alert(strError); return false; } break; } case "num": case "numeric": { var charpos = objValue.value.search("[^0-9\]"); if(objValue.value.length > 0 && charpos >= 0) { alert(strError); return false; } break; } case "float": { if(objValue != undefined) { var charpos = objValue.value.search("[^0-9\-.]"); if(objValue.value.length > 0 && charpos >= 0) { alert(strError); return false; } } break; } case "numhyphen": { var charpos = objValue.value.search("[^0-9\-_]"); if(objValue.value.length > 0 && charpos >= 0) { alert(strError); return false; } break; } case "han" : case "hangul": { var charpos = objValue.value.search("[^°¡-ÆR]"); if(objValue.value.length > 0 && charpos >= 0) { alert(strError); return false; } break; } case "hannum" : case "hangulnumeric": { var charpos = objValue.value.search("[^¤¡-¤¾°¡-ÆR0-9]"); alert(charpos); if(objValue.value.length > 0 && charpos >= 0) { alert(strError); objValue.select(); objValue.focus(); return false; } break; } case "hanalpha" : case "hangulalphabetic": { var charpos = objValue.value.search("[^¤¡-¤¾°¡-ÆRA-Za-z]"); if(objValue.value.length > 0 && charpos >= 0) { alert(strError); return false; } break; } case "hanengnum" : case "hangulenglishnumeric": { var charpos = objValue.value.search("[^¤¡-¤¾°¡-ÆRA-Za-z0-9]"); if(objValue.value.length > 0 && charpos >= 0) { alert(strError); return false; } break; } case "email": { if(!CheckEmail(objValue.value)) { alert(strError); return false; } break; } case "phone": { if(!CheckPhone(objValue.value)) { alert(strError); return false; } break; } case "bizno": { if(!CheckBizNo(objValue.value)) { alert(strError); return false; } break; } case "lt": case "lessthan": { if(isNaN(objValue.value)) { return false; } if(eval(objValue.value) >= eval(cmdvalue)) { alert(strError); return false; } break; } case "gt": case "greaterthan": { if(isNaN(objValue.value)) { return false; } if(eval(objValue.value) <= eval(cmdvalue)) { alert(strError); return false; } break; } case "regexp": { if(objValue.value.length > 0) { if(!objValue.value.match(cmdvalue)) { alert(strError); return false; } } break; } case "dontselect": { if(objValue.selectedIndex == null) { return false; } if(objValue.selectedIndex == eval(cmdvalue)) { alert(strError); return false; } break; } case "dategreaterthan": { var startSplit = objValue.value.split("-"); var endSplit; var startDate = new Date(startSplit[0], parseInt(startSplit[1])-1, startSplit[2]); var tempDate = new Date(); var endDate; if(cmdvalue != "") { endSplit = document.all[cmdvalue].value.split("-"); endDate = new Date(endSplit[0], parseInt(endSplit[1])-1, endSplit[2]); } else { endDate = new Date(tempDate.getFullYear(), tempDate.getMonth(), tempDate.getDate()); } if(startDate <= endDate) { alert(strError); return false; } break; } } return true; } //============================================================================= // ÇÔ¼ö¸í: CheckEmail // ¼³ ¸í: À̸ÞÀÏ ÁÖ¼Ò °Ë»ç // ÀÛ¾÷ÀÏ: // ÀÛ¾÷ÀÚ: //============================================================================= function CheckEmail(strValue) { if(strValue.length <= 0) { return true; } var splitted = strValue.match("^(.+)@(.+)$"); if(splitted == null) return false; if(splitted[1] != null ) { var regexp_user=/^\"?[\w-_\.]*\"?$/; if(splitted[1].match(regexp_user) == null) return false; } if(splitted[2] != null) { var regexp_domain=/^[\w-\.]*\.[A-Za-z]{2,4}$/; if(splitted[2].match(regexp_domain) == null) { var regexp_ip =/^\[\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}\]$/; if(splitted[2].match(regexp_ip) == null) return false; } return true; } return false; } //============================================================================= // ÇÔ¼ö¸í: CheckPhone // ¼³ ¸í: ÀüÈ­¹øÈ£ °Ë»ç // ÀÛ¾÷ÀÏ: // ÀÛ¾÷ÀÚ: //============================================================================= function CheckPhone(strValue) { if(strValue.length <= 0) { return true; } var splitted = strValue.match("^(.+)-(.+)-(.+)$"); if(splitted == null) return false; if(splitted[1].length > 3) return false; if(splitted[2].length > 4) return false; var phoneEx1 = /^(\d+)(\-{1})(\d+)(\-{1})(\d{4,4})$/; if (strValue.match(phoneEx1) == null) return false; else return true; } //============================================================================= // ÇÔ¼ö¸í: isDate // ¼³ ¸í: ³¯Â¥ À¯È¿¼º // ÀÛ¾÷ÀÏ: // ÀÛ¾÷ÀÚ: //============================================================================= function isDate(yyyy,mm,dd) { if (yyyy.length != 4) return false; else { yyyy=parseInt(yyyy,10); mm=parseInt(mm,10); dd=parseInt(dd,10); d = new Date(yyyy,mm-1,dd); if (d=="NaN") return false; if (yyyy == d.getFullYear() && mm == d.getMonth()+1 && dd == d.getDate() ) return true; return false; } } //============================================================================= // ÇÔ¼ö¸í: isDate_yyyy_m_d // ¼³ ¸í: yyyy-mm-dd ÇüÅ À¯È¿¼º // ÀÛ¾÷ÀÏ: // ÀÛ¾÷ÀÚ: //============================================================================= function isDate_yyyy_m_d(s)// yyyy-mm-dd ÇüÅ { s=s.replace(/\s/g,""); // °ø¹éÁ¦°Å if (s.match(/\d+\-\d+\-\d+/g)!=s) return false; // 1111-11-11 Æ÷¸ËÀÌ ¾Æ´Ô var d = s.split(/\-/g); return isDate(d[0],d[1],d[2]); } //============================================================================= // ÇÔ¼ö¸í: checkDate // ¼³ ¸í: yyyy-mm-dd ÇüÅ ³¯Â¥ À¯È¿¼º // ÀÛ¾÷ÀÏ: // ÀÛ¾÷ÀÚ: //============================================================================= function checkDate(s) { var isD isD=isDate_yyyy_m_d(s); if (isD) return true; else return false; } //============================================================================= // ÇÔ¼ö¸í: correctDate // ¼³ ¸í: yyyy-mm-dd ÇüÅ ³¯Â¥ // ÀÛ¾÷ÀÏ: // ÀÛ¾÷ÀÚ: //============================================================================= function correctDate(s)// yyyy-mm-dd ÇüÅ { s=s.replace(/\s/g,""); // °ø¹éÁ¦°Å var d = s.split(/\-/g); if (d[1].length == 1) d[1] = "0" + d[1]; if (d[2].length == 1) d[2] = "0" + d[2]; return d[0] + "-" + d[1] + "-" + d[2]; } //============================================================================= // ÇÔ¼ö¸í: validateForm // ¼³ ¸í: ÄÁÆ®·ÑÀÇ À¯È¿¼ºÀ» °Ë»ç validateData()¸¦ È£ÃâÇÏ¿© °Ë»çÇÑ´Ù. // ÀÛ¾÷ÀÏ: // ÀÛ¾÷ÀÚ: //============================================================================= function validateForm(arrObjDesc) { for(var i=0; i < arrObjDesc.length; i++) { for(var j=0; j < arrObjDesc[i].length ;j++) { var objForm = document.all[arrObjDesc[i][j][0]]; if(validateData(objForm, arrObjDesc[i][j][1], arrObjDesc[i][j][2]) == false) { objForm.focus(); event.returnValue = false; return false; } } } return true; } //============================================================================= // ÇÔ¼ö¸í: Trim // ¼³ ¸í: ³Ñ¾î¿Â ¹®ÀÚ¿­µéÁß¿¡ Æ÷ÇÔµÈ °ø¹éÀ» ¸ðµÎ ¾ø¾Ø ¹®ÀÚ¿­À» ¸®ÅÏ // ÀÛ¾÷ÀÏ: 2004-12-16 // ÀÛ¾÷ÀÚ: //============================================================================= function Trim(strings) { var retString = ""; var c; var i; for(i=0;i= 0x30) && (u <= 0x39)) || ((u >= 0x41) && (u <= 0x5a)) || ((u >= 0x61) && (u <= 0x7a))){ // check for escape s0 = s0 + s; // don't escape } else { // escape if ((u >= 0x0) && (u <= 0x7f)){ // single byte format s = "0"+u.toString(16); s0 += "%"+ s.substr(s.length-2); } else if (u > 0x1fffff){ // quaternary byte format (extended) s0 += "%" + (oxf0 + ((u & 0x1c0000) >> 18)).toString(16); s0 += "%" + (0x80 + ((u & 0x3f000) >> 12)).toString(16); s0 += "%" + (0x80 + ((u & 0xfc0) >> 6)).toString(16); s0 += "%" + (0x80 + (u & 0x3f)).toString(16); } else if (u > 0x7ff){ // triple byte format s0 += "%" + (0xe0 + ((u & 0xf000) >> 12)).toString(16); s0 += "%" + (0x80 + ((u & 0xfc0) >> 6)).toString(16); s0 += "%" + (0x80 + (u & 0x3f)).toString(16); } else { // double byte format s0 += "%" + (0xc0 + ((u & 0x7c0) >> 6)).toString(16); s0 += "%" + (0x80 + (u & 0x3f)).toString(16); } } } } return s0; } /* Function Equivalent to java.net.URLDecoder.decode(String, "UTF-8") Copyright (C) 2002, Cresc Corp. Version: 1.0 */ function decodeURL(str){ var s0, i, j, s, ss, u, n, f; s0 = ""; // decoded str for (i = 0; i < str.length; i++){ // scan the source str s = str.charAt(i); if (s == "+"){s0 += " ";} // "+" should be changed to SP else { if (s != "%"){s0 += s;} // add an unescaped char else{ // escape sequence decoding u = 0; // unicode of the character f = 1; // escape flag, zero means end of this sequence while (true) { ss = ""; // local str to parse as int for (j = 0; j < 2; j++ ) { // get two maximum hex characters for parse sss = str.charAt(++i); if (((sss >= "0") && (sss <= "9")) || ((sss >= "a") && (sss <= "f")) || ((sss >= "A") && (sss <= "F"))) { ss += sss; // if hex, add the hex character } else {--i; break;} // not a hex char., exit the loop } n = parseInt(ss, 16); // parse the hex str as byte if (n <= 0x7f){u = n; f = 1;} // single byte format if ((n >= 0xc0) && (n <= 0xdf)){u = n & 0x1f; f = 2;} // double byte format if ((n >= 0xe0) && (n <= 0xef)){u = n & 0x0f; f = 3;} // triple byte format if ((n >= 0xf0) && (n <= 0xf7)){u = n & 0x07; f = 4;} // quaternary byte format (extended) if ((n >= 0x80) && (n <= 0xbf)){u = (u << 6) + (n & 0x3f); --f;} // not a first, shift and add 6 lower bits if (f <= 1){break;} // end of the utf byte sequence if (str.charAt(i + 1) == "%"){ i++ ;} // test for the next shift byte else {break;} // abnormal, format error } s0 += String.fromCharCode(u); // add the escaped character } } } return s0; } //--------------------------------------------------------------------------------------// // Description : a function for MS IE ActiveX Rollup Patch // // Parameter : id // // Example : // // Etc : // //--------------------------------------------------------------------------------------// function __WS__(id) { document.write(id.text); id.id=""; } function GNT_GetSelectControlId(gn, rowIndex, col) { var table = document.all[gn]; var sub = eval(table.skiptop); return gn + ':_ctl' + (rowIndex + 1) + ':_ctl' + col; } //--------------------------------------------------------------------------------------// // Description : ÁÂÃø ¸Þ´º open/close // // Parameter : id // // Example : // // Etc : // //--------------------------------------------------------------------------------------// function MenuWindow_Control ( ctl ) { if ( ctl == "close" ) { parent.parent.fSet1.cols = "18, *"; parent.left.document.form.img_close.value = "1"; parent.left.document.form.img_open.src = '../../IMAGE/hide_leftbutt_o.gif'; } else { parent.parent.fSet1.cols = "250, *"; parent.left.document.form.img_close.value = "0"; parent.left.document.form.img_open.src = '../../IMAGE/bg_menu_left.gif'; } } //--------------------------------------------------------------------------------------// // Description : ±âÁØÀϰú 'Y'(³âµµ), 'M'(¿ù), 'D'(ÀÏ) Áß Çϳª¿Í °£°ÝÀ» ÁÖ¸é // // °è»êµÈ ÀÏÀÚ¸¦ return // // Parameter : // // Example : // // Etc : // //--------------------------------------------------------------------------------------// function getDateAdd(pDate, pGb, pTerm) { var intYear = parseInt(pDate.substring(0,4), 10); var intMon = parseInt(pDate.substring(4,6), 10) - 1; var intDay = parseInt(pDate.substring(6,8), 10); if (pGb == "Y") intYear += pTerm; if (pGb == "M") intMon += pTerm; if (pGb == "D") intDay += pTerm; var Today = new Date(intYear, intMon, intDay); var month, date month = Today.getMonth()+1; date = Today.getDate(); month = month<10 ? '0'+month : month; date = date < 10 ? '0'+date : date; return String(Today.getYear()) + String(month) + String(date); } //--------------------------------------------------------------------------------------// // Description : pToData - pFromDate µÎ ³¯Â¥°£ÀÇ ÀÏÀÚTermÀ» return // // Parameter : // // Example : // // Etc : // //--------------------------------------------------------------------------------------// function getDateDiff(pFromDate, pToDate) { var intFromYear = parseInt(pFromDate.substring(0,4), 10); var intFromMon = parseInt(pFromDate.substring(4,6), 10) - 1; var intFromDay = parseInt(pFromDate.substring(6,8), 10); var intToYear = parseInt(pToDate.substring(0,4), 10); var intToMon = parseInt(pToDate.substring(4,6), 10) - 1; var intToDay = parseInt(pToDate.substring(6,8), 10); var FromDate = new Date(intFromYear, intFromMon, intFromDay); var ToDate = new Date(intToYear, intToMon, intToDay); var term = ((ToDate.getTime()-FromDate.getTime())/(24*60*60*1000)+1); return Math.ceil(term) } //--------------------------------------------------------------------------------------// // Description : ±âÁØÀϰú 'Y'(³âµµ), 'M'(¿ù), 'D'(ÀÏ) Áß Çϳª¸¦ ÁÖ¸é ³âÃÊ, ¿ùÃÊ, // // ±âÁØÀÏÀ» ¹®ÀÚ¿­8ÀÚ¸®·Î return // // Parameter : // // Example : // // Etc : // //--------------------------------------------------------------------------------------// function getDateStr(pDate, pGb) { var strYear, strMonth, strDay; var strDate; strYear = pDate.getYear(); if (pGb == "Y") { strMonth = 1; strDay = 1; } if (pGb == "M") { strMonth = pDate.getMonth() + 1; strDay = 1; } if (pGb == "D") { strMonth = pDate.getMonth() + 1; strDay = pDate.getDate(); } strMonth = strMonth <10 ? '0' + strMonth : strMonth; strDay = strDay < 10 ? '0' + strDay : strDay; return String(strYear) + String(strMonth) + String(strDay); } //--------------------------------------------------------------------------------------// // Description : yyyy-mm-ddÇüÅ·ΠÀÏÀÚ¸¦ ¸®ÅÏ // // Parameter : // // Example : // // Etc : // //--------------------------------------------------------------------------------------// function getDateFormat8To10(pstrDate) { return pstrDate.substring(0,4) + '-' + pstrDate.substring(4,6) + '-' + pstrDate.substring(6,8); } function getDateFormat6To7(pstrDate) { return pstrDate.substring(0,4) + '-' + pstrDate.substring(4,6); } //--------------------------------------------------------------------------------------// // Description : ¹Ý°¢->Àü°¢,Àü°¢->¹Ý°¢ // // Parameter : // // Example : // // Etc : // //--------------------------------------------------------------------------------------// //¹Ý°¢ -> Àü°¢ function hankana(motoText) { //¹Ý°¢ han_name = "????????????????????????????????????????????????????abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789£­"; //Àü°¢ zen_name = "«¢«¤«¦«¨«ª«««­«¯«±«³«µ«·«¹«»«½«¿«Á«Ä«Æ«È«Ê«Ë«Ì«Í«Î"; zen_name+= "«Ï«Ò«Õ«Ø«Û«Þ«ß«à«á«â«ä«æ«è«é«ê«ë«ì«í«ï«ò«ó«¡«£«¥«§«©?£á£â£ã£ä£å£æ£ç£è£é£ê£ë£ì£í£î£ï£ð£ñ£ò£ó£ô£õ£ö£÷£ø£ù£ú"; zen_name+= "£Á£Â£Ã£Ä£Å£Æ£Ç£È£É£Ê£Ë£Ì£Í£Î£Ï£Ð£Ñ£Ò£Ó£Ô£Õ£Ö£×£Ø£Ù£Ú£°£±£²£³£´£µ£¶£·£¸£¹-"; zenKana ="«¢«¤«¦«¨«ª«««­«¯«±«³«µ«·«¹«»«½«¿«Á«Ä«Æ«È«Ê«Ë«Ì«Í«Î«Ï«Ò«Õ«Ø«Û«Þ«ß«à«á«â«ä«æ«è«é«ê«ë«ì«í«ï«ò«ó«¡«£«¥«§«©£°£±£²£³£´£µ£¶£·£¸£¹?"; hanKana ="???????????????????????????????????????????????????0123456789-"; str = ""; for(i=0;i=0) c=zen_name.charAt(n); str+=c; } return str; } //Àü°¢ -> ¹Ý°¢ function katakana(motoText) { //¹Ý°¢ han_name = "????????????????????????????????????????????????????abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789£­"; //Àü°¢ zen_name = "«¢«¤«¦«¨«ª«««­«¯«±«³«µ«·«¹«»«½«¿«Á«Ä«Æ«È«Ê«Ë«Ì«Í«Î"; zen_name+= "«Ï«Ò«Õ«Ø«Û«Þ«ß«à«á«â«ä«æ«è«é«ê«ë«ì«í«ï«ò«ó«¡«£«¥«§«©?£á£â£ã£ä£å£æ£ç£è£é£ê£ë£ì£í£î£ï£ð£ñ£ò£ó£ô£õ£ö£÷£ø£ù£ú"; zen_name+= "£Á£Â£Ã£Ä£Å£Æ£Ç£È£É£Ê£Ë£Ì£Í£Î£Ï£Ð£Ñ£Ò£Ó£Ô£Õ£Ö£×£Ø£Ù£Ú£°£±£²£³£´£µ£¶£·£¸£¹-"; zenKana ="«¢«¤«¦«¨«ª«««­«¯«±«³«µ«·«¹«»«½«¿«Á«Ä«Æ«È«Ê«Ë«Ì«Í«Î«Ï«Ò«Õ«Ø«Û«Þ«ß«à«á«â«ä«æ«è«é«ê«ë«ì«í«ï«ò«ó«¡«£«¥«§«©£°£±£²£³£´£µ£¶£·£¸£¹?"; hanKana ="???????????????????????????????????????????????????0123456789-"; str = ""; for(i=0;i=0) c=hanKana.charAt(n); str+=c; } return str; } function convert(sValue, sDataType) { switch(sDataType) { case "int": return parseInt(sValue); case "float": return parseFloat(sValue); case "date": return new Date(Date.parse(sValue)); default: return sValue.toString(); } } function generateCompareTRs(iCol, sDataType) { return function compareTRs(oTR1, oTR2) { var vValue1 = convert(oTR1.cells[iCol].firstChild.nodeValue, sDataType); var vValue2 = convert(oTR2.cells[iCol].firstChild.nodeValue, sDataType); if (vValue1 < vValue2) { return -1; } else if (vValue1 > vValue2) { return 1; } else { return 0; } }; } function fn_sortTable(sTableID, iCol, sDataType) { var oTable = document.getElementById(sTableID); var oTBody = oTable.tBodies[0]; var colDataRows = oTBody.rows; var aTRs = new Array; for (var i=0; i < colDataRows.length; i++) { aTRs[i] = colDataRows[i]; } if (oTable.sortCol == iCol) { aTRs.reverse(); } else { aTRs.sort(generateCompareTRs(iCol, sDataType)); } var oFragment = document.createDocumentFragment(); for (var i=0; i < aTRs.length; i++) { oFragment.appendChild(aTRs[i]); } oTBody.appendChild(oFragment); oTable.sortCol = iCol; }