function ValidateDate(source, args){	
	var TestDate = ShortDateFormat(args.Value);	
	var element = document.getElementById(source.controltovalidate);
			
	if (TestDate == "Invalid Date"){
		args.IsValid = false;
	}
	else{
		element.value = TestDate;
		args.IsValid = true;
	}
}

function GetDate(date){
	var testDate = new Date(date);
	var Today = new Date();
	var Millenium, Century, Year;
	var returnDate;
	if(isNaN(testDate)){
		returnDate = "Invalid Date";
	}
	else{
		returnDate = testDate;
		Year = testDate.getFullYear().toString();
		if(date.indexOf(Year) == -1){
			// Two digit Year Entered
			Millenium = parseInt(Today.getFullYear().toString().substr(0, 1)) * 1000;
			Century = parseInt(Today.getFullYear().toString().substr(1, 2)) * 100;
			Year = (Millenium + Century + parseInt(testDate.getFullYear().toString().substr(2, 4))).toString();
			returnDate.setFullYear(Year);
		}
	}
	return returnDate;
}

function ShortDateFormat(date){
	var Month, Day, Year;
	var testDate;
	var returnDate;
	
	try{
		testDate = GetDate(date);
		if(testDate == "Invalid Date"){
			returnDate = testDate;
		}
		else{
			Month = (testDate.getMonth() + 1).toString();
			Day = testDate.getDate().toString();
			Year = testDate.getFullYear().toString();
			if(Month.length == 1){
				Month = "0" + Month;
			}
			if(Day.length == 1){
				Day = "0" + Day;
			}
			returnDate = Month + "/" + Day + "/" + Year;
		}
	}
	catch(e){
		returnDate = "Invalid Date"
	}
	return returnDate;
}

function ValidateCurrency(source, args){
	try{
		var returnValue;
		var value = "";
		var DecimalPlaces = 0;
		var Multiplier = Math.pow(10, DecimalPlaces);
		var number = args.Value;
		var testValue;
		
		for(x = 0; x < number.length; x++){
			testValue = number.charAt(x);
			if(!isNaN(testValue) || testValue == "."){
				value += testValue;
			}
		}	
		value = parseFloat(value) * Multiplier;
		value = Math.round(value);
		returnValue = value / Multiplier;
		returnValue = returnValue.toString();
		if(returnValue.indexOf(".") != -1){
			for(var x = returnValue.substr(returnValue.indexOf(".") + 1).length; x < DecimalPlaces; x++){
				returnValue += "0";
			}
		}
		else if(!isNaN(returnValue)){
			returnValue += ".00";
		}
		else{
			returnValue = "";
		}
		
		if(isNaN(returnValue) || returnValue.length < 1){
			args.IsValid = false;
		}
		else{
			args.IsValid = true;
		}
		
		document.getElementById(source.controltovalidate).value = "$" + returnValue.toString();
	}
	catch (e){
		//Do Nothing
	}
}
