// JavaScript Document


function validateEmpty(field, name)
{
	if(field.value == "")
	{
		alert(name + ' is required field');
		field.focus();
		return true;
	}
	
	return false;
}

function validateLessLength(field, name,size)
{
	if(field.value.length < size || field.value.length > size)
	{
		alert(name + ' is invalid, it must be of size ' + size);
		field.focus();
		return true;
	}
	
	return false;
}

function validateNum(field, name)
{
	if(field.value != "" && isNaN(field.value))
	{
		field.select();
		alert(name + ' contain invalid characters. Enter only numeric values')
		field.focus()
		return true
	}
	
	return false
}

function validateDate(field,name,format)
{
	if(field.value != "" && isDate(field.value,format) == false )
	{
		field.select();
		alert(name + ' is not a valid date. Enter only valid values')
		field.focus()
		return true
	}
	
	return false;
}

function validateGreaterDate(date1,date2,dateformat)
{	
	if(compareDates(date1.value,dateformat,date2.value,dateformat) == 1)//   1 if date1 is greater than date2
	{
		date1.select();
		alert('First date is greater than 2nd date');
		date1.focus()
		return true;
	}
		
	return false;
}


function validateEmail(field)
{	
	//var reg = /^([A-Za-z0-9_\-\.])+\@([A-Za-z0-9_\-\.])+\.([A-Za-z]{2,4})$/;
	var reg = /^([A-Za-z0-9_\-\.])+\@(([A-Za-z0-9_\-])+\.)+([A-Za-z]{2,4})$/; // 
   	if(field.value != "" && reg.test(field.value) == false) 
	{
		field.select();		
      	alert('Please Enter a Valid Email Address');
		field.focus()
		return true
	}
	
	return false;
}

function validatePhone(field)
{
	var reg =/^\d{3}-\d{3}-\d{4}$/

	if(field.value!="" && reg.test(field.value) == false)
	{
		field.select();
		alert('Please Enter a Valid Phone Number');
		field.focus();
		return true;
	}
	return false;
}
function validateSame(field1,field2)
{
	if(field1.value != field2.value)
	{
		field2.select();
		alert('both fields must match');
		field2.focus();
		return true;
	}
	
	return false;
}

function validateEmptyRadio(field, name)
{
	if(field[0].checked == false && field[1].checked == false)
	{
		alert(name + ' is required field');
		return true;
	}
	
	return false;
}
function validateEmptyCheckBox(field, name)
{
	for(var i=0; i<field.length; i++)
	{
		if(field[i].checked)
		{	
			
			return false;
		}
		
	}
	alert('Select At leaset one '+name);
	return true;
}

function validateEmptyCheck(field, name)
{
	if(field.checked == false)
	{
		alert(name + ' is required field');
		//field[0].focus();
		return true;
	}
	
	return false;
}

function validateEmptyCombo(field, name)
{	
	if(field.selectedIndex == 0)
	{		
		field.focus();
      	alert('Please select a ' + name);		
		return true;
	}
		
	return false;
}

function validateUploadDoc(field)
{
	var doc = field.value;
	var ext;		
	
	//alert('field.value = ' + field.value);
	
	ext = doc.substring(doc.lastIndexOf('.') + 1,doc.length);
	
	//alert('ext = ' + ext);
	
	if(doc.length != 0)
	{
		if(!(ext == "DOC" || ext == "TXT" || ext == "doc" || ext == "txt" || ext == "PDF" || ext == "pdf"))
		{
			alert("Please select valid file format (.doc, .pdf, .txt."); //Informs user of empty field
			field.select();
			field.focus();
			return true; //This prevents the form from being submitted
		}
	}
	
	return false;
}




function validateUploadImg(field)
{
	var img = field.value;
	var ext;		
	
	//alert('field.value = ' + field.value);
	
	ext = img.substring(img.lastIndexOf('.') + 1,img.length);
	
	//alert('ext = ' + ext);
	
	if(img.length != 0)
	{
		if(!(ext == "JPG" || ext == "GIF" || ext == "jpg" || ext == "gif" || ext == "PNG" || ext == "png"))
		{
			alert("Please select a image file instead."); //Informs user of empty field
			field.select();
			field.focus();
			return true; //This prevents the form from being submitted
		}
	}
	
	return false;
}


/*
function formValiadtion(frm)
{
	if(	validateEmpty(frm.loginname,'Login Name') ||
		validateEmpty(frm.password,'Password') ||
		validateEmpty(frm.name,'Name') ||
		validateEmpty(frm.email,'Email') ||
		validateEmail(frm.email)													
		)
		return false;
		
	return true;		
}
*/


/*
function formValidation()
{	
	for(var v=0; v < arguments.length; )
	{
		switch(arguments[v])
		{
		case 'validateEmpty': // validateEmpty(field, name)
			if(validateEmpty(arguments[v+1],arguments[v+2]))
				return false;
				
			v += 3;
			break;
			
		case 'validateNum': // validateNum(field, name)
			if(validateNum(arguments[v+1],arguments[v+2]))
				return false;
				
			v += 3;
			break;
			
		case 'validateDate': // validateDate(field,name,format)
			if(validateDate(arguments[v+1],arguments[v+2],arguments[v+3]))
				return false;
				
			v += 4;
			break;
			
		case 'validateEmail': // validateEmail(field)
			if(validateEmail(arguments[v+1]))
				return false;
				
			v += 2
			break;
		
		case 'validateSame':
			if(validateSame(arguments[v+1],arguments[v+2]))
				return false;
				
			v += 3;		
			break;
			
		case 'validateGreaterDate': // validateGreaterDate(date1,date2,dateformat)
			if(validateGreaterDate(arguments[v+1],arguments[v+2],arguments[v+3]))
				return false;
				
			v += 4;
			break;
			
		case 'validateEmptyRadio': // validateEmptyRadio(field, name)
			if(validateEmptyRadio(arguments[v+1],arguments[v+2])
				return false;
				
			v += 3;
			break;
			
		case 'validateEmptyCheck': // validateEmptyCheck(field, name)
			if(validateEmptyCheck(arguments[v+1],arguments[v+2])
				return false;
				
			v += 3;
			break;
		}		
	}		
}
*/