$(document).ready(function () {


    /* Long Term Developments section */
    (function () {

        var selectedLongTermProject = $($("#long_term_developments div.selected")[0]);
        var selectedLongTermProjectLink = $($("#long_term_developments ul.toc li.selected")[0]);
        $("#long_term_developments ul.toc li a").click(function (e) {
            e.preventDefault();
            selectedLongTermProject.removeClass("selected");
            selectedLongTermProjectLink.removeClass("selected");
            selectedLongTermProject = $("#" + this.href.split("#")[1]);
            selectedLongTermProjectLink = $(this.parentNode);
            selectedLongTermProject.addClass("selected");
            selectedLongTermProjectLink.addClass("selected");
        });

    })();


    /* Current Issues section */
    (function () {

        var currentIssuesBox = $("#current_issues");
    
        currentIssuesBox.removeClass("inactive");
        currentIssuesBox.addClass("loading");
    
        var actionsButtons = currentIssuesBox.find("div.navigation_bar div.actions a");
        var previousActionButton = actionsButtons.filter(".previous");
        var nextActionButton = actionsButtons.filter(".next");
    
        var currentIssue, issuesLength;
        var action = function (step) {
                var nextIssue = currentIssue === undefined ? 1 : currentIssue + step;
                
                
                try 
                {
					if(nextIssue > issuesLength)nextIssue=1;
					if(step==-1 && nextIssue==0)nextIssue=issuesLength;
				} 
                catch(ex) 
                {}
                
                if ((issuesLength === undefined) || ((nextIssue <= issuesLength) && (nextIssue >= 1))) {
                    if (currentIssues_JSON[nextIssue]) {
                        issuesLength = currentIssues_JSON[nextIssue].all;
                        currentIssuesBox.find("div.issue").css("background-image", "url(" + currentIssues_JSON[nextIssue].imageUrl + ")");
                        currentIssuesBox.find("div.issue h2").html(currentIssues_JSON[nextIssue].header);
                        currentIssuesBox.find("div.issue div.content").html(currentIssues_JSON[nextIssue].content);
                        currentIssuesBox.find("div.issue div.details a").attr("href", currentIssues_JSON[nextIssue].detailsUrl);
                        currentIssuesBox.find("div.issue input").attr("value", currentIssues_JSON[nextIssue].product);
                        currentIssuesBox.removeClass("loading");
                    } else {
                        currentIssuesBox.addClass("loading");
                        $.getJSON("getCurrentIssues/?issue=" + nextIssue, function (data) { /* INFO: here is URL to Current Issues defined */
                            currentIssues_JSON[nextIssue] = data;
                            action(step);
                        });
                    }
                    currentIssue = nextIssue;
                    currentIssuesBox.find("div.navigation_bar div.current").html("item " + currentIssue + " of " + issuesLength); /* INFO: here is current issue string (ex. "2 of 4 issues") defined */
                }
            };
    
        previousActionButton.click(function (e) {
            e.preventDefault();
            action(-1);
        });
        nextActionButton.click(function (e) {
            e.preventDefault();
            action(1);
            window.clearTimeout(moveNext);
            moveNext = window.setTimeout('$("#current_issues div.navigation_bar div.actions a.next").click()', 7000);
        });
    
        action();
        var moveNext = window.setTimeout('$("#current_issues div.navigation_bar div.actions a.next").click()', 7000);

    })();


});
