/***********************************************************************
# Simple Upload Form
# 07 August 2006
# Jens Beltofte Soerensen
# http://efusion.it
***********************************************************************/

function simpleUpload()
{
	this.statusText = "Vent venligst...";
	this.boxTitle = "Vælg dine pdf-filer:";
	this.boxDescription = "Vælg de ønskede filer ved at klikke på Gennemse/Browse. Når du har valgt dine filer klikker du på Upload. Ønsker du at slette en valgt fil, klikker du på krydset ud for filen.<br /><br />Ønsker du at benytte den avancerede java upload formular i stedet? <a href=\"module.php?mod=generator&op=generator_upload&uploadtype=advanced\">Så klik her...</a>";
	this.errorTypeTxt = "Forkert filtype!";
	this.errorSubmitEmptyTxt = "Du skal som minimum vælge en fil!";
	this.errorSubmitTypeTxt = "En eller flere af de valgte filer er af et forkert format!\n\nDer kan kun uploades pdf-filer.";
	this.uploadButton = "Upload";
	this.maxFiles = 0;
	this.uploadUrl = "./modules/generator/generator_upload.php";
	this.okUrl = "./module.php?mod=generator&op=generator_save_upload";

	this.addFileField = function (i)
	{
		var newField = '<input type="button" class="ButtonDel" id="buttonDelete' + i + '" value="X" onclick="su.removeFile(' + i + '); return false" />&nbsp;';
		newField += '<input type="file" id="inputFile' + i + '" name="userfile[]" value="' + i + '" size="25" onchange="su.checkFile(' + i + ',true); return false" />';
		newField += '<span id="spanFile' + i + '" class="Error"></span>';	
		return newField;	
	}
	
	this.createForm = function ()
	{
		document.writeln('<input type="hidden" name="uploadType" id="inputUploadType" value="simple" />');
		document.writeln('<input type="hidden" name="okUrl" id="inputOkUrl" value="' + this.okUrl + '" />');
		document.writeln('<input type="hidden" name="maxFiles" id="inputMaxFiles" value="' + this.maxFiles + '" />');
		document.writeln('<div id="UploadForm"><b>' + this.boxTitle + '</b><br /><br />' + this.boxDescription + '<br /><br />');
		for (var i = 1; i <= this.maxFiles; i++)
		{
			document.writeln('<div class="Row" id="divFile' + i + '">' + this.addFileField(i) + '</div>');
		}
		document.writeln('<br /><input type="button" class="Button" id="inputUploadButton" value="' + this.uploadButton + '" onclick="su.submitForm(); return false" />');
		document.writeln('<div id="divUploadWait"><table width="100%" height="100%" border="0"><tr><td>' + this.statusText +'</td></tr></table></div>');
		document.writeln('</div>');
	}
	
	this.checkFile = function (i,writeError)
	{
		var choosenFile = document.getElementById('inputFile' + i).value;
		var fileTypeRegEx = /.+\.(pdf)$/gi;
		if (choosenFile.length > 0)
		{
			var RegExRes = choosenFile.match(fileTypeRegEx);
			if (RegExRes != null)
				if (writeError)
					document.getElementById('spanFile' + i).innerHTML = "";
				else
					return true;
			else
				if (writeError)
					document.getElementById('spanFile' + i).innerHTML = this.errorTypeTxt;
				else
					return false;
		}
	}
	
	this.removeFile = function (i)
	{
		var choosenRow = document.getElementById('divFile' + i);
		choosenRow.innerHTML = this.addFileField(i);
	}
	
	this.submitForm = function()
	{
		var maxFiles = document.getElementById('inputMaxFiles').value;
		var errorType = false;
		var errorEmpty = true;
		for (var i = 1; i <= maxFiles; i++)
		{
			var choosenFile = document.getElementById('inputFile' + i).value;
			if (choosenFile.length > 0)
			{
				if (this.checkFile(i,false) == false)
					errorType = true;
				errorEmpty = false;
			}
		}
		if (errorEmpty)
		{
			alert(this.errorSubmitEmptyTxt);
			return false;
		} else if (errorType)
		{
			alert(this.errorSubmitTypeTxt);
			return false;
		}
		document.getElementById('divUploadWait').style.display = "inline";
		document.getElementById('inputUploadButton').style.display = "none";
		document.getElementById('formUpload').method = "post";
		document.getElementById('formUpload').action = this.uploadUrl;
		//document.getElementById('formUpload').enctype = "multipart/form-data";
		document.getElementById('formUpload').submit();
	}
}
