// ###################################################
// NOTE:    document.all is not compliant in many
//          other browsers, most notably Firfox. Use
//          document.getElementsByTagName instead.
// ###################################################

// Clear fields on a form.
function ClearForm(mainContainer) {
	if (mainContainer != null) {
		var inputs = mainContainer.getElementsByTagName("INPUT");
		for (i=0; i<=inputs.length - 1; i++) {
	        if (inputs[i].type == "text") {
	            inputs[i].value = "";
	        }
		}
	}
	return false;
}

// Masks a phone number.
function MaskPhoneNumber(phoneTextBox) {
	var number;
	if (phoneTextBox != null) {
		if (phoneTextBox.value != "") {
			number = phoneTextBox.value;
			if ((number.length == 10) && (IsNumeric(number))) {
				number = "(" + number.substring(0, 3) + ")" + number.substring(3, 6) + "-" + number.substring(6, 10);
			}
			phoneTextBox.value = number;
		}
	}
}


// Handles mouse over an html object.
function MenuMouseOver(cell) {
    if (document.images) {
        if (cell != null) {
            var images = cell.getElementsByTagName("IMG");
            for (i=0; i<=images.length - 1; i++) {
                images[i].src = "Resources/Images/discblack.gif";
            }
            var links = cell.getElementsByTagName("A");
            for (i=0; i<=links.length - 1; i++) {
                links[i].className = "linkBlackSmall";
            }
        }
    }
}

// Handles when the mouse leaves an html object.
function MenuMouseOut(cell) {
    if (document.images) {
        if (cell != null) {
            var images = cell.getElementsByTagName("IMG");
            for (i=0; i<=images.length - 1; i++) {
                images[i].src = "Resources/Images/discgreen.gif";
            }
            var links = cell.getElementsByTagName("A");
            for (i=0; i<=links.length - 1; i++) {
                links[i].className = "linkGreenSmall";
            }
        }
    }
}

// Determines if the text is a number.
function IsNumeric(text) {
	var validChars = "0123456789.";
    var isNumber=true;
    var character;
    for (i = 0; i < text.length && isNumber == true; i++) { 
		character = text.charAt(i); 
        if (validChars.indexOf(character) == -1) {
			isNumber = false;
		}
	}
	return isNumber;
}

// Go back in the browser history.
function GoBack() {
    if (history.length > 0) {
        history.back();
    } else {
        alert("There is no previous browser history.");
    }
    return false;
}
function ValidateDate(source, args) {
    var cvFutureDateValidator = document.getElementById("ctl00_cphMain_cvFutureDate");
    //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 RegExPattern = /^\d{1,2}(\-|\/|\.)\d{1,2}\1\d{4}$/;
    if ((args.Value.match(RegExPattern)) && (args.Value!='')) {
        if (cvFutureDateValidator != null) {
            ValidatorEnable(cvFutureDateValidator, true);
        }
        args.IsValid = true;
    } else {
        if (cvFutureDateValidator != null) {
            ValidatorEnable(cvFutureDateValidator, false);
        }
        args.IsValid = false;
    } 
}