function strReplace(str1, str2, str3) { 
 while(str1.indexOf(str2) != -1) 
 {
   str1 = str1.replace(str2, str3);
 } 
 return str1;     
} 

function ValEmail(str) {
if (/^\w+([\.-]?\w+)*@\w+([\.-]?\w+)*(\.\w{2,3})+$/.test(str)){
return (true);
}
return (false);

}

function isDigit(theDigit) 
{ 
	var digitArray = new Array('0','1','2','3','4','5','6','7','8','9'),j; 

	for	(j = 0; j < digitArray.length; j++) 
	{
		if (theDigit == digitArray[j]) 
			return true 
	} 
	return false 

} 

/*************************************************************************/ 
/*Function name :isPositiveInteger(theString) */ 
/*Usage of this function :test for an +ve integer */ 
/*Input parameter required:thedata=string for test whether is +ve integer*/ 
/*Return value :if is +ve integer,return true */ 
/* else return false */ 
/*function require :isDigit */ 
/*************************************************************************/ 
function isPositiveInteger(theString) 
{ 
	var theData = new String(theString) 

	if (!isDigit(theData.charAt(0))) 
		if (!(theData.charAt(0)== '+')) 
			return false 

		for (var i = 1; i < theData.length; i++) 
			if (!isDigit(theData.charAt(i))) 
				return false 
		return true 
} 

/**********************************************************************/ 
/*Function name :isDate(s,f) */ 
/*Usage of this function :To check s is a valid format */ 
/*Input parameter required:s=input string */ 
/* f=input string format */ 
/* =1,in mm/dd/yyyy format */ 
/* else in dd/mm/yyyy */ 
/*Return value :if is a valid date return 1 */ 
/* else return 0 */ 
/*Function required :isPositiveInteger() */ 
/**********************************************************************/ 
function isDate(s,f) {
	var a1=s.split("/"); 
	var a2=s.split("-"); 
	var e=true; 
	if ((a1.length!=3) && (a2.length!=3)) 
	{ 
		e=false; 
	} 
	else 
	{
		if (a1.length==3) 
			var na=a1; 
		if (a2.length==3) 
			var na=a2; 
		if (isPositiveInteger(na[0]) && isPositiveInteger(na[1]) && isPositiveInteger(na[2])) 
		{
			if (f==1) 
			{
				var d=na[1],m=na[0]; 
			} 
			else 
			{
				var d=na[0],m=na[1]; 
			} 
			var y=na[2]; 
			if (((e) && (y<1000)||y.length>4)) 
				e=false 
			if (e) 
			{ 
				v=new Date(m+"/"+d+"/"+y); 
				if (v.getMonth()!=m-1) 
					e=false; 
			} 
		} 
		else 
		{ 
			e=false; 
		} 
	} 
	return e 
}

function checkDate(v) 
{ 
	var s=v.a.value; 
	if (isDate(s,0)) //dd/mm/yyyy format 
		alert("The inputted date value is valid!"); 
	else 
		alert("The inputted date value is not valid!"); 
	return false; 
} 

function NewWindow(p)
{
	OpenWin = this.open('popup.asp?popup='+p, "CtrlWindow", "width=390,height=500,toolbar=no,menubar=no,location=no,scrollbars=1,resizable=yes");
}

function validateform(){
	var res = false;
	var i
	var obj
	var ValOfInput = '';
	var objname = '';

	for (i=0;i<document.forms[0].elements.length;i++) {


		obj = document.forms[0].elements[i];

		ValOfInput = document.forms[0].elements[i].value;
		ValOfInput = ValOfInput.replace(' ', '');
		
		if (obj.className == 'frmString') {
			if (ValOfInput=='')
			{
				alert("All fields in bold are required");
				document.forms[0].elements[i].focus();
				return false;
			}
		}
		
		
		if (obj.className == 'frmInteger') {
			if (ValOfInput==''){
				alert("All fields in bold are required");
				document.forms[0].elements[i].focus();
				return false;
			}
			else
			{
				if ((isNaN(ValOfInput)) | (ValOfInput.indexOf('.',0)!=-1)){
					alert("You should enter an integer number");
					document.forms[0].elements[i].focus();
					return false;
				}
			}
		}

		if (obj.className == 'frmIntegernr') {
			if (ValOfInput!=''){
				if ((isNaN(ValOfInput)) | (ValOfInput.indexOf('.',0)!=-1)){
					alert("You should enter an integer number");
					document.forms[0].elements[i].focus();
					return false;
				}
			
			}
		}

		if (obj.className == 'frmNumber') {
			if (ValOfInput==''){
				alert("All fields in bold are required");
				document.forms[0].elements[i].focus();
				return false;
			}
			else
			{
				if (isNaN(ValOfInput)) {
					alert("You should enter a number");
					document.forms[0].elements[i].focus();
					return false;
				}
			}
		}

		if (obj.className == 'frmNumbernr') {
			if (ValOfInput!=''){
				if (isNaN(ValOfInput)) {
					alert("You should enter a number");
					document.forms[0].elements[i].focus();
					return false;
				}
			}
		}

		if (obj.className == 'frmEmail') {
			if (ValOfInput==''){
				alert("All fields in bold are required");
				document.forms[0].elements[i].focus();
				return false;
			}
			else{
				if (ValEmail(ValOfInput)==false) {
					alert("You should enter a valid email");
					document.forms[0].elements[i].focus();
					return false;
				}
			}			
		}


		if (obj.className == 'frmEmailnr') {
			if (ValOfInput!=''){
				if (ValEmail(ValOfInput)==false) {
					alert("You should enter a valid email");
					document.forms[0].elements[i].focus();
					return false;
				}
			}
		}

		if (obj.className == 'frmDate') {
			if (ValOfInput==''){
				alert("All fields in bold are required");
				document.forms[0].elements[i].focus();
				return false;
			}
			else{
				if (isDate(ValOfInput,1)==false) {
					alert("You should enter a valid date");
					document.forms[0].elements[i].focus();
					return false;
				}
			}
		}
		if (obj.className == 'frmDatenr') {
			if (ValOfInput!=''){
				if (isDate(ValOfInput,1)==false) {
					alert("You should enter a valid date");
					document.forms[0].elements[i].focus();
					return false;
				}
			}
		}		
	}
	return true;
}