/**
 *
 * T WORLD Form °ü·Ã js util
 *
 * ÀÛ¼ºÀÚ : ¼ºÀÏ°æ.
 *
 * ÀÌ ÆÄÀÏ¸¸ »ç¿ëÇÏ½Ã¸é ¾ÈµÇ°í ¹Ì¸® Á¤ÀÇµÈ include ÆäÀÌÁö¸¦ ÅëÇØ¼­ Æ÷ÇÔ½ÃÅ°¼Å¾ß Á¤»óÀûÀ¸·Î ÀÛµ¿µË´Ï´Ù.
 *
 */



/**
 * °ø¹é Á¦°Å
 */
String.prototype.trim = function()
{
    return this.replace( /(^\s*)|(\s*$)/g, "" );
}


function trim( val ) {
    var len = val.length;

    if ( len == 0 ) {
        return val;
    }

    var str = "", chr = "";
    for ( i = 0; i < len; i++ ) {
        chr = val.charAt( i );
        if ( chr != " " ) {
            str += chr;
        }
    }

    return str;
}


/**
 * °ªÀÌ ºñ¾ú´ÂÁö È®ÀÎ
 */
function isEmpty( val ) {
    return ( ! trim( val ) );
}


/**
 * ¼ýÀÚÇüÀÎÁö¸¦ Ã¼Å©
 */
function isNumber( val ) {
    re = /^\d+$/;

    if ( re.test( val ) ) {
        return true;
    } else {
        return false;
    }
}


/**
 * ¸Þ½ÃÁö »Ñ¸®°í, id¿¡ Æ÷Ä¿½º
 */
function msgFocus( msg, id ) {
    alert( msg );

    if ( $(id).type != "hidden" ) {
        $(id).focus();
    }
}


/**
 * form field Ã¼Å© ÈÄ ¸Þ½ÃÁö & focus
 */
function required( id, msg ) {
    if ( ! msg ) {
        msg = "ÇÊ¼ö ÀÔ·Â»çÇ×ÀÌ ´©¶ôµÇ¾ú½À´Ï´Ù.";
    }

    if ( isEmpty( $F(id) ) ) {
        msgFocus( msg, id );
        $(id).value = "";

        return true;
    }

    return false;
}


/**
 * form field number Ã¼Å© & ¸Þ½ÃÁö
 */
function requiredNumber( id, msg ) {
    if ( ! msg ) {
        msg = "¼ýÀÚÇü¸¸ ÀÔ·ÂÀÌ °¡´ÉÇÕ´Ï´Ù.";
    }

    if ( ! isNumber( $F(id) ) ) {
        msgFocus( msg, id );
        $(id).value = "";

        return true;
    }

    return false;
}


/**
 * radio button Ã¼Å© ¿©ºÎ
 */
function isRadioChecked( formId, elementName ) {
    return isFormElementChecked( formId, 'radio', elementName );
}


/**
 * checkbox Ã¼Å© ¿©ºÎ
 */
function isChecked( formId, elementName ) {
    return isFormElementChecked( formId, 'checkbox', elementName );
}


/**
 * from element Ã¼Å© ¿©ºÎ
 */
function isFormElementChecked( formId, elementType, elementName ) {
    var radioList = $(formId).getInputs( elementType, elementName );

    for ( var i = 0; i < radioList.length; i++ ) {
        if ( radioList[i].checked ) {
            return true;
        }
    }

    return false;
}


/**
 * ¼±ÅÃµÈ radio buttonÀÇ °ª
 */
function getRadioValue( formId, elementName ) {
    var radioList = $(formId).getInputs( 'radio', elementName );

    for ( var i = 0; i < radioList.length; i++ ) {
        if ( radioList[i].checked ) {
            return radioList[i].value;
        }
    }

    return "";
}


/**
 * ¼±ÅØµÈ checkboxÀÇ °ª list
 */
function getCheckedValueList( formId, elementName ) {
    var checkboxList = $(formId).getInputs( 'checkbox', elementName );
    var resultList = [], idx = 0;

    for ( var i = 0; i < checkboxList.length; i++ ) {
        if ( checkboxList[i].checked ) {
            resultList[idx++] = checkboxList[i].value;
        }
    }

    return resultList;
}
