home *** CD-ROM | disk | FTP | other *** search
/ Chip 2002 February / CHIPCD_02_2002.iso / Internet / Macromedia ColdFusion Server 5 / coldfusion-50-win-us.exe / data1.cab / Program_Files / Scripts / cfform.js < prev   
Encoding:
Text File  |  2001-06-13  |  13.1 KB  |  592 lines

  1.  
  2. LOAD_START
  3. var _CF_loaded=0;
  4.  
  5. function _CF_signalLoad()
  6. {
  7.     _CF_loaded = 1;
  8. }
  9. LOAD_END
  10.  
  11. CABOBJECT_START
  12.  
  13. <OBJECT 
  14.     CLASSID="clsid:072D3F2E-5FB6-11d3-B461-00C04FA35A21"
  15.     CODEBASE="/CFIDE/classes/CFJava.cab#Version=4,5,0,0">
  16. </OBJECT>
  17.  
  18. CABOBJECT_END
  19.  
  20. ONERROR_START
  21. function _CF_onError(form_object, input_object, object_value, error_message)
  22.     {
  23.     alert(error_message);
  24.            return false;    
  25.     }
  26. ONERROR_END
  27.  
  28. REQUIRED_START
  29. function _CF_hasValue(obj, obj_type)
  30.     {
  31.     if (obj_type == "TEXT" || obj_type == "PASSWORD")
  32.     {
  33.         if (obj.value.length == 0) 
  34.               return false;
  35.         else 
  36.               return true;
  37.         }
  38.     else if (obj_type == "SELECT")
  39.     {
  40.         for (i=0; i < obj.length; i++)
  41.             {
  42.         if (obj.options[i].selected)
  43.             return true;
  44.         }
  45.  
  46.            return false;    
  47.     }
  48.     else if (obj_type == "SINGLE_VALUE_RADIO" || obj_type == "SINGLE_VALUE_CHECKBOX")
  49.     {
  50.  
  51.         if (obj.checked)
  52.             return true;
  53.         else
  54.                return false;    
  55.     }
  56.     else if (obj_type == "RADIO" || obj_type == "CHECKBOX")
  57.     {
  58.  
  59.         for (i=0; i < obj.length; i++)
  60.             {
  61.         if (obj[i].checked)
  62.             return true;
  63.         }
  64.  
  65.            return false;    
  66.     }
  67.     }
  68. REQUIRED_END
  69.  
  70. CHECKDATE_START
  71. function _CF_checkdate(object_value)
  72.     {
  73.     //Returns true if value is a date format or is NULL
  74.     //otherwise returns false    
  75.  
  76.     if (object_value.length == 0)
  77.         return true;
  78.  
  79.     //Returns true if value is a date in the mm/dd/yyyy format
  80.     isplit = object_value.indexOf('/');
  81.  
  82.     if (isplit == -1 || isplit == object_value.length)
  83.         return false;
  84.  
  85.     sMonth = object_value.substring(0, isplit);
  86.  
  87.     if (sMonth.length == 0)
  88.         return false;
  89.  
  90.     isplit = object_value.indexOf('/', isplit + 1);
  91.  
  92.     if (isplit == -1 || (isplit + 1 ) == object_value.length)
  93.         return false;
  94.  
  95.     sDay = object_value.substring((sMonth.length + 1), isplit);
  96.  
  97.     if (sDay.length == 0)
  98.         return false;
  99.  
  100.     sYear = object_value.substring(isplit + 1);
  101.  
  102.     if (!_CF_checkinteger(sMonth)) //check month
  103.         return false;
  104.     else
  105.     if (!_CF_checkrange(sMonth, 1, 12)) //check month
  106.         return false;
  107.     else
  108.     if (!_CF_checkinteger(sYear)) //check year
  109.         return false;
  110.     else
  111.     if (!_CF_checkrange(sYear, 0, 9999)) //check year
  112.         return false;
  113.     else
  114.     if (!_CF_checkinteger(sDay)) //check day
  115.         return false;
  116.     else
  117.     if (!_CF_checkday(sYear, sMonth, sDay)) // check day
  118.         return false;
  119.     else
  120.         return true;
  121.     }
  122. CHECKDATE_END
  123.  
  124. CHECKEURODATE_START
  125. function _CF_checkeurodate(object_value)
  126.     {
  127.     //Returns true if value is a eurodate format or is NULL
  128.     //otherwise returns false    
  129.  
  130.     if (object_value.length == 0)
  131.         return true;
  132.  
  133.     //Returns true if value is a date in the dd/mm/yyyy format
  134.     isplit = object_value.indexOf('/');
  135.  
  136.     if (isplit == -1)
  137.     {
  138.         isplit = object_value.indexOf('.');
  139.     }
  140.  
  141.     if (isplit == -1 || isplit == object_value.length)
  142.         return false;
  143.  
  144.     sDay = object_value.substring(0, isplit);
  145.  
  146.     monthSplit = isplit + 1;
  147.  
  148.     isplit = object_value.indexOf('/', monthSplit);
  149.  
  150.     if (isplit == -1)
  151.     {
  152.         isplit = object_value.indexOf('.', monthSplit);
  153.     }
  154.  
  155.     if (isplit == -1 ||  (isplit + 1 )  == object_value.length)
  156.         return false;
  157.  
  158.     sMonth = object_value.substring((sDay.length + 1), isplit);
  159.  
  160.     sYear = object_value.substring(isplit + 1);
  161.  
  162.     if (!_CF_checkinteger(sMonth)) //check month
  163.         return false;
  164.     else
  165.     if (!_CF_checkrange(sMonth, 1, 12)) // check month
  166.         return false;
  167.     else
  168.     if (!_CF_checkinteger(sYear)) //check year
  169.         return false;
  170.     else
  171.     if (!_CF_checkrange(sYear, 0, null)) //check year
  172.         return false;
  173.     else
  174.     if (!_CF_checkinteger(sDay)) //check day
  175.         return false;
  176.     else
  177.     if (!_CF_checkday(sYear, sMonth, sDay)) //check day
  178.         return false;
  179.     else
  180.         return true;
  181.     }
  182. CHECKEURODATE_END
  183.  
  184. CHECKDAY_START
  185. function _CF_checkday(checkYear, checkMonth, checkDay)
  186.     {
  187.  
  188.     maxDay = 31;
  189.  
  190.     if (checkMonth == 4 || checkMonth == 6 ||
  191.             checkMonth == 9 || checkMonth == 11)
  192.         maxDay = 30;
  193.     else
  194.     if (checkMonth == 2)
  195.     {
  196.         if (checkYear % 4 > 0)
  197.             maxDay =28;
  198.         else
  199.         if (checkYear % 100 == 0 && checkYear % 400 > 0)
  200.             maxDay = 28;
  201.         else
  202.             maxDay = 29;
  203.     }
  204.  
  205.     return _CF_checkrange(checkDay, 1, maxDay); //check day
  206.     }
  207. CHECKDAY_END
  208.  
  209.  
  210. CHECKINTEGER_START
  211. function _CF_checkinteger(object_value)
  212.     {
  213.     //Returns true if value is a number or is NULL
  214.     //otherwise returns false    
  215.  
  216.     if (object_value.length == 0)
  217.         return true;
  218.  
  219.     //Returns true if value is an integer defined as
  220.     //   having an optional leading + or -.
  221.     //   otherwise containing only the characters 0-9.
  222.     var decimal_format = ".";
  223.     var check_char;
  224.  
  225.     //The first character can be + -  blank or a digit.
  226.     check_char = object_value.indexOf(decimal_format)
  227.     //Was it a decimal?
  228.     if (check_char < 1)
  229.     return _CF_checknumber(object_value);
  230.     else
  231.     return false;
  232.     }
  233. CHECKINTEGER_END
  234.  
  235. CHECKNUMBERRANGE_START
  236. function _CF_numberrange(object_value, min_value, max_value)
  237.     {
  238.     // check minimum
  239.     if (min_value != null)
  240.     {
  241.         if (object_value < min_value)
  242.         return false;
  243.     }
  244.  
  245.     // check maximum
  246.     if (max_value != null)
  247.     {
  248.     if (object_value > max_value)
  249.         return false;
  250.     }
  251.     
  252.     //All tests passed, so...
  253.     return true;
  254.     }
  255. CHECKNUMBERRANGE_END
  256.  
  257. CHECKNUMBER_START
  258. function _CF_checknumber(object_value)
  259.     {
  260.     //Returns true if value is a number or is NULL
  261.     //otherwise returns false    
  262.  
  263.     if (object_value.length == 0)
  264.         return true;
  265.  
  266.     //Returns true if value is a number defined as
  267.     //   having an optional leading + or -.
  268.     //   having at most 1 decimal point.
  269.     //   otherwise containing only the characters 0-9.
  270.     var start_format = " .+-0123456789";
  271.     var number_format = " .0123456789";
  272.     var check_char;
  273.     var decimal = false;
  274.     var trailing_blank = false;
  275.     var digits = false;
  276.  
  277.     //The first character can be + - .  blank or a digit.
  278.     check_char = start_format.indexOf(object_value.charAt(0))
  279.     //Was it a decimal?
  280.     if (check_char == 1)
  281.         decimal = true;
  282.     else if (check_char < 1)
  283.         return false;
  284.         
  285.     //Remaining characters can be only . or a digit, but only one decimal.
  286.     for (var i = 1; i < object_value.length; i++)
  287.     {
  288.         check_char = number_format.indexOf(object_value.charAt(i))
  289.         if (check_char < 0)
  290.             return false;
  291.         else if (check_char == 1)
  292.         {
  293.             if (decimal)        // Second decimal.
  294.                 return false;
  295.             else
  296.                 decimal = true;
  297.         }
  298.         else if (check_char == 0)
  299.         {
  300.             if (decimal || digits)    
  301.                 trailing_blank = true;
  302.         // ignore leading blanks
  303.  
  304.         }
  305.             else if (trailing_blank)
  306.             return false;
  307.         else
  308.             digits = true;
  309.     }    
  310.     //All tests passed, so...
  311.     return true
  312.     }
  313. CHECKNUMBER_END
  314.  
  315. CHECKRANGE_START
  316. function _CF_checkrange(object_value, min_value, max_value)
  317.     {
  318.     //if value is in range then return true else return false
  319.  
  320.     if (object_value.length == 0)
  321.         return true;
  322.  
  323.  
  324.     if (!_CF_checknumber(object_value))
  325.     {
  326.     return false;
  327.     }
  328.     else
  329.     {
  330.     return (_CF_numberrange((eval(object_value)), min_value, max_value));
  331.     }
  332.     
  333.     //All tests passed, so...
  334.     return true;
  335.     }
  336. CHECKRANGE_END 
  337.  
  338. CHECKTIME_START
  339. function _CF_checktime(object_value)
  340.     {
  341.     //Returns true if value is in time format or is NULL
  342.     //otherwise returns false    
  343.  
  344.     if (object_value.length == 0)
  345.         return true;
  346.  
  347.     //Returns true if value is a date in the mm/dd/yyyy format
  348.     isplit = object_value.indexOf(':');
  349.  
  350.     if (isplit == -1 || isplit == object_value.length)
  351.         return false;
  352.  
  353.     sHour = object_value.substring(0, isplit);
  354.     iminute = object_value.indexOf(':', isplit + 1);
  355.  
  356.     if (iminute == -1 || iminute == object_value.length)
  357.         sMin = object_value.substring((sHour.length + 1));
  358.     else
  359.         sMin = object_value.substring((sHour.length + 1), iminute);
  360.  
  361.     if (!_CF_checkinteger(sHour)) //check hour
  362.         return false;
  363.     else
  364.     if (!_CF_checkrange(sHour, 0, 23)) //check hour
  365.         return false;
  366.  
  367.     if (!_CF_checkinteger(sMin)) //check minutes
  368.         return false;
  369.     else
  370.     if (!_CF_checkrange(sMin, 0, 59)) // check minutes
  371.         return false;
  372.  
  373.     // did they specify seconds
  374.     if (iminute != -1)
  375.     {
  376.         sSec = object_value.substring(iminute + 1);
  377.  
  378.         if (!_CF_checkinteger(sSec)) //check seconds
  379.             return false;
  380.         else
  381.         if (!_CF_checkrange(sSec, 0, 59)) //check seconds
  382.             return false;    
  383.     }
  384.     
  385.     return true;
  386.     }
  387.     CHECKTIME_END
  388.  
  389. CHECKPHONENUMBER_START
  390. function _CF_checkphone(object_value)
  391.     {
  392.     if (object_value.length == 0)
  393.         return true;
  394.         
  395.     if (object_value.length != 12)
  396.         return false;
  397.  
  398.     // check if first 3 characters represent a valid area code
  399.     if (!_CF_checknumber(object_value.substring(0,3)))
  400.         return false;
  401.     else
  402.     if (!_CF_numberrange((eval(object_value.substring(0,3))), 100, 1000))
  403.         return false;
  404.  
  405.     // check if area code/exchange separator is either a'-' or ' '
  406.     if (object_value.charAt(3) != "-" && object_value.charAt(3) != " ")
  407.         return false
  408.  
  409.     // check if  characters 5 - 7 represent a valid exchange
  410.     if (!_CF_checknumber(object_value.substring(4,7)))
  411.         return false;
  412.     else
  413.     if (!_CF_numberrange((eval(object_value.substring(4,7))), 100, 1000))
  414.         return false;
  415.     
  416.     // check if exchange/number separator is either a'-' or ' '
  417.     if (object_value.charAt(7) != "-" && object_value.charAt(7) != " ")
  418.         return false;
  419.  
  420.     // make sure last for digits are a valid integer
  421.     if (object_value.charAt(8) == "-" || object_value.charAt(8) == "+")
  422.         return false;
  423.     else
  424.     {
  425.         return (_CF_checkinteger(object_value.substring(8,12)));
  426.     }
  427.     }
  428. CHECKPHONENUMBER_END 
  429.  
  430. CHECKZIPCODE_START
  431. function _CF_checkzip(object_value)
  432.     {
  433.     if (object_value.length == 0)
  434.         return true;
  435.         
  436.     if (object_value.length != 5 && object_value.length != 10)
  437.         return false;
  438.  
  439.     // make sure first 5 digits are a valid integer
  440.     if (object_value.charAt(0) == "-" || object_value.charAt(0) == "+")
  441.         return false;
  442.  
  443.     if (!_CF_checkinteger(object_value.substring(0,5)))
  444.         return false;
  445.  
  446.     if (object_value.length == 5)
  447.         return true;
  448.     
  449.     // make sure
  450.  
  451.     // check if separator is either a'-' or ' '
  452.     if (object_value.charAt(5) != "-" && object_value.charAt(5) != " ")
  453.         return false;
  454.  
  455.     // check if last 4 digits are a valid integer
  456.     if (object_value.charAt(6) == "-" || object_value.charAt(6) == "+")
  457.         return false;
  458.  
  459.     return (_CF_checkinteger(object_value.substring(6,10)));
  460.     }
  461. CHECKZIPCODE_END 
  462.  
  463. CHECKCREDITCARD_START
  464. function _CF_checkcreditcard(object_value)
  465.     {
  466.     var white_space = " -";
  467.     var creditcard_string="";
  468.     var check_char;
  469.  
  470.  
  471.     if (object_value.length == 0)
  472.         return true;
  473.  
  474.     // squish out the white space
  475.     for (var i = 0; i < object_value.length; i++)
  476.     {
  477.         check_char = white_space.indexOf(object_value.charAt(i))
  478.         if (check_char < 0)
  479.             creditcard_string += object_value.substring(i, (i + 1));
  480.     }    
  481.  
  482.     // if all white space return error
  483.     if (creditcard_string.length == 0)
  484.         return false;
  485.      
  486.          
  487.     // make sure number is a valid integer
  488.     if (creditcard_string.charAt(0) == "+")
  489.         return false;
  490.  
  491.     if (!_CF_checkinteger(creditcard_string))
  492.         return false;
  493.  
  494.     // now check mod10
  495.  
  496.     var doubledigit = creditcard_string.length % 2 == 1 ? false : true;
  497.     var checkdigit = 0;
  498.     var tempdigit;
  499.  
  500.     for (var i = 0; i < creditcard_string.length; i++)
  501.     {
  502.         tempdigit = eval(creditcard_string.charAt(i))
  503.  
  504.         if (doubledigit)
  505.         {
  506.             tempdigit *= 2;
  507.             checkdigit += (tempdigit % 10);
  508.  
  509.             if ((tempdigit / 10) >= 1.0)
  510.             {
  511.                 checkdigit++;
  512.             }
  513.  
  514.             doubledigit = false;
  515.         }
  516.         else
  517.         {
  518.             checkdigit += tempdigit;
  519.             doubledigit = true;
  520.         }
  521.     }    
  522.     return (checkdigit % 10) == 0 ? true : false;
  523.  
  524.     }
  525. CHECKCREDITCARD_END 
  526.  
  527.  
  528. CHECKSSC_START
  529. function _CF_checkssc(object_value)
  530.     {
  531.     var white_space = " -+.";
  532.     var ssc_string="";
  533.     var check_char;
  534.  
  535.  
  536.     if (object_value.length == 0)
  537.         return true;
  538.  
  539.     if (object_value.length != 11)
  540.         return false;
  541.  
  542.     // make sure white space is valid
  543.     if (object_value.charAt(3) != "-" && object_value.charAt(3) != " ")
  544.         return false;
  545.  
  546.     if (object_value.charAt(6) != "-" && object_value.charAt(6) != " ")
  547.         return false;
  548.  
  549.      
  550.     // squish out the white space
  551.     for (var i = 0; i < object_value.length; i++)
  552.     {
  553.         check_char = white_space.indexOf(object_value.charAt(i))
  554.         if (check_char < 0)
  555.             ssc_string += object_value.substring(i, (i + 1));
  556.     }    
  557.  
  558.     // if all white space return error
  559.     if (ssc_string.length != 9)
  560.         return false;
  561.      
  562.          
  563.     // make sure number is a valid integer
  564.     if (!_CF_checkinteger(ssc_string))
  565.         return false;
  566.  
  567.     return true;
  568.  
  569.     }
  570. CHECKSSC_END 
  571.  
  572.  
  573. SETFORMVAR_START
  574. // Function, called by Java applets, to set a specified form param's value.
  575. function _CF_setFormParam( strFormName, strParamName, strParamValue )
  576.     {
  577.         var strObjName = "document." + strFormName + "." + strParamName;
  578.         var obj = eval( strObjName );
  579.         obj.value = strParamValue;
  580.         return true;
  581.     }
  582. SETFORMVAR_END
  583.  
  584. CHECKREGEX_START
  585. function _CF_checkregex(object_value, regex)
  586.     {
  587.     //Returns true if the value matches the Regular Expression passed in.
  588.     
  589.     return regex.test(object_value);
  590.  
  591.     }
  592. CHECKREGEX_END