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