function collaborationFilesAjaxRequestStart(sender, eventArgs)
{
  if (eventArgs.get_eventTargetElement() && eventArgs.get_eventTargetElement().getAttribute("isFileDownload"))
  {
    eventArgs.set_enableAjax(false);
  }
}

function toggleVisibility(vsIdElement, vbVisible)
{
  var oElement = document.getElementById(vsIdElement);
  
  if (oElement)
  {
    if (vbVisible)
    {
      oElement.style.display = "inline";
    }
    else
    {
      oElement.style.display = "none";
    }
  }
}

function validateFileUpload(vsIdInputDownload, vsIdLabelInvalid, vsValidExtensions, vbCanBeEmpty)
{
  var oInputUpload = document.getElementById(vsIdInputDownload);
  var oLabelFileFormatInvalid = document.getElementById(vsIdLabelInvalid);
  var i;
  var sFileName;
  var sExtension;
  var bFileValid = false;
  var oValidExtensions;
  
  if (oInputUpload.value != "")
  {
    sFileName = getFileName(oInputUpload.value, true);
    
    sExtension = getFileExtension(sFileName);
      
	  oValidExtensions = vsValidExtensions.split(";");
	    
	  for (i = 0; i < oValidExtensions.length && !bFileValid; i++)
	  {
	    if (sExtension == oValidExtensions[i])
	    {
	      bFileValid = true;
	    }
	  }
  }
  
  if (bFileValid)
  {
    oLabelFileFormatInvalid.style.display = "none";
    return true;
  }
  else {
    if (vbCanBeEmpty && oInputUpload.value == "") {
      oLabelFileFormatInvalid.style.display = "none";
      return true;
    }
    else {
      oLabelFileFormatInvalid.style.display = "inline";
      return false;
    }
  }
}

function changeFileUploadTitle(vsIdInputUpload, vsIdTxtTitle)
{
  var oInputUpload = document.getElementById(vsIdInputUpload);
  var oTxtTitle = document.getElementById(vsIdTxtTitle);
  var sFileName;
  
  if (oInputUpload.value != "")
  {
    sFileName = getFileName(oInputUpload.value,false);
    
    oTxtTitle.value = sFileName;
  }
  else
  {
    oTxtTitle.value = "";
  }
}

function getFileName(vsFullPath, vbWithExtension)
{
  var sFileName;
  var i;
  
  i = vsFullPath.lastIndexOf("\\");
    
  if (i > -1)
	{
	  sFileName = vsFullPath.substring(i + 1, vsFullPath.length);
	}
	else
	{
	  sFileName = vsFullPath;
	}
	
	if (!vbWithExtension)
	{
	  i = sFileName.lastIndexOf(".");
	  
	  if (i > -1)
	  {
	    sFileName = sFileName.substring(0, i);
	  }
	}
	
	return sFileName
}

function getFileExtension(vsFileName)
{
  var sExtension;
  var i;
  
  i = vsFileName.lastIndexOf(".");
	  
	if (i > -1)
	{
	  sExtension = vsFileName.substring(i + 1).toLowerCase();
	}
	else
	{
	  sExtension = "";
	}
	
	return sExtension;
}
