var field_effects = {
    containers: [],

    init: function(ids) {
        this.containers = arguments;

        if(!document.getElementById || !document.getElementsByClassName) return;

        var il = this.containers.length;

        for(var i = 0; i < il; i++) {
            var current_form = document.getElementById(this.containers[i]);

            if(!current_form) continue;

            //var related_inputs = $(current_form).select('input[type="text"]');
            var related_inputs = this.getElementsByClassName('input-text', $(current_form));

            var jl = related_inputs.length;
            for(var j = 0; j < jl; j++) {
                var current_input = related_inputs[j];
                Event.observe(current_input, 'focus', this.focusListener.bindAsEventListener(this), false);
                Event.observe(current_input, 'blur', this.blurListener.bindAsEventListener(this), false);
            }

            var related_textareas = current_form.getElementsByTagName('textarea');
            var jl = related_textareas.length;
            for(var j = 0; j < jl; j++) {
                var current_textarea = related_textareas[j]
                Event.observe(current_textarea, 'focus', this.focusListener.bindAsEventListener(this), false);
                Event.observe(current_textarea, 'blur', this.blurListener.bindAsEventListener(this), false);
            }
        }

    },

   focusListener: function(e) {
        var event = window.event ? window.event : e;
        var eventTarget = event.srcElement ? event.srcElement :  event.target;
        if(eventTarget.nodeName.toLowerCase() == 'img') {
            eventTarget = eventTarget.parentNode;
        }

        if(eventTarget.className.indexOf('field-active') != -1) return;
        eventTarget.className += ' field-active';

   },

   blurListener: function(e) {
        var event = window.event ? window.event : e;
        var eventTarget = event.srcElement ? event.srcElement :  event.target;
        if(eventTarget.nodeName.toLowerCase() == 'img') {
            eventTarget = eventTarget.parentNode;
        }

        eventTarget.className = eventTarget.className.replace(/field-active/, '');
   },

    getElementsByClassName: function (searchClass,node,tag) {
            var classElements = new Array();
            if ( node == null )
                    node = document;
            if ( tag == null )
                    tag = '*';
            var els = node.getElementsByTagName(tag);
            var elsLen = els.length;
            var pattern = new RegExp("(^|\\s)"+searchClass+"(\\s|$)");
            for (i = 0, j = 0; i < elsLen; i++) {
                    if ( pattern.test(els[i].className) ) {
                            classElements[j] = els[i];
                            j++;
                    }
            }
            return classElements;
    }



}

