var field_effects = {

    init: function() {

        if(!document.getElementById || !document.getElementsByClassName) return;

        var container = document.getElementById('order_form') || document.getElementById('support_form');
        if(!container) return;

        var all_text_inputs = document.getElementsByClassName('input_text', container);
        var il = all_text_inputs.length;
        for(var i = 0; i < il; i++ ) {
            var current_item = all_text_inputs[i];
            Event.observe(current_item, 'focus', this.focusListener.bindAsEventListener(this), false);
            Event.observe(current_item, 'blur', this.blurListener.bindAsEventListener(this), false);
        }

        var all_textareas = container.getElementsByTagName('textarea');
        var il = all_textareas.length;
        for(var i = 0; i < il; i++ ) {
            var current_item = all_textareas[i];
            Event.observe(current_item, 'focus', this.focusListener.bindAsEventListener(this), false);
            Event.observe(current_item, '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;
        }

        var field_container = eventTarget.parentNode.parentNode;

        if(elementHasClassName(field_container,'active') || elementHasClassName(field_container,'textarea_active')) return;
        if(eventTarget.nodeName.toLowerCase() == 'input') {
            field_container.className += ' active';
        } else if(eventTarget.nodeName.toLowerCase() == 'textarea') {
            field_container.className += ' textarea_active';
        }

        if(elementHasClassName(field_container,'error')) {
            field_container.className = field_container.className.replace(/error/, 'pending_error');
        }
        window.status = field_container.className

   },

   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;
        }
        var field_container = eventTarget.parentNode.parentNode;
        field_container.className = field_container.className.replace(/textarea_active/, '');
        field_container.className = field_container.className.replace(/active/, '');
        field_container.className = field_container.className.replace(/pending_error/, 'error');
        window.status = field_container.className
   }


}
