oes.app.dynamicForm = function(){

    /* ---[ CONSTRUCTOR ]--- */
    function init(){

    setDefaults();

	/* initialization code */
	setupEventListeners();

    }

    /* ---[ PUBLIC METHODS ]--- */

    function removeDefaults(){

         $$('.clearOnClick').each(function(defaultCheck){
            var defaultText = defaultCheck.getProperty("alt");
            var currentText = defaultCheck.value;

            if (currentText == defaultText) defaultCheck.value = "";

        });

        }

    function setDefaults(){

         $$('.clearOnClick').each(function(defaultCheck){
            var defaultText = defaultCheck.getProperty("alt");
            var currentText = defaultCheck.value;

            if (currentText == null || currentText == "") {
                defaultCheck.value = defaultText;
                defaultCheck.setStyle("color", "#777");
            }

        });
    }

    /* ---[ PRIVATE METHODS ]--- */

    /* ---[ EVENT LISTENERS ]--- */
    function setupEventListeners(){

    	if($$(".clearOnClick")){
	        $$(".clearOnClick").addEvent("focus", function(){
	            var defaultText = this.getProperty("alt");
	            var currentText = this.value;
	
	            if (defaultText == currentText){
	                this.value = "";
	                this.setStyle("color", "#000");
	            }
	        });

	        $$(".clearOnClick").addEvent("blur", function(){
	            var defaultText = this.getProperty("alt");
	            var currentText = this.value;
	
	            if (currentText == "" )
	            {
	                this.value = defaultText;
	                this.setStyle("color", "#777");
	            }
	        });
    	}
    	
        if($("formSubmit")){
	        $("formSubmit").addEvent("click", function(){
	            removeDefaults();
	            $("thisForm").submit;
	        });
        };
        
        if($$(".checkMaxCount")){
	        $$(".checkMaxCount").addEvent("keyup", function(){
	            var maxLength = this.getProperty("maxlength");
	            var currentLength = this.value.length;
	
	            if (currentLength == maxLength )
	            {
	                alert("The limit on this field is - " + maxLength );
	            }
	        });
        };

    }

    /* ---[ RUN ]--- */
    init();
};

window.addEvent('domready', function(){
    oes.dynamicForm = new oes.app.dynamicForm();
});
