AJAX_GATEWAY="ajaxGateway.php";
$(function() {
    initTree();
});
$(window).load(function() {
    
 //   initScrollbars();
    $('.hirek').parent('.TocFolderNodeTitle').click(function(){
            
        baseRedirect('hirek');
    });
    initKapcsolodoCegek();
    initFavouritesButton();
       
});

function initFavouritesButton(){
    $("#FavouritesMenuButton").click(function(){
        if($("#LoggedIn").attr("value")=="1"){
            if ($("#DocHistory").html()==""){
                loadDocHistory();
                loadFavourites();
                loadSavedSearches();
                loadList();
                initHistoryButton();
                initFavouriteButton();
                initSearchButton();
                initListButton();
            }
        }else{
            showWindow('login');
            return false;
        }
        return true;
    })
}

function initHistoryButton(){
    $("#HistoryButton").click(function(){
        var val = $("#HistoryCount").attr("value");
        if (val=="100"){
            $("#HistoryCount").attr("value","5");
        }else{
            $("#HistoryCount").attr("value","100");
        }
        loadDocHistory();
    })
}
function initFavouriteButton(){
    $("#FavouriteButton").click(function(){
        var val = $("#FavouriteCount").attr("value");
        if (val=="100"){
            $("#FavouriteCount").attr("value","5");
        }else{
            $("#FavouriteCount").attr("value","100");
        }
        loadFavourites();
    })
}
function initSearchButton(){
    $("#SearchButton").click(function(){
        var val = $("#SearchCount").attr("value");
        if (val=="100"){
            $("#SearchCount").attr("value","5");
        }else{
            $("#SearchCount").attr("value","100");
        }
        loadSavedSearches();
    })
}

function initListButton(){
    $("#ListButton").click(function(){
        var val = $("#ListCount").attr("value");
        if (val=="100"){
            $("#ListCount").attr("value","5");
        }else{
            $("#ListCount").attr("value","100");
        }
        loadList();
    })
}

// inicializalja a menu-t
function initTree(){
    $(".TocFolderNode").click(function(event){
        changeNodeState($(this));
    });
    openNodesFromCookie();
}

function initScrollbars(){
//    $('.scrollbar').jScrollPane({
//        showArrows: true
//    });
}

// egy node allapotat valtoztatja, es elmenti cookie-ba
function changeNodeState(tocFolderNode){
    var folderContent=tocFolderNode.parent().find(".FolderContent:first");
    var nodeid = tocFolderNode.find("input:first").attr("id");
    if (folderContent.is(":hidden")) {
        openNode(tocFolderNode);
        addNodeIdToCookie(nodeid);
    }else{
        closeNode(tocFolderNode)
        removeNodeIdFromCookie(nodeid);
    }
}

// kinyit egy bizonyos node-ot
function openNode(tocFolderNode){
    var folderContent=tocFolderNode.parent().find(".FolderContent:first");
    var iconclosed=tocFolderNode.find(".TocClosedFolderIcon");
    var iconopened=tocFolderNode.find(".TocOpenedFolderIcon");

    iconclosed.css("display","none");
    iconopened.css("display","block");
    var elem = tocFolderNode.find(".TocFolderNodeTitleArrow:first");
    elem.removeClass('TocFolderNodeTitleArrow');
    elem.addClass('TocFolderNodeTitleArrowUp');
    folderContent.slideDown('fast', function() {     });

}
// becsuk egy bizonyos node-ot
function closeNode(tocFolderNode){
    var folderContent=tocFolderNode.parent().find(".FolderContent:first");
    var iconclosed=tocFolderNode.find(".TocClosedFolderIcon");
    var iconopened=tocFolderNode.find(".TocOpenedFolderIcon");

    iconclosed.css("display","block");
    iconopened.css("display","none");
    var elem = tocFolderNode.find(".TocFolderNodeTitleArrowUp:first");
    elem.removeClass('TocFolderNodeTitleArrowUp');
    elem.addClass('TocFolderNodeTitleArrow');

    folderContent.slideUp('slow', function() {
        });
}

// a cookie-ban levo node-okat kinyitja (inicializalaskor hivodik meg)
function openNodesFromCookie(){
    var nodelist = readCookie('nodelist');
    if (nodelist){
        var nodes = nodelist.split("/");
        for(var i=0;i < nodes.length;i++) {
            var nodeId = nodes[i];
            if (nodeId.length>1){
                var tocFolderNode = $("#"+nodeId).parent();
                openNode(tocFolderNode);
            }
        }
    }
}

// egy node-ot elment a cookie-ba
function addNodeIdToCookie(id){
    var nodelist = readCookie('nodelist');
    if (nodelist){
        nodelist= nodelist.replace("/"+id, "");
        nodelist=nodelist+"/"+id;
    }else{
        nodelist="/"+id;
    }
    createCookie('nodelist',nodelist,7);
}

// egy node-ot torol a cookie-bol
function removeNodeIdFromCookie(id){
    var nodelist = readCookie('nodelist');
    if (nodelist){
        nodelist= nodelist.replace("/"+id, "");
    }
    createCookie('nodelist',nodelist,7);
}

function initKapcsolodoCegek(){

    $(".cegek").click(function(){
        var torzsszam = $(this).attr("href");

        $.getJSON(AJAX_GATEWAY, {
            action: "getFirmDocidFromTorzszam",
            torzsszam: torzsszam
        }, function(data){
            if(data.docid==""){
                alert('A kapcsolódó dokumentum nem található.');
            }else{
                window.location='ceg?docid='+data.docid+'&docdb=ceginfo';
            }
        })
        return false;
    });
   
}


function loadDocHistory(){
    var container = $("#DocHistory");
    var html='';
    var base = $("base").attr("href");
    base=base.substr(0,base.length-1);
    $.getJSON(AJAX_GATEWAY, {
        action: "JazzStore",
        doing: "list",
        data: '',
        functionname: "BankinfoHistory",
        name: ''
    },function(data){

        var itemCount = $("#HistoryCount").attr("value");
        var i=0;
        for(var obj in data){
            i++;
            if (i>itemCount){
                break;
            }
            html+="<div class=\"HistoryItem\"><a href=\""+base+data[obj].data+"\">"+data[obj].name+"</a></div>";
        }



        container.html(html);
        initHistoryItemPopUp();

    }
    );
}
function loadFavourites(){
 
    $.getJSON(AJAX_GATEWAY, {
        action: "JazzStore",
        doing: "list",
        data: '',
        functionname: "BankinfoFavourites",
        name: ''
    },function(data){
        processFavourites(data);
    }
    );
}

function loadList(){
    $.getJSON(AJAX_GATEWAY, {
        action: "JazzStore",
        doing: "list",
        data: '',
        functionname: "BankinfoFirmList",
        name: ''
    },function(data){
        processList(data);
    });

}

function loadSavedSearches(){
 
    $.getJSON(AJAX_GATEWAY, {
        action: "JazzStore",
        doing: "list",
        data: '',
        functionname: "BankinfoSearchSave",
        name: ''
    },function(data){
        processSavedSearches(data);
    });
    
}

function initSearchLoad(){


    $(".SavedSearchItem").click(function(e){
    
        e.preventDefault();
    
        var id=$(this).parent().find('input').val();
    

        $.get(AJAX_GATEWAY, {
            action: "SearchLoad",
            functionname: 'BankinfoSearchSave',
            id: id
        },function(data){
            baseRedirect('cegkereso');
        });
        return false;
    });
}



function processList(data){
    var container = $("#ListContainer");
    var html='';
    var base = $("base").attr("href");
    base=base.substr(0,base.length-1);
       
    var itemCount = $("#ListCount").attr("value");
        
    var i=0;
    for(var obj in data){
        i++;
        if (i>itemCount){
            break;
        }
        html+="<div class=\"HistoryItem\"><a class=\"UploadedListItem\" onmouseout=\"return true;\" onmouseover=\"return true;\" href=\"#\">"+data[obj].name+"</a><input type=\"hidden\" value=\""+data[obj].id+"\"/><div title=\"Törlés a mentett keresésekből\"  class=\"DeleteToolTip\">x</div></div>";
           
    }

    container.html(html);
    initUploadedListItemClick();
    initHistoryItemPopUp();
        
}

function initUploadedListItemClick(){
    $(".UploadedListItem").click(function(e){
        e.preventDefault();
        var id=$(this).parent().find('input').val();
        baseRedirect('lista'+"?id="+id);
        return false;
    });
}


function processSavedSearches(data){

    var container = $("#SavedSearchesContainer");
    var html='';
    var base = $("base").attr("href");
    base=base.substr(0,base.length-1);
        
    var itemCount = $("#SearchCount").attr("value");
        
    var i=0;
    for(var obj in data){
        i++;
        if (i>itemCount){
            break;
        }
        html+="<div class=\"HistoryItem\"><a class=\"SavedSearchItem\" onmouseout=\"return true;\" onmouseover=\"return true;\" href=\"#\">"+data[obj].name+"</a><input type=\"hidden\" value=\""+data[obj].id+"\"/><div title=\"Törlés a mentett keresésekből\"  class=\"DeleteToolTip\">x</div></div>";
    }

    container.html(html);
    initSearchLoad();
    initHistoryItemPopUp();
        
}


function processFavourites(data){
    var container = $("#FavouritesContainer");
    var html='';
    var base = $("base").attr("href");
    base=base.substr(0,base.length-1);
    var itemCount = $("#FavouriteCount").attr("value");
    var i=0;
    for(var obj in data){
        i++;
        if (i>itemCount){
            break;
        }
        html+="<div class=\"HistoryItem\"><a onmouseout=\"return true;\" onmouseover=\"return true;\" href=\""+base+data[obj].data+"\">"+data[obj].name+"</a><input type=\"hidden\" value=\""+data[obj].id+"\"/><div title=\"Törlés a Kedvencekből\"  class=\"DeleteToolTip\">x</div></div>";
    }

    container.html(html);
    initHistoryItemPopUp();
}

function deleteFavourite(id){

    $.getJSON(AJAX_GATEWAY, {
        action: "JazzStore",
        doing: "delete",
        functionname: "BankinfoFavourites",
        id: id
    },function(data){
        processFavourites(data);

    }
    );
}
function deleteList(id){

    $.getJSON(AJAX_GATEWAY, {
        action: "JazzStore",
        doing: "delete",
        functionname: "BankinfoFirmList",
        id: id
    },function(data){
        processList(data);

    }
    );
}


function deleteSavedSearch(id){

    $.getJSON(AJAX_GATEWAY, {
        action: "JazzStore",
        doing: "delete",
        data: '',
        functionname: "BankinfoSearchSave",
        id: id
    },function(data){
        processSavedSearches(data);

    }
    );
}

var timer;
var timer2;
var active=false;
var tp = false;
function initHistoryItemPopUp(){
    $(".DeleteToolTip").click(function(){
        var parent = $(this).parent();
        var id = parent.find("input").attr("value");
        deleteFavourite(id);
        deleteSavedSearch(id);
        deleteList(id);
        $("#FavouritesContainer").find(".DeleteToolTip").each(function(){
            $(this).fadeOut();
        });
        $("#SavedSearchesContainer").find(".DeleteToolTip").each(function(){
            $(this).fadeOut();
        });
        $("#ListContainer").find(".DeleteToolTip").each(function(){
            $(this).fadeOut();
        });
                    

        active=false;
        tp=false;

        return false;
    })

    
    $(".HistoryItem").mouseover(function(e){
        var item=$(this);

        timer = setTimeout(function() {

            var tooltip = item.find(".DeleteToolTip");
            //var offs = item.offset();
            tooltip.css("top", item.css("top"));
            tooltip.fadeIn();
            active = true;

        }, 500);
    })

    $(".HistoryItem").mouseout(function(){
        if (timer) {
            clearTimeout(timer);
        }
        
        timer2 = setTimeout(function() {
            if (active && !tp){
                $("#FavouritesContainer").find(".DeleteToolTip").each(function(){
                    $(this).fadeOut();
                });
                $("#SavedSearchesContainer").find(".DeleteToolTip").each(function(){
                    $(this).fadeOut();
                });
                $("#ListContainer").find(".DeleteToolTip").each(function(){
                    $(this).fadeOut();
                });
                    
                active=false;
                tp=false;
            }
        }, 500);
        
    })

    $(".DeleteToolTip").mouseover(function(e){
        tp=true;

    })
    $(".DeleteToolTip").mouseout(function(e){
        tp=false;

    })
}

