// frmCheck.js ÆÄÀÏ

/********************************************************************
*
* Form °ü·Ã ½ºÅ©¸³Æ® ÇÔ¼ö ¸ðÀ½
*
*******************************************************************/
// Æû °ËÁõ ÇÔ¼ö
function checkForm(f) {
var fLen = f.elements.length;
var fObj; // Æû ¿ä¼Ò
var fTyp; // Æû ¿ä¼Ò Type
var fVal; // Æû ¿ä¼Ò Value
var fMsg; // °æ°í ¸Þ½ÃÁö ¼Ó¼º
var fNum; // ¼ýÀÚ¸¸ ÀÔ·Â ¼Ó¼º
var fMax; // ÃÖ´ë ±æÀÌ ÁöÁ¤
var fMin; // ÃÖ¼Ò ±æÀÌ ÁöÁ¤
var fMxN; // ÃÖ´ë°ª ÁöÁ¤
var fMnN; // ÃÖ¼Ò°ª ÁöÁ¤
var fMal; // ¸ÞÀÏ FORMAT

for (i=0;i<fLen;i++) {
fObj = f.elements[i];
fTyp = toUpperCase(fObj.getAttribute("type"));
fVal = fObj.getAttribute("value");
fMsg = fObj.getAttribute("msg"); // °æ°í ¸Þ½ÃÁö
fNum = fObj.getAttribute("chknum"); // ¼ýÀÚ¸¸ ±âÀÔ °¡´ÉÇÏµµ·Ï
fMax = fObj.getAttribute("maxlen"); // ÃÖ´ë ÀÔ·Â±ÛÀÚ¼ö Á¦ÇÑ
fMin = fObj.getAttribute("minlen"); // ÃÖ¼Ò ÀÔ·Â±ÛÀÚ¼ö Á¦ÇÑ
fMxN = fObj.getAttribute("maxnum"); // ÃÖ´ë ¼ýÀÚ Á¦ÇÑ
fMnN = fObj.getAttribute("minnum"); // ÃÖ¼Ò ¼ýÀÚ Á¦ÇÑ
fMal = fObj.getAttribute("chkmail"); // ÀÌ¸ÞÀÏ Ã¼Å©





if (fMsg != null && (fTyp == "TEXT" || fTyp == "HIDDEN" || fTyp == "TEXTAREA" || fTyp == "PASSWORD") && fVal.replace(/ /gi,"") == "") {
alert(fMsg + " ÀÔ·ÂÇØ ÁÖ¼¼¿ä");
if (fTyp != "HIDDEN") {fObj.focus();}
return false;
}
if (fMsg != null && (fTyp == "SELECT-ONE" || fTyp == "SELECT-MULTIPLE") && fVal =="") {
alert(fMsg + " ¼±ÅÃÇØ ÁÖ¼¼¿ä");
fObj.focus(); return false;
}
if (fMsg != null && (fTyp == "RADIO" || fTyp == "CHECKBOX") && checkChecked(fObj) == false) {
alert(fMsg + " ¼±ÅÃÇØ ÁÖ¼¼¿ä");
fObj.focus(); return false;
}
if (fNum != null && isNaN(fVal)) {
alert("¼ýÀÚ·Î¸¸ ÀÔ·ÂÇØ ÁÖ¼¼¿ä");
fObj.focus(); return false;
}
if (fMax != null && fMax < getLen(fVal)) {
alert("ÀÔ·ÂµÈ ±ÛÀÚ¼ö°¡ "+fMax+"ÀÚº¸´Ù ÀÛ¾Æ¾ßÇÕ´Ï´Ù.\n(¿µ¹® "+fMax+"ÀÚ, ÇÑ±Û "+Math.floor(fMax/2)+"ÀÚ ±îÁö °¡´ÉÇÕ´Ï´Ù.)");
fObj.focus(); return false;
}
if (fMin != null && fMin > getLen(fVal)) {
alert("ÀÔ·ÂµÈ ±ÛÀÚ¼ö°¡ "+fMax+"ÀÚº¸´Ù Ä¿¾ßÇÕ´Ï´Ù.");
fObj.focus(); return false;
}
if (fMxN != null && parseInt(fMxN) < parseInt(fVal)) {
alert("ÀÔ·ÂµÈ ¼ýÀÚ´Â "+fMxN+"º¸´Ù ÀÛ¾Æ¾ßÇÕ´Ï´Ù.");
fObj.focus(); return false;
}
if (fMnN != null && parseInt(fMnN) > parseInt(fVal)) {
alert("ÀÔ·ÂµÈ ¼ýÀÚ´Â "+fMnN+"º¸´Ù Ä¿¾ßÇÕ´Ï´Ù.");
fObj.focus(); return false;
}
if (fMal != null && checkEmail(fVal) == false && fVal != "") {
alert("ÀÌ¸ÞÀÏ ÁÖ¼Ò°¡ ¿Ã¹Ù¸£Áö ¾Ê½À´Ï´Ù");
fObj.focus(); return false;
}
}
return true;



}

// Æû¿¡ ÇØ´çÇÏ´Â ÄÁÆ®·ÑµéÀÇ ±âº»°ª ½±°Ô ¼ÂÆÃÇØ ÁÖ±â
function initForm(f) {
var nLen; // form ¿ä¼ÒÀÇ °¹¼ö
var ival; // °¢ ¿ä¼ÒÀÇ default value °ª Áï! ÃÊ±âÈ­ÇÏ°íÀÚ ÇÏ´Â°ª
var fTyp; // form ¿ä¼ÒÀÇ Å¸ÀÔ(select, radio, checkbox...)

for (var i = 0; i < f.elements.length; i++) {
fTyp = toUpperCase(f.elements[i].type);
ival = f.elements[i].ival;

if (ival && fTyp == "SELECT-ONE") {
nLen = f.elements[i].options.length;
for (var j = 0; j < nLen; j++) {
if (f.elements[i].options[j].value == ival)
f.elements[i].options[j].selected = true;
}
}
if (fTyp == "SELECT-MULTIPLE") {
nLen = f.elements[i].options.length;
for (var j = 0; j < nLen; j++) {
if (f.elements[i].options[j].value == f.elements[i].options[j].ival)
f.elements[i].options[j].selected = true;
}
}
if (ival && (fTyp == "RADIO" || fTyp == "CHECKBOX")) {
if (f.elements[i].value == ival)
f.elements[i].checked = true;
}
}
return true;
}
// ¹è¿­ ¿ä¼ÒÀÏ °æ¿ì checked µÈ°ÍÀÌ ÀÖ´ÂÁö È®ÀÎ
function checkChecked(obj) {
var fname = obj.form.name;
var objnm = obj.name;
var oElem = eval(fname+"."+objnm);
var ret = false;

if (typeof(oElem.length) == "undefined") {
if (oElem.checked) {
ret = true;
}
} else {
for (var i=0;i<oElem.length;i++) {
if (oElem[i].checked) {
ret = true;
}
}
}
return ret;
}
// ÀÌ¸ÞÀÏ À¯È¿¼º Ã¼Å©
function checkEmail(str){
var reg = /^((\w|[\-\.])+)@((\w|[\-\.])+)\.([A-Za-z]+)$/;
if (str.search(reg) != -1) {
return true;
}
return false;
}
// ¹®ÀÚ ±æÀÌ ¹ÝÈ¯ (¿µ¹® 1byte, ÇÑ±Û 2byte °è»ê)
function getLen(str) {
var len;
var temp;

len = str.length;
var tot_cnt = 0;

for(k=0;k < len;k++){
temp = str.charAt(k);
if(escape(temp).length > 4)
tot_cnt += 2;
else
tot_cnt++;
}
return tot_cnt;
}
// ´ë¹®ÀÚ º¯È¯ ex) toUpperCase(¹®ÀÚ)
function toUpperCase(str) {
var ret;
str != null ? ret = str.toUpperCase() : ret = "";
return ret;
} 