<!– ############################################## –>
<!– ### !@BEGIN Page Component PAG_HED ### –>
<!– ############################################## –>
<script type=”text/JavaScript”>
<!–
//* This is an attempt to eventually pull out the file level
//* validations from the LANSA repository to be applied on client side
function validateForm()
{
var myattr=new Array();
bldAttrArray(myattr);
if(chkreqelements(myattr,’form’))
{mapValuesBack();return(true);} else {return(false);}
if(customValidations) {return(true);} else {return(false);}
}
function validateField(vfieldobj)
{
var myfieldobj=vfieldobj;
var myfieldattr=new Array();
bldFieldAttrArray(myfieldobj,myfieldattr);
if(!chkreqelements(myfieldattr,’field’)) ErrField(myfieldobj);
}
function bldAttrArray(bldattrarr)
{
var attstr=”what is in new array\n\n”;
var attnodeName=””;
var attnodeValue=””;
var k=0;
for(i=0;i<document.LANSA.elements.length;i++)
{
for(j=0;j<document.LANSA.elements[i].attributes.length;j++)
{
attnodeName=document.LANSA.elements[i].attributes[j].nodeName.toUpperCase();
if(attnodeName==”EDPX”)
{
attnodeValue=document.LANSA.elements[i].attributes[j].nodeValue;
attnodeValue=attnodeValue.toUpperCase();
k=bldattrarr.length;
bldattrarr[ k ]=document.LANSA.elements[i].id+”:”+attnodeValue;
attstr += bldattrarr[ k ]+” “;
attstr += “\n”;
}
}
}
//* remove comment bellow to see all EDPX elements in form
//*alert( attstr );
}
function bldFieldAttrArray(fieldobj,fieldattarr)
{
var fieldattobj=fieldobj;
var fieldattstr=”what is in field array\n\n”;
var fieldattnodeName=””;
var fieldattnodeValue=””;
var k=0;
for(j=0;j<fieldattobj.attributes.length;j++)
{
fieldattnodeName=fieldattobj.attributes[j].nodeName.toUpperCase();
if(fieldattnodeName==”EDPX”)
{
fieldattnodeValue=fieldattobj.attributes[j].nodeValue;
fieldattnodeValue=fieldattnodeValue.toUpperCase();
k=fieldattarr.length;
fieldattarr[ k ]=fieldattobj.id+”:”+fieldattnodeValue;
fieldattstr += fieldattarr[ k ]+” “;
}
}
fieldattstr += “\n”;
//* remove comment bellow to see all EDPX elements in form
//* alert(fieldattstr);
}
function chkreqelements(attarr,atttyp)
{
var cremsg=”The Following errors have been found: “;
//* For LANSA users Messages can be put in a browse list *NOBICP then do a merge list here
var crems00=”is required and must be entered”
var crems01=”has bad address “;
var crems02=”has invalid characters a-z A-Z “;
var crems03=”has invalid characters a-z A-Z 0-9 “;
var crems04=”is not a number “;
var crems05=”can not be a number “;
var crems06=”is invalid date “;
var crems07=”is not an acceptable range for Date of Birth “;
var crems08=”is invalid format ###-##-#### “;
var crems09=” “;
var crems10=” “;
var crems11=” “;
var crems12=” “;
var crems13=” “;
var crems14=” “;
var crems15=” “;
var crems99=”ERROR COUNT -> “;
var creid=””;
var creval=””;
var crestr=””;
var dotdot=0;
var creobj=””;
var crereq=””;
var cretyp=””;
var cretxt=””;
var errcnt=0;
var cretmp=””;
cremsg += “\n\n”;
for(i=0;i<attarr.length;i++)
{
crestr=attarr[i];
dotdot=crestr.indexOf(“:”);
creid=crestr.substr(0,dotdot);
creval=crestr.substr(dotdot+1,crestr.length-1);
crereq=creval.match(“REQ”);
creobj=document.getElementById(creid);
creobj.value=trimTrailingBlanks(creobj.value);
credesc=creobj.name;
if(creobj.title) {credesc=creobj.title;}
if(creobj.value.length == 0)
{
//* Format of message here
cretmp=credesc+” as NULL => ”
if(creval.match(“REQ”)) {errcnt=errcnt+1;cremsg +=cretmp+crems00+”\n”;}
}
else
{
//* Format of message here
cretmp=credesc+” as “+creobj.value+” => ”
//* Add new validation checks here
if(creval.match(“EML”)) {if(!emailValidator(creobj)){errcnt=errcnt+1;cremsg +=cretmp+crems01+”\n”;}}
if(creval.match(“A2Z”)) {if(!isAlpha(creobj)){errcnt=errcnt+1;cremsg +=cretmp+crems02+”\n”;}}
if(creval.match(“A29″)) {if(!isAlphanumeric(creobj)){errcnt=errcnt+1;cremsg +=cretmp+crems03+”\n”;}}
if(creval.match(“NUM”)) {if(!isNumeric(creobj)){errcnt=errcnt+1;cremsg +=cretmp+crems04+”\n”;}}
if(creval.match(“NAN”)) {if(isNumeric(creobj)){errcnt=errcnt+1;cremsg +=cretmp+crems05+”\n”;}}
if(creval.match(“DTE”)) {if(!dmyValidator(creobj)){errcnt=errcnt+1;cremsg +=cretmp+crems06+”\n”;continue}}
if(creval.match(“DOB”)) {if(!dmyValidator(creobj)){errcnt=errcnt+1;cremsg +=cretmp+crems07+”\n”;}}
if(creval.match(“SSN”)) {if(!isSSN(creobj)){errcnt=errcnt+1;cremsg +=cretmp+crems08+”\n”;}}
if(creval.match(“ZIP”)) {if(!isZipcodeUSA(creobj)){errcnt=errcnt+1;cremsg +=cretmp+crems09+”\n”;}}
if(creval.match(“ZZZ”)) {if(!dummyValidator(creobj)){errcnt=errcnt+1;cremsg +=cretmp+crems10+”\n”;}}
if(creval.match(“ZZZ”)) {if(!dummyValidator(creobj)){errcnt=errcnt+1;cremsg +=cretmp+crems11+”\n”;}}
if(creval.match(“ZZZ”)) {if(!dummyValidator(creobj)){errcnt=errcnt+1;cremsg +=cretmp+crems12+”\n”;}}
if(creval.match(“ZZZ”)) {if(!dummyValidator(creobj)){errcnt=errcnt+1;cremsg +=cretmp+crems13+”\n”;}}
if(creval.match(“ZZZ”)) {if(!dummyValidator(creobj)){errcnt=errcnt+1;cremsg +=cretmp+crems14+”\n”;}}
if(creval.match(“ZZZ”)) {if(!dummyValidator(creobj)){errcnt=errcnt+1;cremsg +=cretmp+crems15+”\n”;}}
}
}
if(errcnt!= 0)
{
if(errcnt!=1) cremsg+=”\n”+crems99+errcnt;
if(atttyp==’form’) alert( cremsg );
return(false);
}
else
{return(true);}
}
function trimTrailingBlanks(TrimtrailingblanksValue)
{trim=TrimtrailingblanksValue;
if (trim.length==0) return trim;
for (var i=trim.length-1;i>=0;i–) if (trim.substring(i,i+1) !=’ ‘) {i++;break;}
if (i<0) i=0;
trim=trim.substring(0,i);
return trim;
}
//* ==============================================
//* Validation functions — Add new functions here
//* ==============================================
function isNumeric(elem){
var numericExpression = /^[0-9]+$/;
if(elem.value.match(numericExpression)){
return true;
}else{ return false;}
}
// If the element’s string matches the regular expression it is all letters
function isAlpha(elem){
var alphaExp = /^[a-zA-Z]+$/;
if(elem.value.match(alphaExp)){
return true;
}else{ return false;}
}
// If the element’s string matches the regular expression it is numbers and letters
function isAlphanumeric(elem){
var alphaExp = /^[0-9a-zA-Z]+$/;
if(elem.value.match(alphaExp)){
return true;
}else{ return false;}
}
function lengthRestriction(elem, min, max){
var uInput = elem.value;
if(uInput.length >= min && uInput.length <= max){
return true;
}else{ return false;}
}
function emailValidator(elem){
var emailExp = /^[\w\-\.\+]+\@[a-zA-Z0-9\.\-]+\.[a-zA-z0-9]{2,4}$/;
if(elem.value.match(emailExp)){
return true;
}else{ return false;}
}
function dummyValidator(elem){
if(elem==elem){
return true;
}else{ return false;}
}
function ssnValidation(elem) {
var ssn = elem.value;
var matchArr = ssn.match();
var numDashes = ssn.split(‘-‘).length – 1;
if (matchArr == null || numDashes == 1 || (parseInt(matchArr[1],10)==0)) {return false;} else { return true;}}
function isSSN(elem){
var numericExpression = /^(\d{3})-?\d{2}-?\d{4}$/;
if(elem.value.match(numericExpression)){
return true;
}else{ return false;}
}
function isZipcodeUSA(elem)
{
var iszip = elem.value;
var numDashes = elem.value.split(‘-‘).length – 1;
var islength = elem.value.length;
if (islength == 5)
{
if(isNumeric(elem))
{
return true;
} else { return false;}
}
}
//#######################################
//### Highlight/Unhighlight Focused Input Fields
//#######################################
function focusWork(focusworkThis,focusworkEvent)
{var Event=focusworkEvent;
var This=focusworkThis;
if (Event.type==’focus’) This.style.backgroundColor=’Yellow’;
if (Event.type==’blur’)
{ This.style.backgroundColor=’White’;
validateField(This);}
}
//#######################################
//### Error Notify Red Background Fields
//#######################################
function ErrField(errfieldThis)
{ var This=errfieldThis;
This.style.backgroundColor=’Pink’;
}
function isCustom()
{
//* Put your custom specific validations here (false=fail)
if(‘a’ == ‘a’) {return(true);}
else {return false;}
}
function switchInputType(SwitchinputtypeBase,SwitchinputtypeObjectID)
{
var objectSW=document.getElementById(SwitchinputtypeObjectID);
var baseSW=SwitchinputtypeBase;
baseSW.value=objectSW.value;
var masag=’Value is/’+baseSW.value;
alert(masag);
debugAlert(baseSW);
}
function mapValuesBack()
{
//switchInputType(document.LANSA.AZFNAMEMMM,’FNAME’);
//switchInputType(document.LANSA.AZLNAMEMMM,’LNAME’);
document.LANSA.ASTDRENTRY.value=’N’;
HandleEvent(‘<RDML MERGE=”*PROCESS”>’,'<RDML MERGE=”*FUNCTION”>’);
}
//#####################################################
//### Alert to Show Object Properties
//#####################################################
function debugAlert(AlertObject)
{ var i = 0 ; a = “”;
// list all window properties in a variable
for ( property in AlertObject )
{a += ( i ) + ” ” + property + “…”;
i ++;
if(i % 5 == 0) a += “\n”;
}
// display the window properties list
alert( a );
}
//–>
</script>
<!– ############################################## –>
<!– ### !@END Page Component PAG_HED ### –>
<!– ############################################## –>