//Empty Textbox validation
function isEmpty(textcontrol)
{
	str = textcontrol.value
	for (i = 0; i < str.length; i++)
	{
		chr = str.substring(i, i + 1);
		if (chr != ' ')
		{
			return false;
		}
	}
	return true;
}

//Textbox not empty validation 
function notEmpty(fieldname)
	{
	if (fieldname.value == null || fieldname.value == "")
		{
		return false;
		}
	return true;
	}

//Radio Button validation
function Radio(fieldname)
	{
	var tester = 0;
	
	for (var i=0; i<fieldname.length; i++)
		{
		if (fieldname[i].checked)
			{
			tester=1;
			}
		}
	if (tester==0)
		{
		return false;
		}
	return true;
	}

//Checkbox validation
function Check(fieldname)
{
	var tester = 0;
	
	for (var i=0; i<fieldname.length; i++)
	{
		if (fieldname[i].checked)
		{
			tester=1;
		}
	}
	if (tester==0)
	{
		return false;
	}
}

function validPhone(fieldname)
{
	var err=0;
	if (!isEmpty(fieldname))
	{
		var strval = fieldname.value.toString();
		for (var i=0; i<strval.length; i++)
		{
			var onechar = strval.charAt(i);
			if (onechar < "0" || onechar > "9")
			err=1;
		}	
	}
	if (err==1)
	{
		return false;
	}
return true;
}

//Integer validation
function isInteger(fieldname)
{
	if (notEmpty(fieldname))
	{
		var strval = fieldname.value.toString();
		for (var i=0; i<strval.length; i++)
			{
			var onechar = strval.charAt(i);
			if (onechar < "0" || onechar > "9")
				{
				fieldname.focus();
				return false;
				}
				else
				{
					return true;
				}
			}
	}
	return false;
	
}

//Integer Validation for Non-required field
function IntegerNotReq(fieldname)
{
	if (notEmpty(fieldname))
	{
		var strval = fieldname.value.toString();
		for (var i=0; i<strval.length; i++)
			{
			var onechar = strval.charAt(i);
			if (onechar < "0" || onechar > "9")
				{
				fieldname.focus();
				return false;
				}
				else
				{
					return true;
				}
			}
	}
	return true;
		
}

//Email validation
function Email(str) 
{
		str = str.value
		var at="@"
		var dot="."
		var lat=str.indexOf(at)
		var lstr=str.length
		var ldot=str.indexOf(dot)
		if (str.indexOf(at)==-1){
		    return false
		}

		if (str.indexOf(at)==-1 || str.indexOf(at)==0 || str.indexOf(at)==lstr){
		    return false
		}

		if (str.indexOf(dot)==-1 || str.indexOf(dot)==0 || str.indexOf(dot)==lstr){
		    return false
		}

		 if (str.indexOf(at,(lat+1))!=-1){
		    return false
		 }

		 if (str.substring(lat-1,lat)==dot || str.substring(lat+1,lat+2)==dot){
		    return false
		 }

		 if (str.indexOf(dot,(lat+2))==-1){
		    return false
		 }
		
		 if (str.indexOf(" ")!=-1){
		    return false
		 }

 		 return true					
	}

//Radio Button population
function setRadio(fieldname, values)
	{
	for (i=0; i<fieldname.length; i++)
		{
		if (fieldname[i].value == values.value)
			{
			fieldname[i].checked = true;
			}
		}
	}	

//Checkbox population
function setCheck(fieldname, values)
	{
	var valuearray;
	valuearray = values.value.split(", ");
	for (i=0; i<valuearray.length; i++)
		{
		for (j=0; j<fieldname.length; j++)
			{
			if (fieldname[j].value == valuearray[i])
				{
				fieldname[j].checked = true;
				}
			}
		}
	}

//Single Select population
function dropsinglecheck(fieldname, values)
	{
	for (i=0; i<fieldname.length; i++)
		{
		if (fieldname[i].value == values.value)
			{
			fieldname[i].selected = true;
			}
		}
	}


//Multi-select population
function dropmultcheck(fieldname, values)
	{
	var valuearray;
	valuearray = values.value.split(", ");
	for (j=0; j<valuearray.length; j++)
		{
		for (i=0; i<fieldname.length; i++)
			{
			if (fieldname[i].value == valuearray[j])
				{
				fieldname[i].selected = true;
				}
			}
		}
	}

function CheckBirthDate(fieldname) 
{
	//Used to get todays date and format
	var d, s;
	d = new Date();
	s = (d.getMonth() + 1) + "/";
	s += d.getDate() + "/";
	s += d.getYear();

	if (fieldname.value == "")
	{
		alert("Please enter your Date of Birth");
		fieldname.focus();
		return false;
	}
	else
	{
		var err=0
		a=fieldname.value
		if (a.length > 10 || a.length < 8)
		{
			 err=1
		}
		if (err == 0)
		{
			if (a.length == 10)
			{
				b = a.substring(0, 2)// month
				c = a.substring(2, 3)// '/'
				d = a.substring(3, 5)// day
				e = a.substring(5, 6)// '/'
				f = a.substring(6, 10)// year
			}
			if(a.length == 9)
			{
				if (a.charAt(1) == "/")
				{
					b = "0" +  a.substring(0,1)// month
					c = a.substring(1, 2)// '/'
					d = a.substring(2, 4)// day
					e = a.substring(4, 5)// '/'
					f = a.substring(5, 9)// year		
				}
				else
				{
					if (a.charAt(2) == "/")
					{
						b = a.substring(0,2)// month
						c = a.substring(2, 3)// '/'
						d = "0" + a.substring(3, 4)// day
						e = a.substring(4, 5)// '/'
						f = a.substring(5, 9)// year
					}
				}
			}
			if(a.length == 8)
			{
				b = "0" + a.substring(0,1)// month
				c = a.substring(1, 2)// '/'
				d = "0" + a.substring(2,3)// day
				e = a.substring(3, 4)// '/'
				f = a.substring(4, 8)// year
			}

			if (isNaN(b) || isNaN(d) || isNaN(f))
			{
				err =1;
			}
	
			if (err == 0)
			{
				if (b<1 || b>12) err = 1
				if (c != '/') err = 1
				if (d<1 || d>31) err = 1
				if (e != '/') err = 1

				//The 9999 below can be any figure like 1999,2010 etc.

				if (f<0 || f>9999) err = 1
				if (b==4 || b==6 || b==9 || b==11)
				{
					if (d==31) err=1
				}
				if (b==2)
				{
					var g=parseInt(f/4)
					if (isNaN(g))
					{
						err=1
					}
					if (d>29) err=1
					if (d==29 && ((f/4)!=parseInt(f/4))) err=1
				}
			}
		}
		if (err==1)
		{
			alert('Your Date of Birth is incorrect.\nPlease enter it as mm/dd/yyyy');
			fieldname.value="";
			fieldname.focus();
			return false;
		}

		if (Date.parse(fieldname.value) >= Date.parse(s))
		{
		alert("Please Enter a valid Date of Birth");
		fieldname.value = "";	
		fieldname.focus();
		return false;
		}
	}
	return true;		
}	
