var ITWUtil = 
{
    phoneEntry: function (evnt, obj1MaxLen, obj1, obj2Id)
    {
        var obj2 = document.getElementById(obj2Id);
        var currKey = 0, i = 0;
        var maxLen = parseInt(obj1MaxLen, 10);
        var arrVal = new Array();

        if (evnt.keyCode)       //ie in windows
        {
            currKey = evnt.keyCode;
        }
        else                // For others
        {
            currKey = evnt.charCode;
        }

        if (((currKey >= 48) && (currKey <= 57)) || ((currKey >= 96) && (currKey <= 105)))  // numbers 0 to 9 only.
        {
            if (obj1.value.length >= maxLen)
            {
                obj1.value = obj1.value.slice(0, maxLen);
                if (obj2 != null)
                {
                    obj2.select();
                }
            }
        }
        else
        {
            if (!((currKey == 8) || (currKey == 9) || (currKey == 16) || (currKey == 35) || (currKey == 36) || (currKey == 37) || (currKey == 39) || (currKey == 46)))      // 8-->Delete, 9-->Tab, 16-->Shift, 35-->End, 36-->Home, 37-->Left Arrow, 39-->Right Arrow and 46 -->Backspace
            {
                for (i=0; i<obj1.value.length; i++)
                {
                    if (this.chkNumVal(obj1.value.slice(i, i+1)))
                    {
                        arrVal[i] = obj1.value.slice(i, i+1);
                    }
                }
                 obj1.value = arrVal.join("");
            }
        }
    },

    chkNumVal: function (val)
    {
        var validChars = new Array("1", "2", "3", "4", "5", "6", "7", "8", "9", "0");
        var i = 0;
        var j = 0;
        var retAns = true;
        
        if (val.length > 0)
        {
            for (i=0; i<val.length; i++)
            {
                retAns = false;
                for (j=0; j<validChars.length; j++)
                {
                    if (val.substr(i, 1) == " ")
                    {
                        break;
                    }
                    else
                    {
                        if (val.substr(i, 1) == validChars[j])
                        {
                            retAns = true;
                            break;
                        }
                    }
                }
                if (!(retAns))
                {
                    break;
                }
            }
        }
        if (retAns)
        {
           return true; 
        }
        else
        {
            return false;
        }
    },

    chkNoteLength : function (divID, txtNote, maxLen)
    {
        var oTxtNote = document.getElementById(txtNote);
        var strNote = oTxtNote.value;
        strNote = this.trim(strNote);
        var strFormatChklength;
        var oDivChkNoteLength = document.getElementById(divID);
        if (strNote.length == 0)
        {
            oDivChkNoteLength.style.display = 'none';
            strFormatChklength = "";
        }
        else if (strNote.length <= maxLen)
        {
            oDivChkNoteLength.style.display = '';
            strFormatChklength = "<font class=f1Gray>(" + strNote.length + ")</font>";
        }
        else
        {
            oDivChkNoteLength.style.display = '';
            strFormatChklength = "<font class=f1br>(" + strNote.length + ")</font>";
        }
        oDivChkNoteLength.innerHTML = strFormatChklength;
    },

    trim : function (s) 
    {
        // spaces and carriage returns at beginnig
        while ((s.substring(0,1) == ' ') || (s.substring(0,1) == '\n') || (s.substring(0,1) == '\r'))
        {
            s = s.substring(1,s.length);
        }
        // spaces and carriage returns at end
        while ((s.substring(s.length-1,s.length) == ' ') || (s.substring(s.length-1,s.length) == '\n') || (s.substring(s.length-1,s.length) == '\r'))
        {
            s = s.substring(0,s.length-1);
        }
        return s;
    },
    
    isDropDownSelected:function(drp)
    {
        var blnCheck = false;
        if (drp != null)
        {
            if (drp.options.length > 1)
            {
                if (drp.selectedIndex > 0)
                {
                    blnCheck = true;
                }
                else
                {
                    blnCheck = false;
                }
            }
            else
            {
                blnCheck = true;
            }
        }
        else
        {
            blnCheck = true;
        }

        return blnCheck;
    },

    isRadioChecked:function(radio)
    {
        var blnChecked = false;
        var elms = document.getElementsByName(radio);
        if (elms != null && elms.length > 0) {
            for (var i=0; i<elms.length; i++)
            {
                if(elms[i].checked == true)
                {
                    blnChecked = true;
                    break;
                }
            }
        }
        else {
            blnChecked = true;
        }
        return blnChecked;
    },
    
    isEmail:function(FieldVal) 
    {
	    if (window.RegExp) 
	    {
		    var strCheck1 = "^[a-zA-Z0-9\-\_\.\'\]+@[a-zA-Z0-9\-\_\.]+[.]+[a-zA-Z0-9\-\_\.]+$"
		    var objCheck1 = new RegExp(strCheck1);
		    if (objCheck1.test(FieldVal))
		    {
			    return true;
		    }
		    else
			    return false;
	    }
	    else 
	    {
		    if(FieldVal.indexOf("@") >= 0)
			    return true;
		    else
			    return false;
	    }
    },
    
    isLogin: function isUsername(val) {
        return (val.match(/^[\w-]{5,20}$/) != null);
    },

    isPassword: function (val) {
        return (val.match(/^[\w$-]{5,20}$/) != null);
    },
    
    isCCNumber: function () {
        return (val.match(/^[0-9]{15,16}$/) != null);
    },
    
    isCCExp: function (val) {
	    return (val.match(/^[0-9]{4}$/) != null);
    },

    isNumeric: function (val) {
	    //return (val.match(/^[0-9]{2}|([0-9]\.[0-9]{4})$/) != null);
        return (val.match(/^\d+\.{0,1}\d+$/) != null);
        //return (val.match(/^\d+?\.\d{2}$/) != null);
    },
    
    isInteger: function (val) {
	    return (val.match(/^-?\d+$/) != null);
    },
    
    isDate: function (val) {
	    return (val.match(/^[0-9]{2}\/[0-9]{2}\/[0-9]{4}$/) != null);
    },

    isUSZip: function (val) {
    	return (val.match(/^([\w-]{5,9})$/) != null);
    },
    
    isPhone: function (val) {
        return (val.match(/^[1-9]\d{2}-\d{3}-\d{4}$/) != null);
    },
  
    popwin : function (pURL, pName, pW, pH, pSCR)
    {
        var oWin = window.open(pURL, pName, 'resizable=1,left=0,top=0,width=' + pW + ',height=' + pH + ',scrollbars=' + pSCR);
        if (oWin != null) {
            oWin.focus();
        }
    },
    
    helpPop: function (pURL, pName)
    {
	    if (pName == null) {pName = 'hlp';}
	    var oWin = window.open(pURL, pName,'left=0,top=0,width=500,height=450,scrollbars=1,resizable=1');
	    oWin.focus();
    },

    closePage: function()
    {
	    window.close();
    },

    queryParam: function (key) {
        var param = window.location.search;
        var intPos = param.indexOf('?');
	    if (intPos >= 0) {
		    param = param.substr(1, param.length);
	    }
        var rootArr = param.split("&");
        var strOut = "";
        
        for(i=0;i<rootArr.length;i++) {
            var tempArr =  rootArr[i].split("=");
            if(tempArr.length == 2) {
			    if (tempArr[0] == key) {
				    strOut = tempArr[1];
				    break;
			    }
            }
        }
        return strOut;
    }
};
