//function to Check Empty
  function IsEmpty(fld,mesg)
  {
  	reg = / /g;
  	str = fld.value;
  	res = str.replace(reg,"");
	reg = /\s/g;
	res = res.replace(reg,"");
  	if(res == "")
  	{
  		alert(mesg);
  		fld.value="";
  		fld.focus();
  		return false;
  	}		
  	return true;
  }

  //function to Check Empty but no alert message & return bool value
  function IsEmptyNoMsg(fld)
  {
  	reg = / /g;
  	str = fld.value;
  	res = str.replace(reg,"");
	reg = /\s/g;
	res = res.replace(reg,"");
  	if(res == "")
  	{
  		return true;
  	}		
  	return false;
  }


//function to Check email
// opt value 0 if mandatory and 1 if not
function CheckEmail(fld,msg,opt)
{
	if(opt=="0" || fld.value!="")
	{
	
	var emailStr=fld.value;
	var checkTLD=1;
	var knownDomsPat=/^(com|net|org|edu|int|mil|gov|arpa|biz|aero|name|coop|info|pro|museum)$/;

	var emailPat=/^(.+)@(.+)$/;

	var specialChars="\\(\\)><@,;:\\\\\\\"\\.\\[\\]";

	var validChars="\[^\\s" + specialChars + "\]";

	var quotedUser="(\"[^\"]*\")";

	var ipDomainPat=/^\[(\d{1,3})\.(\d{1,3})\.(\d{1,3})\.(\d{1,3})\]$/;

	var atom=validChars + '+';

	var word="(" + atom + "|" + quotedUser + ")";

	var userPat=new RegExp("^" + word + "(\\." + word + ")*$");

	var domainPat=new RegExp("^" + atom + "(\\." + atom +")*$");

	var matchArray=emailStr.match(emailPat);

	if (matchArray==null)
	{
		fld.focus();
		fld.select();
		alert(msg);
		return false;
	}
	var user=matchArray[1];
	var domain=matchArray[2];

	for (i=0; i<user.length; i++) {
	if (user.charCodeAt(i)>127) {
	fld.focus();
	fld.select();
	alert(msg);
	return false;
	   }
	}
	for (i=0; i<domain.length; i++) {
	if (domain.charCodeAt(i)>127) {
	fld.focus();
	fld.select();
	alert(msg);
	return false;
	   }
	}

	// See if "user" is valid 

	if (user.match(userPat)==null) {

	// user is not valid
	fld.focus();
	fld.select();
	alert(msg);
	return false;
	}

	var IPArray=domain.match(ipDomainPat);
	if (IPArray!=null) 
	{
	for (var i=1;i<=4;i++) {
	if (IPArray[i]>255) {
	fld.focus();
	fld.select();
	alert(msg);
	return false;
	   }
	}
	return true;
	}


	var atomPat=new RegExp("^" + atom + "$");
	var domArr=domain.split(".");
	var len=domArr.length;
	for (i=0;i<len;i++) {
	if (domArr[i].search(atomPat)==-1) {
	fld.focus();
	fld.select();
	alert(msg);
	return false;
	   }
	}

	if (checkTLD && domArr[domArr.length-1].length!=2 && 
	domArr[domArr.length-1].search(knownDomsPat)==-1) {
	fld.focus();
	fld.select();
	alert(msg);
	return false;
	}

	if (len<2) {
	fld.focus();
	fld.select();
	alert(msg);
	return false;
	}
	return true;
}
return true;
}

//function to Check Phone
function CheckPhone(fld1,fld2,fld3)
{
	if(fld1.value=='')
    {
		alert('Telephone number should be in xxx-xxx-xxxx format only.');
		fld1.focus();
		return false;
	}
    if(isNaN(fld1.value)==true)
    {
		alert('Telephone number could contain numeric values only.');
		fld1.focus();
		return false;
    }
    if(fld1.value.length!=3)
    {
		alert('Telephone number should be in xxx-xxx-xxxx format only.');
		fld1.focus();
		return false;
    }
    if(isNaN(fld2.value)==true)
    {
		alert('Telephone number could contain numeric values only.');
		fld2.focus();
		return false;
    }
	if(fld2.value.length!=3)
	{
		alert('Telephone number should be in xxx-xxx-xxxx format only.');
		fld2.focus();
		return false;
	}
	if(isNaN(fld3.value)==true)
	{
		alert('Telephone number could contain numeric values only.');
		fld3.focus();
		return false;
	}
	if(fld3.value.length!=4)
	{
		alert('Telephone number should be in xxx-xxx-xxxx format only.');
		fld3.focus();
		return false;
	}
	return true;
}

function checkjs()
{
	var js="yes";
	return js;
}


function UserValidation(FRMName)
{

//	alert(FRMName.ftitle.value)

	if(!IsEmpty(FRMName.ffirstname,"Please type your 'First Name' in the space provided"))
	{
		return false;
	};
	if(!IsEmpty(FRMName.flastname,"Please type your 'Last name' in the space provided"))
	{
		return false;
	};
	if(!CheckEmail(FRMName.femail,"Please type a valid 'Email address' in the space provided",0))
	{
		return false;
	};
	if(!IsEmpty(FRMName.fpassword,"Please type your 'Password' in the space provided."))
	{
		return false;
	};
	if(!IsEmpty(FRMName.fconfirm,"Please confirm your password in the space provided."))
	{
		return false;
	};

	if(FRMName.fpassword.value != FRMName.fconfirm.value)
	{
		alert("The password entered in the 'Confirm Password' field does \nnot match your password; if necessary, please re-type \nyour password and confirm in the spaces provided.")

		return false;
	};
	if(!IsEmpty(FRMName.freminder,"Please type your 'Password Reminder' in the space provided."))
	{
		return false;
	};

	if(!IsEmpty(FRMName.fjob,"Please type your 'Job title' in the space provided'"))
	{
		return false;
	};
	if(!IsEmpty(FRMName.forganisation,"Please type your 'Organisation' in the space provided"))
	{
		return false;
	};
	if(!IsEmpty(FRMName.ftel,"Please type your 'Telephone Number' in the space provided"))
	{
		return false;
	};
}

function userLoginValidate(FRMName)
{

	if(!IsEmpty(FRMName.femail,"Please enter your 'username' in the space provided."))
	{
		return false;
	};

	if(!CheckEmail(FRMName.femail,"Please type a valid 'Email address' in the space provided",0))
	{
		return false;
	};

	if(!IsEmpty(FRMName.fpassword,"Please enter your 'Password' in the space provided."))
	{
		return false;
	};

}

function CheckUrl(fld,mesg)
{
 	if(fld.value.indexOf("http://")==-1 || fld.value.indexOf(".")==-1)
 	{
		alert(mesg);
		fld.focus();
		fld.select();
 		return false;
	}
	return true;
}    


// validFileFormat=/(.gif|.GIF|.jpg|.JPG|.jpeg|.JPEG|.png|.PNG)$/;
function IsValidFileFormat(fld, validFileFormat, mesg)
{
	if(!validFileFormat.test(fld.value))
	{
		alert(mesg);
		fld.focus();
		fld.select();
		return false;
	}

	return true;
} 



function TestFileType(fileName,fileTypes)
	{


   if (!fileName) return;
   dots = fileName.split(".")

   //get the part AFTER the LAST period.

   fileType = "." + dots[dots.length-1];
    return (fileTypes.join(".").indexOf(fileType) != -1) ?true: alert("Please only upload files that end in types: \n\n" + (fileTypes.join(" .")) + "\n\nPlease select a new file and try again.");
   return false;   
}

function IsNumber(fld,mesg)
{
	reg = / /g;
	str = fld.value;
	res = str.replace(reg,"");
	reg = /\s/g;
	res = res.replace(reg,"");
	
	if(res == "" || isNaN(res))
	{
		alert(mesg);
		fld.select();
		fld.focus();
		return false;
	}		
	return true;
}

function IsFldValChanged(frm)
{
	frm.haschanged.value=1;
}

function undoNonNumValue(fld)
{
	var key;
	key	= event.keyCode;

	// 13 = Enter Key Press; 40 = (; 41 = ); 46 = .;
	if(key==13 || key==46)
	{}
	else if(key < 48 || key > 57)
	{
		window.event.returnValue=false;
	}	
}

function formatAmt(fld)
{
	reg	= / /g;
	amt	= fld.value;
	amt	= amt.replace(reg, "");
	if(amt != "")
	{
		if(amt.indexOf(".")== -1)
		{
			fld.value = amt+".00";
		}
		else
		{
			arr = amt.split(".")
			str = arr[1];
			if(str == "")
			{
				fld.value = amt+"00";
			}
			else
			{
				switch(str.length)
				{
					case 0:
						fld.value = amt+".00";
						break;
					case 1:
						fld.value = amt+"0";
						break;
				}
			}
		}
	}
}

function LimitTextArea(fld, len)
{
	str = fld.value;
	if(str.length >= len)
	{
		alert("Can not be added more words");
		window.event.returnValue=false;
	}
}