YAHOO.namespace( 'snet' );
YAHOO.snet.Input = function(oParams) {
    var oInputElm;
    var init = function() {
        oInputElm = YAHOO.util.Dom.get(oParams.id);
        if (!oInputElm) 
            return;
        if (oInputElm.value == '') {
            oInputElm.value = oParams.defaultvalue;
        }
        YAHOO.util.Event.addListener(oInputElm, 'blur', handleBlur);
        YAHOO.util.Event.addListener(oInputElm, 'focus', handleFocus);
        if (oParams.preventsubmit) {
            YAHOO.util.Event.addListener(oParams.id + 'form', 'submit', checkSubmit);
        }
    }
    var addClass = function(setClass){
        if (setClass) {
            oInputElm.className = setClass;
        }
    }
    var checkSubmit = function(e){
        if ((oInputElm.value == '') || (oInputElm.value == oParams.defaultvalue)) {
            YAHOO.util.Event.stopEvent(e);
        }
    }
    var handleBlur = function(){
        if (oInputElm.value == '') {
            oInputElm.value = oParams.defaultvalue;
        }
        addClass(oParams.blurclassname);
    }
    var handleFocus = function(){
        if (oInputElm.value == oParams.defaultvalue) {
            oInputElm.value = '';
        }
        addClass(oParams.focusclassname);
    }
    init();
}

