

var MedoraLiveSearch;

(function(jQuery) {

    MedoraLiveSearch = function(args) {
        var opts = jQuery.extend({
            ajaxurl: '',
            nonce: '' 
            }, args);

        function search(params) {

            var lastSearch = '';
            var timeout = null;
              
            params = params || {};
            params.formId = 'md_ls_search';
            params.inputId = 'search';
            params.loadingId = 'searchLoader';
            params.searchBodyId = 'searched_results';
            params.messageId = 'searched_body';
			params.closeId = 'searched_close';
            params.url = params.url || jQuery('#medoraLiveSearchAjaxUrl').val();
		
            jQuery('#search').click(function() {

                if ( 'Search' == jQuery('#search').val() ) {
                    jQuery('#search').val('');
                }
            });

            jQuery('#search').keyup(function() {
           

                if ( timeout ) {
                    clearTimeout(timeout);
                }

                lastSearch = jQuery('#'+params.inputId).val();
                
                if ( lastSearch.length < 3 ) {
                    return;
                }

                timeout = setTimeout( function() {
                    
                    jQuery.ajax({
                           'beforeSend': function() {
                                jQuery('#'+params.loadingId).show();
                                lastSearch = jQuery('#'+params.inputId).val();
                            },
                            'cache': false,
                            'url': params.url,
                            'data': { 'search': lastSearch },
                            'type': 'POST',
                            'success': function(data) {
                                jQuery('#'+params.messageId).html(data.html);
                                jQuery('#'+params.loadingId).hide();
                                jQuery('#'+params.searchBodyId).show("slow");
                                jQuery('#seeAll').click(function(){
								jQuery('#'+params.formId).submit();								  
								});
								/*jQuery('#'+params.inputId).blur(function(){	   
									 jQuery('#'+params.searchBodyId).hide("slow");						   					 
								});*/
								
								// LI tag hovering	
								jQuery('#searched_body li').mouseover(function(el){
					                if(jQuery(this).attr('class')!='ajsPart')
									{
									  jQuery(this).children('a').css('color','#fff');	
									  jQuery(this).children('.searched_title').css('color','#fff');	                           
									  jQuery(this).children('p').children('a').css('color','#fff');	
								 
                                      jQuery(this).css('background','url(/wp-content/themes/vccint/images/searchArrowOn.gif) no-repeat  8px 5px #b7b7b7');	

									  
									  }                                     
								});
								jQuery('#searched_body li').mouseout(function(el){									  
									jQuery(this).css('background','');		
                                    jQuery(this).children('.searched_title').css('color','#0e0e0e');	
									jQuery(this).children('a').css('color','#0e0e0e');	
									jQuery(this).children('p').children('a').css('color','#787878');	
								});
								
				 
							   jQuery('#searched_results').focus();
							   
								
                            },
                            'error': function() {
                            },
                            'dataType': 'json',
                            'complete': function() {
                            }
                        });
                    } ,   1000);

            });

			jQuery('#'+params.closeId).click(function(){
			   jQuery('#'+params.searchBodyId).hide("slow");
			}).mouseover(function(el){
			   jQuery(this).css('background','url(/wp-content/themes/vccint/images/closeBtnBg-on.gif) no-repeat left 4px');	
			}).mouseout(function(el){
			   jQuery(this).css('background','url(/wp-content/themes/vccint/images/closeBtnBg.gif) no-repeat left 4px');
			});
			
        return false;
        }

        var api = {
                search: search 
        };

        return api;
    };
 
})(jQuery);
