/**
 * 
 * ÀÚ¹Ù½ºÅ©¸³Æ® °øÅëÇÔ¼ö
 *
 * ÁÖÀÇ: ¾Æ·¡ÀÇ ¸ðµç ¸Þ¼Òµå´Â ÀÔ·ÂÆûÀÇ ÇÊµåÀÌ¸§(myform.myfield)À»
 *       ÆÄ¶ó¹ÌÅÍ·Î ¹Þ´Â´Ù. ÇÊµåÀÇ °ª(myform.myfield.value)ÀÌ ¾Æ´ÔÀ»
 *       À¯³äÇÒ °Í.
 *
 */
 


/**
 * ÀÔ·Â°ªÀÌ NULLÀÎÁö Ã¼Å©
 */
function isNull(input) {
    if (input.value == null || input.value == "") {
        return true;
    }
    return false;
}

/**
 * ÀÔ·Â°ª¿¡ ½ºÆäÀÌ½º ÀÌ¿ÜÀÇ ÀÇ¹ÌÀÖ´Â °ªÀÌ ÀÖ´ÂÁö Ã¼Å©

 * ex) if (isEmpty(form.keyword)) {
 *         alert("°Ë»öÁ¶°ÇÀ» ÀÔ·ÂÇÏ¼¼¿ä.");
 *     }
 */
function isEmpty(input) {
    if (input.value == null || input.value.replace(/ /gi,"") == "") {
        return true;
    }
    return false;
}

/**
 * ÀÔ·Â°ª¿¡ Æ¯Á¤ ¹®ÀÚ(chars)°¡ ÀÖ´ÂÁö Ã¼Å©
 * Æ¯Á¤ ¹®ÀÚ¸¦ Çã¿ëÇÏÁö ¾ÊÀ¸·Á ÇÒ ¶§ »ç¿ë
 * ex) if (containsChars(form.name,"!,*&^%$#@~;")) {
 *         alert("ÀÌ¸§ ÇÊµå¿¡´Â Æ¯¼ö ¹®ÀÚ¸¦ »ç¿ëÇÒ ¼ö ¾ø½À´Ï´Ù.");
 *     }
 */
function containsChars(input,chars) {
    for (var inx = 0; inx < input.value.length; inx++) {
       if (chars.indexOf(input.value.charAt(inx)) != -1)
           return true;
    }
    return false;
}

/**
 * ÀÔ·Â°ªÀÌ Æ¯Á¤ ¹®ÀÚ(chars)¸¸À¸·Î µÇ¾îÀÖ´ÂÁö Ã¼Å©

 * Æ¯Á¤ ¹®ÀÚ¸¸ Çã¿ëÇÏ·Á ÇÒ ¶§ »ç¿ë
 * ex) if (!containsCharsOnly(form.blood,"ABO")) {
 *         alert("Ç÷¾×Çü ÇÊµå¿¡´Â A,B,O ¹®ÀÚ¸¸ »ç¿ëÇÒ ¼ö ÀÖ½À´Ï´Ù.");
 *     }
 */
function containsCharsOnly(input,chars) {
    for (var inx = 0; inx < input.value.length; inx++) {
       if (chars.indexOf(input.value.charAt(inx)) == -1)
           return false;
    }
    return true;
}

/**
 * ÀÔ·Â°ªÀÌ ¾ËÆÄºªÀÎÁö Ã¼Å©

 * ¾Æ·¡ isAlphabet() ºÎÅÍ isNumComma()±îÁöÀÇ ¸Þ¼Òµå°¡
 * ÀÚÁÖ ¾²ÀÌ´Â °æ¿ì¿¡´Â var chars º¯¼ö¸¦ 
 * global º¯¼ö·Î ¼±¾ðÇÏ°í »ç¿ëÇÏµµ·Ï ÇÑ´Ù.
 * ex) var uppercase = "ABCDEFGHIJKLMNOPQRSTUVWXYZ";
 *     var lowercase = "abcdefghijklmnopqrstuvwxyz"; 
 *     var number    = "0123456789";
 *     function isAlphaNum(input) {
 *         var chars = uppercase + lowercase + number;
 *         return containsCharsOnly(input,chars);
 *     }
 */
function isAlphabet(input) {
    var chars = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz";
    return containsCharsOnly(input,chars);
}

/**
 * ÀÔ·Â°ªÀÌ ¾ËÆÄºªÀÎÁö Ã¼Å© (°ø¹éÆ÷ÇÔ)

 */
function isNullAlphabet(input) {
    var chars = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz/ /";
	return containsCharsOnly(input,chars);
}


/**
 * ÀÔ·Â°ªÀÌ ¾ËÆÄºª ´ë¹®ÀÚÀÎÁö Ã¼Å©

 */
function isUpperCase(input) {
    var chars = "ABCDEFGHIJKLMNOPQRSTUVWXYZ";
    return containsCharsOnly(input,chars);
}

/**
 * ÀÔ·Â°ªÀÌ ¾ËÆÄºª ¼Ò¹®ÀÚÀÎÁö Ã¼Å©
 */
function isLowerCase(input) {
    var chars = "abcdefghijklmnopqrstuvwxyz";
    return containsCharsOnly(input,chars);
}

/**
 * ÀÔ·Â°ª¿¡ ¼ýÀÚ¸¸ ÀÖ´ÂÁö Ã¼Å©

 */
function isNumber(input) {
    var chars = "0123456789";
    return containsCharsOnly(input,chars);
}

/**
 * ÀÔ·Â°ªÀÌ ¾ËÆÄºª,¼ýÀÚ·Î µÇ¾îÀÖ´ÂÁö Ã¼Å©

 */
function isAlphaNum(input) {
    var chars 
= "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789";
    return containsCharsOnly(input,chars);
}

/**
 * ÀÔ·Â°ªÀÌ ¼ýÀÚ,´ë½Ã(-)·Î µÇ¾îÀÖ´ÂÁö Ã¼Å©
 */
function isNumDash(input) {
    var chars = "-0123456789";
    return containsCharsOnly(input,chars);
}

/**
 * ÀÔ·Â°ªÀÌ ¼ýÀÚ,ÄÞ¸¶(,)·Î µÇ¾îÀÖ´ÂÁö Ã¼Å©

 */
function isNumComma(input) {
    var chars = ",0123456789";
    return containsCharsOnly(input,chars);
}

/**
 * ÀÔ·Â°ªÀÌ »ç¿ëÀÚ°¡ Á¤ÀÇÇÑ Æ÷¸Ë Çü½ÄÀÎÁö Ã¼Å©
 * ÀÚ¼¼ÇÑ format Çü½ÄÀº ÀÚ¹Ù½ºÅ©¸³Æ®ÀÇ ''regular expression''À» ÂüÁ¶
 */
function isValidFormat(input,format) {
    if (input.value.search(format) != -1) {
        return true; //file://¿Ã¹Ù¸¥ Æ÷¸Ë Çü½Ä
    }
    return false;
}

/**
 * ÀÔ·Â°ªÀÌ ÀÌ¸ÞÀÏ Çü½ÄÀÎÁö Ã¼Å©
 * ex) if (!isValidEmail(form.email)) {
 *         alert("¿Ã¹Ù¸¥ ÀÌ¸ÞÀÏ ÁÖ¼Ò°¡ ¾Æ´Õ´Ï´Ù.");
 *     }
 */
function isValidEmail(input) {
//    var format = /^(\S+)@(\S+)\.([A-Za-z]+)$/;
    var format = /^((\w|[\-\.])+)@((\w|[\-\.])+)\.([A-Za-z]+)$/;
    return isValidFormat(input,format);
}

/**
 * ÀÔ·Â°ªÀÌ ÀüÈ­¹øÈ£ Çü½Ä(¼ýÀÚ-¼ýÀÚ-¼ýÀÚ)ÀÎÁö Ã¼Å©
 */
function isValidPhone(input) {
    var format = /^(\d+)-(\d+)-(\d+)$/;
    return isValidFormat(input,format);
}

/**
 * ÀÔ·Â°ªÀÇ ¹ÙÀÌÆ® ±æÀÌ¸¦ ¸®ÅÏ

 * ex) if (getByteLength(form.title) > 100) {
 *         alert("Á¦¸ñÀº ÇÑ±Û 50ÀÚ(¿µ¹® 100ÀÚ) ÀÌ»ó ÀÔ·ÂÇÒ ¼ö ¾ø½À´Ï´Ù.");
 *     }
 * Author : Wonyoung Lee
 */
function getByteLength(input) {
    var byteLength = 0;
    for (var inx = 0; inx < input.value.length; inx++) {
        var oneChar = escape(input.value.charAt(inx));
        if ( oneChar.length == 1 ) {
            byteLength ++;
        } else if (oneChar.indexOf("%u") != -1) {
            byteLength += 2;
        } else if (oneChar.indexOf("%") != -1) {
            byteLength += oneChar.length/3;
        }
    }
    return byteLength;
}

/**
 * ÀÔ·Â°ª¿¡¼­ ÄÞ¸¶¸¦ ¾ø¾Ø´Ù.

 */
function removeComma(input) {
    return input.value.replace(/,/gi,"");
}

/**
 * ¼±ÅÃµÈ ¶óµð¿À¹öÆ°ÀÌ ÀÖ´ÂÁö Ã¼Å©

 */
function hasCheckedRadio(input) {
    if (input.length > 1) {
        for (var inx = 0; inx < input.length; inx++) {
            if (input[inx].checked) return true;
        }
    } else {
        if (input.checked) return true;
    }
    return false;
}

/**
 * ¼±ÅÃµÈ Ã¼Å©¹Ú½º°¡ ÀÖ´ÂÁö Ã¼Å©

 */
function hasCheckedBox(input) {
    return hasCheckedRadio(input);
}

/**
 * ÁÖ¹Îµî·Ï¹øÈ£ È®ÀÎ
 */
function	checkSSN(tocheck_num) {
    var     isnum = true;
    if((tocheck_num == null) || (tocheck_num == "")) {
    isnum = false;
    return isnum;
    }
    for(var j = 0; j < tocheck_num.length; j++) {
    if((tocheck_num.substring(j, j+1) != "0") &&
        (tocheck_num.substring(j,j+1) != "1" ) &&
        (tocheck_num.substring(j,j+1) != "2" ) &&
        (tocheck_num.substring(j,j+1) != "3" ) &&
        (tocheck_num.substring(j,j+1) != "4" ) &&
        (tocheck_num.substring(j,j+1) != "5" ) &&
        (tocheck_num.substring(j,j+1) != "6" ) &&
        (tocheck_num.substring(j,j+1) != "7" ) &&
        (tocheck_num.substring(j,j+1) != "8" ) &&
        (tocheck_num.substring(j,j+1) != "9" ) ) {
         isnum = false;
    }
    }
    return isnum;
}

/**
 * ÁÖ¹Îµî·Ï¹øÈ£ È®ÀÎ
 * 2ÀÚ¸®·Î ³ª´©¾î È®ÀÎ
 */
function    isSSNWithMsg(regnoInput1, regnoInput2)   {

    var regno1 = regnoInput1.value;
    var regno2 = regnoInput2.value;

    // ÁÖ¹Îµî·Ï¹øÈ£ 1 Ã¼Å©
    if(regno1 == "") {
    	alert("ÁÖ¹Îµî·Ï¹øÈ£¸¦ ÀÔ·ÂÇØ ÁÖ½Ê½Ã¿À.");
    	regnoInput1.focus();
    	return  false;
    } else {
    if(regno1.length != 6) {
        alert("ÁÖ¹Îµî·Ï¹øÈ£¸¦ ÀÔ·ÂÇÏ½Ê½Ã¿À.\n 6ÀÚ¸®ÀÇ ¼ýÀÚÀÔ´Ï´Ù.");
        regnoInput1.focus();
        return  false;
    } else {
        thisfilednum = checkSSN(regno1);
        if(!thisfilednum) {
			alert("ÁÖ¹Îµî·Ï¹øÈ£´Â ¼ýÀÚ¸¸ °¡´ÉÇÕ´Ï´Ù.");
			regnoInput1.focus();
			return  false;
        }
    }
    }

    // ÁÖ¹Îµî·Ï¹øÈ£ 2 Ã¼Å©
    if(regno2 == "") {
    	alert("ÁÖ¹Îµî·Ï¹øÈ£ 7ÀÚ¸®(µÞÀÚ¸®)¸¦ ÀÔ·ÂÇÏ½Ê½Ã¿À.");
    	regnoInput2.focus();
    	return  false;
    } else {
    	if(regno2.length != 7) {

        	alert("ÁÖ¹Îµî·Ï¹øÈ£¸¦ ÀÔ·ÂÇÏ½Ê½Ã¿À.\n 7ÀÚ¸®ÀÇ ¼ýÀÚÀÔ´Ï´Ù.");
        	regnoInput2.focus();
        	return  false;
    	} else {
        	thisfilednum = checkSSN(regno2);
        	if(!thisfilednum) {
        		alert("ÁÖ¹Îµî·Ï¹øÈ£´Â ¼ýÀÚ¸¸ °¡´ÉÇÕ´Ï´Ù.");
        		regnoInput2.focus();
        		return  false;
        	}
    	}
    }

    // ÁÖ¹Îµî·Ï¹øÈ£ Ã¼Å©
    var regno = regno1 + regno2;
    if(regno1 != "" && regno2 != "") {
    if(regno.charAt(6) == 1 || regno.charAt(6) == 2){
        if(regno.charAt(12) ==
        ((11 - ((regno.charAt(0)*2+regno.charAt(1)*3
            +regno.charAt(2)*4+regno.charAt(3)*5
            +regno.charAt(4)*6+regno.charAt(5)*7
            +regno.charAt(6)*8+regno.charAt(7)*9
            +regno.charAt(8)*2+regno.charAt(9)*3
            +regno.charAt(10)*4+regno.charAt(11)*5)% 11)))%10) {
        return  true;
        } else {
            alert("ÁÖ¹Îµî·Ï¹øÈ£°¡ Àß¸øµÇ¾ú½À´Ï´Ù.");
            regnoInput1.focus();
            return  false;
        }
    }
        alert("ÁÖ¹Îµî·Ï¹øÈ£°¡ Àß¸øµÇ¾ú½À´Ï´Ù.");
        regnoInput1.focus();
        return  false;
    }

    return  true;
}
