var keyStr = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=";
var winW;
var winH;

var objs = '';
var openedits = '';
var grouptagpopupstate = false;
var comfacgrouppopupstate = false;

//function $(id) {
//  return document.getElementById(id);
//}

function callAjax(method, target, urlparams)
{
  if (document.getElementById(target)) {
    var req = new AjaxRequest();
    if(urlparams.length>0) { urlparams = urlparams + '&'; }
    var params = urlparams + 'method=' + method + '&target=' + target;
    req.loadXMLDoc('/ajax-xml.php', params);
  }
}

function dofade(el) {
  var i = 10;
  (function f() {
    i=i+2;
    document.getElementById(el).style.opacity = i/100;
    document.getElementById(el).style.filter = 'alpha(opacity='+i+')';
    if (i < 100) {
      var tt = setTimeout(f, 1);
    } else {
      clearTimeout(tt);
    }
  })();
}

function encode64(input) {
   var output = "";
   var chr1, chr2, chr3;
   var enc1, enc2, enc3, enc4;
   var i = 0;

   do {
      chr1 = input.charCodeAt(i++);
      chr2 = input.charCodeAt(i++);
      chr3 = input.charCodeAt(i++);

      enc1 = chr1 >> 2;
      enc2 = ((chr1 & 3) << 4) | (chr2 >> 4);
      enc3 = ((chr2 & 15) << 2) | (chr3 >> 6);
      enc4 = chr3 & 63;

      if (isNaN(chr2)) {
         enc3 = enc4 = 64;
      } else if (isNaN(chr3)) {
         enc4 = 64;
      }

      output = output + keyStr.charAt(enc1) + keyStr.charAt(enc2) + 
         keyStr.charAt(enc3) + keyStr.charAt(enc4);
   } while (i < input.length);
   
   return output;
}

function decode64(input) {
   var output = "";
   var chr1, chr2, chr3;
   var enc1, enc2, enc3, enc4;
   var i = 0;

   // remove all characters that are not A-Z, a-z, 0-9, +, /, or =
   input = input.replace(/[^A-Za-z0-9\+\/\=]/g, "");

   do {
      enc1 = keyStr.indexOf(input.charAt(i++));
      enc2 = keyStr.indexOf(input.charAt(i++));
      enc3 = keyStr.indexOf(input.charAt(i++));
      enc4 = keyStr.indexOf(input.charAt(i++));

      chr1 = (enc1 << 2) | (enc2 >> 4);
      chr2 = ((enc2 & 15) << 4) | (enc3 >> 2);
      chr3 = ((enc3 & 3) << 6) | enc4;

      output = output + String.fromCharCode(chr1);

      if (enc3 != 64) {
         output = output + String.fromCharCode(chr2);
      }
      if (enc4 != 64) {
         output = output + String.fromCharCode(chr3);
      }
   } while (i < input.length);

   return output;
}

function AjaxRequest()
{
  var req;
  var method = "GET";
  var nocache = true;

  this.loadXMLDoc = function(url, params)
  {
    if(window.XMLHttpRequest) {
      try {
        req = new XMLHttpRequest();
      } catch(e) {
        req = false;
      }
    } else if(window.ActiveXObject) {
      try {
        req = new ActiveXObject("Msxml2.XMLHTTP");
      } catch(e) {
        try {
          req = new ActiveXObject("Microsoft.XMLHTTP");
        } catch(e) {
          req = false;
        }
      }
    }
    if(req) {
      req.onreadystatechange = processReqChange;
      if(nocache) {
        params += (params != '') ? '&' + (new Date()).getTime() : (new Date()).getTime();
      }
      if(method == "POST") {
        req.open("POST", url, true);
        req.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
        req.send(params);
      } else {
        req.open(method, url + '?' + params, true);
        req.send(null);
      }
      return true;
    }
    return false;
  }

  this.setMethod = function(newmethod) { method = newmethod.toUpperCase(); }
  this.nocache = function() { nocache = true; }

  // define private methods

  var getNodeValue = function(parent, tagName)
  {
    var node = parent.getElementsByTagName(tagName)[0];
    return (node && node.firstChild) ? node.firstChild.nodeValue : '';
  }

  var processReqChange = function() 
  {
    if(req.readyState == 4 && req.status == 200) {
      if(!req.responseXML) return;
      var response  = req.responseXML.documentElement;
      var commands = response.getElementsByTagName('command');

      for(var i=0; i < commands.length; i++) {
        method = commands[i].getAttribute('method');
        switch(method) {
          case 'setheadercontent':
            var target = getNodeValue(commands[i], 'target');
            var content = getNodeValue(commands[i], 'content');
            if(target && content != null) {
              parent.document.getElementById(target).innerHTML = content;
            }
            break;

          case 'setcontent':
            var target = getNodeValue(commands[i], 'target');
            var content = getNodeValue(commands[i], 'content');
            if(target && content != null) {
              document.getElementById(target).innerHTML = content;
            }
            break;
          case 'appendcontent':
            var target = getNodeValue(commands[i], 'target');
            var content = getNodeValue(commands[i], 'content');
            if(target && content != null) {
              document.getElementById(target).innerHTML += content;
            }
          case 'prependcontent':
            var target = getNodeValue(commands[i], 'target');
            var content = getNodeValue(commands[i], 'content');
            if(target && content != null) {
              document.getElementById(target).innerHTML = content + document.getElementById(target).innerHTML;
            }
            break;
            
          case 'updateformtextfield':
            var target = getNodeValue(commands[i], 'target');
            var content = getNodeValue(commands[i], 'content');
            if(target && content != null) {
              document.getElementById(target).value = content;
            }
            break;

          case 'updateaddressformtextfield':
            var target = getNodeValue(commands[i], 'target');
            var content = getNodeValue(commands[i], 'content');
            if(target && content != null) {
              var bits = content.split("||");
              document.getElementById(target).innerHTML = '(' + bits[0] + ')';
              document.getElementById('attn_name').value = bits[1];
              document.getElementById('phone').value = bits[2];
              document.getElementById('shipaddress').value = bits[3];
            }
            break;

          default:
            window.console.log("Error: unrecognised method '" + method + "' in processReqChange()");
        }
        var toeval = response.getElementsByTagName('jscode');
        var doeval = toeval[0].getAttribute('attr');
        if(doeval == 1) {
          //document.onreadystatechange = function() {
          //  if (document.readyState != 'complete') return ;
              eval(toeval[0].firstChild.data);
          //}
        }
      }
    }
  }
}

function getCheckedValue(radioObj) {
	if(!radioObj)
		return "";
	var radioLength = radioObj.length;
	if(radioLength == undefined)
		if(radioObj.checked)
			return radioObj.value;
		else
			return "";
	for(var i = 0; i < radioLength; i++) {
		if(radioObj[i].checked) {
			return radioObj[i].value;
		}
	}
	return "";
}

function togglediv(obj) {
  if(document.getElementById(obj).style.display == 'block') {
    document.getElementById(obj).style.display = 'none';
  } else {
    document.getElementById(obj).style.display = 'block';
  }
}

function hiderows(rowname) {
  tr = document.getElementsByTagName('tr');
  for (i=0;i < tr.length;i++){
    if (tr[i].getAttribute('name') == rowname){
      tr[i].style.display = tr[i].style.display == 'none' ? '' : 'none';
    }
  }
}

var categorytogglestates = new Array();
function hidecategoryrows(categoryid, rowname, flag) {
  if(grouptagpopupstate == true || comfacgrouppopupstate == true) {
   cClick();
  }
  var categoryids = rowname.split("|");  
  tr = document.getElementsByTagName('tr');
  categorytogglestates[categoryid] = categorytogglestates[categoryid] == 'none' ? '' : 'none';
  for (i=0;i < tr.length;i++){
    for (k=0;k < categoryids.length;k++){      
      if(flag == 'all') {
        if(tr[i].getAttribute('name') == 'row_' +categoryid + '_f') {
          tr[i].style.display = categorytogglestates[categoryid];
        }
        if (tr[i].getAttribute('name') == 'row_' + categoryids[k] + '_d' || tr[i].getAttribute('name') == 'row_' + categoryids[k] + '_f'){
          tr[i].style.display = categorytogglestates[categoryid];
          if(tr[i].getAttribute('name') == 'row_' + categoryids[k] + '_d') {
            categorytogglestates[categoryids[k]] = categorytogglestates[categoryid];
          }
        }
      } else {
        if (tr[i].getAttribute('name') == 'row_' + categoryids[k] + '_f'){
          tr[i].style.display = tr[i].style.display == 'none' ? '' : 'none';
        }
      }
    }
  }
}

var togglefilestate;
function togglefilerows() {
  if(grouptagpopupstate == true) {
   cClick();
  }
  togglefilestate = togglefilestate == 'none' ? '' : 'none';
  tr = document.getElementsByTagName('tr');
  for (i=0;i < tr.length;i++){
    if (tr[i].getAttribute('rowtype') == 'folder'){
      var categoryrowname = tr[i].getAttribute('name');
      var categorysplit = categoryrowname.split("_");
      categorytogglestates[categorysplit[1]] = '';
      tr[i].style.display = '';
    }
    if (tr[i].getAttribute('rowtype') == 'file'){
      tr[i].style.display = togglefilestate;
    }
  }
}

function collapsetotop() {
  if(grouptagpopupstate == true) {
   cClick();
  }
  tr = document.getElementsByTagName('tr');
  for (i=0;i < tr.length;i++){
    if (tr[i].getAttribute('rowlevel') == 'top'){
      var categoryrowname = tr[i].getAttribute('name');
      var categorysplit = categoryrowname.split("_");
      categorytogglestates[categorysplit[1]] = '';
      tr[i].style.display = '';
    } else if(tr[i].getAttribute('rowtype') == 'folder' || tr[i].getAttribute('rowtype') == 'file') {
      var categoryrowname = tr[i].getAttribute('name');
      var categorysplit = categoryrowname.split("_");
      categorytogglestates[categorysplit[1]] = 'none';
      tr[i].style.display = 'none';
    }
  }
}

function expandall() {
  if(grouptagpopupstate == true) {
   cClick();
  }
  tr = document.getElementsByTagName('tr');
  for (i=0;i < tr.length;i++){
    if (tr[i].getAttribute('rowlevel') == 'top'){
      var categoryrowname = tr[i].getAttribute('name');
      var categorysplit = categoryrowname.split("_");
      categorytogglestates[categorysplit[1]] = '';
      tr[i].style.display = '';
    } else if(tr[i].getAttribute('rowtype') == 'folder' || tr[i].getAttribute('rowtype') == 'file') {
      var categoryrowname = tr[i].getAttribute('name');
      var categorysplit = categoryrowname.split("_");
      categorytogglestates[categorysplit[1]] = '';
      tr[i].style.display = '';
    }
  }
}

function expandfacilityselector(wizard) {
  $(document).ready(function() {
   $('#facilityselectorregion').slideUp();
    callAjax('setcontent', 'facilityselectorregion', 'display=getusercompanies&wizard='+wizard+'');
   $('#facilityselectorregion').slideDown();

   $('#pageobj').animate({ opacity: 0.1 });
  });
}

function expandcompanyselector(userid, companyid) {
  $(document).ready(function() {
   $('#facilityselectorregion').slideUp();
    callAjax('setcontent', 'facilityselectorregion', 'display=getuserfacilities_incompany&userid='+userid+'&companyid='+companyid);
   $('#facilityselectorregion').slideDown();

   $('#pageobj').animate({ opacity: 0.1 });
  });
}

function closefacilityselector() {
  $(document).ready(function() {
   $('#facilityselectorregion').slideUp();

   $('#pageobj').animate({ opacity: 1 });
  });
}

function getwindowsize() {
  if (parseInt(navigator.appVersion)>3) {
    if (navigator.appName=="Netscape") {
      winW = window.innerWidth-16;
      winH = window.innerHeight-16;
    }
    if (navigator.appName.indexOf("Microsoft")!=-1) {
      winW = document.body.offsetWidth-20;
      winH = document.body.offsetHeight-20;
    }
  }
} 

function hiliterows(rowname) {
  tr = document.getElementsByTagName('tr');
  for (i=0;i < tr.length;i++){
    if (tr[i].getAttribute('name') == rowname){
      tr[i].style.backgroundColor = '#DDFFF0';
    }
  }
}

var toggleeditstates = new Array();
var toggleeditstates_fc = new Array();
var posY;
var posX;
var lastX;
var lastY;
var intervaltimer;
var fileviewer;
var xfileid;
var newwidth;
var newheight;

function getpos() {
  posY = document.body.scrollTop;
  posX = document.body.scrollLeft;

  if(lastX!=posX || lastY!=posY) {
    lastX = posX;
    lastY = posY;
    updateuploaderregion();
  }

  fileviewer.style.top = 50;
  fileviewer.style.left = posX + 50;

  resetviewerwindow();
}

function updateuploaderregion() {
  document.body.scrollTop = 0;
}

function startPolling(){
  intervaltimer = setInterval("getpos()", 1000);
}

function closeimageviewer() {
  var onionskin = document.getElementById('onionskin');
  onionskin.className = 'onionskin_off';
  fileviewer = document.getElementById('fileviewerdiv');
  fileviewer.style.display = 'none';
  clearInterval(intervaltimer);
}

function viewimage(fileid, companyid, facilityid, returnids) {
  clearInterval(intervaltimer);
  xfileid = fileid;
  var onionskin = document.getElementById('onionskin');
  var pagecontent = document.getElementById('everything');
  var everythingsheight = document.body.offsetHeight;
  onionskin.className = 'onionskin_on';
  onionskin.style.height = everythingsheight;
  
  fileviewer = document.getElementById('fileviewerdiv');
  fileviewer.style.display = '';
  resetviewerwindow();
  startPolling();
  callAjax('setcontent', 'fileviewerdiv', 'display=fileviewer&companyid='+companyid+'&facilityid='+facilityid+'&fileid='+xfileid+'&winH='+newheight+'&winW='+winW+'&returnids='+returnids);
}

function viewnewimage(fileid, page, height) {
  var iframeviewerobj = document.getElementById('imageinviewer');
  iframeviewerobj.src = '/images/?type=file&fileid='+fileid+'&page='+page+'&height='+height;
}

function image_rotate(fileid, rotation) {
  callAjax('setcontent', 'blank', 'display=image_rotate&fileid='+fileid+'&rotation='+rotation);
}

function image_rotate2(fileid, rotation) {
  callAjax('setcontent', 'blank', 'display=image_rotate2&fileid='+fileid+'&rotation='+rotation);
}

function uploader(categoryid, companyid, facilityid) {
  var onionskin = document.getElementById('onionskin');
  var pagecontent = document.getElementById('everything');
  var everythingsheight = document.body.offsetHeight;
  onionskin.className = 'onionskin_on';
  onionskin.style.height = everythingsheight;
  
  fileviewer = document.getElementById('fileviewerdiv');
  fileviewer.style.display = '';
  resetviewerwindow();
  startPolling();
  callAjax('setcontent', 'fileviewerdiv', 'display=uploader&companyid='+companyid+'&facilityid='+facilityid+'&categoryid='+categoryid+'&winH='+newheight+'&winW='+winW);
}

function fileedit(fileids) {
  clearInterval(intervaltimer);
  var onionskin = document.getElementById('onionskin');
  var pagecontent = document.getElementById('everything');
  var everythingsheight = document.body.offsetHeight;
  onionskin.className = 'onionskin_on';
  onionskin.style.height = everythingsheight;
  
  fileviewer = document.getElementById('fileviewerdiv');
  fileviewer.style.display = '';
  resetviewerwindow();
  startPolling();
  callAjax('setcontent', 'fileviewerdiv', 'display=multi_file_edit&fileids='+fileids+'&winH='+newheight+'&winW='+winW);
}

function delete_file(fileid) {
  var confirmation = prompt("Type 'delete' in this box to confirm you want to delete this file.");
  if(confirmation == 'delete') {
    callAjax('setcontent', 'blank', 'display=delete_file&fileid='+fileid);
    return false;
  }
  return false;
}

function delete_file2(fileid) {
  var confirmation = prompt("Type 'delete' in this box to confirm you want to delete this file.");
  if(confirmation == 'delete') {
    callAjax('setcontent', 'blank', 'display=delete_file2&fileid='+fileid);
    return false;
  }
  return false;
}

function multi_file_edit_js(fileid, fileids) {
  callAjax('setcontent', 'fileditlist', 'display=multi_file_edit_list&fileid='+fileid+'&fileids='+fileids);
  callAjax('setcontent', 'fileeditdata', 'display=edit_file_form&fileid='+fileid+'&fileids='+fileids);
  callAjax('setcontent', 'fileeditname', 'display=multi_file_edit_filename&fileid='+fileid);
}

function multi_file_edit_grouptags(fileid, file_categoryid) {
  callAjax('setcontent', 'file_edit_grouptags', 'display=multi_file_edit_grouptags&fileid='+fileid+'&file_categoryid='+file_categoryid);
}

function resetviewerwindow() {
  getwindowsize();
  var padding = 50;
  newwidth = winW - (50 * 2);
  newheight = winH - (50 * 2);
  fileviewer.style.width = newwidth;
  fileviewer.style.height = newheight;
}

function closeviewertable() {
  fileviewer.style.display = '';
}

function togglemsdslabel(obj, labelobj) {
  var checkboxobj = document.getElementById(obj);
  var labeltextobj = document.getElementById(labelobj);
  
  if(checkboxobj.checked) {
    //labeltextobj.innerHTML = 'yes';
    hiderows('msdsrow');
  } else {
    //labeltextobj.innerHTML = 'no';
    hiderows('msdsrow');
  }
}

var dp_cal;      
function init_calendar(obj) {
  dp_cal  = new Epoch('epoch_popup','popup',obj);
};

function CheckIsIE() {
  if (navigator.appName.toUpperCase() == 'MICROSOFT INTERNET EXPLORER') { return true;}
  else { return false; }
} 

function printimage() {
  if (CheckIsIE() == true) {
    document.imageinviewer.focus();
    document.imageinviewer.print();
  } else {
    window.frames['imageinviewer'].focus();
    window.frames['imageinviewer'].print();
  }
}

function imagezoom(amount) {
  if (CheckIsIE() == true) {
    document.imageinviewer.shiftzoom._downKey(36);
    document.imageinviewer.shiftzoom._downKey(36);
  } else {
    window.frames['imageinviewer'].shiftzoom._downKey(36);
    window.frames['imageinviewer'].shiftzoom._downKey(36);
  }
}

function highlightfolderrow(rowid) {
  var highlightrow = 'row_'+rowid+'_d';
  tr = document.getElementsByTagName('tr');
  for (i=0;i < tr.length;i++){
    if (tr[i].getAttribute('rowtype') == 'folder'){
      if(tr[i].getAttribute('name') == highlightrow) {
        tr[i].className = 'highlightfolderrow';
      } else {
        tr[i].className = '';
      }
    }
  }
}

function help_popup(topic, location) {
  overlib('<div id=\'helppopup\'><img src=/images/spinner.png></div>', WRAP, STICKY, FULLHTML, WIDTH, 550, HEIGHT, 300, ANCHOR, location, ANCHORALIGN, '0','ul', ANCHORX, 10);
  callAjax('setcontent', 'helppopup', 'display=helppopup&topic='+topic);
}

function help_popup_close() {
  cClick();
}

function blinkdiv(divname) {
  var oldcolor = document.getElementById(divname).className;
  document.getElementById(divname).className = 'divwarning';
  setTimeout("document.getElementById('"+divname+"').className = '"+oldcolor+"'", 2000);
}

function blinkdiv2(divname) {
  var oldcolor = document.getElementById(divname).className;
  document.getElementById(divname).className = 'divwarning2';
  setTimeout("document.getElementById('"+divname+"').className = '"+oldcolor+"'", 2000);
}

function openmessagepopup(messageid, box) {
  box = box == null || box == 'undefined' ? 'inbox' : box;
  overlib("<div style='z-index: 10000' id='messageviewer' align='center'></div>", FULLHTML, CENTERPOPUP, CENTEROFFSET, -267, -40);
  callAjax('setcontent', 'messageviewer', 'display=messagepopup&messageid='+messageid+'&box='+box);
  setTimeout('getscrollpos();', 600);
}

function closemessagespopup() {
  cClick();
  if (document.getElementById("widget_usermessages")) {
    callAjax('setcontent', 'widget_usermessages', 'display=widget_usermessages');
    callAjax('setcontent', 'messages_navcounter', 'display=message_messagecounter');
  }
}

function getscrollpos() {
  var strCook = document.cookie;  
  if(strCook.indexOf('!~')!=0){  
    var intS = strCook.indexOf('!~');  
    var intE = strCook.indexOf('~!');  
    var strPos = strCook.substring(intS+2,intE);  
    document.getElementById('message_list').scrollTop = strPos;  
  }
}

function setscrollpos(){
  var intY = document.getElementById('message_list').scrollTop;
  document.cookie = 'yPos=!~' + intY + '~!';  
}

function getscrollpos_main_companyselector() {
  var strCook = document.cookie;
  if(strCook.indexOf('|~')!=0){
    var intS = strCook.indexOf('|~');
    var intE = strCook.indexOf('~|');
    var strPos = strCook.substring(intS+2,intE);
    document.getElementById('facilityselectorlist').scrollTop = strPos;  
  }
}

function setscrollpos_main_companyselector(){
  var intY = document.getElementById('facilityselectorlist').scrollTop;
  document.cookie = 'yPos=|~' + intY + '~|';
}

var draggableOptions = {
    onStart:function()
    {
      this.el.setOpacity(.5);
    },
    onComplete:function()
    {
      // put the element back where it belongs
      this.el.setOpacity(1);
      this.el.style.left = 0;
      this.el.style.top = 0;
    }
};

var droppableOptions = {
    onOver:function(){
      //this.addClassName('dragover');
    },
    onLeave:function(){
      //this.removeClassName('dragover');
    },
    onDrop:function(objid, targetobject){
      //alert('dropped: '+objid.id+' into: '+this.id);
      switch(this.id) {
        case 'message_trashbox':
          movetotrash(objid.id);
        break;
        case 'message_inbox':
          movetoinbox(objid.id);
        break;
        default:
      }
    }
}

var messagedisplayed = 0;
var locationdisplayed = 'inbox';

function updatemailcounters() {
  callAjax('setcontent', 'widget_usermessages', 'display=widget_usermessages');
  callAjax('setcontent', 'messages_navcounter', 'display=message_messagecounter');
  callAjax('setcontent', 'messages_navcounter_footer', 'display=message_messagecounter');
  callAjax('setcontent', 'leftnavmessages', 'display=messageinleftnav');
}

function setpref(callback, name, value) {
  callAjax('setcontent', 'blank', 'display=setpreference&callback='+callback+'&name='+name+'&value='+value);
}

$(function() {
		$('.datepicker_f').datepicker({
		changeMonth: true,
		changeYear: true,
		dateFormat: 'mm-dd-yy',
		showButtonPanel: true
		});
});

Ext.example = function(){
  var msgCt;
  	
  function createBox(t, s) {
      return ["<div class=\"msg\">", "<div class=\"x-box-tl\"><div class=\"x-box-tr\"><div class=\"x-box-tc\"></div></div></div>", "<div class=\"x-box-ml\"><div class=\"x-box-mr\"><div class=\"x-box-mc\"><h3>", t, "</h3>", s, "</div></div></div>", "<div class=\"x-box-bl\"><div class=\"x-box-br\"><div class=\"x-box-bc\"></div></div></div>", "</div>"].join("");
  }

  return {
  	msg: function(title, format){
  		if (!msgCt) {
  			msgCt = Ext.DomHelper.insertFirst(document.body, {
  				id: "msg-div"
  			}, true);
  		}
  		msgCt.alignTo(document, "t-t");
  		var s = String.format.apply(String, Array.prototype.slice.call(arguments, 1));
  		var m = Ext.DomHelper.append(msgCt, {
  			html: createBox(title, s)
  		}, true);
  		m.slideIn("t").pause(3).ghost("t", {
  			remove: true
  		});
  	}
  };
}();

tinyMCE_GZ.init({
  plugins : 'advimage, preview, spellchecker, table, fullscreen',
  themes : 'advanced',
  languages : 'en',
  disk_cache : true,
  debug : false
});

var grid;
var store;

var printpagepage = 1;
function printwindowopen(url) {
  printwindow = window.open(url+'&page='+printpagepage, 'printwindow', 'location=0,menubar=1,status=1,height=800,width=1200');
  setTimeout('printwindow.print();', 1000);
}

function extmessage(title, message) {
  Ext.onReady(function(){
    Ext.example.msg(title, message);
  });
}

function displayfileinfopopup(fileid) {
  var anchorloc = "file_item_" + fileid;
  //alert(document.getElementById(anchorloc).src);
  //overlib("<div id='fileinfopopup_"+fileid+"'><img src='/images/spinner.png' style='margin-left: 10px;'></div>", WRAP, STICKY, FULLHTML, WIDTH, 550, HEIGHT, 300, ANCHOR, anchorloc, ANCHORALIGN, 'UL','UL');
  callAjax('setcontent', 'fileinfopopup_'+fileid, 'display=fileinfopopup&fileid='+fileid);
  setTimeout("displayfileinfo_delayed("+fileid+");", 500);
}

var popuptimer;
function filemouseover_on(fileid) {
  popuptimer = setTimeout("displayfileinfopopup('"+fileid+"');", 800);
  //displayfileinfopopup(fileid);
}

function filemouseover_off(fileid) {
  clearTimeout(popuptimer);
  //setTimeout("hidefileinfo_delayed("+fileid+");", 1000);
  //hidefileinfo_delayed(fileid);
}

function displayfileinfo_delayed(fileid) {
  $(document).ready(function() {
    $('.fileinfoclass').slideUp();
    $('#fileinfopopup_'+fileid).slideDown();
  });
}

function hidefileinfo_delayed(fileid) {
  $(document).ready(function() {
    $('#fileinfopopup_'+fileid).slideUp();
  });
}