function Validate_int(fld, msg) {
	var val = fld.value;
	var ret = true;

	if (val == "")
		ret = false;
	
	if (isNaN(val))
		ret = false;
		
	if (parseInt(val) != val)
		ret = false;
		
	if (ret == false) {
		alert(msg + "\n- Must be a valid non decimal number");
		fld.value = 0;
		fld.focus();
	}
			
	return ret;
}
function Validate_cat(fld, msg) {
	if (fld.value == 0){
		alert(msg + "\n- Please ensure to select an option");
		ret = false;
	} else {
		ret = true;
	}
	return ret;
}

function Validate_check(fld, msg) {
	return true;
}

function Validate_cur(fld, msg) {
	var ret = true;

	fld.value = fld.value.replace(/ $/, "");
	var val = fld.value.replace(/^\$/, "");
	
	if (parseFloat(val) != val)
		ret = false;
		
	if (parseInt(val * 100) != parseFloat(val * 100))
		ret = false;

	if (ret == false) {
		alert(msg + "\n- Must be a valid currency entry");
		fld.value = 0;
		fld.focus();
	}
	return ret;
}

function Validate_text(fld, msg) {
	var val = fld.value.replace(/ */, "");
	var ret = true;
	
	if (val == "")
		ret = false;
		
	if (ret == false) {
		alert(msg);
		fld.value = "";
		fld.focus();
	}
		
	return ret;
}

function Validate_email(fld, msg) {

	var val = fld.value.replace(/ */, "");
	var ret = true;
	var charsallowed = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789_.@-";
	
	if (val.length < 6)
		ret = false;
	else {
		if (val.indexOf('@', 0) == -1)
			ret = false;
			
		if (val.indexOf('.', 3) == -1)
			ret = false;
			
		for (i=0 ; i < fld.value.length ; i++) {
			chr = fld.value.substring(i, i+1);

			if (charsallowed.indexOf(chr,0) == -1)
				ret = false;
		}
	}
	
		
	if (ret == false) {
		alert(msg + "\n- Must be a valid email address");
		fld.value = "";
		fld.focus();
	}
		
	return ret;
}

function Validate_username(fld, msg) {
	
	var ret = true;
	var charsallowed = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789";
	var val = fld.value.replace(/ */, "")
	var length = val.length;
	
	if (length < 1)
		ret = false;
	else {
		for (i=0 ; i < fld.value.length ; i++) {
			chr = fld.value.substring(i, i+1);

			if (charsallowed.indexOf(chr,0) == -1)
				ret = false;
		}
	}
	
	if (ret == false) {
		alert(msg + '\n- Must not be at least 1 character in length\n- Must be alpha-numeric (letters & numbers only)');
		fld.value = "";
		fld.focus();
	}
	
	return ret;
}

function Validate_password(fld, msg) {
	
	var ret = true;
	var charsallowed = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789";
	var val = fld.value.replace(/ */, "")
	var length = val.length;
	
	if (length < 5 || length  > 8)
		ret = false;
	else {
		for (i=0 ; i < fld.value.length ; i++) {
			chr = fld.value.substring(i, i+1);

			if (charsallowed.indexOf(chr,0) == -1)
				ret = false;
		}
	}
	
	if (ret == false) {
		alert(msg + '\n- Must not be between 5 & 8 characters in length\n- Must be alpha-numeric (letters & numbers only)');
		fld.value = "";
		fld.focus();
	}
	
	return ret;
}

function Validate_memo(fld, msg) {
	return Validate_text(fld, msg);
}

function Validate_img(fld, msg) {
	return Validate_text(fld, msg);
}

function Validate_date(fld, msg) {

	year = fld[2].value;
	month = fld[1].value;
	day = fld[0].value;
	
	if (ValidateDate(year, month, day) == false) {
		alert(msg + "\n- Must be a valid date");
		fld[0].value = 1;
		fld[0].focus();
		return false;
	}
	
	return true;	
}

function Validate_bit(fld, msg) {
	if (fld.value != 0 && fld.value != 1) {
		alert(msg + "\n- Must be a valid bit (either 1 or 0)");
		fld.value = 0;
		fld.focus();
		return false;
	}
	
	return true;
}

function Validate_cc(fld, type, msg) {
	
	var val = fld.value;
	var ret = true;
	
	if (val.length > 19)
		ret = false;
	
	if (ret) {
		sum = 0; mul = 1; l = val.length;
	  	for (i = 0; i < l; i++) {
	    	digit = val.substring(l-i-1,l-i);
	    	tproduct = parseInt(digit ,10)*mul;
	    	if (tproduct >= 10)
	      		sum += (tproduct % 10) + 1;
	    	else
	      		sum += tproduct;
	    
			if (mul == 1)
	      		mul++;
	    	else
	      		mul--;
	  	}
	
	  	if ((sum % 10) != 0) ret = false;
	}
		
	if (ret) {
	
		switch (type) {
			case "1" :
				ret = cc_visa(val);
				break;
				
			case "2" :
				ret = cc_mastercard(val);
				break;
				
			case "3" :
				ret = cc_bankcard(val);
				break;
				
			case "4" :
				ret = cc_amex(val);
				break;
				
			case "5" :
				ret = cc_diners(val);
				break;
				
			case "6" :
				ret = cc_jcb(val);
				break;
				
			case "7" :
				ret = cc_discover(val);
				break;
		}
	}
	
	if (ret == false) {
		alert(msg + "\n- Must be a valid credit card number.");
		fld.focus();
		return false;
	}
	
	return true;
}

