if (!Array.prototype.map)
{
  Array.prototype.map = function(fun /*, thisp*/)
  {
    var len = this.length;
    if (typeof fun != "function")
      throw new TypeError();

    var res = new Array(len);
    var thisp = arguments[1];
    for (var i = 0; i < len; i++)
    {
      if (i in this)
        res[i] = fun.call(thisp, this[i], i, this);
    }

    return res;
  };
}
function $(e){return document.getElementById(e);}
function cE(e){return document.createElement(e);}

var projects = [];
var sel = null;

function list_files(pid){
    $("lfiles").innerHTML = "";
    $("scrnshots").innerHTML = "";
    sendRequest("index.cgi?cmd=list_files&pid="+pid,function(x){
        var allz = eval(x.responseText);
        for (var i=0;i<allz.length;i++){
            var dv = cE("div");
            dv.id = allz[i][0];
            dv.name = allz[i][1];
            dv.innerHTML = "<a href='index.cgi?cmd=get_file&id="+allz[i][0]+"'>"+allz[i][1]+"</a>";
            $("lfiles").appendChild(dv);
        }
    });
    sendRequest("index.cgi?cmd=list_screenshots&pid="+pid,function(x){
        var allz = eval(x.responseText);
        for (var i=0;i<allz.length;i++){
            var dv = cE("div");
            dv.id = allz[i][0];
            dv.name = allz[i][1];
            dv.innerHTML = "<img width='200px' src='index.cgi?cmd=get_file&id="+allz[i][0]+"' alt='"+allz[i][1]+"' title='"+allz[i][1]+"'/>";
            $("scrnshots").appendChild(dv);
        }
    });
}

function load_project(x){
    sendRequest("index.cgi?cmd=get_project&id="+x,function(x){
        var allz = eval(x.responseText);
        $("title").innerHTML = allz[1];
        $("cat").innerHTML = allz[2];
        $("date").innerHTML = "Created: "+allz[3]+"<br>Modified: "+allz[6];
        $("text").innerHTML = allz[4];
        $("tags").innerHTML = allz[5];
    });
    list_files(x);
}

function click_project(node,id){
    if (sel)sel.className="";
    node.className="active";
    sel = node;
    load_project(id);
    window.location.hash = "#"+id
}

function load_projects(){
    sendRequest("index.cgi?cmd=list_projects",function(x){
        var pjs = eval(x.responseText);
        var sb = $("sidebar");
        var f = 0;
        pjs.map(function(x){
            var d1 = sb.appendChild(cE("div"));
            var d2 = d1.appendChild(cE("div"));
            d2.innerHTML = x[1];
            d2.onclick = function(){
                if (sel==d1)return;
                if (sel)sel.className="";
                d1.className="active";
                sel = d1;
                load_project(x[0]);
            }
            if (!f){
                f=1;
                if (sel)sel.className="";
                d1.className="active";
                sel = d1;
                load_project(x[0]);
            }
        });
        
    });
}

function load(){
    //load_cats();
    //load_projects();
    sel = $("seld");
}

window.onload = load;

