;(function($) {

$.fn.defaultText = function(options) {
        if (!this.length) {
                return this;
        }


        options = $.extend({
                text: 'Enter Text',
                cssClass: 'default'
        }, options || {});

        this.each(function(){
                var input = $(this);;
                var value = input.val();

                var text = options.text;

                if ( text == 'Enter Text' && input.attr('defaultText') != '' ) {
                        text = input.attr('defaultText');
                }

                input.focus(function(){
                        if ( input.val() == text ) {
                                input.val('');
                        }
                        input.removeClass(options.cssClass);
                });

                input.blur(function(){
                        if ( input.val() == '' ) {
                                input.val(text);
                                input.addClass(options.cssClass);
                        }
                        else {
                                input.removeClass(options.cssClass);
                        }
                });

                input.parents('form:first').submit(function(){
                        if ( input.val() == text ) {
                                input.val('');
                        }
                });

                input.trigger('blur');

                return input;
        });
}


$.fn.ajaxLoader = function(options) {

	this.each(function(){
		var el = this;
		var $this = $(this);
		var height = $this.height();
		var data = $(this).metadata();
		if ( options ) $.extend(data, options);
		if ( data.url ) {
			var ind = $('<div style="height:' + height + 'px;"><img src="' + __cakeBase + '/img/indicators/h_small.gif"/></div>').insertAfter(this);
			$this.hide();
			var url = __cakeBase + data.url;
			if ( data.data ) {
				$.post(url, data.data, function(resp){
					if ( data.fmbl ) {
						//el.setInnerFBML(resp);
						$this.html(resp);
						if ( FB.XFBML.Host.parseDomTree ) {
						      setTimeout( FB.XFBML.Host.parseDomTree, 0 );
						}
					}
					else {
					}
					$this.show('fast');
					ind.remove();
				});
			}
			else {
				$.get(url, function(resp){
					if ( data.fbml ) {
						//el.setInnerFBML(resp);
						$this.html(resp);
						if ( FB.XFBML.Host.parseDomTree ) {
						      setTimeout( FB.XFBML.Host.parseDomTree, 0 );
						}
					}
					else {
						$this.html(data);
					}
					$this.show('fast');
					ind.remove();
				});
			}
		}
	});	

	return this;
}


})(jQuery);

