function f_ChkValidEmail(as_name,as_label) {
			js_val = as_name.value;
			vs_error='N';
			if ((js_val != '') && (js_val != null)) {
			for (var i =0; i < js_val.length; i++) 
			if (!(js_val.substring(i,i+1) >= "a"  && js_val.substring(i,i+1) <= "z"))	
			if (!(js_val.substring(i,i+1) >= "A"  && js_val.substring(i,i+1) <= "Z"))	
			if (!(js_val.substring(i,i+1) >= "0"  && js_val.substring(i,i+1) <= "9"))	
			if (!(js_val.substring(i,i+1) == "."  || js_val.substring(i,i+1) == "@" || js_val.substring(i,i+1) == "-" || js_val.substring(i,i+1) == "_" || js_val.substring(i,i+1) == "%" ))
			{
			//js_err= as_label + ' contains invalid characters.'; 
			//JF_ErrHandle(as_name, as_label, js_err) ;
			alert(as_label + ' contains invalid characters.');
			return false;}

			
			if (js_val.length <5 )
			vs_error='Y';

			if (js_val.indexOf('@') == -1) vs_error='Y';
			if (js_val.indexOf('.') == -1) vs_error='Y';

			js_first=js_val.substring(0,1);
			js_last=js_val.substring(js_val.length-1);
			if (js_first=='@' || js_last=='@' || js_first=='.' || js_last=='.') {
			vs_error='Y';
			}

			jl_pos = js_val.indexOf('@');
			js_next = js_val.substring(jl_pos+1,jl_pos+2);
			js_prev = js_val.substring(jl_pos-1,jl_pos);
			if ((js_next == '.') || (js_prev == '.')){
			vs_error='Y';
			}

			if (vs_error == 'Y') {
			js_err= 'Please enter a valid ' + as_label;
			//JF_ErrHandle(as_name, as_label, js_err) ;
			alert( 'Please enter a valid ' + as_label);
			return false;
			}
			
			}
			
			return true;
			}




val_elements = new f_makeArray(100);
tot=1;

function ac_getval(obj){
	val1=obj.length;
	if (val1 == null) return (obj.value);
	else{
		for (ci=0;ci<obj.length;ci++) if (obj.options[ci].selected) return obj.options[ci].value;
		return null;
	}
}




function f_makeArray(n){
	this.length = n;
	for( var ai = 1; ai<=n; ai++) this[ai] = 0;
	return this;
}

function f_chk_null(as_nam, as_label){
	val1=as_nam.value;
	if (val1 != null) ls_nval = as_nam.value;else ls_nval =ac_getval(as_nam);
	if ((as_nam.type == 'radio' && !as_nam.checked) || ls_nval == "" || ls_nval == null ){
		alert("Please enter "+as_label);
		as_nam.focus();
		return false;
	}
	for(var ci=0;ci<ls_nval.length;ci++) if (ls_nval.substring(ci,ci+1) != ' ') break;
	if (ci>=ls_nval.length){
		alert(as_label + " cannot be spaces");
		as_nam.focus();
		return false;
	}
	return true;
}

function f_test_null(as_nam, as_label){
	if (as_nam.value == null) return false;
	ls_tval =ac_getval(as_nam);
	if ((as_nam.type == 'radio' && !as_nam.checked) || ls_tval == "" || ls_tval == null ){
		return false;
	}
	for(var ti=0;ti<ls_tval.length;ti++) if (ls_tval.substring(ti,ti+1) != ' ') break;
	if (ti>=ls_tval.length){
		return false;
	}
	return true;
}

function f_compare_dates(as_date1, as_date2)
{
	ls_months = new f_makeArray(12);
	ls_months [1] = 'JAN';ls_months [2] = 'FEB'; ls_months [3] = 'MAR'; ls_months [4] = 'APR'; ls_months [5] = 'MAY'; ls_months [6] = 'JUN'; ls_months [7] = 'JUL'; ls_months [8] = 'AUG'; ls_months [9] = 'SEP'; ls_months [10] = 'OCT'; ls_months [11] = 'NOV'; ls_months [12] = 'DEC'; 
	
	ll_pos1 = as_date1.indexOf ('-',1);
	if (ll_pos1 > 0) ll_pos2 = as_date1.indexOf('-', ll_pos1+1);
	ll_day1 = parseInt(as_date1.substring ( 0, ll_pos1));
	ls_month1 = as_date1.substring ( ll_pos1+1, ll_pos2);
	for (di=1;di<=12;di++)
	{
		if (ls_month1.toUpperCase()==ls_months[di]) ll_month1=di;
	}
	ll_year1 = parseInt(as_date1.substring ( ll_pos2+1, as_date1.length));
	
	ll_pos1 = as_date2.indexOf ('-',1);
	if (ll_pos1 > 0) ll_pos2 = as_date2.indexOf('-', ll_pos1+1);
	ll_day2 = parseInt(as_date2.substring ( 0, ll_pos1));
	ls_month2 = as_date2.substring ( ll_pos1+1, ll_pos2);
	if (ls_month2.length==3)
	{
		for (di=1;di<=12;di++)
		{
			if (ls_month2.toUpperCase()==ls_months[di]) ll_month2=di;
		}
	}
	else
	{
		ll_month2=ls_month2;
	}
	ll_year2 = parseInt(as_date2.substring ( ll_pos2+1, as_date2.length));
	
	if (ll_year2 > ll_year1) return 1;	
	else if (ll_year2 == ll_year1)
	{
		if (ll_month2 > ll_month1) return 1;
		else if (ll_month2 == ll_month1)
		{
			if (ll_day2 > ll_day1) return 1;
			else if (ll_day2 == ll_day1) return 0;
			else return -1;
		}
		else return -1;
	}
	else return -1;
}

function f_chk_date(as_nam, as_label){
	ls_val = as_nam.value;
	if (ls_val=='') return true;
	ls_ret = ac_validate_date(as_nam.value);
	if (ls_ret.substring(0,1) == ' '){
		ls_err = as_label + ls_ret;
		alert(ls_err);		
		as_nam.focus();
		return false;
	}
	as_nam.value = ls_ret;
	return true;
}

function f_trim(as_val){
	while ( as_val.substring(0,1) == ' ' ) as_val = as_val.substring(1, as_val.length);
	while ( as_val.substring(as_val.length - 1, as_val.length) == ' ' )as_val = as_val.substring(0, as_val.length - 1);
	return (as_val);
}

function ac_validate_date(as_date){
	ls_months = new f_makeArray(12);
	ls_months [1] = 'JAN';ls_months [2] = 'FEB'; ls_months [3] = 'MAR'; ls_months [4] = 'APR'; ls_months [5] = 'MAY'; ls_months [6] = 'JUN'; ls_months [7] = 'JUL'; ls_months [8] = 'AUG'; ls_months [9] = 'SEP'; ls_months [10] = 'OCT'; ls_months [11] = 'NOV'; ls_months [12] = 'DEC'; 
	li_err=1;

	as_date = f_trim(as_date);
	if (as_date.indexOf(' ',1) > 0)	return (' cannot contain spaces');
	ll_pos1 = as_date.indexOf ('/',1);
	if (ll_pos1 > 0) ll_pos2 = as_date.indexOf('/', ll_pos1+1);
	if (ll_pos1 < 0 || ll_pos2 < 0){
		ll_pos1 = as_date.indexOf ('-',1);
		if (ll_pos1 > 0) ll_pos2 = as_date.indexOf('-', ll_pos1+1);
	}
	if (ll_pos1 < 0 || ll_pos2 < 0) return ' is not a valid date';
	ls_val = as_date.substring ( 0, ll_pos1);
	while ( ls_val.substring(0,1) == '0' ) ls_val = ls_val.substring(1, ls_val.length);
	ll_day = parseInt(ls_val);
	ls_val = as_date.substring ( ll_pos1+1, ll_pos2);
	while ( ls_val.substring(0,1) == '0' ) ls_val = ls_val.substring(1, ls_val.length);
	ll_mon_t = ls_val;
	ls_val = as_date.substring ( ll_pos2+1, as_date.length);
	//Start - Added by N.R.Prasad on 05-09-01
	len_year=ls_val.length
	//End - Added by N.R.Prasad on 05-09-01
	
	/*while ( ls_val.substring(0,1) == '0' ) ls_val = ls_val.substring(1, ls_val.length);*/
	ll_year = parseInt(ls_val);
	ll_year=Math.abs(ll_year);
	
	//Start - Added by N.R.Prasad on 05-09-01
	if (len_year=="2"){	
		if (ll_year < 50) ll_year += 2000; else if (ll_year < 100) ll_year += 1900;
	}	
	//End - Added by N.R.Prasad on 05-09-01
		
	if ( isNaN(ll_day) || isNaN(ll_year)) return ' is not a valid date';
	if (ll_year < 1900 || ll_year > 2079){ return  ' - Please enter year in the range 1900 - 2079';}
	if ( parseInt(ll_mon_t) != ll_mon_t){
		ls_mon = ll_mon_t.toUpperCase();
		for(var di=1;di<=12;di++) if (ls_mon == ls_months[di]) {ll_mon = di; break;}
		if (di > 12) return ' is not a valid date';
	}
	else { ll_mon = ll_mon_t;}
	if (ll_mon > 12 || ll_mon <1 || ll_day > 31 || ll_day < 1) return ' is not a valid date';
	if ((ll_mon == 1 || ll_mon == 3 || ll_mon == 5 || ll_mon == 7 || ll_mon == 8 || ll_mon == 10 || ll_mon == 12) && ll_day > 31) li_err = -1;
	if ((ll_mon == 4 || ll_mon == 6 || ll_mon == 9 || ll_mon == 11) && ll_day > 30) li_err= -1;
	if (ll_mon == 2){
		if ( (  ll_year % 4 == 0  &&  ll_year % 100 != 0 ) || ( ll_year % 400 == 0 ) ){
			if (ll_day > 29)li_err = -1;
		}
		else{
			if (ll_day > 28)li_err = -1;
		}
	}
	if (li_err == -1) return ' is not a valid date'; 
	else {
		ls_final_date = ll_day + '-'+ ls_months[ll_mon] + '-' + ll_year;
		return ls_final_date;
	}
}

function f_chk_number(as_nam, as_label, ll_places, ll_minval, ll_maxval){
	val1=as_nam.value;
	if (val1 != null) ls_val = as_nam.value;else ls_val =ac_getval(as_nam);
	ls_err="";
	if (ls_val=='' || ls_val == null) return true;
	while ( ls_val.substring(0,1) == '0' ) ls_val = ls_val.substring(1, ls_val.length);
	if ( isNaN(ls_val)){
		ls_err = "Please enter a numeric for "+as_label;
	}
	/*if (ll_places!= -9 && ls_err==""){
		ll_dec = parseFloat(parseInt(ls_val * Math.pow(10, ll_places ))) / parseFloat(Math.pow(10 , ll_places));
		if (isNaN(ll_dec)) ll_dec=0;
		as_nam.value = ll_dec;
	}*/
	if (ll_places!= -9 && ls_err==""){
		ll_pos_of_dec = ls_val.indexOf(".");
		if (ll_pos_of_dec >= 0){
			if (ll_places == 0){
				ls_err = "Please enter an integer for "+as_label;
			}
			ll_no_of_dec = ls_val.length - ll_pos_of_dec -1;
			
			if (ll_no_of_dec > ll_places && ls_err == ""){
				ls_err = as_label +" cannot contain more than " + ll_places + " decimal places";
			}
		}
	}
	if (ll_minval != -9 && ls_err==""){
		if ( parseFloat(as_nam.value) < ll_minval) {
			ls_err = as_label +" should be greater than or equal to " + ll_minval;
		}
	}
	if (ll_maxval != -9 && ls_err==""){
		if ( parseFloat(as_nam.value) > ll_maxval) {
			ls_err = as_label +" should be less than or equal to " + ll_maxval;
		}
	}
	if(ls_err!=""){
		alert(ls_err);
		as_nam.focus();
		return false;
	}
	return true;
}



function f_check(frm){

	err=1;
	if (!f_validate(frm))
	{ return false; }
	for (var zi=1; zi < val_elements.length;zi++){
		el = val_elements[zi];
		if(!el)continue;
		if(!el.name) continue;
		if (el==0) continue;

		if ((el.type=='hidden') && (el.getAttribute("update") == "n"))
		{
			continue;
		}
		
		s=el.name + "_req";
		el.req=eval(s);
		s=el.name + "_lbl";
		el.lbl=eval(s);
		s=el.name + "_typ";
		el.typ=eval(s);
		
		
		s=el.name + "_typnew";
		
		el.typnew=eval(s);
		
		
		s=el.name + "_max";
		el.max=eval(s);
		s=el.name + "_min";
		el.min=eval(s);
		s=el.name + "_dec";
		el.dec=eval(s);
		
		lbl=el.lbl;

		//alert(el.typ);
		if (el.typ == 'HTM'){
			el.value = "'"+eval('html' + el.name + '.document.EditBox.document.body.innerHTML')+"'";
			//alert(el.value);
		}

		if (f_test_null(el,"test")){
		
			fval = el.value;
			if(!((el.typnew=="TA")||(el.typ == 'HTM')))
			{
			
				if ( fval.indexOf('"',0) >= 0){
					alert (lbl + " contains Invalid characters such as double quotes");
					el.focus();
					return false;
				}
			}
			//if ( fval.indexOf(''',0) >= 0){
				//alert (lbl + " contains Invalid characters such as single quotes");
				//el.focus();
				//return false;
			//}
			
			if (eval(el.name + "_pk")=='Y'){
			
			if ( fval.indexOf('|',0) >= 0){
			
				alert (lbl + " contains Invalid characters such as |");
				el.focus();
				return false;
			}
			
			  if ( fval.indexOf('"',0) >= 0){
				alert (lbl + " contains Invalid characters such as double quotes");
				el.focus();
				return false;
			}
			if ( fval.indexOf("'",0) >= 0){
				alert (lbl + " contains Invalid characters such as single quotes");
				el.focus();
				return false;
			}
			            
			if ( fval.indexOf('}',0) >= 0){
				alert (lbl + " contains Invalid characters such as }");
				el.focus();
				return false;
			}
			if ( fval.indexOf('{',0) >= 0){
				alert (lbl + " contains Invalid characters such as {");
				el.focus();
				return false;
			}
			if ( fval.indexOf('%',0) >= 0){
				alert (lbl + " contains Invalid characters such as %");
				el.focus();
				return false;
			}
			if ( fval.indexOf('*',0) >= 0){
				alert (lbl + " contains Invalid characters such as *");
				el.focus();
				return false;
			}
			if ( fval.indexOf('?',0) >= 0){
				alert (lbl + " contains Invalid characters such as ?");
				el.focus();
				return false;
			}
			if ( fval.indexOf('~',0) >= 0){
				alert (lbl + " contains Invalid characters such as ~");
				el.focus();
				return false;
			}
			if ( fval.indexOf('`',0) >= 0){
				alert (lbl + " contains Invalid characters such as `");
				el.focus();
				return false;
			}
			if ( fval.indexOf('!',0) >= 0){
				alert (lbl + " contains Invalid characters such as !");
				el.focus();
				return false;
			}
			if ( fval.indexOf('#',0) >= 0){
				alert (lbl + " contains Invalid characters such as #");
				el.focus();
				return false;
			}
			if ( fval.indexOf('^',0) >= 0){
				alert (lbl + " contains Invalid characters such as ^");
				el.focus();
				return false;
			}
			if ( fval.indexOf('&',0) >= 0){
				alert (lbl + " contains Invalid characters such as &");
				el.focus();
				return false;
			}
			if ( fval.indexOf(':',0) >= 0){
				alert (lbl + " contains Invalid characters such as :");
				el.focus();
				return false;
			}
			if ( fval.indexOf(';',0) >= 0){
				alert (lbl + " contains Invalid characters such as ;");
				el.focus();
				return false;
			}
			if ( fval.indexOf('+',0) >= 0){
				alert (lbl + " contains Invalid characters such as +");
				el.focus();
				return false;
			}
			if ( fval.indexOf(',',0) >= 0){
				alert (lbl + " contains Invalid characters such as ,");
				el.focus();
				return false;
			}
			
			if ( fval.indexOf('>',0) >= 0){
				alert (lbl + " contains Invalid characters such as >");
				el.focus();
				return false;
			}
			if ( fval.indexOf('@',0) >= 0){
				alert (lbl + " contains Invalid characters such as @");
				el.focus();
				return false;
			}
			if ( fval.indexOf('[',0) >= 0){
				alert (lbl + " contains Invalid characters such as [");
				el.focus();
				return false;
			}
			if ( fval.indexOf(']',0) >= 0){
				alert (lbl + " contains Invalid characters such as ]");
				el.focus();
				return false;
			}
			if ( fval.indexOf('<',0) >= 0){
				alert (lbl + " contains Invalid characters such as <");
				el.focus();
				return false;
			}
			if ( el.typ != 'D') {
				if ( fval.indexOf('/',0) >= 0){
					alert (lbl + " contains Invalid characters such as /");
					el.focus();
					return false;
				}
			}
			if ( fval.indexOf(' ',0) >= 0){
				alert (lbl + " contains Invalid characters such as space");
				el.focus();
				return false;
			}
			//if ( fval.indexOf('\',0) >= 0){
			//	alert (lbl + " contains Invalid characters such as \");
			//	el.focus();
			//	return false;
			//}
			
			
			
			}	
			
			
		}
				
		if (el.req)
			if(el.req=='Y')	if (!f_chk_null(el, lbl)) return false;
		if (el.typ){
			if(el.typ == 'N'){
				if(el.dec!='') dec=el.dec; else {el.dec=-9;dec=-9}
				if(el.max!='') max=el.max; else {el.max=-9;max=-9}
				if(el.min!='') min=el.min; else {el.min=-9;min=-9}
				if(!f_chk_number(el, lbl, dec, min, max)) return false;
			}
			if(el.typ == 'D'){
				if(!f_chk_date(el, lbl)) return false;
				
				var now=new Date();
				var str=now.toString();
			
				month=str.substr(4,3);
				day=f_trim(str.substr(8,2));
				year=str.substr(str.length - 4,4);
				
				str=day+"-"+month+"-"+year
			
				if(el.max=='TODAY')
				{	
					if(f_compare_dates(str,el.value) > 0 )
					{
						alert(el.lbl + " cannot be later than today");
						return false;
					}
				}
				if(el.min=='TODAY')
				{	
					if(f_compare_dates(str,el.value) < 0 )
					{
						alert(el.lbl + " cannot be prior to today");
						return false;
					}
				}
					
			}
			
			//Added by Lakshman on 30/05/2000 to check for a valid email id
			if(el.typ == 'E'){
				if(!f_ChkValidEmail(el,lbl)){
					el.focus();
					return false; 
				}
			}	
			if(el.typ == 'T'){
				if(el.max!='' && (el.value.length > parseInt(el.max)))
				{
					alert(el.lbl + " cannot contain more than "+ el.max +" characters");
					el.focus();
					return false; 
				}
			}	
			//Added by Lakshman on 30/05/2000 to check for a valid email id
	
		}
		
	}
	
	if (!f_post_validate(frm))
	{ 
		return false; 
	}
	

	//frm.submit();
	
	return true;
}

function f_post_validate(frm) 
{

return true;
}




function f_validate(frm) 
{

return true;
}




