var one = one || {};
/*
 * Placeholder
 * 
 * Fallback javascript for browsers which don't support the "placeholder"
 * attribute
 */
one.placeholder = {
    defaultClass : '',
    activeClass : '',
    run : function() {
        if (!this.detect()) {
            $('*[placeholder]').each(function(){
                one.placeholder.attach($(this));
            });
        }
    },
    detect : function() {
        var i = document.createElement('input');
        return 'placeholder' in i;
    },
    attach : function(element) {
        //Get placeholder text
        placeholderText = $(element).attr('placeholder');
        if (!placeholderText) {
            return;
        }
        //Set default text - only if it's blank!
		if ($(element).val() == '') {
			$(element).val(placeholderText);
		}
        //Attach
        $(element).focus(function(){
            //Get placeholder text again - hacky :(
            placeholderText = $(this).attr('placeholder');
            if ($(this).val() == placeholderText) {
                $(this).val('');
                if (one.placeholder.defaultClass) {
                    $(this).removeClass(one.placeholder.defaultClass);
                }
                if (one.placeholder.activeClass) {
                    $(this).addClass(one.placeholder.activeClass)
                }
            }
        }).blur(function(){
            //Get placeholder text again - hacky :(
            placeholderText = $(this).attr('placeholder');
            if ($(this).val() == '') {
                $(this).val(placeholderText);
                if (one.placeholder.activeClass) {
                    $(this).removeClass(one.placeholder.activeClass)
                }
                if (one.placeholder.defaultClass) {
                    $(this).addClass(one.placeholder.defaultClass);
                }
            }
        });
    }
}

/* Attach event handlers */
$(document).ready(function(){    
    /* Placeholder */
    one.placeholder.run();
    /* End Placeholder */
});
