aboutsummaryrefslogtreecommitdiffstats
path: root/BSF/template-common/inputfix.htc
diff options
context:
space:
mode:
Diffstat (limited to 'BSF/template-common/inputfix.htc')
-rw-r--r--BSF/template-common/inputfix.htc42
1 files changed, 42 insertions, 0 deletions
diff --git a/BSF/template-common/inputfix.htc b/BSF/template-common/inputfix.htc
new file mode 100644
index 000000000..e99d2b2c7
--- /dev/null
+++ b/BSF/template-common/inputfix.htc
@@ -0,0 +1,42 @@
+<public:attach event="oncontentready" onevent="fixElements()" />
+
+<script langage=javascript>
+
+function setFocusStyle()
+{
+ window.event.srcElement.className += ' focus';
+}
+
+function setBlurStyle()
+{
+ window.event.srcElement.className = window.event.srcElement.className.replace( ' focus', ' nofocus');
+}
+
+function setClassFromType()
+{
+ this.className += ' ' + this.type;
+}
+
+function fixElements()
+{
+ for ( var i=0; i<this.elements.length; i++ )
+ {
+ var elem=this.elements[i];
+ switch ( elem.tagName )
+ {
+ case "INPUT":
+ elem.className += ' ' + elem.type;
+ if ( (elem.type != "radio") && (elem.type != "checkbox") )
+ { /* setting focus/nofocus on those is a mess to handle in css */
+ elem.attachEvent( 'onfocus', setFocusStyle );
+ elem.attachEvent( 'onblur', setBlurStyle );
+ }
+ break;
+ case "SELECT":
+ case "TEXTAREA":
+ elem.attachEvent( 'onfocus', setFocusStyle );
+ elem.attachEvent( 'onblur', setBlurStyle );
+ }
+ }
+}
+</script>