PageSourceSearch

https://www.compeve.com/includes/general.js

js compeve.com collected 2026-09-29 21:55:12 UTC 5,642 bytes, 200 lines download raw bytes

1//
2// +----------------------------------------------------------------------+
3// |zen-cart Open Source E-commerce                                       |
4// +----------------------------------------------------------------------+
5// | Copyright (c) 2003 The zen-cart developers                           |
6// |                                                                      |   
7// | http://www.zen-cart.com/index.php                                    |   
8// |                                                                      |   
9// | Portions Copyright (c) 2003 osCommerce                               |
10// +----------------------------------------------------------------------+
11// | This source file is subject to version 2.0 of the GPL license,       |
12// | that is bundled with this package in the file LICENSE, and is        |
13// | available through the world-wide-web at the following url:           |
14// | http://www.zen-cart.com/license/2_0.txt.                             |
15// | If you did not receive a copy of the zen-cart license and are unable |
16// | to obtain it through the world-wide-web, please send a note to       |
17// | [email protected] so we can mail you a copy immediately.          |
18// +----------------------------------------------------------------------+
19// $Id: general.js 1105 2005-04-04 22:05:35Z birdbrain $
20//
21
22function SetFocus(TargetFormName) {
23  var target = 0;
24  if (TargetFormName != "") {
25    for (i=0; i<document.forms.length; i++) {
26      if (document.forms[i].name == TargetFormName) {
27        target = i;
28        break;
29      }
30    }
31  }
32
33  var TargetForm = document.forms[target];
34    
35  for (i=0; i<TargetForm.length; i++) {
36    if ( (TargetForm.elements[i].type != "image") && (TargetForm.elements[i].type != "hidden") && (TargetForm.elements[i].type != "reset") && (TargetForm.elements[i].type != "submit") ) {
37      TargetForm.elements[i].focus();
38
39      if ( (TargetForm.elements[i].type == "text") || (TargetForm.elements[i].type == "password") ) {
40        TargetForm.elements[i].select();
41      }
42
43      break;
44    }
45  }
46}
47
48function RemoveFormatString(TargetElement, FormatString) {
49  if (TargetElement.value == FormatString) {
50    TargetElement.value = "";
51  }
52
53  TargetElement.select();
54}
55
56function CheckDateRange(from, to) {
57  if (Date.parse(from.value) <= Date.parse(to.value)) {
58    return true;
59  } else {
60    return false;
61  }
62}
63
64function IsValidDate(DateToCheck, FormatString) {
65  var strDateToCheck;
66  var strDateToCheckArray;
67  var strFormatArray;
68  var strFormatString;
69  var strDay;
70  var strMonth;
71  var strYear;
72  var intday;
73  var intMonth;
74  var intYear;
75  var intDateSeparatorIdx = -1;
76  var intFormatSeparatorIdx = -1;
77  var strSeparatorArray = new Array("-"," ","/",".");
78  var strMonthArray = new Array("jan","feb","mar","apr","may","jun","jul","aug","sep","oct","nov","dec");
79  var intDaysArray = new Array(31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31);
80
81  strDateToCheck = DateToCheck.toLowerCase();
82  strFormatString = FormatString.toLowerCase();
83  
84  if (strDateToCheck.length != strFormatString.length) {
85    return false;
86  }
87
88  for (i=0; i<strSeparatorArray.length; i++) {
89    if (strFormatString.indexOf(strSeparatorArray[i]) != -1) {
90      intFormatSeparatorIdx = i;
91      break;
92    }
93  }
94
95  for (i=0; i<strSeparatorArray.length; i++) {
96    if (strDateToCheck.indexOf(strSeparatorArray[i]) != -1) {
97      intDateSeparatorIdx = i;
98      break;
99    }
100  }
101
102  if (intDateSeparatorIdx != intFormatSeparatorIdx) {
103    return false;
104  }
105
106  if (intDateSeparatorIdx != -1) {
107    strFormatArray = strFormatString.split(strSeparatorArray[intFormatSeparatorIdx]);
108    if (strFormatArray.length != 3) {
109      return false;
110    }
111
112    strDateToCheckArray = strDateToCheck.split(strSeparatorArray[intDateSeparatorIdx]);
113    if (strDateToCheckArray.length != 3) {
114      return false;
115    }
116
117    for (i=0; i<strFormatArray.length; i++) {
118      if (strFormatArray[i] == 'mm' || strFormatArray[i] == 'mmm') {
119        strMonth = strDateToCheckArray[i];
120      }
121
122      if (strFormatArray[i] == 'dd') {
123        strDay = strDateToCheckArray[i];
124      }
125
126      if (strFormatArray[i] == 'yyyy') {
127        strYear = strDateToCheckArray[i];
128      }
129    }
130  } else {
131    if (FormatString.length > 7) {
132      if (strFormatString.indexOf('mmm') == -1) {
133        strMonth = strDateToCheck.substring(strFormatString.indexOf('mm'), 2);
134      } else {
135        strMonth = strDateToCheck.substring(strFormatString.indexOf('mmm'), 3);
136      }
137
138      strDay = strDateToCheck.substring(strFormatString.indexOf('dd'), 2);
139      strYear = strDateToCheck.substring(strFormatString.indexOf('yyyy'), 2);
140    } else {
141      return false;
142    }
143  }
144
145  if (strYear.length != 4) {
146    return false;
147  }
148
149  intday = parseInt(strDay, 10);
150  if (isNaN(intday)) {
151    return false;
152  }
153  if (intday < 1) {
154    return false;
155  }
156
157  intMonth = parseInt(strMonth, 10);
158  if (isNaN(intMonth)) {
159    for (i=0; i<strMonthArray.length; i++) {
160      if (strMonth == strMonthArray[i]) {
161        intMonth = i+1;
162        break;
163      }
164    }
165    if (isNaN(intMonth)) {
166      return false;
167    }
168  }
169  if (intMonth > 12 || intMonth < 1) {
170    return false;
171  }
172
173  intYear = parseInt(strYear, 10);
174  if (isNaN(intYear)) {
175    return false;
176  }
177  if (IsLeapYear(intYear) == true) {
178    intDaysArray[1] = 29;
179  }
180
181  if (intday > intDaysArray[intMonth - 1]) {
182    return false;
183  }
184  
185  return true;
186}
187
188function IsLeapYear(intYear) {
189  if (intYear % 100 == 0) {
190    if (intYear % 400 == 0) {
191      return true;
192    }
193  } else {
194    if ((intYear % 4) == 0) {
195      return true;
196    }
197  }
198
199  return false;
200}

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.