/**
 * @author Yasar
 */

(function($){
	$.fn.tiiFormInit = function(options){
		//options = $.extend({},options);
		
		return this.each(function(){
			var $Form = $(this);
			$Form.find('input, select, textarea')
			.unbind('focus').bind('focus',function(){
				if($(this).is('li')) $li=$(this);
				else $li=$(this).closest('li');
				$Form.find('li').filter(function(){return $(this)==$li ? false : true;}).removeClass('focused');
				$li.addClass('focused');
				$li.addClass('clearfix');
			})
			.unbind('blur').bind('blur',function(e){
				if($(e.currentTarget).closest('li').hasClass('focused')) return;
				
				if($(this).is('li')) $li=$(this);
				else $li=$(this).closest('li');
				$li.removeClass('focused');
			})
			;

			
			$Form.find('fieldset > legend')
			.css('cursor','pointer')
			.hover(
				function(){$(this).data('html',$(this).html()).html('Click to '+($(this).next().is(':visible')?'collapse':'expand'));},
				function(){$(this).html($(this).data('html'));}
			)
			.toggle(
				function(){$(this).next().slideUp();},
				function(){$(this).next().slideDown();}
			);
			

			if ($Form.find('#shortcuts').length > 0) {
				$Form.find('a').filter(function(){
					return $(this).attr('name') == '' ? false : true;
				}).each(function(){
					$Form.find('#shortcuts')
					.css({borderBottom:'1px solid #69c',marginBottom:'10px',paddingBottom:'5px'})
					.append('<a href="#'+$(this).attr('name')+'" class="button">'+$(this).attr('title')+'</a>');
				});
			}



			$Form.find('#action_bar :submit').click(function(){
				if ($Form.hasClass('validate') && ! $(this).hasClass('-1') && ! $Form.valid()) return false;
				
				$(this).parent().append('<input type="hidden" name="'+$(this).attr('name')+'" value="'+$(this).attr('class')+'" />');
				$Form.find(':submit').each(function(){$(this).attr('disabled','disabled');});
//				setTimeout(function(){
//					//$Form.submit();
//				},0);
//				$Form.submit(function(){
//					//event.preventDefault();
//					$Form.get(0).submit();
//				}).submit();
				$Form.submit();
			});
			
			$Form.find('#action_bar [name=action].-1').click(function(){
				$('.required').removeClass('required');
			});
			
			
		});
	};
})(jQuery);

