var ksValue = '';
var ksIndex = 0;
var ksMaxIndex = 0;

//
// key search handler
//
function setKeySearch(){
    
    // check index -> must be between 0 and max
    if(ksIndex < 0) ksIndex = ksMaxIndex;
    else if(ksIndex > ksMaxIndex) ksIndex = 0;
    
    if(ksIndex){
        
        // set value into sword field
        $('#sword').val($('#ks'+ksIndex).text());
        
        // remove background fill from all items
        $('#keysearch li').css('background', '#fff');
        
        // apply background fill to selected only
        $('#ks'+ksIndex).css('background', '#ddd');
        
    }
    else {
        // set value into sword field
        $('#sword').val(ksValue);
        
        // remove background fill from all items
        $('#keysearch li').css('background', '#fff');
    }
}

//
// change font handler
//
function changeFont(selector){
    var $cont = $(selector);
    var defaultValue = parseInt($cont.css('fontSize'), 10);
    
    $('div.hpitem button').click(function(){
        
        var fsize = parseInt($cont.css('fontSize'), 10);
        
        switch(this.id){
            case 'finc':
                fsize++;
                break;
            
            case 'fdec':
                fsize--;
                break;
            
            default:
                fsize = defaultValue;
        }
        
        $cont.css('fontSize', fsize + 'px');
    });
}

//
// document.ready handler
//
$(document).ready(function(){
    
    $("#menu li").hover(
        function(){ $("ul", this).fadeIn("fast"); },
        function(){ $("ul", this).fadeOut("fast"); }
    );
    
    $("#srch").click(function(event){
        event.preventDefault();
        $("#srchform").attr("action", '/search/' + $("input:checked").val() + '/' + $("#sword").val());
        $("#srchform").submit();
    });
    
    $("#exp").click(function(event){
        event.preventDefault();
        if($("#options").is(":visible"))
            $("#options").hide(50);
        else
            $("#options").show(50);
    });
    
    $('#sword').keyup(function(event) {
        switch(event.keyCode){
            
            // enter
            case 13:
                event.preventDefault();
                $("#srch").click();
                break;
            
            // escape
            case 27:
                $('#keysearch').hide(50);
                break;
            
            // down arrow
            case 38:
                ksIndex--;
                setKeySearch();
                break;
            
            // up arrow
            case 40:
                ksIndex++;
                setKeySearch();
                break;
            
            default:
                var swordval = ksValue = $("#sword").val();
                
                $.post("/keysearch.php", { 'sword': swordval }, function(data) {
                    
                    // clear holder
                    $('#keysearch').empty();
                    
                    var keywords = $.parseJSON(data);
                    
                    if(null != keywords && keywords.length){
                        
                        ksMaxIndex = keywords.length;
                                    var i = 0;    
                        $.each(keywords, function(i, keyword) {
                            
                            // create new items
                            var ksval = swordval + '<strong>' + keyword.split(swordval)[1] + '</strong>';
                            var ksli = $(document.createElement('li')) 
                                        .attr('id', 'ks' + parseInt(i+1))
                                        .html(ksval)
                                        .hover(function(){
                                            $("#sword").val('');
                                            $("#sword").val($("#ks"+parseInt(i+1)).text());
                                            //$("#sword").val($(this).attr("id"));
                                            //$("#srch").click();
                                        });
                                        
                                        
                            $("#keysearch", document).append(ksli);
                            
                            
                        });
                        
                        
                        
                        // show container
                        $('#keysearch').show(50);
                    }
                    else{
                        ksMaxIndex = 0;
                        
                        // hide container
                        $('#keysearch').hide(50);
                    }
                });
        }
    });
    
    /*$("#keysearch").hover(function(){
        console.log($("#keysearch li").attr('id'));
        });*/
    
    $("#sword").click(function(){
        if($("#sword").val() == "Òúðñè â B-How"){
            $("#sword").val("");
            $("#sword").removeClass("grayed");
        }
    });
    
    $("#sword").blur(function(){
        $('#keysearch').hide(150);
        if($("#sword").val() == ""){
            $("#sword").val("Òúðñè â B-How");
            $("#sword").addClass("grayed");
        }
    });
    
    // font size change
    if(location.href.indexOf('article') > 0 || location.href.indexOf('inactive') > 0 || location.href.indexOf('events') > 0){
        //changeFont('.hpitem h1');
        changeFont('p.sub');
        changeFont('div.cont *');
    }
    
    // inactive article
    if(location.href.indexOf('inactive') > 0){
        $('div.cont').addClass('inactive');
    }
    
    /*
    // search articles
    if(location.href.indexOf('search') > 0){
        
        var sword = $("#sword").val();
        
        var $mathes = $("#search .l, #search .s").filter(function(){
            return $(this).text().indexOf(sword);
        });
        $mathes.each(function(){
            $(this).html($(this).html().replace(new RegExp(sword, "ig"), "<span class='sword'>" + sword + "</span>"));
        });
    }
    */
});



