function ValidateRequiredField(Field, FieldDisplayName){
	if(Field.value.replace(/[\s]+/g, "").length == 0){
		Errors = Errors + "Please fill in required information [" + FieldDisplayName + "]\n";
		Field.focus();
		IsValid = false;
	}
}
function ValidateRequiredEmailField(Field, FieldDisplayName){
	if(!ValidEmail(Field.value)){
		Errors = Errors + "Please enter [" + FieldDisplayName + "]\n";
		Field.focus();
		IsValid = false;
	}
}
function ValidateRequiredHiddenField(Field, FieldDisplayName){
	if(Field.value.replace(/[\s]+/g, "").length == 0){
		Errors = Errors + "Please fill in required information [" + FieldDisplayName + "]\n";
		IsValid = false;
	}
}
function ValidateRequiredListField(Field, FieldDisplayName){
	if(Field[Field.selectedIndex].value.length == 0){
		Errors = Errors + "Please select required option [" + FieldDisplayName + "]\n";
		Field.focus();
		IsValid = false;
	}
}
function ValidateRequiredDateField(Field, FieldDisplayName){
	//if(Field.value.replace(/[\s]+/g, "").replace("/", "").length == 0 || Field.value == "1000-01-01"){
	if(Field.value == "1000-01-01" || Field.value == ""){
		Errors = Errors + "Please fill in required information [" + FieldDisplayName + "]\n";
		//Field.focus();
		IsValid = false;
	}
}

function ShowErrorMessage(DivSourceID){
    var oDivSource = document.getElementById(DivSourceID);
    var oDivTarget = document.getElementById("divErrorDisplay");
	
    if(oDivTarget.style.visibility=="hidden"){
	    oDivTarget.innerHTML = oDivSource.innerHTML;
	    oDivTarget.style.visibility = "visible";
    }else{
	    oDivTarget.style.visibility = "hidden";
	    oDivTarget.innerHTML = "";
    }
}

function IsNumber(e, TextBox){
    var retval;
    if(window.event){
        /*e.keyCode == 32 is white space*/
        if(isNaN(String.fromCharCode(e.keyCode)) || e.keyCode == 32){
            event.e = 0;
            retval = false;
        }else{
            retval = true;
        }
    }else{
        if(e.which == 8 || e.which == 0){
            /*allow delete and back/forward cursor move*/
            retval = true;
        }else{
            keychar = String.fromCharCode(e.which);
            numcheck = /\d/;
            retval = numcheck.test(keychar); 
        }
    }
    return retval;
}

function IsNumber2(){
	var keyCode_dot = 46;
	if(isNaN(String.fromCharCode(event.keyCode)) && event.keyCode!=keyCode_dot){
		event.keyCode = 0;
	}
}

function IsInteger(){
    if (window.event) {
        if (isNaN(String.fromCharCode(event.keyCode)) || event.keyCode == 32) {
            event.e = 0;
            return false;
        } else {
            return true;
        }
    } else {
    keychar = String.fromCharCode(event.which);
        numcheck = /\d/;
        return numcheck.test(keychar);
    }
}

function ValidEmail(Email){
    var re = new RegExp("\\w+([-+.]\\w+)*@\\w+([-.]\\w+)*\\.\\w+([-.]\\w+)*");
    return re.test(Email);
}

function IsValidAddress(e, TextBox) {
    if (window.event) {
        keychar = String.fromCharCode(e.keyCode)
    } else {
        keychar = String.fromCharCode(e.which);
    }

    numcheck = /\w|\\|\-|\ |\(|\)|\//;
    return numcheck.test(keychar);
}

function PopUpLink(Url, Title, Width, Height){
	window.open(Url, Title, 'menubar=0,resizeable=1,scrollbars=1,width=' + Width + ',height=' + Height);
}

function ConfirmDelete(){
		return confirm("Delete this item?\nNote that this action can not be undone!");
	}
	
function ConfirmCancel(){
    return confirm("Cancel changes and close this page?");
}

function PrintPage() {
    // Get All divs
    var allDivs = document.getElementsByTagName('div');
    for (var i = 0; i < allDivs.length; i++) {
        // Remove Header and Footer
        if (allDivs[i].className == "header") {
            //allDivs[i].style.display = "none";
            allDivs[i].className = "header noprint";
        }
        if (allDivs[i].className == "footer") {
            //allDivs[i].style.display = "none";
            allDivs[i].className = "footer noprint";
        }
    }
    window.print();
}

// Limit number or charactes in a textarea
function TextCounterLimit(field, maxCount) {
    if (field.value.length > maxCount) // if too long...trim it!
        field.value = field.value.substring(0, 200);
}