// JavaScript Document

// Returns true or false depending on the validity of the email address
function validate_email(emailAddr) {
	var filter=/^([\w-]+(?:\.[\w-]+)*)@((?:[\w-]+\.)*\w[\w-]{0,66})\.([a-z]{2,6}(?:\.[a-z]{2})?)$/i
	if ((!filter.test(emailAddr)) || (!emailAddr.length) || (emailAddr == 'Enter your email address')) {
		return false;
	}
	return true;
}

// Returns true or false depending on the validity of the phone number
function validate_phone(phone) {
	phone = phone.replace(" ","");
	if((isNaN(phone)) || (phone.length < 10))  {
		return false;
	}
	return true;
}

// Checks if the input has any data
function isEmptyField(input) {
	input = input.replace(" ","");
	if(input.length) {
		return false;
	}
	return true;
}

// Checks validity of number and length
function validate_numericLength(cNum,s,f) {
	if (isNaN(cNum) || cNum.length<s || cNum.length>f || cNum.indexOf('.')!=-1) {
		return false;
	}
	return true;
}

// Check Date is within range.
function validateDate(o,cls,rqd,actn) {

	for (var i=0;i<cls.length;i++) {
		if (cls[i].indexOf('related')!=-1) {
			var rObjName=cls[i].split(':');
			var rVal=document.getElementById(rObjName[1]).value;
		}
	}

	if (rqd) {
		if (!o.value.length || !rVal.length) {
			return false;
		}
	} else {
		if ((!o.value.length && rVal.length) || (o.value.length && !rVal.length)) {
			return false;
		}
	}

	if (o.value.substring(0,1)==0) {
		var nVal=o.value.substring(1);
	} else {
		var nVal=o.value;
	}
	if (rVal.substring(0,1)==0) {
		var rVal=rVal.substring(1);
	}

	if (o.name.indexOf('Year')!=-1) {
		var tYear=nVal;
		var tMonth=rVal;
	} else {
		var tYear=rVal;
		var tMonth=nVal;
	}
	var tYear=(tYear-0)+2000;
	if (actn=='gt') {
		var mDay=32 - new Date(tYear,tMonth-1, 32).getDate();
	} else {
		var mDay=1;
	}

	var thisDate=new Date(tYear,tMonth-1,mDay);
	var now=new Date();
	var now=new Date(now.getFullYear(),now.getMonth(),now.getDate());

	if (actn=='gt') {
		if (now>thisDate) {
			return false;
		}
	} else {
		if (now<thisDate) {
			return false;
		}
	}

	return true;
}

