//Javascript Document
//******************************************
//******************************************
//**    File Uploader by Lewis Roberts    **
//**               v 3.0                  **
//**         www.delta-hf.co.uk           **
//******************************************
//******************************************
//** Thanks for your interest in the code **
//** Please be aware that some of the     **
//** code in this javascript is generated **
//** by PHP at parse time and as such is  **
//** dynamic. Type the password in wrong  **
//** on the main page and you'll see, the **
//** key that gets MD5'd changes.         **
//******************************************

// Returns true or false based on whether the specified string is found
// in the array. This is based on the PHP function of the same name.
// Written by Beau Lebens (beau@dentedreality.com.au)
function in_array(stringToSearch, arrayToSearch) {
	for (s = 0; s < arrayToSearch.length; s++) {
		thisEntry = arrayToSearch[s].toString();
		if (thisEntry == stringToSearch) {
			return true;
		}
	}
	return false;
}

function validate() {
	var errorHTML = document.getElementById("errorHTML");
	var uploadDiv = document.getElementById("uploadDiv");
	var uploadForm = document.fupload;
	
	if ((uploadForm.password.value == '') || (uploadForm.password.value.length < 1)) {
			errorHTMLCSS('FF9900');
			errorHTML.innerHTML = '<span class="errorheader">Error:</span><p><span class="errortext">You must enter a password!</span></p>';
			uploadForm.password.focus();
			return false;
	}
	uploadForm.hashmit.disabled=true;
	uploadForm.hashmit.value='Disabled!';
	var p = uploadForm.password.value;
	uploadForm.password.value = (hex_md5(p + ''));
	var file_name = uploadForm.userfile.value.toLowerCase();
	var file_extension = file_name.substring(file_name.lastIndexOf(".") + 1);
	var fExtensions = Array("jpeg", "gif", "zip", "rar", "csv", "jpg", "txt", "xls", "exe", "pdf", "wav", "mp3", "doc");
	if (in_array(file_extension, fExtensions)) {
		errorHTML.innerHTML = '<span class="infoheader">Info:</span><p><span class="errortext">Your file is now being transferred...<br>Please remain on this page until your upload is completed.</p>';
		errorHTMLCSS('FFFFFF');
		var uploadContent = '<span class="header">Uploading...</span>'
			+'<p>Your file is now transferring to our systems.</p>'
			+'<p><img src="progress.gif" alt="Working..." class="progressbar"></p>'
			+'<p>You may cancel this upload at any time by clicking the button below.</p>'
			+'<p class="errortext">Please do not use your browser\'s stop button!</p>'
			+'<p><input name="button" type="button" class="button" onClick="window.location.replace(\'index.php\')" value="Stop"></p>';
		uploadDiv.innerHTML = uploadContent;
		document.getElementById("validHTML").innerHTML = '';
		uploadDiv.style.display = 'block';
		return true;
	}
	else {
		uploadForm.password.value = '';
		errorHTMLCSS('FF9900');
		unAccfExt = '<span class="errorheader">Error:</span><p><span class="errortext">You have selected a file which is not accepted by this system. Accepted extensions are:<p>';
		for (var i = 0; i < fExtensions.length; i++) {
			unAccfExt += fExtensions[i].toUpperCase() + " "
		}
		unAccfExt += '</p></span>';
		errorHTML.innerHTML = unAccfExt;
		uploadForm.userfile.focus();
		return false;
	}
}

function imagePreload() { 
  var args = imagePreload.arguments;
  document.imageArray = new Array(args.length);
  for(var i=0; i<args.length; i++)
  {
    document.imageArray[i] = new Image;
    document.imageArray[i].src = args[i];
  }
}
// Preload the progress bar animation or it doesn't work in Mozilla/FF/Netscape
imagePreload('progress.gif');

function subEnable() {
	document.fupload.hashmit.disabled=false;
	document.fupload.hashmit.value='Submit';
}

function errorHTMLCSS(colour) {
	var errorHTML = document.getElementById("errorHTML");
	errorHTML.style.border = "4px solid #" + colour;
	errorHTML.style.padding = "5px";
}