/*
 * Searchbox 0.1
 */

(function($) {
	$.fn.of_inputswitch = function(settings){
		
		var config = {
			clearer: 'clear'
		};
 
     	if(settings){
			$.extend(config,settings);
		} 
		
		this.each(function(){

			// global object
			var trigger = $(this);
			var triggerVal = trigger.val();
			
			if(triggerVal == 'Wo' || triggerVal == 'Was'){
				trigger.addClass('italic')
			}
			else {
				if(trigger.hasClass(config.clearer)){
			
					trigger.after('<div class="clearer"></div>').next('.clearer').bind('click',function(e){
						
						e.preventDefault();
						
						trigger.val('').parents('form').submit();
						
					});
				}
			}
			
			// Leere value des input Feldes bei klick und befülle es bei blur falls leer
			trigger.bind('click focus',function(){
	
				var thisInput = $(this);
				var thisInputVal = thisInput.val();
				
				if(thisInputVal == 'Wo' || thisInputVal == 'Was'){
					thisInput.val('').removeClass('italic');
				}
				
			}).bind('blur',function(){
			
				var thisInput = $(this);
				var thisInputVal = thisInput.val();
				
				if(thisInputVal == ''){
					thisInput.val(thisInput.attr('rel')).addClass('italic');
				}
				else if(thisInputVal != 'Wo' || thisInputVal != 'Was'){
					
					if(thisInput.hasClass(config.clearer)){
				
						thisInput.after('<div class="clearer"></div>').next('.clearer').bind('click',function(e){
							
							e.preventDefault();
							
							thisInput.val('').parents('form').submit();
							
						});
					}
				}
			});
		});
		
		return this;
	};
})(jQuery);

/*
 * INIT JS
 */

$(document).ready(function(){
	
	var plugin = $('.tx-ofdirectories-pi1');

	/*
	 * Handle Search Form
	 */
	
	var form = plugin.children('form');
	
	if(form.length > 0){
		
		// Submit on change
		form.find('.direct').bind('change', function(e){
			form.submit();
		});
		
		// Search Box
		form.find('input:text').of_inputswitch().bind('focus blur', function(){
			$(this).toggleClass('ui-state-focus ui-state-active');
		});
		
		// Tooltips
		form.find('img.icon').tipTip({
			activation: 'hover',
			keepAlive: false,
			maxWidth: '265px',
			edgeOffset: 5,
			defaultPosition: 'right',
			delay: 400,
			fadeIn: 200,
			fadeOut: 200,
			attribute: 'title',
			content: false, // HTML or String to fill TipTIp with
			enter: function(){},
			exit: function(){}
		});
		
		// Select Menus
		form.find('select').selectmenu({
			transferClasses: true,
			style: 'dropdown',
			width: null,
			menuWidth: null,
			handleWidth: 26,
			maxHeight: null,
			typeAhead: 'sequential'
		});
		
		// Buttons
		form.find('.button').button();
	}
	
	/*
	 * Handle List-Items
	 */
	
	var items = plugin.children('.item');
	
	if(items.length > 0){
		
		// show/hide tags tags
		items.each(function(i){
			
			var tags = $(this).children('.tags');
			
			if(tags.length > 1){
				
				tags.addClass('indent').children('dd').hide().end().children('dt').bind('click',function(){
					
					var thisDT = $(this);
					var thisDTicon = thisDT.children('span');
					
					if(thisDTicon.hasClass('ui-icon-plus')){
						thisDTicon.removeClass('ui-icon-plus').addClass('ui-icon-minus');
					}
					else {
						thisDTicon.removeClass('ui-icon-minus').addClass('ui-icon-plus');
					}
					
					thisDT.next('dd').toggle('fast');
				});
			}
		});
	}	
});
