var mainNavigationNode;
var subNavigationNode;
var infoNode;
var contentNode;
var imageNode;
var textNode;
var pageNode;
var fullscreenNode;
var preloader;

function init() {

        mainNavigationNode = document.getElementById('mainNavigation');
        subNavigationNode = document.getElementById('subNavigation');
        infoNode = document.getElementById('info');
        contentNode = document.getElementById('contentNode');
        pageNode = document.getElementById('pageBox');
        imageNode = document.getElementById('imageNode');
        textNode = document.getElementById('textNode');
        fullscreenNode = document.getElementById('fullscreenNode');

		preloader = document.createElement('img');
		preloader.src = "images/preloader.gif";
		addAttribute(preloader, "id", "preloader");
		
        initNavigation();

        }

function clearAll() {

        if(document.getElementById("subNavigationNode") == null) document.getElementById("navigationBox").insertBefore(subNavigationNode, infoNode);
        subNavigationNode.innerHTML = "";
        infoNode.innerHTML = "";
        imageNode.innerHTML = "";
        textNode.innerHTML = "";
        pageNode.innerHTML = "";
        fullscreenNode.innerHTML = "";
        }

function setText(node, url) {

        var myAjax = new Ajax();

        myAjax.url=(url);
        myAjax.onSuccess = function(txt, xml) {
                node.innerHTML = txt;
        }
        myAjax.doRequest();

        }
		
function loadTextAndDo(url, action) {

        var myAjax = new Ajax();

        myAjax.url=(url);
        myAjax.onSuccess = action;
        myAjax.doRequest();

        }

function setImage(node, src) {

       var img = document.createElement('img');
       img.src= src;

       node.appendChild(img);

        }

function getFileList(url, handler) {

        var myAjax = new Ajax();

        myAjax.url=("php/getFilesFromDirectory.php");
        myAjax.params = "directory="+url;

        myAjax.onSuccess = function(txt, xml) {

                var list = txt.split("\n");

                for(var i = 0; i < list.length; i++) {
                        list[i] = url + list[i];
                        }
                list.sort();
                handler(list);
                }

        myAjax.doRequest();

        }

function getDirectoryList(url, handler) {

        var myAjax = new Ajax();

        myAjax.url=("php/getDirectoriesFromDirectory.php");
        myAjax.params = "directory="+url;

        myAjax.onSuccess = function(txt, xml) {

        var list = txt.split("\n");

        	for(var i = 0; i < list.length; i++) {
                        list[i] = url + "/" + list[i];
                        }
                list.sort();
                handler(list);

                }

        myAjax.doRequest();

        }

function getSuffix(url) {
        return url.substring(url.lastIndexOf('.') + 1);
        }

function changeImage(img, src) {
        img.src = src;
        }

function createNewSubNavigationBar(node) {

        var label = document.createElement('span');
        var a                = document.createElement('a');
        var img                = document.createElement('img');

        var bar                = document.createElement('span');
        var br                = document.createElement('br');

        subNavigationNode.appendChild(label);
        subNavigationNode.appendChild(br);

        label.appendChild(a);
        a.appendChild(img);
        addAttribute(img, "class", "subNavigationLabel");

        addAttribute(bar, "class", "subNavigationItems");
        addAttribute(bar, "name", "bar");
		
        bar.style.left = "16px";
        bar.style.top = node.childNodes.length * 25 + 53 + "px";

        a.href = "#";
        a.onclick = showNavigation;

        img.src = "images/subLabel.png";
        node.appendChild(bar);

        return bar;

        }

function addSubNavigationItem(label, action, bar) {

        var a            = document.createElement('a');
        var dashA        = document.createElement('img');
        var dashB        = document.createElement('img');

        a.appendChild(dashA);
        a.appendChild(label);
        a.appendChild(dashB);



        dashA.src = "images/dash_hidden.png";
        addAttribute(dashA, "class", "dash");

        dashB.src = "images/dash_hidden.png";
        addAttribute(dashB, "class", "dash");

        a.href= "#";

        a.onclick        = action;
        a.onmouseup      = function() {activeSubNavItem = a;};
        a.onmouseover    = function() {subNavOver(a);};
        a.onmouseout     = function() {subNavOut(a);};

        bar.appendChild(a);

        return a;

        }

function addAttribute(node, type, value) {

         var attribute = document.createAttribute(type);
         attribute.nodeValue = value;
         node.setAttributeNode(attribute);

}