var timeout    = 500;
var closetimer = 0;
var ddmenuitem = 0;

function jsddm_open()
{  jsddm_canceltimer();
   jsddm_close();
   ddmenuitem = $(this).find('ul').css('visibility', 'visible');}

function jsddm_close()
{  if(ddmenuitem) ddmenuitem.css('visibility', 'hidden');}

function jsddm_timer()
{  closetimer = window.setTimeout(jsddm_close, timeout);}

function jsddm_canceltimer()
{  if(closetimer)
   {  window.clearTimeout(closetimer);
      closetimer = null;}}

$(document).ready(function()
{  $('#jsddm > li').bind('mouseover', jsddm_open)
   $('#jsddm > li').bind('mouseout',  jsddm_timer)});

document.onclick = jsddm_close;


function initSubmenu() {
	$('a.submenuParent').click(function() {
		if( this.parentNode.className.indexOf('inactive')>=0) {
			this.parentNode.className = 'active';
		} else {
			this.parentNode.className = 'inactive';
		}
		return false;
	});
}

function promptNewPage(template, path) {
	var name = prompt("Enter a name for the new file");
	if( name ) {
		var newPath = name;
		if( path ) {
			newPath = path + newPath;
		}
		window.location.href = newPath + ".new?templateSelect=" + template;
	}
}



function initUploads() {
    var button = $('#doUpload');
    log('initUploads', button);

    new AjaxUpload(button,{
        action: '_DAV/PUT?_autoname=true',
        name: 'upload',
        autoSubmit: true,
        responseType: 'json',
        onSubmit : function(file, ext){
            ajaxLoadingOn();
            this.disable();
        },
        onComplete: function(file, response){
            ajaxLoadingOff();
            this.enable();
            loadFiles($("#files"));
        }
    });
    loadFiles($("#files"));
}

function loadFiles(target) {
    target.empty();
    target.append("<tr><td>Please wait while the file list is loaded... <img src='' alt='/templates/images/ajax-loader-sm.gif'/></td></td>");
    $.getJSON("_DAV/PROPFIND?fields=clyde:href,clyde:url,clyde:name,clyde:contentLength,clyde:contentType,clyde:modifiedDate", function(response) {
log('got response',response);
        target.empty();
        if( response ){
            for( i=1; i<response.length; i++ ) {
                var f = response[i];
log('file', f);
                var tr = $("<tr>");
log('1');
                tr.append("<td><a href='" + f.url + "'>" + f.name + "</a></td>");
log('2');
                tr.append("<td>" + toFileSize(f.contentLength) + "</td>");
log('3');
                tr.append("<td>" + findType(f) + "</td>");
log('4');
                tr.append("<td>" + toDisplayDateNoTime(f.modifiedDate) + "</td>");
log('5');
                target.append(tr);
log('added ok');
            }
        } else {
            target.append("<tr><td>No files are currently loaded. Use the button above to add files</td></td>");
        }
    });
}
