Note, you need to be running the trial version before ordering and have your "machine code" available. You will receive your unlock key by email from us within a few hours. | |||
Prices | |||
a single user license | US$29.00 | ||
a 2 to 10 user license | US$59.00 | ||
an 11 or more user license | US$99.00 |
Double clicking the icon produces the dialog (you need to click "Show Details>>"). | ![]() |
This type of feedback can be difficult. The HTML file which is being displayed here is shown below in the ScrypTik editor. The error pane shows what is wrong in a user friendly way, and saves time by avoiding a trip to a browser to find errors. |
![]() |
A Javascript function is being called , initMyPage(), which cannot be found because it is declared with a lower case "p". The problem is presented to the user in a much clearer way than "Line: 15 Char: 1 Object expected" and it can be fixed and syntax checked in the editor immediately. |
We have five downloads available, ScrypTik version 1.13 (August 2005), ScrypTik version 1.14 (April 2007), ScrypTik version 1.15 (May 2007), ScrypTik version 1.16 (June 2010) and the PAD file for shareware distributors. Note, the pad file is stored within the ScrypTik zip files.
ScrypTik is shareware, you get to try before you buy. There are 20 free trial usages.
Version 1.16 works on Win7. If you install this on an OS prior to Win7 over the top of an existing install, you will probably need a new unlock key. Just email us the new machine code and we will supply a new unlock key. If you have trouble unzipping, try the free open source program - 7zip.
Version 1.15 works on Vista, previous versions did not load the help file and crashed on exit.
Version 1.14 has some new features but may produce more "false" errors. If you find this, just install version1.13 over the top of it.
Existing users of 1.13 may require a new unlock key when upgrading to 1.14. Just email us the new machine code and we will supply a new unlock key.
Application Dialog Errors
|
Explanation
|
File "FileName'' does not exist | Can only happen when opening a file from Windows Explorer and Windows dde fails with the association somehow. |
This file has been changed by another application! OK to Re-load this file now? | If you edit and save this file with another application eg notepad, then you get one chance to re-load it. Very confusing to edit the same file concurrently from different applications, you can easily lose changes. |
File: "FileName" is already open! ScrypTik does not allow the same file to be opened more than once. | It is too confusing to have the same file opened more than once, eg saving a copy that does not have the latest changes. |
File: "FileName", has changed. Save now? | Content has changed, you can save changes or discard them by not saving. |
Document "Name" has changed, do you want to save before viewing in Browser? | If you do not save before viewing in the browser, you will not see the latest changes. |
File "FileName" not found, must Save before viewing. | A new file must be given a name and saved before viewing. |
No further occurence of ''SomeText'' found. | Repeat search (F3) could not find another occurence. |
File extension not same as selected filter. Please confirm you wish to save file as "?????" | The filters are .htm, .html, .js etc. If you select a filter and name your file using a different extension, this warning appears. |
File: "FileName" is already open! ScrypTik does not allow you to "Save As" this name. | Can't save as a file that is already open in ScrypTik. |
File: "FileName"' no longer exists. This entry will be removed from the Reopen list. | ScrypTik remembers the last 10 files worked on. A file in the reopen list has been deleted or moved. The list entry will be removed. You will have to locate it and open it using "open". |
No browser selected! | If a choice of browser is offered at view time, you must select one to proceed. |
Table not complete, non numeric entry in table details | Could not create HTML table because an entry in one of the numeric fields (cols, rows, border etc) was invalid. |
List not complete, non numeric entry in list items | Could not create HTML list because an entry in one of the numeric fields (number of items) was invalid. |
Non numeric entry in margin details | The print dialog has options for margin size. An entry for one of them was invalid. |
# |
Explanation |
|
1 |
recommended to avoid an identifier name of "identifier" | The list of names to avoid is checked for every variable, parameter etc. The list is a subset of the DOM keyword list. This is probably a redundant check. |
2 |
recommended to use "var" when declaring variables in a function, "identifier" will be treated as global! | In Javascript, variables may be created without using the keyword "var". If the "var" keyword is omitted when declaring variables inside a function, then those variables are global, not local. |
# |
||
10 |
unknown escape sequence "\" + Character, (maybe a correct URL or file path) | The valid escape codes are:- \b, \t, \n, \v, \f, \r, \", \', \\, \000 (octal number 0 -377), \xHH (hex), \uHHHH (unicode) where H is a Hex value (0 - F) |
11 |
local var "varName" already declared on line n | Declaring the same variable again - warning only. |
12 |
local var "varName" same name as a function parameter | A local variable "shadows" a parameter by using the same name. Very likely an error. |
13 |
missing semicolon | If the option to warn on every missing semicolon is active, this message appears for every line with a missing semicolon. |
14 |
duplicate function - "functionName". Browsers will use the last one without reporting any error! | You may have several functions named the same and browsers do not report any error. Not a good idea! |
15 |
empty block "{...}" or missing "{" in function | Function may be under construction - warning only. |
16 |
the "arguments" property of functions is deprecated | Meaning this will eventually not be a feature of later versions of Javascript and therefore use of "arguments" is not a good idea. |
17 |
ECMAscript doesn''t allow line terminators between "throw" and expression | To adhere to ECMA you can't have a line-break between "throw" and expression. |
18 |
catch Id same name as a function parameter | Catch Id should have a unique name. |
19 |
catch Id same name as a local variable | ditto |
20 |
catch Id same name as a global variable | ditto |
21 |
Identifier named "Var" is probably meant to be keyword "var" | Possible typing error. |
22 |
variable/function name "identifier" is a reserved word or DOM object | Should not use Javascript reserved words, preferable not to use DOM object names. |
23 |
global var "identifier" already declared on line n | Declaring the same variable again - warning only. |
24 |
";" after "if (expression)", "if" now redundant | The semicolon terminates the if which is probably not what you want. |
25 |
empty block in "do . . while" | No statements inside do . . while, maybe under construction. |
26 |
should probably be test for equality "==" not assignment "=" | Common mistake to use one = (assignment) when you should use two == (are two values the same?) |
27 |
";" after "while (expression)", will only loop expression instructions | The semicolon terminates the while which is possibly not what you want. |
28 |
"while" empty | No statements inside while loop body, maybe under construction. |
29 |
";" after "for", will only loop instructions inside ( ) | The semicolon terminates the for which is possibly not what you want. |
30 |
empty "for" loop body | No statements inside for loop body, maybe under construction. |
31 |
preferable to have expression and ++ or -- on same line | If your code ever encounters automatic semicolon insertion, you risk an error. |
32 |
empty array initialiser | Warning only. |
33 |
invalid array index expression | The expression inside [] is invalid. |
34 |
Include File "FileName" has been changed but not saved | When checking syntax, ScrypTik always reads include files from disk, NOT from the editor. |
35 |
HTML Name "identifier" missing "]" | An HTML named element has an opening index [ without matching ]. |
36 |
tag name/id "identifier" is a DOM property/method | Try to avoid using these names. |
37 |
HTML Name/Id "identifier" is duplicated | Browsers don't seem to mind this, but it does not seem exactly "robust"! |
38 |
Name and Id attributes have different values "HTMLName" & "HTMLId" | Warning only. |
39 |
check number of equals ("=") symbols (or "s)) | HTML tags with attributes are checked for the number of "=" symbols being the same as the number of attributes. It is better (compulsory in XHTML) that every attribute value is quoted (inside ' or "). |
40 |
Form name/id "FormName" is a DOM property/method | Try to avoid using these names. |
41 |
</form> tag found without preceding <form> tag (maybe in dynamic HTML) | Tag pairing, should normally match unless the opening <form> tag is created dynamically. |
42 |
</script> tag missing | No closing tag found for a <script> tag. |
43 |
</form> tag missing | No closing tag found for a <form> tag. |
44 |
HTML comment tag never closed with a "-->" tag | This can mean that large parts of a document are ignored because they are treated as a comment. May need a closing comment tag. |
45 |
HTML object "identifier" referenced earlier than declaration on line n. | Global or inline Javascript code which refers to HTML objects that are at higher line numbers than the code can cause browser errors. Move the <script> section to after the closing body </body> tag. |
46 |
function "functionName" not called from Javascript or HTML | Maybe a redundant function that you can remove, or maybe about to be used. |
47 |
possible HTML closing comment tag "-->" found within script | If it really is meant to be an HTML comment, then it should be preceeded by a Javascript/Jscript comment symbol "//". |
48 |
The update part of a "for" loop should change a variable by assignment or pre/postfix operator. | Usually the third part of a for ( ; ; ) changes something eg count++. |
49 |
space between < and input causes problems with some browsers | The word "input" must be immediately after the opening tag symbol "<". |
50 |
empty block or missing statement in "if" | No statements after "if", maybe under construction. |
51 |
empty block or missing statement in "else" | No statements after "else", maybe under construction. |
52 |
function name "identifier" is duplicated in HTML Names | Some browsers don't like Javascript function names duplicating HTML object names. |
53 |
function "identifier'" is an object method | Object methods should only be called via an object instance, not directly. |
54 |
return expression missing or invalid | Missing or faulty expression following a return instruction. |
# |
||
60 |
invalid #'?' character constant | Invalid character or missing "'" |
61 |
invalid exponent part in a decimal literal | Non digit (0-9) in an exponent literal |
62 |
\x used with invalid hex digit in following 2 chars | \x expects two valid hex characters to follow |
63 |
\u used with invalid hex digit in following 4 chars | \u expects four valid hex characters to follow |
64 |
\c used with invalid following char, only A - Z | \c expects one character in range A - Z. |
65 |
\octal value bigger than 0377 | Valid octal values only 0 - 377 |
66 |
unterminated "name" | The closing ' or " was missing. Can be a new line or end of script reached before the closing quote. |
67 |
missing string constant closing quote | The closing ' or " was missing. Can be a new line or end of script reached before the closing quote. |
68 |
label "identifier" already declared | Labels must be unique. |
69 |
duplicate embedded function "identifier" | A nested function duplication. |
70 |
duplicate parameter name, "identifier" | Each function parameter name must be unique. |
71 |
label "identifier" not found | break or continue with an unknown "goto" label. |
72 |
"else" without an "if" | "else" is an optional part of "if" and cannot be a statement on its own. |
73 |
extra closing block symbol "}" found | The number of opening and closing block symbols must be the same. |
74 |
unrecognised symbol found | An unexpected symbol found so there is no specific error reported. |
75 |
parsing stopped, correct previous error(s) | See note at the top of this page. |
76 |
on previous lines n opening block symbol "{" found without matching "}" | The number of opening and closing block symbols must be the same. |
77 |
missing symbol or operator between identifiers or literals (or space in identifier) | Usually two variables or literals are separated by an operator, eg myVar + 1. |
78 |
missing identifier or literal between operators | Usually two operators without a variable or literal does not make sense eg, / * |
79 |
missing "." between DOM elements or identifiers | Dot expected but not found. |
80 |
invalid space between comparison symbols | The combined two-character comparison symbols !=, <= and >= can't have a space between them. |
81 |
"!" is not a relational symbol | "!" is a unary operator not a conditional. |
82 |
( expected | Opening parenthesis expected eg after if |
83 |
".arguments" property only applies to current function name, not "identifier" | The "arguments" property may be preceded by the exact current function name. |
84 |
function parameter expected | Comma found in parameter list without following parameter. |
85 |
function name expected | A valid identifier must follow the key word "function". |
86 |
) expected | Closing parenthesis expected eg after if (expression |
87 |
";" found after function definition | In some browsers this causes a function to do nothing without reporting any error. |
88 |
: expected in object literal | Property/value pairs must be separated by a colon. |
89 |
} expected to complete object literal | The comma separated list of property/value pairs must be enclosed in curly brackets. |
90 |
global label "identifier" duplicated | Labels must be unique. |
91 |
"label" statement fail or missing ";" | An error with a label. |
92 |
"continue" only inside a loop | Can only use "continue" instruction inside a for, while or do while loop. |
93 |
"break" only inside a loop or switch | Can only use "break" instruction inside a for, while or do while loop or switch. |
94 |
||
95 |
"with" expression invalid | Faulty expression following a with ( instruction. |
96 |
invalid or no statements in "with" block | Some error with the contenets of { } following with |
97 |
"throw" expression invalid | Faulty expression following a throw instruction. |
98 |
invalid expression in "( )" | The expression inside ( ) of a selection, iteration or function call is invalid. |
99 |
{ expected | Start of block symbol expected eg after a function declaration. |
100 |
"case" expression fail | Faulty expression following a case : statement inside a switch instruction. |
101 |
":" expected after case expression | After case expression there must be a : |
102 |
"case" action statement(s) fail | Faulty statement(s) following a : in case. |
103 |
use "default" not "else" in switch | Switch has its own keyword default for non-specified conditions. else only applies to if. |
104 |
parse switch fail | Some general failure with a switch statement. |
105 |
"}" missing to end switch statement | Switch must terminate with an }. |
106 |
"try" block parse statement fail | Faulty statements following "try". |
107 |
"catch" or "finally" expected | "Try" block must be followed by "catch" or "finally" |
108 |
identifier expected | An identifier such as a variable or function name is expected. |
109 |
exception statement fail or empty | Invalid (or no) statement following catch or finally. |
110 |
"finally" block statement(s) fail | Faulty statements following "finally". |
111 |
only one "catch" permitted in Javascript | Other languages permit multiple catch blocks but not Javascript. |
112 |
"catch" must be before "finally" | Can't have catch after finally, finally must be last. |
113 |
var initialiser expression fail | Expression following = when declaring a variable is invalid. |
114 |
declared variable can only be initialised by assignment ("=") | Cannot initialise with += or -= etc, only = |
115 |
invalid character(s) after variable name | Variable name can only be followed by assignment, comma, list closing symbol or statement separator. |
116 |
variable name is a reserved word or DOM object | You cannot name a variable with one of Javascript's "reserved" or "key" words such as "if" or "for". |
117 |
identifier expected after comma | Comma indicates another variable to declare, but no identifier found. |
118 |
no variable(s) declared after "var" | Need to name the variable. |
119 |
"=" or "+=" expected after status/defaultStatus | status/defaultStatus must be followed by "=" or "+=". |
120 |
invalid expression following "=" | Invalid right hand side of assignment operator (=). |
121 |
expression fail in "if" | The expression inside ( ) following if is invalid. |
122 |
; expected in "for" | Inside the ( ) after for you need three optional expressions separated by two compulsory ;. |
123 |
} expected | Closing block symbol expected. |
124 |
";" after "do" | The semicolon terminates the do while which is probably not what you want. |
125 |
"while" expected | Must be while after the do block |
126 |
"(" expected after "while" | Expected boolean expression enclosed in ( ) after while |
127 |
"while" expression fail | Invalid expression inside ( ) after while |
128 |
) expected after expression | Closing bracket expected. |
129 |
"(" expected after "for" | for must be followed by expression inside ( ) |
130 |
identifier expected after comma in "for" | Comma indicates another variable or statement, but no identifier or statement found. |
131 |
invalid initialiser in "for" | Start value for control variable(s) is invalid. |
132 |
continuation expression fail in "for" | The expression which controls how long the for loop keeps repeating is invalid. |
133 |
update expression fail in "for" | The expression which increments or decrements variable(s) in a for loop is invalid. |
134 |
identifier expected after "in" | Must be an identifier after "in" in for .. in. |
135 |
only one variable allowed in "for .. in" | The for .. in statement can only control one variable. |
136 |
failed all iteration parsing | Something general wrong with while, do .. while or for loops.. |
137 |
expression expected after comma | General error where there should be an identifier or expression following a comma in a list. |
138 |
assignment(=) only to a variable, object property or defaultStatus | The left hand side of an assignment can only be a variable, object property or DOM read/write property such as defaultStatus. |
139 |
rhs of assignment(=) missing or invalid | The right hand side of an assignment must be valid. |
140 |
statement block { } invalid in "? :" | The ternary operator can only contain a single statement for each branch. |
141 |
invalid statement after ? | The ternary operator must be followed by a valid statement. |
142 |
";" not valid in "? :" | As the ternary operator only permits single statements, statement separators are invalid. |
143 |
":" expected | Ternary operator expects a : to separate each branch statement. |
144 |
invalid statement after : | In ternary operator, must be valid statement after :. |
145 |
logical OR fail | Error in combining boolean conditions with "||". |
146 |
logical AND fail | Error in combining boolean conditions with quot;&&". |
147 |
bitwise OR fail | Error in bit matching with "|". |
148 |
bitwise XOR fail | Error in bit matching with "^". |
149 |
bitwise AND fail | Error in bit matching with "&". |
150 |
logical equality fail | Error with "==" or "!=" or "===" or "!==". |
151 |
invalid relational expression | Error with "<" or ">" or "<=" or ">=" or "!". |
152 |
shift fail | Error with a bitwise shift operator. |
153 |
add or subtract fail | Error with add or subtract expression. |
154 |
multiply, divide or modulus fail | Error with multily, divide or modulus (%). |
155 |
expression expected after "typeof" |
The syntax is typeof(someExpression). |
156 |
unary expr fail | Error in "void", "typeof", "+", "-", "++", "--", "~" or "!". |
157 |
"]" expected | Missing closing square bracket after [ expression. |
158 |
"new" fail | Error with the object being created. |
159 |
can't instantiate a "Math" object | Math is the only built-in object you cannot instantiate. |
160 |
invalid expression after "[" | Error with expression following [. |
161 |
identifier expected after "." | Eg this. and omitting the identifer that should follow the dot. |
162 |
"(" expected after setTimeout | setTimeout must be followed by two expressions inside (). |
163 |
"," or "]" expected | In a list inside [ ] an expression must be followed by a comma or the closing ] |
164 |
invalid parameters inside "( )" | Error from the argument parser. |
165 |
invalid expression in DOM parameter | In a DOM identifier, an invalid expression was found inside ( ). |
166 |
invalid expression in DOM [ ] | In a DOM identifier, an invalid expression was found inside [ ]. |
167 |
Include File "FileName" does not exist. | The file referenced in the "src=" attribute of a <script> tag could not be found. |
168 |
unmatched opening and closing parethesis ( ) | A HTML tag has a mismatch in the number of opening and closing brackets. |
169 |
uneven number of double quotes " | A HTML tag has a mismatch in the number of double quotes. |
170 |
unmatched opening and closing curly brackets { } | A HTML tag has a mismatch in the number of opening and closing curly brackets. |
171 |
<script> tag found within <script> section, fix and try again | Cannot nest <script> sections, must close one off before opening another. |
172 |
<script> tag found without "language = Javascript/Jscript", ignoring script section | Because ScrypTik only checks Javascript and Jscript, not VBscript, the language must be specified in order for the script to be checked. |
173 |
</script> tag found without preceding <script> tag | Cannot close a <tag> that isn't opened. |
174 |
missing closing quote | A HTML attribute value has an opening quote without a closing quote. |
175 |
duplicate form name/id "identifier" found | Browsers don't seem to mind this, but it does not seem exactly "robust"! |
176 |
duplicate object or applet name/id "identifier" found | HTML object tag name is duplicated. |
177 |
Object method, variable or parameter "identifier" not found | In an object constructor function a right hand side method, variable or parameter could not be found. |
178 |
new object "identifier" not found | Creating a user defined object with new, the constructor function could not be found. |
179 |
constructor or instance "identifier" not found | The constructor function or instance could not be found when adding a property or method (maybe by using prototype). |
180 |
function or method "functionName" not found, (maybe constructor?) | A called function could not be found. |
181 |
global label "identifier" not found | Missing label referred to by a "break" or quot;continue". |
182 |
global var (or function, prototype or object property/method) "identifier" not found | Missing variable from global code. |
183 |
HTML object "identifier" not found | An identifier referenced by myForm.myIdentifier.value could not be found. |
184 |
"identifier" not found in local/global vars or HTMLNames | Missing variable. It has not been declared using "var" keyword, as the left hand side of an assignment or established as an HTML object. |
185 |
Object method or propery "identifier" not found in "constructor" or local variables | Missing property or method referred to by an object's method using "this.identifier". |
186 |
"identifier" not found in local/global vars, parameters, functions or object properties/methods | Missing identifier referred to within a function. |
187 |
"identifier" not found in constructor "identifier" properties | Missing identifier referred to by "this.identifier" within an object's method. |
188 |
event uses "identifier" not found in HTML Names | Event links to another HTML object's onClick event with "identifier.click" that can't be found. |
189 |
"=" expected following "id" or "name" | "id" or "name" should be followed by "=" then identifier name. |
190 |
expression expected after : in object literal | Must follow ":" with valid expression. |
"At Whitireia, ScrypTik has made Javascript (and with it, elementary programming) accessible to a wider range of students. An otherwise arcane topic has been rendered colourful, interactive and fun, working in that most familiar of environments - a web page. The user interface is simple and intuitive, yielding instant feedback on defects in code. Its likely that browsers will become less tolerant of sloppy code; in this regard, ScrypTik is one step ahead by enforcing these standards now."
Rob Cambell
Course Controller
Whitireia Community Polytechnic
Porirua, New Zealand.
Q. How do I download scrypTik?
A. Try one of these:
Q.Where do I find the "machine code"?
A. You run ScrypTik and from the "File" menu select "Register ScrypTik". This screen will show you the machine code and instructions on registering.
Q. Why do I get an error running my script in my browser when ScrypTik reports no errors?
A. ScrypTik checks (validates) the syntax and some semantics of all Javascript code. It is still possible to get "run-time" errors with logic mistakes such as null object references. This behaviour is no different from most other programming languages. Edit, compile and test, that's software development.
Q. Why is it called "ScrypTik"?
A. Any or all of these:
Q. What are tokens? Why does it tell me how many tokens there were after a check?
A. A token is a parsed item of javascript, each keyword, symbol, literal, variable etc is a token. The token count indicates how much javascript code there is, most people will ignore it.
Q. I had to replace my hard disk drive and after re-installing the operating system and ScrypTik, the registration code no longer works?
A. This is because the machine code is generated from various hardware serial numbers and it will have changed. E-mail our support to get a new registration code. You will need to supply the new machine code and the name you originally registered under. We will then give you a new registration code.
Q. Will ScrypTik run on a local area network (LAN)?
A. Yes, there are two multi-user licenses, either 2 - 10 users or 11+ users. Install (ie run the setup.exe once unzipped) on a server. Give workstation users a desktop shortcut and/or a menu item which links to the exe on the mapped network drive (the server). Each user will have their own ini file stored on their personal drive in a folder named "ScrypTik". An alternative is to install the exe on each workstation and the ScrypTik License Server (ScryLSrv) on a server. After configuring IP and port number for both server and workstation (plus retry count and other protocol stuff), each workstation ScrypTik will check with the License Server for registration when it starts execution. Contact us if you require the License Server.
Important, when supplying the machine code to register multi-user ScrypTik, it must be the machine code from the "server" machine, not one of the workstations where you trialled the software. It is easy to inadvertently use the trial machine when registering, as the trial is designed to only run on a local machine, not from a network drive.
Another option once you have a multi-user license, is to just get as many unlock keys as you require, one for each workstation. Again, just email us and we will supply the keys.
Q. How have you tested ScrypTik?
A. The basic test data is all the samples (about 300) from Danny Goodman's "Javascript Bible". Then there are additional tests for object oriented issues and nested functions.
for(var i=0; i<10; i++)
document.writeln("<input type='text' name='frmInp" + i +"' size='20'>");
then if there is a statement like this:
var xyz = frmInp3.value; // frmInp3 will not be found
function anObject(param1, param2) {
this.anotherObject = new AnotherObj(); // this sets up anotherObject
this.anotherObject = param1;
.
.
.
}
12 November 2003 version 1.03 released as shareware
28 August 2003 version 1.03 released
6 May 2003 version 1.02 released
NOTICE TO USERS: CAREFULLY READ THE FOLLOWING LEGAL AGREEMENT. USE OF THE SOFTWARE PROVIDED WITH THIS AGREEMENT (THE "SOFTWARE") CONSTITUTES YOUR ACCEPTANCE OF THESE TERMS. IF YOU DO NOT AGREE TO THE TERMS OF THIS AGREEMENT, DO NOT INSTALL AND/OR USE THIS SOFTWARE (IF ALREADY INSTALLED, REMOVE ALL SOFTWARE FILES FROM YOUR STORAGE DEVICES AND CEASE TO USE THE PRODUCT). USER'S USE OF THIS SOFTWARE IS CONDITIONED UPON COMPLIANCE BY USER WITH THE TERMS OF THIS AGREEMENT.
1. LICENSE GRANT. Purple Oar Software grants you a license to use one copy of the version of this SOFTWARE on any one system for as many licenses as you purchase. "You" means the company, entity or individual whose funds are used to pay the license fee. "Use" means storing, loading, installing, executing or displaying the SOFTWARE. You may not modify the SOFTWARE or disable any licensing or control features of the SOFTWARE except as an intended part of the SOFTWARE's programming features. When you first obtain a copy of the SOFTWARE, you are granted twenty (20) evaluation usages, after which you must pay for the SOFTWARE according to the terms and prices discussed in the SOFTWARE's documentation, or you must remove the SOFTWARE from your system. This purchased license is not transferable to any other system, or to another organization or individual. You are expected to use the SOFTWARE on your system and to thoroughly evaluate its usefulness and functionality before making a purchase. This "try before you buy" approach is the ultimate guarantee that the SOFTWARE will perform to your satisfaction; therefore, you understand and agree that there is no refund policy for any purchase of the SOFTWARE.
2. OWNERSHIP. The SOFTWARE is owned and copyrighted by Purple Oar Software. Your license confers no title or ownership in the SOFTWARE and should not be construed as a sale of any right in the SOFTWARE.
3. COPYRIGHT. All copyrights to ScrypTik are exclusively owned by Purple Oar Software. The SOFTWARE is protected by New Zealand copyright law and international treaty provisions. You acknowledge that no title to the intellectual property in the SOFTWARE is transferred to you. You further acknowledge that title and full ownership rights to the SOFTWARE will remain the exclusive property of Purple Oar Software and you will not acquire any rights to the SOFTWARE except as expressly set forth in this license. You agree that any copies of the SOFTWARE will contain the same proprietary notices which appear on and in the SOFTWARE.
4. REVERSE ENGINEERING. You agree that you will not attempt to reverse compile, modify, translate, or disassemble the SOFTWARE in whole or in part.
5. NO OTHER WARRANTIES. PURPLE OAR SOFTWARE DOES NOT WARRANT THAT THE SOFTWARE IS ERROR FREE. PURPLE OAR SOFTWARE DISCLAIMS ALL OTHER WARRANTIES WITH RESPECT TO THE SOFTWARE, EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF THIRD PARTY RIGHTS. SOME JURISDICTIONS DO NOT ALLOW THE EXCLUSION OF IMPLIED WARRANTIES OR LIMITATIONS ON HOW LONG AN IMPLIED WARRANTY MAY LAST, OR THE EXCLUSION OR LIMITATION OF INCIDENTAL OR CONSEQUENTIAL DAMAGES, SO THE ABOVE LIMITATIONS OR EXCLUSIONS MAY NOT APPLY TO YOU. THIS WARRANTY GIVES YOU SPECIFIC LEGAL RIGHTS AND YOU MAY ALSO HAVE OTHER RIGHTS WHICH VARY FROM JURISDICTION TO JURISDICTION.
6. SEVERABILITY. In the event of invalidity of any provision of this license, the parties agree that such invalidity shall not affect the validity of the remaining portions of this license.
7. NO LIABILITY FOR CONSEQUENTIAL DAMAGES. IN NO EVENT SHALL PURPLE OAR SOFTWARE OR ITS SUPPLIERS BE LIABLE TO YOU FOR ANY CONSEQUENTIAL, SPECIAL, INCIDENTAL OR INDIRECT DAMAGES OF ANY KIND ARISING OUT OF THE DELIVERY, PERFORMANCE OR USE OF THE SOFTWARE, EVEN IF PURPLE OAR SOFTWARE HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. IN NO EVENT WILL PURPLE OAR SOFTWARE' LIABILITY FOR ANY CLAIM, WHETHER IN CONTRACT, TORT OR ANY OTHER THEORY OF LIABILITY, EXCEED THE LICENSE FEE PAID BY YOU, IF ANY.
8. GOVERNING LAW. This license will be governed by the laws of New Zealand as they are applied to agreements between New Zealand residents entered into and to be performed entirely within New Zealand. The 1980 United Nations Convention on Contracts for the International Sale of Goods is specifically disclaimed.
9. DISTRIBUTION. The unregistered shareware version of the SOFTWARE may be freely distributed, provided the distribution package is not modified. No person, company or organisation may charge a fee for the distribution of this SOFTWARE without written permission from the copyright holder.
10. ENTIRE AGREEMENT. This is the entire agreement between you and Purple Oar Software which supersedes any prior agreement or understanding, whether written or oral, relating to the subject matter of this license.
ScrypTik is a fully competent html/xhtml editor as well as meeting its original purpose of being a smart Javascript editor. It has many useful features for plain (x)html, such as one click insertion of most tags. If (when) you get into Javascript, you will find this editor indispensible.
Read more about it here.
Javascript
|
Kiwi stuff
|
Javascript tutorials
|
Arty-farty
|
Java
|
Shareware, other editors
|
Web Hosting and other services
|