|
Server : Apache/2.4.62 System : FreeBSD fbsdweb2.web.rcn.net 14.1-RELEASE FreeBSD 14.1-RELEASE releng/14.1-n267679-10e31f0946d8 GENERIC amd64 User : www ( 80) PHP Version : 8.3.8 Disable Function : NONE Directory : /domains/tankfarm1/includes/ |
Upload File : |
function CountSymbols(s,c)
{
var i,count=0;
for(i=0;i<s.length;i++)
if(s.charAt(i)==c) count++;
return count;
}
function ParsePrice(p)
{
var state=0,s,i=0,rp="",result="";
while(i<=p.length && state>=0)
{
if(i==p.length) s='e';
else s=p.charAt(i);
switch(state)
{
case 0:
if(isInt(s))
{
rp=rp + s;
state=1;
}
else
{
if(s=='.')
{
rp=rp + s;
state=2;
}
else
{
if(s=='e') state=-2;
else state=-1;
}
}
break;
case 1:
if(isInt(s)) rp=rp + s;
else
{
if(s==',') {}
else
{
if(s=='.')
{
rp=rp + s;
state=2;
}
else
{
if(s=='e') state=-2;
else state=-1;
}
}
}
break;
case 2:
if(isInt(s)) rp=rp + s;
else
{
if(s=='e') state=-2;
else state=-1;
}
break;
}
i++;
}
if(state==-2) result=rp;
return result;
}
function ParsePhone(s)
{
var j=s.length-1,j1=3,s1="";
while(j>=0)
{
switch(j1)
{
case 3: if(isInt(s.charAt(j))&&isInt(s.charAt(j-1))&&isInt(s.charAt(j-2))&&isInt(s.charAt(j-3)))
{
s1=s.substring(j-3,j+1);
j1=2;
j=j-3;
}
break;
case 2: if(isInt(s.charAt(j))&&isInt(s.charAt(j-1))&&isInt(s.charAt(j-2)))
{
s1=s.substring(j-2,j+1)+'-'+s1;
j1=1;
j=j-2;
}
break;
case 1: if(isInt(s.charAt(j))&&isInt(s.charAt(j-1))&&isInt(s.charAt(j-2)))
{
s1=s.substring(j-2,j+1)+') '+s1;
j1=0;
}
break;
}
j=j-1;
}
s1="("+s1;
return s1;
}
//web.archive.org/web/20170320185040/http://Function/ to validate entered Date
function isDate(d)
{
var n;
if(d.length!=10) return false;
if(d.charAt(2)!='/' && d.charAt(2)!='-' || d.charAt(5)=='/' && d.charAt(5)=='-') return false;
n=d.substr(0,2);
if(!isInt(n)) return false;
if(n<1 || n>12) return false;
n=d.substr(3,2);
if(!isInt(n)) return false;
if(n<1 || n>31) return false;
n=d.substr(6,4);
if(!isInt(n)) return false;
if(n<1900) return false;
return true;
}
//web.archive.org/web/20170320185040/http://Function/ to validate entered Email
function isEmail(e)
{
if (e.length>=3 && CountSymbols(e,'@') == 1) return true;
return false;
}
//web.archive.org/web/20170320185040/http://Function/ to validate entered Floating point number
function isFloat(n)
{
var i;
if(n=="" || CountSymbols(n,'.') > 1) return false;
for(i=0;i<n.length;i++)
if(isNaN(parseInt(n.charAt(i))) && n.charAt(i)!='.') return false;
return true;
}
//web.archive.org/web/20170320185040/http://Function/ to validate entered Integer
function isInt(n)
{
var i;
if(n=="") return false;
for(i=0;i<n.length;i++)
if(isNaN(parseInt(n.charAt(i)))) return false;
return true;
}
//web.archive.org/web/20170320185040/http://Function/ to validate entered Money amount
function isMoney(m,fm)
{
fm=ParsePrice(m);
if(fm=="") return false;
return true;
}
//web.archive.org/web/20170320185040/http://Function/ to validate entered Phone
function isPhone(p,fp)
{
fp=ParsePhone(p);
if(fp=="") return false;
return true;
}
//web.archive.org/web/20170320185040/http://Function/ to validate entered URL
function isURL(u)
{
if (u.length<10 || u=="http://") return false;
return true;
}
//web.archive.org/web/20170320185040/http://Function/ to check if at least one element of radio/checkbox is checked
function scanElements(f,n)
//web.archive.org/web/20170320185040/http://Precondition:/ f - form object, n - radio/checkbox field name
//web.archive.org/web/20170320185040/http://Postcondition:/ true if at least one element is checked, false otherwise
{
var i,l,ok=false;
eval('l=f.'+n+'.length')
for(i=0;i<l;i++)
eval('if (f.'+n+'['+i+'].checked) ok=true');
return ok;
}
//web.archive.org/web/20170320185040/http://Section/ of the form validation function which takes care of multileveled conditions
counter=0; // global form elements counter
dataOK=true; // global validation variable
arrCheckedYes = new Array(); // leveled array of Yes
arrCheckedNo = new Array(); // leveled array of No
arrCheckedMark = new Array(); // leveled array of Mark
function checkData(level,letter)
//web.archive.org/web/20170320185040/http://Precondition:/ level - level of form recursion, letter - condition character
//web.archive.org/web/20170320185040/http://Postcondition:/ swapped invalid entry images, dataOK
{
eval('var f=document.'+formName);
var i,Name,Value,FormattedValue,Length,Character;
var RadioName="",CheckBoxName=""; // variables to save radio/checkbox Names
var bExpr,bRadioExpr,bCheckBoxExpr; // boolean validation Expressions
var bOther;
while(counter<f.elements.length && counter<arrType.length)
{
bExpr=false; // reset Expression and Other flag
bOther=false;
Name=f.elements[counter].name; // store form element name
Value=f.elements[counter].value; // value
Length=Name.length; // name length
Character=arrType[counter].charAt(level); // key character
if(level>0)
if(arrType[counter].charAt(level-1)!=letter) return;
switch(Character) // check key character
{
/*text*/ case 't':
bExpr=(Value!="");
break;
/*URL*/ case 'u':
bExpr=isURL(Value);
break;
/*date*/ case 'd':
bExpr=isDate(Value);
break;
/*money*/ case 'm':
bExpr=isMoney(Value,FormattedValue);
if(bExpr) f.elements[counter].value=FormattedValue;
break;
/*phone*/ case 'p':
bExpr=isPhone(Value,FormattedValue);
if(bExpr) f.elements[counter].value=FormattedValue;
break;
/*select*/ case 's':
if( arrType[counter].charAt(level+1) == 'm' ) // check for multiple
bExpr=(f.elements[i].selectedIndex!=-1);
else
bExpr=(f.elements[i].options[f.elements[i].selectedIndex].value!="");
break;
/*radio*/ case 'r':
if(Name!=RadioName) // if new radio set
{
RadioName=Name; //web.archive.org/web/20170320185040/http://save/ Name
eval('arrCheckedYes['+level+']=f.'+Name+'[0].checked'); //web.archive.org/web/20170320185040/http://check/ current Name
eval('arrCheckedNo['+level+']=f.'+Name+'[1].checked'); //web.archive.org/web/20170320185040/http://check/ next Name
bExpr=scanElements(f,Name); //web.archive.org/web/20170320185040/http://get/ Expression
bRadioExpr = bExpr; //web.archive.org/web/20170320185040/http://save/ Expression
}
else // if same radio
{
bExpr = bRadioExpr; //web.archive.org/web/20170320185040/http://restore/ Expression
}
arrCheckedMark[level] = f.elements[counter].checked; // update leveled Mark array
break;
/*checkbox*/ case 'c':
if(Name!=CheckBoxName)
{
CheckBoxName=Name;
if( arrType[counter].charAt(level+1)=='_') // check for mandatiory
bExpr=scanElements(f,Name);
else
bExpr=true;
bCheckBoxExpr=bExpr;
}
else
{
bExpr=bCheckBoxExpr;
}
arrCheckedMark[level] = f.elements[counter].checked;
break;
/*condition character*/
case 'y':
case 'n':
case 'h':
checkData(level+1, arrType[counter].charAt(level));
continue;
break;
/*not a key character*/
default:
bOther=true;
bExpr=true;
break;
}
if(!bOther) // if a key character
{
for(i=level-1; i>=0; i--) //web.archive.org/web/20170320185040/http://loop/ through leveled checked arrays
{ //web.archive.org/web/20170320185040/http://updating/ Expression
switch(arrType[counter].charAt(i))
{
case "y" :
bExpr=( !arrCheckedYes[i] || (arrCheckedYes[i] && bExpr) );
break;
case "n" :
bExpr=( !arrCheckedNo[i] || (arrCheckedNo[i] && bExpr) );
break;
case "h" :
bExpr=( !arrCheckedMark[i] || (arrCheckedMark[i] && bExpr) );
break;
}
}
if(bExpr)
MM_swapImage(Name+'Image','','http://web.archive.org/web/20170320185040/http://projects.metrostarsystems.com/{3D412E46-EE10-11D4-AF15-009027AFC2B6}/images/forms/nothing.gif',1);
else
{
MM_swapImage(Name+'Image','','http://web.archive.org/web/20170320185040/http://projects.metrostarsystems.com/{3D412E46-EE10-11D4-AF15-009027AFC2B6}/images/forms/invalid.gif',1);
if(dataOK) tagURL='#'+Name+'Anchor';
dataOK=false;
}
}
counter++;
}
if(level==0)
{
if(!dataOK) window.location=unescape(tagURL);
}
}
//web.archive.org/web/20170320185040/http://Function/ to fill the form with existing info
counter=0; //web.archive.org/web/20170320185040/http://form/ elements counter
index=0; //web.archive.org/web/20170320185040/http://filling/ arrays index
function formFill()
{
var i, j, level;
var Name, Type, Value, Length;
var Character;
var values;
eval('var f=document.'+formName);
while(counter<f.elements.length && index<arrType.length)
{
Name=f.elements[counter].name; // store form element name
Value=f.elements[counter].value; // value
Type=f.elements[counter].type;
level=0;
do
{
Character=arrType[index].charAt(level);
level++;
} while(Character=='y' || Character=='n' || Character=='h');
if(Type!="hidden" && Type!="submit" && Type!="reset" && Type!="button" && Type!="image")
{
switch(Character)
{
case 'c'://web.archive.org/web/20170320185040/http://checkbox/
case 'r':
values=arrValue[index].split(', '); // split up
j=0;
for(i=counter;i<f.elements.length && j<values.length;i++)
{
if(f.elements[i].name==Name && f.elements[i].value==values[j])
{
f.elements[i].checked=true;
j++;
}
}
break;
case 's'://web.archive.org/web/20170320185040/http://select/
values=arrValue[index].split(', ');
j=0;
for(i=0;i<f.elements[counter].options.length && j<values.length;i++)
{
if(f.elements[counter].options[i].value==values[j])
{
f.elements[counter].options[i].selected=true;
j++;
}
}
break;
default://web.archive.org/web/20170320185040/http://other/
f.elements[counter].value=arrValue[index];
break;
}//end of switch
index++;
}
counter++;
}//end of for loop
}//end of function
/*
FILE ARCHIVED ON 18:50:40 Mar 20, 2017 AND RETRIEVED FROM THE
INTERNET ARCHIVE ON 02:54:04 Sep 03, 2017.
JAVASCRIPT APPENDED BY WAYBACK MACHINE, COPYRIGHT INTERNET ARCHIVE.
ALL OTHER CONTENT MAY ALSO BE PROTECTED BY COPYRIGHT (17 U.S.C.
SECTION 108(a)(3)).
*/