function StrCutLastBlank(str) {
    var i;
    var cc;
    var ret_str = '';
    if (str.length == 0)
        return str;
    for (i=str.length-1;i>=0;i--) {
        cc = str.charAt(i);
        if (cc != ' ' && cc != '\r' && cc != '\n') {
            break;
        }
    }
    ret_str = str.substring(0, i+1);
    return ret_str;
}

function StrCutFirstBlank(str) {
    var i;
    var cc;
    var ret_str = '';
    if (str.length == 0)
        return str;
    for (i=0;i<str.length;i++) {
        cc = str.charAt(i);
        if (cc != ' ' && cc != '\r' && cc != '\n') {
            break;
        }
    }
    ret_str = str.substring(i, str.length);
    return ret_str;
}

function StrCutBlank(str) {
    var ret_str;
    ret_str = StrCutFirstBlank(str);
    ret_str = StrCutLastBlank(ret_str);
    return ret_str;
}

function StrCheckAllSpace(str) {
    var i;
    var ch;
    for (i=0;i<str.length;i++) {
        ch = str.substring(i, i+1);
        if (ch != " " && ch != "\r" && ch != "\n")
            return false;
    }
    return true;
}

function StrCheck2Word(str) {
    var i;
    var word_check = false;
    var cur_ch;
    var prev_ch = " "; 
    for (i=0;i<str.length;i++) {
        cur_ch = str.substring(i, i+1);
        if (cur_ch == " ") {
            if (prev_ch != " ")
                word_check = true;
        } 
        else {
            if (word_check == true && prev_ch == " ")
                return true;
        }
        prev_ch = cur_ch;
    }
    return false;
}

function StrCheck(str) {
    if (str.length == 0) {
        return false;
    }
    if (StrCheckAllSpace(str) == true) {
        return false;
    }
    return true;
}

function MakeArray(n) {
    this.length = n;
    for (var i = 1; i <= n; i++) { 
        this[i] = 0;
    }
    return this;
}

function StrCheckPhoneNo(str) {
    var i;
    var cc;
    var ret_str = '';
    if (str.length == 0) {
        return ret_str;
    }
    for (i=0 ; i < str.length;i++) {
        cc = str.charAt(i);
        if (cc == ' ') continue;
        if (cc >= '0' && cc <= '9' ||  cc == '-' || cc == '(' 
            || cc == ')'  || cc == '+' ) 
        {
            ret_str = ret_str + cc;
        }
        else {
            ret_str = 'error';
            return ret_str;
        }
    }
    if ( ret_str.length == 0 ) {
	    return ret_str;
	}
    return ret_str;
}

function IsAlpha(ch) {
    return  ((ch >= 'a' && ch <= 'z') || (ch >= 'A' && ch <= 'Z'));
}

function IsAlphaStr(str) {
    var i;
    var ch;
    for (i=0;i<str.length;i++) {
        ch = str.charAt(i);
        if (IsAlpha(ch) == false) {
            return false;
        }
    }
    return true;
}

function IsNum(ch) {
    return (ch >= '0' && ch <= '9');
}

function IsNumStr(str) {
    var i;
    var ch;
    for (i=0;i<str.length;i++) {
        ch = str.charAt(i);
        if (IsNum(ch) == false) {
            return false;
        }
    }
    return true;
}

function IsAlnum(ch) {
    return ((ch >= 'a' && ch <= 'z') || 
        (ch >= 'A' && ch <= 'Z') || (ch >= '0' && ch <= '9'));
}

function IsSpecChar(ch) {
	return ( ch == '_' || ch == '-' || ch == '#' || ch == '!' ||
     		 ch == '@' || ch == '$' || ch == '%' || ch == '^' ||
	         ch == '&' || ch == '*' || ch == '(' || ch == ')' || ch == ' ');
}

function IsAlnumStr(str) {
    var i;
    var ch;
    for (i=0;i<str.length;i++) {
        ch = str.charAt(i);
        if (IsAlnum(ch) == false) {
            return false;
        }
    }
    return true;
}

function IsAlNumSpecStr(str) {
	var i;
    var ch;
    for (i=0;i<str.length;i++) {
        ch = str.charAt(i);
        if (IsAlnum(ch) == false) {
            if (IsSpecChar(ch) == false) {
            	return false;
            }
        }
    }
    return true;
}

function CheckAllowStr(str, allow_str) {
    var i;
    var ch;
    for (i=0;i<str.length;i++) {
        ch = str.charAt(i);
        if (allow_str.indexOf(ch) < 0) {
            return false;
        }
    }
    return true;
}

function StrCheckFloat(str, pointCnt, flag ) {
    var i;
    var j=0;
    var k=0;
    var l=0;
    var cc;
	str = StrCutBlank(str);
    if (str.length == 0) {
        return ret_str;
    }
    for (i=0 ; i < str.length;i++) {
        cc = str.charAt(i);
        if (cc >= '0'&& cc <= '9'||cc == '-'||cc =='+'||cc == '.') {
            if ( (cc == '-'  || cc=='+') && i != 0 ) {
                return 0;
            }
            if ( cc == '-' )
                l++;
            if ( cc == '.' )
                j++;
            if ( j > 0 )
                k++;
        }
        else {
            return 1;
        }
    }
    if ( flag < 0  && l == 0 ) {
        return 2;
    }
    if ( flag > 0  && l > 0 ) {
        return 3;
    }
    if ( j > 1 ) {
        return 4;
    }
    if ( k-1 > pointCnt && pointCnt > 0  ) {
        return 5;
    }
    return 6;
}

function IsListBoxSelected(ObjListBox,falseValue)
{
   if (ObjListBox.options[ObjListBox.selectedIndex].value==falseValue)
       return false;
   return true;
}

function IsRadioBoxSelected(ObjRadioBox){
    var inx = 0;
    var radioCount = 0;
    radioCount = ObjRadioBox.length;
    for ( inx = 0 ; inx < radioCount;inx++){
        if( ObjRadioBox[inx].checked) {
            return(true);
        }
    }
    return(false);
}

function IsCheckBoxSelected(ObjCheckBox)
{
    var inx = 0;
    var cnt = 0;
    cnt = ObjCheckBox.length;
    for ( inx = 0 ; inx < cnt;inx++)
    {
        if( ObjCheckBox[inx].checked) {
           return(true);
        }
    }
    return false;
}

function IsTextEmpty(ObjText)
{
    var str_len = ObjText.value.length;
    var tmp = "";
    for( i = 0 ; i < str_len; i++){
        if( ObjText.value.charAt(i) == " ")
            continue;
        tmp += ObjText.value.charAt(i);
    }
    if ( tmp.length == 0)
        return(true);
    return(false);
}


function IsTextAreaEmpty(ObjTextArea){
    var str = ObjTextArea.value;
    var str_len = ObjTextArea.value.length;
    if (str_len == 0 || StrCheckAllSpace(str) )
       return true;
    return false;
}

