var sSearchCfg  = window.oTypoCfg ? 'oTypoCfg' : 'jso_cfg';
var sSearchLang = window[sSearchCfg].lang;

var sWord = '';
var oTime = null;
var oAJAX = null;
var jRes  = jQuery('<div id="wtc_search_res"><img src="http://data.dci-se.de/img/overlay/btn_close.png" alt="X" /><span></span></div>').appendTo(jQuery('#wtc_search').parent().parent());

var requestSearch = function() {
    var sSearchURL  = '/index.php?id='+window.iSearchID+'&ajax=true&type=55';
    
    if (sSearchCfg === 'jso_cfg') sSearchURL = '/fileadmin/usr/core/misc/searchGateway.php';
    
    sSearchURL += (sSearchLang == 'en') ? '&L=1' : '';
    
    if (!sWord) return;
    
    oTime = null;
    
    oAJAX = jQuery.post(sSearchURL, { "search": sWord }, function(sData) {
        
        //jRes.stop(true, true).fadeIn('fast').children('span').html(jQuery(sData).find('#wts_search_results').children());
        jRes.stop(true, true).fadeIn('fast').children('span').html(sData);
    });
}


var sFieldLabel = 'Schnellsuche';

if (sSearchLang == 'en') sFieldLabel = 'Quick search';

if (jQuery('#wtc_search').val() !== sFieldLabel) jQuery('#wtc_search').addClass('jsc_edited');

jQuery('#wtc_search').focus(function() {
    if (jQuery(this).val() === sFieldLabel) jQuery(this).val('').addClass('jsc_edited');
}).blur(function() {
    if (jQuery(this).val() === '') jQuery(this).val(sFieldLabel).removeClass('jsc_edited');
}).keyup(function(oEvt) {
    var jE   = jQuery(this);
    var sVal = jE.val();
    
    if (sVal === sWord) return;
    
    jE[(sVal === sFieldLabel) ? 'removeClass' : 'addClass']('jsc_edited');
    
    if (oEvt.keyCode == 13) {
        sWord = sVal;
        requestSearch();
    }
    
    if (sVal.length > 2) {
        // Check if new search word includes the old one (no chars deleted)
        if (sVal.substr(0, sWord.length) === sWord) {
            sWord = sVal;
            
            if (!oTime) {
                oTime = setTimeout(requestSearch, 250);
            }
        }
        else {
            if (oTime) clearTimeout(oTime);
            
            if (oAJAX) {
                oAJAX.abort();
                oAJAX = null;
            }
            
            sWord = sVal;
            
            oTime = setTimeout(requestSearch, 250);
        }
    }
});


jQuery('#wtc_search').parent().submit(function() {
    sWord = jQuery('#wtc_search').val();
    requestSearch();
    
    return false;
});


var oLeaveTimer = null;


jQuery('#wtc_search_res img[alt="X"]').click(function() {
    jQuery('#wtc_search_res').stop(true, true).fadeOut('fast');
});

jQuery('#wtc_search_res').mouseleave(function() {
    if (oLeaveTimer) {
        clearTimeout(oLeaveTimer);
        oLeaveTimer = null;
    }
    
    oLeaveTimer = setTimeout(function() {
        jQuery('#wtc_search_res').stop(true, true).fadeOut('fast');
    }, 1000);
}).mouseenter(function() {
    if (oLeaveTimer) {
        clearTimeout(oLeaveTimer);
        oLeaveTimer = null;
    }
});

