/*
* JavaScript Virtual Keyboard (ATM-style numpad variant), version 2.3
*
* Copyright (C) 2006-2007 Dmitriy Khudorozhkov
*
* This software is provided "as-is", without any express or implied warranty.
* In no event will the author be held liable for any damages arising from the
* use of this software.
*
* Permission is granted to anyone to use this software for any purpose,
* including commercial applications, and to alter it and redistribute it
* freely, subject to the following restrictions:
*
* 1. The origin of this software must not be misrepresented; you must not
* claim that you wrote the original software. If you use this software
* in a product, an acknowledgment in the product documentation would be
* appreciated but is not required.
*
* 2. Altered source versions must be plainly marked as such, and must not be
* misrepresented as being the original software.
*
* 3. This notice may not be removed or altered from any source distribution.
*
* - Dmitriy Khudorozhkov, kh_dmitry2001@
*/
function VATMpad(container_id, callback_ref, font_name, font_size,
font_color, bg_color, key_color, border_color,
show_click, click_font_color, click_bg_color,
click_border_color, do_embed)
{
return this._construct(container_id, callback_ref, font_name, font_size,
font_color, bg_color, key_color, border_color,
show_click, click_font_color, click_bg_color,
click_border_color, do_embed);
}
= {
kbArray: [],
_setup_event: function(elem, eventType, handler)
{
return ( ? ("on" + eventType, handler) : (() ? (eventType, handler, false) : null));
},
_start_flash: function(in_el)
{
function getColor(str, posOne, posTwo)
{
if(/rgb\((\d+),\s(\d+),\s(\d+)\)/.exec(str)) // try to detect Mozilla-style rgb value.
{
switch(posOne)
{
case 1: return parseInt(RegExp.$1, 10);
case 2: return parseInt(RegExp.$2, 10);
case 3: return parseInt(RegExp.$3, 10);
default: return 0;
}
}
else // standard (#xxxxxx or #xxx) way
return == 4 ? parseInt((posOne, 1) + (posOne, 1), 16) : parseInt((posTwo, 2), 16);
}
function getR(color_string)
{ return getColor(color_string, 1, 1); }
function getG(color_string)
{ return getColor(color_string, 2, 3); }
function getB(color_string)
{ return getColor(color_string, 3, 5); }
var el = in_el.time ? in_el : (in_el.company && in_el. ? in_el.company : null);
if(el)
{
= 0;
clearInterval();
}
var vkb = this;
var ftc = , bgc = , brc = ;
// Special fixes for simple/dead/modifier keys:
if(in_el.dead)
ftc = ;
if(((in_el.innerHTML == "Shift") && ) || ((in_el.innerHTML == "Caps") && ) || ((in_el.innerHTML == "AltGr") && ))
bgc = ;
// Extract base color values:
var fr = getR(ftc), fg = getG(ftc), fb = getB(ftc);
var kr = getR(bgc), kg = getG(bgc), kb = getB(bgc);
var br = getR(brc), bg = getG(brc), bb = getB(brc);
// Extract flash color values:
var f_r = getR(), f_g = getG(), f_b = getB();
var k_r = getR(), k_g = getG(), k_b = getB();
var b_r = getR(), b_g = getG(), b_b = getB();
var _shift_colors = function()
{
function dec2hex(dec)
{
var hexChars = "0123456789ABCDEF";
var a = dec % 16;
var b = (dec - a) / 16;
return (b) + (a) + "";
}
in_el.time = !in_el.time ? 10 : (in_el.time - 1);
function calc_color(start, end)
{ return (end - (in_el.time / 10) * (end - start)); }
var t_f_r = calc_color(f_r, fr), t_f_g = calc_color(f_g, fg), t_f_b = calc_color(f_b, fb);
var t_k_r = calc_color(k_r, kr), t_k_g = calc_color(k_g, kg), t_k_b = calc_color(k_b, kb);
var t_b_r = calc_color(b_r, br), t_b_g = calc_color(b_g, bg), t_b_b = calc_color(b_b, bb);
in_el. = "#" + dec2hex(t_f_r) + dec2hex(t_f_g) + dec2hex(t_f_b);
in_el. = "#" + dec2hex(t_b_r) + dec2hex(t_b_g) + dec2hex(t_b_b);
in_el. = "#" + dec2hex(t_k_r) + dec2hex(t_k_g) + dec2hex(t_k_b);
if(!in_el.time)
{
clearInterval(in_el.timer);
return;
}
};
_shift_colors();
in_el.timer = (_shift_colors, 50);
},
_setup_style: function(obj, top, left, width, height, position, border_color, bg_color, line_height, font_size, font_weight, padding_left, padding_right)
{
var os = ;
if(top) = top;
if(left) = left;
if(width) = width;
if(height) = height;
if(position) = position;
if(border_color) = "1px solid " + border_color;
if(bg_color) = bg_color;
= "center";
if(line_height) = line_height;
if(font_size) = font_size;
= font_weight || "bold";
if(padding_left) = padding_left;
if(padding_right) = padding_right;
},
_setup_key: function(parent, id, top, left, width, height, border_color, bg_color, line_height, font_size, font_weight, padding_left, padding_right)
{
var _id = + id;
var exists = (_id);
var key = exists ? : ("DIV");
this._setup_style(key, top, left, width, height, "absolute");
var key_sub = exists || ("DIV");
(key_sub); (key);
this._setup_style(key_sub, "", "", "", line_height, "relative", border_color, bg_color, line_height, font_size, font_weight, padding_left, padding_right);
key_sub.id = _id;
if(!exists) this._setup_event(key_sub, 'mousedown', this._generic_callback_proc);
return key_sub;
},
_findX: function(obj)
{ return (obj && ) ? parseFloat() : 0; },
_findY: function(obj)
{ return (obj && ) ? parseFloat() : 0; },
_findW: function(obj)
{ return (obj && ) ? parseFloat() : 0; },
_findH: function(obj)
{ return (obj && ) ? parseFloat() : 0; },
_construct: function(container_id, callback_ref, font_name, font_size, font_color, bg_color, key_color,
border_color, show_click, click_font_color, click_bg_color, click_border_color, do_embed)
{
var exists = ( != undefined), ct = exists ? : (container_id);
var changed = (font_size && (font_size != ));
this._Callback = ((typeof(callback_ref) == "function") && ((callback_ref.length == 1) || (callback_ref.length == 2))) ? callback_ref : (this._Callback || null);
var ff = font_name || || "";
var fs = font_size || || "14px";
var fc = font_color || || "#000";
var bg = bg_color || || "#FFF";
var kc = key_color || || "#FFF";
var bc = border_color || || "#777";
= click_font_color || || "#CC3300";
= click_bg_color || || "#FF9966";
= click_border_color || || "#CC3300";
= (show_click == undefined) ? (( == undefined) ? false : ) : show_click;
= ff, = fs, = fc;
= bg, = kc, = bc;
if(!exists)
{
= ct, = null;
[container_id] = this;
}
var kb = exists ? [0] : ("DIV");
if(!exists)
{
(kb);
= "block";
= 999;
if(do_embed)
= "relative";
else
{
= "absolute";
// Many thanks to Peter-Paul Koch () for the find-pos-X/find-pos-Y code.
var initX = 0, ct_ = ct;
if(ct_.offsetParent)
{
while(ct_.offsetParent)
{
initX += ct_.offsetLeft;
ct_ = ct_.offsetParent;
}
}
else if(ct_.x)
initX += ct_.x;
var initY = 0; ct_ = ct;
if(ct_.offsetParent)
{
while(ct_.offsetParent)
{
initY += ct_.offsetTop;
ct_ = ct_.offsetParent;
}
}
else if(ct_.y)
initY += ct_.y;
= initY + "px", = initX +"px";
}
= "relative";
= "0px", = "0px";
}
= "1px solid " + bc;
var kb_main = exists ? [0] : ("DIV"), ks = kb_main.style;
if(!exists)
{
(kb_main);
= "relative";
= "1px";
= "default";
}
// Disable content selection:
this._setup_event(kb_main, "selectstart", function(event) { return false; });
this._setup_event(kb_main, "mousedown", function(event) { if() (); return false; });
= ff, = bg;
if(!exists || changed)
{
= this._create_numpad(container_id, kb_main);
= (this._findY() + this._findH() + 1) + "px";
}
return this;
},
_create_numpad: function(container_id, parent)
{
var c = "center", n = "normal";
var fs = , kc = , bc = ;
var mag = parseFloat(fs) / 14.0, cell = (25.0 * mag);
var cp = String(cell) + "px", lh = String((cell - 2.0)) + "px";
var edge = "1px";
var kb_pad_7 = this._setup_key(parent, "___pad_7", "1px", edge, cp, cp, bc, kc, lh, fs);
kb_pad_7.innerHTML = "7";
var edge_1 = String(this._findX(kb_pad_7) + this._findW(kb_pad_7) + 1) + "px";
var kb_pad_8 = this._setup_key(parent, "___pad_8", "1px", edge_1, cp, cp, bc, kc, lh, fs);
kb_pad_8.innerHTML = "8";
var edge_2 = String(this._findX(kb_pad_8) + this._findW(kb_pad_8) + 1) + "px";
var kb_pad_9 = this._setup_key(parent, "___pad_9", "1px", edge_2, cp, cp, bc, kc, lh, fs);
kb_pad_9.innerHTML = "9";
var prevH = this._findH(kb_pad_9), edge_Y = (this._findY(kb_pad_9) + prevH + 1) + "px";
edge_Y = (this._findY(kb_pad_7) + prevH + 1) + "px";
var kb_pad_4 = this._setup_key(parent, "___pad_4", edge_Y, edge, cp, cp, bc, kc, lh, fs);
kb_pad_4.innerHTML = "4";
var kb_pad_5 = this._setup_key(parent, "___pad_5", edge_Y, edge_1, cp, cp, bc, kc, lh, fs);
kb_pad_5.innerHTML = "5";
var kb_pad_6 = this._setup_key(parent, "___pad_6", edge_Y, edge_2, cp, cp, bc, kc, lh, fs);
kb_pad_6.innerHTML = "6";
edge_Y = (this._findY(kb_pad_4) + prevH + 1) + "px";
var kb_pad_1 = this._setup_key(parent, "___pad_1", edge_Y, edge, cp, cp, bc, kc, lh, fs);
kb_pad_1.innerHTML = "1";
var kb_pad_2 = this._setup_key(parent, "___pad_2", edge_Y, edge_1, cp, cp, bc, kc, lh, fs);
kb_pad_2.innerHTML = "2";
var kb_pad_3 = this._setup_key(parent, "___pad_3", edge_Y, edge_2, cp, cp, bc, kc, lh, fs);
kb_pad_3.innerHTML = "3";
edge_Y = (this._findY(kb_pad_1) + prevH + 1) + "px";
var kb_pad_0 = this._setup_key(parent, "___pad_0", edge_Y, edge, cp, cp, bc, kc, lh, fs);
kb_pad_0.innerHTML = "0";
var kb_pad_enter = this._setup_key(parent, "___pad_period", edge_Y, edge_1, String(2 * cell + 1) + "px", cp, bc, kc, lh, parseFloat(fs) * 0.9, n);
kb_pad_enter.innerHTML = "Enter";
= kb_pad_enter;
return String(this._findX(kb_pad_9) + this._findW(kb_pad_9) + 1) + "px";
},
_generic_callback_proc: function(event)
{
var e = event || ;
var in_el = || ;
var container_id = in_el.(0, in_el.("___"));
var vpad = [container_id];
if() vpad._start_flash(in_el);
if(vpad._Callback) vpad._Callback(in_el.innerHTML, );
},
SetParameters: function()
{
var l = ;
if(!l || (l % 2 != 0)) return false;
var p0, p1, p2, p3, p4, p5, p6, p7, p8, p9, p10;
while(--l > 0)
{
var value = arguments[l];
switch(arguments[l - 1])
{
case "callback":
p0 = ((typeof(value) == "function") && (( == 1) || ( == 2))) ? value : this._Callback;
break;
case "font-name": p1 = value; break;
case "font-size": p2 = value; break;
case "font-color": p3 = value; break;
case "base-color": p4 = value; break;
case "key-color": p5 = value; break;
case "border-color": p6 = value; break;
case "show-click": p7 = value; break;
case "click-font-color": p8 = value; break;
case "click-key-color": p9 = value; break;
case "click-border-color": p10 = value; break;
default: break;
}
l -= 1;
}
this._construct(, p0, p1, p2, p3, p4, p5, p6, p7, p8, p9, p10);
return true;
},
Show: function(value)
{
var ct = ;
= ((value == undefined) || (value == true)) ? "block" : ((value == false) ? "none" : );
}
};
Package file download
* JavaScript Virtual Keyboard (ATM-style numpad variant), version 2.3
*
* Copyright (C) 2006-2007 Dmitriy Khudorozhkov
*
* This software is provided "as-is", without any express or implied warranty.
* In no event will the author be held liable for any damages arising from the
* use of this software.
*
* Permission is granted to anyone to use this software for any purpose,
* including commercial applications, and to alter it and redistribute it
* freely, subject to the following restrictions:
*
* 1. The origin of this software must not be misrepresented; you must not
* claim that you wrote the original software. If you use this software
* in a product, an acknowledgment in the product documentation would be
* appreciated but is not required.
*
* 2. Altered source versions must be plainly marked as such, and must not be
* misrepresented as being the original software.
*
* 3. This notice may not be removed or altered from any source distribution.
*
* - Dmitriy Khudorozhkov, kh_dmitry2001@
*/
function VATMpad(container_id, callback_ref, font_name, font_size,
font_color, bg_color, key_color, border_color,
show_click, click_font_color, click_bg_color,
click_border_color, do_embed)
{
return this._construct(container_id, callback_ref, font_name, font_size,
font_color, bg_color, key_color, border_color,
show_click, click_font_color, click_bg_color,
click_border_color, do_embed);
}
= {
kbArray: [],
_setup_event: function(elem, eventType, handler)
{
return ( ? ("on" + eventType, handler) : (() ? (eventType, handler, false) : null));
},
_start_flash: function(in_el)
{
function getColor(str, posOne, posTwo)
{
if(/rgb\((\d+),\s(\d+),\s(\d+)\)/.exec(str)) // try to detect Mozilla-style rgb value.
{
switch(posOne)
{
case 1: return parseInt(RegExp.$1, 10);
case 2: return parseInt(RegExp.$2, 10);
case 3: return parseInt(RegExp.$3, 10);
default: return 0;
}
}
else // standard (#xxxxxx or #xxx) way
return == 4 ? parseInt((posOne, 1) + (posOne, 1), 16) : parseInt((posTwo, 2), 16);
}
function getR(color_string)
{ return getColor(color_string, 1, 1); }
function getG(color_string)
{ return getColor(color_string, 2, 3); }
function getB(color_string)
{ return getColor(color_string, 3, 5); }
var el = in_el.time ? in_el : (in_el.company && in_el. ? in_el.company : null);
if(el)
{
= 0;
clearInterval();
}
var vkb = this;
var ftc = , bgc = , brc = ;
// Special fixes for simple/dead/modifier keys:
if(in_el.dead)
ftc = ;
if(((in_el.innerHTML == "Shift") && ) || ((in_el.innerHTML == "Caps") && ) || ((in_el.innerHTML == "AltGr") && ))
bgc = ;
// Extract base color values:
var fr = getR(ftc), fg = getG(ftc), fb = getB(ftc);
var kr = getR(bgc), kg = getG(bgc), kb = getB(bgc);
var br = getR(brc), bg = getG(brc), bb = getB(brc);
// Extract flash color values:
var f_r = getR(), f_g = getG(), f_b = getB();
var k_r = getR(), k_g = getG(), k_b = getB();
var b_r = getR(), b_g = getG(), b_b = getB();
var _shift_colors = function()
{
function dec2hex(dec)
{
var hexChars = "0123456789ABCDEF";
var a = dec % 16;
var b = (dec - a) / 16;
return (b) + (a) + "";
}
in_el.time = !in_el.time ? 10 : (in_el.time - 1);
function calc_color(start, end)
{ return (end - (in_el.time / 10) * (end - start)); }
var t_f_r = calc_color(f_r, fr), t_f_g = calc_color(f_g, fg), t_f_b = calc_color(f_b, fb);
var t_k_r = calc_color(k_r, kr), t_k_g = calc_color(k_g, kg), t_k_b = calc_color(k_b, kb);
var t_b_r = calc_color(b_r, br), t_b_g = calc_color(b_g, bg), t_b_b = calc_color(b_b, bb);
in_el. = "#" + dec2hex(t_f_r) + dec2hex(t_f_g) + dec2hex(t_f_b);
in_el. = "#" + dec2hex(t_b_r) + dec2hex(t_b_g) + dec2hex(t_b_b);
in_el. = "#" + dec2hex(t_k_r) + dec2hex(t_k_g) + dec2hex(t_k_b);
if(!in_el.time)
{
clearInterval(in_el.timer);
return;
}
};
_shift_colors();
in_el.timer = (_shift_colors, 50);
},
_setup_style: function(obj, top, left, width, height, position, border_color, bg_color, line_height, font_size, font_weight, padding_left, padding_right)
{
var os = ;
if(top) = top;
if(left) = left;
if(width) = width;
if(height) = height;
if(position) = position;
if(border_color) = "1px solid " + border_color;
if(bg_color) = bg_color;
= "center";
if(line_height) = line_height;
if(font_size) = font_size;
= font_weight || "bold";
if(padding_left) = padding_left;
if(padding_right) = padding_right;
},
_setup_key: function(parent, id, top, left, width, height, border_color, bg_color, line_height, font_size, font_weight, padding_left, padding_right)
{
var _id = + id;
var exists = (_id);
var key = exists ? : ("DIV");
this._setup_style(key, top, left, width, height, "absolute");
var key_sub = exists || ("DIV");
(key_sub); (key);
this._setup_style(key_sub, "", "", "", line_height, "relative", border_color, bg_color, line_height, font_size, font_weight, padding_left, padding_right);
key_sub.id = _id;
if(!exists) this._setup_event(key_sub, 'mousedown', this._generic_callback_proc);
return key_sub;
},
_findX: function(obj)
{ return (obj && ) ? parseFloat() : 0; },
_findY: function(obj)
{ return (obj && ) ? parseFloat() : 0; },
_findW: function(obj)
{ return (obj && ) ? parseFloat() : 0; },
_findH: function(obj)
{ return (obj && ) ? parseFloat() : 0; },
_construct: function(container_id, callback_ref, font_name, font_size, font_color, bg_color, key_color,
border_color, show_click, click_font_color, click_bg_color, click_border_color, do_embed)
{
var exists = ( != undefined), ct = exists ? : (container_id);
var changed = (font_size && (font_size != ));
this._Callback = ((typeof(callback_ref) == "function") && ((callback_ref.length == 1) || (callback_ref.length == 2))) ? callback_ref : (this._Callback || null);
var ff = font_name || || "";
var fs = font_size || || "14px";
var fc = font_color || || "#000";
var bg = bg_color || || "#FFF";
var kc = key_color || || "#FFF";
var bc = border_color || || "#777";
= click_font_color || || "#CC3300";
= click_bg_color || || "#FF9966";
= click_border_color || || "#CC3300";
= (show_click == undefined) ? (( == undefined) ? false : ) : show_click;
= ff, = fs, = fc;
= bg, = kc, = bc;
if(!exists)
{
= ct, = null;
[container_id] = this;
}
var kb = exists ? [0] : ("DIV");
if(!exists)
{
(kb);
= "block";
= 999;
if(do_embed)
= "relative";
else
{
= "absolute";
// Many thanks to Peter-Paul Koch () for the find-pos-X/find-pos-Y code.
var initX = 0, ct_ = ct;
if(ct_.offsetParent)
{
while(ct_.offsetParent)
{
initX += ct_.offsetLeft;
ct_ = ct_.offsetParent;
}
}
else if(ct_.x)
initX += ct_.x;
var initY = 0; ct_ = ct;
if(ct_.offsetParent)
{
while(ct_.offsetParent)
{
initY += ct_.offsetTop;
ct_ = ct_.offsetParent;
}
}
else if(ct_.y)
initY += ct_.y;
= initY + "px", = initX +"px";
}
= "relative";
= "0px", = "0px";
}
= "1px solid " + bc;
var kb_main = exists ? [0] : ("DIV"), ks = kb_main.style;
if(!exists)
{
(kb_main);
= "relative";
= "1px";
= "default";
}
// Disable content selection:
this._setup_event(kb_main, "selectstart", function(event) { return false; });
this._setup_event(kb_main, "mousedown", function(event) { if() (); return false; });
= ff, = bg;
if(!exists || changed)
{
= this._create_numpad(container_id, kb_main);
= (this._findY() + this._findH() + 1) + "px";
}
return this;
},
_create_numpad: function(container_id, parent)
{
var c = "center", n = "normal";
var fs = , kc = , bc = ;
var mag = parseFloat(fs) / 14.0, cell = (25.0 * mag);
var cp = String(cell) + "px", lh = String((cell - 2.0)) + "px";
var edge = "1px";
var kb_pad_7 = this._setup_key(parent, "___pad_7", "1px", edge, cp, cp, bc, kc, lh, fs);
kb_pad_7.innerHTML = "7";
var edge_1 = String(this._findX(kb_pad_7) + this._findW(kb_pad_7) + 1) + "px";
var kb_pad_8 = this._setup_key(parent, "___pad_8", "1px", edge_1, cp, cp, bc, kc, lh, fs);
kb_pad_8.innerHTML = "8";
var edge_2 = String(this._findX(kb_pad_8) + this._findW(kb_pad_8) + 1) + "px";
var kb_pad_9 = this._setup_key(parent, "___pad_9", "1px", edge_2, cp, cp, bc, kc, lh, fs);
kb_pad_9.innerHTML = "9";
var prevH = this._findH(kb_pad_9), edge_Y = (this._findY(kb_pad_9) + prevH + 1) + "px";
edge_Y = (this._findY(kb_pad_7) + prevH + 1) + "px";
var kb_pad_4 = this._setup_key(parent, "___pad_4", edge_Y, edge, cp, cp, bc, kc, lh, fs);
kb_pad_4.innerHTML = "4";
var kb_pad_5 = this._setup_key(parent, "___pad_5", edge_Y, edge_1, cp, cp, bc, kc, lh, fs);
kb_pad_5.innerHTML = "5";
var kb_pad_6 = this._setup_key(parent, "___pad_6", edge_Y, edge_2, cp, cp, bc, kc, lh, fs);
kb_pad_6.innerHTML = "6";
edge_Y = (this._findY(kb_pad_4) + prevH + 1) + "px";
var kb_pad_1 = this._setup_key(parent, "___pad_1", edge_Y, edge, cp, cp, bc, kc, lh, fs);
kb_pad_1.innerHTML = "1";
var kb_pad_2 = this._setup_key(parent, "___pad_2", edge_Y, edge_1, cp, cp, bc, kc, lh, fs);
kb_pad_2.innerHTML = "2";
var kb_pad_3 = this._setup_key(parent, "___pad_3", edge_Y, edge_2, cp, cp, bc, kc, lh, fs);
kb_pad_3.innerHTML = "3";
edge_Y = (this._findY(kb_pad_1) + prevH + 1) + "px";
var kb_pad_0 = this._setup_key(parent, "___pad_0", edge_Y, edge, cp, cp, bc, kc, lh, fs);
kb_pad_0.innerHTML = "0";
var kb_pad_enter = this._setup_key(parent, "___pad_period", edge_Y, edge_1, String(2 * cell + 1) + "px", cp, bc, kc, lh, parseFloat(fs) * 0.9, n);
kb_pad_enter.innerHTML = "Enter";
= kb_pad_enter;
return String(this._findX(kb_pad_9) + this._findW(kb_pad_9) + 1) + "px";
},
_generic_callback_proc: function(event)
{
var e = event || ;
var in_el = || ;
var container_id = in_el.(0, in_el.("___"));
var vpad = [container_id];
if() vpad._start_flash(in_el);
if(vpad._Callback) vpad._Callback(in_el.innerHTML, );
},
SetParameters: function()
{
var l = ;
if(!l || (l % 2 != 0)) return false;
var p0, p1, p2, p3, p4, p5, p6, p7, p8, p9, p10;
while(--l > 0)
{
var value = arguments[l];
switch(arguments[l - 1])
{
case "callback":
p0 = ((typeof(value) == "function") && (( == 1) || ( == 2))) ? value : this._Callback;
break;
case "font-name": p1 = value; break;
case "font-size": p2 = value; break;
case "font-color": p3 = value; break;
case "base-color": p4 = value; break;
case "key-color": p5 = value; break;
case "border-color": p6 = value; break;
case "show-click": p7 = value; break;
case "click-font-color": p8 = value; break;
case "click-key-color": p9 = value; break;
case "click-border-color": p10 = value; break;
default: break;
}
l -= 1;
}
this._construct(, p0, p1, p2, p3, p4, p5, p6, p7, p8, p9, p10);
return true;
},
Show: function(value)
{
var ct = ;
= ((value == undefined) || (value == true)) ? "block" : ((value == false) ? "none" : );
}
};
Package file download