$(document).ready(function() {
    var zIndexNumber = 1000000000;
    $('div').each(function() {
        $(this).css('zIndex', zIndexNumber);
        zIndexNumber -= 10;
    });
    if ((jQuery.browser.msie && parseInt(jQuery.browser.version) <= 6)) {
        var sb = $('#suggestionsBox');
        $('.header', sb).css('width', '255px');
        $('#FlickrImagesList', sb).css('width', '255px');
        $('.qs-b').each(function() {
            $(this).hide();
        });
    }
    $(document).bind("click", function(e){
        var $clicked=$(e.target);

        if(!($clicked.is("#suggestionsDiv") || $clicked.parents().is("#suggestionsDiv"))){
            $("#suggestionsDiv").hide();
        }
    });
});
function getFlickrImages(tag){
    $("#FlickrImages").attr("value", tag);
    $.getJSON("http://api.flickr.com/services/rest/?method=flickr.photos.search&format=json&jsoncallback=?&user_id=66478431@N00&api_key=f044c03043b1d1be95d1c828e7d4198c&machine_tag_mode=all&tags="+tag,
    function(data){
        $("#FlickrImagesList").empty();
        if (data.photos != null){
            $("#FlickrImages").show();
            $.each(data.photos.photo,function(i,item){
                $("<a href='"+getFlickrUrl(item)+"'><img src='"+getFlickrThumbnailUrl(item)+"'/></a>").appendTo("#FlickrImagesList");
                if(i==11)return false;
            });
        }
        setupBorder();
    });
}
function getFlickrThumbnailUrl(item){
    return ('http://farm'+item.farm+'.static.flickr.com/'+item.server+'/'+item.id+'_'+item.secret+'_s.jpg');
}
function getFlickrUrl(item){
    return ('http://www.flickr.com/photos/swedish_institute/'+item.id+'/');
}
function showMore(list,div){
    $.each($("#"+list).find("li"), function(i,item){
        $(item).show();
        $(div).hide();
    });
    setupBorder();
    return false;
}
function lookup(input){
    var inputString = input.value;
    if(inputString.length < 3){
        $("#suggestionsDiv").hide();
    } 
    else{
        $.get("/Avantime/AjaxMethods.ashx?op=get&val="+inputString,
        function(result){
            var data = eval('(' + result + ')');
            if (data.f != null || data.t != null || data.b != null || data.fl != ""){
                var qs=$("#qsdiv");
                var qsPos=qs.position();
                var posTop=qsPos.top+qs.outerHeight();
                var posLeft=qsPos.left-qs.outerWidth()+4;
                
                $(".quicksearch").css("overflow", "visible");
                $("#suggestionsBox").css("top", posTop+"px").css("left", posLeft+"px");
                $("#suggestionsDiv").show();
                $(".suggestionList").empty().removeClass("lastOne");
                
                if (data.f != null && data.f.length > 0){
                    $("#QuickFacts").show();
                    showmore = $("#getFactHits");
                    data.f.length > 2 ? showmore.show():showmore.hide();
                    $.each(data.f, function(i,item){
                        var image = (item.i == "" ? "": "<img src='"+item.i+"' />");
                        var li = $("<li>").html("<a href='"+item.l+"'>"+item.t+image+"<div>"+item.d+"</div></a>")
                        if(i>1)li.hide();
                        li.appendTo("#QuickFactList");
                    });
                    $("#fc").html(data.fc);
                } else $("#QuickFacts").hide();
                if (data.t != null && data.t.length > 0){
                    $("#Tourism").show();
                    showmore = $("#getTourismHits");
                    data.t.length > 2 ? showmore.show():showmore.hide();
                    $.each(data.t, function(i,item){
                        var image = (item.i == "" ? "": "<img src='"+item.i+"' />");
                        var li = $("<li>").html("<a href='"+item.l+"'>"+item.t+image+"<div>"+item.d+"</div></a>")
                        if(i>1)li.hide();
                        li.appendTo("#TourismList");
                    });
                    $("#tc").html(data.tc);
                } else $("#Tourism").hide();
                if (data.b != null && data.b.length > 0){
                    $("#Business").show();
                    showmore = $("#getBusinessHits");
                    data.b.length > 2 ? showmore.show():showmore.hide();
                    $.each(data.b, function(i,item){
                        var image = (item.i == "" ? "": "<img src='"+item.i+"' />");
                        var li = $("<li>").html("<a href='"+item.l+"'>"+item.t+image+"<div>"+item.d+"</div></a>")
                        if(i>1)li.hide();
                        li.appendTo("#BusinessList");
                    });
                    $("#bc").html(data.bc);
                } else $("#Business").hide();
                if (data.fl != ""){
                    if ($("#FlickrImages").attr("value") != data.fl)
                        getFlickrImages(data.fl);
                }
                else
                    $("#FlickrImagesList").empty();
                setupBorder();
            }
            else{
                $("#suggestionsDiv").hide();
            }
        });
    }
}
function setupBorder(){
    var $qs = $("#suggestionsBox");
    var pos = $qs.position();
    var width = $qs.outerWidth();
    var height = $qs.outerHeight();
    
    var tr = pos; tr.left += width;
    var bl = pos; bl.top += height;
    var br = tr; br.top = bl.top;
    
    var $qsdiv = $("#qsdiv");
    var top = $qsdiv.position().top + $qsdiv.outerHeight();
    var left = $qsdiv.position().left;
    var bottomleft = left - $qsdiv.outerWidth() + 4;
    
    $("#border").show();
    $("#border-top-right").css("top", top+"px").css("left", tr.left+"px");
    $("#border-right").css("top", (top+6)+"px").css("left", tr.left+"px").css("height", (height-6)+"px");
    $("#border-bottom-right").css("top", (top+height)+"px").css("left", (bottomleft+width)+"px");
    $("#border-bottom").css("top", (top+height)+"px").css("left", (bottomleft+6)+"px").css("width", (width-6)+"px");
    $("#border-bottom-left").css("top", (top+height)+"px").css("left", bottomleft+"px");
}