//in this file I`ll make all the custom validations on different
//field types


// function to validate a required field
function ValidateRequired(control, type)
	{
		if (type == "textfield")
		{			
			if (control.value == "") return false;
			else return true;
		}
		if (type == "select")
		{
			if(control.selectedIndex == 0) return false;
			else return true;
		}		
	}

function ValidateEmail(control)
	{
		var emailAddr = control.value;
		
		//first check to see if there are the required elements of an email address @ and .
		if ((emailAddr.indexOf("@") < 2 ) || (emailAddr.indexOf(".") == -1)) return false;
		
		//next we check to see if the  dot is after the at sign
		var afterAt = emailAddr.substring(emailAddr.indexOf("@")+1);
		if (afterAt.indexOf(".") < 1) return false;	
		
		//next we have to check if the dot is the first or last character		
		if ((afterAt.substring(afterAt.length -1) == ".") || (emailAddr.substring(0,1) == ".")) return false;		
	}
	
function ValidateLength(control, len)
{
	if (control.value.length < len) return false;
	else return true;
}
function ValidateNumber(control)
{
	var regExpNumber = /[0-9]/;
	var val = control.value;
	if (val.length == 0) return false;
	for (i=0; i<val.length; i++)
	{
		if (val.charAt(i).search(regExpNumber) == -1)
		{return false;}
	}	
	return true;
}
function ValidateCheckboxGroups(wichOne)
{								
	var frm = document.frmQuestion;
	var checkArray = frm.elements[wichOne];								
	var isChecked = -1;
	for (i=0; i<checkArray.length; i++)
	{
		if(checkArray[i].checked) isChecked = 1;									
	}							
	if (isChecked == 1) return true;																
	else return false;								
}

//function to validate zip code
function validateZIP(field)
	{
		var valid = "0123456789-";
		var hyphencount = 0;

		if (field.value.length!=5 && field.value.length!=10) 
		{					
			return false;
		}
		
		for (var i=0; i < field.value.length; i++) 
		{
			temp = "" + field.value.substring(i, i+1);
			if (temp == "-") hyphencount++;
			if (valid.indexOf(temp) == "-1") 
			{		
				return false;
			}
			if ((hyphencount > 1) || ((field.value.length==10) && ""+field.value.charAt(5)!="-")) 
			{			
				return false;
			}
		}
		return true;
	}
//function to validate PostalCode
function ValidatePostalCode(field)
{
	if (field.value.length == 6)
	{
		var pattern = /^([A-Za-z]\d[A-Za-z]\d[A-Za-z]\d)$/;
	}
	else
		if (field.value.length == 7)
		{
			var pattern = /^([A-Za-z]\d[A-Za-z]( |-)\d[A-Za-z]\d)$/;
		}
		else {return false};
		
	if(field.value.search(pattern) == -1)	{return false;}
	else {return true;}	
	
}

// function to set focus on the first element with an error
	function setFocus(elementName)
	{
		document.getElementById(elementName).focus();	
	}
//function to validate file types
function ValidateFileTypes(theFile)
{
	var extArrayPattern = new Array();
	extArrayPattern[0] = /.pdf$/;
	extArrayPattern[1] = /.ppt$/;
	extArrayPattern[2] = /.wma$/;
	extArrayPattern[3] = /.mp3$/;
	extArrayPattern[4] = /.wmv$/;
	extArrayPattern[5] = /.mov$/;
	extArrayPattern[6] = /.jpg$/;
	extArrayPattern[7] = /.jpeg$/;
	extArrayPattern[8] = /.gif$/;
	// add more patterns if you want more file types to be allowed like this:-> extArrayPattern[9] = /.newExtension$/;

	var testPassed = false;

	for (i=0; i<extArrayPattern.length; i++)
	{
		if (theFile.search(extArrayPattern[i]) != -1)
		{
			testPassed = true;		
		}
	}
	if(testPassed) return true;
	else return false;
}


