/**
 *  EXAMPLE USAGE:
    <script type="text/javascript">
        var rootFolder = "/Company Home/Organisaties";
    </script> 
    <script type="text/javascript" src="/PROJECT/alfrescobrowser_common.js"></script>
 * 
 */   

if (alfurl == undefined) var alfurl = "https://www.veraweb.be";
if (arrowUpIcon == undefined) var arrowUpIcon = "http://www.vera.be/files/arrow_up.gif";
if (rootFolder == undefined) var rootFolder = "/Company Home/Organisaties";




var ALFRESCO_HEADER_SRC = "alfrescoHeaderSourceDiv";
var ALFRESCO_FOLDER_SRC = "alfrescoFolderSourceDiv";
var ALFRESCO_CONTENT_SRC = "alfrescoContentSourceDiv";
var ALFRESCO_HEADER = "alfrescoHeader";
var ALFRESCO_FOLDER = "alfrescoFolder";
var ALFRESCO_CONTENT = "alfrescoContent";


var ticket;

  
  
  function nameSort(a, b) {
    if (a.name.toLowerCase() > b.name.toLowerCase()) {
      return 1;
    } else {
      return -1
    }
  }

  function folderDataReceived(result) {
        document.getElementById('alfrescoLoading').style.visibility = 'hidden';
        var headerDiv = document.getElementById(ALFRESCO_HEADER);
        var folderDiv = document.getElementById(ALFRESCO_FOLDER);
        var contentDiv = document.getElementById(ALFRESCO_CONTENT);
        var sourceHeader = document.getElementById(ALFRESCO_HEADER_SRC).innerHTML.replace(/<table>/g,'').replace(/<\/table>/g, '').replace(/<tbody>/g,'').replace(/<\/tbody>/g, '');
        var sourceFolder = document.getElementById(ALFRESCO_FOLDER_SRC).innerHTML.replace(/<table>/g,'').replace(/<\/table>/g, '').replace(/<tbody>/g,'').replace(/<\/tbody>/g, '');
        var sourceContent = document.getElementById(ALFRESCO_CONTENT_SRC).innerHTML.replace(/<table>/g,'').replace(/<\/table>/g, '').replace(/<tbody>/g,'').replace(/<\/tbody>/g, '');
        var headerS = "";
        var folderS = '<table cellspacing="5">'+document.getElementById(ALFRESCO_FOLDER_SRC+"H").innerHTML.replace(/<table>/g,'').replace(/<\/table>/g, '').replace(/<tbody>/g,'').replace(/<\/tbody>/g, '');
        var contentS = '<table cellspacing="5">'+document.getElementById(ALFRESCO_CONTENT_SRC+"H").innerHTML.replace(/<table>/g,'').replace(/<\/table>/g, '').replace(/<tbody>/g,'').replace(/<\/tbody>/g, '');

        if (result.name) {
            var line = sourceHeader;
            line = line.replace(/@NAME@/g, result.name);
            headerS = headerS + line;
        } 

        if (result.parent) {
        if (result.parent != '/Company%20Home') {
            var line = sourceFolder;
            //line = line.replace(/@NAME@/g, '<img src="/oleuven/files/arrow_up.gif" border="0">&nbsp; .. Omhoog');
            line = line.replace(/@NAME@/g, ' .. Omhoog');
            line = line.replace(/@PATH@/g, result.parent);
            line = line.replace(/@CREATEDDATE@/g, "");
            line = line.replace(/@MODIFIEDDATE@/g, "");
            line = line.replace(/@DESCRIPTION@/g, "");
            line = line.replace(/@ICON16@/g, arrowUpIcon);
            folderS = folderS + line;
        }
        }
        


        var entries = result.children;
        
        entries.sort(nameSort);        
        
        for(i=0;i<entries.length;i++) {
          if (!entries[i]) break; //IE fix
          if (entries[i].type == 'folder') {
            if (entries[i].name != "Data Dictionary") {
            var line = sourceFolder;
            var a="";
            if (entries[i].name) a = entries[i].name; else a = "";
            line = line.replace(/@NAME@/g, a);
            if (entries[i].url) line = line.replace(/@URL@/g, entries[i].url);
            if (entries[i].size) line = line.replace(/@SIZE@/g, entries[i].size);
            if (entries[i].path) line = line.replace(/@PATH@/g, entries[i].path);
            if (entries[i].createdDate) a = entries[i].createdDate; else a ="";
            line = line.replace(/@CREATEDDATE@/g, a);
            if (entries[i].modifiedDate) a = entries[i].modifiedDate; else a = "";
            line = line.replace(/@MODIFIEDDATE@/g, a);
            if (entries[i].description) a = entries[i].description; else a ="";
            line = line.replace(/@DESCRIPTION@/g, a);
            
            if (entries[i].icon32) a = alfurl+'/alfresco'+entries[i].icon32; else a ="";
            line = line.replace(/@ICON32@/g, a);
            if (entries[i].icon16) a = alfurl+'/alfresco'+entries[i].icon16; else a ="";
            line = line.replace(/@ICON16@/g, a);             
            
            folderS = folderS + line;
            }
          } else if (entries[i].type == 'content') {
            if (goodFile(entries[i]))  {

            var line = sourceContent;
            if (entries[i].name) line = line.replace(/@NAME@/g, entries[i].name);
            if (entries[i].url) line = line.replace(/@URL@/g, alfurl+entries[i].url+"?alf_ticket="+ticket);
            if (entries[i].size) line = line.replace(/@SIZE@/g, entries[i].size);
            if (entries[i].path) line = line.replace(/@PATH@/g, entries[i].path);
            if (entries[i].size) line = line.replace(/@SIZE@/g, entries[i].size);
            if (entries[i].createdDate) line = line.replace(/@CREATEDDATE@/g, entries[i].createdDate);
            if (entries[i].modifiedDate) line = line.replace(/@MODIFIEDDATE@/g, entries[i].modifiedDate);
            if (entries[i].author) line = line.replace(/@AUTHOR@/g, entries[i].author);
            if (entries[i].description) a = entries[i].description; else a = "";
            line = line.replace(/@DESCRIPTION@/g, a);
            
            if (entries[i].icon32) a = alfurl+'/alfresco'+entries[i].icon32; else a ="";
            line = line.replace(/@ICON32@/g, a);
            if (entries[i].icon16) a = alfurl+'/alfresco'+entries[i].icon16; else a ="";
            line = line.replace(/@ICON16@/g, a);
            
            
            contentS = contentS + line;
            }
          }
        }
        headerDiv.innerHTML = headerS;
        folderDiv.innerHTML = folderS + '</table>';
        contentDiv.innerHTML = contentS + '</table>';

  }


  function retrieveAlfrescoFolder(path, div) {
    $.getJSON(alfurl+"/alfresco/service/lodgonws/folder"+path+"?format=json&alf_ticket="+ticket+"&cb=?", {}, function() {});
    document.getElementById('alfrescoLoading').style.visibility = 'visible';
  }


  function login() {
try{
    var u = document.getElementById("loginname").value;
    var pw = document.getElementById("loginpwd").value;
    $.getJSON(alfurl+"/alfresco/service/api/login?cb=?", { format:'json',u : u, pw : pw });
}catch(e) {
alert(e);
}
  }

  function doLogin(x) {
if (x.ticket) {
          ticket = x.ticket;
          document.getElementById("alfrescoMain").style.display = 'block';
          document.getElementById("alfrescoInitialContent").style.display = 'none';
          document.getElementById("alfrescoLogin").style.display = 'none';
          retrieveAlfrescoFolder(rootFolder);
}
  }

  function logout() {
    ticket = "";
    document.getElementById("alfrescoMain").style.display = 'none';
    document.getElementById("alfrescoLogin").style.display = 'block';
    document.getElementById("alfrescoInitialContent").style.display = 'block';
  }

  function checkLogin() {
  }


  function goodFile(f) {
     var name = f.name;
    if (name.length == 36) {
      if (name.substring(8,9) == '-' && name.substring(13,14) == '-' && name.substring(18,19) == '-' && name.substring(23,24) == '-') {
        if (f.size == 0) {
          return false;
        }
      }
    }
    return true;
  }
