function ecfform_enable(obj){
    ecfform(obj,"enable");
}
function ecfform_disable(obj){
    ecfform(obj,"disable");
}

/*

f = onFocus
b = onBlur
h = onMouseOver
o = onMouseOut
d = onMouseDown
u = onMouseUp
*/

function ecfform(obj,event){
    switch (obj.type){
        case "text":
            ecfform_text(obj,event);
            break;
        case "password":
            ecfform_password(obj,event);
            break;
        case "textarea":
            ecfform_textarea(obj,event);
            break;
        case "button":
            ecfform_button(obj,event);
            break;
        case "submit":
            ecfform_button(obj,event);
            break;
        case "reset":
            ecfform_button(obj,event);
            break;
    }
}

function ecfform_text(obj,event){
    switch (event){
        case "f":
            obj.className = 'ecfFormText ecfFormTextFocus ' + obj.getAttribute("class_base");
            break;
        case "b":
            obj.className = 'ecfFormText ' + obj.getAttribute("class_base");
            break;
        case "disable":
            obj.className = 'ecfFormTextDisabled ' + obj.getAttribute("class_base");
            obj.onfocus = null;
            obj.onblur = null;
            obj.disabled = true;
            break;
        case "enable":
            obj.onfocus = function() { ecfform(this,'f',obj.getAttribute("class_base")) };
            obj.onblur = function() { ecfform(this,'b',obj.getAttribute("class_base")) };
            obj.onblur();
            obj.disabled = false;
            break;
    }
}

function ecfform_password(obj,event){
    switch (event){
        case "f":
            obj.className = 'ecfFormPassword ecfFormPasswordFocus ' + obj.getAttribute("class_base");
            break;
        case "b":
            obj.className = 'ecfFormPassword ' + obj.getAttribute("class_base");
            break;
        case "disable":
            obj.className = 'ecfFormPasswordDisabled ' + obj.getAttribute("class_base");
            obj.onfocus = null;
            obj.onblur = null;
            obj.disabled = true;
            break;
        case "enable":
            obj.onfocus = function() { ecfform(this,'f',obj.getAttribute("class_base")) };
            obj.onblur = function() { ecfform(this,'b',obj.getAttribute("class_base")) };
            obj.onblur();
            obj.disabled = false;
            break;
    }
}

function ecfform_textarea(obj,event){
    switch (event){
        case "f":
            obj.className = 'ecfFormTextarea ecfFormTextareaFocus ' + obj.getAttribute("class_base");
            break;
        case "b":
            obj.className = 'ecfFormTextarea ' + obj.getAttribute("class_base");
            break;
        case "disable":
            obj.className = 'ecfFormTextareaDisabled ' + obj.getAttribute("class_base");
            obj.onfocus = null;
            obj.onblur = null;
            obj.disabled = true;
            break;
        case "enable":
            obj.onfocus = function() { ecfform(this,'f',obj.getAttribute("class_base")) };
            obj.onblur = function() { ecfform(this,'b',obj.getAttribute("class_base")) };
            obj.onblur();
            obj.disabled = false;
            break;
    }
}

function ecfform_button(obj,event){
    switch (event){
        case "h":
            obj.style.backgroundImage = obj.style.backgroundImage.replace(/(_over)|(_down)/,'').replace('.gif','_over.gif');
            break;
        case "o":
            obj.style.backgroundImage = obj.style.backgroundImage.replace(/(_over)|(_down)/,'');
            break;
        case "d":
            obj.style.backgroundImage = obj.style.backgroundImage.replace(/(_over)|(_down)/,'').replace('.gif','_down.gif');
            break;
        case "u":
            obj.style.backgroundImage = obj.style.backgroundImage.replace(/(_over)|(_down)/,'');
            break;
        case "disable":
            obj.className = 'ecfFormButtonDisabled';
            obj.style.backgroundImage = obj.style.backgroundImage.replace(/button_/,'button_dis_');
            obj.onmouseover = null;
            obj.onmouseout = null;
            obj.onmousedown = null;
            obj.onmouseup = null;
            obj.disabled = true;
            break;
        case "enable":
            obj.className = 'ecfFormButton';
            obj.style.backgroundImage = obj.style.backgroundImage.replace(/_dis/,'');
            obj.onmouseover = function() { ecfform(this,'h',obj.getAttribute("class_base")) };
            obj.onmouseout = function() { ecfform(this,'o',obj.getAttribute("class_base")) };
            obj.onmousedown = function() { ecfform(this,'d',obj.getAttribute("class_base")) };
            obj.onmouseup = function() { ecfform(this,'u',obj.getAttribute("class_base")) };
            obj.onmouseout();
            obj.disabled = false;
            break;
    }
}