Initial commit
[clearscm.git] / maps / JavaScript / ListActions.js
1 ////////////////////////////////////////////////////////////////////////////////
2 //
3 // File:        $RCSFile$
4 // Revision:    $Revision: 1.1 $
5 // Description: This JavaScript performs some simple validations for the 
6 //              actions buttons on the list page.
7 // Author:      Andrew@DeFaria.com
8 // Created:     Fri Nov 29 14:17:21  2002
9 // Modified:    $Date: 2013/06/12 14:05:47 $
10 // Language:    JavaScript
11 //
12 // (c) Copyright 2000-2006, Andrew@DeFaria.com, all rights reserved.
13 //
14 ////////////////////////////////////////////////////////////////////////////////
15 function CheckOnly1Checked (form) {
16   var nbr_checked = 0;
17
18   // Loop through form and count the number of checked boxes
19   for (var i = 0; i < form.length; i++) {
20     var e = form.elements [i];
21     if (e.type == "checkbox" && e.checked) {
22       nbr_checked++;
23     } // if
24   } // for
25
26   if (nbr_checked == 1) {
27     return true;
28   } else if (nbr_checked > 1) {
29     alert ("You can only have one item marked for this action");
30     return false;
31   } else {
32     alert ("No lines were marked!");
33     return false;
34   } // if
35 } // CheckOnly1Checked
36
37 function CheckAtLeast1Checked (form) {
38   var nbr_checked = 0;
39
40   // Loop through form and count the number of checked boxes
41   for (var i = 0; i < form.length; i++) {
42     var e = form.elements [i];
43     if (e.type == "checkbox" && e.checked) {
44       nbr_checked++;
45     } // if
46   } // for
47
48   if (nbr_checked > 0) {
49     return true;
50   } else {
51     alert ("No lines were marked!");
52     return false;
53   } // if
54 } // CheckAtLeast1Checked
55
56 function NoneChecked (form) {
57   var nbr_checked = 0;
58
59   // Loop through form and count the number of checked boxes
60   for (var i = 0; i < form.length; i++) {
61     var e = form.elements [i];
62     if (e.type == "checkbox" && e.checked) {
63       nbr_checked++;
64     } // if
65   } // for
66
67   if (nbr_checked == 0) {
68     return true;
69   } else {
70     alert ("You must not have any checkboxes checked to perform this action");
71     return false;
72   } // if
73 } // NoneChecked
74
75 function AreYouSure (message) {
76   return window.confirm (message);
77 } // AreYouSure
78
79 function ClearAll (form) {
80   for (var i = 0; i < form.length; i++) {
81     var e = form.elements [i];
82     if (e.type == "checkbox" && e.checked) {
83       e.checked = false;
84     } // if
85   } // for
86
87   return false;
88 } // ClearAll
89
90 function CheckEntry (form) {
91   var current_entry     = "";
92   var current_entry_nbr = 0;
93
94   var digits    = /[^\d]+(\d+)/;
95   var parmname  = /([^\d]+)\d+/;
96
97   for (var i = 0; i < form.length; i++) {
98     var e = form.elements [i];
99     if (e.type == "text") {
100       var name = e.name;
101       var parm = name.match (parmname);
102       var nbr  = name.match (digits);
103       if (current_entry_nbr == 0) {
104         current_entry_nbr = nbr [1];
105       } // if
106       if (nbr [1] == current_entry_nbr) {
107         if (parm [1] == "pattern" || parm [1] == "domain") {
108           current_entry = current_entry + e.value;
109         } // if
110       } else {
111         if (current_entry == "") {
112           alert ("You must specify a value for Username and/or Domain for entry #" + current_entry_nbr);
113           return false;
114         } // if
115         current_entry_nbr = nbr [1];
116         current_entry     = e.value;
117       } // if
118     } // if
119   } // for
120
121   if (current_entry == "") {
122     alert ("You must specify a value for Username and/or Domain for entry #" + current_entry_nbr);
123     return false;
124   } else {
125     return true;
126   } // if
127 } // CheckEntry
128
129 function ChangePage (page, type, lines) {
130   window.location = "/maps/php/list.php" + "?type=" + type + "&next=" + page * lines;
131 } // ChangePage
132