configurationengine/source/scripts/tests/testdata/generate/expected_report.html
author m2lahtel
Tue, 10 Aug 2010 14:29:28 +0300
changeset 3 e7e0ae78773e
parent 0 2e8eeb919028
permissions -rw-r--r--
ConE 1.2.11 release
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
0
2e8eeb919028 Adding EPL version of configurationengine.
terytkon
parents:
diff changeset
     1
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN">
2e8eeb919028 Adding EPL version of configurationengine.
terytkon
parents:
diff changeset
     2
<html lang="en">
2e8eeb919028 Adding EPL version of configurationengine.
terytkon
parents:
diff changeset
     3
<head>
3
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
     4
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/> 
0
2e8eeb919028 Adding EPL version of configurationengine.
terytkon
parents:
diff changeset
     5
    <title>ConE generation report</title>
2e8eeb919028 Adding EPL version of configurationengine.
terytkon
parents:
diff changeset
     6
    <style type="text/css">
2e8eeb919028 Adding EPL version of configurationengine.
terytkon
parents:
diff changeset
     7
        body {
2e8eeb919028 Adding EPL version of configurationengine.
terytkon
parents:
diff changeset
     8
            font-family: Nokia Standard Multiscript, Tahoma, Verdana, Arial;
2e8eeb919028 Adding EPL version of configurationengine.
terytkon
parents:
diff changeset
     9
            font-size: 0.8em;
2e8eeb919028 Adding EPL version of configurationengine.
terytkon
parents:
diff changeset
    10
            color: #0055B7;
2e8eeb919028 Adding EPL version of configurationengine.
terytkon
parents:
diff changeset
    11
        }
2e8eeb919028 Adding EPL version of configurationengine.
terytkon
parents:
diff changeset
    12
2e8eeb919028 Adding EPL version of configurationengine.
terytkon
parents:
diff changeset
    13
        .red{
2e8eeb919028 Adding EPL version of configurationengine.
terytkon
parents:
diff changeset
    14
            color: Red;
2e8eeb919028 Adding EPL version of configurationengine.
terytkon
parents:
diff changeset
    15
        }
2e8eeb919028 Adding EPL version of configurationengine.
terytkon
parents:
diff changeset
    16
        
2e8eeb919028 Adding EPL version of configurationengine.
terytkon
parents:
diff changeset
    17
        h1 {
2e8eeb919028 Adding EPL version of configurationengine.
terytkon
parents:
diff changeset
    18
            padding: 30px 0 0 0;
2e8eeb919028 Adding EPL version of configurationengine.
terytkon
parents:
diff changeset
    19
            margin: 0;
2e8eeb919028 Adding EPL version of configurationengine.
terytkon
parents:
diff changeset
    20
            text-align: left;
2e8eeb919028 Adding EPL version of configurationengine.
terytkon
parents:
diff changeset
    21
        }
2e8eeb919028 Adding EPL version of configurationengine.
terytkon
parents:
diff changeset
    22
2e8eeb919028 Adding EPL version of configurationengine.
terytkon
parents:
diff changeset
    23
        #date {
2e8eeb919028 Adding EPL version of configurationengine.
terytkon
parents:
diff changeset
    24
            text-align: center;
2e8eeb919028 Adding EPL version of configurationengine.
terytkon
parents:
diff changeset
    25
        }
2e8eeb919028 Adding EPL version of configurationengine.
terytkon
parents:
diff changeset
    26
2e8eeb919028 Adding EPL version of configurationengine.
terytkon
parents:
diff changeset
    27
        hr {
2e8eeb919028 Adding EPL version of configurationengine.
terytkon
parents:
diff changeset
    28
            height: 1px;
2e8eeb919028 Adding EPL version of configurationengine.
terytkon
parents:
diff changeset
    29
            background-color: cccccc;
2e8eeb919028 Adding EPL version of configurationengine.
terytkon
parents:
diff changeset
    30
            color: #cccccc;
2e8eeb919028 Adding EPL version of configurationengine.
terytkon
parents:
diff changeset
    31
        }
2e8eeb919028 Adding EPL version of configurationengine.
terytkon
parents:
diff changeset
    32
2e8eeb919028 Adding EPL version of configurationengine.
terytkon
parents:
diff changeset
    33
        h2 h3 {
2e8eeb919028 Adding EPL version of configurationengine.
terytkon
parents:
diff changeset
    34
            padding: 10px 0 10px 0;
2e8eeb919028 Adding EPL version of configurationengine.
terytkon
parents:
diff changeset
    35
            margin: 0;
2e8eeb919028 Adding EPL version of configurationengine.
terytkon
parents:
diff changeset
    36
        }
2e8eeb919028 Adding EPL version of configurationengine.
terytkon
parents:
diff changeset
    37
2e8eeb919028 Adding EPL version of configurationengine.
terytkon
parents:
diff changeset
    38
        table.report {
2e8eeb919028 Adding EPL version of configurationengine.
terytkon
parents:
diff changeset
    39
            width: 100%;
2e8eeb919028 Adding EPL version of configurationengine.
terytkon
parents:
diff changeset
    40
            border: 1px solid #e0dfe3;
2e8eeb919028 Adding EPL version of configurationengine.
terytkon
parents:
diff changeset
    41
            border-collapse: collapse;
2e8eeb919028 Adding EPL version of configurationengine.
terytkon
parents:
diff changeset
    42
            color: #333333;
2e8eeb919028 Adding EPL version of configurationengine.
terytkon
parents:
diff changeset
    43
        }
2e8eeb919028 Adding EPL version of configurationengine.
terytkon
parents:
diff changeset
    44
2e8eeb919028 Adding EPL version of configurationengine.
terytkon
parents:
diff changeset
    45
        table.report th {
2e8eeb919028 Adding EPL version of configurationengine.
terytkon
parents:
diff changeset
    46
            text-align: left;
2e8eeb919028 Adding EPL version of configurationengine.
terytkon
parents:
diff changeset
    47
            padding: 5px;
2e8eeb919028 Adding EPL version of configurationengine.
terytkon
parents:
diff changeset
    48
            background-color: #f9fafd;
2e8eeb919028 Adding EPL version of configurationengine.
terytkon
parents:
diff changeset
    49
            color: #595a5f;
2e8eeb919028 Adding EPL version of configurationengine.
terytkon
parents:
diff changeset
    50
            border-bottom: 1px #999999 solid;
2e8eeb919028 Adding EPL version of configurationengine.
terytkon
parents:
diff changeset
    51
        }
2e8eeb919028 Adding EPL version of configurationengine.
terytkon
parents:
diff changeset
    52
2e8eeb919028 Adding EPL version of configurationengine.
terytkon
parents:
diff changeset
    53
        table.report th.featureName {
2e8eeb919028 Adding EPL version of configurationengine.
terytkon
parents:
diff changeset
    54
            background-color: #f2f2f3;
2e8eeb919028 Adding EPL version of configurationengine.
terytkon
parents:
diff changeset
    55
            font: #595a5f Tahoma, Verdana, Arial bold;
2e8eeb919028 Adding EPL version of configurationengine.
terytkon
parents:
diff changeset
    56
            font-size: 1.1em;
2e8eeb919028 Adding EPL version of configurationengine.
terytkon
parents:
diff changeset
    57
            border-top: 3px #9d9da1;
2e8eeb919028 Adding EPL version of configurationengine.
terytkon
parents:
diff changeset
    58
            border-top-style: double;
2e8eeb919028 Adding EPL version of configurationengine.
terytkon
parents:
diff changeset
    59
            border-bottom: 3px #9d9da1;
2e8eeb919028 Adding EPL version of configurationengine.
terytkon
parents:
diff changeset
    60
            border-bottom-style: double;
2e8eeb919028 Adding EPL version of configurationengine.
terytkon
parents:
diff changeset
    61
        }
2e8eeb919028 Adding EPL version of configurationengine.
terytkon
parents:
diff changeset
    62
2e8eeb919028 Adding EPL version of configurationengine.
terytkon
parents:
diff changeset
    63
        table.report th.header {
2e8eeb919028 Adding EPL version of configurationengine.
terytkon
parents:
diff changeset
    64
            background-color: #f9fafd;
2e8eeb919028 Adding EPL version of configurationengine.
terytkon
parents:
diff changeset
    65
            font: #595a5f Tahoma, Verdana, Arial bold;
2e8eeb919028 Adding EPL version of configurationengine.
terytkon
parents:
diff changeset
    66
            font-size: 0.8em;
2e8eeb919028 Adding EPL version of configurationengine.
terytkon
parents:
diff changeset
    67
            border-top: 1px #9d9da1;
2e8eeb919028 Adding EPL version of configurationengine.
terytkon
parents:
diff changeset
    68
            border-bottom: 1px #9d9da1;
2e8eeb919028 Adding EPL version of configurationengine.
terytkon
parents:
diff changeset
    69
        }
2e8eeb919028 Adding EPL version of configurationengine.
terytkon
parents:
diff changeset
    70
2e8eeb919028 Adding EPL version of configurationengine.
terytkon
parents:
diff changeset
    71
        table.report td {
2e8eeb919028 Adding EPL version of configurationengine.
terytkon
parents:
diff changeset
    72
            word-wrap: break-word;
2e8eeb919028 Adding EPL version of configurationengine.
terytkon
parents:
diff changeset
    73
            border: 1px #EBEBEB;
2e8eeb919028 Adding EPL version of configurationengine.
terytkon
parents:
diff changeset
    74
            padding: 5px;
2e8eeb919028 Adding EPL version of configurationengine.
terytkon
parents:
diff changeset
    75
            border-style: solid; 
2e8eeb919028 Adding EPL version of configurationengine.
terytkon
parents:
diff changeset
    76
            vertical-align: top;
2e8eeb919028 Adding EPL version of configurationengine.
terytkon
parents:
diff changeset
    77
            font: Tahoma, Verdana, Arial;
2e8eeb919028 Adding EPL version of configurationengine.
terytkon
parents:
diff changeset
    78
            _font-size: 0.8em;
2e8eeb919028 Adding EPL version of configurationengine.
terytkon
parents:
diff changeset
    79
        }
2e8eeb919028 Adding EPL version of configurationengine.
terytkon
parents:
diff changeset
    80
2e8eeb919028 Adding EPL version of configurationengine.
terytkon
parents:
diff changeset
    81
        table.summary {
2e8eeb919028 Adding EPL version of configurationengine.
terytkon
parents:
diff changeset
    82
            border: 1px solid #e0dfe3;
2e8eeb919028 Adding EPL version of configurationengine.
terytkon
parents:
diff changeset
    83
            border-collapse: collapse;
2e8eeb919028 Adding EPL version of configurationengine.
terytkon
parents:
diff changeset
    84
            color: #333333;
2e8eeb919028 Adding EPL version of configurationengine.
terytkon
parents:
diff changeset
    85
        }
2e8eeb919028 Adding EPL version of configurationengine.
terytkon
parents:
diff changeset
    86
2e8eeb919028 Adding EPL version of configurationengine.
terytkon
parents:
diff changeset
    87
        table.summary th {
2e8eeb919028 Adding EPL version of configurationengine.
terytkon
parents:
diff changeset
    88
            text-align: left;
2e8eeb919028 Adding EPL version of configurationengine.
terytkon
parents:
diff changeset
    89
            padding: 5px;
2e8eeb919028 Adding EPL version of configurationengine.
terytkon
parents:
diff changeset
    90
            background-color: #f9fafd;
2e8eeb919028 Adding EPL version of configurationengine.
terytkon
parents:
diff changeset
    91
            color: #595a5f;
2e8eeb919028 Adding EPL version of configurationengine.
terytkon
parents:
diff changeset
    92
            border-bottom: 1px #999999 solid;
2e8eeb919028 Adding EPL version of configurationengine.
terytkon
parents:
diff changeset
    93
        }
2e8eeb919028 Adding EPL version of configurationengine.
terytkon
parents:
diff changeset
    94
2e8eeb919028 Adding EPL version of configurationengine.
terytkon
parents:
diff changeset
    95
        table.summary th.featureName {
2e8eeb919028 Adding EPL version of configurationengine.
terytkon
parents:
diff changeset
    96
            background-color: #f2f2f3;
2e8eeb919028 Adding EPL version of configurationengine.
terytkon
parents:
diff changeset
    97
            font: #595a5f Tahoma, Verdana, Arial bold;
2e8eeb919028 Adding EPL version of configurationengine.
terytkon
parents:
diff changeset
    98
            font-size: 1.1em;
2e8eeb919028 Adding EPL version of configurationengine.
terytkon
parents:
diff changeset
    99
            border-top: 3px #9d9da1;
2e8eeb919028 Adding EPL version of configurationengine.
terytkon
parents:
diff changeset
   100
            border-top-style: double;
2e8eeb919028 Adding EPL version of configurationengine.
terytkon
parents:
diff changeset
   101
            border-bottom: 3px #9d9da1;
2e8eeb919028 Adding EPL version of configurationengine.
terytkon
parents:
diff changeset
   102
            border-bottom-style: double;
2e8eeb919028 Adding EPL version of configurationengine.
terytkon
parents:
diff changeset
   103
        }
2e8eeb919028 Adding EPL version of configurationengine.
terytkon
parents:
diff changeset
   104
2e8eeb919028 Adding EPL version of configurationengine.
terytkon
parents:
diff changeset
   105
        table.summary td {
2e8eeb919028 Adding EPL version of configurationengine.
terytkon
parents:
diff changeset
   106
            word-wrap: break-word;
2e8eeb919028 Adding EPL version of configurationengine.
terytkon
parents:
diff changeset
   107
            border: 1px #EBEBEB;
2e8eeb919028 Adding EPL version of configurationengine.
terytkon
parents:
diff changeset
   108
            padding: 5px;
2e8eeb919028 Adding EPL version of configurationengine.
terytkon
parents:
diff changeset
   109
            border-style: solid; 
2e8eeb919028 Adding EPL version of configurationengine.
terytkon
parents:
diff changeset
   110
            vertical-align: top;
2e8eeb919028 Adding EPL version of configurationengine.
terytkon
parents:
diff changeset
   111
            font: Tahoma, Verdana, Arial;
2e8eeb919028 Adding EPL version of configurationengine.
terytkon
parents:
diff changeset
   112
            _font-size: 0.8em;
2e8eeb919028 Adding EPL version of configurationengine.
terytkon
parents:
diff changeset
   113
        }
3
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   114
        div.popup  {
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   115
            background-color: #f9fafd;
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   116
            font: #595a5f Tahoma, Verdana, Arial bold;
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   117
            font-size: 0.8em;
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   118
            border-top: 1px #9d9da1;
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   119
            border-bottom: 1px #9d9da1;
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   120
        }
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   121
        div.floater  {
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   122
            text-align: left; 
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   123
            width: 50%; 
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   124
            float: left;
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   125
        }
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   126
        div.floater-right  {
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   127
            text-align: right; 
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   128
            width: 50%; 
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   129
            float: right;
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   130
        }
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   131
        table.log {
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   132
            word-wrap: break-word;
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   133
            border: 1px #EBEBEB;
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   134
            padding: 5px;
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   135
            border-style: solid; 
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   136
            vertical-align: top;
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   137
            font: #595a5f Tahoma, Verdana, Arial;
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   138
            font-size: 0.8em;
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   139
        }
0
2e8eeb919028 Adding EPL version of configurationengine.
terytkon
parents:
diff changeset
   140
        .currentValue {
2e8eeb919028 Adding EPL version of configurationengine.
terytkon
parents:
diff changeset
   141
            background-color: #e8f2fe;
2e8eeb919028 Adding EPL version of configurationengine.
terytkon
parents:
diff changeset
   142
        }
2e8eeb919028 Adding EPL version of configurationengine.
terytkon
parents:
diff changeset
   143
    </style>
3
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   144
    <script language="javascript" type="text/javascript">
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   145
    //<![CDATA[
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   146
    /*------------------------------------------------------------------------
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   147
	- HTML Table Filter Generator v1.9.6
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   148
	- By Max Guglielmi (tablefilter.free.fr)
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   149
	- Licensed under the MIT License
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   150
--------------------------------------------------------------------------
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   151
Copyright (c) 2009 Max Guglielmi
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   152
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   153
Permission is hereby granted, free of charge, to any person obtaining
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   154
a copy of this software and associated documentation files (the
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   155
"Software"), to deal in the Software without restriction, including
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   156
without limitation the rights to use, copy, modify, merge, publish,
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   157
distribute, sublicense, and/or sell copies of the Software, and to
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   158
permit persons to whom the Software is furnished to do so, subject to
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   159
the following conditions:
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   160
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   161
The above copyright notice and this permission notice shall be included
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   162
in all copies or substantial portions of the Software.
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   163
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   164
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   165
EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   166
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   167
IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   168
CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   169
TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   170
SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   171
--------------------------------------------------------------------------
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   172
	- Special credit to: 
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   173
	Cedric Wartel, cnx.claude@free.fr, Florent Hirchy, Váry Péter, 
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   174
	Anthony Maes, Nuovella Williams, Fuggerbit, Venkata Seshagiri Rao 
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   175
	Raya for active contribution and inspiration
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   176
------------------------------------------------------------------------*/
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   177
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   178
function setFilterGrid(id)
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   179
/*====================================================
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   180
	- Sets filters grid bar
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   181
	- Calls TF Constructor and generates grid bar
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   182
	- Params:
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   183
			- id: table id (string)
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   184
			- refRow (optional): row index (number)
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   185
			- config (optional): configuration 
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   186
			object (literal object)
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   187
=====================================================*/
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   188
{
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   189
	if( arguments.length==0 ) return;
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   190
	eval( 'tf_'+id+' = new TF(arguments[0],arguments[1],arguments[2])' );
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   191
	eval( 'tf_'+id+'.AddGrid();' );
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   192
}
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   193
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   194
/*===BEGIN removable section===========================
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   195
	- Unobtrusive grid bar generation using 
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   196
	'filterable' class
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   197
	- If you don't use it you can remove safely this 
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   198
	section
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   199
/*=====================================================*/
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   200
tf_addEvent(window, 'load', initFilterGrid);
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   201
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   202
function initFilterGrid()
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   203
{
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   204
	if (!document.getElementsByTagName) return;
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   205
	var tbls = tf_Tag(document,'table'), config;
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   206
	for (var i=0; i<tbls.length; i++)
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   207
	{
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   208
		var cTbl = tbls[i], cTblId = cTbl.getAttribute('id');
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   209
		if( tf_hasClass(cTbl,'filterable') && cTblId )
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   210
		{
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   211
			if( tf_isObj(cTblId+'_config') )
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   212
				config = eval(cTblId+'_config');
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   213
			else
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   214
				config = undefined;
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   215
			setFilterGrid( cTblId,config );
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   216
		}
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   217
	}// for i
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   218
}
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   219
/*===END removable section===========================*/
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   220
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   221
var TF = function( id )
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   222
/*====================================================
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   223
	- TF object constructor
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   224
	- Params:
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   225
			- id: table id (string)
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   226
			- refRow (optional): row index (number)
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   227
			- config (optional): configuration 
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   228
			object (literal object)
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   229
=====================================================*/
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   230
{
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   231
	if( arguments.length==0 ) return;
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   232
		
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   233
	this.id = id;
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   234
	this.tbl = tf_Id(id);
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   235
	this.startRow = undefined;
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   236
	this.refRow = null;
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   237
	this.headersRow = null;
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   238
	this.fObj = null;
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   239
	this.nbFilterableRows = null;
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   240
	this.nbRows = null;
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   241
	this.nbCells = null;
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   242
	this.hasGrid = false;
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   243
	
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   244
	if(this.tbl != null && this.tbl.nodeName.tf_LCase() == 'table' && this.GetRowsNb())
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   245
    {
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   246
		if(arguments.length>1)
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   247
        {
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   248
            for(var i=0; i<arguments.length; i++)
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   249
            {
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   250
                var argtype = typeof arguments[i];
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   251
               
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   252
                switch(argtype.tf_LCase())
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   253
                {
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   254
                    case 'number':
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   255
                        this.startRow = arguments[i];
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   256
                    break;
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   257
                    case 'object':
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   258
                        this.fObj = arguments[i];
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   259
                    break;
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   260
                }//switch                           
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   261
            }//for
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   262
        }//if
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   263
		
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   264
		var f = this.fObj;
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   265
		
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   266
		/*** filter types ***/
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   267
		this.fltTypeInp =			'input';
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   268
		this.fltTypeSlc =			'select';
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   269
		this.fltTypeMulti =			'multiple';
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   270
		this.fltTypeCheckList =		'checklist';
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   271
		this.fltTypeNone =			'none';
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   272
		
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   273
		/*** filters' grid properties ***/
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   274
		this.fltGrid = 				f!=undefined && f.grid==false ? false : true; //enables/disables filter grid
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   275
		
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   276
		/*** Grid layout ***/
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   277
		this.gridLayout = 			f!=undefined && f.grid_layout ? true : false; //enables/disables grid layout (fixed headers)
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   278
		this.gridWidth =			f!=undefined && f.grid_width!=undefined ? f.grid_width : null; //defines grid width
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   279
		this.gridHeight =			f!=undefined && f.grid_height!=undefined ? f.grid_height : null; //defines grid height
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   280
		this.gridMainContCssClass = f!=undefined && f.grid_cont_css_class!=undefined //defines css class for main container
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   281
										? f.grid_cont_css_class : 'grd_Cont';
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   282
		this.gridContCssClass =		f!=undefined && f.grid_tbl_cont_css_class!=undefined //defines css class for div containing table
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   283
										? f.grid_tbl_cont_css_class : 'grd_tblCont';
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   284
		this.gridHeadContCssClass = f!=undefined && f.grid_tblHead_cont_css_class!=undefined //defines css class for div containing headers' table
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   285
										? f.grid_tblHead_cont_css_class : 'grd_headTblCont';
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   286
		this.gridInfDivCssClass =	f!=undefined && f.grid_inf_grid_css_class!=undefined //defines css class for div containing rows counter, paging etc.
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   287
										? f.grid_inf_grid_css_class : 'grd_inf';
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   288
		this.gridHeadRowIndex =		f!=undefined && f.grid_headers_row_index!=undefined //defines which row contains column headers
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   289
										? f.grid_headers_row_index : 0; 
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   290
		this.gridHeadRows =			f!=undefined && f.grid_headers_rows!=undefined //array of headers row indexes to be placed in header table
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   291
										? f.grid_headers_rows : [0];
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   292
		this.gridEnableFilters =	f!=undefined && f.grid_enable_default_filters!=undefined 
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   293
										? f.grid_enable_default_filters : true; //generate filters in table headers
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   294
		this.gridDefaultColWidth =	f!=undefined && f.grid_default_col_width!=undefined 
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   295
										? f.grid_default_col_width : '100px'; //default col width						
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   296
		this.gridEnableColResizer =	f!=undefined && f.grid_enable_cols_resizer!=undefined 
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   297
										? f.grid_enable_cols_resizer : true; //enables/disables columns resizer
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   298
		this.hasGridWidthsRow =		false; //flag indicating if the grid has an additional row for column widths (IE<=7)
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   299
		this.gridColElms =			[];
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   300
		this.sourceTblHtml = 		this.tbl.outerHTML; //original table html												
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   301
		/*** ***/
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   302
								
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   303
		this.filtersRowIndex =		f!=undefined && f.filters_row_index!=undefined //defines in which row filters grid bar is generated
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   304
										? f.filters_row_index>1 ? 1 : f.filters_row_index : 0;
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   305
		this.fltCellTag =			f!=undefined && f.filters_cell_tag!=undefined //defines tag of the cells containing filters (td/th)
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   306
										? (f.filters_cell_tag!='th' ? 'td' : 'th') : 'td';		
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   307
		this.fltIds = 				[]; //stores filters ids
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   308
		this.searchArgs =			null; //stores filters values
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   309
		this.tblData =				[]; //stores table data
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   310
		this.validRowsIndex =		null; //stores valid rows indexes (rows visible upon filtering)
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   311
		this.fltGridEl =			null; //stores filters row element
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   312
		this.isFirstLoad =			true; //is first load boolean 
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   313
		this.infDiv =				null; //container div for paging elements, reset btn etc.
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   314
		this.lDiv =					null; //div for rows counter
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   315
		this.rDiv =					null; //div for reset button and results per page select
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   316
		this.mDiv =					null; //div for paging elements
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   317
		this.contDiv =				null; //table container div for fixed headers (IE only)
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   318
		this.infDivCssClass =		f!=undefined && f.inf_div_css_class!=undefined	//defines css class for div containing
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   319
										? f.inf_div_css_class : 'inf';				//paging elements, rows counter etc.
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   320
		this.lDivCssClass =			f!=undefined && f.left_div_css_class!=undefined	//defines css class for left div 
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   321
										? f.left_div_css_class : 'ldiv';
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   322
		this.rDivCssClass =			f!=undefined && f.right_div_css_class!=undefined //defines css class for right div 
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   323
										? f.right_div_css_class : 'rdiv';
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   324
		this.mDivCssClass =			f!=undefined && f.middle_div_css_class!=undefined //defines css class for mid div 
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   325
										? f.middle_div_css_class : 'mdiv';
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   326
		this.contDivCssClass =		f!=undefined && f.content_div_css_class!=undefined 
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   327
										? f.content_div_css_class : 'cont';	//table container div css class
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   328
		
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   329
		/*** filters' grid appearance ***/
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   330
		this.fltsRowCssClass =		f!=undefined && f.flts_row_css_class!=undefined //defines css class for filters row
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   331
										? f.flts_row_css_class : 'fltrow';		
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   332
		this.alternateBgs =			f!=undefined && f.alternate_rows ? true : false; //enables/disbles rows alternating bg colors
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   333
		this.hasColWidth =			f!=undefined && f.col_width ? true : false; //defines widths of columns
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   334
		this.colWidth =				f!=undefined && this.hasColWidth ? f.col_width : null;
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   335
		this.fixedHeaders =			f!=undefined && f.fixed_headers ? true : false; //enables/disables fixed headers
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   336
		this.tBodyH = 				f!=undefined && f.tbody_height ? f.tbody_height : 200; //tbody height if fixed headers enabled
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   337
		this.fltCssClass =			f!=undefined && f.flt_css_class!=undefined //defines css class for filters
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   338
										? f.flt_css_class : 'flt';
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   339
		this.fltMultiCssClass =		f!=undefined && f.flt_multi_css_class!=undefined //defines css class for multiple selects filters
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   340
										? f.flt_multi_css_class : 'flt_multi';
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   341
		this.fltSmallCssClass =		f!=undefined && f.flt_small_css_class!=undefined //defines css class for filters
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   342
										? f.flt_small_css_class : 'flt_s';
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   343
		this.singleFltCssClass =	f!=undefined && f.single_flt_css_class!=undefined //defines css class for single-filter
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   344
										? f.single_flt_css_class : 'single_flt';	
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   345
		this.isStartBgAlternate =	true;
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   346
		this.rowBgEvenCssClass =	f!=undefined && f.even_row_css_class!=undefined //defines css class for even rows
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   347
										? f.even_row_css_class :'even';
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   348
		this.rowBgOddCssClass =		f!=undefined && f.odd_row_css_class!=undefined //defines css class for odd rows
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   349
										? f.odd_row_css_class :'odd';
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   350
		
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   351
		/*** filters' grid behaviours ***/
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   352
		this.enterKey =				f!=undefined && f.enter_key==false ? false : true; //enables/disables enter key
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   353
		this.isModFilterFn = 		f!=undefined && f.mod_filter_fn ? true : false; //enables/disables alternative fn call		
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   354
		this.modFilterFn =			this.isModFilterFn ? f.mod_filter_fn : null;// used by tf_DetectKey fn
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   355
		this.onBeforeFilter =		f!=undefined && tf_isFn(f.on_before_filter) //calls function before filtering starts
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   356
										? f.on_before_filter : null;
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   357
		this.onAfterFilter =		f!=undefined && tf_isFn(f.on_after_filter) //calls function after filtering
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   358
										? f.on_after_filter : null;								
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   359
		this.matchCase =			f!=undefined && f.match_case ? true : false; //enables/disables case sensitivity
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   360
		this.exactMatch =			f!=undefined && f.exact_match ? true : false; //enables/disbles exact match for search
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   361
		this.refreshFilters =		f!=undefined && f.refresh_filters ? true : false; //refreshes drop-down lists upon validation
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   362
		this.activeFlt =			null; //stores active filter element
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   363
		this.activeFilterId =		null; //id of active filter
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   364
		this.hasColOperation =		f!=undefined && f.col_operation ? true : false; //enables/disbles column operation(sum,mean)
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   365
		this.colOperation =			null;
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   366
		this.hasVisibleRows = 		f!=undefined && f.rows_always_visible ? true : false; //enables always visible rows
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   367
		this.visibleRows =			this.hasVisibleRows ? f.rows_always_visible : [];//array containing always visible rows
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   368
		this.searchType =			f!=undefined && f.search_type!=undefined //defines search type: include or exclude
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   369
										? f.search_type : 'include';
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   370
		this.isExternalFlt =		f!=undefined && f.external_flt_grid ? true : false; //enables/disables external filters generation
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   371
		this.externalFltTgtIds =	f!=undefined && f.external_flt_grid_ids!=undefined //array containing ids of external elements containing filters
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   372
										? f.external_flt_grid_ids : null;
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   373
		this.externalFltEls =		[]; //stores filters elements if isExternalFlt is true		
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   374
		this.execDelay =			f!=undefined && f.exec_delay ? parseInt(f.exec_delay) : 100; //delays filtering process if loader true
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   375
		this.status =				f!=undefined && f.status ? true : false; //enables/disables status messages
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   376
		this.onFiltersLoaded =		f!=undefined && tf_isFn(f.on_filters_loaded) //calls function when filters grid loaded
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   377
										? f.on_filters_loaded : null;
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   378
		this.singleSearchFlt =		f!=undefined && f.single_search_filter ? true : false; //enables/disables single filter search
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   379
		this.onRowValidated =		f!=undefined && tf_isFn(f.on_row_validated) //calls function after row is validated
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   380
									 	? f.on_row_validated : null;
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   381
		this.customCellDataCols =	f!=undefined && f.custom_cell_data_cols ? f.custom_cell_data_cols : []; //array defining columns for customCellData event 	
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   382
		this.customCellData =		f!=undefined && tf_isFn(f.custom_cell_data) //calls custom function for retrieving cell data
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   383
									 	? f.custom_cell_data : null;																
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   384
		
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   385
		/*** selects customisation and behaviours ***/
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   386
		this.displayAllText =		f!=undefined && f.display_all_text!=undefined ? f.display_all_text : ''; //defines 1st option text
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   387
		this.onSlcChange = 			f!=undefined && f.on_change==false ? false : true; //enables/disables onChange event on combo-box 
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   388
		this.sortSlc =				f!=undefined && f.sort_select==false ? false : true; //enables/disables select options sorting
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   389
		this.isSortNumAsc =			f!=undefined && f.sort_num_asc ? true : false; //enables/disables ascending numeric options sorting
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   390
		this.sortNumAsc =			this.isSortNumAsc ? f.sort_num_asc : null;
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   391
		this.isSortNumDesc =		f!=undefined && f.sort_num_desc ? true : false; //enables/disables descending numeric options sorting
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   392
		this.sortNumDesc =			this.isSortNumDesc ? f.sort_num_desc : null;
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   393
		this.slcFillingMethod =		f!=undefined && f.slc_filling_method!=undefined //sets select filling method: 'innerHTML' or 
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   394
										? f.slc_filling_method : 'createElement';	//'createElement'
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   395
		this.fillSlcOnDemand =		f!=undefined && f.fill_slc_on_demand ? true : false; //enabled selects are populated on demand
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   396
		this.activateSlcTooltip =	f!=undefined && f.activate_slc_tooltip!=undefined //IE only, tooltip text appearing on select 
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   397
										? f.activate_slc_tooltip : 'Click to activate'; // before it is populated
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   398
		this.multipleSlcTooltip =	f!=undefined && f.multiple_slc_tooltip!=undefined //tooltip text appearing on multiple select 
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   399
										? f.multiple_slc_tooltip : 'Use Ctrl key for multiple selections';
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   400
		this.hasCustomSlcOptions =	f!=undefined && f.custom_slc_options &&
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   401
										(typeof f.custom_slc_options).tf_LCase() == 'object' 
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   402
										? true : false;	
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   403
		this.customSlcOptions =		f!=undefined && f.custom_slc_options!=undefined
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   404
										? f.custom_slc_options : null;
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   405
		this.onBeforeOperation =	f!=undefined && tf_isFn(f.on_before_operation) //calls function before col operation
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   406
										? f.on_before_operation : null;
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   407
		this.onAfterOperation =		f!=undefined && tf_isFn(f.on_after_operation) //calls function after col operation
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   408
										? f.on_after_operation : null;
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   409
		
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   410
		/*** checklist customisation and behaviours ***/
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   411
		this.checkListDiv = 		[]; //checklist container div
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   412
		this.checkListDivCssClass = f!=undefined && f.div_checklist_css_class!=undefined 
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   413
										? f.div_checklist_css_class : 'div_checklist'; //defines css class for div containing checklist filter
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   414
		this.checkListCssClass =	f!=undefined && f.checklist_css_class!=undefined //defines css class for checklist filters
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   415
										? f.checklist_css_class : 'flt_checklist';
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   416
		this.checkListItemCssClass = f!=undefined && f.checklist_item_css_class!=undefined //defines css class for checklist item (li)
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   417
										? f.checklist_item_css_class : 'flt_checklist_item';
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   418
		this.checkListSlcItemCssClass = f!=undefined && f.checklist_selected_item_css_class!=undefined //defines css class for selected checklist item (li)
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   419
										? f.checklist_selected_item_css_class : 'flt_checklist_slc_item';								
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   420
		this.activateCheckListTxt =	f!=undefined && f.activate_checklist_text!=undefined //Load on demand text 
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   421
										? f.activate_checklist_text : 'Click to load data';
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   422
		
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   423
		/*** Filter operators ***/
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   424
		this.orOperator =			f!=undefined && f.or_operator!=undefined ? f.or_operator : '||';
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   425
		this.anOperator =			f!=undefined && f.and_operator!=undefined ? f.and_operator : '&&';
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   426
		this.grOperator = 			f!=undefined && f.greater_operator!=undefined ? f.greater_operator : '>';
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   427
		this.lwOperator =			f!=undefined && f.lower_operator!=undefined ? f.lower_operator : '<';
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   428
		this.leOperator =			f!=undefined && f.lower_equal_operator!=undefined ? f.lower_equal_operator : '<=';
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   429
		this.geOperator =			f!=undefined && f.greater_equal_operator!=undefined ? f.greater_equal_operator : '>=';
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   430
		this.dfOperator =			f!=undefined && f.different_operator!=undefined ? f.different_operator : '!';
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   431
		this.lkOperator =			f!=undefined && f.like_operator!=undefined ? f.like_operator : '*';
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   432
		this.eqOperator =			f!=undefined && f.equal_operator!=undefined ? f.equal_operator : '=';
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   433
		this.stOperator =			f!=undefined && f.start_with_operator!=undefined ? f.start_with_operator : '{';
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   434
		this.enOperator =			f!=undefined && f.end_with_operator!=undefined ? f.end_with_operator : '}';
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   435
		this.curExp =				f!=undefined && f.cur_exp!=undefined ? f.cur_exp : '^[¥£€$]';
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   436
		this.separator = 			f!=undefined && f.separator!=undefined ? f.separator : ',';
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   437
		
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   438
		/*** rows counter ***/
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   439
		this.rowsCounter = 			f!=undefined && f.rows_counter ? true : false; //show/hides rows counter
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   440
		this.rowsCounterTgtId =		f!=undefined && f.rows_counter_target_id!=undefined //id of custom container element
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   441
										? f.rows_counter_target_id : null;
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   442
		this.rowsCounterDiv =		null; //element containing tot nb rows
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   443
		this.rowsCounterSpan =		null; //element containing tot nb rows label
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   444
		this.rowsCounterText =		f!=undefined && f.rows_counter_text!=undefined
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   445
										? f.rows_counter_text : 'Rows: '; //defines rows counter text
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   446
		this.totRowsCssClass =		f!=undefined && f.tot_rows_css_class!=undefined //defines css class rows counter
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   447
										? f.tot_rows_css_class : 'tot';		
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   448
		
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   449
		/*** status bar ***/
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   450
		this.statusBar =			f!=undefined && f.status_bar ? true : false; //show/hides status bar
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   451
		this.statusBarTgtId =		f!=undefined && f.status_bar_target_id!=undefined //id of custom container element
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   452
										? f.status_bar_target_id : null;
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   453
		this.statusBarDiv =			null; //element containing status bar label
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   454
		this.statusBarSpan =		null; //status bar
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   455
		this.statusBarSpanText =	null; //status bar label
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   456
		this.statusBarText =		f!=undefined && f.status_bar_text!=undefined
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   457
										? f.status_bar_text : ''; //defines status bar text
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   458
		this.statusBarCssClass =	f!=undefined && f.status_bar_css_class!=undefined //defines css class status bar
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   459
										? f.status_bar_css_class : 'status';
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   460
		this.statusBarCloseDelay =	250; //delay for status bar clearing			
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   461
		
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   462
		/*** loader ***/
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   463
		this.loader =				f!=undefined && f.loader ? true : false; //enables/disables loader
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   464
		this.loaderTgtId =			f!=undefined && f.loader_target_id!=undefined //id of container element
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   465
										? f.loader_target_id : null;
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   466
		this.loaderDiv =			null; //div containing loader
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   467
		this.loaderText =			f!=undefined && f.loader_text!=undefined ? f.loader_text : 'Loading...'; //defines loader text
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   468
		this.loaderHtml =			f!=undefined && f.loader_html!=undefined ? f.loader_html : null; //defines loader innerHtml
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   469
		this.loaderCssClass = 		f!=undefined && f.loader_css_class!=undefined //defines css class for loader div
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   470
										? f.loader_css_class : 'loader';
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   471
		this.loaderCloseDelay =		200; //delay for hiding loader
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   472
		this.onShowLoader =			f!=undefined && tf_isFn(f.on_show_loader) //calls function before loader is displayed
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   473
										? f.on_show_loader : null;
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   474
		this.onHideLoader =			f!=undefined && tf_isFn(f.on_hide_loader) //calls function after loader is closed
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   475
										? f.on_hide_loader : null;					
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   476
		
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   477
		/*** validation - reset buttons/links ***/
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   478
		this.displayBtn =			f!=undefined && f.btn ? true : false; //show/hides filter's validation button
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   479
		this.btnText =				f!=undefined && f.btn_text!=undefined ? f.btn_text : 'go'; //defines validation button text
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   480
		this.btnCssClass =			f!=undefined && f.btn_css_class!=undefined //defines css class for validation button
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   481
										? f.btn_css_class : 'btnflt';
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   482
		this.btnReset = 			f!=undefined && f.btn_reset ? true : false; //show/hides reset link
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   483
		this.btnResetTgtId =		f!=undefined && f.btn_reset_target_id!=undefined //id of container element
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   484
										? f.btn_reset_target_id : null;
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   485
		this.btnResetEl =			null; //reset button element
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   486
		this.btnResetText =			f!=undefined && f.btn_reset_text!=undefined ? f.btn_reset_text : 'Reset'; //defines reset text
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   487
		this.btnResetHtml = 		f!=undefined && f.btn_reset_html!=undefined ? f.btn_reset_html : null; //defines reset button innerHtml
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   488
		this.btnResetCssClass =		f!=undefined && f.btn_reset_css_class!=undefined //defines css class for reset button
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   489
										? f.btn_reset_css_class :'reset';
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   490
		
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   491
		/*** paging ***/
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   492
		this.paging =				f!=undefined && f.paging ? true : false; //enables/disables table paging
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   493
		this.pagingTgtId =			f!=undefined && f.paging_target_id!=undefined //id of container element
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   494
										? f.paging_target_id : null;		
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   495
		this.pagingLength =			f!=undefined && f.paging_length!=undefined ? f.paging_length : 10; //defines table paging length
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   496
		this.hasResultsPerPage =	f!=undefined && f.results_per_page ? true : false; //enables/disables results per page drop-down
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   497
		this.resultsPerPageTgtId =	f!=undefined && f.results_per_page_target_id!=undefined //id of container element
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   498
										? f.results_per_page_target_id : null;	
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   499
		this.resultsPerPage =		null; //stores results per page text and values			
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   500
		this.pagingSlc =			null; //stores paging select element
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   501
		this.isPagingRemoved =		false; //indicates if paging elements were previously removed
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   502
		this.pgSlcCssClass =		f!=undefined && f.paging_slc_css_class!=undefined
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   503
										? f.paging_slc_css_class :'pgSlc'; //css class for paging select element
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   504
		this.pgInpCssClass =		f!=undefined && f.paging_inp_css_class!=undefined
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   505
										? f.paging_inp_css_class :'pgNbInp'; //css class for paging input element
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   506
		this.resultsPerPageSlc =	null; //results per page select element
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   507
		this.resultsSlcCssClass =	f!=undefined && f.results_slc_css_class!=undefined
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   508
										? f.results_slc_css_class :'rspg'; //defines css class for results per page select
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   509
		this.resultsSpanCssClass =	f!=undefined && f.results_span_css_class!=undefined
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   510
										? f.results_span_css_class :'rspgSpan'; //css class for label preceding results per page select
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   511
		this.nbVisibleRows	=		0; //nb visible rows
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   512
		this.nbHiddenRows =			0; //nb hidden rows
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   513
		this.startPagingRow =		0; //1st row index of current page
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   514
		this.nbPages = 				0; //total nb of pages
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   515
		this.currentPageNb =		1; //current page nb
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   516
		this.btnNextPageText = 		f!=undefined && f.btn_next_page_text!=undefined
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   517
										? f.btn_next_page_text : '>'; //defines next page button text
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   518
		this.btnPrevPageText =		f!=undefined && f.btn_prev_page_text!=undefined
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   519
										? f.btn_prev_page_text : '<'; //defines previous page button text
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   520
		this.btnLastPageText =		f!=undefined && f.btn_last_page_text!=undefined
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   521
										? f.btn_last_page_text : '>|'; //defines last page button text
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   522
		this.btnFirstPageText =		f!=undefined && f.btn_first_page_text!=undefined
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   523
										? f.btn_first_page_text : '|<' ; //defines first page button text
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   524
		this.btnNextPageHtml =		f!=undefined && f.btn_next_page_html!=undefined
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   525
										? f.btn_next_page_html : null; //defines next page button html
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   526
		this.btnPrevPageHtml =		f!=undefined && f.btn_prev_page_html!=undefined
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   527
										? f.btn_prev_page_html : null; //defines previous page button html
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   528
		this.btnFirstPageHtml =		f!=undefined && f.btn_first_page_html!=undefined
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   529
										? f.btn_first_page_html : null; //defines last page button html
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   530
		this.btnLastPageHtml =		f!=undefined && f.btn_last_page_html!=undefined
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   531
										? f.btn_last_page_html : null; //defines previous page button html
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   532
		this.btnPageCssClass =		f!=undefined && f.paging_btn_css_class!=undefined
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   533
										? f.paging_btn_css_class :'pgInp'; //css class for paging buttons (previous,next,etc.)
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   534
		this.nbPgSpanCssClass = 	f!=undefined && f.nb_pages_css_class!=undefined
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   535
										? f.nb_pages_css_class :'nbpg'; //css class for span containing tot nb of pages
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   536
		this.hasPagingBtns =		f!=undefined && f.paging_btns==false ? false : true; //enables/disables paging buttons
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   537
		this.pagingBtnEvents =		null; //stores paging buttons events
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   538
		this.pageSelectorType =		f!=undefined && f.page_selector_type!=undefined
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   539
										? f.page_selector_type : this.fltTypeSlc; //defines previous page button html		
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   540
		
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   541
		/*** webfx sort adapter ***/
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   542
		this.sort =					f!=undefined && f.sort ? true : false; //enables/disables default table sorting
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   543
		this.isSortEnabled =		false; //indicates if sort is set (used in tfAdapter.sortabletable.js)
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   544
		this.sorted =				false; //indicates if tables was sorted
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   545
		this.sortConfig =			f!=undefined && f.sort_config!=undefined 
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   546
										? f.sort_config : {};
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   547
		this.sortConfig.name =		f!=undefined && f.sort_config!=undefined && f.sort_config.name
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   548
										? f.sort_config.name : 'sortabletable';
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   549
		this.sortConfig.src =		f!=undefined && f.sort_config!=undefined && f.sort_config.src
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   550
										? f.sort_config.src : 'sortabletable.js';
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   551
		this.sortConfig.adapterSrc =f!=undefined && f.sort_config!=undefined && f.sort_config.adapter_src
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   552
										? f.sort_config.adapter_src : 'tfAdapter.sortabletable.js';
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   553
		this.sortConfig.initialize =f!=undefined && f.sort_config!=undefined && f.sort_config.initialize
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   554
										? f.sort_config.initialize
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   555
										: function(o){ if(o.SetSortTable) o.SetSortTable(); };
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   556
		this.sortConfig.sortTypes =	f!=undefined && f.sort_config!=undefined && f.sort_config.sort_types
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   557
										? f.sort_config.sort_types : [];
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   558
		this.sortConfig.sortCol =	f!=undefined && f.sort_config!=undefined && f.sort_config.sort_col!=undefined
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   559
										? f.sort_config.sort_col : null;
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   560
		this.sortConfig.asyncSort =	f!=undefined && f.sort_config!=undefined && f.sort_config.async_sort
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   561
										? true : false;
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   562
		this.sortConfig.triggerIds =f!=undefined && f.sort_config!=undefined && f.sort_config.sort_trigger_ids
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   563
										? f.sort_config.sort_trigger_ids : [];									
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   564
		
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   565
		/*** onkeyup event ***/
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   566
		this.onKeyUp =				f!=undefined && f.on_keyup ? true : false; //enables/disables onkeyup event, table is filtered when user stops typing
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   567
		this.onKeyUpDelay =			f!=undefined && f.on_keyup_delay!=undefined ? f.on_keyup_delay : 900; //onkeyup delay timer (msecs)
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   568
		this.isUserTyping = 		null; //typing indicator
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   569
		this.onKeyUpTimer = 		undefined;		
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   570
		
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   571
		/*** keyword highlighting ***/
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   572
		this.highlightKeywords = 	f!=undefined && f.highlight_keywords ? true : false; //enables/disables keyword highlighting
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   573
		this.highlightCssClass =	f!=undefined && f.highlight_css_class!=undefined //defines css class for highlighting
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   574
										? f.highlight_css_class : 'keyword';	
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   575
		
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   576
		/*** data types ***/
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   577
		this.defaultDateType =		f!=undefined && f.default_date_type!=undefined //defines default date type (european DMY)
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   578
										? f.default_date_type : 'DMY';
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   579
		this.thousandsSeparator =	f!=undefined && f.thousands_separator!=undefined //defines default thousands separator 
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   580
										? f.thousands_separator : ','; //US = ',' EU = '.'
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   581
		this.decimalSeparator = 	f!=undefined && f.decimal_separator!=undefined //defines default decimal separator 
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   582
										? f.decimal_separator : '.'; //US & javascript = '.' EU = ','
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   583
		this.hasColNbFormat = 		f!=undefined && f.col_number_format ? true : false; //enables number format per column
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   584
		this.colNbFormat = 			f!=undefined && this.hasColNbFormat ? f.col_number_format : null; //array containing columns nb formats
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   585
		this.hasColDateType = 		f!=undefined && f.col_date_type ? true : false; //enables date type per column
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   586
		this.colDateType =			f!=undefined && this.hasColDateType ? f.col_date_type : null; //array containing columns date type
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   587
		
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   588
		/*** status messages ***/
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   589
		this.msgFilter =			f!=undefined && f.msg_filter!=undefined //filtering
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   590
										? f.msg_filter : 'Filtering data...'; 
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   591
		this.msgPopulate =			f!=undefined && f.msg_populate!=undefined //populating drop-downs
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   592
										? f.msg_populate : 'Populating filter...'; 
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   593
		this.msgPopulateCheckList =	f!=undefined && f.msg_populate_checklist!=undefined //populating drop-downs
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   594
										? f.msg_populate_checklist : 'Populating list...'; 
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   595
		this.msgChangePage =		f!=undefined && f.msg_change_page!=undefined //changing paging page
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   596
										? f.msg_change_page : 'Collecting paging data...';
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   597
		this.msgClear =				f!=undefined && f.msg_clear!=undefined //clearing filters
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   598
										? f.msg_clear : 'Clearing filters...';
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   599
		this.msgChangeResults =		f!=undefined && f.msg_change_results!=undefined //changing nb results/page
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   600
										? f.msg_change_results : 'Changing results per page...';
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   601
		this.msgResetValues =		f!=undefined && f.msg_reset_grid_values!=undefined //re-setting grid values
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   602
										? f.msg_reset_grid_values : 'Re-setting filters values...';
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   603
		this.msgResetPage =			f!=undefined && f.msg_reset_page!=undefined //re-setting page
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   604
										? f.msg_reset_page : 'Re-setting page...';
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   605
		this.msgResetPageLength =	f!=undefined && f.msg_reset_page_length!=undefined //re-setting page length
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   606
										? f.msg_reset_page_length : 'Re-setting page length...';
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   607
		this.msgSort =				f!=undefined && f.msg_sort!=undefined //table sorting
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   608
										? f.msg_sort : 'Sorting data...';
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   609
		this.msgLoadExtensions =	f!=undefined && f.msg_load_extensions!=undefined //table sorting
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   610
										? f.msg_load_extensions : 'Loading extensions...';			
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   611
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   612
		/*** ids prefixes ***/
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   613
		this.prfxFlt =				'flt'; //filters (inputs - selects)
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   614
		this.prfxValButton =		'btn'; //validation button
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   615
		this.prfxInfDiv =			'inf_'; //container div for paging elements, rows counter etc.
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   616
		this.prfxLDiv =				'ldiv_'; //left div
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   617
		this.prfxRDiv =				'rdiv_'; //right div
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   618
		this.prfxMDiv =				'mdiv_'; //middle div
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   619
		this.prfxContentDiv =		'cont_'; //table container if fixed headers enabled
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   620
		this.prfxCheckListDiv =		'chkdiv_'; //checklist filter container div
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   621
		this.prfxSlcPages =			'slcPages_'; //pages select
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   622
		this.prfxSlcResults = 		'slcResults_'; //results per page select
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   623
		this.prfxSlcResultsTxt =	'slcResultsTxt_'; //label preciding results per page select	
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   624
		this.prfxBtnNextSpan =		'btnNextSpan_'; //span containing next page button
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   625
		this.prfxBtnPrevSpan =		'btnPrevSpan_'; //span containing previous page button
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   626
		this.prfxBtnLastSpan =		'btnLastSpan_'; //span containing last page button
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   627
		this.prfxBtnFirstSpan =		'btnFirstSpan_'; //span containing first page button
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   628
		this.prfxBtnNext =			'btnNext_'; //next button
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   629
		this.prfxBtnPrev =			'btnPrev_'; //previous button
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   630
		this.prfxBtnLast =			'btnLast_'; //last button
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   631
		this.prfxBtnFirst =			'btnFirst_'; //first button
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   632
		this.prfxPgSpan =			'pgspan_'; //span for tot nb pages
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   633
		this.prfxPgBeforeSpan =		'pgbeforespan_'; //span preceding pages select (contains 'Page')
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   634
		this.prfxPgAfterSpan =		'pgafterspan_'; //span following pages select (contains ' of ')
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   635
		this.prfxCounter =			'counter_'; //rows counter div
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   636
		this.prfxTotRows =			'totrows_span_'; //nb displayed rows label
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   637
		this.prfxTotRowsTxt =		'totRowsTextSpan_'; //label preceding nb rows label
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   638
		this.prfxResetSpan =		'resetspan_'; //span containing reset button
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   639
		this.prfxLoader =			'load_'; //loader div
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   640
		this.prfxStatus =			'status_'; //status bar div
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   641
		this.prfxStatusSpan =		'statusSpan_'; //status bar label
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   642
		this.prfxStatusTxt =		'statusText_';//text preceding status bar label
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   643
		this.prfxCookieFltsValues =	'tf_flts_'; //filter values cookie
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   644
		this.prfxCookiePageNb =		'tf_pgnb_'; //page nb cookie
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   645
		this.prfxCookiePageLen = 	'tf_pglen_'; //page length cookie
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   646
		this.prfxMainTblCont =		'gridCont_'; //div containing grid elements if grid_layout true
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   647
		this.prfxTblCont =			'tblCont_'; //div containing table if grid_layout true
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   648
		this.prfxHeadTblCont = 		'tblHeadCont_'; //div containing headers table if grid_layout true
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   649
		this.prfxHeadTbl =			'tblHead_';	//headers' table if grid_layout true
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   650
		this.prfxGridFltTd =		'_td_'; //id of td containing the filter if grid_layout true
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   651
		this.prfxGridTh =			'tblHeadTh_'; //id of th containing column header if grid_layout true				
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   652
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   653
		/*** cookies ***/
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   654
		this.hasStoredValues =		false;
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   655
		this.rememberGridValues =	f!=undefined && f.remember_grid_values ? true : false; //remembers filters values on page load
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   656
		this.fltsValuesCookie =		this.prfxCookieFltsValues + this.id; //cookie storing filter values
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   657
		this.rememberPageNb =		this.paging && f!=undefined && f.remember_page_number
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   658
										? true : false; //remembers page nb on page load	
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   659
		this.pgNbCookie =			this.prfxCookiePageNb + this.id; //cookie storing page nb
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   660
		this.rememberPageLen =		this.paging && f!=undefined && f.remember_page_length
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   661
										? true : false; //remembers page length on page load
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   662
		this.pgLenCookie =			this.prfxCookiePageLen + this.id; //cookie storing page length
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   663
		this.cookieDuration =		f!=undefined && f.set_cookie_duration 
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   664
										? parseInt(f.set_cookie_duration) :100000; //cookie duration
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   665
		
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   666
		/*** extensions ***/
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   667
		this.hasExtensions =		f!=undefined && f.extensions ? true : false; //imports external script
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   668
		this.extensions =			(this.hasExtensions) ? f.extensions : null;
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   669
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   670
		/***(deprecated: backward compatibility) ***/
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   671
		this.hasBindScript =		f!=undefined && f.bind_script ? true : false; //imports external script
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   672
		this.bindScript =			(this.hasBindScript) ? f.bind_script : null;
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   673
		
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   674
		/*** TF events ***/
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   675
		var o = this;
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   676
		this.Evt = {
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   677
			name: {
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   678
				filter: 'Filter',
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   679
				populateselect: 'Populate',
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   680
				populatechecklist: 'PopulateCheckList',
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   681
				changepage: 'ChangePage',
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   682
				clear: 'Clear',
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   683
				changeresultsperpage: 'ChangeResults',
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   684
				resetvalues: 'ResetValues',
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   685
				resetpage: 'ResetPage',
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   686
				resetpagelength: 'ResetPageLength',
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   687
				sort: 'Sort',
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   688
				loadextensions: 'LoadExtensions'			
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   689
			},
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   690
			_DetectKey: function(e)
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   691
			/*====================================================
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   692
				- common fn that detects return key for a given
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   693
				element (onkeypress for inputs)
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   694
			=====================================================*/
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   695
			{
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   696
				if(!o.enterKey) return;
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   697
				var evt=(e)?e:(window.event)?window.event:null;
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   698
				if(evt)
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   699
				{
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   700
					var key=(evt.charCode)?evt.charCode:
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   701
						((evt.keyCode)?evt.keyCode:((evt.which)?evt.which:0));
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   702
					if(key=='13')
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   703
					{
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   704
						o.Filter();
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   705
					} else { 
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   706
						o.isUserTyping = true;
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   707
						window.clearInterval(o.onKeyUpTimer);
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   708
						o.onKeyUpTimer = undefined; 
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   709
					}
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   710
				}//if evt
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   711
			},
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   712
			_OnKeyUp: function(e)
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   713
			/*====================================================
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   714
				- onkeyup event for text filters 
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   715
				(onKeyUp property)
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   716
			=====================================================*/
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   717
			{
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   718
				if(!o.onKeyUp) return;
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   719
				var evt=(e)?e:(window.event)?window.event:null;
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   720
				var key=(evt.charCode)?evt.charCode:
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   721
						((evt.keyCode)?evt.keyCode:((evt.which)?evt.which:0));
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   722
				o.isUserTyping = false;
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   723
				
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   724
				if( key!=13 && key!=9 && key!=27 && key!=38 && key!=40 )
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   725
				{
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   726
					function filter()
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   727
					{
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   728
						window.clearInterval(o.onKeyUpTimer);
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   729
						o.onKeyUpTimer = undefined;
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   730
						if( !o.isUserTyping )
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   731
						{
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   732
							o.Filter();
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   733
							o.isUserTyping = null;			
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   734
						}
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   735
					}
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   736
					if(o.onKeyUpTimer==undefined)
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   737
						o.onKeyUpTimer = window.setInterval( filter, o.onKeyUpDelay );
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   738
				} else { 
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   739
					window.clearInterval(o.onKeyUpTimer); 
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   740
					o.onKeyUpTimer = undefined; 
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   741
				}
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   742
			},
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   743
			_OnKeyDown: function(e)
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   744
			/*====================================================
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   745
				- onkeydown event for input filters 
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   746
				(onKeyUp property)
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   747
			=====================================================*/
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   748
			{
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   749
				if(!o.onKeyUp) return;
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   750
				o.isUserTyping = true;
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   751
			},
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   752
			_OnInpBlur: function(e)
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   753
			/*====================================================
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   754
				- onblur event for input filters (onKeyUp property)
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   755
			=====================================================*/
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   756
			{
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   757
				if(!o.onKeyUp) return;
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   758
				o.isUserTyping = false; 
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   759
				window.clearInterval(o.onKeyUpTimer);
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   760
			},
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   761
			_OnInpFocus: function()
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   762
			/*====================================================
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   763
				- onfocus event for input filters
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   764
			=====================================================*/
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   765
			{
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   766
				o.activeFilterId=this.getAttribute('id');
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   767
				o.activeFlt = tf_Id(o.activeFilterId);
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   768
			},
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   769
			_OnSlcFocus: function()
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   770
			/*====================================================
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   771
				- onfocus event for select filters
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   772
			=====================================================*/
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   773
			{
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   774
				o.activeFilterId = this.getAttribute('id');
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   775
				o.activeFlt = tf_Id(o.activeFilterId);
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   776
				if(o.fillSlcOnDemand && this.getAttribute('filled') == '0')
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   777
				{// select is populated when element has focus
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   778
					var ct = this.getAttribute('ct');
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   779
					o.PopulateSelect(ct);
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   780
					if(!tf_isIE) this.setAttribute('filled','1');
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   781
				}
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   782
			},
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   783
			_OnSlcChange: function()
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   784
			/*====================================================
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   785
				- onchange event for select filters
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   786
			=====================================================*/
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   787
			{
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   788
				if(o.onSlcChange) o.Filter();
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   789
			},
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   790
			_OnSlcBlur: function()
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   791
			/*====================================================
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   792
				- onblur event for select filters
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   793
			=====================================================*/
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   794
			{
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   795
			},
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   796
			_OnCheckListClick: function()
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   797
			/*====================================================
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   798
				- onclick event for checklist filters
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   799
			=====================================================*/
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   800
			{
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   801
				if(o.fillSlcOnDemand && this.getAttribute('filled') == '0')
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   802
				{
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   803
					var ct = this.getAttribute('ct');
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   804
					o.PopulateCheckList(ct);
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   805
					o.checkListDiv[ct].onclick = null;
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   806
					o.checkListDiv[ct].title = '';
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   807
				}
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   808
			},
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   809
			_OnCheckListFocus: function()
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   810
			/*====================================================
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   811
				- onclick event for checklist filter container
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   812
			=====================================================*/
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   813
			{
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   814
				o.activeFilterId = this.firstChild.getAttribute('id');
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   815
				o.activeFlt = tf_Id(o.activeFilterId);
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   816
			},
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   817
			_OnBtnClick: function()
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   818
			/*====================================================
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   819
				- onclick event for validation button 
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   820
				(btn property)
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   821
			=====================================================*/
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   822
			{
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   823
				o.Filter();
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   824
			},
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   825
			_OnSlcPagesChange: function()
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   826
			/*====================================================
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   827
				- onchange event for paging select
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   828
			=====================================================*/
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   829
			{
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   830
				if(o.Evt._Paging._OnSlcPagesChangeEvt)
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   831
					o.Evt._Paging._OnSlcPagesChangeEvt();
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   832
				o.ChangePage();
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   833
				this.blur();
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   834
				//ie only: blur is not enough...
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   835
				if(this.parentNode && tf_isIE)
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   836
					this.parentNode.focus();
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   837
			},
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   838
			_OnSlcPagesChangeEvt: null, //used by sort adapter
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   839
			_OnSlcResultsChange: function()
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   840
			/*====================================================
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   841
				- onchange event for results per page select
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   842
			=====================================================*/
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   843
			{
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   844
				o.ChangeResultsPerPage();
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   845
				this.blur();
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   846
				//ie only: blur is not enough...
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   847
				if(this.parentNode && tf_isIE) 
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   848
					this.parentNode.focus();
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   849
			},
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   850
			_Paging: {// paging buttons events
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   851
				slcIndex: function(){ 
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   852
					return (o.pageSelectorType==o.fltTypeSlc) 
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   853
						? o.pagingSlc.options.selectedIndex 
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   854
						: parseInt(o.pagingSlc.value)-1;
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   855
				},
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   856
				nbOpts: function(){ 
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   857
					return (o.pageSelectorType==o.fltTypeSlc) 
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   858
					? parseInt(o.pagingSlc.options.length)-1 
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   859
					: (o.nbPages-1);
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   860
				},
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   861
				next: function(){
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   862
					if(o.Evt._Paging.nextEvt) o.Evt._Paging.nextEvt();
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   863
					var nextIndex = (o.Evt._Paging.slcIndex()<o.Evt._Paging.nbOpts()) 
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   864
						? o.Evt._Paging.slcIndex()+1 : 0;
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   865
					o.ChangePage(nextIndex);
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   866
				},
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   867
				nextEvt: null, //used by sort adapter
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   868
				prev: function(){
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   869
					if(o.Evt._Paging.prevEvt) o.Evt._Paging.prevEvt();
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   870
					var prevIndex = o.Evt._Paging.slcIndex()>0 
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   871
						? o.Evt._Paging.slcIndex()-1 : o.Evt._Paging.nbOpts();
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   872
					o.ChangePage(prevIndex);
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   873
				},
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   874
				prevEvt: null, //used by sort adapter
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   875
				last: function(){
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   876
					if(o.Evt._Paging.lastEvt) o.Evt._Paging.lastEvt();
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   877
					o.ChangePage(o.Evt._Paging.nbOpts());
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   878
				},
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   879
				lastEvt: null, //used by sort adapter
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   880
				first: function(){
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   881
					if(o.Evt._Paging.firstEvt)  o.Evt._Paging.firstEvt();
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   882
					o.ChangePage(0);
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   883
				},
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   884
				firstEvt: null, //used by sort adapter
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   885
				_detectKey: function(e)
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   886
				{
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   887
					var evt=(e)?e:(window.event)?window.event:null;
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   888
					if(evt)
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   889
					{
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   890
						var key=(evt.charCode)?evt.charCode:
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   891
							((evt.keyCode)?evt.keyCode:((evt.which)?evt.which:0));
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   892
						if(key=='13'){ 
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   893
							if(o.sorted){ o.Filter(); o.ChangePage(o.Evt._Paging.slcIndex()); }
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   894
							else o.ChangePage();								
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   895
							this.blur(); 
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   896
						}
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   897
					}//if evt
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   898
				}
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   899
			},
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   900
			_EnableSlc: function()
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   901
			/*====================================================
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   902
				- onclick event slc parent node (enables filters)
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   903
				IE only
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   904
			=====================================================*/
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   905
			{
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   906
				this.firstChild.disabled = false;							
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   907
				this.firstChild.focus();							
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   908
				this.onclick = null;
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   909
			},
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   910
			_Clear: function()
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   911
			/*====================================================
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   912
				- clears filters
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   913
			=====================================================*/
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   914
			{
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   915
				o.ClearFilters();
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   916
			},
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   917
			_EnableSort: function()
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   918
			/*====================================================
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   919
				- enables table sorting
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   920
			=====================================================*/
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   921
			{
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   922
				if(tf_isImported(o.sortConfig.adapterSrc))
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   923
					o.sortConfig.initialize.call(null,o);
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   924
				else
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   925
					o.IncludeFile(
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   926
						o.sortConfig.name+'_adapter',
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   927
						o.sortConfig.adapterSrc,
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   928
						function(){ o.sortConfig.initialize.call(null,o); }
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   929
					);
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   930
			}
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   931
		};
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   932
		
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   933
		/*** TF extensions ***/
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   934
		this.Ext = {
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   935
			list: {},
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   936
			add: function(extName, extDesc, extPath, extCallBack)
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   937
			{
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   938
				var file = extPath.split('/')[extPath.split('/').length-1];
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   939
				var re = new RegExp(file);
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   940
				var path = extPath.replace(re,'');
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   941
				o.Ext.list[extName] = { 
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   942
					name: extName,
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   943
					description: extDesc,
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   944
					file: file,
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   945
					path: path,
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   946
					callback: extCallBack
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   947
				};
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   948
			}
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   949
		};
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   950
		
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   951
    }//if tbl!=null		
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   952
}
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   953
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   954
TF.prototype = {
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   955
	
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   956
	AddGrid: function()
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   957
	/*====================================================
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   958
		- adds row with filtering grid bar and sets grid 
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   959
		behaviours and layout
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   960
	=====================================================*/
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   961
	{
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   962
		if(this.hasGrid) return;
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   963
		this.refRow = this.startRow==undefined ? 2 : (this.startRow+1);
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   964
		if(this.gridLayout) this.refRow = this.startRow==undefined ? 0 : this.startRow;
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   965
		this.headersRow = (this.filtersRowIndex==0) ? 1 : 0;
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   966
		try{ this.nbCells = this.GetCellsNb(this.refRow) }
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   967
		catch(e){ this.nbCells = this.GetCellsNb(0) }
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   968
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   969
		var f = this.fObj==undefined ? {} : this.fObj;
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   970
		var n = (this.singleSearchFlt) ? 1 : this.nbCells, inpclass;
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   971
		
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   972
		if(this.gridLayout)
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   973
		{
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   974
			this.isExternalFlt = true;
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   975
			this.SetGridLayout();
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   976
			//Once grid generated 1st filterable row is 0 again
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   977
			this.refRow = (tf_isIE || tf_isIE7) ? (this.refRow+1) : 0;
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   978
		}
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   979
		
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   980
		if(this.loader) this.SetLoader();
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   981
	
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   982
		if(this.hasResultsPerPage)
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   983
		{ 
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   984
			this.resultsPerPage = f['results_per_page']!=undefined   
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   985
				? f['results_per_page'] : this.resultsPerPage;
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   986
			if(this.resultsPerPage.length<2)
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   987
				this.hasResultsPerPage = false;
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   988
			else
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   989
				this.pagingLength = this.resultsPerPage[1][0];
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   990
		}
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   991
		
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   992
		if(!this.fltGrid)
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   993
		{//filters grid is not genetared
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   994
			this.refRow = (this.refRow-1);
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   995
			if(this.gridLayout) this.refRow = 0;
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   996
			this.nbFilterableRows = this.GetRowsNb();
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   997
			this.nbVisibleRows = this.nbFilterableRows;
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   998
			this.nbRows = this.nbFilterableRows;
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
   999
		} else {
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  1000
			if(this.isFirstLoad)
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  1001
			{
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  1002
				if(!this.gridLayout){
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  1003
					var fltrow;
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  1004
					var thead = tf_Tag(this.tbl,'thead');
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  1005
					if( thead.length>0 )
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  1006
						fltrow = thead[0].insertRow(this.filtersRowIndex);
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  1007
					else
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  1008
						fltrow = this.tbl.insertRow(this.filtersRowIndex);
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  1009
					
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  1010
					if(this.fixedHeaders) this.SetFixedHeaders();
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  1011
					
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  1012
					fltrow.className = this.fltsRowCssClass;
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  1013
					//Disable for grid_layout
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  1014
					if( this.isExternalFlt && !this.gridLayout ) fltrow.style.display = 'none';
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  1015
				}
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  1016
				
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  1017
				this.nbFilterableRows = this.GetRowsNb();
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  1018
				this.nbVisibleRows = this.nbFilterableRows;
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  1019
				this.nbRows = this.tbl.rows.length;
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  1020
				
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  1021
				for(var i=0; i<n; i++)// this loop adds filters
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  1022
				{
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  1023
					var fltcell = tf_CreateElm(this.fltCellTag);
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  1024
					if(this.singleSearchFlt) fltcell.colSpan = this.nbCells;
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  1025
					if(!this.gridLayout) fltrow.appendChild( fltcell );
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  1026
					inpclass = (i==n-1 && this.displayBtn) ? this.fltSmallCssClass : this.fltCssClass;
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  1027
					
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  1028
					if( this['col'+i]==undefined )
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  1029
						this['col'+i] = (f['col_'+i]==undefined) 
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  1030
							? this.fltTypeInp : f['col_'+i].tf_LCase();
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  1031
							
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  1032
					if(this.singleSearchFlt)
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  1033
					{//only 1 input for single search
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  1034
						this['col'+i] = this.fltTypeInp;
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  1035
						inpclass = this.singleFltCssClass;
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  1036
					}
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  1037
	
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  1038
					if(this['col'+i]==this.fltTypeSlc || this['col'+i]==this.fltTypeMulti)
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  1039
					{//selects					
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  1040
						var slc = tf_CreateElm( this.fltTypeSlc,
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  1041
							['id',this.prfxFlt+i+'_'+this.id],
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  1042
							['ct',i],['filled','0'] );
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  1043
						if(this['col'+i]==this.fltTypeMulti)
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  1044
						{
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  1045
							slc.multiple = this.fltTypeMulti;
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  1046
							slc.title = this.multipleSlcTooltip;
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  1047
						}
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  1048
						slc.className = (this['col'+i].tf_LCase()==this.fltTypeSlc) 
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  1049
							? inpclass : this.fltMultiCssClass;// for ie<=6
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  1050
						
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  1051
						if( this.isExternalFlt && this.externalFltTgtIds && tf_Id(this.externalFltTgtIds[i]) )
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  1052
						{//filter is appended in desired element
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  1053
							tf_Id( this.externalFltTgtIds[i] ).appendChild(slc);
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  1054
							this.externalFltEls.push(slc);
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  1055
						} else {
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  1056
							fltcell.appendChild(slc);
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  1057
						}
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  1058
						
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  1059
						this.fltIds.push(this.prfxFlt+i+'_'+this.id);
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  1060
						
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  1061
						if(!this.fillSlcOnDemand) this.PopulateSelect(i);
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  1062
						
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  1063
						slc.onkeypress = this.Evt._DetectKey;
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  1064
						slc.onchange = this.Evt._OnSlcChange;
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  1065
						slc.onfocus = this.Evt._OnSlcFocus;
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  1066
						slc.onblur = this.Evt._OnSlcBlur;
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  1067
						
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  1068
						if(this.fillSlcOnDemand)
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  1069
						{//1st option is created here since PopulateSelect isn't invoked
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  1070
							var opt0 = tf_CreateOpt(this.displayAllText,'');
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  1071
							slc.appendChild( opt0 );						
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  1072
						}
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  1073
						
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  1074
						/* 	Code below for IE: it prevents select options to
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  1075
							slide out before select it-self is populated.
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  1076
							This is an unexpeted behavior for users since at
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  1077
							1st click options are empty. Work around: 
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  1078
							select is disabled and by clicking on element 
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  1079
							(parent td), users enable drop-down and select is
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  1080
							populated at same time.  */
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  1081
						if( this.fillSlcOnDemand && tf_isIE)
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  1082
						{
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  1083
							slc.disabled = true;
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  1084
							slc.title = this.activateSlcTooltip;
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  1085
							slc.parentNode.onclick = this.Evt._EnableSlc;
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  1086
							if( this['col'+i]==this.fltTypeMulti)
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  1087
								this.__deferMultipleSelection(slc,0);
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  1088
						}
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  1089
					}
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  1090
					
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  1091
					else if( this['col'+i]==this.fltTypeCheckList )
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  1092
					{// checklist
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  1093
						var divCont = tf_CreateElm('div',
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  1094
										['id',this.prfxCheckListDiv+i+'_'+this.id],
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  1095
										['ct',i],['filled','0'] );
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  1096
						divCont.className = this.checkListDivCssClass;
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  1097
						
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  1098
						if( this.isExternalFlt && this.externalFltTgtIds 
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  1099
							&& tf_Id(this.externalFltTgtIds[i]) )
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  1100
						{//filter is appended in desired element
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  1101
							tf_Id( this.externalFltTgtIds[i] ).appendChild(divCont);
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  1102
							this.externalFltEls.push(divCont);
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  1103
						} else {
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  1104
							fltcell.appendChild(divCont);
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  1105
						}
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  1106
						
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  1107
						this.checkListDiv[i] = divCont;
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  1108
						this.fltIds.push(this.prfxFlt+i+'_'+this.id);
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  1109
						if(!this.fillSlcOnDemand) this.PopulateCheckList(i);
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  1110
						
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  1111
						divCont.onclick = this.Evt._OnCheckListFocus;
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  1112
						
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  1113
						if(this.fillSlcOnDemand)
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  1114
						{
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  1115
							divCont.onclick = this.Evt._OnCheckListClick;
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  1116
							divCont.appendChild(tf_CreateText(this.activateCheckListTxt));
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  1117
						}
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  1118
					}
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  1119
					
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  1120
					else
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  1121
					{
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  1122
						var inptype;
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  1123
						(this['col'+i]==this.fltTypeInp) ? inptype='text' : inptype='hidden';//show/hide input	
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  1124
						var inp = tf_CreateElm( this.fltTypeInp,['id',this.prfxFlt+i+'_'+this.id],['type',inptype],['ct',i] );					
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  1125
						inp.className = inpclass;// for ie<=6
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  1126
						inp.onfocus = this.Evt._OnInpFocus;
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  1127
						
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  1128
						if( this.isExternalFlt && this.externalFltTgtIds && tf_Id(this.externalFltTgtIds[i]) )
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  1129
						{//filter is appended in desired element
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  1130
							tf_Id( this.externalFltTgtIds[i] ).appendChild(inp);
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  1131
							this.externalFltEls.push(inp);
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  1132
						} else {
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  1133
							fltcell.appendChild(inp);
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  1134
						}
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  1135
						
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  1136
						this.fltIds.push(this.prfxFlt+i+'_'+this.id);
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  1137
						
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  1138
						inp.onkeypress = this.Evt._DetectKey;
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  1139
						inp.onkeydown = this.Evt._OnKeyDown;
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  1140
						inp.onkeyup = this.Evt._OnKeyUp;
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  1141
						inp.onblur = this.Evt._OnInpBlur;
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  1142
						
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  1143
						if(this.rememberGridValues)
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  1144
						{
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  1145
							var flts = tf_ReadCookie(this.fltsValuesCookie); //reads the cookie
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  1146
							var reg = new RegExp(',','g');
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  1147
							var flts_values = flts.split(reg); //creates an array with filters' values
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  1148
							if (flts_values[i]!=' ')
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  1149
								this.SetFilterValue(i,flts_values[i],false);					
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  1150
						}
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  1151
					}
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  1152
					
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  1153
					if(i==n-1 && this.displayBtn)// this adds validation button
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  1154
					{
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  1155
						var btn = tf_CreateElm( this.fltTypeInp,['id',this.prfxValButton+i+'_'+this.id],
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  1156
												['type','button'], ['value',this.btnText] );
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  1157
						btn.className = this.btnCssClass;
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  1158
						
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  1159
						if( this.isExternalFlt && this.externalFltTgtIds && tf_Id(this.externalFltTgtIds[i]) ) 
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  1160
						//filter is appended in desired element
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  1161
							tf_Id( this.externalFltTgtIds[i] ).appendChild(btn);
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  1162
						else
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  1163
							fltcell.appendChild(btn);
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  1164
						
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  1165
						btn.onclick = this.Evt._OnBtnClick;				
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  1166
					}//if
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  1167
					
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  1168
				}// for i
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  1169
				
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  1170
			} else {
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  1171
				this.__resetGrid();			
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  1172
			}//if isFirstLoad
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  1173
		}//if this.fltGrid
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  1174
		
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  1175
		/* Filter behaviours */
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  1176
		if(this.rowsCounter) this.SetRowsCounter();
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  1177
		if(this.statusBar) this.SetStatusBar();
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  1178
		if(this.fixedHeaders && !this.isFirstLoad) this.SetFixedHeaders();
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  1179
		if(this.paging)	this.SetPaging();
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  1180
		if(this.hasResultsPerPage && this.paging) this.SetResultsPerPage();
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  1181
		if(this.btnReset) this.SetResetBtn();
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  1182
		
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  1183
		if(this.hasColWidth && !this.gridLayout) this.SetColWidths();
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  1184
		
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  1185
		if( this.alternateBgs && this.isStartBgAlternate )
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  1186
			this.SetAlternateRows(); //1st time only if no paging and rememberGridValues
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  1187
		
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  1188
		if(this.hasColOperation && this.fltGrid)
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  1189
		{
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  1190
			this.colOperation = f.col_operation;
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  1191
			this.SetColOperation();
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  1192
		}
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  1193
		
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  1194
		if(this.sort) this.SetSort();
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  1195
		
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  1196
		/* Deprecated Loads external script */
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  1197
		if(this.hasBindScript)
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  1198
		{
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  1199
			if(this.bindScript['src']!=undefined)
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  1200
			{
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  1201
				var scriptPath = this.bindScript['src'];
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  1202
				var scriptName = (this.bindScript['name']!=undefined)
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  1203
									? this.bindScript['name'] : '';
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  1204
				this.IncludeFile(scriptName,scriptPath,this.bindScript['target_fn']);
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  1205
			}
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  1206
		}//if bindScript
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  1207
		/* */
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  1208
		
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  1209
		this.isFirstLoad = false;
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  1210
		this.hasGrid = true;
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  1211
		
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  1212
		if( this.rememberGridValues ||
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  1213
			this.rememberPageLen ||
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  1214
			this.rememberPageNb )
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  1215
			this.ResetValues();
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  1216
		
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  1217
		this.ShowLoader('none');
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  1218
		
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  1219
		if(this.onFiltersLoaded)
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  1220
			this.onFiltersLoaded.call(null,this);
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  1221
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  1222
		/* Loads extensions */
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  1223
		this.LoadExtensions();
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  1224
		/* */
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  1225
	},// AddGrid
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  1226
	
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  1227
	EvtManager: function( evt,s )
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  1228
	/*====================================================
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  1229
		- TF events manager
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  1230
		- Params: 
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  1231
			- event name (string)
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  1232
			- config object (optional literal object)
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  1233
	=====================================================*/
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  1234
	{
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  1235
		var o = this;
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  1236
		var slcIndex = (s!=undefined && s.slcIndex!=undefined) ? s.slcIndex : null;
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  1237
		var slcExternal = (s!=undefined && s.slcExternal!=undefined) ? s.slcExternal : false;
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  1238
		var slcId = (s!=undefined && s.slcId!=undefined) ? s.slcId : null;
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  1239
		var pgIndex = (s!=undefined && s.pgIndex!=undefined) ? s.pgIndex : null;
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  1240
		function efx(){
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  1241
			if(evt!=undefined)
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  1242
			switch( evt )
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  1243
			{
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  1244
				case o.Evt.name.filter:
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  1245
					(o.isModFilterFn) 
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  1246
						? o.modFilterFn.call(null,o)
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  1247
						: o._Filter();
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  1248
				break;
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  1249
				case o.Evt.name.populateselect:
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  1250
					(o.refreshFilters) 
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  1251
						? o._PopulateSelect(slcIndex,true) 
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  1252
						: o._PopulateSelect(slcIndex,false,slcExternal,slcId);
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  1253
				break;
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  1254
				case o.Evt.name.populatechecklist:
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  1255
					o._PopulateCheckList(slcIndex,slcExternal,slcId);
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  1256
				break;
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  1257
				case o.Evt.name.changepage:
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  1258
					o._ChangePage(pgIndex);
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  1259
				break;
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  1260
				case o.Evt.name.clear:
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  1261
					o._ClearFilters(); 
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  1262
					o._Filter();
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  1263
				break;
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  1264
				case o.Evt.name.changeresultsperpage:
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  1265
					o._ChangeResultsPerPage();
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  1266
				break;
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  1267
				case o.Evt.name.resetvalues:
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  1268
					o._ResetValues();					
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  1269
					o._Filter();
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  1270
				break;
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  1271
				case o.Evt.name.resetpage:
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  1272
					o._ResetPage(o.pgNbCookie);
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  1273
				break;
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  1274
				case o.Evt.name.resetpagelength:
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  1275
					o._ResetPageLength(o.pgLenCookie);
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  1276
				break;
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  1277
				case o.Evt.name.sort:
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  1278
					void(0);
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  1279
				break;
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  1280
				case o.Evt.name.loadextensions:
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  1281
					o._LoadExtensions();
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  1282
				break;
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  1283
				default: //to be used by extensions events when needed
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  1284
					o['_'+evt].call(null,o,s);
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  1285
				break;
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  1286
			}
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  1287
			o.StatusMsg('');
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  1288
			o.ShowLoader('none');
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  1289
		}
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  1290
		
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  1291
		if(this.loader || this.status || this.statusBar)
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  1292
		{
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  1293
			this.ShowLoader('');
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  1294
			this.StatusMsg(o['msg'+evt]);
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  1295
			window.setTimeout(efx,this.execDelay);
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  1296
		} else efx();
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  1297
	},
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  1298
	
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  1299
	LoadExtensions: function()
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  1300
	{
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  1301
		this.EvtManager(this.Evt.name.loadextensions);
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  1302
	},
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  1303
	
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  1304
	_LoadExtensions: function()
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  1305
	/*====================================================
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  1306
		- loads TF extensions
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  1307
	=====================================================*/
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  1308
	{
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  1309
		if(!this.hasExtensions) return;
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  1310
		if((typeof this.extensions.name).tf_LCase() == 'object' && 
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  1311
				(typeof this.extensions.src).tf_LCase() == 'object')
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  1312
		{
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  1313
			var ext = this.extensions;
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  1314
			for(var e=0; e<ext.name.length; e++)
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  1315
			{
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  1316
				var extPath = ext.src[e];
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  1317
				var extName = ext.name[e];
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  1318
				var extInit = (ext.initialize && ext.initialize[e]) ? ext.initialize[e] : null;
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  1319
				var extDesc = (ext.description && ext.description[e] ) ? ext.description[e] : null;
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  1320
				
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  1321
				//Registers extension 
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  1322
				this.Ext.add(extName, extDesc, extPath, extInit);
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  1323
				
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  1324
				if(tf_isImported(extPath) && extInit)
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  1325
				{
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  1326
					try{ extInit.call(null,this); }
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  1327
					catch(e){
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  1328
						var o = this;
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  1329
						function fn(){extInit.call(null,o);}
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  1330
						if(!tf_isIE) tf_addEvent(window,'load',fn); 
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  1331
						else{
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  1332
							function testReady(){
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  1333
								if (document.readyState == "complete") 
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  1334
								{
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  1335
									fn(); clearInterval(s);
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  1336
								}
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  1337
							}
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  1338
							var s = setInterval(testReady,10);
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  1339
						}		
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  1340
					}
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  1341
				}
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  1342
				else
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  1343
					this.IncludeFile(extName,extPath,extInit);
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  1344
			}
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  1345
		}
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  1346
	},
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  1347
	
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  1348
	RemoveGrid: function()
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  1349
	/*====================================================
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  1350
		- removes a filter grid
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  1351
	=====================================================*/
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  1352
	{
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  1353
		if( this.fltGrid && this.hasGrid )
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  1354
		{
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  1355
			var row = this.tbl.rows;
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  1356
			
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  1357
			this.RemovePaging();
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  1358
			this.RemoveStatusBar();
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  1359
			this.RemoveRowsCounter();
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  1360
			this.RemoveResetBtn();
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  1361
			this.RemoveResultsPerPage();
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  1362
			this.RemoveExternalFlts();
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  1363
			this.RemoveFixedHeaders();
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  1364
			this.RemoveTopDiv();
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  1365
			this.UnhighlightAll();
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  1366
			this.RemoveSort();
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  1367
			this.RemoveLoader();
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  1368
			
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  1369
			for(var j=this.refRow; j<this.nbRows; j++)
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  1370
			{//this loop shows all rows and removes validRow attribute			
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  1371
				row[j].style.display = '';
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  1372
				try
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  1373
				{ 
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  1374
					if( row[j].hasAttribute('validRow') ) 
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  1375
						row[j].removeAttribute('validRow');
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  1376
				} //ie<=6 doesn't support hasAttribute method
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  1377
				catch(e){
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  1378
					for( var x = 0; x < row[j].attributes.length; x++ ) 
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  1379
					{
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  1380
						if( row[j].attributes[x].nodeName.tf_LCase()=='validrow' ) 
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  1381
							row[j].removeAttribute('validRow');
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  1382
					}//for x
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  1383
				}//catch(e)
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  1384
				
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  1385
				//removes alterning colors
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  1386
				this.RemoveRowBg(j);
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  1387
				
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  1388
			}//for j
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  1389
	
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  1390
			if(this.fltGrid && !this.gridLayout)
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  1391
			{
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  1392
				this.fltGridEl = row[this.filtersRowIndex];			
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  1393
				this.tbl.deleteRow(this.filtersRowIndex);
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  1394
			}
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  1395
			this.activeFlt = null;
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  1396
			this.isStartBgAlternate = true;
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  1397
			this.hasGrid = false;
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  1398
			this.RemoveGridLayout();
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  1399
	
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  1400
		}//if this.fltGrid
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  1401
	},
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  1402
	
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  1403
	SetGridLayout: function()
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  1404
	/*====================================================
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  1405
		- generates a grid with fixed headers
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  1406
	=====================================================*/
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  1407
	{
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  1408
		if(!this.gridLayout) return;
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  1409
		if(!this.hasColWidth){// in case column widths are not set default width 100px
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  1410
			this.colWidth = [];
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  1411
			for(var k=0; k<this.nbCells; k++){
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  1412
				var colW, cell = this.tbl.rows[this.gridHeadRowIndex].cells[k];
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  1413
				if(cell.width!='') colW = cell.width;
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  1414
				else if(cell.style.width!='') colW = parseInt(cell.style.width);
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  1415
				else colW = this.gridDefaultColWidth;
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  1416
				this.colWidth[k] = colW;
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  1417
			}
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  1418
			this.hasColWidth = true;
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  1419
		}
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  1420
		this.SetColWidths(this.gridHeadRowIndex);
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  1421
		
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  1422
		var tblW;//initial table width
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  1423
		if(this.tbl.width!='') tblW = this.tbl.width;
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  1424
		else if(this.tbl.style.width!='') tblW = parseInt(this.tbl.style.width);
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  1425
		else tblW = this.tbl.clientWidth;
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  1426
		
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  1427
		//Main container: it will contain all the elements
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  1428
		this.tblMainCont = tf_CreateElm('div',['id', this.prfxMainTblCont + this.id]);
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  1429
		this.tblMainCont.className = this.gridMainContCssClass;
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  1430
		if(this.gridWidth) this.tblMainCont.style.width = this.gridWidth;
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  1431
		this.tbl.parentNode.insertBefore(this.tblMainCont, this.tbl);
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  1432
		
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  1433
		//Table container: div wrapping content table
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  1434
		this.tblCont = tf_CreateElm('div',['id', this.prfxTblCont + this.id]);
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  1435
		this.tblCont.className = this.gridContCssClass;
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  1436
		if(this.gridWidth) this.tblCont.style.width = this.gridWidth;
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  1437
		if(this.gridHeight) this.tblCont.style.height = this.gridHeight;
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  1438
		this.tbl.parentNode.insertBefore(this.tblCont, this.tbl);
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  1439
		var t = this.tbl.parentNode.removeChild(this.tbl);
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  1440
		this.tblCont.appendChild(t);
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  1441
		
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  1442
		//In case table width is expressed in %
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  1443
		if(this.tbl.style.width == '')
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  1444
			this.tbl.style.width = (this.__containsStr('%',tblW) 
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  1445
									? this.tbl.clientWidth : tblW) + 'px';
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  1446
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  1447
		var d = this.tblCont.parentNode.removeChild(this.tblCont);
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  1448
		this.tblMainCont.appendChild(d);
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  1449
		
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  1450
		//Headers table container: div wrapping headers table
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  1451
		this.headTblCont = tf_CreateElm('div',['id', this.prfxHeadTblCont + this.id]);
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  1452
		this.headTblCont.className = this.gridHeadContCssClass;
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  1453
		if(this.gridWidth) this.headTblCont.style.width = this.gridWidth;		
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  1454
		
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  1455
		//Headers table
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  1456
		this.headTbl = tf_CreateElm('table',['id', this.prfxHeadTbl + this.id]);
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  1457
		var tH = tf_CreateElm('tHead'); //IE<7 needs it
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  1458
		
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  1459
		//1st row should be headers row, ids are added if not set
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  1460
		//Those ids are used by the sort feature
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  1461
		var hRow = this.tbl.rows[this.gridHeadRowIndex];
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  1462
		var sortTriggers = [];
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  1463
		for(var n=0; n<this.nbCells; n++){
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  1464
			var cell = hRow.cells[n];
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  1465
			var thId = cell.getAttribute('id');
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  1466
			if(!thId || thId==''){ 
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  1467
				thId = this.prfxGridTh+n+'_'+this.id 
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  1468
				cell.setAttribute('id', thId);
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  1469
			}
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  1470
			sortTriggers.push(thId);
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  1471
		}
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  1472
		
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  1473
		//Filters row is created
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  1474
		var filtersRow = tf_CreateElm('tr');
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  1475
		if(this.gridEnableFilters && this.fltGrid){
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  1476
			this.externalFltTgtIds = [];
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  1477
			for(var j=0; j<this.nbCells; j++)
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  1478
			{
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  1479
				var fltTdId = this.prfxFlt+j+ this.prfxGridFltTd +this.id;
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  1480
				var c = tf_CreateElm(this.fltCellTag, ['id', fltTdId]);
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  1481
				filtersRow.appendChild(c);
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  1482
				this.externalFltTgtIds[j] = fltTdId;
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  1483
			}
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  1484
		} 
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  1485
		//Headers row are moved from content table to headers table
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  1486
		for(var i=0; i<this.gridHeadRows.length; i++)
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  1487
		{
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  1488
			var headRow = this.tbl.rows[this.gridHeadRows[0]];			
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  1489
			tH.appendChild(headRow);
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  1490
		}
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  1491
		this.headTbl.appendChild(tH);
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  1492
		if(this.filtersRowIndex == 0) tH.insertBefore(filtersRow,hRow);
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  1493
		if(this.filtersRowIndex == 1) tH.appendChild(filtersRow);
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  1494
		
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  1495
		this.headTblCont.appendChild(this.headTbl);
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  1496
		this.tblCont.parentNode.insertBefore(this.headTblCont, this.tblCont);
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  1497
		
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  1498
		//THead needs to be removed in content table for sort feature
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  1499
		var thead = tf_Tag(this.tbl,'thead');
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  1500
		if( thead.length>0 ) this.tbl.removeChild(thead[0]);
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  1501
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  1502
		//Headers table style
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  1503
		this.headTbl.style.width = this.tbl.style.width;
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  1504
		this.headTbl.style.tableLayout = 'fixed';
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  1505
		this.tbl.style.tableLayout = 'fixed';
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  1506
		this.headTbl.cellPadding = this.tbl.cellPadding;
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  1507
		this.headTbl.cellSpacing = this.tbl.cellSpacing;
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  1508
		
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  1509
		//Headers container width
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  1510
		this.headTblCont.style.width = this.tblCont.clientWidth+'px';
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  1511
		
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  1512
		//content table without headers needs col widths to be reset
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  1513
		this.SetColWidths();
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  1514
		
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  1515
		this.tbl.style.width = '';		
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  1516
		if(tf_isIE || tf_isIE7)	this.headTbl.style.width = '';
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  1517
		
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  1518
		//scroll synchronisation
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  1519
		var o = this; //TF object
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  1520
		this.tblCont.onscroll = function(){
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  1521
			o.headTblCont.scrollLeft = this.scrollLeft;
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  1522
			var _o = this; //this = scroll element
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  1523
			//New pointerX calc taking into account scrollLeft
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  1524
			if(!o.isPointerXOverwritten){
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  1525
				try{					
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  1526
					TF.Evt.pointerX = function(e)
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  1527
					{
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  1528
						e = e || window.event;
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  1529
						var scrollLeft = tf_StandardBody().scrollLeft + _o.scrollLeft;
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  1530
						return (e.pageX + _o.scrollLeft) || (e.clientX + scrollLeft);
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  1531
					}					
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  1532
					o.isPointerXOverwritten = true;
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  1533
				} catch(ee) {
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  1534
					o.isPointerXOverwritten = false;
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  1535
				}
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  1536
			}
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  1537
		}
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  1538
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  1539
		/*** Default behaviours activation ***/
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  1540
		var f = this.fObj==undefined ? {} : this.fObj;
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  1541
		
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  1542
		//Sort is enabled if not specified in config object
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  1543
		if(f.sort != false){
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  1544
			this.sort = true;
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  1545
			this.sortConfig.asyncSort = true;
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  1546
			this.sortConfig.triggerIds = sortTriggers;
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  1547
		}
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  1548
		
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  1549
		if(this.gridEnableColResizer){
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  1550
			if(!this.hasExtensions){
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  1551
				this.extensions = {
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  1552
					name:['ColumnsResizer'],
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  1553
					src:['TFExt_ColsResizer/TFExt_ColsResizer.js'], 
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  1554
					description:['Columns Resizing'],
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  1555
					initialize:[function(o){o.SetColsResizer('ColumnsResizer');}]
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  1556
				}
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  1557
				this.hasExtensions = true;
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  1558
			} else {
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  1559
				if(!this.__containsStr('colsresizer',this.extensions.src.toString().tf_LCase())){
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  1560
					this.extensions.name.push('ColumnsResizer');
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  1561
					this.extensions.src.push('TFExt_ColsResizer/TFExt_ColsResizer.js');
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  1562
					this.extensions.description.push('Columns Resizing');
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  1563
					this.extensions.initialize.push(function(o){o.SetColsResizer('ColumnsResizer');});
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  1564
				}  
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  1565
			}
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  1566
		}
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  1567
		
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  1568
		//Default columns resizer properties for grid layout
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  1569
		f.col_resizer_cols_headers_table = this.headTbl.getAttribute('id');
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  1570
		f.col_resizer_cols_headers_index = this.gridHeadRowIndex;
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  1571
		f.col_resizer_width_adjustment = 0;
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  1572
		f.col_enable_text_ellipsis = false;
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  1573
		
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  1574
		//Cols generation for all browsers excepted IE<=7
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  1575
		o.tblHasColTag = (tf_Tag(o.tbl,'col').length > 0) ? true : false;
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  1576
		if(!tf_isIE && !tf_isIE7){
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  1577
			//Col elements are enough to keep column widths after sorting and filtering
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  1578
			function createColTags(o)
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  1579
			{
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  1580
				if(!o) return;
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  1581
				for(var k=(o.nbCells-1); k>=0; k--)
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  1582
				{
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  1583
					var col = tf_CreateElm( 'col', ['id', o.id+'_col_'+k]);
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  1584
					o.tbl.firstChild.parentNode.insertBefore(col,o.tbl.firstChild);
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  1585
					col.style.width = o.colWidth[k];
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  1586
					o.gridColElms[k] = col;
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  1587
				}
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  1588
				o.tblHasColTag = true;
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  1589
			}
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  1590
			if(!o.tblHasColTag) createColTags(o);
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  1591
			else{
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  1592
				var cols = tf_Tag(o.tbl,'col');
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  1593
				for(var i=0; i<o.nbCells; i++){
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  1594
					cols[i].setAttribute('id', o.id+'_col_'+i);
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  1595
					cols[i].style.width = o.colWidth[i];
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  1596
					o.gridColElms.push(cols[i]);
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  1597
				}
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  1598
			}
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  1599
		}
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  1600
		
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  1601
		//IE <= 7 needs an additional row for widths as col element width is not enough...
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  1602
		if(tf_isIE || tf_isIE7){
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  1603
			var tbody = tf_Tag(o.tbl,'tbody'), r;
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  1604
			if( tbody.length>0 ) r = tbody[0].insertRow(0);
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  1605
			else r = o.tbl.insertRow(0);
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  1606
			r.style.height = '0px';
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  1607
			for(var i=0; i<o.nbCells; i++){
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  1608
				var col = tf_CreateElm('td', ['id', o.id+'_col_'+i]);
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  1609
				col.style.width = o.colWidth[i];
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  1610
				o.tbl.rows[1].cells[i].style.width = '';
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  1611
				r.appendChild(col);
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  1612
				o.gridColElms.push(col);
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  1613
			}
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  1614
			this.hasGridWidthsRow = true;
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  1615
			//Data table row with widths expressed
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  1616
			o.leadColWidthsRow = o.tbl.rows[0];
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  1617
			o.leadColWidthsRow.setAttribute('validRow','false');
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  1618
			
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  1619
			var beforeSortFn = tf_isFn(f.on_before_sort) ? f.on_before_sort : null;
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  1620
			f.on_before_sort = function(o,colIndex){
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  1621
				o.leadColWidthsRow.setAttribute('validRow','false');
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  1622
				if(beforeSortFn!=null) beforeSortFn.call(null,o,colIndex);
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  1623
			} 
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  1624
			
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  1625
			var afterSortFn = tf_isFn(f.on_after_sort) ? f.on_after_sort : null;
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  1626
			f.on_after_sort = function(o,colIndex){
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  1627
				if(o.leadColWidthsRow.rowIndex != 0){
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  1628
					var r = o.leadColWidthsRow;
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  1629
					if( tbody.length>0 )
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  1630
						tbody[0].moveRow(o.leadColWidthsRow.rowIndex, 0);
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  1631
					else o.tbl.moveRow(o.leadColWidthsRow.rowIndex, 0);
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  1632
				}
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  1633
				if(afterSortFn!=null) afterSortFn.call(null,o,colIndex);
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  1634
			}	
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  1635
		}
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  1636
		
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  1637
		var afterColResizedFn = tf_isFn(f.on_after_col_resized) ? f.on_after_col_resized : null;
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  1638
		f.on_after_col_resized = function(o,colIndex){
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  1639
			if(colIndex==undefined) return;
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  1640
			var w = o.crWColsRow.cells[colIndex].style.width;
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  1641
			var col = o.gridColElms[colIndex];
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  1642
			col.style.width = w;
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  1643
			
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  1644
			var thCW = o.crWColsRow.cells[colIndex].clientWidth;
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  1645
			var tdCW = o.crWRowDataTbl.cells[colIndex].clientWidth;
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  1646
			
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  1647
			if(tf_isIE || tf_isIE7)
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  1648
				o.tbl.style.width = o.headTbl.clientWidth+'px';
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  1649
			
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  1650
			if(thCW != tdCW && !tf_isIE && !tf_isIE7)
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  1651
				o.headTbl.style.width = o.tbl.clientWidth+'px'; 
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  1652
			
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  1653
			if(afterColResizedFn!=null) afterColResizedFn.call(null,o,colIndex);			
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  1654
		}	
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  1655
		
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  1656
		if(this.tbl.clientWidth != this.headTbl.clientWidth)
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  1657
			this.tbl.style.width = this.headTbl.clientWidth+'px';
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  1658
	},
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  1659
	
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  1660
	RemoveGridLayout: function()
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  1661
	{
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  1662
		if(!this.gridLayout) return;		
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  1663
		var t = this.tbl.parentNode.removeChild(this.tbl);
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  1664
		this.tblMainCont.parentNode.insertBefore(t, this.tblMainCont);
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  1665
		this.tblMainCont.parentNode.removeChild( this.tblMainCont );
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  1666
		this.tblMainCont = null;
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  1667
		this.headTblCont = null;
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  1668
		this.headTbl = null;
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  1669
		this.tblCont = null;
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  1670
		//TO DO: alternative solution for Firefox
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  1671
		this.tbl.outerHTML = this.sourceTblHtml;
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  1672
		this.tbl = tf_Id(this.id);
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  1673
		this.isFirstLoad = true;
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  1674
		this.activeFlt = null;
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  1675
		this.isStartBgAlternate = true;
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  1676
		this.hasGrid = false;
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  1677
	},
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  1678
	
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  1679
	SetTopDiv: function()
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  1680
	/*====================================================
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  1681
		- Generates div above table where paging,
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  1682
		reset button, rows counter label etc. are placed
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  1683
	=====================================================*/
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  1684
	{
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  1685
		if( this.infDiv!=null ) return;
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  1686
	
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  1687
		/*** container div ***/
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  1688
		var infdiv = tf_CreateElm( 'div',['id',this.prfxInfDiv+this.id] );
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  1689
		infdiv.className = this.infDivCssClass;// setAttribute method doesn't seem to work on ie<=6
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  1690
		if(this.fixedHeaders && this.contDiv)
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  1691
			this.contDiv.parentNode.insertBefore(infdiv, this.contDiv);
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  1692
		else if(this.gridLayout){
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  1693
			this.tblMainCont.appendChild(infdiv);
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  1694
			infdiv.className = this.gridInfDivCssClass;
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  1695
		}
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  1696
		else
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  1697
			this.tbl.parentNode.insertBefore(infdiv, this.tbl);
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  1698
		this.infDiv = tf_Id( this.prfxInfDiv+this.id );
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  1699
		
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  1700
		/*** left div containing rows # displayer ***/
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  1701
		var ldiv = tf_CreateElm( 'div',['id',this.prfxLDiv+this.id] );
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  1702
		ldiv.className = this.lDivCssClass;/*'ldiv'*/;
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  1703
		infdiv.appendChild(ldiv);
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  1704
		this.lDiv = tf_Id( this.prfxLDiv+this.id );		
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  1705
		
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  1706
		/*** 	right div containing reset button 
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  1707
				+ nb results per page select 	***/	
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  1708
		var rdiv = tf_CreateElm( 'div',['id',this.prfxRDiv+this.id] );
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  1709
		rdiv.className = this.rDivCssClass/*'rdiv'*/;
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  1710
		infdiv.appendChild(rdiv);
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  1711
		this.rDiv = tf_Id( this.prfxRDiv+this.id );
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  1712
		
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  1713
		/*** mid div containing paging elements ***/
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  1714
		var mdiv = tf_CreateElm( 'div',['id',this.prfxMDiv+this.id] );
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  1715
		mdiv.className = this.mDivCssClass/*'mdiv'*/;						
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  1716
		infdiv.appendChild(mdiv);
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  1717
		this.mDiv = tf_Id( this.prfxMDiv+this.id );
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  1718
	},
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  1719
	
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  1720
	RemoveTopDiv: function()
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  1721
	/*====================================================
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  1722
		- Removes div above table where paging,
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  1723
		reset button, rows counter label etc. are placed
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  1724
	=====================================================*/
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  1725
	{
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  1726
		if( this.infDiv==null ) return;
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  1727
		this.infDiv.parentNode.removeChild( this.infDiv );
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  1728
		this.infDiv = null;
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  1729
	},
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  1730
	
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  1731
	SetFixedHeaders: function()
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  1732
	/*====================================================
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  1733
		- CSS solution making headers fixed
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  1734
	=====================================================*/
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  1735
	{
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  1736
		if((!this.hasGrid && !this.isFirstLoad) || !this.fixedHeaders) return;
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  1737
		if(this.contDiv) return;	
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  1738
		var thead = tf_Tag(this.tbl,'thead');
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  1739
		if( thead.length==0 ) return;
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  1740
		var tbody = tf_Tag(this.tbl,'tbody');	
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  1741
		if( tbody[0].clientHeight!=0 ) 
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  1742
		{//firefox returns tbody height
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  1743
			//previous values
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  1744
			this.prevTBodyH = tbody[0].clientHeight;
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  1745
			this.prevTBodyOverflow = tbody[0].style.overflow;
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  1746
			this.prevTBodyOverflowX = tbody[0].style.overflowX;
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  1747
			
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  1748
			tbody[0].style.height = this.tBodyH+'px';
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  1749
			tbody[0].style.overflow = 'auto';
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  1750
			tbody[0].style.overflowX = 'hidden';
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  1751
		} else { //IE returns 0
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  1752
			// cont div is added to emulate fixed headers behaviour
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  1753
			var contDiv = tf_CreateElm( 'div',['id',this.prfxContentDiv+this.id] );
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  1754
			contDiv.className = this.contDivCssClass;
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  1755
			this.tbl.parentNode.insertBefore(contDiv, this.tbl);
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  1756
			contDiv.appendChild(this.tbl);
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  1757
			this.contDiv = tf_Id(this.prfxContentDiv+this.id);
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  1758
			//prevents headers moving during window scroll (IE)
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  1759
			this.contDiv.style.position = 'relative';
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  1760
			
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  1761
			var theadH = 0;
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  1762
			var theadTr = tf_Tag(thead[0],'tr');	
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  1763
			for(var i=0; i<theadTr.length; i++)
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  1764
			{//css below emulates fixed headers on IE<=6
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  1765
				theadTr[i].style.cssText += 'position:relative; ' +
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  1766
											'top:expression(offsetParent.scrollTop);';
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  1767
				theadH += parseInt(theadTr[i].clientHeight);
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  1768
			}
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  1769
			
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  1770
			this.contDiv.style.height = (this.tBodyH+theadH)+'px';
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  1771
			
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  1772
			var tfoot = tf_Tag(this.tbl,'tfoot');
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  1773
			if( tfoot.length==0 ) return;
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  1774
			
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  1775
			var tfootTr = tf_Tag(tfoot[0],'tr');
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  1776
				
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  1777
			for(var j=0; j<tfootTr.length; j++)//css below emulates fixed footer on IE<=6
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  1778
				tfootTr[j].style.cssText += 'position:relative; overflow-x: hidden; ' +
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  1779
											'top: expression(parentNode.parentNode.offsetHeight >= ' +
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  1780
											'offsetParent.offsetHeight ? 0 - parentNode.parentNode.offsetHeight + '+ 
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  1781
											'offsetParent.offsetHeight + offsetParent.scrollTop : 0);';		
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  1782
		}	
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  1783
	},
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  1784
	
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  1785
	RemoveFixedHeaders: function()
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  1786
	/*====================================================
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  1787
		- Removes fixed headers
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  1788
	=====================================================*/
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  1789
	{
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  1790
		if(!this.hasGrid || !this.fixedHeaders ) return;
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  1791
		if( this.contDiv )//IE additional div
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  1792
		{
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  1793
			this.contDiv.parentNode.insertBefore(this.tbl, this.contDiv);
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  1794
			this.contDiv.parentNode.removeChild( this.contDiv );
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  1795
			this.contDiv = null;
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  1796
			var thead = tf_Tag(this.tbl,'thead');
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  1797
			if( thead.length==0 ) return;
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  1798
			var theadTr = tf_Tag(thead[0],'tr');
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  1799
			if( theadTr.length==0 ) return;
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  1800
			for(var i=0; i<theadTr.length; i++)
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  1801
				theadTr[i].style.cssText = '';
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  1802
			var tfoot = tf_Tag(this.tbl,'tfoot');
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  1803
			if( tfoot.length==0 ) return;		
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  1804
			var tfootTr = tf_Tag(tfoot[0],'tr');	
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  1805
			for(var j=0; j<tfootTr.length; j++)
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  1806
			{
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  1807
				tfootTr[j].style.position = 'relative';
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  1808
				tfootTr[j].style.top = '';
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  1809
				tfootTr[j].style.overeflowX = '';
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  1810
			}
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  1811
		} else {
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  1812
			var tbody = tf_Tag(this.tbl,'tbody');
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  1813
			if( tbody.length==0 ) return;
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  1814
			tbody[0].style.height = this.prevTBodyH+'px';
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  1815
			tbody[0].style.overflow = this.prevTBodyOverflow;
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  1816
			tbody[0].style.overflowX = this.prevTBodyOverflowX;
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  1817
		}
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  1818
	},
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  1819
	
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  1820
	SetPaging: function()
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  1821
	/*====================================================
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  1822
		- Generates paging elements:
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  1823
			- pages drop-down list
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  1824
			- previous, next, first, last buttons
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  1825
	=====================================================*/
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  1826
	{
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  1827
		if(!this.hasGrid && !this.isFirstLoad) return;
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  1828
		if(!this.paging || (!this.isPagingRemoved && !this.isFirstLoad)) return;
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  1829
		var start_row = this.refRow;
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  1830
		var nrows = this.nbRows;
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  1831
		this.nbPages = Math.ceil( (nrows-start_row)/this.pagingLength );//calculates page nb
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  1832
	
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  1833
		// Paging drop-down list selector
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  1834
		if(this.pageSelectorType == this.fltTypeSlc)
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  1835
		{
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  1836
			var slcPages = tf_CreateElm( this.fltTypeSlc, ['id',this.prfxSlcPages+this.id] );
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  1837
			slcPages.className = this.pgSlcCssClass;
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  1838
			slcPages.onchange = this.Evt._OnSlcPagesChange;
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  1839
		}
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  1840
		// Paging input selector
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  1841
		if(this.pageSelectorType == this.fltTypeInp)
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  1842
		{
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  1843
			var slcPages = tf_CreateElm( 
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  1844
				this.fltTypeInp, 
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  1845
				['id',this.prfxSlcPages+this.id],
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  1846
				['value',this.currentPageNb]
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  1847
			);
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  1848
			slcPages.className = this.pgInpCssClass;
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  1849
			slcPages.onkeypress = this.Evt._Paging._detectKey;
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  1850
		}
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  1851
		
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  1852
		var btnNextSpan, btnPrevSpan, btnLastSpan, btnFirstSpan;// btns containers
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  1853
		btnNextSpan = tf_CreateElm('span',['id',this.prfxBtnNextSpan+this.id]);
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  1854
		btnPrevSpan = tf_CreateElm('span',['id',this.prfxBtnPrevSpan+this.id]);
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  1855
		btnLastSpan = tf_CreateElm('span',['id',this.prfxBtnLastSpan+this.id]);
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  1856
		btnFirstSpan = tf_CreateElm('span',['id',this.prfxBtnFirstSpan+this.id]);
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  1857
		
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  1858
		if(this.hasPagingBtns)
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  1859
		{
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  1860
			if(this.btnNextPageHtml==null)
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  1861
			{// Next button
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  1862
				var btn_next = tf_CreateElm( this.fltTypeInp,['id',this.prfxBtnNext+this.id],
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  1863
					['type','button'],['value',this.btnNextPageText],['title','Next'] );
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  1864
				btn_next.className = this.btnPageCssClass;
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  1865
				btn_next.onclick = this.Evt._Paging.next;
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  1866
				btnNextSpan.appendChild(btn_next);
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  1867
			} else {
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  1868
				btnNextSpan.innerHTML = this.btnNextPageHtml;
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  1869
				btnNextSpan.onclick = this.Evt._Paging.next;
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  1870
			}
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  1871
			
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  1872
			if(this.btnPrevPageHtml==null)
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  1873
			{// Previous button
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  1874
				var btn_prev = tf_CreateElm( this.fltTypeInp,['id',this.prfxBtnPrev+this.id],
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  1875
					['type','button'],['value',this.btnPrevPageText],['title','Previous'] );
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  1876
				btn_prev.className = this.btnPageCssClass;
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  1877
				btn_prev.onclick = this.Evt._Paging.prev;
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  1878
				btnPrevSpan.appendChild(btn_prev);
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  1879
			} else { 
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  1880
				btnPrevSpan.innerHTML = this.btnPrevPageHtml;
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  1881
				btnPrevSpan.onclick = this.Evt._Paging.prev;
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  1882
			}
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  1883
			
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  1884
			if(this.btnLastPageHtml==null)
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  1885
			{// Last button
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  1886
				var btn_last = tf_CreateElm( this.fltTypeInp,['id',this.prfxBtnLast+this.id],
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  1887
					['type','button'],['value',this.btnLastPageText],['title','Last'] );
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  1888
				btn_last.className = this.btnPageCssClass;
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  1889
				btn_last.onclick = this.Evt._Paging.last;
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  1890
				btnLastSpan.appendChild(btn_last);
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  1891
			} else { 
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  1892
				btnLastSpan.innerHTML = this.btnLastPageHtml;
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  1893
				btnLastSpan.onclick = this.Evt._Paging.last;
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  1894
			}
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  1895
			
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  1896
			if(this.btnFirstPageHtml==null)
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  1897
			{// First button
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  1898
				var btn_first = tf_CreateElm( this.fltTypeInp,['id',this.prfxBtnFirst+this.id],
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  1899
					['type','button'],['value',this.btnFirstPageText],['title','First'] );
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  1900
				btn_first.className = this.btnPageCssClass;
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  1901
				btn_first.onclick = this.Evt._Paging.first;
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  1902
				btnFirstSpan.appendChild(btn_first);
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  1903
			} else { 
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  1904
				btnFirstSpan.innerHTML = this.btnFirstPageHtml;
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  1905
				btnFirstSpan.onclick = this.Evt._Paging.first;
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  1906
			}			
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  1907
		}//if this.hasPagingBtns
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  1908
		
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  1909
		// paging elements (buttons+drop-down list) are added to defined element
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  1910
		if(this.pagingTgtId==null) this.SetTopDiv();
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  1911
		var targetEl = ( this.pagingTgtId==null ) ? this.mDiv : tf_Id( this.pagingTgtId );
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  1912
		
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  1913
		/***	if paging previously removed this prevents IE memory leak with removeChild 
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  1914
				used in RemovePaging method. For more info refer to
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  1915
				http://forums.microsoft.com/MSDN/ShowPost.aspx?PostID=2840253&SiteID=1	***/
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  1916
		if ( targetEl.innerHTML!='' ) targetEl.innerHTML = '';
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  1917
		/*** ***/
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  1918
		
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  1919
		targetEl.appendChild(btnPrevSpan);
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  1920
		targetEl.appendChild(btnFirstSpan);
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  1921
		
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  1922
		var pgBeforeSpan = tf_CreateElm( 'span',['id',this.prfxPgBeforeSpan+this.id] );
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  1923
		pgBeforeSpan.appendChild( tf_CreateText(' Page ') );
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  1924
		pgBeforeSpan.className = this.nbPgSpanCssClass;
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  1925
		targetEl.appendChild(pgBeforeSpan);
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  1926
		targetEl.appendChild(slcPages);
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  1927
		var pgAfterSpan = tf_CreateElm( 'span',['id',this.prfxPgAfterSpan+this.id] );
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  1928
		pgAfterSpan.appendChild( tf_CreateText(' of ') );
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  1929
		pgAfterSpan.className = this.nbPgSpanCssClass;
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  1930
		targetEl.appendChild(pgAfterSpan)
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  1931
		var pgspan = tf_CreateElm( 'span',['id',this.prfxPgSpan+this.id] );
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  1932
		pgspan.className = this.nbPgSpanCssClass;
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  1933
		pgspan.appendChild( tf_CreateText(' '+this.nbPages+' ') );
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  1934
		targetEl.appendChild(pgspan);
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  1935
		targetEl.appendChild(btnLastSpan);
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  1936
		targetEl.appendChild(btnNextSpan);
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  1937
	
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  1938
		this.pagingSlc = tf_Id(this.prfxSlcPages+this.id); //to be easily re-used
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  1939
		
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  1940
		// if this.rememberGridValues==true this.SetPagingInfo() is called
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  1941
		// in ResetGridValues() method
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  1942
		if( !this.rememberGridValues || this.isPagingRemoved )
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  1943
			this.SetPagingInfo();
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  1944
		if( !this.fltGrid )
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  1945
		{
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  1946
			this.ValidateAllRows();
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  1947
			this.SetPagingInfo(this.validRowsIndex);
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  1948
		}
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  1949
			
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  1950
		this.pagingBtnEvents = this.Evt._Paging;
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  1951
		this.isPagingRemoved = false;
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  1952
	},
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  1953
	
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  1954
	RemovePaging: function()
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  1955
	/*====================================================
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  1956
		- Removes paging elements
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  1957
	=====================================================*/
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  1958
	{
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  1959
		if(!this.hasGrid) return;
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  1960
		if( this.pagingSlc==null ) return;
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  1961
		var btnNextSpan, btnPrevSpan, btnLastSpan, btnFirstSpan;// btns containers
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  1962
		var pgBeforeSpan, pgAfterSpan, pgspan;
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  1963
		btnNextSpan = tf_Id(this.prfxBtnNextSpan+this.id);
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  1964
		btnPrevSpan = tf_Id(this.prfxBtnPrevSpan+this.id);
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  1965
		btnLastSpan = tf_Id(this.prfxBtnLastSpan+this.id);
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  1966
		btnFirstSpan = tf_Id(this.prfxBtnFirstSpan+this.id);
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  1967
		pgBeforeSpan = tf_Id(this.prfxPgBeforeSpan+this.id);//span containing 'Page' text
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  1968
		pgAfterSpan = tf_Id(this.prfxPgAfterSpan+this.id);//span containing 'of' text
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  1969
		pgspan = tf_Id(this.prfxPgSpan+this.id);//span containing nb of pages
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  1970
		
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  1971
		this.pagingSlc.parentNode.removeChild(this.pagingSlc);
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  1972
		
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  1973
		if( btnNextSpan!=null )
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  1974
			btnNextSpan.parentNode.removeChild( btnNextSpan );
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  1975
	
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  1976
		if( btnPrevSpan!=null )
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  1977
			btnPrevSpan.parentNode.removeChild( btnPrevSpan );
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  1978
	
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  1979
		if( btnLastSpan!=null )
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  1980
			btnLastSpan.parentNode.removeChild( btnLastSpan );
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  1981
	
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  1982
		if( btnFirstSpan!=null )
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  1983
			btnFirstSpan.parentNode.removeChild( btnFirstSpan );
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  1984
	
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  1985
		if( pgBeforeSpan!=null )
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  1986
			pgBeforeSpan.parentNode.removeChild( pgBeforeSpan );
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  1987
	
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  1988
		if( pgAfterSpan!=null )
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  1989
			pgAfterSpan.parentNode.removeChild( pgAfterSpan );
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  1990
	
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  1991
		if( pgspan!=null )
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  1992
			pgspan.parentNode.removeChild( pgspan );
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  1993
		
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  1994
		this.pagingBtnEvents = null;	
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  1995
		this.pagingSlc = null;
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  1996
		this.isPagingRemoved = true;
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  1997
	},
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  1998
	
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  1999
	SetRowsCounter: function()
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  2000
	/*====================================================
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  2001
		- Generates rows counter label
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  2002
	=====================================================*/
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  2003
	{
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  2004
		if(!this.hasGrid && !this.isFirstLoad) return;
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  2005
		if( this.rowsCounterSpan!=null ) return;
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  2006
		var countDiv = tf_CreateElm( 'div',['id',this.prfxCounter+this.id] ); //rows counter container
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  2007
		countDiv.className = this.totRowsCssClass;
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  2008
		var countSpan = tf_CreateElm( 'span',['id',this.prfxTotRows+this.id] ); //rows counter label
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  2009
		var countText = tf_CreateElm( 'span',['id',this.prfxTotRowsTxt+this.id] );
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  2010
		countText.appendChild( tf_CreateText(this.rowsCounterText) );
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  2011
		
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  2012
		// counter is added to defined element
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  2013
		if(this.rowsCounterTgtId==null) this.SetTopDiv();
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  2014
		var targetEl = ( this.rowsCounterTgtId==null ) ? this.lDiv : tf_Id( this.rowsCounterTgtId );
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  2015
		
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  2016
		//IE only: clears all for sure
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  2017
		if(this.rowsCounterDiv && tf_isIE)
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  2018
			this.rowsCounterDiv.outerHTML = '';
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  2019
		
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  2020
		if( this.rowsCounterTgtId==null )
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  2021
		{//default container: 'lDiv'
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  2022
			countDiv.appendChild(countText);
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  2023
			countDiv.appendChild(countSpan);
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  2024
			targetEl.appendChild(countDiv);
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  2025
		}
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  2026
		else
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  2027
		{// custom container, no need to append statusDiv
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  2028
			targetEl.appendChild(countText);
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  2029
			targetEl.appendChild(countSpan);
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  2030
		}
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  2031
		this.rowsCounterDiv = tf_Id( this.prfxCounter+this.id );
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  2032
		this.rowsCounterSpan = tf_Id( this.prfxTotRows+this.id );
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  2033
		
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  2034
		this.RefreshNbRows();	
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  2035
	},
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  2036
	
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  2037
	RemoveRowsCounter: function()
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  2038
	/*====================================================
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  2039
		- Removes rows counter label
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  2040
	=====================================================*/
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  2041
	{
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  2042
		if(!this.hasGrid) return;
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  2043
		if( this.rowsCounterSpan==null ) return;
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  2044
		
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  2045
		if(this.rowsCounterTgtId==null && this.rowsCounterDiv)
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  2046
		{
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  2047
			//IE only: clears all for sure
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  2048
			if(tf_isIE) this.rowsCounterDiv.outerHTML = '';
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  2049
			else
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  2050
				this.rowsCounterDiv.parentNode.removeChild( 
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  2051
					this.rowsCounterDiv
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  2052
				);
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  2053
		} else {
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  2054
			tf_Id( this.rowsCounterTgtId ).innerHTML = '';
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  2055
		}
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  2056
		this.rowsCounterSpan = null;
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  2057
		this.rowsCounterDiv = null;
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  2058
	},
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  2059
	
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  2060
	SetStatusBar: function()
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  2061
	/*====================================================
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  2062
		- Generates status bar label
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  2063
	=====================================================*/
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  2064
	{
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  2065
		if(!this.hasGrid && !this.isFirstLoad) return;
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  2066
		var statusDiv = tf_CreateElm( 'div',['id',this.prfxStatus+this.id] ); //status bar container
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  2067
		statusDiv.className = this.statusBarCssClass;
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  2068
		var statusSpan = tf_CreateElm( 'span',['id',this.prfxStatusSpan+this.id] ); //status bar label
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  2069
		var statusSpanText = tf_CreateElm( 'span',['id',this.prfxStatusTxt+this.id] );//preceding text
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  2070
		statusSpanText.appendChild( tf_CreateText(this.statusBarText) );
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  2071
	
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  2072
		// target element container
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  2073
		if(this.statusBarTgtId==null) this.SetTopDiv();
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  2074
		var targetEl = ( this.statusBarTgtId==null ) ? this.lDiv : tf_Id( this.statusBarTgtId );
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  2075
		
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  2076
		if(this.statusBarDiv && tf_isIE)
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  2077
			this.statusBarDiv.outerHTML = '';
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  2078
		
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  2079
		if( this.statusBarTgtId==null )
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  2080
		{//default container: 'lDiv'
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  2081
			statusDiv.appendChild(statusSpanText);
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  2082
			statusDiv.appendChild(statusSpan);
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  2083
			targetEl.appendChild(statusDiv);
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  2084
		}
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  2085
		else
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  2086
		{// custom container, no need to append statusDiv
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  2087
			targetEl.appendChild(statusSpanText);
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  2088
			targetEl.appendChild(statusSpan);
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  2089
		}
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  2090
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  2091
		this.statusBarDiv = tf_Id( this.prfxStatus+this.id );
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  2092
		this.statusBarSpan = tf_Id( this.prfxStatusSpan+this.id );
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  2093
		this.statusBarSpanText = tf_Id( this.prfxStatusTxt+this.id );
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  2094
	},
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  2095
	
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  2096
	RemoveStatusBar: function()
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  2097
	/*====================================================
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  2098
		- Removes status bar div
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  2099
	=====================================================*/
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  2100
	{
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  2101
		if(!this.hasGrid) return;
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  2102
		if(this.statusBarDiv)
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  2103
		{
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  2104
			this.statusBarDiv.innerHTML = '';
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  2105
			this.statusBarDiv.parentNode.removeChild( 
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  2106
				this.statusBarDiv
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  2107
			);
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  2108
			this.statusBarSpan = null;
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  2109
			this.statusBarSpanText = null;
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  2110
			this.statusBarDiv = null;
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  2111
		}
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  2112
	},
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  2113
	
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  2114
	SetResultsPerPage: function()
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  2115
	/*====================================================
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  2116
		- Generates results per page select + label
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  2117
	=====================================================*/
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  2118
	{
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  2119
		if(!this.hasGrid && !this.isFirstLoad) return;
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  2120
		if( this.resultsPerPageSlc!=null || this.resultsPerPage==null ) return;
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  2121
		var slcR = tf_CreateElm( this.fltTypeSlc,['id',this.prfxSlcResults+this.id] );
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  2122
		slcR.className = this.resultsSlcCssClass;
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  2123
		var slcRText = this.resultsPerPage[0], slcROpts = this.resultsPerPage[1];
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  2124
		var slcRSpan = tf_CreateElm( 'span',['id',this.prfxSlcResultsTxt+this.id] );
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  2125
		slcRSpan.className = this.resultsSpanCssClass;
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  2126
		
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  2127
		// results per page select is added to defined element
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  2128
		if(this.resultsPerPageTgtId==null) this.SetTopDiv();
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  2129
		var targetEl = ( this.resultsPerPageTgtId==null ) ? this.rDiv : tf_Id( this.resultsPerPageTgtId );
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  2130
		slcRSpan.appendChild(tf_CreateText(slcRText));
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  2131
		targetEl.appendChild(slcRSpan);
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  2132
		targetEl.appendChild(slcR);
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  2133
		
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  2134
		this.resultsPerPageSlc = tf_Id(this.prfxSlcResults+this.id);
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  2135
		
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  2136
		for(var r=0; r<slcROpts.length; r++)
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  2137
		{
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  2138
			var currOpt = new Option(slcROpts[r],slcROpts[r],false,false);
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  2139
			this.resultsPerPageSlc.options[r] = currOpt;
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  2140
		}
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  2141
		slcR.onchange = this.Evt._OnSlcResultsChange;
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  2142
	},
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  2143
	
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  2144
	RemoveResultsPerPage: function()
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  2145
	/*====================================================
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  2146
		- Removes results per page select + label
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  2147
	=====================================================*/
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  2148
	{
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  2149
		if(!this.hasGrid) return;
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  2150
		if( this.resultsPerPageSlc==null || this.resultsPerPage==null ) return;
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  2151
		var slcR, slcRSpan;
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  2152
		slcR = this.resultsPerPageSlc;
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  2153
		slcRSpan = tf_Id( this.prfxSlcResultsTxt+this.id );
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  2154
		if( slcR!=null )
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  2155
			slcR.parentNode.removeChild( slcR );
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  2156
		if( slcRSpan!=null )
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  2157
			slcRSpan.parentNode.removeChild( slcRSpan );
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  2158
		this.resultsPerPageSlc = null;
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  2159
	},
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  2160
	
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  2161
	SetResetBtn: function()
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  2162
	/*====================================================
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  2163
		- Generates reset button
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  2164
	=====================================================*/
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  2165
	{
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  2166
		if(!this.hasGrid && !this.isFirstLoad) return;
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  2167
		if( this.btnResetEl!=null ) return;
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  2168
		var resetspan = tf_CreateElm('span',['id',this.prfxResetSpan+this.id]);
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  2169
		
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  2170
		// reset button is added to defined element
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  2171
		if(this.btnResetTgtId==null) this.SetTopDiv();
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  2172
		var targetEl = ( this.btnResetTgtId==null ) ? this.rDiv : tf_Id( this.btnResetTgtId );
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  2173
		targetEl.appendChild(resetspan);
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  2174
			
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  2175
		if(this.btnResetHtml==null)
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  2176
		{	
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  2177
			var fltreset = tf_CreateElm( 'a', ['href','javascript:void(0);'] );
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  2178
			fltreset.className = this.btnResetCssClass;
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  2179
			fltreset.appendChild(tf_CreateText(this.btnResetText));
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  2180
			resetspan.appendChild(fltreset);
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  2181
			fltreset.onclick = this.Evt._Clear;
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  2182
		} else {
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  2183
			resetspan.innerHTML = this.btnResetHtml;
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  2184
			var resetEl = resetspan.firstChild;
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  2185
			resetEl.onclick = this.Evt._Clear;
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  2186
		}
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  2187
		this.btnResetEl = tf_Id(this.prfxResetSpan+this.id).firstChild;	
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  2188
	},
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  2189
	
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  2190
	RemoveResetBtn: function()
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  2191
	/*====================================================
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  2192
		- Removes reset button
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  2193
	=====================================================*/
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  2194
	{
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  2195
		if(!this.hasGrid) return;
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  2196
		if( this.btnResetEl==null ) return;
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  2197
		var resetspan = tf_Id(this.prfxResetSpan+this.id);
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  2198
		if( resetspan!=null )
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  2199
			resetspan.parentNode.removeChild( resetspan );
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  2200
		this.btnResetEl = null;	
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  2201
	},
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  2202
	
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  2203
	RemoveExternalFlts: function()
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  2204
	/*====================================================
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  2205
		- removes external filters
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  2206
	=====================================================*/
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  2207
	{
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  2208
		if( !this.isExternalFlt && !this.externalFltTgtIds ) return;
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  2209
		for(var ct=0; ct<this.externalFltTgtIds.length; ct++ )
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  2210
			if( tf_Id(this.externalFltTgtIds[ct]) )
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  2211
				tf_Id(this.externalFltTgtIds[ct]).innerHTML = '';
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  2212
	},
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  2213
	
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  2214
	SetSort: function()
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  2215
	/*====================================================
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  2216
		- Sets sorting feature by loading 
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  2217
		WebFX Sortable Table 1.12 by Erik Arvidsson
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  2218
		and TF adapter by Max Guglielmi
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  2219
	=====================================================*/
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  2220
	{
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  2221
		if(tf_isImported(this.sortConfig.src))
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  2222
			this.Evt._EnableSort();
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  2223
		else
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  2224
			this.IncludeFile(
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  2225
				this.sortConfig.name, 
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  2226
				this.sortConfig.src, 
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  2227
				this.Evt._EnableSort
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  2228
			);
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  2229
	},
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  2230
	
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  2231
	RemoveSort: function()
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  2232
	/*====================================================
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  2233
		- removes sorting feature
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  2234
	=====================================================*/
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  2235
	{
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  2236
		if(!this.sort) return;
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  2237
		this.sort = false;
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  2238
	},
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  2239
	
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  2240
	PopulateSelect: function(colIndex,isExternal,extSlcId)
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  2241
	{ 
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  2242
		this.EvtManager(
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  2243
			this.Evt.name.populateselect,
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  2244
			{ slcIndex:colIndex, slcExternal:isExternal, slcId:extSlcId }
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  2245
		); 
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  2246
	},
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  2247
	_PopulateSelect: function(colIndex,isRefreshed,isExternal,extSlcId)
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  2248
	/*====================================================
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  2249
		- populates drop-down filters
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  2250
	=====================================================*/
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  2251
	{
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  2252
		isExternal = (isExternal==undefined) ? false : isExternal;
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  2253
		var slcId = this.fltIds[colIndex];
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  2254
		if( tf_Id(slcId)==null && !isExternal ) return;
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  2255
		if( tf_Id(extSlcId)==null && isExternal ) return;
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  2256
		var slc = (!isExternal) ? tf_Id(slcId) : tf_Id(extSlcId);
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  2257
		var o = this, row = this.tbl.rows;
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  2258
		var fillMethod = this.slcFillingMethod.tf_LCase();
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  2259
		var optArray = [], slcInnerHtml = '', opt0;
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  2260
		var isCustomSlc = (this.hasCustomSlcOptions  //custom select test
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  2261
							&& this.customSlcOptions.cols.tf_Has(colIndex));
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  2262
		var optTxt = []; //custom selects text
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  2263
		var activeFlt;
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  2264
		if(isRefreshed && this.activeFilterId){
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  2265
			activeFlt = this.activeFilterId.split('_')[0];
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  2266
			activeFlt = activeFlt.split(this.prfxFlt)[1];
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  2267
		}
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  2268
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  2269
		/*** remember grid values ***/
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  2270
		var flts_values = [], fltArr = [];
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  2271
		if(this.rememberGridValues)
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  2272
		{
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  2273
			flts_values = tf_CookieValueArray(this.fltsValuesCookie);			
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  2274
			fltArr = (flts_values[colIndex]!=undefined) 
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  2275
						? flts_values[colIndex].split(' '+this.orOperator+' ') 
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  2276
						: flts_values[colIndex] = [];			
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  2277
		}
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  2278
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  2279
		for(var k=this.refRow; k<this.nbRows; k++)
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  2280
		{
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  2281
			// always visible rows don't need to appear on selects as always valid
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  2282
			if( this.hasVisibleRows && this.visibleRows.tf_Has(k) && !this.paging ) 
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  2283
				continue;
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  2284
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  2285
			var cell = tf_Tag(row[k],'td');
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  2286
			var nchilds = cell.length;
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  2287
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  2288
			if(nchilds == this.nbCells && !isCustomSlc)
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  2289
			{// checks if row has exact cell #
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  2290
				for(var j=0; j<nchilds; j++)// this loop retrieves cell data
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  2291
				{
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  2292
					if((colIndex==j && !isRefreshed) || 
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  2293
						(colIndex==j && isRefreshed && ((row[k].style.display == '' && !this.paging) || 
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  2294
						( this.paging && (!this.validRowsIndex || (this.validRowsIndex && this.validRowsIndex.tf_Has(k)))
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  2295
							&& ((activeFlt==undefined || activeFlt==colIndex)  || (activeFlt!=colIndex && this.validRowsIndex.tf_Has(k) ))) )))
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  2296
					{
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  2297
						var cell_data = this.GetCellData(j, cell[j]);
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  2298
						var cell_string = cell_data.tf_MatchCase(this.matchCase);//Váry Péter's patch
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  2299
						// checks if celldata is already in array
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  2300
						var isMatched = false;
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  2301
						isMatched = optArray.tf_Has(cell_string,this.matchCase);
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  2302
						
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  2303
						if(!isMatched)
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  2304
							optArray.push(cell_data);						
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  2305
					}//if colIndex==j
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  2306
				}//for j
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  2307
			}//if
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  2308
		}//for k
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  2309
		
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  2310
		//Retrieves custom values
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  2311
		if(isCustomSlc)
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  2312
		{
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  2313
			var customValues = this.__getCustomValues(colIndex);
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  2314
			optArray = customValues[0];
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  2315
			optTxt = customValues[1];
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  2316
		}
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  2317
		
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  2318
		if(this.sortSlc && !isCustomSlc)
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  2319
			optArray.sort(this.matchCase ? null : tf_IgnoreCaseSort);
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  2320
		
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  2321
		if(this.sortNumAsc && this.sortNumAsc.tf_Has(colIndex))
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  2322
		{//asc sort
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  2323
			try{
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  2324
				optArray.sort( tf_NumSortAsc ); 
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  2325
				if(isCustomSlc) optTxt.sort( tf_NumSortAsc );
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  2326
			} catch(e) {
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  2327
				optArray.sort(); 
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  2328
				if(isCustomSlc) optTxt.sort();
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  2329
			}//in case there are alphanumeric values
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  2330
		}
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  2331
		if(this.sortNumDesc && this.sortNumDesc.tf_Has(colIndex))
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  2332
		{//desc sort
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  2333
			try{
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  2334
				optArray.sort( tf_NumSortDesc ); 
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  2335
				if(isCustomSlc) optTxt.sort( tf_NumSortDesc );
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  2336
			} catch(e) {
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  2337
				optArray.sort(); 
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  2338
				if(isCustomSlc) optTxt.sort();
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  2339
			}//in case there are alphanumeric values
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  2340
		}
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  2341
		
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  2342
		AddOpts();//populates drop-down
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  2343
		
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  2344
		function AddOpt0()
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  2345
		{// adds 1st option
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  2346
			if( fillMethod == 'innerhtml' )
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  2347
				slcInnerHtml += '<option value="">'+o.displayAllText+'</option>';
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  2348
			else {
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  2349
				var opt0 = tf_CreateOpt(o.displayAllText,'');			
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  2350
				slc.appendChild(opt0);
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  2351
			}
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  2352
		}
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  2353
		
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  2354
		function AddOpts()
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  2355
		{// populates select
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  2356
			var slcValue = slc.value;
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  2357
			slc.innerHTML = '';
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  2358
			AddOpt0();			
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  2359
			
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  2360
			for(var y=0; y<optArray.length; y++)
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  2361
			{			
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  2362
				if( fillMethod == 'innerhtml' )
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  2363
				{
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  2364
					var slcAttr = '';
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  2365
					var slcCustomTxt = (isCustomSlc) ? optTxt[y] : optArray[y];
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  2366
					if( o.fillSlcOnDemand && slcValue==optArray[y] )
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  2367
						slcAttr = 'selected="selected"';
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  2368
					slcInnerHtml += '<option value="'+optArray[y]+'" '
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  2369
										+slcAttr+'>'+slcCustomTxt+'</option>';
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  2370
				} else {
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  2371
					var opt;
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  2372
					//fill select on demand
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  2373
					if(o.fillSlcOnDemand && slcValue==optArray[y] && o['col'+colIndex]==o.fltTypeSlc)
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  2374
						opt = tf_CreateOpt( (isCustomSlc) ? optTxt[y] : optArray[y],
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  2375
											optArray[y],
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  2376
											true );
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  2377
					else{
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  2378
						if( o['col'+colIndex]!=o.fltTypeMulti )
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  2379
							opt = tf_CreateOpt( (isCustomSlc) ? optTxt[y] : optArray[y],
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  2380
												optArray[y],
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  2381
												(flts_values[colIndex]!=' ' && optArray[y]==flts_values[colIndex]) 
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  2382
												? true : false 	);
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  2383
						else
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  2384
						{
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  2385
							opt = tf_CreateOpt( (isCustomSlc) ? optTxt[y] : optArray[y],
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  2386
												optArray[y],
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  2387
												(fltArr.tf_Has(optArray[y].tf_MatchCase(o.matchCase),o.matchCase)) 
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  2388
												? true : false 	);
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  2389
						}
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  2390
					}
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  2391
					slc.appendChild(opt);
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  2392
				}
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  2393
			}// for y
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  2394
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  2395
			if( fillMethod == 'innerhtml' )
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  2396
				slc.innerHTML += slcInnerHtml;
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  2397
				
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  2398
			slc.setAttribute('filled','1');
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  2399
		}// fn AddOpt
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  2400
	},
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  2401
	
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  2402
	PopulateCheckList: function(colIndex, isExternal, extFltId)
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  2403
	{
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  2404
		this.EvtManager(
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  2405
			this.Evt.name.populatechecklist,
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  2406
			{ slcIndex:colIndex, slcExternal:isExternal, slcId:extFltId }
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  2407
		); 
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  2408
	},
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  2409
	_PopulateCheckList: function(colIndex, isExternal, extFltId)
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  2410
	/*====================================================
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  2411
		- populates checklist filters
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  2412
	=====================================================*/
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  2413
	{
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  2414
		isExternal = (isExternal==undefined) ? false : isExternal;
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  2415
		var divFltId = this.prfxCheckListDiv+colIndex+'_'+this.id;
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  2416
		if( tf_Id(divFltId)==null && !isExternal ) return;
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  2417
		if( tf_Id(extFltId)==null && isExternal ) return;
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  2418
		var flt = (!isExternal) ? this.checkListDiv[colIndex] : tf_Id(extFltId);
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  2419
		var ul = tf_CreateElm('ul',['id',this.fltIds[colIndex]],['colIndex',colIndex]);
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  2420
		ul.className = this.checkListCssClass;
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  2421
		ul.onchange = this.Evt._OnSlcChange;
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  2422
		var o = this, row = this.tbl.rows;
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  2423
		var optArray = [];
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  2424
		var isCustomSlc = (this.hasCustomSlcOptions  //custom select test
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  2425
							&& this.customSlcOptions.cols.tf_Has(colIndex));
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  2426
		var optTxt = []; //custom selects text
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  2427
		var activeFlt;
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  2428
		if(this.refreshFilters && this.activeFilterId){
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  2429
			activeFlt = this.activeFilterId.split('_')[0];
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  2430
			activeFlt = activeFlt.split(this.prfxFlt)[1];
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  2431
		}		
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  2432
		
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  2433
		for(var k=this.refRow; k<this.nbRows; k++)
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  2434
		{
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  2435
			// always visible rows don't need to appear on selects as always valid
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  2436
			if( this.hasVisibleRows && this.visibleRows.tf_Has(k) && !this.paging ) 
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  2437
				continue;
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  2438
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  2439
			var cells = tf_Tag(row[k],'td');
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  2440
			var ncells = cells.length;
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  2441
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  2442
			if(ncells == this.nbCells && !isCustomSlc)
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  2443
			{// checks if row has exact cell #
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  2444
				for(var j=0; j<ncells; j++)
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  2445
				{// this loop retrieves cell data
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  2446
					if((colIndex==j && !this.refreshFilters) || 
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  2447
						(colIndex==j && this.refreshFilters && ((row[k].style.display == '' && !this.paging) || 
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  2448
						( this.paging && ((activeFlt==undefined || activeFlt==colIndex ) ||(activeFlt!=colIndex && this.validRowsIndex.tf_Has(k))) ))))
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  2449
					{
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  2450
						var cell_data = this.GetCellData(j, cells[j]);
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  2451
						var cell_string = cell_data.tf_MatchCase(this.matchCase);//Váry Péter's patch
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  2452
						// checks if celldata is already in array
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  2453
						var isMatched = false;
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  2454
						isMatched = optArray.tf_Has(cell_string,this.matchCase);
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  2455
						
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  2456
						if(!isMatched)
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  2457
							optArray.push(cell_data);
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  2458
					}
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  2459
				}
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  2460
			}
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  2461
		}
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  2462
		
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  2463
		//Retrieves custom values
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  2464
		if(isCustomSlc)
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  2465
		{
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  2466
			var customValues = this.__getCustomValues(colIndex);
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  2467
			optArray = customValues[0];
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  2468
			optTxt = customValues[1];
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  2469
		}
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  2470
		
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  2471
		if(this.sortSlc && !isCustomSlc)
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  2472
			optArray.sort(this.matchCase ? null : tf_IgnoreCaseSort);
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  2473
		
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  2474
		if(this.sortNumAsc && this.sortNumAsc.tf_Has(colIndex))
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  2475
		{//asc sort
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  2476
			try{
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  2477
				optArray.sort( tf_NumSortAsc ); 
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  2478
				if(isCustomSlc) optTxt.sort( tf_NumSortAsc );
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  2479
			} catch(e) {
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  2480
				optArray.sort(); 
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  2481
				if(isCustomSlc) optTxt.sort();
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  2482
			}//in case there are alphanumeric values
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  2483
		}
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  2484
		if(this.sortNumDesc && this.sortNumDesc.tf_Has(colIndex))
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  2485
		{//desc sort
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  2486
			try{
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  2487
				optArray.sort( tf_NumSortDesc ); 
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  2488
				if(isCustomSlc) optTxt.sort( tf_NumSortDesc );
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  2489
			} catch(e) {
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  2490
				optArray.sort(); 
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  2491
				if(isCustomSlc) optTxt.sort();
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  2492
			}//in case there are alphanumeric values
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  2493
		}
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  2494
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  2495
		AddChecks();
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  2496
			
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  2497
		function AddCheck0()
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  2498
		{// adds 1st option
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  2499
			var li0 = tf_CreateCheckItem(o.fltIds[colIndex]+'_0', '', o.displayAllText);
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  2500
			li0.className = o.checkListItemCssClass;
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  2501
			ul.appendChild(li0);
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  2502
			li0.check.onclick = function(){  
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  2503
				o.__setCheckListValues(this); 
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  2504
								
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  2505
				if(o.refreshFilters){
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  2506
					//o.activeFilterId = '';
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  2507
					//o.RefreshFiltersGrid();
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  2508
				}
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  2509
				else
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  2510
				ul.onchange.call(null);
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  2511
			};
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  2512
			
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  2513
			if(tf_isIE)
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  2514
			{//IE: label looses check capability
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  2515
				li0.label.onclick = function(){ li0.check.click(); };
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  2516
			}
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  2517
		}
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  2518
		
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  2519
		function AddChecks()
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  2520
		{		
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  2521
			AddCheck0();
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  2522
			
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  2523
			var flts_values = [], fltArr = []; //remember grid values
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  2524
			if(tf_CookieValueByIndex(o.fltsValuesCookie, colIndex)!=undefined)
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  2525
				fltArr = tf_CookieValueByIndex(o.fltsValuesCookie, colIndex).split(' '+o.orOperator+' ');
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  2526
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  2527
			for(var y=0; y<optArray.length; y++)
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  2528
			{
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  2529
				var li = tf_CreateCheckItem(
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  2530
					o.fltIds[colIndex]+'_'+(y+1), 
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  2531
					optArray[y], 
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  2532
					(isCustomSlc) ? optTxt[y] : optArray[y]
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  2533
				);
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  2534
				li.className = o.checkListItemCssClass;
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  2535
				ul.appendChild(li);
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  2536
				li.check.onclick = function(){ o.__setCheckListValues(this); ul.onchange.call(null); };
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  2537
				
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  2538
				/*** remember grid values ***/
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  2539
				if(o.rememberGridValues)
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  2540
				{
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  2541
					if(fltArr.tf_Has(optArray[y].tf_MatchCase(o.matchCase),o.matchCase))
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  2542
					{
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  2543
						li.check.checked = true;
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  2544
						o.__setCheckListValues(li.check);
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  2545
					}			
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  2546
				}
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  2547
				
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  2548
				if(tf_isIE)
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  2549
				{//IE: label looses check capability
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  2550
					li.label.onclick = function(){ this.firstChild.click(); };	
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  2551
				}
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  2552
			}
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  2553
		}
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  2554
		
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  2555
		if(this.fillSlcOnDemand)
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  2556
			flt.innerHTML = '';
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  2557
		flt.appendChild(ul);
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  2558
		flt.setAttribute('filled','1');
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  2559
		
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  2560
		/*** remember grid values IE only, items remain un-checked ***/
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  2561
		if(o.rememberGridValues && tf_isIE)
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  2562
		{
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  2563
			var slcIndexes = ul.getAttribute('indexes');
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  2564
			if(slcIndexes != null)
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  2565
			{
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  2566
				var indSplit = slcIndexes.split(',');//items indexes
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  2567
				for(var n=0; n<indSplit.length; n++)
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  2568
				{
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  2569
					var cChk = tf_Id(this.fltIds[colIndex]+'_'+indSplit[n]); //checked item
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  2570
					if(cChk) cChk.checked = true;
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  2571
				}
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  2572
			}
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  2573
		}
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  2574
	},
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  2575
	
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  2576
	Filter: function()
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  2577
	{
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  2578
		this.EvtManager(this.Evt.name.filter); 
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  2579
	},
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  2580
	_Filter: function()
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  2581
	/*====================================================
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  2582
		- Filtering fn
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  2583
		- retrieves data from each td in every single tr
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  2584
		and compares to search string for current
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  2585
		column
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  2586
		- tr is hidden if all search strings are not 
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  2587
		found
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  2588
	=====================================================*/
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  2589
	{
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  2590
		if( !this.fltGrid || (!this.hasGrid && !this.isFirstLoad) ) return;
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  2591
		//invokes eventual onbefore method
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  2592
		if(this.onBeforeFilter) this.onBeforeFilter.call(null,this);
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  2593
		var row = this.tbl.rows;	
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  2594
		f = this.fObj!=undefined ? this.fObj : [];
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  2595
		var hiddenrows = 0;
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  2596
		this.validRowsIndex = [];
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  2597
		var o = this;		
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  2598
		
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  2599
		// removes keyword highlighting
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  2600
		this.UnhighlightAll();
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  2601
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  2602
		// search args re-init
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  2603
		this.searchArgs = this.GetFiltersValue(); 
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  2604
		
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  2605
		var num_cell_data, nbFormat;
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  2606
		var re_le = new RegExp(this.leOperator), re_ge = new RegExp(this.geOperator);
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  2607
		var re_l = new RegExp(this.lwOperator), re_g = new RegExp(this.grOperator);
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  2608
		var re_d = new RegExp(this.dfOperator), re_lk = new RegExp(tf_RegexpEscape(this.lkOperator));
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  2609
		var re_eq = new RegExp(this.eqOperator), re_st = new RegExp(this.stOperator);
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  2610
		var re_en = new RegExp(this.enOperator), re_an = new RegExp(this.anOperator);
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  2611
		var re_cr = new RegExp(this.curExp);
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  2612
		
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  2613
		function highlight(str,ok,cell){//keyword highlighting
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  2614
			if( o.highlightKeywords && ok ){
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  2615
				str = str.replace(re_lk,'');
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  2616
				str = str.replace(re_eq,'');
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  2617
				str = str.replace(re_st,'');
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  2618
				str = str.replace(re_en,'');
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  2619
				var w = str;
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  2620
				if(re_le.test(str) || re_ge.test(str) || re_l.test(str) || re_g.test(str) || re_d.test(str))	
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  2621
					w = tf_GetNodeText(cell);
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  2622
				if(w!='')
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  2623
					tf_HighlightWord( cell,w,o.highlightCssClass );
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  2624
			}
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  2625
		}
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  2626
		
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  2627
		//looks for search argument in current row
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  2628
		function hasArg(sA,cell_data,j)
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  2629
		{
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  2630
			var occurence;
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  2631
			//Search arg operator tests
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  2632
			var hasLO = re_l.test(sA), hasLE = re_le.test(sA);
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  2633
			var hasGR = re_g.test(sA), hasGE = re_ge.test(sA);
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  2634
			var hasDF = re_d.test(sA), hasEQ = re_eq.test(sA);
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  2635
			var hasLK = re_lk.test(sA), hasAN = re_an.test(sA);
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  2636
			var hasST = re_st.test(sA), hasEN = re_en.test(sA);
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  2637
			
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  2638
			//Search arg dates tests
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  2639
			var isLDate = ( hasLO && tf_isValidDate(sA.replace(re_l,''),dtType) );
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  2640
			var isLEDate = ( hasLE && tf_isValidDate(sA.replace(re_le,''),dtType) );
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  2641
			var isGDate = ( hasGR && tf_isValidDate(sA.replace(re_g,''),dtType) );
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  2642
			var isGEDate = ( hasGE && tf_isValidDate(sA.replace(re_ge,''),dtType) );
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  2643
			var isDFDate = ( hasDF && tf_isValidDate(sA.replace(re_d,''),dtType) );
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  2644
			var isEQDate = ( hasEQ && tf_isValidDate(sA.replace(re_eq,''),dtType) );
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  2645
						
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  2646
			if( tf_isValidDate(cell_data,dtType) )
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  2647
			{//dates
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  2648
				var dte1 = tf_formatDate(cell_data,dtType);
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  2649
				if(isLDate) 
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  2650
				{// lower date
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  2651
					var dte2 = tf_formatDate(sA.replace(re_l,''),dtType);
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  2652
					occurence = (dte1 < dte2);
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  2653
				}
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  2654
				else if(isLEDate) 
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  2655
				{// lower equal date
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  2656
					var dte2 = tf_formatDate(sA.replace(re_le,''),dtType);
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  2657
					occurence = (dte1 <= dte2);
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  2658
				}
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  2659
				else if(isGEDate) 
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  2660
				{// greater equal date
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  2661
					var dte2 = tf_formatDate(sA.replace(re_ge,''),dtType);
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  2662
					occurence = (dte1 >= dte2);
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  2663
				}
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  2664
				else if(isGDate) 
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  2665
				{// greater date
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  2666
					var dte2 = tf_formatDate(sA.replace(re_g,''),dtType);
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  2667
					occurence = (dte1 > dte2);
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  2668
				}
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  2669
				else if(isDFDate) 
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  2670
				{// different date
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  2671
					var dte2 = tf_formatDate(sA.replace(re_d,''),dtType);
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  2672
					occurence = (dte1.toString() != dte2.toString());
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  2673
				}
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  2674
				else if(isEQDate) 
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  2675
				{// equal date
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  2676
					var dte2 = tf_formatDate(sA.replace(re_eq,''),dtType);
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  2677
					occurence = (dte1.toString() == dte2.toString());
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  2678
				}
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  2679
				else if(re_lk.test(sA)) // searched keyword with * operator doesn't have to be a date
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  2680
				{// like date
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  2681
					occurence = o.__containsStr( sA.replace(re_lk,''),cell_data,null,false);
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  2682
				}
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  2683
				else if(tf_isValidDate(sA,dtType))
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  2684
				{
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  2685
					var dte2 = tf_formatDate(sA,dtType);
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  2686
					occurence = (dte1.toString() == dte2.toString());
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  2687
				}
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  2688
			}
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  2689
			
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  2690
			else 
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  2691
			{						
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  2692
				//first numbers need to be formated
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  2693
				if(o.hasColNbFormat && o.colNbFormat[j]!=null)
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  2694
				{
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  2695
					num_cell_data = tf_removeNbFormat(cell_data,o.colNbFormat[j]);
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  2696
					nbFormat = o.colNbFormat[j];
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  2697
				} else {
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  2698
					if(o.thousandsSeparator==',' && o.decimalSeparator=='.')
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  2699
					{
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  2700
						num_cell_data = tf_removeNbFormat(cell_data,'us');
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  2701
						nbFormat = 'us';
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  2702
					} else {
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  2703
						num_cell_data = tf_removeNbFormat(cell_data,'eu');
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  2704
						nbFormat = 'eu';
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  2705
					}
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  2706
				}
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  2707
				
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  2708
				// first checks if there is any operator (<,>,<=,>=,!,*,=,{,})
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  2709
				if(hasLE) //lower equal
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  2710
					occurence = num_cell_data <= tf_removeNbFormat(sA.replace(re_le,''),nbFormat);
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  2711
				
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  2712
				else if(hasGE) //greater equal
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  2713
					occurence = num_cell_data >= tf_removeNbFormat(sA.replace(re_ge,''),nbFormat);
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  2714
				
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  2715
				else if(hasLO) //lower
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  2716
					occurence = num_cell_data < tf_removeNbFormat(sA.replace(re_l,''),nbFormat);
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  2717
					
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  2718
				else if(hasGR) //greater
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  2719
					occurence = num_cell_data > tf_removeNbFormat(sA.replace(re_g,''),nbFormat);							
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  2720
					
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  2721
				else if(hasDF) //different
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  2722
					occurence = o.__containsStr( sA.replace(re_d,''),cell_data ) ? false : true;
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  2723
			
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  2724
				else if(hasLK) //like
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  2725
					occurence = o.__containsStr( sA.replace(re_lk,''),cell_data,null,false);
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  2726
				
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  2727
				else if(hasEQ) //equal
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  2728
					occurence = o.__containsStr( sA.replace(re_eq,''),cell_data,null,true);
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  2729
				
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  2730
				else if(hasST) //starts with
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  2731
					occurence = cell_data.indexOf(sA.replace(re_st,''))==0 ? true : false;
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  2732
				
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  2733
				else if(hasEN) //ends with
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  2734
				{
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  2735
					var searchArg = sA.replace(re_en,'');
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  2736
					occurence = cell_data.lastIndexOf(searchArg,cell_data.length-1)==(cell_data.length-1)-(searchArg.length-1)
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  2737
						&& cell_data.lastIndexOf(searchArg,cell_data.length-1) > -1
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  2738
						? true : false;
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  2739
				}
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  2740
				
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  2741
				else
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  2742
					occurence = o.__containsStr( sA,cell_data,(f['col_'+j]==undefined) ? this.fltTypeInp : f['col_'+j] );
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  2743
				
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  2744
			}//else
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  2745
			return occurence;
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  2746
		}//fn
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  2747
		
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  2748
		for(var k=this.refRow; k<this.nbRows; k++)
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  2749
		{
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  2750
			/*** if table already filtered some rows are not visible ***/
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  2751
			if(row[k].style.display == 'none') row[k].style.display = '';
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  2752
					
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  2753
			var cell = tf_Tag(row[k],'td');
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  2754
			var nchilds = cell.length;			
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  2755
			
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  2756
			// checks if row has exact cell #
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  2757
			if(nchilds != this.nbCells) continue;
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  2758
	
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  2759
			var occurence = [];
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  2760
			var isRowValid = (this.searchType=='include') ? true : false;
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  2761
			var singleFltRowValid = false; //only for single filter search
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  2762
			
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  2763
			for(var j=0; j<nchilds; j++)
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  2764
			{// this loop retrieves cell data
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  2765
				var sA = this.searchArgs[(this.singleSearchFlt) ? 0 : j]; //searched keyword
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  2766
				var dtType = (this.hasColDateType) ? this.colDateType[j] : this.defaultDateType;
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  2767
				if(sA=='') continue;
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  2768
				
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  2769
				var cell_data = this.GetCellData(j, cell[j]).tf_MatchCase(this.matchCase);
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  2770
	
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  2771
				var sAOrSplit = sA.split(this.orOperator);//multiple search parameter operator ||
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  2772
				var hasMultiOrSA = (sAOrSplit.length>1) ? true : false;//multiple search || parameter boolean
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  2773
				var sAAndSplit = sA.split('&&');//multiple search parameter operator &&
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  2774
				var hasMultiAndSA = (sAAndSplit.length>1) ? true : false;//multiple search && parameter boolean
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  2775
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  2776
				if(hasMultiOrSA || hasMultiAndSA)
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  2777
				{//multiple sarch parameters
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  2778
					var cS, occur = false;
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  2779
					var s = (hasMultiOrSA) ? sAOrSplit : sAAndSplit;
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  2780
					for(var w=0; w<s.length; w++)
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  2781
					{
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  2782
						cS = s[w].tf_Trim();
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  2783
						occur = hasArg(cS,cell_data,j);
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  2784
						highlight(cS,occur,cell[j]);
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  2785
						if(hasMultiOrSA && occur) break;
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  2786
						if(hasMultiAndSA && !occur) break;
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  2787
					}
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  2788
					occurence[j] = occur;
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  2789
				}
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  2790
				else {//single search parameter		
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  2791
					occurence[j] = hasArg(sA.tf_Trim(),cell_data,j);
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  2792
					highlight(sA,occurence[j],cell[j]);
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  2793
				}//else single param
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  2794
				
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  2795
				if(!occurence[j]) isRowValid = (this.searchType=='include') ? false : true;
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  2796
				if(this.singleSearchFlt && occurence[j]) singleFltRowValid = true;
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  2797
				
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  2798
			}//for j
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  2799
			
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  2800
			if(this.singleSearchFlt && singleFltRowValid) isRowValid = true;
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  2801
			
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  2802
			if(!isRowValid)
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  2803
			{
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  2804
				this.SetRowValidation(k,false);
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  2805
				// always visible rows need to be counted as valid
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  2806
				if( this.hasVisibleRows && this.visibleRows.tf_Has(k) && !this.paging)
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  2807
					this.validRowsIndex.push(k);
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  2808
				else
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  2809
					hiddenrows++;
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  2810
			} else {
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  2811
				this.SetRowValidation(k,true);
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  2812
				this.validRowsIndex.push(k);
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  2813
				this.SetRowBg(k,this.validRowsIndex.length);
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  2814
				if(this.onRowValidated) this.onRowValidated.call(null,this,k);
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  2815
			}
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  2816
			
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  2817
		}// for k
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  2818
		
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  2819
		this.nbVisibleRows = this.validRowsIndex.length;
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  2820
		this.nbHiddenRows = hiddenrows;
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  2821
		this.isStartBgAlternate = false;
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  2822
		if( this.rememberGridValues ) this.RememberFiltersValue(this.fltsValuesCookie);
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  2823
		if(!this.paging) this.ApplyGridProps();//applies filter props after filtering process
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  2824
		if(this.paging){ 
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  2825
			this.startPagingRow = 0; 
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  2826
			this.currentPageNb = 1;
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  2827
			this.SetPagingInfo(this.validRowsIndex); 
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  2828
		}//starts paging process
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  2829
		//invokes eventual onafter function
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  2830
		if(this.onAfterFilter) this.onAfterFilter.call(null,this);
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  2831
	},
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  2832
	
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  2833
	SetPagingInfo: function( validRows )
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  2834
	/*====================================================
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  2835
		- calculates page # according to valid rows
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  2836
		- refreshes paging select according to page #
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  2837
		- Calls GroupByPage method
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  2838
	=====================================================*/
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  2839
	{
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  2840
		var row = this.tbl.rows;
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  2841
		var mdiv = ( this.pagingTgtId==null ) ? this.mDiv : tf_Id( this.pagingTgtId );
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  2842
		var pgspan = tf_Id(this.prfxPgSpan+this.id);
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  2843
		
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  2844
		if( validRows!=undefined ) this.validRowsIndex = validRows;//stores valid rows index
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  2845
		else 
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  2846
		{
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  2847
			this.validRowsIndex = [];//re-sets valid rows index
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  2848
	
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  2849
			for(var j=this.refRow; j<this.nbRows; j++)//counts rows to be grouped 
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  2850
			{
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  2851
				var isRowValid = row[j].getAttribute('validRow');
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  2852
				if(isRowValid=='true' || isRowValid==null )
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  2853
						this.validRowsIndex.push(j);
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  2854
			}//for j
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  2855
		}
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  2856
	
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  2857
		this.nbPages = Math.ceil( this.validRowsIndex.length/this.pagingLength );//calculates nb of pages
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  2858
		pgspan.innerHTML = this.nbPages; //refresh page nb span 
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  2859
		if(this.pageSelectorType==this.fltTypeSlc) 
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  2860
			this.pagingSlc.innerHTML = '';//select clearing shortcut
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  2861
		
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  2862
		if( this.nbPages>0 )
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  2863
		{
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  2864
			mdiv.style.visibility = 'visible';
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  2865
			if(this.pageSelectorType==this.fltTypeSlc)
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  2866
				for(var z=0; z<this.nbPages; z++)
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  2867
				{
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  2868
					var currOpt = new Option((z+1),z*this.pagingLength,false,false);
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  2869
					this.pagingSlc.options[z] = currOpt;
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  2870
				}
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  2871
			else this.pagingSlc.value = this.currentPageNb; //input type
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  2872
			
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  2873
		} else {/*** if no results paging select and buttons are hidden ***/
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  2874
			mdiv.style.visibility = 'hidden';
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  2875
		}
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  2876
		this.GroupByPage( this.validRowsIndex );
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  2877
	},
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  2878
	
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  2879
	GroupByPage: function( validRows )
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  2880
	/*====================================================
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  2881
		- Displays current page rows
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  2882
	=====================================================*/
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  2883
	{
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  2884
		var row = this.tbl.rows;
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  2885
		var paging_end_row = parseInt( this.startPagingRow ) + parseInt( this.pagingLength );
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  2886
		
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  2887
		if( validRows!=undefined ) this.validRowsIndex = validRows;//stores valid rows index
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  2888
	
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  2889
		for(h=0; h<this.validRowsIndex.length; h++)
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  2890
		{//this loop shows valid rows of current page
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  2891
			if( h>=this.startPagingRow && h<paging_end_row )
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  2892
			{
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  2893
				var r = row[ this.validRowsIndex[h] ];
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  2894
				if(r.getAttribute('validRow')=='true' || r.getAttribute('validRow')==undefined)
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  2895
					r.style.display = '';
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  2896
				this.SetRowBg(this.validRowsIndex[h],h);
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  2897
			} else {
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  2898
				row[ this.validRowsIndex[h] ].style.display = 'none';
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  2899
				this.RemoveRowBg(this.validRowsIndex[h]);
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  2900
			}
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  2901
		}
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  2902
		
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  2903
		this.nbVisibleRows = this.validRowsIndex.length;
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  2904
		this.isStartBgAlternate = false;
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  2905
		this.ApplyGridProps();//re-applies filter behaviours after filtering process
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  2906
	},
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  2907
	
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  2908
	ApplyGridProps: function()
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  2909
	/*====================================================
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  2910
		- checks methods that should be called
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  2911
		after filtering and/or paging process
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  2912
	=====================================================*/
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  2913
	{
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  2914
		if( this.activeFlt && this.activeFlt.nodeName.tf_LCase()==this.fltTypeSlc )
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  2915
		{// blurs active filter (IE)
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  2916
			this.activeFlt.blur(); 
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  2917
			if(this.activeFlt.parentNode) this.activeFlt.parentNode.focus(); 
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  2918
		}
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  2919
		
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  2920
		if( this.visibleRows ) this.SetVisibleRows();//shows rows always visible
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  2921
		if( this.colOperation ) this.SetColOperation();//makes operation on a col
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  2922
		if( this.refreshFilters ) this.RefreshFiltersGrid();//re-populates drop-down filters
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  2923
		var nr = (!this.paging && this.hasVisibleRows) 
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  2924
					? (this.nbVisibleRows - this.visibleRows.length) : this.nbVisibleRows;
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  2925
		if( this.rowsCounter ) this.RefreshNbRows( nr );//refreshes rows counter
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  2926
	},
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  2927
	
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  2928
	RefreshNbRows: function(p)
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  2929
	/*====================================================
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  2930
		- Shows total number of filtered rows
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  2931
	=====================================================*/
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  2932
	{
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  2933
		if(this.rowsCounterSpan == null) return;
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  2934
		var totTxt;
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  2935
		if(!this.paging)
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  2936
		{
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  2937
			if(p!=undefined && p!='') totTxt=p;
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  2938
			else totTxt = (this.nbFilterableRows - this.nbHiddenRows - (this.hasVisibleRows ? this.visibleRows.length : 0) );
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  2939
		} else {
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  2940
			var paging_start_row = parseInt(this.startPagingRow)+((this.nbVisibleRows>0) ? 1 : 0);//paging start row
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  2941
			var paging_end_row = (paging_start_row+this.pagingLength)-1 <= this.nbVisibleRows 
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  2942
				? (paging_start_row+this.pagingLength)-1 : this.nbVisibleRows;
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  2943
			totTxt = paging_start_row+'-'+paging_end_row+' / '+this.nbVisibleRows;
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  2944
		} 
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  2945
		this.rowsCounterSpan.innerHTML = totTxt;
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  2946
	},
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  2947
	
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  2948
	ChangePage: function( index )
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  2949
	{
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  2950
		this.EvtManager(this.Evt.name.changepage,{ pgIndex:index });
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  2951
	},
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  2952
	_ChangePage: function( index )
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  2953
	/*====================================================
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  2954
		- Changes page
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  2955
		- Param:
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  2956
			- index: option index of paging select 
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  2957
			(numeric value)
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  2958
	=====================================================*/
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  2959
	{
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  2960
		if( !this.paging ) return;
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  2961
		if( index==undefined ) 
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  2962
			index = (this.pageSelectorType==this.fltTypeSlc) ? 
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  2963
				this.pagingSlc.options.selectedIndex : (this.pagingSlc.value-1);
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  2964
		if( index>=0 && index<=(this.nbPages-1) )
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  2965
		{
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  2966
			this.currentPageNb = parseInt(index)+1;
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  2967
			if(this.pageSelectorType==this.fltTypeSlc)
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  2968
				this.pagingSlc.options[index].selected = true;
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  2969
			else
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  2970
				this.pagingSlc.value = this.currentPageNb;
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  2971
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  2972
			if( this.rememberPageNb ) this.RememberPageNb( this.pgNbCookie );
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  2973
			this.startPagingRow = (this.pageSelectorType==this.fltTypeSlc)
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  2974
				? this.pagingSlc.value : (index*this.pagingLength);
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  2975
			this.GroupByPage();
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  2976
		}
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  2977
	},
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  2978
	
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  2979
	ChangeResultsPerPage: function()
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  2980
	{
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  2981
		this.EvtManager(this.Evt.name.changeresultsperpage);
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  2982
	},
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  2983
	_ChangeResultsPerPage: function()
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  2984
	/*====================================================
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  2985
		- calculates rows to be displayed in a page
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  2986
		- method called by nb results per page select
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  2987
	=====================================================*/
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  2988
	{
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  2989
		if( !this.paging ) return;
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  2990
		var slcR = this.resultsPerPageSlc;
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  2991
		var slcPagesSelIndex = (this.pageSelectorType==this.fltTypeSlc) 
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  2992
			? this.pagingSlc.selectedIndex : parseInt(this.pagingSlc.value-1);
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  2993
		this.pagingLength = parseInt(slcR.options[slcR.selectedIndex].value);
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  2994
		this.startPagingRow = this.pagingLength*slcPagesSelIndex;
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  2995
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  2996
		if( !isNaN(this.pagingLength) )
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  2997
		{
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  2998
			if( this.startPagingRow>=this.nbFilterableRows )
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  2999
				this.startPagingRow = (this.nbFilterableRows-this.pagingLength);
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  3000
			this.SetPagingInfo();
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  3001
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  3002
			if(this.pageSelectorType==this.fltTypeSlc)
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  3003
			{
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  3004
				var slcIndex = (this.pagingSlc.options.length-1<=slcPagesSelIndex ) 
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  3005
								? (this.pagingSlc.options.length-1) : slcPagesSelIndex;
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  3006
				this.pagingSlc.options[slcIndex].selected = true;
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  3007
			}
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  3008
			if( this.rememberPageLen ) this.RememberPageLength( this.pgLenCookie );
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  3009
		}//if isNaN
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  3010
	},
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  3011
	
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  3012
	Sort: function()
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  3013
	{
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  3014
		this.EvtManager(this.Evt.name.sort);
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  3015
	},
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  3016
	
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  3017
	GetColValues: function(colindex,num,exclude)
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  3018
	/*====================================================
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  3019
		- returns an array containing cell values of
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  3020
		a column
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  3021
		- needs following args:
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  3022
			- column index (number)
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  3023
			- a boolean set to true if we want only 
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  3024
			numbers to be returned
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  3025
			- array containing rows index to be excluded
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  3026
			from returned values
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  3027
	=====================================================*/
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  3028
	{
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  3029
		if( !this.fltGrid ) return;
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  3030
		var row = this.tbl.rows;
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  3031
		var colValues = [];
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  3032
	
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  3033
		for(var i=this.refRow; i<this.nbRows; i++)//iterates rows
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  3034
		{
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  3035
			var isExludedRow = false;
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  3036
			if(exclude!=undefined && (typeof exclude).tf_LCase()=='object')
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  3037
			{ // checks if current row index appears in exclude array
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  3038
				isExludedRow = exclude.tf_Has(i); //boolean
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  3039
			}
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  3040
			var cell = tf_Tag(row[i],'td');
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  3041
			var nchilds = cell.length;
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  3042
			
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  3043
			if(nchilds == this.nbCells && !isExludedRow)
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  3044
			{// checks if row has exact cell # and is not excluded
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  3045
				for(var j=0; j<nchilds; j++)// this loop retrieves cell data
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  3046
				{
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  3047
					if(j==colindex && row[i].style.display=='' )
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  3048
					{
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  3049
						var cell_data = this.GetCellData(j, cell[j]).tf_LCase();
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  3050
						var nbFormat = this.colNbFormat ? this.colNbFormat[colindex] : null;
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  3051
						(num) ? colValues.push( tf_removeNbFormat(cell_data,nbFormat) ) 
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  3052
								: colValues.push( cell_data );
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  3053
					}//if j==k
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  3054
				}//for j
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  3055
			}//if nchilds == this.nbCells
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  3056
		}//for i
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  3057
		return colValues;	
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  3058
	},
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  3059
	
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  3060
	GetFilterValue: function(index)
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  3061
	/*====================================================
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  3062
		- Returns value of a specified filter
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  3063
		- Params:
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  3064
			- index: filter column index (numeric value)
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  3065
	=====================================================*/
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  3066
	{
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  3067
		if( !this.fltGrid ) return;
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  3068
		var fltValue;
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  3069
		var flt = tf_Id(this.fltIds[index]);
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  3070
		if(flt==null) return fltValue='';
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  3071
		
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  3072
		if( this['col'+index]!=this.fltTypeMulti && 
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  3073
			this['col'+index]!=this.fltTypeCheckList )
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  3074
			fltValue = flt.value;
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  3075
		else if(this['col'+index] == this.fltTypeMulti)
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  3076
		{//mutiple select
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  3077
			fltValue = '';
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  3078
			for(var j=0; j<flt.options.length; j++) 
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  3079
				if(flt.options[j].selected)
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  3080
					fltValue = fltValue.concat(
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  3081
								flt.options[j].value+' ' +
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  3082
								this.orOperator + ' '
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  3083
								);
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  3084
			//removes last operator ||
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  3085
			fltValue = fltValue.substr(0,fltValue.length-4);
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  3086
		}
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  3087
		else if(this['col'+index]==this.fltTypeCheckList)
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  3088
		{//checklist
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  3089
			if(flt.getAttribute('value')!=null)
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  3090
			{
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  3091
				fltValue = flt.getAttribute('value');
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  3092
				//removes last operator ||
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  3093
				fltValue = fltValue.substr(0,fltValue.length-3);
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  3094
			} else fltValue = '';
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  3095
		}			
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  3096
		return fltValue;
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  3097
	},
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  3098
	
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  3099
	GetFiltersValue: function()
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  3100
	/*====================================================
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  3101
		- Returns the value of every single filter
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  3102
	=====================================================*/
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  3103
	{
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  3104
		if( !this.fltGrid ) return;
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  3105
		var searchArgs = [];
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  3106
		for(var i=0; i<this.fltIds.length; i++)
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  3107
			searchArgs.push(
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  3108
				this.GetFilterValue(i).tf_MatchCase(this.matchCase).tf_Trim()
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  3109
			);
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  3110
		return searchArgs;
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  3111
	},
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  3112
	
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  3113
	GetFilterId: function(index)
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  3114
	/*====================================================
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  3115
		- Returns filter id of a specified column
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  3116
		- Params:
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  3117
			- index: column index (numeric value)
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  3118
	=====================================================*/
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  3119
	{
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  3120
		if( !this.fltGrid ) return;
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  3121
		return this.fltIds[i];
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  3122
	},
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  3123
	
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  3124
	GetFiltersByType: function(type,bool)
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  3125
	/*====================================================
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  3126
		- returns an array containing ids of filters of a 
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  3127
		specified type (inputs or selects)
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  3128
		- Note that hidden filters are also returned
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  3129
		- Needs folllowing args:
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  3130
			- filter type string ('input','select',
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  3131
			'multiple')
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  3132
			- optional boolean: if set true method
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  3133
			returns column indexes otherwise filters ids
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  3134
	=====================================================*/
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  3135
	{
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  3136
		if( !this.fltGrid ) return;
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  3137
		var arr = [];
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  3138
		for(var i=0; i<this.fltIds.length; i++)
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  3139
		{
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  3140
			var fltType = this['col'+i];
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  3141
			if(fltType == type.tf_LCase())
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  3142
			{
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  3143
				var a = (bool) ? i : this.fltIds[i];
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  3144
				arr.push(a);
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  3145
			}
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  3146
		}
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  3147
		return arr;
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  3148
	},
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  3149
	
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  3150
	GetCellsNb: function( rowIndex )
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  3151
	/*====================================================
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  3152
		- returns number of cells in a row
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  3153
		- if rowIndex param is passed returns number of 
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  3154
		cells of specified row (number)
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  3155
	=====================================================*/
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  3156
	{
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  3157
		var tr = (rowIndex == undefined) ? this.tbl.rows[0] : this.tbl.rows[rowIndex];
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  3158
		var n = tf_GetChildElms(tr);
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  3159
		return n.childNodes.length;
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  3160
	},
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  3161
	
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  3162
	GetRowsNb: function()
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  3163
	/*====================================================
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  3164
		- returns total nb of filterable rows starting 
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  3165
		from reference row if defined
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  3166
	=====================================================*/
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  3167
	{
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  3168
		var s = this.refRow==undefined ? 0 : this.refRow;
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  3169
		var ntrs = this.tbl.rows.length;
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  3170
		return parseInt(ntrs-s);
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  3171
	},
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  3172
	
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  3173
	GetCellData: function(i, cell)
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  3174
	/*====================================================
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  3175
		- returns text content of a given cell
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  3176
		- Params:
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  3177
			- i: index of the column (number)
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  3178
			- cell: td DOM object
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  3179
	=====================================================*/
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  3180
	{
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  3181
		if(i==undefined || cell==null) return "";
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  3182
		//First checks for customCellData event
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  3183
		if(this.customCellData && this.customCellDataCols.tf_Has(i))
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  3184
			return this.customCellData.call(null,this,cell,i);
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  3185
		else
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  3186
			return tf_GetNodeText(cell);
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  3187
	},
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  3188
	
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  3189
	GetTableData: function()
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  3190
	/*====================================================
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  3191
		- returns an array containing table data:
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  3192
		[rowindex,[value1,value2,value3...]]
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  3193
	=====================================================*/
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  3194
	{
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  3195
		var row = this.tbl.rows;
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  3196
		for(var k=this.refRow; k<this.nbRows; k++)
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  3197
		{
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  3198
			var rowData, cellData;
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  3199
			rowData = [k,[]];
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  3200
			var cells = tf_Tag(row[k],'td');
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  3201
			for(var j=0; j<cells.length; j++)
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  3202
			{// this loop retrieves cell data
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  3203
				var cell_data = this.GetCellData(j, cells[j]);
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  3204
				rowData[1].push( cell_data );
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  3205
			}
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  3206
			this.tblData.push( rowData )
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  3207
		}
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  3208
		return this.tblData;
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  3209
	},
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  3210
	
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  3211
	GetFilteredData: function()
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  3212
	/*====================================================
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  3213
		- returns an array containing filtered data:
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  3214
		[rowindex,[value1,value2,value3...]]
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  3215
	=====================================================*/
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  3216
	{
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  3217
		if(!this.validRowsIndex) return [];
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  3218
		var row = this.tbl.rows;
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  3219
		var filteredData = [];
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  3220
		for(var i=0; i<this.validRowsIndex.length; i++)
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  3221
		{
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  3222
			var rowData, cellData;
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  3223
			rowData = [this.validRowsIndex[i],[]];
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  3224
			var cells = tf_Tag(row[this.validRowsIndex[i]],'td');
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  3225
			for(var j=0; j<cells.length; j++)
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  3226
			{
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  3227
				var cell_data = this.GetCellData(j, cells[j]);
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  3228
				rowData[1].push( cell_data );
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  3229
			}
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  3230
			filteredData.push(rowData);
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  3231
		}
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  3232
		return filteredData;
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  3233
	},
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  3234
	
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  3235
	GetFilteredDataCol: function(colIndex)
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  3236
	/*====================================================
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  3237
		- returns an array containing filtered data of a
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  3238
		specified column. 
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  3239
		- Params:
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  3240
			- colIndex: index of the column (number)
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  3241
		- returned array:
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  3242
		[value1,value2,value3...]
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  3243
	=====================================================*/
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  3244
	{
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  3245
		if(colIndex==undefined) return [];
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  3246
		var data =  this.GetFilteredData();
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  3247
		var colData = [];
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  3248
		for(var i=0; i<data.length; i++)
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  3249
		{
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  3250
			var r = data[i];
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  3251
			var d = r[1]; //cols values of current row
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  3252
			var c = d[colIndex]; //data of searched column
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  3253
			colData.push(c);
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  3254
		}
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  3255
		return colData;
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  3256
	},
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  3257
	
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  3258
	GetRowDisplay: function(row)
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  3259
	{
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  3260
		if( !this.fltGrid && typeof row.tf_LCase!='object' ) return;
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  3261
		return row.style.display;
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  3262
	},
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  3263
	
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  3264
	SetRowValidation: function( rowIndex,isValid )
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  3265
	/*====================================================
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  3266
		- Validates/unvalidates row by setting 'validRow' 
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  3267
		attribute and shows/hides row
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  3268
		- Params:
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  3269
			- rowIndex: index of the row (number)
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  3270
			- isValid: boolean
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  3271
	=====================================================*/
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  3272
	{
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  3273
		var row = this.tbl.rows[rowIndex];
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  3274
		if( !row || (typeof isValid).tf_LCase()!='boolean' ) return;
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  3275
	
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  3276
		// always visible rows are valid
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  3277
		if( this.hasVisibleRows && this.visibleRows.tf_Has(rowIndex) && !this.paging )
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  3278
			isValid = true;
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  3279
		
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  3280
		var displayFlag = (isValid) ? '' : 'none';
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  3281
		var validFlag = (isValid) ? 'true' : 'false';		
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  3282
		row.style.display = displayFlag;
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  3283
		
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  3284
		if( this.paging ) 
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  3285
			row.setAttribute('validRow',validFlag);
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  3286
	},
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  3287
	
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  3288
	ValidateAllRows: function()
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  3289
	/*====================================================
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  3290
		- Validates all filterable rows
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  3291
	=====================================================*/
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  3292
	{
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  3293
		if( !this.hasGrid ) return;
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  3294
		this.validRowsIndex = [];
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  3295
		for(var k=this.refRow; k<this.nbFilterableRows; k++)
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  3296
		{
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  3297
			this.SetRowValidation(k,true);
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  3298
			this.validRowsIndex.push(k);
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  3299
		}
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  3300
	},
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  3301
	
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  3302
	SetFilterValue: function(index,searcharg,doFilter)
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  3303
	/*====================================================
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  3304
		- Inserts value in a specified filter
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  3305
		- Params:
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  3306
			- index: filter column index (numeric value)
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  3307
			- searcharg: search string
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  3308
			- doFilter: optional boolean for multiple
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  3309
			selects: executes filtering when multiple 
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  3310
			select populated... IE only!
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  3311
	=====================================================*/
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  3312
	{
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  3313
		if( (!this.fltGrid && !this.isFirstLoad) || tf_Id(this.fltIds[index])==null ) return;
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  3314
		var slc = tf_Id(this.fltIds[index]);
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  3315
		var execFilter = (doFilter==undefined) ? true : doFilter;
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  3316
		searcharg = (searcharg==undefined) ? '' : searcharg;
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  3317
		
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  3318
		if( this['col'+index]!=this.fltTypeMulti && 
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  3319
			this['col'+index]!=this.fltTypeCheckList )
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  3320
			slc.value = searcharg;
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  3321
			
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  3322
		else if(this['col'+index] == this.fltTypeMulti)
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  3323
		{//multiple selects
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  3324
			var s = searcharg.split(' '+this.orOperator+' ');
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  3325
			var ct = 0; //keywords counter
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  3326
			for(var j=0; j<slc.options.length; j++) 
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  3327
			{
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  3328
				if(s=='') slc.options[j].selected = false;
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  3329
				if(slc.options[j].value=='') slc.options[j].selected = false;
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  3330
				if(slc.options[j].value!='' && s.tf_Has(slc.options[j].value,true))
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  3331
				{
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  3332
					if(tf_isIE)
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  3333
					{// IE multiple selection work-around
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  3334
						//when last value reached filtering can be executed
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  3335
						var filter = (ct==(s.length-1) && execFilter) ? true : false;
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  3336
						this.__deferMultipleSelection(slc,j,filter);
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  3337
						ct++;
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  3338
					}					
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  3339
					else
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  3340
						slc.options[j].selected = true;
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  3341
				}//if
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  3342
			}//for j
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  3343
		}
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  3344
		
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  3345
		else if(this['col'+index]==this.fltTypeCheckList)
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  3346
		{//checklist
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  3347
			searcharg = searcharg.tf_MatchCase(this.matchCase);
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  3348
			var s = searcharg.split(' '+this.orOperator+' ');
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  3349
			var fltValue = slc.setAttribute('value','');
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  3350
			var fltIndex = slc.setAttribute('indexes','');
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  3351
			for(var k=0; k<tf_Tag(slc,'li').length; k++) 
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  3352
			{
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  3353
				var li = tf_Tag(slc,'li')[k];
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  3354
				var lbl = tf_Tag(li,'label')[0];
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  3355
				var chk = tf_Tag(li,'input')[0];
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  3356
				var lblTxt = tf_GetNodeText(lbl).tf_MatchCase(this.matchCase);
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  3357
				if(lblTxt!='' && s.tf_Has(lblTxt,true))
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  3358
				{
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  3359
					chk.checked = true;
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  3360
					this.__setCheckListValues(chk);
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  3361
				}
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  3362
				else{ 
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  3363
					chk.checked = false;
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  3364
					this.__setCheckListValues(chk);
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  3365
				}
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  3366
			}
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  3367
		}
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  3368
	},
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  3369
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  3370
	SetColWidths: function(rowIndex)
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  3371
	/*====================================================
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  3372
		- sets coluun widths in pixels
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  3373
	=====================================================*/
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  3374
	{
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  3375
		if( !this.fltGrid || !this.hasColWidth ) return;
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  3376
		var o = this, rIndex;
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  3377
		if(rowIndex==undefined) rIndex = this.tbl.rows[0].style.display!='none' ? 0 : 1;
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  3378
		else rIndex = rowIndex;
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  3379
		setWidths( this.tbl.rows[rIndex] );
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  3380
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  3381
		function setWidths( row )
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  3382
		{
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  3383
			if( !o && (o.nbCells!=o.colWidth.length) ) return;
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  3384
			if( o.nbCells==row.cells.length )
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  3385
				for(var k=0; k<o.nbCells; k++)
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  3386
					row.cells[k].style.width = o.colWidth[k];
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  3387
		}
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  3388
	},
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  3389
	
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  3390
	SetVisibleRows: function()
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  3391
	/*====================================================
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  3392
		- makes a row always visible
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  3393
		- Note this works only if paging is false
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  3394
	=====================================================*/
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  3395
	{
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  3396
		if( this.hasGrid && this.hasVisibleRows && !this.paging )
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  3397
		{
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  3398
			for(var i=0; i<this.visibleRows.length; i++)
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  3399
			{
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  3400
				if(this.visibleRows[i]<=this.nbRows)//row index cannot be > nrows
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  3401
					this.SetRowValidation(this.visibleRows[i],true);
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  3402
			}//for i
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  3403
		}//if hasGrid
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  3404
	},
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  3405
	
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  3406
	SetRowBg: function(rIndex,index)
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  3407
	/*====================================================
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  3408
		- sets row background color
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  3409
		- Params:
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  3410
			- rIndex: row index (numeric value)
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  3411
			- index: valid row collection index needed to
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  3412
			calculate bg color
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  3413
	=====================================================*/
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  3414
	{
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  3415
		if(!this.alternateBgs || isNaN(rIndex)) return;
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  3416
		var rows = this.tbl.rows;
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  3417
		var i = (index==undefined) ? rIndex : index;
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  3418
		this.RemoveRowBg(rIndex);
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  3419
		tf_addClass(
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  3420
			rows[rIndex],
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  3421
			(i%2 == 0) ? this.rowBgEvenCssClass : this.rowBgOddCssClass
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  3422
		);
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  3423
	},
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  3424
	
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  3425
	RemoveRowBg: function(index)
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  3426
	/*====================================================
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  3427
		- removes row background color
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  3428
		- Params:
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  3429
			- index: row index (numeric value)
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  3430
	=====================================================*/
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  3431
	{
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  3432
		if(isNaN(index)) return;
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  3433
		var rows = this.tbl.rows;
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  3434
		tf_removeClass(rows[index],this.rowBgOddCssClass);
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  3435
		tf_removeClass(rows[index],this.rowBgEvenCssClass);
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  3436
	},
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  3437
	
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  3438
	SetAlternateRows: function()
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  3439
	/*====================================================
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  3440
		- alternates row colors for better readability
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  3441
	=====================================================*/
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  3442
	{
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  3443
		if( !this.hasGrid && !this.isFirstLoad ) return;
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  3444
		var rows = this.tbl.rows;
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  3445
		var noValidRowsIndex = this.validRowsIndex==null;
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  3446
		var beginIndex = (noValidRowsIndex) ? this.refRow : 0; //1st index
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  3447
		var indexLen = (noValidRowsIndex) // nb indexes
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  3448
			? (this.nbFilterableRows+beginIndex) : this.validRowsIndex.length;
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  3449
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  3450
		for(var j=beginIndex; j<indexLen; j++)//alternates bg color
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  3451
		{
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  3452
			var rIndex = (noValidRowsIndex) ? j : this.validRowsIndex[j];
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  3453
			this.SetRowBg(rIndex);
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  3454
		}
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  3455
	},
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  3456
	
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  3457
	RemoveAlternateRows: function()
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  3458
	/*====================================================
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  3459
		- removes alternate row colors
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  3460
	=====================================================*/
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  3461
	{
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  3462
		if(!this.hasGrid) return;
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  3463
		var row = this.tbl.rows;
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  3464
		for(var i=this.refRow; i<this.nbRows; i++)
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  3465
			this.RemoveRowBg(i);
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  3466
		this.isStartBgAlternate = true;
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  3467
	},
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  3468
	
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  3469
	SetColOperation: function()
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  3470
	/*====================================================
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  3471
		- Calculates values of a column
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  3472
		- params are stored in 'colOperation' table's
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  3473
		attribute
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  3474
			- colOperation['id'] contains ids of elements 
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  3475
			showing result (array)
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  3476
			- colOperation['col'] contains index of 
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  3477
			columns (array)
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  3478
			- colOperation['operation'] contains operation
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  3479
			type (array, values: sum, mean)
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  3480
			- colOperation['write_method'] array defines 
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  3481
			which method to use for displaying the 
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  3482
			result (innerHTML, setValue, createTextNode).
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  3483
			Note that innerHTML is the default value.
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  3484
			- colOperation['tot_row_index'] defines in 
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  3485
			which row results are displayed (integers array)
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  3486
			
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  3487
		- changes made by nuovella: 
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  3488
		(1) optimized the routine (now it will only 
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  3489
		process each column once),
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  3490
		(2) added calculations for the median, lower and 
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  3491
		upper quartile.
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  3492
	=====================================================*/
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  3493
	{
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  3494
		if( !this.isFirstLoad && !this.hasGrid ) return;
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  3495
		
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  3496
		if(this.onBeforeOperation) this.onBeforeOperation.call(null,this);
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  3497
		
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  3498
		var labelId = this.colOperation['id'];
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  3499
		var colIndex = this.colOperation['col'];
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  3500
		var operation = this.colOperation['operation'];
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  3501
		var outputType = this.colOperation['write_method'];
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  3502
		var totRowIndex = this.colOperation['tot_row_index'];
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  3503
		var excludeRow = this.colOperation['exclude_row'];
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  3504
		var decimalPrecision = this.colOperation['decimal_precision']!=undefined
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  3505
								? this.colOperation['decimal_precision'] : 2;
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  3506
		
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  3507
		//nuovella: determine unique list of columns to operate on
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  3508
		var ucolIndex =[]; 
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  3509
		var ucolMax=0;
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  3510
		
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  3511
		ucolIndex[ucolMax]=colIndex[0];
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  3512
		
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  3513
		for(var i=1; i<colIndex.length; i++)
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  3514
		{
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  3515
			saved=0;
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  3516
			//see if colIndex[i] is already in the list of unique indexes
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  3517
			for(var j=0; j<=ucolMax; j++ )
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  3518
			{
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  3519
				if (ucolIndex[j]==colIndex[i])
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  3520
					saved=1;
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  3521
			}
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  3522
			if (saved==0)
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  3523
			{//if not saved then, save the index;
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  3524
				ucolMax++;
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  3525
				ucolIndex[ucolMax]=colIndex[i];
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  3526
			}
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  3527
		}// for i
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  3528
		
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  3529
		if( (typeof labelId).tf_LCase()=='object' 
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  3530
			&& (typeof colIndex).tf_LCase()=='object' 
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  3531
			&& (typeof operation).tf_LCase()=='object' )
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  3532
		{
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  3533
			var row = this.tbl.rows;
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  3534
			var colvalues = [];
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  3535
			
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  3536
			for(var ucol=0; ucol<=ucolMax; ucol++)
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  3537
			{
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  3538
				//this retrieves col values 
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  3539
				//use ucolIndex because we only want to pass through this loop once for each column
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  3540
				//get the values in this unique column
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  3541
				colvalues.push( this.GetColValues(ucolIndex[ucol],true,excludeRow) );
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  3542
				
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  3543
			   //next: calculate all operations for this column
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  3544
			   var result, nbvalues=0,  temp;
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  3545
			   var meanValue=0, sumValue=0, minValue=null, maxValue=null, q1Value=null, medValue=null, q3Value=null;
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  3546
			   var meanFlag=0, sumFlag=0, minFlag=0, maxFlag=0, q1Flag=0, medFlag=0, q3Flag=0;
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  3547
			   var theList=[];
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  3548
			   var opsThisCol=[], decThisCol=[], labThisCol=[], oTypeThisCol=[];
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  3549
			   var mThisCol=-1;
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  3550
				
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  3551
				for(var i=0; i<colIndex.length; i++)
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  3552
				{
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  3553
					 if (colIndex[i]==ucolIndex[ucol])
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  3554
					 {
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  3555
						mThisCol++;
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  3556
						opsThisCol[mThisCol]=operation[i].tf_LCase();
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  3557
						decThisCol[mThisCol]=decimalPrecision[i];
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  3558
						labThisCol[mThisCol]=labelId[i]; 
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  3559
						oTypeThisCol = (outputType != undefined && (typeof outputType).tf_LCase()=='object') 
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  3560
											? outputType[i] : null;
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  3561
						
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  3562
						switch( opsThisCol[mThisCol] )
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  3563
						{			
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  3564
							case 'mean':
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  3565
								meanFlag=1;
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  3566
							break;
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  3567
							case 'sum':
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  3568
								sumFlag=1;
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  3569
							break;
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  3570
							case 'min':
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  3571
								minFlag=1;
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  3572
							break;
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  3573
							case 'max':
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  3574
								maxFlag=1;
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  3575
							break;
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  3576
							case 'median':
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  3577
								medFlag=1;	
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  3578
								break;
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  3579
							case 'q1':
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  3580
								q1Flag=1;
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  3581
							break;
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  3582
							case 'q3':
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  3583
								q3Flag=1;
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  3584
							break;
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  3585
						}
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  3586
					}		
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  3587
				}
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  3588
				
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  3589
				for(var j=0; j<colvalues[ucol].length; j++ )
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  3590
				{
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  3591
					if ((q1Flag==1)||(q3Flag==1) || (medFlag==1))
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  3592
					{//sort the list for calculation of median and quartiles
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  3593
						if (j<colvalues[ucol].length -1)
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  3594
						{
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  3595
							for(k=j+1;k<colvalues[ucol].length; k++) {
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  3596
				  
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  3597
								if( eval(colvalues[ucol][k]) < eval(colvalues[ucol][j]))
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  3598
								{
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  3599
									temp = colvalues[ucol][j];            
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  3600
									colvalues[ucol][j] = colvalues[ucol][k];              
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  3601
									colvalues[ucol][k] = temp;            
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  3602
								}
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  3603
							}
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  3604
						}
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  3605
					}
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  3606
					var cvalue = parseFloat(colvalues[ucol][j]);
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  3607
					theList[j]=parseFloat( cvalue );
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  3608
	
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  3609
					if( !isNaN(cvalue) )
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  3610
					{
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  3611
						nbvalues++;
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  3612
						if ((sumFlag==1)|| (meanFlag==1)) sumValue += parseFloat( cvalue );
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  3613
						if (minFlag==1) 
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  3614
						{
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  3615
							if (minValue==null)
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  3616
							{
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  3617
								minValue = parseFloat( cvalue );
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  3618
							}
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  3619
							else minValue= parseFloat( cvalue )<minValue? parseFloat( cvalue ): minValue;
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  3620
						}
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  3621
						if (maxFlag==1) {
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  3622
							if (maxValue==null)
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  3623
							{maxValue = parseFloat( cvalue );}
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  3624
						else {maxValue= parseFloat( cvalue )>maxValue? parseFloat( cvalue ): maxValue;}
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  3625
						}
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  3626
					}
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  3627
				}//for j
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  3628
				if (meanFlag==1) meanValue = sumValue/nbvalues;
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  3629
				if (medFlag==1)
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  3630
				{
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  3631
						var aux = 0;
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  3632
						if(nbvalues%2 == 1) 
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  3633
						{
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  3634
							aux = Math.floor(nbvalues/2);
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  3635
							medValue = theList[aux];   
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  3636
						}
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  3637
					else medValue = (theList[nbvalues/2]+theList[((nbvalues/2)-1)])/2;
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  3638
				}
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  3639
				if (q1Flag==1)
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  3640
				{	
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  3641
					var posa=0.0;
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  3642
					posa = Math.floor(nbvalues/4);
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  3643
					if (4*posa == nbvalues) {q1Value = (theList[posa-1] + theList[posa])/2;}
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  3644
					else {q1Value = theList[posa];}
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  3645
				}
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  3646
				if (q3Flag==1)
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  3647
				{
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  3648
					var posa=0.0;
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  3649
					var posb=0.0;
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  3650
					posa = Math.floor(nbvalues/4);
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  3651
					if (4*posa == nbvalues)
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  3652
					{
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  3653
						posb = 3*posa;
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  3654
						q3Value = (theList[posb] + theList[posb-1])/2;  
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  3655
					}
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  3656
					else
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  3657
						q3Value = theList[nbvalues-posa-1];
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  3658
				}
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  3659
				
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  3660
				for(var i=0; i<=mThisCol; i++ )
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  3661
				{
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  3662
				   switch( opsThisCol[i] )
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  3663
				   {			
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  3664
						case 'mean':
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  3665
							result=meanValue;
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  3666
						break;
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  3667
						case 'sum':
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  3668
							result=sumValue;
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  3669
						break;
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  3670
						case 'min':
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  3671
							result=minValue;
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  3672
						break;
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  3673
						case 'max':
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  3674
							result=maxValue;
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  3675
						break;
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  3676
						case 'median':
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  3677
							result=medValue;	
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  3678
							break;
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  3679
						case 'q1':
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  3680
							result=q1Value;
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  3681
						break;
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  3682
						case 'q3':
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  3683
							result=q3Value;
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  3684
						break;
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  3685
				  }		
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  3686
					
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  3687
				var precision = decThisCol[i]!=undefined && !isNaN( decThisCol[i] )
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  3688
									? decThisCol[i] : 2;
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  3689
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  3690
				if(oTypeThisCol!=null && result)
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  3691
				{//if outputType is defined
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  3692
					result = result.toFixed( precision );
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  3693
					if( tf_Id( labThisCol[i] )!=undefined )
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  3694
					{
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  3695
						switch( oTypeThisCol.tf_LCase() )
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  3696
						{
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  3697
							case 'innerhtml':							
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  3698
								if (isNaN(result) || !isFinite(result) || (nbvalues==0)) 
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  3699
									tf_Id( labThisCol[i] ).innerHTML = '.';
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  3700
								else
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  3701
									tf_Id( labThisCol[i] ).innerHTML = result;
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  3702
							break;
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  3703
							case 'setvalue':
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  3704
								tf_Id( labThisCol[i] ).value = result;
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  3705
							break;
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  3706
							case 'createtextnode':
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  3707
								var oldnode = tf_Id( labThisCol[i] ).firstChild;
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  3708
								var txtnode = tf_CreateText( result );
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  3709
								tf_Id( labThisCol[i] ).replaceChild( txtnode,oldnode );
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  3710
							break;
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  3711
						}//switch
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  3712
					}
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  3713
				} else {
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  3714
					try
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  3715
					{      
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  3716
						if (isNaN(result) || !isFinite(result) || (nbvalues==0)) 
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  3717
							tf_Id( labThisCol[i] ).innerHTML = '.';
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  3718
						else
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  3719
							 tf_Id( labThisCol[i] ).innerHTML = result.toFixed( precision );
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  3720
					} catch(e){ }//catch
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  3721
				}//else
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  3722
			 }//for i
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  3723
			//eventual row(s) with result are always visible
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  3724
			if(totRowIndex!=undefined && row[totRowIndex[ucol]]) 
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  3725
				row[totRowIndex[ucol]].style.display = '';
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  3726
			}//for ucol
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  3727
		}//if typeof
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  3728
		
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  3729
		if(this.onAfterOperation) this.onAfterOperation.call(null,this);
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  3730
	},
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  3731
	
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  3732
	SetPage: function( cmd )
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  3733
	/*====================================================
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  3734
		- If paging set true shows page according to
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  3735
		param value (string or number):
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  3736
			- strings: 'next','previous','last','first' or
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  3737
			- number: page number
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  3738
	=====================================================*/
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  3739
	{
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  3740
		if( this.hasGrid && this.paging )
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  3741
		{
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  3742
			var btnEvt = this.pagingBtnEvents, cmdtype = typeof cmd;
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  3743
			if(cmdtype=='string')
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  3744
			{
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  3745
				switch(cmd.tf_LCase())
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  3746
				{
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  3747
					case 'next':
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  3748
						btnEvt.next();
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  3749
					break;
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  3750
					case 'previous':
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  3751
						btnEvt.prev();
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  3752
					break;
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  3753
					case 'last':
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  3754
						btnEvt.last();
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  3755
					break;
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  3756
					case 'first':
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  3757
						btnEvt.first();
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  3758
					break;
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  3759
					default:
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  3760
						btnEvt.next();
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  3761
					break;
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  3762
				}//switch
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  3763
			}
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  3764
			if(cmdtype=='number') this.ChangePage( (cmd-1) );
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  3765
		}// this.hasGrid 
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  3766
	},
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  3767
	
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  3768
	RefreshFiltersGrid: function()
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  3769
	/*====================================================
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  3770
		- retrieves select, multiple and checklist filters
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  3771
		- calls method repopulating filters
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  3772
	=====================================================*/
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  3773
	{
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  3774
		var slcA1 = this.GetFiltersByType( this.fltTypeSlc,true );
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  3775
		var slcA2 = this.GetFiltersByType( this.fltTypeMulti,true );
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  3776
		var slcA3 = this.GetFiltersByType( this.fltTypeCheckList,true );
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  3777
		var slcIndex = slcA1.concat(slcA2);
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  3778
		slcIndex = slcIndex.concat(slcA3);
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  3779
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  3780
		if( this.activeFilterId!=null )//for paging
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  3781
		{
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  3782
			var activeFlt = this.activeFilterId.split('_')[0];
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  3783
			activeFlt = activeFlt.split(this.prfxFlt)[1];
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  3784
			var slcSelectedValue;
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  3785
			for(var i=0; i<slcIndex.length; i++)
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  3786
			{
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  3787
				var curSlc = tf_Id(this.fltIds[slcIndex[i]]);
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  3788
				slcSelectedValue = this.GetFilterValue( slcIndex[i] );
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  3789
				//if(activeFlt==slcIndex[i] && slcA3.tf_Has(slcIndex[i]) && slcSelectedValue!=this.displayAllText) continue;
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  3790
				if(activeFlt!=slcIndex[i] || (this.paging && slcA1.tf_Has(slcIndex[i]) && activeFlt==slcIndex[i] ) || 
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  3791
					( !this.paging && (slcA3.tf_Has(slcIndex[i]) || slcA2.tf_Has(slcIndex[i]) ) /*&& activeFlt==slcIndex[i]*/) || 
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  3792
					slcSelectedValue==this.displayAllText )
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  3793
					//(this.paging && (!slcA3.tf_Has(slcIndex[i]) && !slcA2.tf_Has(slcIndex[i]) && activeFlt==slcIndex[i]) ) )
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  3794
				{
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  3795
					if(slcA3.tf_Has(slcIndex[i]))
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  3796
						this.checkListDiv[slcIndex[i]].innerHTML = '';
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  3797
					else curSlc.innerHTML = '';
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  3798
					
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  3799
					if(this.fillSlcOnDemand) { //1st option needs to be inserted
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  3800
						var opt0 = tf_CreateOpt(this.displayAllText,'');
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  3801
						curSlc.appendChild( opt0 );
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  3802
					}
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  3803
					
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  3804
					if(slcA3.tf_Has(slcIndex[i]))
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  3805
						this._PopulateCheckList(slcIndex[i]);
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  3806
					else
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  3807
						this._PopulateSelect(slcIndex[i],true);
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  3808
						
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  3809
					this.SetFilterValue(slcIndex[i],slcSelectedValue);
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  3810
				}
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  3811
			}// for i
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  3812
		}
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  3813
	},
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  3814
	
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  3815
	RememberFiltersValue: function( name )
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  3816
	/*==============================================
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  3817
		- stores filters' values in a cookie
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  3818
		when Filter() method is called
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  3819
		- Params:
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  3820
			- name: cookie name (string)
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  3821
		- credits to Florent Hirchy
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  3822
	===============================================*/
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  3823
	{
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  3824
		var flt_values = [];
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  3825
		for(var i=0; i<this.fltIds.length; i++)
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  3826
		{//creates an array with filters' values
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  3827
			value = this.GetFilterValue(i);
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  3828
			if (value == '') value = ' ';
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  3829
			flt_values.push(value);
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  3830
		}
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  3831
		flt_values.push(this.fltIds.length); //adds array size
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  3832
		tf_WriteCookie(
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  3833
			name,
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  3834
			flt_values,
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  3835
			this.cookieDuration
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  3836
		); //writes cookie  
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  3837
	},
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  3838
	
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  3839
	RememberPageNb: function( name )
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  3840
	/*==============================================
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  3841
		- stores page number value in a cookie
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  3842
		when ChangePage method is called
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  3843
		- Params:
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  3844
			- name: cookie name (string)
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  3845
	===============================================*/
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  3846
	{
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  3847
		tf_WriteCookie(
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  3848
			name,
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  3849
			this.currentPageNb,
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  3850
			this.cookieDuration
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  3851
		); //writes cookie  
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  3852
	},
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  3853
	
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  3854
	RememberPageLength: function( name )
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  3855
	/*==============================================
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  3856
		- stores page length value in a cookie
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  3857
		when ChangePageLength method is called
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  3858
		- Params:
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  3859
			- name: cookie name (string)
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  3860
	===============================================*/
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  3861
	{
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  3862
		tf_WriteCookie(
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  3863
			name,
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  3864
			this.resultsPerPageSlc.selectedIndex,
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  3865
			this.cookieDuration
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  3866
		); //writes cookie
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  3867
	},
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  3868
	
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  3869
	ResetValues: function()
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  3870
	{ 
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  3871
		this.EvtManager(this.Evt.name.resetvalues); 
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  3872
	},
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  3873
	
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  3874
	_ResetValues: function()
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  3875
	/*==============================================
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  3876
		- re-sets grid values when page is 
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  3877
		re-loaded. It invokes ResetGridValues,
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  3878
		ResetPage and ResetPageLength methods
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  3879
		- Params:
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  3880
			- name: cookie name (string)
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  3881
	===============================================*/
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  3882
	{
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  3883
		if(this.rememberGridValues && this.fillSlcOnDemand) //only fillSlcOnDemand
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  3884
			this.ResetGridValues(this.fltsValuesCookie);
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  3885
		if(this.rememberPageLen) this.ResetPageLength( this.pgLenCookie );
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  3886
		if(this.rememberPageNb) this.ResetPage( this.pgNbCookie );		
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  3887
	},	
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  3888
	
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  3889
	ResetGridValues: function( name )
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  3890
	/*==============================================
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  3891
		- re-sets filters' values when page is 
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  3892
		re-loaded if load on demand is enabled
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  3893
		- Params:
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  3894
			- name: cookie name (string)
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  3895
		- credits to Florent Hirchy
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  3896
	===============================================*/
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  3897
	{
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  3898
		if(!this.fillSlcOnDemand) return;
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  3899
		var flts = tf_ReadCookie(name); //reads the cookie
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  3900
		var reg = new RegExp(',','g');	
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  3901
		var flts_values = flts.split(reg); //creates an array with filters' values
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  3902
		var slcFltsIndex = this.GetFiltersByType(this.fltTypeSlc, true);
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  3903
		var multiFltsIndex = this.GetFiltersByType(this.fltTypeMulti, true);
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  3904
		
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  3905
		if(flts_values[(flts_values.length-1)] == this.fltIds.length)
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  3906
		{//if the number of columns is the same as before page reload
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  3907
			for(var i=0; i<(flts_values.length - 1); i++)
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  3908
			{			
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  3909
				if (flts_values[i]==' ') continue;				
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  3910
				if(this['col'+i]==this.fltTypeSlc || this['col'+i]==this.fltTypeMulti)
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  3911
				{// if fillSlcOnDemand, drop-down needs to contain stored value(s) for filtering
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  3912
					var slc = tf_Id( this.fltIds[i] );
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  3913
					slc.options[0].selected = false;
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  3914
					
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  3915
					if( slcFltsIndex.tf_Has(i) )
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  3916
					{//selects
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  3917
						var opt = tf_CreateOpt(flts_values[i],flts_values[i],true);
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  3918
						slc.appendChild(opt);
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  3919
						this.hasStoredValues = true;
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  3920
					}
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  3921
					if(multiFltsIndex.tf_Has(i))
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  3922
					{//multiple select
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  3923
						var s = flts_values[i].split(' '+this.orOperator+' ');
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  3924
						for(j=0; j<s.length; j++)
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  3925
						{
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  3926
							if(s[j]=='') continue;
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  3927
							var opt = tf_CreateOpt(s[j],s[j],true);
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  3928
							slc.appendChild(opt);
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  3929
							this.hasStoredValues = true;
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  3930
							
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  3931
							if(tf_isIE)
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  3932
							{// IE multiple selection work-around
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  3933
								this.__deferMultipleSelection(slc,j,false);
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  3934
								hasStoredValues = false;
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  3935
							}
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  3936
						}
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  3937
					}// if multiFltsIndex
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  3938
				}
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  3939
				else if(this['col'+i]==this.fltTypeCheckList)
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  3940
				{
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  3941
					var divChk = this.checkListDiv[i];
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  3942
					divChk.title = divChk.innerHTML;
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  3943
					divChk.innerHTML = '';
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  3944
					
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  3945
					var ul = tf_CreateElm('ul',['id',this.fltIds[i]],['colIndex',i]);
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  3946
					ul.className = this.checkListCssClass;
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  3947
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  3948
					var li0 = tf_CreateCheckItem(this.fltIds[i]+'_0', '', this.displayAllText);
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  3949
					li0.className = this.checkListItemCssClass;
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  3950
					ul.appendChild(li0);
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  3951
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  3952
					divChk.appendChild(ul);
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  3953
					
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  3954
					var s = flts_values[i].split(' '+this.orOperator+' ');
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  3955
					for(j=0; j<s.length; j++)
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  3956
					{
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  3957
						if(s[j]=='') continue;
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  3958
						var li = tf_CreateCheckItem(this.fltIds[i]+'_'+(j+1), s[j], s[j]);
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  3959
						li.className = this.checkListItemCssClass;
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  3960
						ul.appendChild(li);
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  3961
						li.check.checked = true;
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  3962
						this.__setCheckListValues(li.check);
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  3963
						this.hasStoredValues = true;
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  3964
					}					
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  3965
				}
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  3966
			}//end for
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  3967
			
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  3968
			if(!this.hasStoredValues && this.paging) this.SetPagingInfo();
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  3969
		}//end if
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  3970
	},
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  3971
	
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  3972
	ResetPage: function( name )
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  3973
	{
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  3974
		this.EvtManager(this.Evt.name.resetpage);
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  3975
	},
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  3976
	_ResetPage: function( name )
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  3977
	/*==============================================
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  3978
		- re-sets page nb at page re-load
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  3979
		- Params:
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  3980
			- name: cookie name (string)
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  3981
	===============================================*/
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  3982
	{
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  3983
		var pgnb = tf_ReadCookie(name); //reads the cookie
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  3984
		if( pgnb!='' ) 
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  3985
			this.ChangePage((pgnb-1));
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  3986
	},
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  3987
	
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  3988
	ResetPageLength: function( name )
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  3989
	{
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  3990
		this.EvtManager(this.Evt.name.resetpagelength);
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  3991
	},
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  3992
	_ResetPageLength: function( name )
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  3993
	/*==============================================
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  3994
		- re-sets page length at page re-load
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  3995
		- Params:
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  3996
			- name: cookie name (string)
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  3997
	===============================================*/
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  3998
	{
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  3999
		if(!this.paging) return;
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  4000
		var pglenIndex = tf_ReadCookie(name); //reads the cookie
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  4001
		
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  4002
		if( pglenIndex!='' )
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  4003
		{
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  4004
			this.resultsPerPageSlc.options[pglenIndex].selected = true;
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  4005
			this.ChangeResultsPerPage();
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  4006
		}
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  4007
	},
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  4008
	
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  4009
	SetLoader: function()
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  4010
	/*====================================================
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  4011
		- generates loader div
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  4012
	=====================================================*/
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  4013
	{
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  4014
		if( this.loaderDiv!=null ) return;
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  4015
		var containerDiv = tf_CreateElm( 'div',['id',this.prfxLoader+this.id] );
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  4016
		containerDiv.className = this.loaderCssClass;// for ie<=6
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  4017
		//containerDiv.style.display = 'none';
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  4018
		var targetEl = (this.loaderTgtId==null) 
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  4019
			? (this.gridLayout ? this.tblCont : this.tbl.parentNode) : tf_Id( this.loaderTgtId );
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  4020
		if(this.loaderTgtId==null) targetEl.insertBefore(containerDiv, this.tbl);
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  4021
		else targetEl.appendChild( containerDiv );
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  4022
		this.loaderDiv = tf_Id(this.prfxLoader+this.id);
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  4023
		if(this.loaderHtml==null) 
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  4024
			this.loaderDiv.appendChild( tf_CreateText(this.loaderText) );
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  4025
		else this.loaderDiv.innerHTML = this.loaderHtml;
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  4026
	},
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  4027
	
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  4028
	RemoveLoader: function()
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  4029
	/*====================================================
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  4030
		- removes loader div
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  4031
	=====================================================*/
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  4032
	{
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  4033
		if( this.loaderDiv==null ) return;
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  4034
		var targetEl = (this.loaderTgtId==null) 
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  4035
			? (this.gridLayout ? this.tblCont : this.tbl.parentNode) : tf_Id( this.loaderTgtId );
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  4036
		targetEl.removeChild(this.loaderDiv);
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  4037
		this.loaderDiv = null;
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  4038
	},
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  4039
	
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  4040
	ShowLoader: function(p)
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  4041
	/*====================================================
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  4042
		- displays/hides loader div
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  4043
	=====================================================*/
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  4044
	{
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  4045
		if(!this.loader || !this.loaderDiv) return;
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  4046
		if(this.loaderDiv.style.display==p) return;
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  4047
		var o = this;
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  4048
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  4049
		function displayLoader(){ 
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  4050
			if(!o.loaderDiv) return;
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  4051
			if(o.onShowLoader && p!='none') 
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  4052
				o.onShowLoader.call(null,o);
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  4053
			o.loaderDiv.style.display = p;
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  4054
			if(o.onHideLoader && p=='none') 
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  4055
				o.onHideLoader.call(null,o);
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  4056
		}
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  4057
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  4058
		var t = (p=='none') ? this.loaderCloseDelay : 1;
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  4059
		window.setTimeout(displayLoader,t);
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  4060
	},
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  4061
	
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  4062
	StatusMsg: function(t)
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  4063
	/*====================================================
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  4064
		- sets status messages
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  4065
	=====================================================*/
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  4066
	{
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  4067
		if(t==undefined) this.StatusMsg('');
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  4068
		if(this.status) this.WinStatusMsg(t);
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  4069
		if(this.statusBar) this.StatusBarMsg(t);
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  4070
	},
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  4071
	
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  4072
	StatusBarMsg: function(t)
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  4073
	/*====================================================
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  4074
		- sets status bar messages
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  4075
	=====================================================*/
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  4076
	{
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  4077
		if(!this.statusBar || !this.statusBarSpan) return;
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  4078
		var o = this;
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  4079
		function setMsg(){
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  4080
			o.statusBarSpan.innerHTML = t;
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  4081
		}
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  4082
		var d = (t=='') ? (this.statusBarCloseDelay) : 1;
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  4083
		window.setTimeout(setMsg,d);
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  4084
	},
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  4085
	
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  4086
	WinStatusMsg: function(t)
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  4087
	/*====================================================
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  4088
		- sets window status messages
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  4089
	=====================================================*/
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  4090
	{
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  4091
		if(!this.status) return;
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  4092
		window.status = t;
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  4093
	},
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  4094
	
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  4095
	ClearFilters: function()
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  4096
	{ 
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  4097
		this.EvtManager(this.Evt.name.clear); 
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  4098
	},	
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  4099
	_ClearFilters: function()
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  4100
	/*====================================================
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  4101
		- clears grid filters
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  4102
	=====================================================*/
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  4103
	{
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  4104
		if( !this.fltGrid ) return;
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  4105
		for(var i=0; i<this.fltIds.length; i++)
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  4106
			this.SetFilterValue(i,'');
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  4107
		if(this.refreshFilters){
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  4108
			this.activeFilterId = '';	
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  4109
			this.RefreshFiltersGrid();
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  4110
		}
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  4111
		if(this.rememberPageLen) tf_RemoveCookie(this.pgLenCookie);
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  4112
		if(this.rememberPageNb) tf_RemoveCookie(this.pgNbCookie);
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  4113
	},
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  4114
	
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  4115
	UnhighlightAll: function()
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  4116
	/*====================================================
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  4117
		- removes keyword highlighting
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  4118
	=====================================================*/
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  4119
	{
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  4120
		if( this.highlightKeywords && this.searchArgs!=null )
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  4121
			for(var y=0; y<this.searchArgs.length; y++)
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  4122
				tf_UnhighlightWord( 
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  4123
					this.tbl,this.searchArgs[y],
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  4124
					this.highlightCssClass 
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  4125
				);
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  4126
	},
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  4127
	
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  4128
	RefreshGrid: function()
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  4129
	/*====================================================
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  4130
		- Re-generates filters grid
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  4131
	=====================================================*/
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  4132
	{
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  4133
		this.RemoveGrid();
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  4134
		setFilterGrid(this.id, this.startRow, this.fObj);
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  4135
	},
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  4136
	
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  4137
	__resetGrid: function()
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  4138
	/*====================================================
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  4139
		- Only used by AddGrid() method
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  4140
		- Resets filtering grid bar if previously removed
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  4141
	=====================================================*/
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  4142
	{
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  4143
		if( this.isFirstLoad ) return;
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  4144
		
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  4145
		// grid was removed, grid row element is stored in this.fltGridEl property
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  4146
		this.tbl.rows[this.filtersRowIndex].parentNode.insertBefore( 
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  4147
			this.fltGridEl,
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  4148
			this.tbl.rows[this.filtersRowIndex]
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  4149
		);
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  4150
		
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  4151
		if( this.isExternalFlt )
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  4152
		{// filters are appended in external placeholders elements
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  4153
			for(var ct=0; ct<this.externalFltTgtIds.length; ct++ )
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  4154
				if( tf_Id(this.externalFltTgtIds[ct]) )
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  4155
					tf_Id(this.externalFltTgtIds[ct]).appendChild(this.externalFltEls[ct]);
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  4156
		}
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  4157
		
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  4158
		this.nbFilterableRows = this.GetRowsNb();
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  4159
		this.nbVisibleRows = this.nbFilterableRows;
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  4160
		this.nbRows = this.tbl.rows.length;
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  4161
		this.sort = true;
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  4162
		
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  4163
		/*** 	ie bug work-around, filters need to be re-generated
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  4164
				since row is empty; insertBefore method doesn't seem to work properly 
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  4165
				with previously generated DOM nodes modified by innerHTML 	***/
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  4166
		if( this.tbl.rows[this.filtersRowIndex].innerHTML=='' )
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  4167
		{
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  4168
			this.tbl.deleteRow(this.filtersRowIndex);
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  4169
			this.RemoveGrid();
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  4170
			this.RemoveExternalFlts();
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  4171
			this.fltIds = [];
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  4172
			this.isFirstLoad = true;
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  4173
			this.AddGrid();
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  4174
			
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  4175
		}
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  4176
		
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  4177
		this.hasGrid = true;
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  4178
	},
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  4179
	
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  4180
	__deferMultipleSelection: function(slc,index,filter)
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  4181
	/*====================================================
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  4182
		- IE bug: it seems there is no way to make 
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  4183
		multiple selections programatically, only last 
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  4184
		selection is kept (multiple select previously 
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  4185
		populated via DOM)
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  4186
		- Turn-around: defer selection with a setTimeout
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  4187
		If you find an alternative elegant solution to 
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  4188
		this let me know ;-)
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  4189
		- For the moment only this solution seems 
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  4190
		to work!
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  4191
		- Params: 
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  4192
			- slc = select object (select obj)
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  4193
			- index to be selected (integer)
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  4194
			- execute filtering (boolean)
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  4195
	=====================================================*/
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  4196
	{
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  4197
		if(slc.nodeName.tf_LCase() != 'select') return;
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  4198
		var doFilter = (filter==undefined) ? false : filter;
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  4199
		var o = this;
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  4200
		window.setTimeout(
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  4201
			function(){
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  4202
				slc.options[0].selected = false;
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  4203
				
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  4204
				if(slc.options[index].value=='') 
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  4205
					slc.options[index].selected = false;
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  4206
				else
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  4207
				slc.options[index].selected = true; 
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  4208
				if(doFilter) o.Filter();
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  4209
			},
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  4210
			.1
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  4211
		);
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  4212
	},
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  4213
	
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  4214
	__getCustomValues: function(colIndex)
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  4215
	/*====================================================
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  4216
		- Returns an array [[values],[texts]] with 
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  4217
		custom values for a given filter
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  4218
		- Param: column index (integer)
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  4219
	=====================================================*/
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  4220
	{
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  4221
		if(colIndex==undefined) return;
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  4222
		var isCustomSlc = (this.hasCustomSlcOptions  //custom select test
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  4223
							&& this.customSlcOptions.cols.tf_Has(colIndex));
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  4224
		if(!isCustomSlc) return;
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  4225
		var optTxt = [], optArray = [];
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  4226
		var index = this.customSlcOptions.cols.tf_IndexByValue(colIndex);
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  4227
		var slcValues = this.customSlcOptions.values[index];
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  4228
		var slcTexts = this.customSlcOptions.texts[index];
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  4229
		var slcSort = this.customSlcOptions.sorts[index];
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  4230
		for(var r=0; r<slcValues.length; r++)
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  4231
		{
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  4232
			optArray.push(slcValues[r]);
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  4233
			if(slcTexts[r]!=undefined)
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  4234
				optTxt.push(slcTexts[r]);
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  4235
			else
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  4236
				optTxt.push(slcValues[r]);
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  4237
		}
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  4238
		if(slcSort)
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  4239
		{
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  4240
			optArray.sort();
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  4241
			optTxt.sort();
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  4242
		}
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  4243
		return [optArray,optTxt];
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  4244
	},
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  4245
	
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  4246
	__setCheckListValues: function(o)
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  4247
	/*====================================================
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  4248
		- Sets checked items information of a checklist
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  4249
	=====================================================*/
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  4250
	{
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  4251
		if(o==null) return;
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  4252
		var chkValue = o.value; //checked item value
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  4253
		var chkIndex = parseInt(o.id.split('_')[2]);
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  4254
		var filterTag = 'ul', itemTag = 'li';
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  4255
		var n = o;
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  4256
		
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  4257
		//ul tag search
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  4258
		while(n.nodeName.tf_LCase() != filterTag)
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  4259
			n = n.parentNode;
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  4260
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  4261
		if(n.nodeName.tf_LCase() != filterTag) return;
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  4262
		
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  4263
		var li = n.childNodes[chkIndex];
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  4264
		var colIndex = n.getAttribute('colIndex');
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  4265
		var fltValue = n.getAttribute('value'); //filter value (ul tag)
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  4266
		var fltIndexes = n.getAttribute('indexes'); //selected items (ul tag)
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  4267
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  4268
		if(o.checked)		
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  4269
		{
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  4270
			if(chkValue=='')
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  4271
			{//show all item
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  4272
				if((fltIndexes!=null && fltIndexes!=''))
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  4273
				{
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  4274
					var indSplit = fltIndexes.split(this.separator);//items indexes
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  4275
					for(var u=0; u<indSplit.length; u++)
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  4276
					{//checked items loop
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  4277
						var cChk = tf_Id(this.fltIds[colIndex]+'_'+indSplit[u]); //checked item
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  4278
						if(cChk)
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  4279
						{ 
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  4280
							cChk.checked = false;
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  4281
							tf_removeClass(
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  4282
								n.childNodes[indSplit[u]],
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  4283
								this.checkListSlcItemCssClass
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  4284
							);
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  4285
						}
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  4286
					}
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  4287
				}
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  4288
				n.setAttribute('value', '');
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  4289
				n.setAttribute('indexes', '');
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  4290
				
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  4291
			} else {
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  4292
				fltValue = (fltValue) ? fltValue : '';
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  4293
				chkValue = (fltValue+' '+chkValue +' '+this.orOperator).tf_Trim();
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  4294
				chkIndex = fltIndexes + chkIndex + this.separator;
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  4295
				n.setAttribute('value', chkValue );
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  4296
				n.setAttribute('indexes', chkIndex);
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  4297
				//1st option unchecked
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  4298
				if(tf_Id(this.fltIds[colIndex]+'_0'))
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  4299
					tf_Id(this.fltIds[colIndex]+'_0').checked = false; 
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  4300
			}
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  4301
			
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  4302
			if(li.nodeName.tf_LCase() == itemTag)
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  4303
			{
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  4304
				tf_removeClass(n.childNodes[0],this.checkListSlcItemCssClass);
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  4305
				tf_addClass(li,this.checkListSlcItemCssClass);
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  4306
			}
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  4307
		} else { //removes values and indexes
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  4308
			if(chkValue!='')
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  4309
			{
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  4310
				var replaceValue = new RegExp(tf_RegexpEscape(chkValue+' '+this.orOperator));
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  4311
				fltValue = fltValue.replace(replaceValue,'');
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  4312
				n.setAttribute('value', fltValue);
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  4313
				
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  4314
				var replaceIndex = new RegExp(tf_RegexpEscape(chkIndex + this.separator));
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  4315
				fltIndexes = fltIndexes.replace(replaceIndex,'');
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  4316
				n.setAttribute('indexes', fltIndexes);
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  4317
			}
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  4318
			if(li.nodeName.tf_LCase() == itemTag)
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  4319
				tf_removeClass(li,this.checkListSlcItemCssClass);
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  4320
		}
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  4321
			
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  4322
	},
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  4323
	
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  4324
	__containsStr: function(arg,data,fltType,forceMatch)
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  4325
	/*==============================================
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  4326
		- Checks if data contains searched arg,
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  4327
		returns a boolean
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  4328
		- Params:
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  4329
			- arg: searched string
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  4330
			- data: data string
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  4331
			- fltType: filter type (string, 
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  4332
			exact match by default for selects - 
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  4333
			optional)
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  4334
			- forceMatch: boolean forcing exact
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  4335
			match (optional)
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  4336
	===============================================*/
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  4337
	{
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  4338
		// Improved by Cedric Wartel (cwl)
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  4339
		// automatic exact match for selects and special characters are now filtered
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  4340
		var regexp;
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  4341
		var modifier = (this.matchCase) ? 'g' : 'gi';
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  4342
		var exactMatch = (forceMatch==undefined) ? this.exactMatch : forceMatch;
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  4343
		if(exactMatch || (fltType!=this.fltTypeInp && fltType!=undefined))//Váry Péter's patch
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  4344
			regexp = new RegExp('(^\\s*)'+tf_RegexpEscape(arg)+'(\\s*$)', modifier);							
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  4345
		else
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  4346
			regexp = new RegExp(tf_RegexpEscape(arg), modifier);
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  4347
		return regexp.test(data);
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  4348
	},
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  4349
	
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  4350
	IncludeFile: function(fileId, filePath, callback, type)
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  4351
	{
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  4352
		var ftype = (type==undefined) ? 'script' : type;
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  4353
		var isImported = tf_isImported(filePath, ftype);
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  4354
		if( isImported ) return;
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  4355
		
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  4356
		var o = this, isLoaded = false, file;			
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  4357
		var head = tf_Tag(document,'head')[0];
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  4358
		
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  4359
		if(ftype.tf_LCase() == 'link')
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  4360
			file = tf_CreateElm(
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  4361
						'link', ['id',fileId], ['type','text/css'],
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  4362
						['rel','stylesheet'], ['href',filePath]
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  4363
					);
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  4364
		else
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  4365
			file = tf_CreateElm(
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  4366
						'script', ['id',fileId], 
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  4367
						['type','text/javascript'], ['src',filePath]
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  4368
					);
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  4369
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  4370
		file.onload = file.onreadystatechange = function()
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  4371
		{
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  4372
			if (!isLoaded && 
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  4373
				(!this.readyState || this.readyState == 'loaded' || this.readyState == 'complete')) 
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  4374
			{
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  4375
				isLoaded = true;
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  4376
				if (typeof callback === 'function')
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  4377
					callback(o);
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  4378
			}
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  4379
		}
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  4380
		head.appendChild(file);
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  4381
	},
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  4382
	
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  4383
	/*====================================================
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  4384
		- Additional public methods for developers
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  4385
	=====================================================*/
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  4386
	
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  4387
	HasGrid: function()
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  4388
	/*====================================================
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  4389
		- checks if table has a filter grid
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  4390
		- returns a boolean
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  4391
	=====================================================*/
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  4392
	{
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  4393
		return this.hasGrid;
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  4394
	},
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  4395
	
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  4396
	GetFiltersId: function()
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  4397
	/*====================================================
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  4398
		- returns an array containing filters ids
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  4399
		- Note that hidden filters are also returned
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  4400
	=====================================================*/
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  4401
	{
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  4402
		if( !this.hasGrid ) return;
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  4403
		return this.fltIds;
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  4404
	},
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  4405
	
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  4406
	GetValidRowsIndex: function()
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  4407
	/*====================================================
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  4408
		- returns an array containing valid rows indexes 
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  4409
		(valid rows upon filtering)
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  4410
	=====================================================*/
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  4411
	{
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  4412
		if( !this.hasGrid ) return;
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  4413
		return this.validRowsIndex;
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  4414
	},
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  4415
	
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  4416
	GetFiltersRowIndex: function()
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  4417
	/*====================================================
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  4418
		- Returns the index of the row containing the 
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  4419
		filters
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  4420
	=====================================================*/
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  4421
	{
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  4422
		if( !this.hasGrid ) return;
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  4423
		return this.filtersRowIndex;
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  4424
	},
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  4425
	
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  4426
	GetHeadersRowIndex: function()
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  4427
	/*====================================================
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  4428
		- Returns the index of the headers row
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  4429
	=====================================================*/
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  4430
	{
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  4431
		if( !this.hasGrid ) return;
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  4432
		return this.headersRow;
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  4433
	},
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  4434
	
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  4435
	GetStartRowIndex: function()
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  4436
	/*====================================================
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  4437
		- Returns the index of the row from which will 
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  4438
		start the filtering process (1st filterable row)
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  4439
	=====================================================*/
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  4440
	{
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  4441
		if( !this.hasGrid ) return;
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  4442
		return this.refRow;
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  4443
	},
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  4444
	
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  4445
	GetLastRowIndex: function()
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  4446
	/*====================================================
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  4447
		- Returns the index of the last row
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  4448
	=====================================================*/
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  4449
	{
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  4450
		if( !this.hasGrid ) return;
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  4451
		return (this.nbRows-1);
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  4452
	},
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  4453
	
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  4454
	AddPaging: function(filterTable)
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  4455
	/*====================================================
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  4456
		- Adds paging feature if filter grid bar is 
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  4457
		already set
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  4458
		- Param(s):
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  4459
			- execFilter: if true table is filtered 
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  4460
			(boolean)
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  4461
	=====================================================*/
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  4462
	{
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  4463
		if( !this.hasGrid || this.paging ) return;
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  4464
		this.paging = true; 
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  4465
		this.isPagingRemoved = true; 
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  4466
		this.SetPaging();
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  4467
		if(filterTable) this.Filter();
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  4468
	}	
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  4469
	
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  4470
}
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  4471
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  4472
/* --- */
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  4473
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  4474
/*====================================================
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  4475
	- General TF utility fns below
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  4476
=====================================================*/
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  4477
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  4478
function tf_GetChildElms(n)
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  4479
/*====================================================
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  4480
	- checks passed node is a ELEMENT_NODE nodeType=1
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  4481
	- removes TEXT_NODE nodeType=3  
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  4482
=====================================================*/
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  4483
{
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  4484
	if(n!=undefined && n.nodeType == 1)
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  4485
	{
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  4486
		var enfants = n.childNodes;
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  4487
		for(var i=0; i<enfants.length; i++)
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  4488
		{
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  4489
			var child = enfants[i];
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  4490
			if(child.nodeType == 3)
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  4491
			{ 
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  4492
				n.removeChild(child);
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  4493
				i = -1;
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  4494
			}
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  4495
		}
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  4496
		return n;	
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  4497
	}
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  4498
}
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  4499
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  4500
function tf_GetNodeText(n)
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  4501
/*====================================================
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  4502
	- returns text + text of child nodes of a node
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  4503
=====================================================*/
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  4504
{
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  4505
	/*if(n.innerText) return n.innerText.tf_Trim();
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  4506
	var s = '';
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  4507
	var enfants = n.childNodes;
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  4508
	for(var i=0; i<enfants.length; i++)
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  4509
	{
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  4510
		var child = enfants[i];
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  4511
		if(child.nodeType == 3) s+= child.data;
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  4512
		else s+= tf_GetNodeText(child).tf_Trim();
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  4513
	}*/
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  4514
	var s = n.textContent || n.innerText || n.innerHTML.replace(/\<[^<>]+>/g, '');
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  4515
	return s.replace(/^\s+/, '').replace(/\s+$/, '');
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  4516
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  4517
	return s.tf_Trim();
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  4518
}
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  4519
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  4520
function tf_isObj(varname)
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  4521
/*====================================================
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  4522
	- checks if var exists and is an object
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  4523
	- returns a boolean
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  4524
=====================================================*/
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  4525
{
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  4526
	var isO = false;
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  4527
	if( window[varname] && (typeof window[varname]).tf_LCase()=='object' )
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  4528
		isO = true;
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  4529
	return isO;
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  4530
}
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  4531
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  4532
function tf_isFn(fn)
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  4533
/*====================================================
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  4534
	- checks if passed param is a function
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  4535
	- returns a boolean
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  4536
=====================================================*/
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  4537
{
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  4538
	var isFn = false;
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  4539
	if(fn && (typeof fn).tf_LCase() == 'function')
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  4540
		isFn = true;
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  4541
	return isFn;
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  4542
}
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  4543
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  4544
function tf_Id(id)
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  4545
/*====================================================
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  4546
	- this is just a getElementById shortcut
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  4547
=====================================================*/
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  4548
{
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  4549
	return document.getElementById( id );
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  4550
}
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  4551
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  4552
function tf_Tag(o,tagname)
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  4553
/*====================================================
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  4554
	- this is just a getElementsByTagName shortcut
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  4555
=====================================================*/
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  4556
{
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  4557
	return o.getElementsByTagName( tagname );
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  4558
}
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  4559
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  4560
function tf_RegexpEscape(s)
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  4561
/*====================================================
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  4562
	- escapes special characters [\^$.|?*+() 
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  4563
	for regexp
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  4564
	- Many thanks to Cedric Wartel for this fn
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  4565
=====================================================*/
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  4566
{
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  4567
	// traite les caractères spéciaux [\^$.|?*+()
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  4568
	//remplace le carctère c par \c
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  4569
	function escape(e)
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  4570
	{
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  4571
		a = new RegExp('\\'+e,'g');
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  4572
		s = s.replace(a,'\\'+e);
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  4573
	}
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  4574
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  4575
	chars = new Array('\\','[','^','$','.','|','?','*','+','(',')');
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  4576
	//for(e in chars) escape(chars[e]); // compatibility issue with prototype
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  4577
	for(var e=0; e<chars.length; e++) escape(chars[e]);
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  4578
	return s;
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  4579
}
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  4580
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  4581
function tf_CreateElm(tag)
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  4582
/*====================================================
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  4583
	- creates an html element with its attributes
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  4584
	- accepts the following params:
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  4585
		- a string defining the html tag
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  4586
		to create
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  4587
		- an undetermined # of arrays containing the
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  4588
		couple 'attribute name','value' ['id','myId']
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  4589
=====================================================*/
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  4590
{
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  4591
	if(tag==undefined || tag==null || tag=='') return;
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  4592
	var el = document.createElement( tag );		
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  4593
	if(arguments.length>1)
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  4594
	{
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  4595
		for(var i=0; i<arguments.length; i++)
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  4596
		{
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  4597
			var argtype = typeof arguments[i];
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  4598
			switch( argtype.tf_LCase() )
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  4599
			{
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  4600
				case 'object':
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  4601
					if( arguments[i].length==2 )
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  4602
					{						
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  4603
						el.setAttribute( arguments[i][0],arguments[i][1] );
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  4604
					}//if array length==2
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  4605
				break;
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  4606
			}//switch
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  4607
		}//for i
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  4608
	}//if args
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  4609
	return el;	
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  4610
}
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  4611
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  4612
function tf_CreateText(node)
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  4613
/*====================================================
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  4614
	- this is just a document.createTextNode shortcut
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  4615
=====================================================*/
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  4616
{
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  4617
	return document.createTextNode( node );
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  4618
}
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  4619
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  4620
function tf_CreateOpt(text,value,isSel)
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  4621
/*====================================================
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  4622
	- creates an option element and returns it:
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  4623
		- text: displayed text (string)
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  4624
		- value: option value (string)
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  4625
		- isSel: is selected option (boolean)
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  4626
=====================================================*/
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  4627
{
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  4628
	var isSelected = isSel ? true : false;
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  4629
	var opt = (isSelected) 
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  4630
		? tf_CreateElm('option',['value',value],['selected','true'])
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  4631
		: tf_CreateElm('option',['value',value]);
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  4632
	opt.appendChild(tf_CreateText(text));
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  4633
	return opt;
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  4634
}
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  4635
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  4636
function tf_CreateCheckItem(chkIndex, chkValue, labelText)
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  4637
/*====================================================
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  4638
	- creates an checklist item and returns it
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  4639
	- accepts the following params:
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  4640
		- chkIndex: index of check item (number)
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  4641
		- chkValue: check item value (string)
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  4642
		- labelText: check item label text (string)
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  4643
=====================================================*/
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  4644
{
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  4645
	if(chkIndex==undefined || chkValue==undefined || labelText==undefined )
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  4646
		return;
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  4647
	var li = tf_CreateElm('li');
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  4648
	var label = tf_CreateElm('label',['for',chkIndex]);
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  4649
	var check = tf_CreateElm( 'input',
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  4650
					['id',chkIndex],
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  4651
					['name',chkIndex],
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  4652
					['type','checkbox'],
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  4653
					['value',chkValue] );
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  4654
	label.appendChild(check);
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  4655
	label.appendChild(tf_CreateText(labelText));
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  4656
	li.appendChild(label);
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  4657
	li.label = label;
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  4658
	li.check = check;
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  4659
	return li;
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  4660
}
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  4661
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  4662
function tf_HighlightWord( node,word,cssClass )
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  4663
/*====================================================
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  4664
	- highlights keyword found in passed node
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  4665
	- accepts the following params:
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  4666
		- node
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  4667
		- word to search
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  4668
		- css class name for highlighting
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  4669
=====================================================*/
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  4670
{
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  4671
	// Iterate into this nodes childNodes
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  4672
	if(node.hasChildNodes) 
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  4673
		for( var i=0; i<node.childNodes.length; i++ )
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  4674
			tf_HighlightWord(node.childNodes[i],word,cssClass);
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  4675
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  4676
	// And do this node itself
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  4677
	if(node.nodeType == 3) 
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  4678
	{ // text node
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  4679
		var tempNodeVal = node.nodeValue.tf_LCase();
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  4680
		var tempWordVal = word.tf_LCase();
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  4681
		if(tempNodeVal.indexOf(tempWordVal) != -1) 
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  4682
		{
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  4683
			var pn = node.parentNode;
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  4684
			if(pn.className != cssClass) 
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  4685
			{
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  4686
				// word has not already been highlighted!
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  4687
				var nv = node.nodeValue;
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  4688
				var ni = tempNodeVal.indexOf(tempWordVal);
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  4689
				// Create a load of replacement nodes
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  4690
				var before = tf_CreateText(nv.substr(0,ni));
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  4691
				var docWordVal = nv.substr(ni,word.length);
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  4692
				var after = tf_CreateText(nv.substr(ni+word.length));
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  4693
				var hiwordtext = tf_CreateText(docWordVal);
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  4694
				var hiword = tf_CreateElm('span');
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  4695
				hiword.className = cssClass;
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  4696
				hiword.appendChild(hiwordtext);
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  4697
				pn.insertBefore(before,node);
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  4698
				pn.insertBefore(hiword,node);
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  4699
				pn.insertBefore(after,node);
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  4700
				pn.removeChild(node);
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  4701
			}
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  4702
		}
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  4703
	}// if node.nodeType == 3
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  4704
}
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  4705
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  4706
function tf_UnhighlightWord( node,word,cssClass )
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  4707
/*====================================================
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  4708
	- removes highlights found in passed node
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  4709
	- accepts the following params:
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  4710
		- node
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  4711
		- word to search
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  4712
		- css class name for highlighting
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  4713
=====================================================*/
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  4714
{
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  4715
	// Iterate into this nodes childNodes
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  4716
	if(node.hasChildNodes)
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  4717
		for( var i=0; i<node.childNodes.length; i++ )
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  4718
			tf_UnhighlightWord(node.childNodes[i],word,cssClass);
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  4719
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  4720
	// And do this node itself
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  4721
	if(node.nodeType == 3) 
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  4722
	{ // text node
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  4723
		var tempNodeVal = node.nodeValue.tf_LCase();
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  4724
		var tempWordVal = word.tf_LCase();
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  4725
		if(tempNodeVal.indexOf(tempWordVal) != -1)
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  4726
		{
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  4727
			var pn = node.parentNode;
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  4728
			if(pn.className == cssClass)
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  4729
			{
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  4730
				var prevSib = pn.previousSibling;
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  4731
				var nextSib = pn.nextSibling;
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  4732
				nextSib.nodeValue = prevSib.nodeValue + node.nodeValue + nextSib.nodeValue;
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  4733
				prevSib.nodeValue = '';
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  4734
				node.nodeValue = '';
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  4735
			}
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  4736
		}
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  4737
	}// if node.nodeType == 3
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  4738
}
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  4739
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  4740
function tf_addEvent(obj,event_name,func_name)
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  4741
{
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  4742
	if (obj.attachEvent)
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  4743
		obj.attachEvent('on'+event_name, func_name);
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  4744
	else if(obj.addEventListener)
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  4745
		obj.addEventListener(event_name,func_name,true);
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  4746
	else
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  4747
		obj['on'+event_name] = func_name;
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  4748
}
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  4749
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  4750
function tf_removeEvent(obj,event_name,func_name)
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  4751
{
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  4752
	if (obj.detachEvent)
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  4753
		obj.detachEvent('on'+event_name,func_name);
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  4754
	else if(obj.removeEventListener)
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  4755
		obj.removeEventListener(event_name,func_name,true);
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  4756
	else
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  4757
		obj['on'+event_name] = null;
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  4758
}
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  4759
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  4760
function tf_NumSortAsc(a, b){ return (a-b); }
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  4761
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  4762
function tf_NumSortDesc(a, b){ return (b-a); }
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  4763
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  4764
function tf_IgnoreCaseSort(a, b) {
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  4765
	var x = a.tf_LCase();
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  4766
	var y = b.tf_LCase();
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  4767
	return ((x < y) ? -1 : ((x > y) ? 1 : 0));
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  4768
}
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  4769
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  4770
String.prototype.tf_MatchCase = function (mc) 
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  4771
{
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  4772
	if (!mc) return this.tf_LCase();
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  4773
	else return this.toString();
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  4774
}
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  4775
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  4776
String.prototype.tf_Trim = function()
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  4777
{//optimised by Anthony Maes
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  4778
	return this.replace(/(^[\s\xA0]*)|([\s\xA0]*$)/g,'');
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  4779
}
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  4780
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  4781
String.prototype.tf_LCase = function()
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  4782
{
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  4783
	return this.toLowerCase();
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  4784
}
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  4785
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  4786
String.prototype.tf_UCase = function()
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  4787
{
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  4788
	return this.toUpperCase();
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  4789
}
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  4790
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  4791
Array.prototype.tf_Has = function(s,mc) 
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  4792
{
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  4793
	//return this.indexOf(s) >= 0;
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  4794
	var sCase = (mc==undefined) ? false : mc;
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  4795
	for (i=0; i<this.length; i++)
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  4796
		if (this[i].toString().tf_MatchCase(sCase)==s) return true;
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  4797
	return false;
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  4798
}
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  4799
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  4800
Array.prototype.tf_IndexByValue = function(s,mc) 
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  4801
{
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  4802
	var sCase = (mc==undefined) ? false : mc;
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  4803
	for (i=0; i<this.length; i++)
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  4804
		if (this[i].toString().tf_MatchCase(sCase)==s) return i;
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  4805
	return (-1);
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  4806
}
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  4807
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  4808
// Is this IE 6? the ultimate browser sniffer ;-)
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  4809
//window['tf_isIE'] = (window.innerHeight) ? false : true;
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  4810
window['tf_isIE'] = (window.innerHeight) ? false : /msie|MSIE 6/.test(navigator.userAgent) ? true : false;
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  4811
window['tf_isIE7'] = (window.innerHeight) ? false : /msie|MSIE 7/.test(navigator.userAgent) ? true : false;
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  4812
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  4813
function tf_hasClass(elm,cl) 
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  4814
{
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  4815
	return elm.className.match(new RegExp('(\\s|^)'+cl+'(\\s|$)'));
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  4816
}
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  4817
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  4818
function tf_addClass(elm,cl) 
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  4819
{
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  4820
	if (!tf_hasClass(elm,cl))
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  4821
		elm.className += ' '+cl;
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  4822
}
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  4823
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  4824
function tf_removeClass(elm,cl) 
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  4825
{
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  4826
	if ( !tf_hasClass(elm,cl) ) return;
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  4827
	var reg = new RegExp('(\\s|^)'+cl+'(\\s|$)');
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  4828
	elm.className = elm.className.replace(reg,' ');
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  4829
}
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  4830
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  4831
function tf_isValidDate(dateStr, format) 
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  4832
{
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  4833
	if (format == null) { format = 'DMY'; }
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  4834
	format = format.toUpperCase();
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  4835
	if (format.length != 3) { format = 'DMY'; }
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  4836
	if ( (format.indexOf('M') == -1) || (format.indexOf('D') == -1) ||
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  4837
		(format.indexOf('Y') == -1) ) { format = 'DMY'; }
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  4838
	if (format.substring(0, 1) == 'Y') { // If the year is first
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  4839
		  var reg1 = /^\d{2}(\-|\/|\.)\d{1,2}\1\d{1,2}$/;
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  4840
		  var reg2 = /^\d{4}(\-|\/|\.)\d{1,2}\1\d{1,2}$/;
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  4841
	} else if (format.substring(1, 2) == 'Y') { // If the year is second
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  4842
		  var reg1 = /^\d{1,2}(\-|\/|\.)\d{2}\1\d{1,2}$/;
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  4843
		  var reg2 = /^\d{1,2}(\-|\/|\.)\d{4}\1\d{1,2}$/;
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  4844
	} else { // The year must be third
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  4845
		  var reg1 = /^\d{1,2}(\-|\/|\.)\d{1,2}\1\d{2}$/;
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  4846
		  var reg2 = /^\d{1,2}(\-|\/|\.)\d{1,2}\1\d{4}$/;
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  4847
	}
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  4848
	// If it doesn't conform to the right format (with either a 2 digit year or 4 digit year), fail
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  4849
	if ( (reg1.test(dateStr) == false) && (reg2.test(dateStr) == false) ) { return false; }
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  4850
	var parts = dateStr.split(RegExp.$1); // Split into 3 parts based on what the divider was
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  4851
	// Check to see if the 3 parts end up making a valid date
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  4852
	if (format.substring(0, 1) == 'M') { var mm = parts[0]; } else
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  4853
		if (format.substring(1, 2) == 'M') { var mm = parts[1]; } else { var mm = parts[2]; }
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  4854
	if (format.substring(0, 1) == 'D') { var dd = parts[0]; } else
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  4855
		if (format.substring(1, 2) == 'D') { var dd = parts[1]; } else { var dd = parts[2]; }
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  4856
	if (format.substring(0, 1) == 'Y') { var yy = parts[0]; } else
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  4857
		if (format.substring(1, 2) == 'Y') { var yy = parts[1]; } else { var yy = parts[2]; }
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  4858
	if (parseFloat(yy) <= 50) { yy = (parseFloat(yy) + 2000).toString(); }
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  4859
	if (parseFloat(yy) <= 99) { yy = (parseFloat(yy) + 1900).toString(); }
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  4860
	var dt = new Date(parseFloat(yy), parseFloat(mm)-1, parseFloat(dd), 0, 0, 0, 0);
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  4861
	if (parseFloat(dd) != dt.getDate()) { return false; }
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  4862
	if (parseFloat(mm)-1 != dt.getMonth()) { return false; }
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  4863
	return true;
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  4864
}
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  4865
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  4866
function tf_formatDate(dateStr, format)
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  4867
{
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  4868
	if(format==null) format = 'DMY';
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  4869
	var oDate, parts;
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  4870
	
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  4871
	function y2kDate(yr){
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  4872
		if(yr == undefined) return 0;
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  4873
		if(yr.length>2) return yr;
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  4874
		var y;
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  4875
		if(yr <= 99 && yr>50) //>50 belong to 1900
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  4876
			y = '19' + yr;
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  4877
		if(yr<50 || yr =='00') //<50 belong to 2000
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  4878
			y = '20' + yr;
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  4879
		return y;
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  4880
	}
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  4881
	
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  4882
	switch(format.toUpperCase())
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  4883
	{
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  4884
		case 'DMY':
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  4885
			parts = dateStr.replace(/^(0?[1-9]|[12][0-9]|3[01])([- \/.])(0?[1-9]|1[012])([- \/.])((\d\d)?\d\d)$/,'$1 $3 $5').split(' ');
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  4886
			oDate = new Date(y2kDate(parts[2]),parts[1]-1,parts[0]);
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  4887
		break;
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  4888
		case 'MDY':
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  4889
			parts = dateStr.replace(/^(0?[1-9]|1[012])([- \/.])(0?[1-9]|[12][0-9]|3[01])([- \/.])((\d\d)?\d\d)$/,'$1 $3 $5').split(' ');
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  4890
			oDate = new Date(y2kDate(parts[2]),parts[0]-1,parts[1]);
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  4891
		break;
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  4892
		case 'YMD':
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  4893
			parts = dateStr.replace(/^((\d\d)?\d\d)([- \/.])(0?[1-9]|1[012])([- \/.])(0?[1-9]|[12][0-9]|3[01])$/,'$1 $4 $6').split(' ');
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  4894
			oDate = new Date(y2kDate(parts[0]),parts[1]-1,parts[2]);
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  4895
		break;
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  4896
		default: //in case format is not correct
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  4897
			parts = dateStr.replace(/^(0?[1-9]|[12][0-9]|3[01])([- \/.])(0?[1-9]|1[012])([- \/.])((\d\d)?\d\d)$/,'$1 $3 $5').split(' ');
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  4898
			oDate = new Date(y2kDate(parts[2]),parts[1]-1,parts[0]);
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  4899
		break;
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  4900
	}
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  4901
	return oDate;
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  4902
}
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  4903
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  4904
function tf_removeNbFormat(data,format)
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  4905
{
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  4906
	if(data==null) return;
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  4907
	if(format==null) format = 'us';
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  4908
	var n = data;
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  4909
	if( format.tf_LCase()=='us' )
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  4910
		n =+ n.replace(/[^\d\.-]/g,'');
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  4911
	else
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  4912
		n =+ n.replace(/[^\d\,-]/g,'').replace(',','.');
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  4913
	return n;
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  4914
}
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  4915
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  4916
function tf_isImported(filePath,type)
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  4917
{
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  4918
	var isImported = false; 
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  4919
	var importType = (type==undefined) ? 'script' : type;
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  4920
	var files = tf_Tag(document,importType);
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  4921
	for (var i=0; i<files.length; i++)
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  4922
	{
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  4923
		if(files[i].src == undefined) continue;
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  4924
		if(files[i].src.match(filePath))
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  4925
		{
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  4926
			isImported = true;	
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  4927
			break;
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  4928
		}
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  4929
	}
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  4930
	return isImported;
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  4931
}
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  4932
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  4933
function tf_WriteCookie(name, value, hours)
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  4934
{
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  4935
	var expire = '';
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  4936
	if(hours != null)
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  4937
	{
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  4938
		expire = new Date((new Date()).getTime() + hours * 3600000);
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  4939
		expire = '; expires=' + expire.toGMTString();
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  4940
	}
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  4941
	document.cookie = name + '=' + escape(value) + expire;
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  4942
}
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  4943
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  4944
function tf_ReadCookie(name)
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  4945
{
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  4946
	var cookieValue = '';
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  4947
	var search = name + '=';
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  4948
	if(document.cookie.length > 0)
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  4949
	{ 
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  4950
		offset = document.cookie.indexOf(search);
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  4951
		if (offset != -1)
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  4952
		{ 
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  4953
			offset += search.length;
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  4954
			end = document.cookie.indexOf(';', offset);
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  4955
			if (end == -1) end = document.cookie.length;
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  4956
			cookieValue = unescape(document.cookie.substring(offset, end))
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  4957
		}
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  4958
	}
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  4959
	return cookieValue;
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  4960
}
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  4961
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  4962
function tf_CookieValueArray(name)
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  4963
{
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  4964
	var val = tf_ReadCookie(name); //reads the cookie
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  4965
	var arr = val.split(','); //creates an array with filters' values
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  4966
	return arr;
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  4967
}
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  4968
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  4969
function tf_CookieValueByIndex(name, index)
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  4970
{
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  4971
	var val = tf_CookieValueArray(name); //reads the cookie
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  4972
	return val[index];
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  4973
}
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  4974
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  4975
function tf_RemoveCookie(name)
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  4976
{
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  4977
	tf_WriteCookie(name,'',-1);
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  4978
}
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  4979
/* --- */
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  4980
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  4981
/*====================================================
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  4982
	- Backward compatibility fns
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  4983
=====================================================*/
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  4984
function grabEBI(id){ return tf_Id( id ); }
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  4985
function grabTag(obj,tagname){ return tf_Tag(obj,tagname); }
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  4986
function tf_GetCellText(n){ return tf_GetNodeText(n); }
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  4987
function tf_isObject(varname){ return tf_isObj(varname); }
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  4988
/* --- */
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  4989
    //]]>
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  4990
    </script>
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  4991
    
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  4992
    <script language="javascript" type="text/javascript">
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  4993
    //<![CDATA[
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  4994
    /**
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  4995
 * Copyright (c)2005-2009 Matt Kruse (javascripttoolbox.com)
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  4996
 * 
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  4997
 * Dual licensed under the MIT and GPL licenses. 
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  4998
 * This basically means you can use this code however you want for
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  4999
 * free, but don't claim to have written it yourself!
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  5000
 * Donations always accepted: http://www.JavascriptToolbox.com/donate/
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  5001
 * 
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  5002
 * Please do not link to the .js files on javascripttoolbox.com from
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  5003
 * your site. Copy the files locally to your server instead.
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  5004
 * 
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  5005
 */
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  5006
/* ******************************************************************* */
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  5007
/*   UTIL FUNCTIONS                                                    */
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  5008
/* ******************************************************************* */
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  5009
var Util = {'$VERSION':1.06};
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  5010
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  5011
// Util functions - these are GLOBAL so they
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  5012
// look like built-in functions.
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  5013
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  5014
// Determine if an object is an array
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  5015
function isArray(o) {
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  5016
	return (o!=null && typeof(o)=="object" && typeof(o.length)=="number" && (o.length==0 || defined(o[0])));
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  5017
};
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  5018
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  5019
// Determine if an object is an Object
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  5020
function isObject(o) {
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  5021
	return (o!=null && typeof(o)=="object" && defined(o.constructor) && o.constructor==Object && !defined(o.nodeName));
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  5022
};
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  5023
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  5024
// Determine if a reference is defined
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  5025
function defined(o) {
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  5026
	return (typeof(o)!="undefined");
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  5027
};
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  5028
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  5029
// Iterate over an array, object, or list of items and run code against each item
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  5030
// Similar functionality to Perl's map() function
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  5031
function map(func) {
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  5032
	var i,j,o;
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  5033
	var results = [];
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  5034
	if (typeof(func)=="string") {
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  5035
		func = new Function('$_',func);
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  5036
	}
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  5037
	for (i=1; i<arguments.length; i++) {
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  5038
		o = arguments[i];
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  5039
		if (isArray(o)) {
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  5040
			for (j=0; j<o.length; j++) {
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  5041
				results[results.length] = func(o[j]);
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  5042
			}
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  5043
		}
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  5044
		else if (isObject(o)) {
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  5045
			for (j in o) {
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  5046
				results[results.length] = func(o[j]);
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  5047
			}
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  5048
		}
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  5049
		else {
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  5050
			results[results.length] = func(o);
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  5051
		}
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  5052
	}
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  5053
	return results;
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  5054
};
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  5055
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  5056
// Set default values in an object if they are undefined
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  5057
function setDefaultValues(o,values) {
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  5058
	if (!defined(o) || o==null) {
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  5059
		o = {};
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  5060
	}
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  5061
	if (!defined(values) || values==null) {
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  5062
		return o;
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  5063
	}
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  5064
	for (var val in values) {
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  5065
		if (!defined(o[val])) {
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  5066
			o[val] = values[val];
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  5067
		}
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  5068
	}
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  5069
	return o;
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  5070
};
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  5071
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  5072
/* ******************************************************************* */
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  5073
/*   DEFAULT OBJECT PROTOTYPE ENHANCEMENTS                             */
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  5074
/* ******************************************************************* */
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  5075
// These functions add useful functionality to built-in objects
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  5076
Array.prototype.contains = function(o) {
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  5077
	var i,l;
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  5078
	if (!(l = this.length)) { return false; }
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  5079
	for (i=0; i<l; i++) {
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  5080
		if (o==this[i]) {
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  5081
			return true;
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  5082
		}
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  5083
	}
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  5084
};
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  5085
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  5086
/* ******************************************************************* */
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  5087
/*   DOM FUNCTIONS                                                     */
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  5088
/* ******************************************************************* */
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  5089
var DOM = (function() { 
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  5090
	var dom = {};
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  5091
	
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  5092
	// Get a parent tag with a given nodename
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  5093
	dom.getParentByTagName = function(o,tagNames) {
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  5094
		if(o==null) { return null; }
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  5095
		if (isArray(tagNames)) {
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  5096
			tagNames = map("return $_.toUpperCase()",tagNames);
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  5097
			while (o=o.parentNode) {
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  5098
				if (o.nodeName && tagNames.contains(o.nodeName)) {
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  5099
					return o;
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  5100
				}
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  5101
			}
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  5102
		}
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  5103
		else {
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  5104
			tagNames = tagNames.toUpperCase();
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  5105
			while (o=o.parentNode) {
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  5106
				if (o.nodeName && tagNames==o.nodeName) {
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  5107
					return o;
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  5108
				}
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  5109
			}
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  5110
		}
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  5111
		return null;
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  5112
	};
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  5113
	
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  5114
	// Remove a node from its parent
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  5115
	dom.removeNode = function(o) {
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  5116
		if (o!=null && o.parentNode && o.parentNode.removeChild) {
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  5117
			// First remove all attributes which are func references, to avoid memory leaks
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  5118
			for (var i in o) {
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  5119
				if (typeof(o[i])=="function") {
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  5120
					o[i] = null;
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  5121
				}
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  5122
			}
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  5123
			o.parentNode.removeChild(o);
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  5124
			return true;
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  5125
		}
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  5126
		return false;
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  5127
	};
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  5128
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  5129
	// Get the outer width in pixels of an object, including borders, padding, and margin
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  5130
	dom.getOuterWidth = function(o) {
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  5131
		if (defined(o.offsetWidth)) {
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  5132
			return o.offsetWidth;
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  5133
		}
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  5134
		return null;
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  5135
	};
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  5136
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  5137
	// Get the outer height in pixels of an object, including borders, padding, and margin
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  5138
	dom.getOuterHeight = function(o) {
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  5139
		if (defined(o.offsetHeight)) {
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  5140
			return o.offsetHeight;
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  5141
		}
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  5142
		return null;
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  5143
	};
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  5144
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  5145
	// Resolve an item, an array of items, or an object of items
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  5146
	dom.resolve = function() {
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  5147
		var results = new Array();
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  5148
		var i,j,o;
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  5149
		for (var i=0; i<arguments.length; i++) {
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  5150
			var o = arguments[i];
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  5151
			if (o==null) {
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  5152
				if (arguments.length==1) {
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  5153
					return null;
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  5154
				}
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  5155
				results[results.length] = null;
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  5156
			}
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  5157
			else if (typeof(o)=='string') {
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  5158
				if (document.getElementById) {
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  5159
					o = document.getElementById(o);
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  5160
				}
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  5161
				else if (document.all) {
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  5162
					o = document.all[o];
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  5163
				}
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  5164
				if (arguments.length==1) {
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  5165
					return o;
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  5166
				}
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  5167
				results[results.length] = o;
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  5168
			}
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  5169
			else if (isArray(o)) {
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  5170
				for (j=0; j<o.length; j++) {
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  5171
					results[results.length] = o[j];
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  5172
				}
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  5173
			}
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  5174
			else if (isObject(o)) {
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  5175
				for (j in o) {
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  5176
					results[results.length] = o[j];
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  5177
				}
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  5178
			}
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  5179
			else if (arguments.length==1) {
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  5180
				return o;
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  5181
			}
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  5182
			else {
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  5183
				results[results.length] = o;
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  5184
			}
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  5185
	  }
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  5186
	  return results;
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  5187
	};
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  5188
	dom.$ = dom.resolve;
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  5189
	
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  5190
	return dom;
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  5191
})();
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  5192
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  5193
/* ******************************************************************* */
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  5194
/*   CSS FUNCTIONS                                                     */
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  5195
/* ******************************************************************* */
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  5196
var CSS = (function(){
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  5197
	var css = {};
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  5198
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  5199
	// Convert an RGB string in the form "rgb (255, 255, 255)" to "#ffffff"
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  5200
	css.rgb2hex = function(rgbString) {
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  5201
		if (typeof(rgbString)!="string" || !defined(rgbString.match)) { return null; }
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  5202
		var result = rgbString.match(/^\s*rgb\s*\(\s*(\d+)\s*,\s*(\d+)\s*,\s*(\d+)\s*/);
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  5203
		if (result==null) { return rgbString; }
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  5204
		var rgb = +result[1] << 16 | +result[2] << 8 | +result[3];
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  5205
		var hex = "";
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  5206
		var digits = "0123456789abcdef";
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  5207
		while(rgb!=0) { 
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  5208
			hex = digits.charAt(rgb&0xf)+hex; 
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  5209
			rgb>>>=4; 
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  5210
		} 
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  5211
		while(hex.length<6) { hex='0'+hex; }
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  5212
		return "#" + hex;
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  5213
	};
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  5214
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  5215
	// Convert hyphen style names like border-width to camel case like borderWidth
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  5216
	css.hyphen2camel = function(property) {
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  5217
		if (!defined(property) || property==null) { return null; }
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  5218
		if (property.indexOf("-")<0) { return property; }
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  5219
		var str = "";
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  5220
		var c = null;
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  5221
		var l = property.length;
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  5222
		for (var i=0; i<l; i++) {
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  5223
			c = property.charAt(i);
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  5224
			str += (c!="-")?c:property.charAt(++i).toUpperCase();
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  5225
		}
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  5226
		return str;
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  5227
	};
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  5228
	
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  5229
	// Determine if an object or class string contains a given class.
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  5230
	css.hasClass = function(obj,className) {
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  5231
		if (!defined(obj) || obj==null || !RegExp) { return false; }
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  5232
		var re = new RegExp("(^|\\s)" + className + "(\\s|$)");
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  5233
		if (typeof(obj)=="string") {
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  5234
			return re.test(obj);
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  5235
		}
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  5236
		else if (typeof(obj)=="object" && obj.className) {
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  5237
			return re.test(obj.className);
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  5238
		}
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  5239
		return false;
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  5240
	};
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  5241
	
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  5242
	// Add a class to an object
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  5243
	css.addClass = function(obj,className) {
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  5244
		if (typeof(obj)!="object" || obj==null || !defined(obj.className)) { return false; }
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  5245
		if (obj.className==null || obj.className=='') { 
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  5246
			obj.className = className; 
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  5247
			return true; 
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  5248
		}
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  5249
		if (css.hasClass(obj,className)) { return true; }
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  5250
		obj.className = obj.className + " " + className;
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  5251
		return true;
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  5252
	};
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  5253
	
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  5254
	// Remove a class from an object
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  5255
	css.removeClass = function(obj,className) {
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  5256
		if (typeof(obj)!="object" || obj==null || !defined(obj.className) || obj.className==null) { return false; }
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  5257
		if (!css.hasClass(obj,className)) { return false; }
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  5258
		var re = new RegExp("(^|\\s+)" + className + "(\\s+|$)");
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  5259
		obj.className = obj.className.replace(re,' ');
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  5260
		return true;
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  5261
	};
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  5262
	
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  5263
	// Fully replace a class with a new one
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  5264
	css.replaceClass = function(obj,className,newClassName) {
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  5265
		if (typeof(obj)!="object" || obj==null || !defined(obj.className) || obj.className==null) { return false; }
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  5266
		css.removeClass(obj,className);
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  5267
		css.addClass(obj,newClassName);
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  5268
		return true;
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  5269
	};
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  5270
	
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  5271
	// Get the currently-applied style of an object
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  5272
	css.getStyle = function(o, property) {
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  5273
		if (o==null) { return null; }
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  5274
		var val = null;
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  5275
		var camelProperty = css.hyphen2camel(property);
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  5276
		// Handle "float" property as a special case
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  5277
		if (property=="float") {
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  5278
			val = css.getStyle(o,"cssFloat");
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  5279
			if (val==null) { 
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  5280
				val = css.getStyle(o,"styleFloat"); 
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  5281
			}
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  5282
		}
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  5283
		else if (o.currentStyle && defined(o.currentStyle[camelProperty])) {
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  5284
			val = o.currentStyle[camelProperty];
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  5285
		}
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  5286
		else if (window.getComputedStyle) {
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  5287
			val = window.getComputedStyle(o,null).getPropertyValue(property);
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  5288
		}
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  5289
		else if (o.style && defined(o.style[camelProperty])) {
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  5290
			val = o.style[camelProperty];
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  5291
		}
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  5292
		// For color values, make the value consistent across browsers
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  5293
		// Convert rgb() colors back to hex for consistency
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  5294
		if (/^\s*rgb\s*\(/.test(val)) {
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  5295
			val = css.rgb2hex(val);
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  5296
		}
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  5297
		// Lowercase all #hex values
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  5298
		if (/^#/.test(val)) {
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  5299
			val = val.toLowerCase();
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  5300
		}
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  5301
		return val;
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  5302
	};
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  5303
	css.get = css.getStyle;
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  5304
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  5305
	// Set a style on an object
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  5306
	css.setStyle = function(o, property, value) {
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  5307
		if (o==null || !defined(o.style) || !defined(property) || property==null || !defined(value)) { return false; }
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  5308
		if (property=="float") {
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  5309
			o.style["cssFloat"] = value;
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  5310
			o.style["styleFloat"] = value;
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  5311
		}
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  5312
		else if (property=="opacity") {
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  5313
			o.style['-moz-opacity'] = value;
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  5314
			o.style['-khtml-opacity'] = value;
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  5315
			o.style.opacity = value;
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  5316
			if (defined(o.style.filter)) {
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  5317
				o.style.filter = "alpha(opacity=" + value*100 + ")";
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  5318
			}
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  5319
		}
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  5320
		else {
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  5321
			o.style[css.hyphen2camel(property)] = value;
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  5322
		}
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  5323
		return true;
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  5324
	};
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  5325
	css.set = css.setStyle;
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  5326
	
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  5327
	// Get a unique ID which doesn't already exist on the page
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  5328
	css.uniqueIdNumber=1000;
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  5329
	css.createId = function(o) {
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  5330
		if (defined(o) && o!=null && defined(o.id) && o.id!=null && o.id!="") { 
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  5331
			return o.id;
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  5332
		}
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  5333
		var id = null;
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  5334
		while (id==null || document.getElementById(id)!=null) {
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  5335
			id = "ID_"+(css.uniqueIdNumber++);
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  5336
		}
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  5337
		if (defined(o) && o!=null && (!defined(o.id)||o.id=="")) {
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  5338
			o.id = id;
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  5339
		}
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  5340
		return id;
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  5341
	};
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  5342
	
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  5343
	return css;
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  5344
})();
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  5345
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  5346
/* ******************************************************************* */
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  5347
/*   EVENT FUNCTIONS                                                   */
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  5348
/* ******************************************************************* */
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  5349
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  5350
var Event = (function(){
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  5351
	var ev = {};
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  5352
	
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  5353
	// Resolve an event using IE's window.event if necessary
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  5354
	// --------------------------------------------------------------------
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  5355
	ev.resolve = function(e) {
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  5356
		if (!defined(e) && defined(window.event)) {
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  5357
			e = window.event;
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  5358
		}
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  5359
		return e;
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  5360
	};
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  5361
	
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  5362
	// Add an event handler to a function
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  5363
	// Note: Don't use 'this' within functions added using this method, since
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  5364
	// the attachEvent and addEventListener models differ.
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  5365
	// --------------------------------------------------------------------
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  5366
	ev.add = function( obj, type, fn, capture ) {
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  5367
		if (obj.addEventListener) {
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  5368
			obj.addEventListener( type, fn, capture );
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  5369
			return true;
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  5370
		}
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  5371
		else if (obj.attachEvent) {
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  5372
			obj.attachEvent( "on"+type, fn );
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  5373
			return true;
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  5374
		}
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  5375
		return false;
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  5376
	};
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  5377
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  5378
	// Get the mouse position of an event
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  5379
	// --------------------------------------------------------------------
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  5380
	// PageX/Y, where they exist, are more reliable than ClientX/Y because 
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  5381
	// of some browser bugs in Opera/Safari
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  5382
	ev.getMouseX = function(e) {
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  5383
		e = ev.resolve(e);
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  5384
		if (defined(e.pageX)) {
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  5385
			return e.pageX;
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  5386
		}
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  5387
		if (defined(e.clientX)) {
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  5388
			return e.clientX+Screen.getScrollLeft();
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  5389
		}
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  5390
		return null;
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  5391
	};
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  5392
	ev.getMouseY = function(e) {
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  5393
		e = ev.resolve(e);
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  5394
		if (defined(e.pageY)) {
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  5395
			return e.pageY;
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  5396
		}
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  5397
		if (defined(e.clientY)) {
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  5398
			return e.clientY+Screen.getScrollTop();
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  5399
		}
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  5400
		return null;
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  5401
	};
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  5402
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  5403
	// Stop the event from bubbling up to parent elements.
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  5404
	// Two method names map to the same function
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  5405
	// --------------------------------------------------------------------
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  5406
	ev.cancelBubble = function(e) {
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  5407
		e = ev.resolve(e);
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  5408
		if (typeof(e.stopPropagation)=="function") { e.stopPropagation(); } 
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  5409
		if (defined(e.cancelBubble)) { e.cancelBubble = true; }
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  5410
	};
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  5411
	ev.stopPropagation = ev.cancelBubble;
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  5412
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  5413
	// Prevent the default handling of the event to occur
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  5414
	// --------------------------------------------------------------------
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  5415
	ev.preventDefault = function(e) {
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  5416
		e = ev.resolve(e);
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  5417
		if (typeof(e.preventDefault)=="function") { e.preventDefault(); } 
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  5418
		if (defined(e.returnValue)) { e.returnValue = false; }
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  5419
	};
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  5420
	
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  5421
	return ev;
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  5422
})();
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  5423
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  5424
/* ******************************************************************* */
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  5425
/*   SCREEN FUNCTIONS                                                  */
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  5426
/* ******************************************************************* */
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  5427
var Screen = (function() {
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  5428
	var screen = {};
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  5429
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  5430
	// Get a reference to the body
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  5431
	// --------------------------------------------------------------------
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  5432
	screen.getBody = function() {
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  5433
		if (document.body) {
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  5434
			return document.body;
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  5435
		}
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  5436
		if (document.getElementsByTagName) {
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  5437
			var bodies = document.getElementsByTagName("BODY");
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  5438
			if (bodies!=null && bodies.length>0) {
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  5439
				return bodies[0];
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  5440
			}
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  5441
		}
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  5442
		return null;
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  5443
	};
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  5444
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  5445
	// Get the amount that the main document has scrolled from top
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  5446
	// --------------------------------------------------------------------
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  5447
	screen.getScrollTop = function() {
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  5448
		if (document.documentElement && defined(document.documentElement.scrollTop) && document.documentElement.scrollTop>0) {
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  5449
			return document.documentElement.scrollTop;
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  5450
		}
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  5451
		if (document.body && defined(document.body.scrollTop)) {
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  5452
			return document.body.scrollTop;
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  5453
		}
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  5454
		return null;
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  5455
	};
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  5456
	
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  5457
	// Get the amount that the main document has scrolled from left
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  5458
	// --------------------------------------------------------------------
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  5459
	screen.getScrollLeft = function() {
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  5460
		if (document.documentElement && defined(document.documentElement.scrollLeft) && document.documentElement.scrollLeft>0) {
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  5461
			return document.documentElement.scrollLeft;
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  5462
		}
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  5463
		if (document.body && defined(document.body.scrollLeft)) {
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  5464
			return document.body.scrollLeft;
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  5465
		}
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  5466
		return null;
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  5467
	};
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  5468
	
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  5469
	// Util function to default a bad number to 0
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  5470
	// --------------------------------------------------------------------
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  5471
	screen.zero = function(n) {
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  5472
		return (!defined(n) || isNaN(n))?0:n;
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  5473
	};
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  5474
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  5475
	// Get the width of the entire document
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  5476
	// --------------------------------------------------------------------
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  5477
	screen.getDocumentWidth = function() {
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  5478
		var width = 0;
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  5479
		var body = screen.getBody();
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  5480
		if (document.documentElement && (!document.compatMode || document.compatMode=="CSS1Compat")) {
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  5481
		    var rightMargin = parseInt(CSS.get(body,'marginRight'),10) || 0;
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  5482
		    var leftMargin = parseInt(CSS.get(body,'marginLeft'), 10) || 0;
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  5483
			width = Math.max(body.offsetWidth + leftMargin + rightMargin, document.documentElement.clientWidth);
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  5484
		}
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  5485
		else {
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  5486
			width =  Math.max(body.clientWidth, body.scrollWidth);
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  5487
		}
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  5488
		if (isNaN(width) || width==0) {
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  5489
			width = screen.zero(self.innerWidth);
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  5490
		}
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  5491
		return width;
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  5492
	};
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  5493
	
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  5494
	// Get the height of the entire document
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  5495
	// --------------------------------------------------------------------
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  5496
	screen.getDocumentHeight = function() {
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  5497
		var body = screen.getBody();
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  5498
		var innerHeight = (defined(self.innerHeight)&&!isNaN(self.innerHeight))?self.innerHeight:0;
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  5499
		if (document.documentElement && (!document.compatMode || document.compatMode=="CSS1Compat")) {
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  5500
		    var topMargin = parseInt(CSS.get(body,'marginTop'),10) || 0;
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  5501
		    var bottomMargin = parseInt(CSS.get(body,'marginBottom'), 10) || 0;
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  5502
			return Math.max(body.offsetHeight + topMargin + bottomMargin, document.documentElement.clientHeight, document.documentElement.scrollHeight, screen.zero(self.innerHeight));
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  5503
		}
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  5504
		return Math.max(body.scrollHeight, body.clientHeight, screen.zero(self.innerHeight));
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  5505
	};
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  5506
	
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  5507
	// Get the width of the viewport (viewable area) in the browser window
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  5508
	// --------------------------------------------------------------------
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  5509
	screen.getViewportWidth = function() {
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  5510
		if (document.documentElement && (!document.compatMode || document.compatMode=="CSS1Compat")) {
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  5511
			return document.documentElement.clientWidth;
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  5512
		}
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  5513
		else if (document.compatMode && document.body) {
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  5514
			return document.body.clientWidth;
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  5515
		}
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  5516
		return screen.zero(self.innerWidth);
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  5517
	};
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  5518
	
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  5519
	// Get the height of the viewport (viewable area) in the browser window
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  5520
	// --------------------------------------------------------------------
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  5521
	screen.getViewportHeight = function() {
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  5522
		if (!window.opera && document.documentElement && (!document.compatMode || document.compatMode=="CSS1Compat")) {
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  5523
			return document.documentElement.clientHeight;
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  5524
		}
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  5525
		else if (document.compatMode && !window.opera && document.body) {
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  5526
			return document.body.clientHeight;
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  5527
		}
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  5528
		return screen.zero(self.innerHeight);
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  5529
	};
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  5530
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  5531
	return screen;
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  5532
})();var Sort = (function(){
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  5533
	var sort = {};
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  5534
	sort.AlphaNumeric = function(a,b) {
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  5535
		if (a==b) { return 0; }
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  5536
		if (a<b) { return -1; }
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  5537
		return 1;
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  5538
	};
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  5539
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  5540
	sort.Default = sort.AlphaNumeric;
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  5541
	
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  5542
	sort.NumericConversion = function(val) {
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  5543
		if (typeof(val)!="number") {
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  5544
			if (typeof(val)=="string") {
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  5545
				val = parseFloat(val.replace(/,/g,''));
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  5546
				if (isNaN(val) || val==null) { val=0; }
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  5547
			}
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  5548
			else {
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  5549
				val = 0;
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  5550
			}
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  5551
		}
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  5552
		return val;
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  5553
	};
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  5554
	
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  5555
	sort.Numeric = function(a,b) {
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  5556
		return sort.NumericConversion(a)-sort.NumericConversion(b);
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  5557
	};
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  5558
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  5559
	sort.IgnoreCaseConversion = function(val) {
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  5560
		if (val==null) { val=""; }
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  5561
		return (""+val).toLowerCase();
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  5562
	};
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  5563
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  5564
	sort.IgnoreCase = function(a,b) {
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  5565
		return sort.AlphaNumeric(sort.IgnoreCaseConversion(a),sort.IgnoreCaseConversion(b));
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  5566
	};
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  5567
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  5568
	sort.CurrencyConversion = function(val) {
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  5569
		if (typeof(val)=="string") {
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  5570
			val = val.replace(/^[^\d\.]/,'');
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  5571
		}
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  5572
		return sort.NumericConversion(val);
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  5573
	};
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  5574
	
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  5575
	sort.Currency = function(a,b) {
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  5576
		return sort.Numeric(sort.CurrencyConversion(a),sort.CurrencyConversion(b));
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  5577
	};
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  5578
	
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  5579
	sort.DateConversion = function(val) {
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  5580
		// inner util function to parse date formats
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  5581
		function getdate(str) {
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  5582
			// inner util function to convert 2-digit years to 4
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  5583
			function fixYear(yr) {
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  5584
				yr = +yr;
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  5585
				if (yr<50) { yr += 2000; }
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  5586
				else if (yr<100) { yr += 1900; }
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  5587
				return yr;
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  5588
			};
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  5589
			var ret;
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  5590
			// YYYY-MM-DD
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  5591
			if (ret=str.match(/(\d{2,4})-(\d{1,2})-(\d{1,2})/)) {
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  5592
				return (fixYear(ret[1])*10000) + (ret[2]*100) + (+ret[3]);
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  5593
			}
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  5594
			// MM/DD/YY[YY] or MM-DD-YY[YY]
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  5595
			if (ret=str.match(/(\d{1,2})[\/-](\d{1,2})[\/-](\d{2,4})/)) {
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  5596
				return (fixYear(ret[3])*10000) + (ret[1]*100) + (+ret[2]);
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  5597
			}
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  5598
			return 99999999; // So non-parsed dates will be last, not first
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  5599
		};
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  5600
		return getdate(val);
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  5601
	};
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  5602
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  5603
	sort.Date = function(a,b) {
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  5604
		return sort.Numeric(sort.DateConversion(a),sort.DateConversion(b));
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  5605
	};
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  5606
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  5607
	return sort;
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  5608
})();
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  5609
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  5610
var Position = (function() {
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  5611
	// Resolve a string identifier to an object
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  5612
	// ========================================
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  5613
	function resolveObject(s) {
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  5614
		if (document.getElementById && document.getElementById(s)!=null) {
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  5615
			return document.getElementById(s);
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  5616
		}
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  5617
		else if (document.all && document.all[s]!=null) {
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  5618
			return document.all[s];
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  5619
		}
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  5620
		else if (document.anchors && document.anchors.length && document.anchors.length>0 && document.anchors[0].x) {
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  5621
			for (var i=0; i<document.anchors.length; i++) {
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  5622
				if (document.anchors[i].name==s) { 
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  5623
					return document.anchors[i]
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  5624
				}
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  5625
			}
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  5626
		}
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  5627
	}
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  5628
	
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  5629
	var pos = {};
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  5630
	pos.$VERSION = 1.0;
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  5631
	
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  5632
	// Set the position of an object
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  5633
	// =============================
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  5634
	pos.set = function(o,left,top) {
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  5635
		if (typeof(o)=="string") {
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  5636
			o = resolveObject(o);
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  5637
		}
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  5638
		if (o==null || !o.style) {
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  5639
			return false;
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  5640
		}
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  5641
		
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  5642
		// If the second parameter is an object, it is assumed to be the result of getPosition()
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  5643
		if (typeof(left)=="object") {
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  5644
			var pos = left;
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  5645
			left = pos.left;
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  5646
			top = pos.top;
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  5647
		}
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  5648
		
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  5649
		o.style.left = left + "px";
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  5650
		o.style.top = top + "px";
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  5651
		return true;
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  5652
	};
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  5653
	
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  5654
	// Retrieve the position and size of an object
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  5655
	// ===========================================
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  5656
	pos.get = function(o) {
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  5657
		var fixBrowserQuirks = true;
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  5658
			// If a string is passed in instead of an object ref, resolve it
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  5659
		if (typeof(o)=="string") {
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  5660
			o = resolveObject(o);
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  5661
		}
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  5662
		
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  5663
		if (o==null) {
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  5664
			return null;
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  5665
		}
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  5666
		
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  5667
		var left = 0;
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  5668
		var top = 0;
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  5669
		var width = 0;
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  5670
		var height = 0;
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  5671
		var parentNode = null;
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  5672
		var offsetParent = null;
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  5673
	
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  5674
		
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  5675
		offsetParent = o.offsetParent;
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  5676
		var originalObject = o;
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  5677
		var el = o; // "el" will be nodes as we walk up, "o" will be saved for offsetParent references
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  5678
		while (el.parentNode!=null) {
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  5679
			el = el.parentNode;
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  5680
			if (el.offsetParent==null) {
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  5681
			}
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  5682
			else {
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  5683
				var considerScroll = true;
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  5684
				/*
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  5685
				In Opera, if parentNode of the first object is scrollable, then offsetLeft/offsetTop already 
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  5686
				take its scroll position into account. If elements further up the chain are scrollable, their 
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  5687
				scroll offsets still need to be added in. And for some reason, TR nodes have a scrolltop value
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  5688
				which must be ignored.
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  5689
				*/
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  5690
				if (fixBrowserQuirks && window.opera) {
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  5691
					if (el==originalObject.parentNode || el.nodeName=="TR") {
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  5692
						considerScroll = false;
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  5693
					}
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  5694
				}
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  5695
				if (considerScroll) {
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  5696
					if (el.scrollTop && el.scrollTop>0) {
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  5697
						top -= el.scrollTop;
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  5698
					}
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  5699
					if (el.scrollLeft && el.scrollLeft>0) {
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  5700
						left -= el.scrollLeft;
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  5701
					}
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  5702
				}
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  5703
			}
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  5704
			// If this node is also the offsetParent, add on the offsets and reset to the new offsetParent
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  5705
			if (el == offsetParent) {
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  5706
				left += o.offsetLeft;
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  5707
				if (el.clientLeft && el.nodeName!="TABLE") { 
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  5708
					left += el.clientLeft;
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  5709
				}
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  5710
				top += o.offsetTop;
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  5711
				if (el.clientTop && el.nodeName!="TABLE") {
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  5712
					top += el.clientTop;
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  5713
				}
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  5714
				o = el;
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  5715
				if (o.offsetParent==null) {
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  5716
					if (o.offsetLeft) {
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  5717
						left += o.offsetLeft;
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  5718
					}
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  5719
					if (o.offsetTop) {
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  5720
						top += o.offsetTop;
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  5721
					}
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  5722
				}
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  5723
				offsetParent = o.offsetParent;
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  5724
			}
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  5725
		}
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  5726
		
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  5727
	
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  5728
		if (originalObject.offsetWidth) {
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  5729
			width = originalObject.offsetWidth;
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  5730
		}
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  5731
		if (originalObject.offsetHeight) {
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  5732
			height = originalObject.offsetHeight;
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  5733
		}
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  5734
		
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  5735
		return {'left':left, 'top':top, 'width':width, 'height':height
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  5736
				};
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  5737
	};
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  5738
	
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  5739
	// Retrieve the position of an object's center point
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  5740
	// =================================================
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  5741
	pos.getCenter = function(o) {
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  5742
		var c = this.get(o);
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  5743
		if (c==null) { return null; }
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  5744
		c.left = c.left + (c.width/2);
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  5745
		c.top = c.top + (c.height/2);
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  5746
		return c;
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  5747
	};
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  5748
	
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  5749
	return pos;
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  5750
})();// CLASS CONSTRUCTOR
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  5751
// --------------------------------------------------------------------
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  5752
var Popup = function(div, options) {
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  5753
	this.div = defined(div)?div:null;
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  5754
	this.index = Popup.maxIndex++;
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  5755
	this.ref = "Popup.objects["+this.index+"]";
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  5756
	Popup.objects[this.index] = this;
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  5757
	// Store a reference to the DIV by id, also
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  5758
	if (typeof(this.div)=="string") {
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  5759
		Popup.objectsById[this.div] = this;
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  5760
	}
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  5761
	if (defined(this.div) && this.div!=null && defined(this.div.id)) {
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  5762
		Popup.objectsById[this.div.id] = this.div.id;
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  5763
	}
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  5764
	// Apply passed-in options
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  5765
	if (defined(options) && options!=null && typeof(options)=="object") {
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  5766
		for (var i in options) {
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  5767
			this[i] = options[i];
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  5768
		}
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  5769
	}
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  5770
	return this;
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  5771
};
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  5772
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  5773
// CLASS PROPERTIES
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  5774
// --------------------------------------------------------------------
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  5775
// Index of popup objects, to maintain a global reference if necessary
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  5776
Popup.maxIndex = 0;
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  5777
Popup.objects = {};
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  5778
Popup.objectsById = {};
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  5779
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  5780
// The z-index value that popups will start at
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  5781
Popup.minZIndex = 101;
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  5782
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  5783
// Class names to assign to other objects
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  5784
Popup.screenClass = "PopupScreen";
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  5785
Popup.iframeClass = "PopupIframe";
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  5786
Popup.screenIframeClass = "PopupScreenIframe";
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  5787
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  5788
// CLASS METHODS
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  5789
// --------------------------------------------------------------------
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  5790
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  5791
// Hide all currently-visible non-modal dialogs
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  5792
Popup.hideAll = function() {
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  5793
	for (var i in Popup.objects) {
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  5794
		var p = Popup.objects[i];
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  5795
		if (!p.modal && p.autoHide) {
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  5796
			p.hide();
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  5797
		}
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  5798
	}
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  5799
};
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  5800
// Catch global events as a trigger to hide auto-hide popups
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  5801
Event.add(document, "mouseup", Popup.hideAll, false);
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  5802
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  5803
// A simple class method to show a popup without creating an instance
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  5804
Popup.show = function(divObject, referenceObject, position, options, modal) {
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  5805
	var popup;
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  5806
	if (defined(divObject)) { 
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  5807
		popup = new Popup(divObject);
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  5808
	}
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  5809
	else {
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  5810
		popup = new Popup();
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  5811
		popup.destroyDivOnHide = true;
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  5812
	}
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  5813
	if (defined(referenceObject)) { popup.reference = DOM.resolve(referenceObject); }
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  5814
	if (defined(position)) { popup.position = position; }
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  5815
	if (defined(options) && options!=null && typeof(options)=="object") {
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  5816
		for (var i in options) {
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  5817
			popup[i] = options[i];
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  5818
		}
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  5819
	}
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  5820
	if (typeof(modal)=="boolean") {
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  5821
		popup.modal = modal;
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  5822
	}
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  5823
	popup.destroyObjectsOnHide = true;
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  5824
	popup.show();
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  5825
	return popup;
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  5826
};
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  5827
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  5828
// A simple class method to show a modal popup
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  5829
Popup.showModal = function(divObject, referenceObject, position, options) {
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  5830
	Popup.show(divObject, referenceObject, position, options, true);
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  5831
};
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  5832
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  5833
// A method to retrieve a popup object based on a div ID
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  5834
Popup.get = function(divId) {
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  5835
	if (defined(Popup.objectsById[divId])) {
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  5836
		return Popup.objectsById[divId];
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  5837
	}
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  5838
	return null;
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  5839
};
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  5840
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  5841
// A method to hide a popup based on a div id
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  5842
Popup.hide = function(divId) {
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  5843
	var popup = Popup.get(divId);
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  5844
	if (popup!=null) {
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  5845
		popup.hide();
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  5846
	}
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  5847
};
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  5848
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  5849
// PROTOTYPE PROPERTIES
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  5850
// --------------------------------------------------------------------
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  5851
Popup.prototype.content = null;
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  5852
Popup.prototype.className = "PopupDiv";
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  5853
Popup.prototype.style = null; // Styles to be applied to the DIV
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  5854
Popup.prototype.width = null;
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  5855
Popup.prototype.height = null;
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  5856
Popup.prototype.top = null;
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  5857
Popup.prototype.left = null;
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  5858
Popup.prototype.offsetLeft = 0;
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  5859
Popup.prototype.offsetTop = 0;
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  5860
Popup.prototype.constrainToScreen = true;
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  5861
Popup.prototype.autoHide = true;
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  5862
Popup.prototype.useIframeShim = false; /*@cc_on @*/ /*@if (@_win32) {Popup.prototype.useIframeShim = true;} @end @*/ 
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  5863
Popup.prototype.iframe = null;
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  5864
Popup.prototype.position = null; // vertical: "above top center bottom below", horizontal: "adjacent-left,left,center,right,adjacent-right"
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  5865
Popup.prototype.reference = null;
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  5866
Popup.prototype.modal = false;
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  5867
Popup.prototype.destroyDivOnHide = false;
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  5868
Popup.prototype.destroyObjectsOnHide = false;
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  5869
Popup.prototype.screen = null;
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  5870
Popup.prototype.screenIframeShim = null;
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  5871
Popup.prototype.screenOpacity=.4;
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  5872
Popup.prototype.screenColor="#cccccc";
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  5873
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  5874
// INSTANCE METHODS
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  5875
// --------------------------------------------------------------------
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  5876
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  5877
// Show the popup
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  5878
// --------------------------------------------------------------------
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  5879
Popup.prototype.show = function(options, modal) {
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  5880
	this.modal = this.modal || (typeof(modal)=="boolean" && modal);
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  5881
	if (defined(options) && options!=null && typeof(options)=="object") {
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  5882
		for (var i in options) {
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  5883
			this[i] = options[i];
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  5884
		}
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  5885
	}
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  5886
	this.div = DOM.resolve(this.div);
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  5887
	CSS.setStyle(this.div,'position','absolute');
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  5888
	
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  5889
	// If there is no div pre-defined to use, create one
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  5890
	if (this.div==null) {
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  5891
		this.div = this.createDiv();
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  5892
	}
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  5893
	if (this.content!=null) {
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  5894
		this.div.innerHTML = this.content;
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  5895
		this.content = null;
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  5896
	}
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  5897
	if (this.className!=null) {
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  5898
		this.div.className = this.className;
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  5899
	}
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  5900
	if (this.style!=null) {
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  5901
		this.applyStyle();
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  5902
	}
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  5903
	if (this.width!=null) {
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  5904
		this.div.style.width = this.width+"px";
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  5905
		this.div.style.overflowX="auto";
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  5906
	}
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  5907
	if (this.height!=null) {
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  5908
		this.div.style.height = this.height+"px";
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  5909
		this.div.style.overflowY="auto";
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  5910
	}
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  5911
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  5912
	// Do the actual display - this is a separate method so display transitions can be implemented
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  5913
	this.transition();
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  5914
	
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  5915
	// Make sure clicks on the DIV don't bubble up to the document
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  5916
	this.div.onclick = function(e) { 
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  5917
		Event.cancelBubble(Event.resolve(e));
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  5918
	};
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  5919
	this.div.onmouseup = this.div.onclick;
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  5920
	
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  5921
	// Focus to the DIV if possible	
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  5922
	if (this.modal && this.div.focus) {
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  5923
		this.div.focus();
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  5924
	}
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  5925
};
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  5926
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  5927
// Show the popup but make it modal
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  5928
// --------------------------------------------------------------------
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  5929
Popup.prototype.transition = function() {
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  5930
	if (this.modal) {
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  5931
		this.addScreen();
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  5932
	}
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  5933
	
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  5934
	// Make the DIV displayed but hidden so its size can be measured
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  5935
	CSS.setStyle(this.div,'visibility','hidden');
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  5936
	CSS.setStyle(this.div,'display','block');
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  5937
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  5938
	// Position the popup
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  5939
	this.setPosition();
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  5940
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  5941
	// Add the shim if necessary	
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  5942
	if (this.useIframeShim) {
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  5943
		this.addIframeShim();
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  5944
	}
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  5945
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  5946
	// Make sure the DIV is higher than the shim
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  5947
	this.div.style.zIndex = Popup.minZIndex++;
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  5948
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  5949
	CSS.setStyle(this.div,'display','block');
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  5950
	CSS.setStyle(this.div,'visibility','visible');
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  5951
};
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  5952
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  5953
// Show the popup but make it modal
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  5954
// --------------------------------------------------------------------
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  5955
Popup.prototype.showModal = function(options) {
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  5956
	this.show(options,true);
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  5957
};
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  5958
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  5959
// Apply user styles to the DIV
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  5960
// --------------------------------------------------------------------
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  5961
Popup.prototype.applyStyle = function() {
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  5962
	if (this.div!=null && this.style!=null && typeof(this.style)=="object") {
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  5963
		for (var i in this.style) {
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  5964
			this.div.style[i] = this.style[i];
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  5965
		}
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  5966
	}
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  5967
};
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  5968
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  5969
// Hide the popup
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  5970
// --------------------------------------------------------------------
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  5971
Popup.prototype.hide = function() {
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  5972
	// If this was a temp object creating on-the-fly, then remove objects from the DOM so
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  5973
	// The document doesn't get littered with extra objects
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  5974
	if (this.destroyDivOnHide) {
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  5975
		DOM.removeNode(this.div);
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  5976
		this.div = null;
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  5977
		delete Popup.objects[this.id];
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  5978
	}
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  5979
	else if (this.div!=null) {
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  5980
		CSS.setStyle(this.div,'display','none');
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  5981
	}
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  5982
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  5983
	if (this.destroyObjectsOnHide) {
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  5984
		DOM.removeNode(this.iframe);
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  5985
		DOM.removeNode(this.screen);
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  5986
		DOM.removeNode(this.screenIframeShim);
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  5987
	}
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  5988
	else {
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  5989
		if (this.iframe!=null) {
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  5990
			this.iframe.style.display = "none";
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  5991
		}
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  5992
		if (this.screen!=null) {
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  5993
			this.screen.style.display = "none";
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  5994
		}
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  5995
		if (this.screenIframeShim!=null) {
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  5996
			this.screenIframeShim.style.display = "none";
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  5997
		}
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  5998
	}
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  5999
};
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  6000
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  6001
// Util funcs for position
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  6002
// --------------------------------------------------------------------
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  6003
Popup.prototype.setTop = function(top) {
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  6004
	this.div.style.top = top+"px";
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  6005
};
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  6006
Popup.prototype.setLeft = function(left) {
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  6007
	this.div.style.left = left+"px";
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  6008
};
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  6009
Popup.prototype.getTop = function() {
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  6010
	return parseInt(CSS.getStyle(this.div,"top"),10);
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  6011
};
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  6012
Popup.prototype.getLeft = function() {
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  6013
	return parseInt(CSS.getStyle(this.div,"left"),10);
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  6014
};
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  6015
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  6016
// All the logic to position the popup based on various criteria
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  6017
// --------------------------------------------------------------------
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  6018
Popup.prototype.setPosition = function() {
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  6019
	if (this.position!=null) {
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  6020
		var m = this.position.match(/^(\S+)\s+(\S+)/); 
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  6021
		if (m!=null && m.length==3) {
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  6022
			var v = m[1];
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  6023
			var h = m[2];
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  6024
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  6025
			var ref = this.reference;
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  6026
			if (ref==null) { ref = Screen.getBody(); }
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  6027
			var p = Position.get(ref);
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  6028
			var refTop = p.top;
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  6029
			var refLeft = p.left;
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  6030
			var refWidth = DOM.getOuterWidth(ref);
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  6031
			var refHeight = DOM.getOuterHeight(ref);
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  6032
			
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  6033
			var width = DOM.getOuterWidth(this.div);
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  6034
			var height = DOM.getOuterHeight(this.div);
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  6035
			
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  6036
			var scrollLeft = Screen.getScrollLeft();
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  6037
			var scrollTop = Screen.getScrollTop();
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  6038
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  6039
			// Set vertical position relative to reference object
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  6040
			if (v=="above") { this.setTop(refTop-height+this.offsetTop); }
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  6041
			else if (v=="top") { this.setTop(refTop+this.offsetTop); }
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  6042
			else if (v=="center") { this.setTop(refTop+(refHeight/2)-(height/2)+this.offsetTop); }
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  6043
			else if (v=="bottom") { this.setTop(refTop+refHeight-height+this.offsetTop); }
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  6044
			else if (v=="below") { this.setTop(refTop+refHeight+this.offsetTop); }
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  6045
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  6046
			// Set horizontal position relative to reference object
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  6047
			if (h=="adjacent-left") { this.setLeft(refLeft-width+this.offsetLeft); }
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  6048
			else if (h=="left") { this.setLeft(refLeft+this.offsetLeft); }
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  6049
			else if (h=="center") { this.setLeft(refLeft+(refWidth/2)-(width/2)+this.offsetLeft); }
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  6050
			else if (h=="right") { this.setLeft(refLeft+refWidth-width+this.offsetLeft); }
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  6051
			else if (h=="adjacent-right") { this.setLeft(refLeft+refWidth+this.offsetLeft); }
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  6052
		}
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  6053
	}
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  6054
	else if (this.top==null && this.left==null) {
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  6055
		this.center();
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  6056
	}
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  6057
	else {
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  6058
		if (this.top==null) { this.top=0; }
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  6059
		if (this.left==null) { this.left=0; }
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  6060
		this.div.style.top = this.top+this.offsetTop+"px";
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  6061
		this.div.style.left = this.left+this.offsetLeft+"px";
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  6062
	}
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  6063
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  6064
	// Re-position to make sure it stays on the screen
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  6065
	if (this.constrainToScreen) {
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  6066
		this.fitToScreen();
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  6067
	}
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  6068
};
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  6069
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  6070
// Append an object to the body
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  6071
// --------------------------------------------------------------------
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  6072
Popup.prototype.appendToBody = function(o) {
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  6073
	var body = Screen.getBody();
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  6074
	if (body && body.appendChild) {
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  6075
		body.appendChild(o);
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  6076
	}
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  6077
};
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  6078
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  6079
// Create a new DIV object to be used for a popup
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  6080
// --------------------------------------------------------------------
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  6081
Popup.prototype.createDiv = function() {
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  6082
	if (document.createElement) {
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  6083
		var d = document.createElement("DIV");
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  6084
		d.style.position="absolute";
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  6085
		d.style.display="block";
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  6086
		d.style.visibility="hidden";
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  6087
		this.appendToBody(d);
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  6088
		return d;
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  6089
	}
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  6090
	alert("ERROR: Couldn't create DIV element in Popup.prototype.createDiv()");
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  6091
	return null;
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  6092
};
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  6093
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  6094
// Create a new IFRAME object to be used behind the popup
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  6095
// --------------------------------------------------------------------
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  6096
Popup.prototype.createIframe = function() {
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  6097
	if (document.createElement) {
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  6098
		var i= document.createElement("IFRAME");
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  6099
		i.style.position="absolute";
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  6100
		i.style.display="block";
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  6101
		i.style.visibility="hidden";
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  6102
		i.style.background="none";
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  6103
		this.appendToBody(i);
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  6104
		return i;
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  6105
	}
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  6106
	else {
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  6107
		alert("ERROR: Couldn't create IFRAME object in Popup.prototype.createIframe()");
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  6108
	}
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  6109
};
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  6110
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  6111
// Add an IFRAME shim for the DIV
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  6112
// --------------------------------------------------------------------
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  6113
Popup.prototype.addIframeShim = function() {
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  6114
	if (this.iframe==null) {
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  6115
		this.iframe = this.createIframe();
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  6116
	}
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  6117
	this.iframe.className = Popup.iframeClass;
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  6118
	CSS.setStyle(this.iframe,'top',this.getTop()+"px");
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  6119
	CSS.setStyle(this.iframe,'left',this.getLeft()+"px");
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  6120
	CSS.setStyle(this.iframe,'width',DOM.getOuterWidth(this.div) + "px");
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  6121
	CSS.setStyle(this.iframe,'height',DOM.getOuterHeight(this.div) + "px");
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  6122
	CSS.setStyle(this.iframe,'zIndex',Popup.minZIndex++);
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  6123
	CSS.setStyle(this.iframe,'opacity',0);
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  6124
	CSS.setStyle(this.iframe,'visibility','visible');
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  6125
	CSS.setStyle(this.iframe,'display','block');
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  6126
};
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  6127
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  6128
// Create a "screen" to make a popup modal
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  6129
// --------------------------------------------------------------------
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  6130
Popup.prototype.addScreen = function() {
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  6131
	if (this.screen==null) {
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  6132
		this.screen = this.createDiv();
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  6133
		this.screen.style.top="0px";
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  6134
		this.screen.style.left="0px";
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  6135
		this.screen.style.backgroundColor = this.screenColor;
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  6136
		this.screen.className=Popup.screenClass;;
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  6137
		CSS.setStyle(this.screen,"opacity",this.screenOpacity);
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  6138
		this.screen.onclick = function(e) { Event.cancelBubble(Event.resolve(e)); }
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  6139
	}
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  6140
	if (this.screenIframeShim==null) {
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  6141
		this.screenIframeShim = this.createIframe();
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  6142
		this.screenIframeShim.style.top="0px";
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  6143
		this.screenIframeShim.style.left="0px";
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  6144
		this.screenIframeShim.className=Popup.screenIframeClass;
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  6145
		CSS.setStyle(this.screenIframeShim,"opacity",0);
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  6146
	}
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  6147
	this.screen.style.width = Screen.getDocumentWidth()+"px";
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  6148
	this.screen.style.height = Screen.getDocumentHeight()+"px";
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  6149
	this.screenIframeShim.style.width = Screen.getDocumentWidth()+"px";
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  6150
	this.screenIframeShim.style.height = Screen.getDocumentHeight()+"px";
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  6151
	this.screenIframeShim.style.zIndex = Popup.minZIndex++;
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  6152
	this.screenIframeShim.style.visibility="visible";
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  6153
	this.screenIframeShim.style.display="block";
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  6154
	this.screen.style.zIndex = Popup.minZIndex++;
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  6155
	this.screen.style.visibility="visible";
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  6156
	this.screen.style.display="block";
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  6157
};
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  6158
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  6159
// Re-position the DIV so it stays on the screen
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  6160
// --------------------------------------------------------------------
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  6161
Popup.prototype.fitToScreen = function() {
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  6162
	var width = DOM.getOuterWidth(this.div);
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  6163
	var height = DOM.getOuterHeight(this.div);
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  6164
	var top = this.getTop();
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  6165
	var left = this.getLeft();
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  6166
	
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  6167
	var clientWidth = Screen.getViewportWidth();
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  6168
	var clientHeight = Screen.getViewportHeight();
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  6169
	
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  6170
	var scrollLeft = Screen.getScrollLeft();
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  6171
	var scrollTop = Screen.getScrollTop();
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  6172
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  6173
	if (top-scrollTop+height>clientHeight) {
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  6174
		top = top - ((top+height) - (scrollTop+clientHeight));
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  6175
		this.div.style.top = top + "px";
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  6176
	}
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  6177
	if (left-scrollLeft+width>clientWidth) {
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  6178
		left = left - ((left+width) - (scrollLeft+clientWidth));
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  6179
		this.div.style.left = left + "px";
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  6180
	}
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  6181
	if (top<scrollTop) {
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  6182
		this.div.style.top=scrollTop+"px";
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  6183
	}
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  6184
	if (left<scrollLeft) {
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  6185
		this.div.style.left=scrollLeft+"px";
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  6186
	}
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  6187
};
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  6188
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  6189
// Center the DIV object
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  6190
// --------------------------------------------------------------------
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  6191
Popup.prototype.center = function() {
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  6192
	var left = DOM.getOuterWidth(this.div);
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  6193
	var top = DOM.getOuterHeight(this.div);
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  6194
	if (isNaN(left)) { left=0; }
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  6195
	if (isNaN(top)) { top=0; }	
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  6196
	var clientW = Screen.getViewportWidth();
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  6197
	var clientH = Screen.getViewportHeight();
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  6198
	if (clientW!=null && clientH!=null) {
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  6199
		top = (clientH-top)/2;
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  6200
		left = (clientW-left)/2;
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  6201
	}
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  6202
	top += Screen.getScrollTop();
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  6203
	left += Screen.getScrollLeft();
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  6204
	
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  6205
	this.div.style.top = top+this.offsetTop+"px";
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  6206
	this.div.style.left = left+this.offsetLeft+"px";
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  6207
};
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  6208
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  6209
    //]]>
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  6210
    </script>
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  6211
0
2e8eeb919028 Adding EPL version of configurationengine.
terytkon
parents:
diff changeset
  6212
</head>
2e8eeb919028 Adding EPL version of configurationengine.
terytkon
parents:
diff changeset
  6213
<body>
2e8eeb919028 Adding EPL version of configurationengine.
terytkon
parents:
diff changeset
  6214
2e8eeb919028 Adding EPL version of configurationengine.
terytkon
parents:
diff changeset
  6215
    <h1>Generation summary:</h1>
2e8eeb919028 Adding EPL version of configurationengine.
terytkon
parents:
diff changeset
  6216
    <table class="summary">
3
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  6217
    <tr>
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  6218
        <th class="featureName">Statistics</th>
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  6219
        <th class="featureName"></th>
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  6220
        </tr>
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  6221
    <tr>
0
2e8eeb919028 Adding EPL version of configurationengine.
terytkon
parents:
diff changeset
  6222
        <td>Refs in files</td>
3
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  6223
        <td>48</td>
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  6224
        </tr>
0
2e8eeb919028 Adding EPL version of configurationengine.
terytkon
parents:
diff changeset
  6225
    <tr>
3
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  6226
        <td>Not generated Refs</td>
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  6227
        <td>32</td>
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  6228
        </tr>
0
2e8eeb919028 Adding EPL version of configurationengine.
terytkon
parents:
diff changeset
  6229
    <tr>
2e8eeb919028 Adding EPL version of configurationengine.
terytkon
parents:
diff changeset
  6230
        <th class="featureName" colspan="2">Details</th>
3
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  6231
    </tr>
0
2e8eeb919028 Adding EPL version of configurationengine.
terytkon
parents:
diff changeset
  6232
    <tr>
2e8eeb919028 Adding EPL version of configurationengine.
terytkon
parents:
diff changeset
  6233
        <td>Report generated</td>
3
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  6234
        <td>20.04.2010 19:23:59</td>
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  6235
        </tr>
0
2e8eeb919028 Adding EPL version of configurationengine.
terytkon
parents:
diff changeset
  6236
    <tr>
2e8eeb919028 Adding EPL version of configurationengine.
terytkon
parents:
diff changeset
  6237
        <td>Generation duration</td>
3
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  6238
        <td>1.172</td>
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  6239
        </tr>
0
2e8eeb919028 Adding EPL version of configurationengine.
terytkon
parents:
diff changeset
  6240
    <tr>
2e8eeb919028 Adding EPL version of configurationengine.
terytkon
parents:
diff changeset
  6241
        <td>Generation log</td>
3
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  6242
        <td><a href="file:///C|/Documents%20and%20Settings/teerytko/workspace/cone.trunk/source/scripts/tests/temp/gen_ll3/cone.log">cone log</a></td>
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  6243
        </tr>
0
2e8eeb919028 Adding EPL version of configurationengine.
terytkon
parents:
diff changeset
  6244
    <tr>
2e8eeb919028 Adding EPL version of configurationengine.
terytkon
parents:
diff changeset
  6245
        <th class="featureName" colspan="2">Generation options</th>
2e8eeb919028 Adding EPL version of configurationengine.
terytkon
parents:
diff changeset
  6246
    </tr>
2e8eeb919028 Adding EPL version of configurationengine.
terytkon
parents:
diff changeset
  6247
    <tr>
2e8eeb919028 Adding EPL version of configurationengine.
terytkon
parents:
diff changeset
  6248
        <td align="left">Layers</td>
2e8eeb919028 Adding EPL version of configurationengine.
terytkon
parents:
diff changeset
  6249
        <td align="left">[-1]</td>
3
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  6250
        </tr>
0
2e8eeb919028 Adding EPL version of configurationengine.
terytkon
parents:
diff changeset
  6251
    <tr>
2e8eeb919028 Adding EPL version of configurationengine.
terytkon
parents:
diff changeset
  6252
        <td align="left">Added</td>
2e8eeb919028 Adding EPL version of configurationengine.
terytkon
parents:
diff changeset
  6253
        <td align="left">None</td>
3
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  6254
        </tr>
0
2e8eeb919028 Adding EPL version of configurationengine.
terytkon
parents:
diff changeset
  6255
    <tr>
2e8eeb919028 Adding EPL version of configurationengine.
terytkon
parents:
diff changeset
  6256
        <td align="left">Dryrun</td>
2e8eeb919028 Adding EPL version of configurationengine.
terytkon
parents:
diff changeset
  6257
        <td align="left">False</td>
3
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  6258
        </tr>
0
2e8eeb919028 Adding EPL version of configurationengine.
terytkon
parents:
diff changeset
  6259
    <tr>
2e8eeb919028 Adding EPL version of configurationengine.
terytkon
parents:
diff changeset
  6260
        <td align="left">Verbose</td>
2e8eeb919028 Adding EPL version of configurationengine.
terytkon
parents:
diff changeset
  6261
        <td align="left">3</td>
3
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  6262
        </tr>
0
2e8eeb919028 Adding EPL version of configurationengine.
terytkon
parents:
diff changeset
  6263
    <tr>
2e8eeb919028 Adding EPL version of configurationengine.
terytkon
parents:
diff changeset
  6264
        <td align="left">Overrides</td>
2e8eeb919028 Adding EPL version of configurationengine.
terytkon
parents:
diff changeset
  6265
        <td align="left">None</td>
3
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  6266
        </tr>
0
2e8eeb919028 Adding EPL version of configurationengine.
terytkon
parents:
diff changeset
  6267
    <tr>
2e8eeb919028 Adding EPL version of configurationengine.
terytkon
parents:
diff changeset
  6268
        <td align="left">Project</td>
3
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  6269
        <td align="left">C:\Documents and Settings\teerytko\workspace\cone.trunk\source\scripts\tests\generation_test_project</td>
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  6270
        </tr>
0
2e8eeb919028 Adding EPL version of configurationengine.
terytkon
parents:
diff changeset
  6271
        <tr>
2e8eeb919028 Adding EPL version of configurationengine.
terytkon
parents:
diff changeset
  6272
        <td align="left">Report</td>
2e8eeb919028 Adding EPL version of configurationengine.
terytkon
parents:
diff changeset
  6273
        <td align="left">report.html</td>
3
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  6274
        </tr>
0
2e8eeb919028 Adding EPL version of configurationengine.
terytkon
parents:
diff changeset
  6275
    <tr>
2e8eeb919028 Adding EPL version of configurationengine.
terytkon
parents:
diff changeset
  6276
        <td align="left">Impls</td>
2e8eeb919028 Adding EPL version of configurationengine.
terytkon
parents:
diff changeset
  6277
        <td align="left">None</td>
3
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  6278
        </tr>
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  6279
    <tr>
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  6280
        <td align="left">Tags</td>
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  6281
        <td align="left">{}</td>
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  6282
        </tr>
0
2e8eeb919028 Adding EPL version of configurationengine.
terytkon
parents:
diff changeset
  6283
    <tr>
2e8eeb919028 Adding EPL version of configurationengine.
terytkon
parents:
diff changeset
  6284
        <td align="left">Output</td>
2e8eeb919028 Adding EPL version of configurationengine.
terytkon
parents:
diff changeset
  6285
        <td align="left">output</td>
3
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  6286
        </tr>
0
2e8eeb919028 Adding EPL version of configurationengine.
terytkon
parents:
diff changeset
  6287
    <tr>
2e8eeb919028 Adding EPL version of configurationengine.
terytkon
parents:
diff changeset
  6288
        <td align="left">Configuration</td>
2e8eeb919028 Adding EPL version of configurationengine.
terytkon
parents:
diff changeset
  6289
        <td align="left">root.confml</td>
2e8eeb919028 Adding EPL version of configurationengine.
terytkon
parents:
diff changeset
  6290
        </tr>
2e8eeb919028 Adding EPL version of configurationengine.
terytkon
parents:
diff changeset
  6291
    </table>
2e8eeb919028 Adding EPL version of configurationengine.
terytkon
parents:
diff changeset
  6292
    
3
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  6293
    <h1>Generation Outputs:</h1><br>
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  6294
    <p>Predefined filters:<br>
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  6295
        <FORM>
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  6296
        <INPUT type="button" value="Refs with no implementation" onclick="tf_outputs.SetFilterValue(1,'None');tf_outputs.SetFilterValue(0, '');tf_outputs.SetFilterValue(2, '');tf_outputs.Filter();return false;" name="Refs with no implementation"">
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  6297
        <br>
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  6298
        <INPUT type="button" value="Refs with not output" onclick="tf_outputs.SetFilterValue(2, 'None');tf_outputs.SetFilterValue(0, '');tf_outputs.SetFilterValue(1, '');tf_outputs.Filter();return false;" name="Refs with not output">
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  6299
        </FORM>
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  6300
    </p>
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  6301
    <table class="report" id="outputs">
0
2e8eeb919028 Adding EPL version of configurationengine.
terytkon
parents:
diff changeset
  6302
    <tr>
3
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  6303
        <th class="featureName">Settings</th>
0
2e8eeb919028 Adding EPL version of configurationengine.
terytkon
parents:
diff changeset
  6304
        <th class="featureName">Impl. file</th>
3
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  6305
        <th class="featureName">Outputs</th>
0
2e8eeb919028 Adding EPL version of configurationengine.
terytkon
parents:
diff changeset
  6306
    </tr>
3
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  6307
0
2e8eeb919028 Adding EPL version of configurationengine.
terytkon
parents:
diff changeset
  6308
    
3
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  6309
0
2e8eeb919028 Adding EPL version of configurationengine.
terytkon
parents:
diff changeset
  6310
    
3
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  6311
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  6312
    <!-- process the output files -->    
0
2e8eeb919028 Adding EPL version of configurationengine.
terytkon
parents:
diff changeset
  6313
    
3
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  6314
    <tr>
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  6315
        <td>
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  6316
        </td>
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  6317
        <td>
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  6318
            Rule:
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  6319
          
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  6320
           custom/implml/seq_tempvar.implml:15
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  6321
        
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  6322
        </td>
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  6323
        <td>
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  6324
        
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  6325
           TempFeature2.FilesToCopy
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  6326
        
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  6327
        </td>
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  6328
    </tr>
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  6329
    <tr>
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  6330
        <td>
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  6331
        </td>
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  6332
        <td>
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  6333
            Rule:
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  6334
          
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  6335
           custom/implml/simple_tempvars.implml:12
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  6336
        
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  6337
        </td>
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  6338
        <td>
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  6339
        
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  6340
           TempFeature.String
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  6341
        
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  6342
        </td>
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  6343
    </tr>
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  6344
    <tr>
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  6345
        <td>
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  6346
        </td>
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  6347
        <td>
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  6348
            Rule:
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  6349
          
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  6350
           custom/implml/simple_tempvars.implml:13
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  6351
        
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  6352
        </td>
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  6353
        <td>
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  6354
        
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  6355
           TempFeature.Int
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  6356
        
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  6357
        </td>
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  6358
    </tr>
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  6359
    <tr>
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  6360
        <td>
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  6361
        </td>
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  6362
        <td>
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  6363
            Rule:
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  6364
          
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  6365
           custom/implml/simple_tempvars.implml:14
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  6366
        
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  6367
        </td>
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  6368
        <td>
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  6369
        
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  6370
           TempFeature.Real
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  6371
        
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  6372
        </td>
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  6373
    </tr>
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  6374
    <tr>
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  6375
        <td>
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  6376
                       <B>
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  6377
           MultiSelectionTest.MultiSelectionSetting
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  6378
        </B><br>
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  6379
        </td>
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  6380
        <td>
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  6381
          
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  6382
           base/implml/multiselection.templateml:2
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  6383
        
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  6384
        </td>
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  6385
        <td>
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  6386
        
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  6387
           output/multiselection.txt
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  6388
        
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  6389
        </td>
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  6390
    </tr>
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  6391
    <tr>
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  6392
        <td>
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  6393
                       <B>
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  6394
           NameIdMappingTestTargetSettings.Selection
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  6395
        </B><br>
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  6396
                       <B>
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  6397
           NameIdMappingTestTargetSettings.Int
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  6398
        </B><br>
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  6399
                       <B>
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  6400
           NameIdMappingTestTargetSettings.Real
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  6401
        </B><br>
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  6402
                       <B>
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  6403
           NameIdMappingTestTargetSettings.Sequence.Selection
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  6404
        </B><br>
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  6405
                       <B>
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  6406
           NameIdMappingTestTargetSettings.Sequence.Int
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  6407
        </B><br>
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  6408
                       <B>
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  6409
           NameIdMappingTestTargetSettings.Sequence.Real
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  6410
        </B><br>
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  6411
        </td>
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  6412
        <td>
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  6413
          
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  6414
           base/implml/name_id_mapping_test.templateml:2
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  6415
        
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  6416
        </td>
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  6417
        <td>
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  6418
        
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  6419
           output/name_id_mapping_test.txt
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  6420
        
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  6421
        </td>
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  6422
    </tr>
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  6423
    <tr>
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  6424
        <td>
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  6425
                       <i>
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  6426
           TempFeature.String
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  6427
        </i><br>
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  6428
        </td>
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  6429
        <td>
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  6430
          
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  6431
           custom/implml/conditional_container.implml:12
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  6432
        
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  6433
        </td>
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  6434
        <td>
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  6435
        
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  6436
           output/content/template_string_condition_true.txt
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  6437
        
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  6438
        </td>
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  6439
    </tr>
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  6440
    <tr>
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  6441
        <td>
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  6442
        </td>
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  6443
        <td>
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  6444
          
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  6445
           custom/implml/conditional_container.implml:34
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  6446
        
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  6447
        </td>
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  6448
        <td>
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  6449
        
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  6450
           output/sis/app1.txt
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  6451
        
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  6452
        </td>
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  6453
    </tr>
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  6454
    <tr>
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  6455
        <td>
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  6456
                       <B>
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  6457
           BasicSettingTypesTest.IntSetting
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  6458
        </B><br>
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  6459
        </td>
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  6460
        <td>
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  6461
          
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  6462
           custom/implml/impl_override_test.templateml:2
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  6463
        
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  6464
        </td>
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  6465
        <td>
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  6466
        
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  6467
           output/impl_override_test.txt
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  6468
        
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  6469
        </td>
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  6470
    </tr>
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  6471
    <tr>
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  6472
        <td>
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  6473
        </td>
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  6474
        <td>
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  6475
          
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  6476
           custom/implml/invocation_phase_test.implml:6
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  6477
        
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  6478
        </td>
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  6479
        <td>
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  6480
        
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  6481
           output/content/invocation_phase_test_common_ns.txt
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  6482
        
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  6483
        </td>
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  6484
    </tr>
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  6485
    <tr>
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  6486
        <td>
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  6487
        </td>
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  6488
        <td>
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  6489
          
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  6490
           custom/implml/invocation_phase_test.implml:25
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  6491
        
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  6492
        </td>
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  6493
        <td>
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  6494
        
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  6495
           output/content/invocation_phase_test_contentml_ns.txt
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  6496
        
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  6497
        </td>
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  6498
    </tr>
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  6499
    <tr>
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  6500
        <td>
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  6501
                       <i>
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  6502
           TempFeatureMissingFile.Test1
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  6503
        </i><br>
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  6504
                       <i>
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  6505
           TempFeatureMissingFile.Test2
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  6506
        </i><br>
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  6507
        </td>
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  6508
        <td>
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  6509
          
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  6510
           custom/implml/missing_file_in_report_test.implml:11
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  6511
        
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  6512
        </td>
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  6513
        <td>
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  6514
        
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  6515
           output/content/missing_output_file_test1.txt
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  6516
        
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  6517
        </td>
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  6518
    </tr>
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  6519
    <tr>
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  6520
        <td>
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  6521
                       <i>
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  6522
           TempFeatureMissingFile.Test1
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  6523
        </i><br>
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  6524
                       <i>
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  6525
           TempFeatureMissingFile.Test2
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  6526
        </i><br>
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  6527
        </td>
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  6528
        <td>
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  6529
          
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  6530
           custom/implml/missing_file_in_report_test.implml:11
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  6531
        
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  6532
        </td>
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  6533
        <td>
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  6534
        
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  6535
           output/content/missing_output_file_test2.txt
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  6536
        
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  6537
        </td>
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  6538
    </tr>
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  6539
    <tr>
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  6540
        <td>
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  6541
        </td>
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  6542
        <td>
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  6543
          
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  6544
           custom/implml/output_override_test.implml:6
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  6545
        
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  6546
        </td>
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  6547
        <td>
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  6548
        
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  6549
           output/test_subdir/output_subdir_test.txt
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  6550
        
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  6551
        </td>
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  6552
    </tr>
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  6553
    <tr>
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  6554
        <td>
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  6555
        </td>
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  6556
        <td>
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  6557
          
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  6558
           custom/implml/output_override_test.implml:16
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  6559
        
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  6560
        </td>
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  6561
        <td>
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  6562
        
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  6563
           output/overridden_output/output_rootdir_test.txt
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  6564
        
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  6565
        </td>
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  6566
    </tr>
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  6567
    <tr>
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  6568
        <td>
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  6569
        </td>
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  6570
        <td>
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  6571
          
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  6572
           custom/implml/output_override_test.implml:27
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  6573
        
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  6574
        </td>
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  6575
        <td>
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  6576
        
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  6577
           output/overridden_output/test_subdir/output_rootdir_test.txt
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  6578
        
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  6579
        </td>
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  6580
    </tr>
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  6581
    <tr>
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  6582
        <td>
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  6583
                       <B>
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  6584
           TempFeature2.FilesToCopy.FilePath
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  6585
        </B><br>
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  6586
        </td>
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  6587
        <td>
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  6588
          
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  6589
           custom/implml/seq_tempvar.implml:21
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  6590
        
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  6591
        </td>
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  6592
        <td>
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  6593
        
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  6594
           output/content/temp_seq_test/invocation_phase_test_1.txt
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  6595
        
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  6596
        </td>
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  6597
    </tr>
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  6598
    <tr>
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  6599
        <td>
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  6600
                       <B>
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  6601
           TempFeature2.FilesToCopy.FilePath
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  6602
        </B><br>
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  6603
        </td>
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  6604
        <td>
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  6605
          
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  6606
           custom/implml/seq_tempvar.implml:21
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  6607
        
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  6608
        </td>
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  6609
        <td>
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  6610
        
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  6611
           output/content/temp_seq_test/invocation_phase_test_2.txt
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  6612
        
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  6613
        </td>
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  6614
    </tr>
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  6615
    <tr>
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  6616
        <td>
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  6617
                       <i>
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  6618
           TempFeature.String
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  6619
        </i><br>
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  6620
                       <i>
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  6621
           TempFeature.Int
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  6622
        </i><br>
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  6623
                       <i>
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  6624
           TempFeature.Real
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  6625
        </i><br>
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  6626
                       <i>
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  6627
           TempFeature.Boolean
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  6628
        </i><br>
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  6629
        </td>
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  6630
        <td>
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  6631
          
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  6632
           custom/implml/simple_tempvars.implml:18
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  6633
        
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  6634
        </td>
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  6635
        <td>
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  6636
        
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  6637
           output/content/simple_tempvars_test.txt
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  6638
        
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  6639
        </td>
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  6640
    </tr>
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  6641
    <tr>
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  6642
        <td>
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  6643
        </td>
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  6644
        <td>
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  6645
          
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  6646
           custom/implml/invocation_phase_test.implml:15
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  6647
        
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  6648
        </td>
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  6649
        <td>
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  6650
        
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  6651
           output/content/invocation_phase_test_common_ns.txt
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  6652
        
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  6653
        </td>
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  6654
    </tr>
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  6655
    <tr>
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  6656
        <td>
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  6657
        </td>
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  6658
        <td>
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  6659
          
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  6660
           custom/implml/invocation_phase_test.implml:31
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  6661
        
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  6662
        </td>
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  6663
        <td>
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  6664
        
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  6665
           output/content/invocation_phase_test_contentml_ns.txt
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  6666
        
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  6667
        </td>
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  6668
    </tr>
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  6669
    <tr>
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  6670
        <td>
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  6671
        </td>
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  6672
        <td>
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  6673
            Rule:
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  6674
          
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  6675
           custom/implml/missing_file_in_report_test.implml:28
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  6676
        
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  6677
        </td>
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  6678
        <td>
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  6679
        
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  6680
           TempFeatureMissingFile.Test1
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  6681
        
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  6682
        </td>
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  6683
    </tr>
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  6684
    <tr>
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  6685
        <td>
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  6686
        </td>
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  6687
        <td>
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  6688
            Rule:
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  6689
          
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  6690
           custom/implml/missing_file_in_report_test.implml:29
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  6691
        
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  6692
        </td>
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  6693
        <td>
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  6694
        
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  6695
           TempFeatureMissingFile.Test2
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  6696
        
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  6697
        </td>
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  6698
    </tr>
0
2e8eeb919028 Adding EPL version of configurationengine.
terytkon
parents:
diff changeset
  6699
            
3
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  6700
    <!-- process the refs with no output -->
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  6701
    <tr>
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  6702
        <td>
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  6703
          <B>
0
2e8eeb919028 Adding EPL version of configurationengine.
terytkon
parents:
diff changeset
  6704
            
3
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  6705
           BasicSettingTypesTest.StringSetting
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  6706
        
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  6707
          </B><br>
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  6708
        </td>
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  6709
        <td>
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  6710
            <span class="red">None</span><br>
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  6711
        </td>
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  6712
        <td>
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  6713
            <span class="red">None</span><br> 
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  6714
        </td>
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  6715
    </tr>
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  6716
    <tr>
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  6717
        <td>
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  6718
          <B>
0
2e8eeb919028 Adding EPL version of configurationengine.
terytkon
parents:
diff changeset
  6719
            
3
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  6720
           Feature1.SequenceSetting
0
2e8eeb919028 Adding EPL version of configurationengine.
terytkon
parents:
diff changeset
  6721
        
3
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  6722
          </B><br>
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  6723
        </td>
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  6724
        <td>
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  6725
            <span class="red">None</span><br>
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  6726
        </td>
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  6727
        <td>
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  6728
            <span class="red">None</span><br> 
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  6729
        </td>
0
2e8eeb919028 Adding EPL version of configurationengine.
terytkon
parents:
diff changeset
  6730
    </tr>
3
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  6731
    <tr>
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  6732
        <td>
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  6733
          <B>
0
2e8eeb919028 Adding EPL version of configurationengine.
terytkon
parents:
diff changeset
  6734
            
3
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  6735
           Feature1.SequenceSetting.BooleanSubSetting
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  6736
        
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  6737
          </B><br>
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  6738
        </td>
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  6739
        <td>
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  6740
            <span class="red">None</span><br>
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  6741
        </td>
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  6742
        <td>
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  6743
            <span class="red">None</span><br> 
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  6744
        </td>
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  6745
    </tr>
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  6746
    <tr>
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  6747
        <td>
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  6748
          <B>
0
2e8eeb919028 Adding EPL version of configurationengine.
terytkon
parents:
diff changeset
  6749
            
3
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  6750
           Feature1.SequenceSetting.IntSubSetting
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  6751
        
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  6752
          </B><br>
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  6753
        </td>
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  6754
        <td>
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  6755
            <span class="red">None</span><br>
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  6756
        </td>
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  6757
        <td>
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  6758
            <span class="red">None</span><br> 
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  6759
        </td>
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  6760
    </tr>
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  6761
    <tr>
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  6762
        <td>
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  6763
          <B>
0
2e8eeb919028 Adding EPL version of configurationengine.
terytkon
parents:
diff changeset
  6764
            
3
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  6765
           Feature1.SequenceSetting.RealSubSetting
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  6766
        
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  6767
          </B><br>
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  6768
        </td>
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  6769
        <td>
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  6770
            <span class="red">None</span><br>
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  6771
        </td>
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  6772
        <td>
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  6773
            <span class="red">None</span><br> 
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  6774
        </td>
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  6775
    </tr>
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  6776
    <tr>
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  6777
        <td>
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  6778
          <B>
0
2e8eeb919028 Adding EPL version of configurationengine.
terytkon
parents:
diff changeset
  6779
            
3
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  6780
           Feature1.SequenceSetting.SelectionSubSetting
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  6781
        
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  6782
          </B><br>
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  6783
        </td>
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  6784
        <td>
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  6785
            <span class="red">None</span><br>
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  6786
        </td>
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  6787
        <td>
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  6788
            <span class="red">None</span><br> 
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  6789
        </td>
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  6790
    </tr>
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  6791
    <tr>
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  6792
        <td>
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  6793
          <B>
0
2e8eeb919028 Adding EPL version of configurationengine.
terytkon
parents:
diff changeset
  6794
            
3
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  6795
           Feature1.SequenceSetting.StringSubSetting
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  6796
        
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  6797
          </B><br>
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  6798
        </td>
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  6799
        <td>
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  6800
            <span class="red">None</span><br>
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  6801
        </td>
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  6802
        <td>
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  6803
            <span class="red">None</span><br> 
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  6804
        </td>
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  6805
    </tr>
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  6806
    <tr>
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  6807
        <td>
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  6808
          <B>
0
2e8eeb919028 Adding EPL version of configurationengine.
terytkon
parents:
diff changeset
  6809
            
3
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  6810
           NameIdMappingTestSourceSequences.StringSequence
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  6811
        
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  6812
          </B><br>
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  6813
        </td>
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  6814
        <td>
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  6815
            <span class="red">None</span><br>
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  6816
        </td>
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  6817
        <td>
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  6818
            <span class="red">None</span><br> 
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  6819
        </td>
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  6820
    </tr>
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  6821
    <tr>
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  6822
        <td>
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  6823
          <B>
0
2e8eeb919028 Adding EPL version of configurationengine.
terytkon
parents:
diff changeset
  6824
            
3
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  6825
           NameIdMappingTestSourceSequences.StringSequence.Value
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  6826
        
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  6827
          </B><br>
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  6828
        </td>
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  6829
        <td>
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  6830
            <span class="red">None</span><br>
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  6831
        </td>
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  6832
        <td>
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  6833
            <span class="red">None</span><br> 
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  6834
        </td>
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  6835
    </tr>
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  6836
    <tr>
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  6837
        <td>
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  6838
          <B>
0
2e8eeb919028 Adding EPL version of configurationengine.
terytkon
parents:
diff changeset
  6839
            
3
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  6840
           NameIdMappingTestSourceSequences.StringToIntSequence
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  6841
        
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  6842
          </B><br>
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  6843
        </td>
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  6844
        <td>
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  6845
            <span class="red">None</span><br>
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  6846
        </td>
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  6847
        <td>
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  6848
            <span class="red">None</span><br> 
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  6849
        </td>
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  6850
    </tr>
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  6851
    <tr>
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  6852
        <td>
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  6853
          <B>
0
2e8eeb919028 Adding EPL version of configurationengine.
terytkon
parents:
diff changeset
  6854
            
3
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  6855
           NameIdMappingTestSourceSequences.StringToIntSequence.Name
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  6856
        
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  6857
          </B><br>
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  6858
        </td>
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  6859
        <td>
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  6860
            <span class="red">None</span><br>
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  6861
        </td>
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  6862
        <td>
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  6863
            <span class="red">None</span><br> 
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  6864
        </td>
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  6865
    </tr>
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  6866
    <tr>
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  6867
        <td>
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  6868
          <B>
0
2e8eeb919028 Adding EPL version of configurationengine.
terytkon
parents:
diff changeset
  6869
            
3
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  6870
           NameIdMappingTestSourceSequences.StringToIntSequence.Value
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  6871
        
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  6872
          </B><br>
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  6873
        </td>
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  6874
        <td>
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  6875
            <span class="red">None</span><br>
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  6876
        </td>
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  6877
        <td>
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  6878
            <span class="red">None</span><br> 
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  6879
        </td>
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  6880
    </tr>
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  6881
    <tr>
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  6882
        <td>
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  6883
          <B>
0
2e8eeb919028 Adding EPL version of configurationengine.
terytkon
parents:
diff changeset
  6884
            
3
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  6885
           NameIdMappingTestSourceSequences.StringToRealSequence
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  6886
        
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  6887
          </B><br>
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  6888
        </td>
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  6889
        <td>
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  6890
            <span class="red">None</span><br>
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  6891
        </td>
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  6892
        <td>
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  6893
            <span class="red">None</span><br> 
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  6894
        </td>
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  6895
    </tr>
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  6896
    <tr>
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  6897
        <td>
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  6898
          <B>
0
2e8eeb919028 Adding EPL version of configurationengine.
terytkon
parents:
diff changeset
  6899
            
3
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  6900
           NameIdMappingTestSourceSequences.StringToRealSequence.Name
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  6901
        
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  6902
          </B><br>
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  6903
        </td>
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  6904
        <td>
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  6905
            <span class="red">None</span><br>
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  6906
        </td>
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  6907
        <td>
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  6908
            <span class="red">None</span><br> 
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  6909
        </td>
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  6910
    </tr>
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  6911
    <tr>
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  6912
        <td>
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  6913
          <B>
0
2e8eeb919028 Adding EPL version of configurationengine.
terytkon
parents:
diff changeset
  6914
            
3
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  6915
           NameIdMappingTestSourceSequences.StringToRealSequence.Value
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  6916
        
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  6917
          </B><br>
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  6918
        </td>
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  6919
        <td>
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  6920
            <span class="red">None</span><br>
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  6921
        </td>
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  6922
        <td>
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  6923
            <span class="red">None</span><br> 
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  6924
        </td>
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  6925
    </tr>
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  6926
    <tr>
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  6927
        <td>
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  6928
          <B>
0
2e8eeb919028 Adding EPL version of configurationengine.
terytkon
parents:
diff changeset
  6929
            
3
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  6930
           NameIdMappingTestTargetSettings.Sequence
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  6931
        
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  6932
          </B><br>
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  6933
        </td>
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  6934
        <td>
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  6935
            <span class="red">None</span><br>
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  6936
        </td>
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  6937
        <td>
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  6938
            <span class="red">None</span><br> 
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  6939
        </td>
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  6940
    </tr>
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  6941
    <tr>
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  6942
        <td>
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  6943
          <B>
0
2e8eeb919028 Adding EPL version of configurationengine.
terytkon
parents:
diff changeset
  6944
            
3
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  6945
           SequenceSettingTest.SequenceSetting
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  6946
        
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  6947
          </B><br>
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  6948
        </td>
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  6949
        <td>
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  6950
            <span class="red">None</span><br>
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  6951
        </td>
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  6952
        <td>
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  6953
            <span class="red">None</span><br> 
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  6954
        </td>
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  6955
    </tr>
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  6956
    <tr>
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  6957
        <td>
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  6958
          <B>
0
2e8eeb919028 Adding EPL version of configurationengine.
terytkon
parents:
diff changeset
  6959
            
3
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  6960
           SequenceSettingTest.SequenceSetting.BooleanSubSetting
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  6961
        
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  6962
          </B><br>
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  6963
        </td>
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  6964
        <td>
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  6965
            <span class="red">None</span><br>
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  6966
        </td>
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  6967
        <td>
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  6968
            <span class="red">None</span><br> 
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  6969
        </td>
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  6970
    </tr>
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  6971
    <tr>
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  6972
        <td>
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  6973
          <B>
0
2e8eeb919028 Adding EPL version of configurationengine.
terytkon
parents:
diff changeset
  6974
            
3
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  6975
           SequenceSettingTest.SequenceSetting.FileSubSetting.localPath
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  6976
        
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  6977
          </B><br>
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  6978
        </td>
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  6979
        <td>
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  6980
            <span class="red">None</span><br>
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  6981
        </td>
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  6982
        <td>
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  6983
            <span class="red">None</span><br> 
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  6984
        </td>
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  6985
    </tr>
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  6986
    <tr>
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  6987
        <td>
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  6988
          <B>
0
2e8eeb919028 Adding EPL version of configurationengine.
terytkon
parents:
diff changeset
  6989
            
3
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  6990
           SequenceSettingTest.SequenceSetting.FileSubSetting.targetPath
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  6991
        
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  6992
          </B><br>
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  6993
        </td>
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  6994
        <td>
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  6995
            <span class="red">None</span><br>
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  6996
        </td>
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  6997
        <td>
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  6998
            <span class="red">None</span><br> 
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  6999
        </td>
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  7000
    </tr>
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  7001
    <tr>
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  7002
        <td>
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  7003
          <B>
0
2e8eeb919028 Adding EPL version of configurationengine.
terytkon
parents:
diff changeset
  7004
            
3
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  7005
           SequenceSettingTest.SequenceSetting.FolderSubSetting.localPath
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  7006
        
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  7007
          </B><br>
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  7008
        </td>
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  7009
        <td>
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  7010
            <span class="red">None</span><br>
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  7011
        </td>
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  7012
        <td>
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  7013
            <span class="red">None</span><br> 
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  7014
        </td>
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  7015
    </tr>
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  7016
    <tr>
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  7017
        <td>
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  7018
          <B>
0
2e8eeb919028 Adding EPL version of configurationengine.
terytkon
parents:
diff changeset
  7019
            
3
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  7020
           SequenceSettingTest.SequenceSetting.FolderSubSetting.targetPath
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  7021
        
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  7022
          </B><br>
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  7023
        </td>
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  7024
        <td>
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  7025
            <span class="red">None</span><br>
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  7026
        </td>
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  7027
        <td>
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  7028
            <span class="red">None</span><br> 
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  7029
        </td>
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  7030
    </tr>
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  7031
    <tr>
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  7032
        <td>
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  7033
          <B>
0
2e8eeb919028 Adding EPL version of configurationengine.
terytkon
parents:
diff changeset
  7034
            
3
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  7035
           SequenceSettingTest.SequenceSetting.IntSubSetting
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  7036
        
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  7037
          </B><br>
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  7038
        </td>
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  7039
        <td>
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  7040
            <span class="red">None</span><br>
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  7041
        </td>
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  7042
        <td>
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  7043
            <span class="red">None</span><br> 
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  7044
        </td>
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  7045
    </tr>
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  7046
    <tr>
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  7047
        <td>
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  7048
          <B>
0
2e8eeb919028 Adding EPL version of configurationengine.
terytkon
parents:
diff changeset
  7049
            
3
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  7050
           SequenceSettingTest.SequenceSetting.RealSubSetting
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  7051
        
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  7052
          </B><br>
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  7053
        </td>
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  7054
        <td>
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  7055
            <span class="red">None</span><br>
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  7056
        </td>
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  7057
        <td>
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  7058
            <span class="red">None</span><br> 
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  7059
        </td>
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  7060
    </tr>
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  7061
    <tr>
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  7062
        <td>
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  7063
          <B>
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  7064
            
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  7065
           SequenceSettingTest.SequenceSetting.SelectionSubSetting
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  7066
        
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  7067
          </B><br>
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  7068
        </td>
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  7069
        <td>
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  7070
            <span class="red">None</span><br>
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  7071
        </td>
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  7072
        <td>
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  7073
            <span class="red">None</span><br> 
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  7074
        </td>
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  7075
    </tr>
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  7076
    <tr>
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  7077
        <td>
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  7078
          <B>
0
2e8eeb919028 Adding EPL version of configurationengine.
terytkon
parents:
diff changeset
  7079
            
3
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  7080
           SequenceSettingTest.SequenceSetting.StringSubSetting
0
2e8eeb919028 Adding EPL version of configurationengine.
terytkon
parents:
diff changeset
  7081
        
3
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  7082
          </B><br>
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  7083
        </td>
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  7084
        <td>
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  7085
            <span class="red">None</span><br>
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  7086
        </td>
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  7087
        <td>
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  7088
            <span class="red">None</span><br> 
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  7089
        </td>
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  7090
    </tr>
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  7091
0
2e8eeb919028 Adding EPL version of configurationengine.
terytkon
parents:
diff changeset
  7092
    </table>
3
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  7093
        
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  7094
    <!-- Create extra data divs only when debug is on -->        
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  7095
     <!-- verbose 3 -->
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  7096
        
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  7097
    <script language="javascript" type="text/javascript">
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  7098
        //<![CDATA[
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  7099
             var output_Props =  {  
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  7100
                     paging: false,
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  7101
                     highlight_keywords: true,                      
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  7102
                     rows_counter: true,  
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  7103
                     rows_counter_text: "Rows:",  
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  7104
                     btn_reset: true,  
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  7105
                     loader: true,  
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  7106
                     loader_text: "Filtering data..."  
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  7107
                 }; 
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  7108
            setFilterGrid("outputs", output_Props);
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  7109
            
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  7110
            function Showpopup(item_over, popup_ref)
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  7111
            {
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  7112
                Popup.show(popup_ref, item_over,'top left', {'offsetTop':20});
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  7113
            } 
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  7114
        //]]>
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  7115
    </script>
e7e0ae78773e ConE 1.2.11 release
m2lahtel
parents: 0
diff changeset
  7116
0
2e8eeb919028 Adding EPL version of configurationengine.
terytkon
parents:
diff changeset
  7117
    
2e8eeb919028 Adding EPL version of configurationengine.
terytkon
parents:
diff changeset
  7118
</body>
2e8eeb919028 Adding EPL version of configurationengine.
terytkon
parents:
diff changeset
  7119
</html>