
// function for checking date. 
// Input: string	
// Checks for format: MM/DD/YYYY
function checkdate(var_checkdate, var_fieldname) {
	var var_datecomps=var_checkdate.split("/");

	if (var_checkdate == "" || var_checkdate.search(/\d\d\/\d\d\/\d\d\d\d/) == 0) {
		if (var_datecomps[0]*1 == 1
			|| var_datecomps[0]*1 == 3
			|| var_datecomps[0]*1 == 5
			|| var_datecomps[0]*1 == 7
			|| var_datecomps[0]*1 == 8
			|| var_datecomps[0]*1 == 10
			|| var_datecomps[0]*1 == 12) {
				if (var_datecomps[1] > 31) {
					alert("The date you entered for " + var_fieldname + " is not valid!");
					return false;
				}
		} else if (var_datecomps[0]*1 == 4
			|| var_datecomps[0]*1 == 6
			|| var_datecomps[0]*1 == 9
			|| var_datecomps[0]*1 == 11){
				if (var_datecomps[1] > 30) {
					alert("The date you entered for " + var_fieldname + " is not valid!");
					return false;
				}
		} else if (var_datecomps[0]*1 == 2){
				var maxday = 28;
				if(var_datecomps[2]%4==0) maxday++;
				if(var_datecomps[2]%100==0) maxday--;
				if(var_datecomps[2]%400==0) maxday++;
				if (var_datecomps[1] > maxday) {
					alert("The date you entered for " + var_fieldname + " is not valid!");
					return false;
				}
		} else {
			return true;
		}
	} else {
		alert("Please use format MM/DD/YYYY for the date in field " + var_fieldname + "!");
		return false;
	}
	return true;
}


// function for checking number. 
// Input: string	
// Checks for integer number
function checknumber(var_checknumber, var_fieldname) {
	if (var_checknumber == "" || var_checknumber.search(/\d+$/) == 0) {
		return true;
	} else {
		alert("The number you entered for " + var_fieldname + " is not an integer number!");
		return false;
	}
}

// function for checking float with two decimals. 
// Input: string	
// Checks for <number>.<decimal><decimal>
function checkfloat(var_checknumber, var_fieldname) {
	if (var_checknumber == "" || var_checknumber.search(/\d+(|\.\d|\.\d\d)$/) == 0) {
		return true;
	} else {
		alert("The number you entered for " + var_fieldname + " is not a number!");
		return false;
	}
}

// function for checking price number. 
// Input: string	
// Checks for price number
function checkprice(var_checknumber, var_fieldname, var_required) {
	if (var_checknumber == "" && var_required != "required") {
		return true;
	};
	if (var_checknumber.search(/\d+(\.\d?\d?)?$/) == 0) {
		return true;
	} else {
		alert("The number you entered for " + var_fieldname + " has not a price format!");
		return false;
	}
}

// function for checking whether a field is entered. 
// Input: string	
// Checks for whether a field is entered
function checkempty(var_checkvalue, var_fieldname) {
	if (var_checkvalue == "") {
		alert("Please enter the field " + var_fieldname + "!");
		return false;
	} else {
		return true;
	}
}

// function for checking date (MM/YYYY). 
// Input: string	
// Checks for month: MM/YYYY
function checkmonth(var_checkmonth, var_fieldname, var_required) {
	if (var_checkmonth == "" && var_required != "required") {
		return true;
	};
	if (var_checkmonth.search(/\d\d\/\d\d\d\d$/) == 0) {
		return true;
	} else {
		alert("Please enter a valid date format (MM/YYYY) in field " + var_fieldname + "!");
		return false;
	}
}

// function for checking email. 
// Input: string	
// Checks for email: *@*.*
function checkemail(var_checkemail, var_fieldname, var_required) {
	if (var_checkemail == "" && var_required != "required") {
		return true;
	};
	if (var_checkemail.search(/.+@.+\..+/) == 0) {
		return true;
	} else {
		alert("Please enter a valid email address in field " + var_fieldname + "!");
		return false;
	}
}

// function for checking a password. 
// Input: string	
// Checks for email: *@*.*
function checkpassword(var_password1, var_password2) {
	if (var_password1.search(/....+/) == 0) {
		if (var_password1 == var_password2) {
			return true;
		} else {
			alert("The reentered password is not equal to the first. Please enter it again!");
			return false;
		}
	} else {
		alert("Please enter at least 4 characters for the password!");
		return false;
	}
}

// function for checking whether a radiobutton is checked. 
// Input: radiobutton, Name of the buttonfield
function radioChecked( formObj, var_fieldname )
{
    var checked = false;
    
    for( var i=0; i < formObj.length; i++ )
    {
        if( formObj[i].checked == true )
        {
            checked = true;
        }
    }
	if (!checked) {
		alert("There is no button checked for " + var_fieldname + "!");
	}
	
    return checked;
}

// function for checking two values whether they are equal. 
// Input: two values	
// Checks for two different values
function checkequal(var_checkval1, var_checkval2, var_fieldname) {
	if (var_checkval1 == var_checkval2 && var_checkval1 != "" && var_checkval1 != 0) {
		alert("You selected two equal values for " + var_fieldname + ". Please select different values!");
		return false;
	} else {
		return true;
	}
}

// function for checking an alphanumberic value. 
// Input: string	
// Checks for alphanumberic string
function checkalpha(var_checkalpha, var_fieldname) {
	if (var_checkalpha != "" && var_checkalpha.search(/\w\w\w\w+$/) == 0 && var_checkalpha.search(/\d/) < 0) {
		return true;
	} else {
		alert("The name you entered for " + var_fieldname + " has not only alphanumeric characters!");
		return false;
	}
}


