﻿// NEWS SWITCHER
jQuery.fn.newsSwitch = function() {
    var _Items = new Array();
    var _LastId = 0;

    // NEWS SWITCHER Loader
    function LoadNewsSwitch() {
        var switchTree = document.getElementById("switchTree");
        if (!switchTree) return;

        var listItems = switchTree.getElementsByTagName("LI");
        if (!listItems) return;

        for (i = 0; i < listItems.length; i++) {
            _Items[i] = listItems.item(i);
        }

        BuildMenu();
        ShowItem(0);
    }

    // NEWS SWITCHER Build the left menu
    function BuildMenu() {
        for (var i = 0; i < _Items.length; i++) {
            var pSource = $("p", _Items[i])[0];
            var aSource = $("a", _Items[i])[0];

            var p = document.createElement("p");
            p.innerHTML = pSource.innerHTML;

            var div = document.createElement("div");
            div.setAttribute("id", "menuItem_" + i);
            div.setAttribute("unselectable", "on");
            div.setAttribute("style", "-moz-user-select:none; -khtml-user-select:none; user-select: none;");
            div.onclick = function() { ShowItem(this.id.replace("menuItem_", "")); };
            div.ondblclick = function() { window.location = aSource.href; };
            div.onmouseover = function() { ToggleHover(this.id); };
            div.onmouseout = function() { ToggleHover(this.id); };
            div.appendChild(p);

            document.getElementById("switchMenu").appendChild(div);
        }
    }

    // NEWS SWITCHER Show item to user
    function ShowItem(id) {
        ClearElements();
        document.getElementById("menuItem_" + _LastId).className = "";
        document.getElementById("menuItem_" + id).className = "selected";
        _LastId = id;

        var aSource = $("a", _Items[id])[0];
        var imgSource = $("img", _Items[id])[0];
        var divSource = $("div", _Items[id])[0];

        var a = document.createElement("a");
        a.setAttribute("href", aSource.href);

        var img = document.createElement("img");
        img.setAttribute("src", imgSource.src);
        a.appendChild(img);
        document.getElementById("switchImage").appendChild(a);

        var div = document.createElement("div");
        div.innerHTML = divSource.innerHTML;
        if (aSource.href) {
            div.setAttribute("onclick", "window.location='" + aSource.href + "'; return false;");
            div.setAttribute("style", "cursor:pointer;");
        }
        document.getElementById("switchText").appendChild(div);
    }

    // NEWS SWITCHER Clear elements
    function ClearElements() {
        document.getElementById("switchImage").innerHTML = "";
        document.getElementById("switchText").innerHTML = "";
    }

    // NEWS SWITCHER Hover on menu item
    function ToggleHover(id) {
        if (id) {
            var item = document.getElementById(id);
            if (item.className != "selected")
                item.className = ((item.className == "") ? "hover" : "");
        }
    }

    return LoadNewsSwitch();
};
