//var num = new NumberFormat();
//num.setInputDecimal('.');
//num.setNumber(obj.value); // obj.value is '10,000'
//num.setPlaces('2', false);
//num.setCurrencyValue('$');
//num.setCurrency(true);
//num.setCurrencyPosition(num.LEFT_OUTSIDE);
//num.setNegativeFormat(num.LEFT_DASH);
//num.setNegativeRed(false);
//num.setSeparators(true, ',', ',');
//obj.value = num.toFormatted();

function ValidateForm() {
    //var fldObj = document.all
    var fldObj = document.getElementsByTagName("INPUT")
    var i = 0
    var j = 0
    var blnReturn = true
    var sCurrentField = ""
    var fldChildObj
    var tempObjName
    var blnChecked = true 
    var blnValidEmail = false
    
    for (i=0;i<fldObj.length;i++) {
        sCurrentField = fldObj[i].title
        
        if (document.getElementById("txtOldPass")) {
            if (document.getElementById("txtOldPass").value != "") {
                if (document.getElementById("txtPass1").value == "") {
                    sCurrentField = "NEW_PASSWORD"
                    blnReturn = false
                    break
                } else {
                    if (fldObj[i].id == "txtPass2") {
                        if (fldObj[i].value != document.getElementById("txtPass1").value) {
                            sCurrentField = "PASSWORD_CONFIRM"
                            document.getElementById("txtPass1").style.backgroundColor = '#ececf0'
                            document.getElementById("txtPass2").style.backgroundColor = '#ececf0'
                            blnReturn = false
                            break
                        } else {
                            document.getElementById("txtPass1").style.backgroundColor = ''
                            document.getElementById("txtPass2").style.backgroundColor = ''
                        }
                    }
                }
            }
        }
        
        if (sCurrentField != "") {
            fldChildObj = document.getElementsByName(fldObj[i].name)
            
            //emailCheck
            if (fldChildObj.length == 1) {
                if (sCurrentField == "Email") {
                    blnValidEmail = emailCheck(fldObj[i].value)
                    if (!blnValidEmail) {
                        fldObj[i].style.backgroundColor = '#ececf0'
                        fldObj[i].focus()
                        blnReturn = false
                        break;
                    } else {
                        fldObj[i].style.backgroundColor = ''
                    }   
                }
                
                if ((fldObj[i].value == "")||(fldObj[i].selectedIndex == 0)) {
                    fldObj[i].style.backgroundColor = '#ececf0'
                    fldObj[i].focus()
                    blnReturn = false
                    break
                } else {
                    fldObj[i].style.backgroundColor = ''
                }
                
                if (fldObj[i].id == "txtPass2") {
                    if (fldObj[i].value != document.getElementById("txtPass1").value) {
                        sCurrentField = "PASSWORD_CONFIRM"
                        document.getElementById("txtPass1").style.backgroundColor = '#ececf0'
                        document.getElementById("txtPass2").style.backgroundColor = '#ececf0'
                        blnReturn = false
                        break
                    } else {
                        document.getElementById("txtPass1").style.backgroundColor = ''
                        document.getElementById("txtPass2").style.backgroundColor = ''
                    }
                }
                
            } else {
                if (tempObjName != fldObj[i].name) {
                    for (j=0;j<fldChildObj.length;j++) {
                        if(fldChildObj[j].checked) {
                            blnChecked = true
                            break
                        } else {
                            blnChecked = false
                        }
                    }
                    
                    if (!blnChecked) {
                        blnReturn = false
                        break
                    }
                }
            }
            
            tempObjName = fldObj[i].name
        }
    }
    
    if (!blnReturn) {
        if (sCurrentField == "NEW_PASSWORD") {
            alert("Please enter your new password")
        } else if (sCurrentField == "PASSWORD_CONFIRM") {
            alert("Your password did not match")
        } else if (sCurrentField == "CHANGE_PASSWORD") {
            alert("Please enter your old password")
        } else {
            if (sCurrentField == "Email") {
                if (!blnValidEmail) {
                    
                } else {
                    alert(sCurrentField +" is required")
                }
            } else {
                alert(sCurrentField +" is required")
            }
        }
    }
    
    
    return blnReturn
}

function validateDate(fld) {
    if (fld.value == '') return false;
    
    var RegExPattern = /^(?=\d)(?:(?:(?:(?:(?:0?[13578]|1[02])(\/|-|\.)31)\1|(?:(?:0?[1,3-9]|1[0-2])(\/|-|\.)(?:29|30)\2))(?:(?:1[6-9]|[2-9]\d)?\d{2})|(?:0?2(\/|-|\.)29\3(?:(?:(?:1[6-9]|[2-9]\d)?(?:0[48]|[2468][048]|[13579][26])|(?:(?:16|[2468][048]|[3579][26])00))))|(?:(?:0?[1-9])|(?:1[0-2]))(\/|-|\.)(?:0?[1-9]|1\d|2[0-8])\4(?:(?:1[6-9]|[2-9]\d)?\d{2}))($|\ (?=\d)))?(((0?[1-9]|1[012])(:[0-5]\d){0,2}(\ [AP]M))|([01]\d|2[0-3])(:[0-5]\d){1,2})?$/;
    var errorMessage = 'Please enter valid date as month, day, and four digit year.\nYou may use a slash to separate the values.\nThe date must be a real date, format should be mm/dd/yyyy.';
    if ((fld.value.match(RegExPattern)) && (fld.value!='')) {
        
    } else {
        alert(errorMessage);
        fld.focus();
    } 
}

function emailCheck(sEmail) {
	if (sEmail != "") {
		var checkTLD=1;
		var knownDomsPat=/^(com|net|org|edu|int|mil|gov|arpa|biz|aero|name|coop|info|pro|museum)$/;
		var emailPat=/^(.+)@(.+)$/;
		var specialChars="\\(\\)><@,;:\\\\\\\"\\.\\[\\]";
		var validChars="\[^\\s" + specialChars + "\]";
		var quotedUser="(\"[^\"]*\")";
		var ipDomainPat=/^\[(\d{1,3})\.(\d{1,3})\.(\d{1,3})\.(\d{1,3})\]$/;
		var atom=validChars + '+';
		var word="(" + atom + "|" + quotedUser + ")";
		var userPat=new RegExp("^" + word + "(\\." + word + ")*$");
		var domainPat=new RegExp("^" + atom + "(\\." + atom +")*$");
		var matchArray=sEmail.match(emailPat);
		
		if (matchArray==null) {
			alert("Email address seems incorrect (check @ and .'s)");
			blnValidEmail = false
			return false;
		}

		var user=matchArray[1];
		var domain=matchArray[2];

		for (i=0; i<user.length; i++) {
			if (user.charCodeAt(i)>127) {
				alert("Ths username contains invalid characters.");
				blnValidEmail = false
				return false;
			}
		}

		for (i=0; i<domain.length; i++) {
			if (domain.charCodeAt(i)>127) {
				alert("Ths domain name contains invalid characters.");
				blnValidEmail = false
				return false;
			}
		}


		if (user.match(userPat)==null) {
			alert("The username doesn't seem to be valid.");
			blnValidEmail = false
			return false;
		}

		var IPArray=domain.match(ipDomainPat);
		if (IPArray!=null) {
			for (var i=1;i<=4;i++) {
				if (IPArray[i]>255) {
					alert("Destination IP address is invalid!");
					blnValidEmail = false
					return false;
				}
			}
			
			blnValidEmail = true
			return true;
		}

		
		var atomPat=new RegExp("^" + atom + "$");
		var domArr=domain.split(".");
		var len=domArr.length;
		
		for (i=0;i<len;i++) {
			if (domArr[i].search(atomPat)==-1) {
				alert("The domain name does not seem to be valid.");
				blnValidEmail = false
				return false;
			}
		}

		if (checkTLD && domArr[domArr.length-1].length!=2 && 
			domArr[domArr.length-1].search(knownDomsPat)==-1) {
			alert("The address must end in a well-known domain or two letter " + "country.");
			blnValidEmail = false
			return false;
		}

		if (len<2) {
			alert("This address is missing a hostname!");
			blnValidEmail = false
			return false;
		}
	}
    
	blnValidEmail = true
	return true;
}

function checkNum(data) {      // checks if all characters 
    var valid = "0123456789.";     // are valid numbers or a "."
    var ok = 1; var checktemp;

    for (var i=0; i<data.length; i++) {
        checktemp = "" + data.substring(i, i+1);
        
        if (valid.indexOf(checktemp) == "-1") return 0; 
    }
    
    return 1;
}


function dollarAmount(form, field) { // idea by David Turley
    Num = "" + eval("document." + form + "." + field + ".value");
    dec = Num.indexOf(".");
    end = ((dec > -1) ? "" + Num.substring(dec,Num.length) : ".00");
    Num = "" + parseInt(Num);

    var temp1 = "";
    var temp2 = "";
    
    if (checkNum(Num) == 0) {
        alert("This does not appear to be a valid number.  Please try again.");
    } else { 
        if (end.length == 2) end += "0";
        if (end.length == 1) end += "00";
        if (end == "") end += ".00";
        
        var count = 0;
        for (var k = Num.length-1; k >= 0; k--) {
            var oneChar = Num.charAt(k);
            if (count == 3) {
                temp1 += ",";
                temp1 += oneChar;
                count = 1;
                continue;
            } else {
                temp1 += oneChar;
                count ++;
            }
        }
        
        for (var k = temp1.length-1; k >= 0; k--) {
            var oneChar = temp1.charAt(k);
            temp2 += oneChar;
        }

        temp2 = "$" + temp2 + end;
        eval("document." + form + "." + field + ".value = '" + temp2 + "';");
    }
}





var iTotalAmt = 0;

function ComputeArReport(objFld, iMemberId) {
    
    if (objFld.id != "txtRate") {
        if ((objFld.value == "")||(objFld.value == 0)) {
            objFld.value = "0.00"
        }
    }
    
    var i00 = 0;
    var i30 = 0;
    var i60 = 0;
    var i90 = 0;
    
    var iAr00    = 0;
    var iAr30    = 0;
    var iAr60    = 0;
    var iAr90    = 0;
    var iArTotal = 0;
    
    var iCol1 
    var iCol2 
    var iCol3 
    var iCol4 
    
    if (iMemberId != 0) {
        iCol1 = document.getElementById("txt_"+ iMemberId +"_1").value;
        iCol2 = document.getElementById("txt_"+ iMemberId +"_2").value;
        iCol3 = document.getElementById("txt_"+ iMemberId +"_3").value;
        iCol4 = document.getElementById("txt_"+ iMemberId +"_4").value;
        
        if (isNaN(iCol1)) iCol1 = 0
        if (isNaN(iCol2)) iCol2 = 0
        if (isNaN(iCol3)) iCol3 = 0
        if (isNaN(iCol4)) iCol4 = 0
        
        if (iCol1 != "") i00 = eval(iCol1);
        if (iCol2 != "") i30 = eval(iCol2);
        if (iCol3 != "") i60 = eval(iCol3);
        if (iCol4 != "") i90 = eval(iCol4);
    
        iTotalAmt = i00 + i30 + i60 + i90;
        document.getElementById("total_"+ iMemberId).innerHTML = iTotalAmt.toFixed(2);        
    } 
    
    var iArColumn = ""
    
//    iTxtObj = document.getElementById("tblReports").all
    iTxtObj = document.getElementsByTagName("INPUT")
    
    for (i=0;i<iTxtObj.length;i++) {
        if (iTxtObj[i].title != "") {
            iArColumn = iTxtObj[i].value
            
            //if (isNaN(iArColumn)) {
            //    alert("You entered a non-numeric figure.");
            //    iTxtObj[i].focus();
            //    iTxtObj[i].select();
            //    break;
            //}
            
            if (iArColumn == "") iTxtObj[i].value = "0.00"  
            
            if (iTxtObj[i].title == "Column 1") if(!isNaN(iArColumn)) iAr00 = iAr00 + eval(iArColumn)
            if (iTxtObj[i].title == "Column 2") if(!isNaN(iArColumn)) iAr30 = iAr30 + eval(iArColumn)
            if (iTxtObj[i].title == "Column 3") if(!isNaN(iArColumn)) iAr60 = iAr60 + eval(iArColumn)
            if (iTxtObj[i].title == "Column 4") if(!isNaN(iArColumn)) iAr90 = iAr90 + eval(iArColumn)
            
            if (iTxtObj[i].title == "AR Column 1") iAr00 = iAr00 + eval(iTxtObj[i].innerHTML)
            if (iTxtObj[i].title == "AR Column 2") iAr30 = iAr30 + eval(iTxtObj[i].innerHTML)
            if (iTxtObj[i].title == "AR Column 3") iAr60 = iAr60 + eval(iTxtObj[i].innerHTML)
            if (iTxtObj[i].title == "AR Column 4") iAr90 = iAr90 + eval(iTxtObj[i].innerHTML)
        }
    }

    iArTotal = iAr00 + iAr30 + iAr60 + iAr90
    
    document.getElementById("ar_total_1").innerHTML = iAr00.toFixed(2)
    document.getElementById("ar_total_2").innerHTML = iAr30.toFixed(2)
    document.getElementById("ar_total_3").innerHTML = iAr60.toFixed(2)
    document.getElementById("ar_total_4").innerHTML = iAr90.toFixed(2)
    document.getElementById("ar_total_5").innerHTML = iArTotal.toFixed(2)
}

function CheckNumberInput() {
    if (window.event.keyCode < 46 || window.event.keyCode > 57) return false
}

function OpenMembers(objParam) {
    var objWin = window.open("members_popup.aspx?"+ objParam, "members", "width=500, height=600")
    objWin.focus();
}

function SelectAll(obj) {
    var objCheckbox = document.getElementsByName(obj);
    for (i=0; i<objCheckbox.length; i++) {
        if (objCheckbox(i).checked) {
            objCheckbox(i).checked = false
        } else {
            objCheckbox(i).checked = true
        }
    }
}

function ValidateSelections(obj, sMsg) {
    var blnReturn = false;
    var blnChecked = false;
    var objCheckbox = document.getElementsByName(obj);
    
    if (objCheckbox.length == 0) {
        alert("No record to delete")
        blnReturn = false;
    } else {
        for(i=0;i<objCheckbox.length;i++) {
            if (objCheckbox[i].checked) {
                blnChecked = true;
                break;
            }
        }
        
        if (blnChecked) {
            if(confirm("Are you sure?")) {
                blnReturn = true;
            }
        } else {
            alert("Please select "+ sMsg);
            blnReturn = false;
        }
    }
    
    return blnReturn;
}

function CheckSelectedToDelete(obj, sMsg) {
    var blnReturn = false;
    var blnChecked = false;
    var objCheckbox = document.getElementsByName(obj);
    
    if (objCheckbox.length == 0) {
        alert("No record to delete")
        blnReturn = false;
    } else {
        for(i=0;i<objCheckbox.length;i++) {
            if (objCheckbox[i].checked) {
                blnChecked = true;
                break;
            }
        }
        
        if (blnChecked) {
            if(confirm("Are you sure?")) {
                blnReturn = true;
            }
        } else {
            alert("Please select "+ sMsg +" to delete");
            blnReturn = false;
        }
    }
    
    return blnReturn;
}

function CheckSelectedMembers(obj, sMsg, sConfirm) {
    var blnReturn = false;
    var blnChecked = false;
    var objCheckbox = document.getElementsByName(obj);
    
    if (objCheckbox.length == 0) {
        alert("No record to be selected")
        blnReturn = false;
    } else {
        for(i=0;i<objCheckbox.length;i++) {
            if (objCheckbox[i].checked) {
                blnChecked = true;
                break;
            }
        }
        
        if (blnChecked) {
            if(confirm("Are you sure "+ sConfirm +"?")) {
                blnReturn = true;
            }
        } else {
            alert("Please select "+ sMsg);
            blnReturn = false;
        }
    }
    
    return blnReturn;
}
