//Menu Related
    $(document).ready(function(){
        $('.nav_menu').hover(
            function(){
                $(this).children('.nav_popup').css('display','inline');
            },
            function(){
                $(this).children('.nav_popup').css('display','none');
            }
        );
        $('#search').val('quick search');
        $('#search').css('color','#aaaaaa');
        $('#search').css('font-style','italic');
    });

//Search Related
        $(document).ready(function(){
            $('#search').keyup( function (){ searchText() } );
            $('#search').change( function (){ searchText() } );
            $('#search').focus( function () {
                if ($('#search').val() == 'quick search') $('#search').val('');
                $('#search').css('color','black');
                $('#search').css('font-style','normal');
            });
            $('#search').blur( function () {
                if ($('#search').val() == '') {
                    $('#search').val('quick search');
                    $('#search').css('color','#aaaaaa');
                    $('#search').css('font-style','italic');
                }
            });
        });
        
        function preg_safe( regex ) {
            return (regex+'').replace(/([\\\.\+\*\?\[\^\]\$\(\)\{\}\=\!\<\>\|\:])/g, "\\$1");
        }

        var ajaxQueue = 0;
        var lastAjaxQueue = 0;
        var searching = 0;
        var lastSearch = '';
        var newSearch = '';
        
        submitSearchForm = function (){
            document.getElementById('searchform').submit();
        }
        
        searchText = function() {
            newSearch = $('#search').val().replace('&','ampersand');
            performSearch();
        }
        performSearch = function() {
            if (newSearch != lastSearch){
                if (newSearch.length >2) {
                    $('#suggestionBox').css('display','block');
                }
                else {
                    $('#suggestionBox').css('display','none');
                }
                if (searching == 0){
                    lastSearch = newSearch;
                    searching = 1;
                    var suggestionField = document.getElementById('search_suggest');

                    if (newSearch.length <2){
                        searching = 0;
                    }
                    else {
               
                        ajaxQueue = new Date().getTime();
                        $.ajax({url: suggestsearchurl,
                            type: 'POST',
                            data: 'text='+newSearch+'&category='+$('#catselect').val()+'&sync='+ajaxQueue,
                            dataType: 'json',
                            async: true,
                            success: function(result){
                                if (result['sync'] > lastAjaxQueue){
                                    lastAjaxQueue = result['sync'];

                                    suggestionField.innerHTML = "";

                                    var category = new Array();
                                    var cat_index = new Array();
                                    var cat_count = -1;

                                    searching = 0;
                                    if (result['suggest']){            
                                        for (n=0;n<result['suggest']['prod'].length;n++){
                                            if ( typeof(category[result['suggest']['category'][n]]) == 'undefined' ) {
                                                cat_count = cat_count + 1;
                                                cat_index[cat_count] = result['suggest']['category'][n];
                                                category[result['suggest']['category'][n]] = document.createElement('div');
                                                category[result['suggest']['category'][n]].innerHTML = "<div class='search_cat_heading'>" + result['suggest']['category'][n] + "</div>";
                                            }
                                        
                                            image = '<img style="float:left" '+ result['suggest']['image'][n].replace('<','').replace('>','')  +'>';
                                            price = '<div class="suggest_price" style="float:right">&pound;'+ result['suggest']['price'][n]+"</div>";                                    
                                            display = result['suggest']['prod'][n];
                                            highlight = newSearch.split(" ");
                                            for (var i in highlight){
                                                display = display.replace( new RegExp ( preg_safe(highlight[i]), 'i'),"<b>"+highlight[i]+"</b>");
                                            }
                                            category[result['suggest']['category'][n]].innerHTML += "<a href='/p"+result['suggest']['id'][n]+".htm'><div class='suggest'>" +image+price+display+ "<div style='clear:both'></div></div></a>"
                                        }
                                        
                                        for(var n=0;n<cat_index.length;n++){
                                            suggestionField.appendChild( category[cat_index[n]] );
                                        }
                                        
                                    }
                            
                                    if (result['quantity']){
    
                                        if (result['quantity'] == 1){
                                            plural = '';
                                        }
                                        else {
                                            plural = 's';
                                        }
                                        action = "submitSearchForm()";
                                        suggestionField.innerHTML += "<div class='suggest_total' onclick='"+action+"'><em>" +result['quantity']+ " result" +plural+" found <img src='"+searcharrow+"' alt='' style='margin-right:25px'/></em></div>";
                                    }
                                }
                                $('.suggest').hover(
                                    function () {
                                        $(this).addClass('suggest_hover');
                                    },
                                    function () {
                                        $(this).removeClass('suggest_hover');                                    
                                    }
                                );
                                
                                if (typeof('register_search_results')=='function') register_search_results();
                            },
                            error: function(reqObj, errorStatus, errorThrown){
                                searching = 0;
                            }
                        });
                    }
                }
                else {
                    setTimeout('searchText();',500)
                }
            }
        }
        
