// Return first index of element in array
function getElementIndex(arrayOfElements, element) {
   for (elementIndex in arrayOfElements) {
	   if (arrayOfElements[elementIndex] == element) {
		   return elementIndex;
	   }
   }
   return -1;
}

// Return the file name entered into input[type=file] tag
function getFileInputValue(tagId) {
   var fileInput = document.getElementById(tagId);
   
   if (fileInput == null || fileInput == undefined || fileInput == void 0) {
	   return null;
   }
   
   return fileInput.value;
}

// Set file name in input[type=file] tag
function clearFileInputValue(tagId) {
   var fileInputParent = document.getElementById(tagId).parentNode;
   
   if (fileInputParent != null && fileInputParent != undefined && fileInputParent != (void 0)) {
	   fileInputParent.innerHTML = document.getElementById(tagId).parentNode.innerHTML;
   }
}

// Get file extension from given file name string
function getFileNameExtension(fileName) {
   var fileExtension = '';
   
   if (fileName != null && fileName != undefined && fileName != (void 0) && fileName.length > 0) {
	   var lastDotIndex = fileName.lastIndexOf('.', fileName.length);
	   
	   if (lastDotIndex > 0) {
		   fileExtension = fileName.substring(lastDotIndex + 1, fileName.length);
	   }
   }
   
   return fileExtension;
}

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


// Check if given input[type=file] tag has file name with accepted file extension
function checkFileExtension(tagId) {
  var acceptedExtensions = new Array('pdf', 'doc', 'rtf', 'odt', 'txt');
  
  var fileName = getFileInputValue(tagId);
  var fileExtension = getFileNameExtension(fileName);
  
  if (fileName.length > 0 && fileExtension.length > 0) {
	  var extensionIndex = getElementIndex(acceptedExtensions, fileExtension.toLowerCase());
	  
	  if (extensionIndex < 0) {
		  clearFileInputValue(tagId);
		  alert('Wybrałes nieprawidłowy typ pliku! Akceptowane formaty: ' + acceptedExtensions.join(', ') + '.');
	  }
  }
}