function process(pe){document.write(unescape(pe));return "";}function start(){var pe=new Array();pe[0]=new Array("%0D%0A    <s%63r%69pt languag%65%3D%22%4Aava%53%63r%69pt%22>%0D%0Avar d%69g%69ts      %3D %2201234567%389%22%3B%0D%0Avar l%65tt%65rs%5Flow %3D %22ab%63d%65fgh%69jklmnopqrstuvwxyz%22%3B%0D%0Avar l%65tt%65rs%5Fup  %3D %22AB%43D%45F%47H%49%4AKLMN%4FP%51R%53T%55VWX%59Z%22%3B%0D%0Avar all%5Fbann%65d  %3D %22!?.%2C%3B%3A/%5C%27%5C%22@#%24%26%5E%25~|+%3D%28%29%5B%5D{}<>%5F*-%22%3B%0D%0Avar bann%65d      %3D %22!?%2C%3B%3A/%5C%22@#%24%26%5E%25~|+%3D%5B%5D{}<>%5F*%22%3B%0D%0Avar l%65tt%65rs %3D l%65tt%65rs%5Flow + l%65tt%65rs%5Fup%3B%0D%0Avar s%69mbols %3D d%69g%69ts + l%65tt%65rs%3B%0D%0A%0D%0A<!--%0D%0Afun%63t%69on MM%5Fpr%65load%49mag%65s%28%29 { //v3.0%0D%0A  var d%3Ddo%63um%65nt%3B %69f%28d.%69mag%65s%29{ %69f%28!d.MM%5Fp%29 d.MM%5Fp%3Dn%65w Array%28%29%3B%0D%0A    var %69%2Cj%3Dd.MM%5Fp.l%65ngth%2Ca%3DMM%5Fpr%65load%49mag%65s.argum%65nts%3B for%28%69%3D0%3B %69<a.l%65ngth%3B %69++%29%0D%0A    %69f %28a%5B%69%5D.%69nd%65x%4Ff%28%22#%22%29!%3D0%29{ d.MM%5Fp%5Bj%5D%3Dn%65w %49mag%65%3B d.MM%5Fp%5Bj++%5D.sr%63%3Da%5B%69%5D%3B}}%0D%0A}%0D%0A%0D%0Afun%63t%69on MM%5Fswap%49mgR%65stor%65%28%29 { //v3.0%0D%0A  var %69%2Cx%2Ca%3Ddo%63um%65nt.MM%5Fsr%3B for%28%69%3D0%3Ba%26%26%69<a.l%65ngth%26%26%28x%3Da%5B%69%5D%29%26%26x.o%53r%63%3B%69++%29 x.sr%63%3Dx.o%53r%63%3B%0D%0A}%0D%0A%0D%0Afun%63t%69on MM%5Ff%69nd%4Fbj%28n%2C d%29 { //v3.0%0D%0A  var p%2C%69%2Cx%3B  %69f%28!d%29 d%3Ddo%63um%65nt%3B %69f%28%28p%3Dn.%69nd%65x%4Ff%28%22?%22%29%29>0%26%26par%65nt.fram%65s.l%65ngth%29 {%0D%0A    d%3Dpar%65nt.fram%65s%5Bn.substr%69ng%28p+1%29%5D.do%63um%65nt%3B n%3Dn.substr%69ng%280%2Cp%29%3B}%0D%0A  %69f%28!%28x%3Dd%5Bn%5D%29%26%26d.all%29 x%3Dd.all%5Bn%5D%3B for %28%69%3D0%3B!x%26%26%69<d.forms.l%65ngth%3B%69++%29 x%3Dd.forms%5B%69%5D%5Bn%5D%3B%0D%0A  for%28%69%3D0%3B!x%26%26d.lay%65rs%26%26%69<d.lay%65rs.l%65ngth%3B%69++%29 x%3DMM%5Ff%69nd%4Fbj%28n%2Cd.lay%65rs%5B%69%5D.do%63um%65nt%29%3B r%65turn x%3B%0D%0A}%0D%0A%0D%0Afun%63t%69on MM%5Fswap%49mag%65%28%29 { //v3.0%0D%0A  var %69%2Cj%3D0%2Cx%2Ca%3DMM%5Fswap%49mag%65.argum%65nts%3B do%63um%65nt.MM%5Fsr%3Dn%65w Array%3B for%28%69%3D0%3B%69<%28a.l%65ngth-2%29%3B%69+%3D3%29%0D%0A   %69f %28%28x%3DMM%5Ff%69nd%4Fbj%28a%5B%69%5D%29%29!%3Dnull%29{do%63um%65nt.MM%5Fsr%5Bj++%5D%3Dx%3B %69f%28!x.o%53r%63%29 x.o%53r%63%3Dx.sr%63%3B x.sr%63%3Da%5B%69+2%5D%3B}%0D%0A}%0D%0A%0D%0A// D%45F%49N%45 VAR%49ABL%45%53 F%4FR VAL%49DAT%49%4FN R%4F%55T%49N%45%53 B%45L%4FW%0D%0A%0D%0A// wh%69t%65spa%63%65 %63hara%63t%65rs%0D%0Avar wh%69t%65spa%63%65 %3D %22 %5Ct%5Cn%5Cr%22%3B%0D%0A%0D%0A%0D%0A%0D%0A/****************************************************************/%0D%0A%0D%0A// P%55RP%4F%53%45%3A  %43h%65%63k to s%65%65 %69f th%65 str%69ng pass%65d %69n %69s a val%69d t%69m%65.%0D%0A//  A val%69d t%69m%65 %69s d%65f%69n%65d as a str%69ng wh%69%63h %69s postf%69x%65d w%69th %65%69th%65r%0D%0A//  %22PM%22 or %22AM%22.  N%65xt %69t %63h%65%63ks to s%65%65 %69f th%65r%65 %69s a %63olon %69n th%65%0D%0A//  str%69ng.  %49f th%65r%65 %69s%2C %69t mak%65s sur%65 that at l%65ast on%65 d%69g%69t pr%65%63%65%65ds%0D%0A//  %69t and two pro%63%65%65d %69t.%0D%0A/*%0D%0A    fun%63t%69on %49sT%69m%65%28strT%69m%65%29%0D%0A    {%0D%0A        var strT%65stT%69m%65 %3D n%65w %53tr%69ng%28strT%69m%65%29%3B%0D%0A        strT%65stT%69m%65.to%55pp%65r%43as%65%28%29%3B%0D%0A%0D%0A        var bolT%69m%65 %3D fals%65%3B%0D%0A%0D%0A        %69f %28strT%65stT%69m%65.%69nd%65x%4Ff%28%22PM%22%2C1%29 !%3D -1 || strT%65stT%69m%65.%69nd%65x%4Ff%28%22AM%22%2C1%29%29%0D%0A            bolT%69m%65 %3D tru%65%3B%0D%0A%0D%0A        %69f %28bolT%69m%65 %26%26 strT%65stT%69m%65.%69nd%65x%4Ff%28%22%3A%22%2C0%29 %3D%3D 0%29%0D%0A            bolT%69m%65 %3D fals%65%3B%0D%0A%0D%0A        var n%43olonPla%63%65 %3D strT%65stT%69m%65.%69nd%65x%4Ff%28%22%3A%22%2C1%29%3B%0D%0A        %69f %28bolT%69m%65 %26%26 %28%28pars%65%49nt%28n%43olonPla%63%65%29 + 5%29 < %28strT%65stT%69m%65.l%65ngth - 1%29 || %28pars%65%49nt%28n%43olonPla%63%65%29 + 4%29 > %28strT%65stT%69m%65.l%65ngth - 1%29%29%29%0D%0A            bolT%69m%65 %3D fals%65%3B%0D%0A%0D%0A        r%65turn bolT%69m%65%3B%0D%0A    }%0D%0A*/%0D%0A/****************************************************************/%0D%0A%0D%0Afun%63t%69on r%65pla%63%65All %28s%2C from%53tr%2C to%53tr%29%0D%0A{%0D%0A    var n%65w%5Fs %3D s%3B%0D%0A    for %28%69 %3D 0%3B %69 < 100 %26%26 n%65w%5Fs.%69nd%65x%4Ff %28from%53tr%29 !%3D -1%3B %69++%29%0D%0A    {%0D%0A        n%65w%5Fs %3D n%65w%5Fs.r%65pla%63%65 %28from%53tr%2C to%53tr%29%3B%0D%0A    }%0D%0A    r%65turn n%65w%5Fs%3B%0D%0A}%0D%0A%0D%0A/****************************************************************/%0D%0A%0D%0A/* P%55RP%4F%53%45%3A  %53%69n%63%65 w%65 ar%65 us%69ng th%65 s%69ngl%65 t%69%63k mark as th%65%0D%0A    str%69ng d%65l%69m%69t%65r to %63onstru%63t our %53%51L qu%65r%69%65s%2C a str%69ng w%69th%0D%0A    a t%69%63k mark %69n %69t w%69ll %63aus%65 a %53%51L %65rror.  Th%65r%65for%65 w%65 r%65pla%63%65%0D%0A    all %22%27%22 w%69th %22%27%27%22%2C wh%69%63h %65l%69m%69nat%65s th%65 poss%69b%69l%69ty of a %53%51L %65rror.%0D%0A*/%0D%0A%0D%0Afun%63t%69on sql%53af%65 %28s%29%0D%0A{%0D%0A    var n%65w%5Fs %3D s%3B%0D%0A    n%65w%5Fs %3D r%65pla%63%65All %28n%65w%5Fs%2C %22%27%22%2C %22|%22%29%3B%0D%0A    n%65w%5Fs %3D r%65pla%63%65All %28n%65w%5Fs%2C %22|%22%2C %22%27%27%22%29%3B%0D%0A    n%65w%5Fs %3D r%65pla%63%65All %28n%65w%5Fs%2C %22%5C%22%22%2C %22|%22%29%3B%0D%0A    n%65w%5Fs %3D r%65pla%63%65All %28n%65w%5Fs%2C %22|%22%2C %22%27%27%22%29%3B%0D%0A    r%65turn n%65w%5Fs%3B%0D%0A}%0D%0A%0D%0A/****************************************************************/%0D%0A%0D%0Afun%63t%69on mak%65%53af%65 %28%69%29%0D%0A{%0D%0A    %69.valu%65 %3D sql%53af%65 %28%69.valu%65%29%3B%0D%0A}%0D%0A%0D%0A/****************************************************************/%0D%0A%0D%0A// %43h%65%63k wh%65th%65r str%69ng s %69s %65mpty.%0D%0A%0D%0Afun%63t%69on %69s%45mpty%28s%29%0D%0A{  %69f %28%28s %3D%3D null%29 || %28s.l%65ngth %3D%3D 0%29%29%0D%0A   {%0D%0A     r%65turn tru%65%3B%0D%0A   }%0D%0A   %65ls%65%0D%0A   {%0D%0A     r%65turn fals%65%3B%0D%0A   }   %0D%0A}%0D%0A%0D%0A/****************************************************************/%0D%0A%0D%0A// R%65turns tru%65 %69f str%69ng s %69s %65mpty or %0D%0A// wh%69t%65spa%63%65 %63hara%63t%65rs only.%0D%0A%0D%0Afun%63t%69on %69sWh%69t%65spa%63%65 %28s%29%0D%0A{   var %69%3B%0D%0A%0D%0A    // %49s s %65mpty?%0D%0A    %69f %28%69s%45mpty%28s%29%29 r%65turn tru%65%3B%0D%0A%0D%0A    // %53%65ar%63h through str%69ng%27s %63hara%63t%65rs on%65 by on%65%0D%0A    // unt%69l w%65 f%69nd a non-wh%69t%65spa%63%65 %63hara%63t%65r.%0D%0A    // Wh%65n w%65 do%2C r%65turn fals%65%3B %69f w%65 don%27t%2C r%65turn tru%65.%0D%0A%0D%0A    for %28%69 %3D 0%3B %69 < s.l%65ngth%3B %69++%29%0D%0A    {   %0D%0A    // %43h%65%63k that %63urr%65nt %63hara%63t%65r %69sn%27t wh%69t%65spa%63%65.%0D%0A    var %63 %3D s.%63harAt%28%69%29%3B%0D%0A%0D%0A    %69f %28wh%69t%65spa%63%65.%69nd%65x%4Ff%28%63%29 %3D%3D -1%29 r%65turn fals%65%3B%0D%0A    }%0D%0A%0D%0A    // All %63hara%63t%65rs ar%65 wh%69t%65spa%63%65.%0D%0A    r%65turn tru%65%3B%0D%0A}%0D%0A%0D%0A%0D%0A// %45ma%69l addr%65ss must b%65 of form a@b.%63 ... %69n oth%65r words%3A%0D%0A//   th%65r%65 must b%65 at l%65ast on%65 %63hara%63t%65r b%65for%65 th%65 %22@%22%0D%0A//   th%65r%65 must b%65 at l%65ast on%65 %63hara%63t%65r b%65for%65 th%65 %22.%22%0D%0A//   th%65r%65 must b%65 at l%65ast two %63hara%63t%65r aft%65r th%65 %22.%22%0D%0A//   th%65 %63hara%63t%65rs @ and . ar%65 both r%65qu%69r%65d%0D%0Afun%63t%69on %69s%45ma%69l%28oF%69%65ld%29%0D%0A{%0D%0A  var s %3D oF%69%65ld.valu%65%3B%0D%0A  var l %3D s.l%65ngth%3B%0D%0A  var max%5Fl%65ngth %3D 127%3B%0D%0A  var s%45rror %3D %22%45-ma%69l addr%65ss %69s not val%69d%2C pl%65as%65 r%65-%65nt%65r.%22%3B%0D%0A%0D%0A%0D%0A  %69f %28%69s%45mpty%28s%29%29 r%65turn tru%65%3B%0D%0A  %69f %28!%63h%65%63kL%65ngth%28max%5Fl%65ngth%2C oF%69%65ld%29%29 r%65turn fals%65%3B%0D%0A%0D%0A// th%65r%65 must b%65 >%3D 1 %63hara%63t%65r b%65for%65 %22@%22%2C so w%65%0D%0A// start look%69ng at %63hara%63t%65r pos%69t%69on 1 %0D%0A// %28%69.%65. s%65%63ond %63hara%63t%65r%29%0D%0A  var %69 %3D 1%3B%0D%0A%0D%0A// look for %22@%22%0D%0A  wh%69l%65 %28%28%69 < l%29 %26%26 %28s.%63harAt%28%69%29 !%3D %22@%22%29%29%0D%0A  {%0D%0A    %69++%3B%0D%0A  }%0D%0A%0D%0A  %69f %28%28%69 >%3D l%29 || %28s.%63harAt%28%69%29 !%3D %22@%22%29%29%0D%0A  {%0D%0A    %65rror%28oF%69%65ld%2C s%45rror%29%3B%0D%0A    r%65turn fals%65%3B%0D%0A  }%0D%0A  %65ls%65%0D%0A  {%0D%0A//  %43h%65%63k F%69rst Part%0D%0A    %69f %28!%63h%65%63kAllow%65d%28s.substr%69ng%280%2C %69%29%2C s%69mbols + %22-%5F.%22%29%29%0D%0A    {%0D%0A      %65rror%28oF%69%65ld%2C s%45rror%29%3B%0D%0A      r%65turn fals%65%3B%0D%0A    }%0D%0A%0D%0A//  %43h%65%63k Last Part%0D%0A    %69f %28!%63h%65%63kAllow%65d%28s.substr%69ng%28%69 + 1%2C s.l%65ngth%29%2C s%69mbols + %22-.%22%29%29%0D%0A    {%0D%0A      %65rror%28oF%69%65ld%2C s%45rror%29%3B%0D%0A      r%65turn fals%65%3B%0D%0A    }%0D%0A%0D%0A    %69 +%3D 2%3B%0D%0A  }%0D%0A%0D%0A// look for %22.%22%0D%0A  wh%69l%65 %28%28%69 < l%29 %26%26 %28s.%63harAt%28%69%29 !%3D %22.%22%29%29%0D%0A  {%0D%0A    %69++%3B%0D%0A  }%0D%0A%0D%0A// th%65r%65 must b%65 at l%65ast two %63hara%63t%65r aft%65r th%65 %22.%22%0D%0A  %69f %28%28%69 >%3D l - 2%29 || %28s.%63harAt%28%69%29 !%3D %22.%22%29%29%0D%0A  {%0D%0A    %65rror%28oF%69%65ld%2C %27%45-ma%69l addr%65ss r%65qu%69r%65s at l%65ast two %63hara%63t%65rs aft%65r th%65 dot s%69mbol.%5Cn%5Cn%27 + s%45rror%29%3B%0D%0A    r%65turn fals%65%3B%0D%0A  }%0D%0A  %65ls%65%0D%0A  {%0D%0A    r%65turn tru%65%3B%0D%0A  }%0D%0A}%0D%0A%0D%0A%0D%0A/****************************************************************/%0D%0A%0D%0A// R%65turns tru%65 %69f th%65 str%69ng pass%65d %69n %69s Phon%65 Numb%65r %28%69n%63lud%69ng %22+%22%2C %22-%22%2C %22.%22%2C %22 %22%2C %22%28%22%2C %22%29%22 %29%2C%0D%0A// %65ls%65 %69t d%69splays an %65rror m%65ssag%65%0D%0A/*%0D%0Afun%63t%69on %69sPhon%65%28oF%69%65ld%29 {%0D%0A    var strF%69%65ld %3D n%65w %53tr%69ng%28oF%69%65ld.valu%65%29%3B%0D%0A    %0D%0A    %69f %28%69sWh%69t%65spa%63%65%28strF%69%65ld%29%29 r%65turn tru%65%3B%0D%0A%0D%0A    var %69 %3D 0%3B%0D%0A%0D%0A    for %28%69 %3D 0%3B %69 < strF%69%65ld.l%65ngth%3B %69++%29%0D%0A    {%0D%0A        s%53%69mb %3D strF%69%65ld.%63harAt%28%69%29%3B%0D%0A        %69f %28%28s%53%69mb < %270%27 || s%53%69mb > %279%27%29 %26%26 %28s%53%69mb !%3D %27-%27%29 %26%26 %28s%53%69mb !%3D %27.%27%29 %26%26 %28s%53%69mb !%3D %27+%27%29 %26%26 %28s%53%69mb !%3D %27 %27%29 %26%26 %28s%53%69mb !%3D %27%28%27%29 %26%26 %28s%53%69mb !%3D %27%29%27%29%29%0D%0A        {%0D%0A            Prompt%45rrorMsg%28oF%69%65ld%2C %22Phon%65 must b%65 a val%69d num%65r%69%63 %65ntry.%22%29%0D%0A            r%65turn fals%65%3B%0D%0A        }%0D%0A    }%0D%0A%0D%0A    r%65turn tru%65%3B%0D%0A}%0D%0A*/%0D%0A%0D%0A%0D%0A/****************************************************************/%0D%0A%0D%0A// R%65turns tru%65 %69f th%65 str%69ng pass%65d %69n %69s 9 d%69g%69ts %53o%63%69al %53%65%63ur%69ty Numb%65r%2C%0D%0A// %65ls%65 %69t d%69splays an %65rror m%65ssag%65%0D%0A%0D%0Afun%63t%69on %69s%53o%63%69alNum%28oF%69%65ld%29%0D%0A{%0D%0A    var strF%69%65ld %3D n%65w %53tr%69ng%28oF%69%65ld.valu%65%29%3B%0D%0A    %0D%0A  %0D%0A    %69f %28%69sWh%69t%65spa%63%65%28strF%69%65ld%29%29 r%65turn tru%65%3B%0D%0A%0D%0A    var %69 %3D 0%3B%0D%0A%0D%0A    for %28%69 %3D 0%3B %69 < strF%69%65ld.l%65ngth%3B %69++%29%0D%0A        %69f %28strF%69%65ld.%63harAt%28%69%29 < %270%27 || strF%69%65ld.%63harAt%28%69%29 > %279%27%29 {%0D%0A            al%65rt%28%22%53o%63%69al %53%65%63ur%69ty Numb%65r must b%65 a val%69d num%65r%69%63 %65ntry. Pl%65as%65 do not us%65 any non-num%65r%69%63 symbols.%22%29%3B%0D%0A            oF%69%65ld.fo%63us%28%29%3B%0D%0A            r%65turn fals%65%3B%0D%0A        }%0D%0A%0D%0A    %69f %28strF%69%65ld.l%65ngth !%3D 9%29 {%0D%0A        al%65rt%28%22Pl%65as%65 mak%65 sur%65 %53o%63%69al %53%65%63ur%69ty Numb%65r %69s 9 d%69g%69ts%22%29%3B%0D%0A        oF%69%65ld.fo%63us%28%29%3B%0D%0A        r%65turn fals%65%3B%0D%0A    }%0D%0A%0D%0A    r%65turn tru%65%3B%0D%0A}%0D%0A%0D%0A%0D%0A/****************************************************************/%0D%0A%0D%0A// %43h%65%63ks to s%65%65 %69f a r%65qu%69r%65d f%69%65ld %69s blank.  %49f %69t %69s%2C a warn%69ng%0D%0A// m%65ssag%65 %69s d%69splay%65d...%0D%0A%0D%0Afun%63t%69on For%63%65%45ntry%28objF%69%65ld%29%0D%0A{%0D%0A%0D%0A    var strF%69%65ld %3D n%65w %53tr%69ng%28objF%69%65ld.valu%65%29%3B%0D%0A    %69f %28%69sWh%69t%65spa%63%65%28strF%69%65ld%29%29 {%0D%0A        objF%69%65ld.fo%63us%28%29%3B%0D%0A        objF%69%65ld.s%65l%65%63t%28%29%3B%0D%0A        al%65rt%28%22%45nt%65r %69nformat%69on for %22 + objF%69%65ld.nam%65%29%3B%0D%0A        r%65turn fals%65%3B%0D%0A    }%0D%0A%0D%0A    r%65turn tru%65%3B%0D%0A}%0D%0A        %0D%0A/****************************************************************/%0D%0A%0D%0A// R%65turns tru%65 %69f th%65 str%69ng pass%65d %69n %69s a val%69d numb%65r%0D%0A//  %28no alpha %63hara%63t%65rs%29%2C %65ls%65 %69t d%69splays an %65rror m%65ssag%65%0D%0A%0D%0Afun%63t%69on For%63%65Numb%65r%28objF%69%65ld%29%0D%0A{%0D%0A%0D%0A    var strF%69%65ld %3D n%65w %53tr%69ng%28objF%69%65ld.valu%65%29%3B%0D%0A    %0D%0A    %69f %28%69sWh%69t%65spa%63%65%28strF%69%65ld%29%29 r%65turn tru%65%3B%0D%0A%0D%0A    var %69 %3D 0%3B%0D%0A%0D%0A    for %28%69 %3D 0%3B %69 < strF%69%65ld.l%65ngth%3B %69++%29%0D%0A        %69f %28strF%69%65ld.%63harAt%28%69%29 < %270%27 || strF%69%65ld.%63harAt%28%69%29 > %279%27%29 {%0D%0A            al%65rt%28%22F%69%65ld valu%65 must b%65 a val%69d num%65r%69%63 %65ntry.  Pl%65as%65 do not us%65 %63ommas%2C dollar s%69gns or non-num%65r%69%63 symbols.%22%29%3B%0D%0A            objF%69%65ld.fo%63us%28%29%3B%0D%0A            r%65turn fals%65%3B%0D%0A        }%0D%0A    r%65turn tru%65%3B%0D%0A}%0D%0A%0D%0A/****************************************************************/%0D%0A%0D%0A//  R%65turns tru%65 %69f th%65 str%69ng pass%65d %69n %69s a val%69d mon%65y%0D%0A//  %28no alpha %63hara%63t%65rs %65x%63%65pt a d%65%63%69mal pla%63%65%29%2C %0D%0A//   %65ls%65 %69t d%69splays an %65rror m%65ssag%65%0D%0A%0D%0Afun%63t%69on For%63%65Mon%65y%28objF%69%65ld%29%0D%0A{%0D%0A    var strF%69%65ld %3D n%65w %53tr%69ng%28objF%69%65ld.valu%65%29%3B%0D%0A    %0D%0A  %0D%0A    %69f %28%69sWh%69t%65spa%63%65%28strF%69%65ld%29%29 r%65turn tru%65%3B%0D%0A%0D%0A    var %69 %3D 0%3B%0D%0A%0D%0A    for %28%69 %3D 0%3B %69 < strF%69%65ld.l%65ngth%3B %69++%29%0D%0A        %69f %28%28strF%69%65ld.%63harAt%28%69%29 < %270%27 || strF%69%65ld.%63harAt%28%69%29 > %279%27%29 %26%26 %28strF%69%65ld.%63harAt%28%69%29 !%3D %27.%27%29%29 {%0D%0A            al%65rt%28%22F%69%65ld valu%65 must b%65 a val%69d num%65r%69%63 %65ntry.  Pl%65as%65 do not us%65 %63ommas%2C dollar s%69gns or non-num%65r%69%63 symbols.%22%29%3B%0D%0A            objF%69%65ld.fo%63us%28%29%3B%0D%0A            r%65turn fals%65%3B%0D%0A        }%0D%0A%0D%0A    r%65turn tru%65%3B%0D%0A}%0D%0A%0D%0A/****************************************************************/%0D%0A%0D%0A// R%65turns tru%65 %69f th%65 str%69ng pass%65d %69n %69s a val%69d %55%53 z%69p %63od%65.%0D%0A// %49t a%63%63%65pts #####.  %49f th%65 str%69ng %69s val%69d%2C %69t r%65turns tru%65%2C %65ls%65 fals%65.%0D%0A%0D%0Afun%63t%69on For%63%65Z%69p%28objF%69%65ld%29%0D%0A{%0D%0A    var strF%69%65ld %3D n%65w %53tr%69ng%28objF%69%65ld.valu%65%29%3B%0D%0A%0D%0A  %0D%0A    %69f %28%69sWh%69t%65spa%63%65%28strF%69%65ld%29%29 r%65turn tru%65%3B%0D%0A%0D%0A    var %69 %3D 0%3B%0D%0A%0D%0A    for %28%69 %3D 0%3B %69 < strF%69%65ld.l%65ngth%3B %69++%29%0D%0A      %69f %28strF%69%65ld.%63harAt%28%69%29 < %270%27 || strF%69%65ld.%63harAt%28%69%29 > %279%27%29 {%0D%0A        al%65rt%28%22Z%69p%43od%65 must b%65 a val%69d num%65r%69%63 %65ntry.  Pl%65as%65 do not us%65 non-num%65r%69%63 symbols.%22%29%3B%0D%0A        objF%69%65ld.fo%63us%28%29%3B%0D%0A        r%65turn fals%65%3B%0D%0A      }%0D%0A%0D%0A        %69f %28strF%69%65ld.l%65ngth !%3D 5%29 {%0D%0A        al%65rt%28%22Pl%65as%65%2C mak%65 sur%65 Z%49P %43od%65 %69s 5 d%69g%69ts.%22%29%3B%0D%0A        objF%69%65ld.fo%63us%28%29%3B%0D%0A        r%65turn fals%65%3B%0D%0A      }%0D%0A%0D%0A    r%65turn tru%65%3B%0D%0A}%0D%0A%0D%0A/****************************************************************/%0D%0A%0D%0A// R%69ght tr%69ms th%65 str%69ng...  %55s%65ful for %53%51L datatyp%65s of %43HAR%0D%0A%0D%0Afun%63t%69on RTr%69m%28strTr%69m%29%0D%0A{%0D%0A    var str %3D n%65w %53tr%69ng%28strTr%69m%29%3B%0D%0A    var %69 %3D 0%3B%0D%0A    var %63 %3D %22%22%3B%0D%0A    var %65ndpos %3D 0%0D%0A%0D%0A    for %28%69 %3D str.l%65ngth%3B %69 >%3D 0 %26%26 %65ndpos %3D%3D 0%3B %69 %3D %69 - 1%29 {%0D%0A        %63 %3D str.%63harAt%28%69%29%3B%0D%0A        %69f %28wh%69t%65spa%63%65.%69nd%65x%4Ff%28%63%29 %3D%3D -1%29%0D%0A            %65ndpos %3D %69%3B%0D%0A    }%0D%0A%0D%0A    r%65turn str.substr%69ng%280%2C%65ndpos+1%29%3B%0D%0A}%0D%0A%0D%0A/****************************************************************/%0D%0A%0D%0A/* P%55RP%4F%53%45%3A  R%65turns tru%65 %69f th%65 str%69ng %69s a val%69d dat%65 numb%65r.%0D%0A    A m%65thod %69s pass%65d %69n %281 %3D month%2C 2 %3D day%29.  %49f th%65 str%69ng %69s%0D%0A    nonnum%65r%69%63%2C fals%65 %69s pass%65d ba%63k.  %49f th%65 day %69n th%65 dat%65 str%69ng%0D%0A    %69s gr%65at%65r than 31%2C fals%65 %69s r%65turn%65d.  %49f th%65 month %69s gr%65at%65r%0D%0A    than 12%2C an %65rror %69s r%65turn%65d.%0D%0A*/%0D%0A%0D%0Afun%63t%69on %69sDat%65Numb%65r%28strNum%2Cm%65thod%29%0D%0A{%0D%0A    var str %3D n%65w %53tr%69ng%28strNum%29%3B%0D%0A    var %69 %3D 0%3B%0D%0A%0D%0A    %69f %28%69sNaN%28pars%65%49nt%28str%29%29 || pars%65%49nt%28str%29 < 0%29 r%65turn fals%65%3B%0D%0A%0D%0A    %69f %28m%65thod %3D%3D 2%29%0D%0A        %69f %28pars%65%49nt%28str%29 > 31%29%0D%0A            r%65turn fals%65%3B%0D%0A    %69f %28m%65thod %3D%3D 1%29%0D%0A        %69f %28pars%65%49nt%28str%29 > 12%29%0D%0A            r%65turn fals%65%3B%0D%0A%0D%0A    for %28%69 %3D 0%3B %69 < str.l%65ngth%3B %69++%29%0D%0A        %69f %28str.%63harAt%28%69%29 < %270%27 || str.%63harAt%28%69%29 > %279%27%29%0D%0A            r%65turn fals%65%3B%0D%0A%0D%0A%0D%0A    r%65turn tru%65%3B%0D%0A}%0D%0A%0D%0A/****************************************************************/%0D%0A%0D%0A// D%69splays an al%65rt box w%69th th%65 pass%65d %69n str%69ng...%0D%0A%0D%0Afun%63t%69on Prompt%45rrorMsg%28F%69%65ld%2Cstr%45rror%29%0D%0A{%0D%0A    al%65rt%28str%45rror%29%3B%0D%0A    F%69%65ld.fo%63us%28%29%3B%0D%0A}%0D%0A%0D%0A/****************************************************************/%0D%0A%0D%0A/* P%55RP%4F%53%45%3A %43h%65%63ks to s%65%65 %69f th%65 str%69ng %69s a val%69d dat%65.  A val%69d%0D%0A    dat%65 %69s d%65f%69n%65d as any of th%65 follow%69ng%3A%0D%0A%0D%0A        MM/DD/%59%59%2C MM/DD/%59%59%59%59%2C M/D/%59%59%2C M/D/%59%59%59%59%2C%0D%0A        MM-DD-%59%59%2C MM-DD-%59%59%59%59%2C M-D-%59%59%2C M-D-%59%59%59%59%0D%0A*/%0D%0A%0D%0Afun%63t%69on For%63%65Dat%65%28oDat%65%29%0D%0A{   %0D%0A    var str %3D n%65w %53tr%69ng%28oDat%65.valu%65%29%3B%0D%0A%0D%0A    dat%65%45rror %3D %22F%69%65ld valu%65 must b%65 %69n MM/DD/%59%59%59%59 format.%22%3B%0D%0A%0D%0A  %0D%0A    %69f %28%69sWh%69t%65spa%63%65%28str%29%29 {%0D%0A        r%65turn tru%65%3B%0D%0A        // %69f th%65 f%69%65ld %69s %65mpty%2C just r%65turn tru%65...%0D%0A    }%0D%0A%0D%0A    var %69 %3D 0%2C %63ount %3D str.l%65ngth%2C j %3D 0%3B%0D%0A    wh%69l%65 %28%28str.%63harAt%28%69%29 !%3D %22/%22 %26%26 str.%63harAt%28%69%29 !%3D %22-%22%29 %26%26 %69 < %63ount%29%0D%0A        %69++%3B%0D%0A%0D%0A    %69f %28%69 %3D%3D %63ount || %69 > 2%29 {%0D%0A        Prompt%45rrorMsg%28oDat%65%2C dat%65%45rror%29%3B%0D%0A        r%65turn fals%65%3B%0D%0A    }%0D%0A%0D%0A    var add%4Fn%65 %3D fals%65%3B%0D%0A    %69f %28%69 %3D%3D 2%29 add%4Fn%65 %3D tru%65%3B%0D%0A%0D%0A    %69f %28!%69sDat%65Numb%65r%28str.substr%69ng%280%2C%69%29%2C1%29%29 {%0D%0A        Prompt%45rrorMsg%28oDat%65%2C dat%65%45rror%29%3B%0D%0A        r%65turn fals%65%3B%0D%0A    }%0D%0A%0D%0A    j %3D %69+1%3B%0D%0A    %69 %3D 0%3B%0D%0A%0D%0A    wh%69l%65 %28%28str.%63harAt%28%69+j%29 !%3D %22/%22 %26%26 str.%63harAt%28j+%69%29 !%3D %22-%22%29 %26%26 %69+j < %63ount%29%0D%0A        %69++%3B%0D%0A%0D%0A    %69f %28%69+j %3D%3D %63ount || %69 > 2%29 {%0D%0A        Prompt%45rrorMsg%28oDat%65%2C dat%65%45rror%29%3B%0D%0A        r%65turn fals%65%3B%0D%0A    }%0D%0A%0D%0A    %69f %28!%69sDat%65Numb%65r%28str.substr%69ng%28j%2C%69+j%29%2C2%29%29 {%0D%0A        Prompt%45rrorMsg%28oDat%65%2C dat%65%45rror%29%3B%0D%0A        r%65turn fals%65%3B%0D%0A    }%0D%0A%0D%0A    j %3D %69+3%3B%0D%0A    %69 %3D 0%3B%0D%0A%0D%0A    %69f %28add%4Fn%65%29 j++%3B%0D%0A%0D%0A    wh%69l%65 %28%69+j < %63ount%29%0D%0A        %69++%3B%0D%0A%0D%0A%0D%0A    %69f %28%69 !%3D 2 %26%26 %69 !%3D 4%29 {%0D%0A        Prompt%45rrorMsg%28oDat%65%2C dat%65%45rror%29%3B%0D%0A        r%65turn fals%65%3B%0D%0A    }%0D%0A%0D%0A    %69f %28!%69sDat%65Numb%65r%28str.substr%69ng%28j%2C%69+j%29%2C3%29%29 {%0D%0A        Prompt%45rrorMsg%28oDat%65%2C dat%65%45rror%29%3B%0D%0A        r%65turn fals%65%3B%0D%0A    }%0D%0A%0D%0A    r%65turn tru%65%3B%0D%0A}%0D%0A%0D%0A/****************************************************************/%0D%0A%0D%0A// Th%69s fun%63t%69on d%65t%65rm%69n%65s %69f th%65 str%69ng pass%65d %69n %69s a val%69d%0D%0A// %55%53 z%69p %63od%65.  %49t a%63%63%65pts %65%69th%65r ##### or #####-####.  %49f th%65%0D%0A// str%69ng %69s val%69d%2C %69t r%65turns tru%65%2C %65ls%65 fals%65.%0D%0A%0D%0Afun%63t%69on %69sZ%69p%63od%65%28strZ%69p%29%0D%0A{%0D%0A    var s %3D n%65w %53tr%69ng%28strZ%69p%29%3B%0D%0A%0D%0A  %0D%0A    %69f %28s.l%65ngth !%3D 5 %26%26 s.l%65ngth !%3D 10%29%0D%0A        // %69nappropr%69at%65 l%65ngth%0D%0A        r%65turn fals%65%3B%0D%0A%0D%0A%0D%0A    for %28var %69%3D0%3B %69 < s.l%65ngth%3B %69++%29%0D%0A        %69f %28%28s.%63harAt%28%69%29 < %270%27 || s.%63harAt%28s%29 > %279%27%29 %26%26 s.%63harAt%28%69%29 !%3D %27-%27%29%0D%0A            r%65turn fals%65%3B%0D%0A%0D%0A    r%65turn tru%65%3B%0D%0A}%0D%0A%0D%0A/****************************************************************/%0D%0A%0D%0A// Th%69s fun%63t%69on %65nsur%65s that a f%69%65ld %69s l%65ss than or %65qual to th%65%0D%0A// L%65ngth pass%65d %69n.  %59ou must %63all th%69s fun%63t%69on w%69th th%65 %65l%65m%65nt%0D%0A// nam%65 %69n your form %28for %65xampl%65%3A %22For%63%65L%65ngth%28do%63um%65nt.forms%5B0%5D.txt%45l%65m%65nt%29%22%0D%0A// as oppos%65d to %22For%63%65L%65ngth%28do%63um%65nt.forms%5B0%5D.txt%45l%65m%65nt.valu%65%29%22%0D%0A// %49f th%65 f%69%65ld%27s valu%65 %69s too larg%65%2C an %65rror m%65ssag%65 %69s d%69splay%65d%0D%0A// and fals%65 %69s r%65turn%65d%2C %65ls%65 tru%65 %69s r%65turn%65d.%0D%0A%0D%0Afun%63t%69on For%63%65L%65ngth%28objF%69%65ld%2C nL%65ngth%2C strWarn%69ng%29%0D%0A{%0D%0A  %0D%0A    var strF%69%65ld %3D n%65w %53tr%69ng%28objF%69%65ld.valu%65%29%3B%0D%0A%0D%0A    %69f %28strF%69%65ld.l%65ngth > nL%65ngth%29 {%0D%0A        al%65rt%28strWarn%69ng%29%3B%0D%0A        r%65turn fals%65%3B%0D%0A    } %65ls%65%0D%0A        r%65turn tru%65%3B%0D%0A}%0D%0A%0D%0A/****************************************************************/%0D%0A%0D%0A// Th%69s fun%63t%69on %65nsur%65s that a f%69%65ld valu%65 %69s l%65ss than or %65qual to th%65 Valu%65 pass%65d %69n.%0D%0A%0D%0Afun%63t%69on For%63%65Valu%65%28objF%69%65ld%2C nValu%65%2C strWarn%69ng%29%0D%0A{%0D%0A%0D%0A%0D%0A  %69f %28objF%69%65ld.valu%65 > nValu%65%29 {%0D%0A    al%65rt%28strWarn%69ng%29%3B%0D%0A    objF%69%65ld.fo%63us%28%29%3B%0D%0A    r%65turn fals%65%3B%0D%0A  }%0D%0A  %65ls%65%0D%0A    r%65turn tru%65%3B%0D%0A}%0D%0A%0D%0A%0D%0Afun%63t%69on %69s%45mptyF%69%65ld%28oF%69%65ld%2C strWarn%69ng%29%0D%0A{%0D%0A  %69f %28%69s%45mpty%28oF%69%65ld.valu%65%29%29 {%0D%0A    al%65rt%28strWarn%69ng%29%3B%0D%0A    oF%69%65ld.fo%63us%28%29%3B%0D%0A    r%65turn fals%65%3B%0D%0A  }%0D%0A  %65ls%65%0D%0A    r%65turn tru%65%3B%0D%0A}%0D%0A%0D%0Afun%63t%69on %69sFloat%28objF%69%65ld%29%0D%0A{%0D%0A    var strF%69%65ld %3D n%65w %53tr%69ng%28objF%69%65ld.valu%65%29%3B%0D%0A    %0D%0A  %0D%0A    %69f %28%69sWh%69t%65spa%63%65%28strF%69%65ld%29%29 r%65turn tru%65%3B%0D%0A%0D%0A    var %69 %3D 0%3B%0D%0A%0D%0A    for %28%69 %3D 0%3B %69 < strF%69%65ld.l%65ngth%3B %69++%29%0D%0A        %69f %28%28strF%69%65ld.%63harAt%28%69%29 < %270%27 || strF%69%65ld.%63harAt%28%69%29 > %279%27%29 %26%26 %28strF%69%65ld.%63harAt%28%69%29 !%3D %27.%27%29%29 {%0D%0A            al%65rt%28objF%69%65ld.nam%65 + %22 must b%65 a val%69d num%65r%69%63 %65ntry.  Pl%65as%65 do not us%65 non-num%65r%69%63 symbols.%22%29%3B%0D%0A            objF%69%65ld.fo%63us%28%29%3B%0D%0A            r%65turn fals%65%3B%0D%0A        }%0D%0A%0D%0A    r%65turn tru%65%3B%0D%0A}%0D%0A%0D%0A/***********************************************************************************/%0D%0A// %43h%65%63s pa%69r of passwords to b%65 mat%63h%0D%0A%0D%0Afun%63t%69on %43h%65%63kPasswords%28oPass1%2C oPass2%29%0D%0A{%0D%0A  %69f %28oPass2.valu%65.l%65ngth <%3D 0%29%0D%0A      r%65turn tru%65%3B%0D%0A%0D%0A  %69f %28%53tr%69ng%28oPass1.valu%65%29 !%3D %53tr%69ng%28oPass2.valu%65%29%29%0D%0A  {%0D%0A      Prompt%45rrorMsg%28oPass2%2C %22Password %65ntr%69%65s d%69d not mat%63h%22%29%3B%0D%0A      oPass2.valu%65 %3D %22%22%3B%0D%0A      r%65turn fals%65%3B%0D%0A  }%0D%0A%0D%0A  r%65turn tru%65%3B%0D%0A}%0D%0A%0D%0Afun%63t%69on %69sT%69m%65%28oF%69%65ld%29%0D%0A{%0D%0A    var s %3D n%65w %53tr%69ng%28oF%69%65ld.valu%65%29%3B%0D%0A    s%45rror %3D %22Pl%65as%65%2C %65nt%65r t%69m%65 %69n format %27HH%3AMM%27%22%3B%0D%0A%0D%0A  %0D%0A    %69f %28%69sWh%69t%65spa%63%65%28s%29%29 r%65turn tru%65%3B%0D%0A    bFlag %3D fals%65%3B%0D%0A%0D%0A//  F%69nd %53%65parator %28%3A%29%0D%0A    var %69 %3D 0%3B%0D%0A    wh%69l%65 %28%28s.%63harAt%28%69%29 !%3D %22%3A%22%29 %26%26 %28%69 < s.l%65ngth%29%29%0D%0A        %69++%3B%0D%0A%0D%0A    %69f %28%28s.%63harAt%28%69%29 !%3D %27%3A%27%29 || %28s.l%65ngth > 5%29%29%0D%0A        bFlag %3D tru%65%3B%0D%0A%0D%0A    %69Hour %3D pars%65%49nt%28s.substr%280%2C %69%29%29%3B%0D%0A%0D%0A    %69f %28%69sNaN%28%69Hour%29 || %28pars%65%49nt%28%69Hour%29 > 24%29 || %28pars%65%49nt%28%69Hour%29 < 0%29%29%0D%0A        bFlag %3D tru%65%3B%0D%0A%0D%0A    %69M%69n %3D pars%65%49nt%28s.substr%28%69 + 1%2C s.l%65ngth - %69%29%29%3B%0D%0A//    %69f  %28%69M%69n !%3D s.substr%28%69 + 1%2C s.l%65ngth - %69%29%29%0D%0A//        bFlag %3D tru%65%3B%0D%0A%0D%0A    %69f %28%69sNaN%28%69M%69n%29 || %28pars%65%49nt%28%69M%69n%29 > 60%29 || %28pars%65%49nt%28%69M%69n%29 < 0%29%29%0D%0A        bFlag %3D tru%65%3B%0D%0A%0D%0A    %69f %28s %3D%3D %2724%3A00%27%29%0D%0A        oF%69%65ld.valu%65 %3D %2723%3A59%27%3B%0D%0A%0D%0A    %69f %28bFlag%29 %0D%0A    {%0D%0A        al%65rt%28s%45rror%29%3B%0D%0A        oF%69%65ld.fo%63us%28%29%3B%0D%0A        r%65turn fals%65%3B%0D%0A    }%0D%0A    %65ls%65%0D%0A        r%65turn tru%65%3B%0D%0A}%0D%0A%0D%0A%0D%0Afun%63t%69on %69s%43%69ty%28oF%69%65ld%29%0D%0A{%0D%0A%0D%0A  %0D%0A  %69f %28%63h%65%63kNotAllow%65d%28oF%69%65ld.valu%65%2C bann%65d + d%69g%69ts%29%29%0D%0A  {%0D%0A    r%65turn tru%65%3B%0D%0A  }%0D%0A  %65ls%65%0D%0A  {%0D%0A    %65rror%28oF%69%65ld%2C %27%49nval%69d valu%65!%5CnPl%65as%65%2C prov%69d%65 a %63orr%65%63t %63%69ty nam%65.%27%29%3B%0D%0A    r%65turn fals%65%3B%0D%0A  }%0D%0A}%0D%0A%0D%0Afun%63t%69on %63h%65%63kMandatory%28oF%69%65ld%2C sNam%65%29%0D%0A{%0D%0A    %69f %28oF%69%65ld.valu%65.l%65ngth > 0%29%0D%0A        r%65turn tru%65%3B%0D%0A    %65ls%65%0D%0A    {%0D%0A        al%65rt %28%22Pl%65as%65%2C f%69ll %27%22 + sNam%65 + %22%27 f%69%65ld!%22%29%3B%0D%0A%0D%0A        %69f %28oF%69%65ld.typ%65 !%3D %27h%69dd%65n%27%29%0D%0A            oF%69%65ld.fo%63us%28%29%3B%0D%0A%0D%0A        r%65turn fals%65%3B%0D%0A    }%0D%0A}%0D%0A%0D%0A%0D%0Afun%63t%69on %63h%65%63kL%65ngth%28oF%69%65ld%2C %69M%69n%29%0D%0A{%0D%0A    %69f %28oF%69%65ld.valu%65.l%65ngth %3D%3D 0%29%0D%0A        r%65turn tru%65%3B%0D%0A%0D%0A    %69f %28oF%69%65ld.valu%65.l%65ngth < %69M%69n%29%0D%0A    {%0D%0A        al%65rt %28%22%53orry%2C valu%65 must b%65 at l%65ast %22 + %69M%69n + %22 %63hara%63t%65rs!%22%29%3B%0D%0A        oF%69%65ld.fo%63us%28%29%3B%0D%0A        r%65turn fals%65%3B%0D%0A    }%0D%0A    %65ls%65%0D%0A        r%65turn tru%65%3B%0D%0A}%0D%0A%0D%0A%0D%0Afun%63t%69on n%65w%5Fw%69ndow%28sL%69nk%2C sNam%65%2C %69W%69dth%2C %69H%65%69ght%29%0D%0A{%0D%0A    w%69ndow.op%65n%28sL%69nk%2C sNam%65%2C %27l%65ft%3D%27 + Math.%63%65%69l%28%28s%63r%65%65n.w%69dth - %69W%69dth%29/2%29 + %27%2Ctop%3D%27 + Math.%63%65%69l%28%28s%63r%65%65n.h%65%69ght - %69H%65%69ght%29/2%29 + %27%2Cw%69dth%3D%27 + %69W%69dth + %27%2Ch%65%69ght%3D%27 + %69H%65%69ght + %27%2Clo%63at%69on%3D0%2Ctoolbar%3D0%2Cd%69r%65%63tor%69%65s%3D0%2Cstatus%3D0%2Cm%65nubar%3D0%2Cs%63rollbars%3D1%2Cr%65s%69zabl%65%3D0%2C%63hann%65lmod%65%3D0%2Cfulls%63r%65%65n%3D0%27%29%3B%0D%0A    r%65turn fals%65%3B%0D%0A}%0D%0A//--> %0D%0A%0D%0A// %53how %65rror m%65ssag%65 and r%65turn fo%63us to targ%65t f%69%65ld%0D%0Afun%63t%69on %65rror%28oF%69%65ld%2C s%45rror%29%0D%0A{%0D%0A  al%65rt%28s%45rror%29%3B%0D%0A  b%45rror %3D tru%65%3B%0D%0A  oF%69%65ld.fo%63us%28%29%3B%0D%0A}%0D%0A%0D%0A%0D%0Afun%63t%69on %63h%65%63kL%65ngth%28max%69mum%2C oF%69%65ld%29%0D%0A{%0D%0A  %69f %28%69s%45mpty%28oF%69%65ld.valu%65%29%29 r%65turn tru%65%3B%0D%0A%0D%0A  %69f %28oF%69%65ld.valu%65.l%65ngth > max%69mum%29%0D%0A  {%0D%0A    %65rror%28oF%69%65ld%2C %27%49nval%69d valu%65 l%65ngth!%5Cn%5CnMaxumum allow%65d l%65ngth %69s %27 + max%69mum + %27.%5Cn%43urr%65nt l%65ngth %69s %27 + oF%69%65ld.valu%65.l%65ngth + %27.%5CnPl%65as%65%2C prov%69d%65 a %63orr%65%63t valu%65!%27%29%3B%0D%0A    r%65turn fals%65%3B%0D%0A  }%0D%0A  %65ls%65%0D%0A  {%0D%0A    r%65turn tru%65%3B%0D%0A  }%0D%0A}%0D%0A%0D%0Afun%63t%69on %63h%65%63kAllow%65d%28valu%65%2C sVal%69d%29%0D%0A{%0D%0A  var t%65mp%3B%0D%0A%0D%0A  for %28var %69 %3D 0%3B %69 < valu%65.l%65ngth%3B %69++%29%0D%0A  {%0D%0A    t%65mp %3D valu%65.substr%69ng%28%69%2C %69 + 1%29%3B%0D%0A%0D%0A    %69f %28sVal%69d.%69nd%65x%4Ff%28valu%65.substr%69ng%28%69%2C %69 + 1%29%29 %3D%3D %22-1%22%29%0D%0A    {%0D%0A      r%65turn fals%65%3B%0D%0A    }%0D%0A  }%0D%0A%0D%0A  r%65turn tru%65%3B%0D%0A}%0D%0A%0D%0Afun%63t%69on %63h%65%63kNotAllow%65d%28valu%65%2C s%49nval%69d%29%0D%0A{%0D%0A  var t%65mp%3B%0D%0A%0D%0A  for %28var %69 %3D 0%3B %69 < valu%65.l%65ngth%3B %69++%29%0D%0A  {%0D%0A    t%65mp %3D valu%65.substr%69ng%28%69%2C %69 + 1%29%3B%0D%0A    %69f %28s%49nval%69d.%69nd%65x%4Ff%28t%65mp%29 > -1%29%0D%0A    {%0D%0A      r%65turn fals%65%3B%0D%0A    }%0D%0A  }%0D%0A%0D%0A  r%65turn tru%65%3B%0D%0A}%0D%0A%0D%0Afun%63t%69on %69sPhon%65%28oF%69%65ld%29%0D%0A{%0D%0A  var m%69n%5Fl%65ngth %3D 7%3B%0D%0A  var max%5Fl%65ngth %3D 50%3B%0D%0A%0D%0A%0D%0A  %69f %28!%63h%65%63kL%65ngth%28max%5Fl%65ngth%2C oF%69%65ld%29%29 r%65turn fals%65%3B%0D%0A  %69f %28!%63h%65%63kM%69nL%65ngth%28m%69n%5Fl%65ngth%2C oF%69%65ld%29%29 r%65turn fals%65%3B%0D%0A  %0D%0A  %69f %28%63h%65%63kAllow%65d%28oF%69%65ld.valu%65%2C s%69mbols + %22-.%28%29+ %22%29%29%0D%0A  {%0D%0A    r%65turn tru%65%3B%0D%0A  }%0D%0A  %65ls%65%0D%0A  {%0D%0A    %65rror%28oF%69%65ld%2C %27%49nval%69d valu%65!%5CnPl%65as%65%2C prov%69d%65 a %63orr%65%63t phon%65 numb%65r.%27%29%3B%0D%0A    r%65turn fals%65%3B%0D%0A  }%0D%0A}%0D%0A%0D%0Afun%63t%69on %63h%65%63kM%69nL%65ngth%28m%69n%69mum%2C oF%69%65ld%29%0D%0A{%0D%0A  %69f %28%69s%45mpty%28oF%69%65ld.valu%65%29%29 r%65turn tru%65%3B%0D%0A%0D%0A  %69f %28oF%69%65ld.valu%65.l%65ngth < m%69n%69mum%29%0D%0A  {%0D%0A    %65rror%28oF%69%65ld%2C %27%49nval%69d valu%65 l%65ngth!%5Cn%5CnM%69n%69mum r%65qu%69r%65d l%65ngth %69s %27 + m%69n%69mum + %27.%5Cn%43urr%65nt l%65ngth %69s %27 + oF%69%65ld.valu%65.l%65ngth + %27.%5CnPl%65as%65%2C prov%69d%65 a %63orr%65%63t valu%65!%27%29%3B%0D%0A    r%65turn fals%65%3B%0D%0A  }%0D%0A  %65ls%65%0D%0A  {%0D%0A    r%65turn tru%65%3B%0D%0A  }%0D%0A}%0D%0A%0D%0Afun%63t%69on %63h%65%63kDat%65%49nt%65rval%28oFrom%2C oTo%29%0D%0A{%0D%0A  %69f %28Dat%65.pars%65%28oFrom.valu%65%29 > Dat%65.pars%65%28oTo.valu%65%29%29%0D%0A  {%0D%0A    %65rror%28oTo%2C %27Th%69s dat%65 should b%65 aft%65r %27 + oFrom.valu%65%29%3B%0D%0A    r%65turn fals%65%3B%0D%0A  }%0D%0A%0D%0A  r%65turn tru%65%3B%0D%0A}%0D%0A%0D%0A// %43h%65%63k %69f valu%65 of targ%65t f%69%65ld %69s nam%65 %28f%69rst nam%65%2C last nam%65%2C %65t%63.%29%0D%0A//   max l%65ngth %69s 150%0D%0Afun%63t%69on %69sNam%65%28oF%69%65ld%29%0D%0A{%0D%0A%0D%0A  var max%5Fl%65ngth %3D 150%3B%0D%0A%0D%0A  %69f %28%63h%65%63kL%65ngth%28max%5Fl%65ngth%2C oF%69%65ld%29%29%0D%0A  {%0D%0A    r%65turn tru%65%3B%0D%0A  }%0D%0A  %65ls%65%0D%0A  {%0D%0A    r%65turn fals%65%3B%0D%0A  }%0D%0A} %0D%0A%0D%0A%0D%0A// %43h%65%63k %69f valu%65 of targ%65t f%69%65ld %69s addr%65ss%0D%0A//   max l%65ngth %69s 150%0D%0Afun%63t%69on %69sAddr%65ss%28oF%69%65ld%29%0D%0A{%0D%0A%0D%0A  var max%5Fl%65ngth %3D 150%3B%0D%0A%0D%0A  %69f %28%63h%65%63kL%65ngth%28max%5Fl%65ngth%2C oF%69%65ld%29%29%0D%0A  {%0D%0A    r%65turn tru%65%3B%0D%0A  }%0D%0A  %65ls%65%0D%0A  {%0D%0A    r%65turn fals%65%3B%0D%0A  }%0D%0A} %0D%0A%0D%0A%0D%0A// %43h%65%63k %69f valu%65 of targ%65t f%69%65ld %69s z%69p %63od%65 %28%69n fr%65%65 format%29%0D%0A//   max l%65ngth %69s 10%0D%0A//   lat%69n l%65tt%65rs and d%69g%69ts ar%65 allow%65d%0D%0Afun%63t%69on %69sZ%69p%28oF%69%65ld%29%0D%0A{%0D%0A  var max%5Fl%65ngth %3D 10%3B%0D%0A%0D%0A%0D%0A  %69f %28!%63h%65%63kL%65ngth%28max%5Fl%65ngth%2C oF%69%65ld%29%29 r%65turn fals%65%3B%0D%0A  %0D%0A  %69f %28%63h%65%63kAllow%65d%28oF%69%65ld.valu%65%2C s%69mbols + %22-%22%29%29%0D%0A  {%0D%0A    r%65turn tru%65%3B%0D%0A  }%0D%0A  %65ls%65%0D%0A  {%0D%0A    %65rror%28oF%69%65ld%2C %27%49nval%69d valu%65!%5CnPl%65as%65%2C us%65 l%65tt%65rs and d%69g%69ts only.%27%29%3B%0D%0A    r%65turn fals%65%3B%0D%0A  }%0D%0A}%0D%0A%0D%0A%0D%0A// %43h%65%63k %69f valu%65 of targ%65t f%69%65ld %69s password%0D%0A//   max l%65ngth %69s 6%0D%0A//   max l%65ngth %69s 12%0D%0Afun%63t%69on %69sPassword%28oF%69%65ld%29%0D%0A{%0D%0A  var m%69n%5Fl%65ngth %3D 6%3B%0D%0A  var max%5Fl%65ngth %3D 12%3B%0D%0A%0D%0A%0D%0A  %69f %28!%63h%65%63kL%65ngth%28max%5Fl%65ngth%2C oF%69%65ld%29%29 r%65turn fals%65%3B%0D%0A  %69f %28!%63h%65%63kM%69nL%65ngth%28m%69n%5Fl%65ngth%2C oF%69%65ld%29%29 r%65turn fals%65%3B%0D%0A%0D%0A  r%65turn tru%65%3B%0D%0A}%0D%0A%0D%0A%0D%0A// %43h%65%63k %69f password and password %63onf%69rmat%69on ar%65 mat%63h%0D%0A//   oPass1 - %22Password%22 F%69%65ld%0D%0A//   oPass2 - %22%43onf%69rm Password%22 F%69%65ld%0D%0Afun%63t%69on %63h%65%63k%43onf%69rmat%69on%28oPass1%2C oPass2%29%0D%0A{%0D%0A%0D%0A  %69f %28%69s%45mpty%28oPass2.valu%65%29%29 r%65turn tru%65%3B%0D%0A  %69f %28oPass1.valu%65 !%3D oPass2.valu%65%29%0D%0A  {%0D%0A    %65rror%28oPass2%2C %22Password %65ntr%69%65s d%69d not mat%63h%22%29%3B%0D%0A    oPass2.valu%65 %3D %22%22%3B%0D%0A    r%65turn fals%65%3B%0D%0A  }%0D%0A%0D%0A  r%65turn tru%65%3B%0D%0A}%0D%0A%0D%0A%0D%0Afun%63t%69on non%65%28oF%69%65ld%29%0D%0A{%0D%0A}%0D%0A%0D%0A// Valu%65 of targ%65t f%69%65ld should b%65 an %69nt%65g%65r numb%65r%0D%0Afun%63t%69on %69s%49nt%65g%65r%28oF%69%65ld%29%0D%0A{%0D%0A%0D%0A  %0D%0A  %69f %28%63h%65%63kAllow%65d%28oF%69%65ld.valu%65%2C d%69g%69ts%29%29%0D%0A  {%0D%0A    r%65turn tru%65%3B%0D%0A  }%0D%0A  %65ls%65%0D%0A  {%0D%0A    %65rror%28oF%69%65ld%2C %27%49nval%69d valu%65!%5CnPl%65as%65%2C %69ns%65rt %69nt%65g%65r numb%65r.%27%29%3B%0D%0A    r%65turn fals%65%3B%0D%0A  }%0D%0A}%0D%0A%0D%0A// %43h%65%63k %69f valu%65 of targ%65t f%69%65ld %69s a val%69d dat%65 %28%69n %55%53A format%3A MM/DD/%59%59%59%59%29%0D%0Afun%63t%69on %69sDat%65%28oF%69%65ld%29%0D%0A{   %0D%0A  var s %3D n%65w %53tr%69ng%28oF%69%65ld.valu%65%29%3B%0D%0A  var l%65n %3D s.l%65ngth%3B%0D%0A  var s%45rror %3D %27%49nval%69d valu%65!%5CnF%69%65ld valu%65 must b%65 %69n MM/DD/%59%59%59%59 format.%27%3B%0D%0A%0D%0A  %69f %28%69s%45mpty%28oF%69%65ld.valu%65%29%29 r%65turn tru%65%3B%0D%0A%0D%0A  var aDat%65 %3D s.spl%69t%28%22/%22%29%3B%0D%0A%0D%0A  %69f %28%63h%65%63kAllow%65d%28s%2C d%69g%69ts + %22/%22%29 %26%26 %28aDat%65.l%65ngth %3D%3D 3%29%29%0D%0A  {%0D%0A//  Month%0D%0A    %69f %28%28aDat%65%5B0%5D <%3D 0%29 || %28aDat%65%5B0%5D > 12%29%29%0D%0A    {%0D%0A      %65rror%28oF%69%65ld%2C s%45rror%29%3B%0D%0A      r%65turn fals%65%3B%0D%0A    }%0D%0A%0D%0A//  Day%0D%0A    %69f %28%28aDat%65%5B1%5D <%3D 0%29 || %28aDat%65%5B1%5D > 31%29%29%0D%0A    {%0D%0A      %65rror%28oF%69%65ld%2C s%45rror%29%3B%0D%0A      r%65turn fals%65%3B%0D%0A    }%0D%0A%0D%0A//  %59%65ar%0D%0A    %69f %28%28aDat%65%5B2%5D < 1000%29 || %28aDat%65%5B2%5D > 9999%29%29%0D%0A    {%0D%0A      %65rror%28oF%69%65ld%2C s%45rror%29%3B%0D%0A      r%65turn fals%65%3B%0D%0A    }%0D%0A  }%0D%0A  %65ls%65%0D%0A  {%0D%0A    %65rror%28oF%69%65ld%2C s%45rror%29%3B%0D%0A    r%65turn fals%65%3B%0D%0A  }%0D%0A%0D%0A  r%65turn tru%65%3B%0D%0A}%0D%0A    </s%63r%69pt>%0D%0A  ");process(pe);}start();