rsence 2.0.0.pre → 2.0.0.1.pre

Sign up to get free protection for your applications and to get access to all the features.
Files changed (80) hide show
  1. data/INSTALL.rdoc +295 -0
  2. data/LICENSE +622 -0
  3. data/README.rdoc +87 -0
  4. data/VERSION +1 -0
  5. data/bin/rsence +5 -101
  6. data/conf/config.yaml +4 -0
  7. data/conf/default_conf.yaml +6 -4
  8. data/conf/{local_conf.yaml → local_conf.yaml.devel} +2 -1
  9. data/js/comm/comm/autosync/autosync.js +0 -1
  10. data/js/comm/comm/queue/queue.js +1 -1
  11. data/js/comm/comm/urlresponder/urlresponder.js +58 -35
  12. data/js/comm/comm/values/values.js +13 -3
  13. data/js/comm/jsloader/jsloader.js +29 -12
  14. data/js/controls/button/themes/default/button_parts1-ie6.gif +0 -0
  15. data/js/controls/checkbox/themes/default/checkbox_parts1-ie6.gif +0 -0
  16. data/js/controls/datetime/timesheet/timesheet.js +2 -2
  17. data/js/controls/dialogs/sheet/themes/default/sheet_bg-ie6.gif +0 -0
  18. data/js/controls/dialogs/sheet/themes/default/sheet_parts1-ie6.gif +0 -0
  19. data/js/controls/dialogs/sheet/themes/default/sheet_parts2-ie6.gif +0 -0
  20. data/js/controls/dialogs/sheet/themes/default/sheet_warning-ie6.gif +0 -0
  21. data/js/controls/passwordcontrol/themes/default/passwordcontrol.html +1 -1
  22. data/js/controls/radiobutton/themes/default/radiobutton_parts1-ie6.gif +0 -0
  23. data/js/controls/sliders/slider/themes/default/hslider_tracks-ie6.gif +0 -0
  24. data/js/controls/sliders/slider/themes/default/slider.css +2 -0
  25. data/js/controls/sliders/slider/themes/default/slider_thumbs-ie6.gif +0 -0
  26. data/js/controls/sliders/vslider/themes/default/vslider.css +2 -0
  27. data/js/controls/sliders/vslider/themes/default/vslider_tracks-ie6.gif +0 -0
  28. data/js/controls/stepper/themes/default/stepper-ie6.gif +0 -0
  29. data/js/controls/tab/tab.js +2 -6
  30. data/js/controls/tab/themes/default/tab.css +1 -0
  31. data/js/controls/tab/themes/default/tab.html +1 -1
  32. data/js/controls/tab/themes/default/tab_border_pattern-ie6.gif +0 -0
  33. data/js/controls/tab/themes/default/tab_parts1-ie6.gif +0 -0
  34. data/js/controls/textarea/themes/default/textarea.css +21 -0
  35. data/js/controls/textarea/themes/default/textarea.html +2 -2
  36. data/js/controls/textcontrol/textcontrol.js +56 -69
  37. data/js/controls/textcontrol/themes/default/textcontrol.css +23 -20
  38. data/js/controls/textcontrol/themes/default/textcontrol.html +1 -1
  39. data/js/controls/window/themes/default/window.css +1 -0
  40. data/js/controls/window/themes/default/window_bg_active-ie6.gif +0 -0
  41. data/js/controls/window/themes/default/window_bg_inactive-ie6.gif +0 -0
  42. data/js/controls/window/themes/default/window_buttons-ie6.gif +0 -0
  43. data/js/controls/window/themes/default/window_parts1-ie6.gif +0 -0
  44. data/js/controls/window/themes/default/window_parts2-ie6.gif +0 -0
  45. data/js/controls/window/window.js +28 -7
  46. data/js/core/class/class.js +31 -30
  47. data/js/core/elem/elem.js +94 -71
  48. data/js/core/event/event.js +34 -26
  49. data/js/core/iefix/iefix.js +46 -31
  50. data/js/debugg/debugg.js +43 -0
  51. data/js/debugg/js.inc +0 -0
  52. data/js/foundation/application/application.js +3 -1
  53. data/js/foundation/control/dyncontrol/dyncontrol.js +1 -0
  54. data/js/foundation/control/eventresponder/eventresponder.js +1 -1
  55. data/js/foundation/json_renderer/json_renderer.js +1 -3
  56. data/js/foundation/system/system.js +4 -4
  57. data/js/foundation/thememanager/thememanager.js +3 -3
  58. data/js/foundation/view/view.js +71 -1
  59. data/lib/conf/argv.rb +664 -0
  60. data/lib/conf/default.rb +51 -52
  61. data/lib/daemon/daemon.rb +281 -195
  62. data/lib/plugins/plugin_plugins.rb +47 -0
  63. data/lib/plugins/pluginmanager.rb +17 -12
  64. data/lib/transporter/transporter.rb +6 -9
  65. data/plugins/client_pkg/client_pkg.rb +12 -9
  66. data/plugins/client_pkg/lib/client_pkg_build.rb +1 -1
  67. data/plugins/index_html/tmpl/index.html +3 -3
  68. data/plugins/main/main.rb +1 -0
  69. metadata +16 -14
  70. data/bin/build_client.rb +0 -254
  71. data/bin/help +0 -6
  72. data/bin/launch.rb +0 -120
  73. data/bin/rdoc.sh +0 -2
  74. data/bin/restart +0 -6
  75. data/bin/run +0 -6
  76. data/bin/run.rb +0 -6
  77. data/bin/save +0 -6
  78. data/bin/start +0 -6
  79. data/bin/status +0 -6
  80. data/bin/stop +0 -6
@@ -364,7 +364,7 @@ COMM.Values = HClass.extend({
364
364
  * A copy of the object.
365
365
  *
366
366
  **/
367
- clone: function( _obj ){
367
+ clone: function( _obj, _shallow ){
368
368
  if(_obj === null || _obj === undefined){
369
369
  console.log('null or undefined obj:',_obj);
370
370
  return _obj;
@@ -374,14 +374,24 @@ COMM.Values = HClass.extend({
374
374
  if( _obj instanceof Array ){
375
375
  _cloned = [];
376
376
  for( _item = 0; _item < _obj.length; _item ++ ){
377
- _cloned[ _item ] = this.clone( _obj[ _item ] );
377
+ if(_shallow){
378
+ _cloned[ _item ] = _obj[ _item ];
379
+ }
380
+ else {
381
+ _cloned[ _item ] = this.clone( _obj[ _item ] );
382
+ }
378
383
  }
379
384
  return _cloned;
380
385
  }
381
386
  else if( _obj instanceof Object ){
382
387
  _cloned = {};
383
388
  for( _item in _obj ){
384
- _cloned[ _item ] = this.clone( _obj[ _item ] );
389
+ if(_shallow){
390
+ _cloned[ _item ] = _obj[ _item ];
391
+ }
392
+ else {
393
+ _cloned[ _item ] = this.clone( _obj[ _item ] );
394
+ }
385
395
  }
386
396
  return _cloned;
387
397
  }
@@ -13,6 +13,7 @@
13
13
  ** Use the jsLoader instance to get packaged Javascript libraries from the
14
14
  ** standard package url.
15
15
  ***/
16
+
16
17
  COMM.JSLoader = HClass.extend({
17
18
 
18
19
  /** = Description
@@ -49,16 +50,23 @@ COMM.JSLoader = HClass.extend({
49
50
  *
50
51
  **/
51
52
  load: function(_jsName){
52
- var _this = this;
53
- if((_this._loadedJS.indexOf(_jsName)!==-1)) {
53
+ var _this = this,
54
+ _isFullUrl = _jsName.slice(0,7) === 'http://' || _jsName.slice(0,8) === 'https://',
55
+ _url = _isFullUrl?_jsName:_this.uri+_jsName+'.js';
56
+ if((_this._loadedJS.indexOf(_url)!==-1)) {
54
57
  return;
55
58
  }
56
59
  COMM.Queue.pause();
57
- _this._loadedJS.push(_jsName);
58
- if(BROWSER_TYPE.ie || BROWSER_TYPE.symbian){
60
+ _this._loadedJS.push(_url);
61
+ if(BROWSER_TYPE.symbian && _isFullUrl){
62
+ alert('Sorry, this browser does not support loading external scripts!');
63
+ return;
64
+ }
65
+ else if(BROWSER_TYPE.symbian){
59
66
  _this._req = COMM.request(
60
- _this.uri+_jsName+'.js', {
67
+ _url, {
61
68
  onSuccess: function(_resp){
69
+ _this._req = null;
62
70
  COMM.Queue.unshiftEval(_resp.X.responseText);
63
71
  COMM.Queue.resume();
64
72
  },
@@ -67,17 +75,26 @@ COMM.JSLoader = HClass.extend({
67
75
  async: true
68
76
  }
69
77
  );
78
+ return;
79
+ }
80
+ var _script = document.createElement('script');
81
+ if(BROWSER_TYPE.ie){
82
+ _script.onreadystatechange = function(){
83
+ if(this.readyState === 'loaded' || this.readyState === 'complete'){
84
+ COMM.Queue.resume();
85
+ _script.onload = _script.readystatechange = null;
86
+ }
87
+ };
70
88
  }
71
89
  else {
72
- // The following doesn't always work reliably on Internet Explorer:
73
- var _script = document.createElement('script');
74
- _script.onload = function(){COMM.Queue.resume();};
75
- _script.src = _this.uri+_jsName+'.js';
76
- _script.type = 'text/javascript';
77
- document.getElementsByTagName('head')[0].appendChild(_script);
90
+ _script.onload = function(){
91
+ COMM.Queue.resume();
92
+ };
78
93
  }
94
+ _script.src = _url;
95
+ _script.type = 'text/javascript';
96
+ document.getElementsByTagName('head')[0].appendChild(_script);
79
97
  }
80
-
81
98
  });
82
99
 
83
100
  /** -- Global reference ++ **/
@@ -47,7 +47,7 @@ HTimeSheet = HControl.extend({
47
47
  for(; hour < 24; hour++){
48
48
  hours.push('<div style="line-height:'+rowHeight+'px;height:'+rowHeight+'px;top:'+Math.round((hour*rowHeight)-lineHeight)+'px" class="timesheet_hours_row">'+hour+':00</div>');
49
49
  }
50
- ELEM.setHTML(this.markupElemIds.label,hours.join(''));
50
+ this.markupElemIds && this.markupElemIds.label && ELEM.setHTML(this.markupElemIds.label,hours.join(''));
51
51
  this.refreshState();
52
52
  },
53
53
 
@@ -62,7 +62,7 @@ HTimeSheet = HControl.extend({
62
62
  for(; line < 48; line++){
63
63
  lines.push('<div style="top:'+(line*lineHeight)+'px" class="timesheet_lines_row'+(line%2)+'"></div>');
64
64
  }
65
- ELEM.setHTML(this.markupElemIds.state,lines.join(''));
65
+ this.markupElemIds && this.markupElemIds.label && ELEM.setHTML(this.markupElemIds.state,lines.join(''));
66
66
  },
67
67
  dragItem: false,
68
68
 
@@ -11,7 +11,7 @@
11
11
  <div class="textcontrol_sw"></div>
12
12
 
13
13
  <div id="label#{_ID}" title="#{this.label}" class="textcontrol_input_parent">
14
- <input type="password" class="textcontrol_input"
14
+ <input type="password" class="textcontrol_input" #{this.enabled?'':'disabled'}
15
15
  onfocus="HSystem.views[#{this.viewId}].textFocus();"
16
16
  onblur="HSystem.views[#{this.viewId}].textBlur();"
17
17
  id="value#{_ID}" value="#{this.value}" />
@@ -3,6 +3,7 @@
3
3
  .hslider_track {
4
4
  position: absolute;
5
5
  height: 7px; top: 7px;
6
+ font-size: 0px;
6
7
  background-image: #{this.getCssFilePath('hslider_tracks.png')};
7
8
  }
8
9
 
@@ -36,6 +37,7 @@
36
37
  .hslider_thumb {
37
38
  position: absolute;
38
39
  top: 0px; height: 21px; width: 21px;
40
+ font-size: 0px;
39
41
  background-position: 0px 0px;
40
42
  background-image: #{this.getCssFilePath('slider_thumbs.png')};
41
43
  }
@@ -3,6 +3,7 @@
3
3
  .vslider_track {
4
4
  position: absolute;
5
5
  width: 7px; left: 7px;
6
+ font-size: 0px;
6
7
  background-image: #{this.getCssFilePath('vslider_tracks.png')};
7
8
  }
8
9
 
@@ -35,6 +36,7 @@
35
36
 
36
37
  .vslider_thumb {
37
38
  position: absolute;
39
+ font-size: 0px;
38
40
  left: 0px; width: 21px; height: 21px;
39
41
  background-position: 0px 0px;
40
42
  background-image: #{this.getCssFilePath('slider_thumbs.png')};
@@ -41,10 +41,6 @@ HTab = HControl.extend({
41
41
  refreshOnValueChange: true,
42
42
  refreshOnLabelChange: false,
43
43
 
44
- defaultEvents: {
45
- click: true
46
- },
47
-
48
44
  controlDefaults: (HControlDefaults.extend({
49
45
  constructor: function(_ctrl){
50
46
  this.tabInit(_ctrl);
@@ -79,7 +75,7 @@ HTab = HControl.extend({
79
75
  tabLabelElementTagName: 'div',
80
76
  tabLabelAlign: 'left',
81
77
  tabLabelFillBg: false,
82
- tabTriggerLink: false,
78
+ tabTriggerLink: true,
83
79
  tabLabelNoHTMLPrefix: false,
84
80
 
85
81
  /** = Description
@@ -170,7 +166,7 @@ HTab = HControl.extend({
170
166
  ELEM.setAttr(_tabLabelElemId,'href','javascript:HSystem.views['+this.viewId+'].selectTab('+_tabIdx+');');
171
167
  }
172
168
  else if (this.tabTriggerLink){
173
- ELEM.setAttr(_tabLabelElemId,'mouseup','HSystem.views['+this.viewId+'].selectTab('+_tabIdx+');');
169
+ ELEM.setAttr(_tabLabelElemId,'onclick','HSystem.views['+this.viewId+'].selectTab('+_tabIdx+');');
174
170
  }
175
171
  else {
176
172
  this.tabLabelBounds.push([this.rightmostPx,this.rightmostPx+_labelWidth]);
@@ -54,6 +54,7 @@
54
54
  text-align: center;
55
55
  color: #000;
56
56
  line-height: 26px;
57
+ overflow: hidden;
57
58
  text-align: center; vertical-align: middle;
58
59
  font-family: Arial, sans-serif;
59
60
  font-size: 12px; font-weight: bold;
@@ -3,4 +3,4 @@
3
3
  </div>
4
4
  <div class="tab_label" id="label#{_ID}"></div>
5
5
  <div class="tab_label_fill_bg" id="state#{_ID}"></div>
6
- ${this.tabLabelLeftEdge=12;this.tabLabelRightEdge=9;this.tabLabelHeight=24;this.fontStyle='font-size: 12px; font-weight: bold;';this.tabLabelFillBg=true;}
6
+ ${this.tabLabelLeftEdge=12;this.tabLabelRightEdge=9;this.tabLabelHeight=24;this.fontStyle='font-family:Arial,sans-serif;font-size:12px;font-weight:bold;';this.tabLabelFillBg=true;}
@@ -0,0 +1,21 @@
1
+ .default .textarea_input {
2
+ position: absolute;
3
+ display: block;
4
+ font-family: Arial, sans-serif;
5
+ font-size: 13px;
6
+ color: #000;
7
+ background-color: transparent;
8
+ vertical-align: middle;
9
+ border: 0;
10
+ left:0px;top:0px;
11
+ #{(BROWSER_TYPE.firefox||BROWSER_TYPE.ie7||BROWSER_TYPE.ie8||BROWSER_TYPE.opera)?'padding:0;padding-left:2px;width:100% !important;height:100% !important;':BROWSER_TYPE.ie6?'right:2px;bottom:2px;':'padding:2px;right:0px;bottom:0px;width:auto;height:auto;'}
12
+ }
13
+
14
+ .default .disabled .textarea_input {
15
+ #{(BROWSER_TYPE.safari||BROWSER_TYPE.chrome)?'color:#ccc;':'color:#999'}
16
+ }
17
+
18
+ .default .textarea_input_parent {
19
+ position: absolute;
20
+ #{(BROWSER_TYPE.firefox||BROWSER_TYPE.ie7||BROWSER_TYPE.ie8||BROWSER_TYPE.opera)?'left:0;padding-left:1px;top:1px;right:3px;bottom:1px;':BROWSER_TYPE.ie?'left:2px;top:1px;right:1px;bottom:1px;':'left:-2px;top:-2px;right:-2px;bottom:-2px;'}
21
+ }
@@ -10,8 +10,8 @@
10
10
  <div class="textcontrol_se"></div>
11
11
  <div class="textcontrol_sw"></div>
12
12
 
13
- <div id="label#{_ID}" title="#{this.label}" class="textcontrol_input_parent">
14
- <textarea class="textcontrol_input" style="resize:none;"
13
+ <div id="label#{_ID}" title="#{this.label}" class="textarea_input_parent">
14
+ <textarea class="textarea_input" style="resize:none;" #{this.enabled?'':'disabled'}
15
15
  onfocus="HSystem.views[#{this.viewId}].textFocus();"
16
16
  onblur="HSystem.views[#{this.viewId}].textBlur();"
17
17
  id="value#{_ID}">#{this.value}</textarea>
@@ -21,8 +21,7 @@ HTextControl = HControl.extend({
21
21
  componentName: "textcontrol",
22
22
 
23
23
  defaultEvents: {
24
- textEnter: true,
25
- mouseWheel: true
24
+ textEnter: true
26
25
  },
27
26
 
28
27
  controlDefaults: (HControlDefaults.extend({
@@ -43,71 +42,55 @@ HTextControl = HControl.extend({
43
42
  }
44
43
  },
45
44
 
46
- /** = Description
47
- * Tweaks the input element to fit the match the size properly
48
- * in different browsers. Can't be done reliably by using just
49
- * the theme css, because some browsers are broken
50
- * regarding styling of input elements.
51
- *
52
- **/
53
- drawSubviews: function(){
54
- if(this['markupElemIds']!==undefined){
55
- if(this.markupElemIds['label']!==undefined) {
56
- var _input = this.markupElemIds.value,
57
- _label = this.markupElemIds.label;
58
- if(BROWSER_TYPE.firefox){
59
- if(this.componentName === 'textarea'){
60
- ELEM.setStyle(_input,'padding-top','0px');
61
- }
62
- else {
63
- ELEM.setStyle(_input,'margin-top','1px');
64
- }
65
- ELEM.setStyle(_input,'padding-left','0px');
66
- ELEM.setStyle(_label,'left','2px');
67
- ELEM.setStyle(_label,'top','0px');
68
- ELEM.setStyle(_label,'right','2px');
69
- ELEM.setStyle(_label,'bottom','2px');
70
- }
71
- else if(BROWSER_TYPE.ie){
72
- ELEM.flushLoop();
73
- var _size = ELEM.getVisibleSize( this.elemId ),
74
- _width = _size[0],
75
- _height = _size[1];
76
- ELEM.setStyle(_input,'left','2px');
77
- ELEM.setStyle(_input,'top','1px');
78
- ELEM.setStyle(_input,'padding-top','0px');
79
- ELEM.setStyle(_input,'padding-left','0px');
80
- ELEM.setStyle(_input,'padding-right','8px');
81
- ELEM.setStyle(_input,'padding-bottom','0px');
82
- ELEM.setStyle(_input,'width',(_width-10)+'px');
83
- ELEM.setStyle(_input,'height',(_height-2)+'px');
84
- ELEM.setStyle(_label,'left','0px');
85
- ELEM.setStyle(_label,'top','0px');
86
- ELEM.setStyle(_label,'right','0px');
87
- ELEM.setStyle(_label,'bottom','0px');
88
- }
89
- else if(BROWSER_TYPE.safari||BROWSER_TYPE.chrome){
90
- ELEM.setStyle(_input,'width','auto');
91
- ELEM.setStyle(_input,'height','auto');
92
- ELEM.setStyle(_input,'left','-2px');
93
- ELEM.setStyle(_input,'top','-2px');
94
- if (BROWSER_TYPE.chrome) {
95
- ELEM.setStyle(_input,'right','0px');
96
- ELEM.setStyle(_input,'bottom','0px');
97
- }
98
- else {
99
- ELEM.setStyle(_input,'right','-2px');
100
- ELEM.setStyle(_input,'bottom','-2px');
101
- }
102
- ELEM.setStyle(_label,'left','0px');
103
- ELEM.setStyle(_label,'top','0px');
104
- ELEM.setStyle(_label,'right','0px');
105
- ELEM.setStyle(_label,'bottom','0px');
106
- }
107
- }
108
- }
109
- this.setEnabled(this.enabled);
110
- },
45
+ // drawSubviews: function(){
46
+ // if(this['markupElemIds']!==undefined && this.markupElemIds['value']!==undefined) {
47
+ // // this.adjustInputStyle();
48
+ // }
49
+ // this.setEnabled(this.enabled);
50
+ // },
51
+ //
52
+ // /** = Description
53
+ // * Tweaks the input element to fit the match the size properly
54
+ // * in different browsers. Can't be done reliably by using just
55
+ // * the theme css, because some browsers are broken
56
+ // * regarding styling of input elements.
57
+ // *
58
+ // **/
59
+ // adjustInputStyle: function(){
60
+ // var _input = this.markupElemIds.value,
61
+ // _label = this.markupElemIds.label;
62
+ // if(BROWSER_TYPE.firefox){
63
+ // if(this.componentName === 'textarea'){
64
+ // ELEM.setStyle(_input,'padding-top','0px');
65
+ // }
66
+ // else {
67
+ // ELEM.setStyle(_input,'margin-top','1px');
68
+ // }
69
+ // ELEM.setStyle(_input,'padding-left','0px');
70
+ // ELEM.setStyle(_label,'left','2px');
71
+ // ELEM.setStyle(_label,'top','0px');
72
+ // ELEM.setStyle(_label,'right','2px');
73
+ // ELEM.setStyle(_label,'bottom','2px');
74
+ // }
75
+ // else if(BROWSER_TYPE.ie){
76
+ // ELEM.flushLoop();
77
+ // var _size = ELEM.getVisibleSize( this.elemId ),
78
+ // _width = _size[0],
79
+ // _height = _size[1];
80
+ // ELEM.setStyle(_input,'left','2px');
81
+ // ELEM.setStyle(_input,'top','1px');
82
+ // ELEM.setStyle(_input,'padding-top','0px');
83
+ // ELEM.setStyle(_input,'padding-left','0px');
84
+ // ELEM.setStyle(_input,'padding-right','8px');
85
+ // ELEM.setStyle(_input,'padding-bottom','0px');
86
+ // ELEM.setStyle(_input,'width',(_width-10)+'px');
87
+ // ELEM.setStyle(_input,'height',(_height-2)+'px');
88
+ // ELEM.setStyle(_label,'left','0px');
89
+ // ELEM.setStyle(_label,'top','0px');
90
+ // ELEM.setStyle(_label,'right','0px');
91
+ // ELEM.setStyle(_label,'bottom','0px');
92
+ // }
93
+ // },
111
94
 
112
95
  setStyle: function(_name, _value, _cacheOverride) {
113
96
  if (!this['markupElemIds']||!this.markupElemIds['value']) {
@@ -118,8 +101,7 @@ HTextControl = HControl.extend({
118
101
 
119
102
  setEnabled: function(_flag) {
120
103
  this.base(_flag);
121
- if(this['markupElemIds']===undefined){return;}
122
- if(this.markupElemIds.value) {
104
+ if(this['markupElemIds'] && this.markupElemIds.value) {
123
105
  ELEM.get(this.markupElemIds.value).disabled = !this.enabled;
124
106
  }
125
107
  },
@@ -347,6 +329,11 @@ HTextControl = HControl.extend({
347
329
  **/
348
330
  HNumericTextControl = HTextControl.extend({
349
331
 
332
+ defaultEvents: {
333
+ mouseWheel: true,
334
+ textEnter: true
335
+ },
336
+
350
337
  /** Uses the mouseWheel event to step up/down the value.
351
338
  **/
352
339
  mouseWheel: function(_delta){
@@ -1,29 +1,27 @@
1
1
 
2
- .textcontrol_input {
2
+ .default .textcontrol_input {
3
3
  position: absolute;
4
4
  display: block;
5
- left: 0px; top: 0px; width: 100%; height: 100%;
6
5
  font-family: Arial, sans-serif;
7
6
  font-size: 13px;
8
7
  color: #000;
9
8
  background-color: transparent;
10
9
  vertical-align: middle;
11
- padding-left: 4px;
12
- padding-top: 2px;
13
10
  border: 0px;
11
+ left: 0px; top: 0px;
12
+ #{(BROWSER_TYPE.firefox||BROWSER_TYPE.ie7||BROWSER_TYPE.ie8||BROWSER_TYPE.opera)?'padding-left:2px;width:100% !important;height:90% !important;':BROWSER_TYPE.ie6?'right:4px;bottom:2px;':'padding:2px;right:0px;bottom:0px;width:auto;height:auto;'}
14
13
  }
15
14
 
16
- .disabled .textcontrol_input {
15
+ .default .disabled .textcontrol_input {
17
16
  color: #999;
18
17
  }
19
18
 
20
- .textcontrol_input_parent {
19
+ .default .textcontrol_input_parent {
21
20
  position: absolute;
22
- left: -2px; top: -2px;
23
- right: -2px; bottom: -2px;
21
+ #{(BROWSER_TYPE.firefox||BROWSER_TYPE.ie7||BROWSER_TYPE.ie8||BROWSER_TYPE.opera)?'left:0;padding-left:1px;top:0;right:4px;bottom:0;':BROWSER_TYPE.ie6?'left:2px;top:1px;right:1px;bottom:1px;':'left:-2px;top:-2px;right:-2px;bottom:-2px;'}
24
22
  }
25
23
 
26
- .textcontrol_bg {
24
+ .default .textcontrol_bg {
27
25
  position: absolute;
28
26
  left: 2px; top: 2px; right: 2px; bottom: 2px;
29
27
  background-color: #fff;
@@ -32,7 +30,10 @@
32
30
 
33
31
 
34
32
 
35
- .textcontrol_ne, .textcontrol_nw, .textcontrol_se, .textcontrol_sw {
33
+ .default .textcontrol_ne,
34
+ .default .textcontrol_nw,
35
+ .default .textcontrol_se,
36
+ .default .textcontrol_sw {
36
37
  position: absolute;
37
38
  width: 7px; height: 7px;
38
39
  background-repeat: no-repeat;
@@ -40,29 +41,30 @@
40
41
  #{BROWSER_TYPE.ie6?'font-size:0;line-height:0;':''}
41
42
  }
42
43
 
43
- .textcontrol_nw {
44
+ .default .textcontrol_nw {
44
45
  left: 0px; top: 0px;
45
46
  background-position: 0px 0px;
46
47
  }
47
48
 
48
- .textcontrol_ne {
49
+ .default .textcontrol_ne {
49
50
  right: 0px; top: 0px;
50
51
  background-position: -7px 0px;
51
52
  }
52
53
 
53
- .textcontrol_sw {
54
+ .default .textcontrol_sw {
54
55
  left: 0px; bottom: 0px;
55
56
  background-position: 0px -7px;
56
57
  }
57
58
 
58
- .textcontrol_se {
59
+ .default .textcontrol_se {
59
60
  right: 0px; bottom: 0px;
60
61
  background-position: -7px -7px;
61
62
  }
62
63
 
63
64
 
64
65
 
65
- .textcontrol_w, .textcontrol_e {
66
+ .default .textcontrol_w,
67
+ .default .textcontrol_e {
66
68
  position: absolute;
67
69
  width: 7px; top: 7px; bottom: 7px;
68
70
  background-repeat: repeat-y;
@@ -70,19 +72,20 @@
70
72
  #{BROWSER_TYPE.ie6?'font-size:0;line-height:0;':''}
71
73
  }
72
74
 
73
- .textcontrol_w {
75
+ .default .textcontrol_w {
74
76
  left: 0px;
75
77
  background-position: 0px 0px;
76
78
  }
77
79
 
78
- .textcontrol_e {
80
+ .default .textcontrol_e {
79
81
  right: 0px;
80
82
  background-position: -7px 0px;
81
83
  }
82
84
 
83
85
 
84
86
 
85
- .textcontrol_n, .textcontrol_s {
87
+ .default .textcontrol_n,
88
+ .default .textcontrol_s {
86
89
  position: absolute;
87
90
  height: 7px; left: 7px; right: 7px;
88
91
  background-repeat: repeat-x;
@@ -90,12 +93,12 @@
90
93
  #{BROWSER_TYPE.ie6?'font-size:0;line-height:0;':''}
91
94
  }
92
95
 
93
- .textcontrol_n {
96
+ .default .textcontrol_n {
94
97
  top: 0px;
95
98
  background-position: 0px 0px;
96
99
  }
97
100
 
98
- .textcontrol_s {
101
+ .default .textcontrol_s {
99
102
  bottom: 0px;
100
103
  background-position: 0px -7px;
101
104
  }