function Checkfield_Date(Form_Table, FieldName, FieldDescription, Min, NotNull) {
	document.getElementById(FieldName + '_line').className = "";
	var Error = "";
	var Value =	document.getElementById(FieldName).value;
	var Old_Errors = document.getElementById('error_' + Form_Table + '_fields').innerHTML;;
	if (NotNull == true) {
		if (Value == "") Error = FieldDescription + ' field is empty.<br/>' ;
		else if (Value.length < Min) Error = FieldDescription + ' field does not have the minimum ' + Min + ' character(s).<br/>';
	}
	if (NotNull == false && Value != "" && Value.length < Min) Error = FieldDescription + ' field does not have the minimum ' + Min + ' character(s).<br/>';
	if (Value != "") {
		var validformat=/^\d{2}\-\d{2}\-\d{4}$/ ; 
		var returnval=false ;
		if (!validformat.test(Value)) Error = FieldDescription + ' field contains and invalid date.<br/>';
		else {
			var dayfield = Value.split("-")[0] ;
			var monthfield = Value.split("-")[1] ;
			var yearfield = Value.split("-")[2] ;
			var dayobj = new Date(yearfield, monthfield-1, dayfield) ;
			if ((dayobj.getMonth()+1!=monthfield)||(dayobj.getDate()!=dayfield)||(dayobj.getFullYear()!=yearfield)) Error = FieldDescription + ' field contains and invalid date.<br/>';
		}
	}
	if (Error != "") {
		document.getElementById(FieldName + '_line').className = "Error_Bg";
		document.getElementById('error_' + Form_Table + '_fields').innerHTML = Old_Errors + Error ;
	}

}

function Checkfield_Email(Form_Table, FieldName, FieldDescription, Min, NotNull) {
	document.getElementById(FieldName + '_line').className = "";
	var Error = "";
	var Value =	document.getElementById(FieldName).value;
	var Old_Errors = document.getElementById('error_' + Form_Table + '_fields').innerHTML;
	var filter  = /^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$/;
	if (NotNull == true) {
		if (Value == "") Error = FieldDescription + ' field is empty.<br/>' ;
		else if (Value.length < Min) Error = FieldDescription + ' field does not have the minimum ' + Min + ' character(s).<br/>';
	}
	if (NotNull == false && Value != "" && Value.length < Min) Error = FieldDescription + ' field does not have the minimum ' + Min + ' character(s).<br/>';
	if (Value != "") {
		if (filter.test(Value)) ;
		else Error = FieldDescription + ' field is not valid.<br/>';	
	}
	if (Error != "") {
		document.getElementById(FieldName + '_line').className = "Error_Bg";
		document.getElementById('error_' + Form_Table + '_fields').innerHTML = Old_Errors + Error ;
	}
}

function Checkfield_Force_Error(Form_Table, FieldName, Error) {
	document.getElementById(FieldName + '_line').className = "";
	document.getElementById(FieldName + '_line').className = "Error_Bg";
	var Old_Errors = document.getElementById('error_' + Form_Table + '_fields').innerHTML;;
	document.getElementById('error_' + Form_Table + '_fields').innerHTML = Old_Errors + Error ;
}

function Checkfield_JPG(Form_Table, FieldName, FieldDescription, Min, NotNull) {
	document.getElementById(FieldName + '_line').className = "";
	var Error = "";
	var Value =	document.getElementById(FieldName).value;
	var Old_Errors = document.getElementById('error_' + Form_Table + '_fields').innerHTML;;
	if (NotNull == true) {
		if (Value == "") Error = FieldDescription + ' field is empty.<br/>' ;
		else if (Value.length < Min) Error = FieldDescription + ' field does not have the minimum ' + Min + ' character(s).<br/>';
	}
	if (NotNull == false && Value != "" && Value.length < Min) Error = FieldDescription + ' field does not have the minimum ' + Min + ' character(s).<br/>';
	if ((Value != "") && (Value.lastIndexOf(".jpg") == -1 && Value.lastIndexOf(".JPG") == -1)) Error = FieldDescription + ' field must be a jpg image only.<br/>' ;
	if (Error != "") {
		document.getElementById(FieldName + '_line').className = "Error_Bg";
		document.getElementById('error_' + Form_Table + '_fields').innerHTML = Old_Errors + Error ;
	}
}

function Checkfield_Number(Form_Table, FieldName, FieldDescription, Min, NotNull) {
	document.getElementById(FieldName + '_line').className = "";
	var Error = "";
	var Value =	document.getElementById(FieldName).value;
	var Old_Errors = document.getElementById('error_' + Form_Table + '_fields').innerHTML;;
	var ValidChars = "0123456789";
	var IsNumber=true;
	var Char;
	var dotCnt = 0;
	if (NotNull == true) {
		if (Value == "") Error = FieldDescription + ' field is empty.<br/>' ;
		else if (Value.length < Min) Error = FieldDescription + ' field does not have the minimum ' + Min + ' character(s).<br/>';
	}
	if (NotNull == false && Value != "" && Value.length < Min) Error = FieldDescription + ' field does not have the minimum ' + Min + ' character(s).<br/>';
	for (i = 0; i < Value.length && IsNumber == true; i++) { 
		Char = Value.charAt(i); 
		if (ValidChars.indexOf(Char) == -1 || dotCnt>1) {
			IsNumber = false;
		}
	}
	if (IsNumber == false) Error = FieldDescription + ' field does not contain a valid number.<br/>'; 
	if (Error != "") {
		document.getElementById(FieldName + '_line').className = "Error_Bg";
		document.getElementById('error_' + Form_Table + '_fields').innerHTML = Old_Errors + Error ;
	}
}

function Checkfield_Password(Form_Table, FieldName, FieldDescription, Min) {
	document.getElementById(FieldName + '_line').className = "";
	var Error = "";
	var Value =	document.getElementById(FieldName).value;
	var Old_Errors = document.getElementById('error_' + Form_Table + '_fields').innerHTML;;
	if (Value == "") Error = FieldDescription + ' field is empty.<br/>' ;
	else {
		if (Value.length < Min) Error = FieldDescription + ' field does not have the minimum ' + Min + ' character(s).<br/>';
		else {
			var Password_Re = /(?=.*\d)(?=.*([a-z]|[A-Z]))/;
		  	var Valid_Password = Password_Re.test(Value);
			if (Valid_Password == false) Error = FieldDescription + ' field must contain at least one letter and number.<br/>';
		}
	}
	if (Error != "") {
		document.getElementById(FieldName + '_line').className = "Error_Bg";
		document.getElementById('error_' + Form_Table + '_fields').innerHTML = Old_Errors + Error ;
	}
}

function Checkfield_Text(Form_Table, FieldName, FieldDescription, Min, NotNull) {
	document.getElementById(FieldName + '_line').className = "";
	var Error = "";
	var Value =	document.getElementById(FieldName).value;
	var Old_Errors = document.getElementById('error_' + Form_Table + '_fields').innerHTML;;
	if (NotNull == true) {
		if (Value == "") Error = FieldDescription + ' field is empty.<br/>' ;
		else if (Value.length < Min) Error = FieldDescription + ' field does not have the minimum ' + Min + ' character(s).<br/>';
	}
	if (NotNull == false && Value != "" && Value.length < Min) Error = FieldDescription + ' field does not have the minimum ' + Min + ' character(s).<br/>';
	if (Error != "") {
		document.getElementById(FieldName + '_line').className = "Error_Bg";
		document.getElementById('error_' + Form_Table + '_fields').innerHTML = Old_Errors + Error ;
	}
}

function Checkfield_Twofields_Same(Form_Table, FieldName1, FieldName2, Field1Description, Field2Description, ClearErrorBgOldTrLines) {
	if (ClearErrorBgOldTrLines == true) {
		document.getElementById(FieldName1 + '_line').className = "";
		document.getElementById(FieldName2 + '_line').className = "";
	}
	var Error = "";
	var Value1 =	document.getElementById(FieldName1).value;
	var Value2 =	document.getElementById(FieldName2).value;
	var Old_Errors = document.getElementById('error_' + Form_Table + '_fields').innerHTML;;
	if (Value1 != Value2) Error = Field1Description + ' does not match ' + Field2Description + '.<br/>';
	if (Error != "") {
		document.getElementById(FieldName1 + '_line').className = "Error_Bg";
		document.getElementById(FieldName2 + '_line').className = "Error_Bg";		
		document.getElementById('error_' + Form_Table + '_fields').innerHTML = Old_Errors + Error ;
	}
}

function Checkfield_Website(Form_Table, FieldName, FieldDescription, Min, NotNull) {
	document.getElementById(FieldName + '_line').className = "";
	var Error = "";
	var Value =	document.getElementById(FieldName).value;
	var Old_Errors = document.getElementById('error_' + Form_Table + '_fields').innerHTML;;
	if (NotNull == true) {
		if (Value == "") Error = FieldDescription + ' field is empty.<br/>' ;
		else if (Value.length < Min) Error = FieldDescription + ' field does not have the minimum ' + Min + ' character(s).<br/>';
	}
	if (NotNull == false && Value != "" && Value.length < Min) Error = FieldDescription + ' field does not have the minimum ' + Min + ' character(s).<br/>';
	if (Value != "") {
	    var URL_Re = /(ftp|http|https):\/\/(\w+:{0,1}\w*@)?(\S+)(:[0-9]+)?(\/|\/([\w#!:.?+=&%@!\-\/]))?/		
	  	var Valid_URL = URL_Re.test(Value);
		if (Valid_URL == false) Error = FieldDescription + ' does not contain a valid website address, please make sure you include the full address including "http;//".<br/>';
	}
	if (Error != "") {
		document.getElementById(FieldName + '_line').className = "Error_Bg";
		document.getElementById('error_' + Form_Table + '_fields').innerHTML = Old_Errors + Error ;
	}
}
