aboutsummaryrefslogtreecommitdiffstats
path: root/BSF/template-common/inputfix.htc
diff options
context:
space:
mode:
authorvdigital <vdigital@piwigo.org>2008-05-23 21:05:41 +0000
committervdigital <vdigital@piwigo.org>2008-05-23 21:05:41 +0000
commit77fd1f51a3c5f5a52f72ef8a299fe368228e2285 (patch)
treea67ede42904657ccf3349ecdaef1cec8b8e36ff8 /BSF/template-common/inputfix.htc
parent553727dffacc48e8337c1d141f2a25af359e74b1 (diff)
git-svn-id: http://piwigo.org/svn/trunk@2357 68402e56-0260-453c-a942-63ccdbb3a9ee
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>