<!--- Windows Example --->
<!--- Check to see if the Form variable exists. --->
<!---<cfoutput>#GetCurrentTemplatePath()#</cfoutput>
<cfabort >--->
<cfparam name='url.fstl' default='n'/>
<cfif isdefined("url.EID")>
	<cfset EmpId = #url.EID#>
	<cfif NOT IsNumeric(url.EID)>
	
		<cfscript>
			url.EID = decrypt(#url.EID#, "54kczhzgHTj4a8n+SRZPyg==", "AES", "Hex");
		</cfscript>
		
	</cfif>
</cfif>
<cfset filepath = "/var/www/datafiles/" />
<cfif Application.DEV>
	<cfset filepath = "/var/www/datafiles/" />
</cfif>
<cfquery  name="GetEmp" datasource="#Application.DataSrc#">
	SELECT Emp_ID, Emp_Last AS Last_Name, Emp_First AS First_Name
	FROM #Request.prefix_db_lookup#.pEmployee
	WHERE Emp_ID = '#session.cs.employeeid#'
	AND Loc_ID = #session.AgencyID#
</cfquery>

<cfif isDefined("url.df")>

	<cfquery name='get_File' datasource='#Application.DataSrc#'>
		SELECT * FROM #Request.prefix_db_agency#.Employee_Files
		WHERE idEmployee_Files = <cfqueryparam value="#url.df#" cfsqltype="cf_sql_integer">
		AND AgencyId = <cfqueryparam value="#session.AgencyId#" cfsqltype="cf_sql_integer">
		AND Emp_ID = <cfqueryparam value="#url.EID#" cfsqltype="cf_sql_integer">
	</cfquery>

	<cfif get_File.recordCount gt 0 AND get_File.Created gte '2017-05-18' AND len(trim(get_File.Dup_file_name))>
		<cfset path = 'Employee_files/agency_'&#session.AgencyId# />
		<cftry>
			<cffile action="delete" file="s3://#Request.bucket_accesskey#:#Request.bucket_secretkey#@#Request.bucket_name#/#path#/#get_File.Dup_file_name#" />
			<cfcatch type="any"></cfcatch>
		</cftry>
	</cfif>

	<cfif get_File.recordCount gt 0>
		<cfquery name='delFile' datasource='#Application.DataSrc#'>
			DELETE FROM #Request.prefix_db_agency#.Employee_Files
			WHERE idEmployee_Files = <cfqueryparam value="#url.df#" cfsqltype="cf_sql_integer">
			AND AgencyId = <cfqueryparam value="#session.AgencyId#" cfsqltype="cf_sql_integer">
			AND Emp_ID = <cfqueryparam value="#url.EID#" cfsqltype="cf_sql_integer">
		</cfquery>
	</cfif>

	<cflocation url='/agencyadmin/index.cfm?page=agency&cat=AgencyManagement&rpt=emplicense_list&EID=#EmpId#'
	            addtoken='no'/>
</cfif>
<cfif isDefined("Form.ufFile")>

	<cfparam name="cffile.serverFile" default="">
	
	
	<cfset Dup_file_name = #DateFormat(Now(),"YYMMDDHHMMSS")#&#Form.fileExt# />
	<cfset path = 'Employee_files/agency_'&#session.AgencyId# />
	
	<!--- Upload to Amazon S3 --->
	<cfset s3PrefixPath = "s3://#Request.bucket_accesskey#:#Request.bucket_secretkey#@#Request.bucket_name#/#path#" />
	<cfif not directoryExists(s3PrefixPath)>
		<cftry>
			<cfdirectory action="create" directory="#s3PrefixPath#" />
			<cfcatch type="any">
				<!--- S3 bucket/prefix may already exist; directoryExists can be false while create returns 409 BucketAlreadyOwnedByYou --->
				<cfset s3DirErr = cfcatch.message & " " & cfcatch.detail />
				<cfif structKeyExists(cfcatch, "rootCause") AND isStruct(cfcatch.rootCause) AND structKeyExists(cfcatch.rootCause, "message")>
					<cfset s3DirErr = s3DirErr & " " & cfcatch.rootCause.message />
				</cfif>
				<cfif findNoCase("BucketAlreadyOwnedByYou", s3DirErr) EQ 0
					AND findNoCase("BucketAlreadyExists", s3DirErr) EQ 0
					AND findNoCase("ResponseCode: 409", s3DirErr) EQ 0>
					<cfrethrow />
				</cfif>
			</cfcatch>
		</cftry>
	</cfif>
	
	 <cffile action="upload" filefield="Form.ufFile" nameconflict="makeunique" mode="666"  destination="#s3PrefixPath#/#Dup_file_name#"/>
	
	<cffile action="upload" filefield="Form.ufFile" destination="#filepath#" nameconflict="makeunique" mode = "664" >
	<cffile action="readbinary" variable="fileContent" file="#filepath##File.ServerFile#" >
	
	<cfset Duplicate_file_name = #Dup_file_name# />
	
	
<!---	<cffile action="upload" filefield="Form.ufFile" destination="#filepath#" nameconflict="MakeUnique" mode="664" >
	<cffile action="readbinary" variable="fileContent" file="#filepath##File.ServerFile#">--->
	<cfif (File.FileSize gt 7072864 and #session.AgencyId# neq '621') OR File.FileSize gt 17072864>
		<cffile action="delete" file="#filepath##File.ServerFile#">
		<cffile action="delete" file="s3://#Request.bucket_accesskey#:#Request.bucket_secretkey#@#Request.bucket_name#/#path#/#Dup_file_name#">
		<cflocation url='/agencyadmin/index.cfm?page=agency&cat=AgencyManagement&rpt=emplicense_list&EID=#EmpId#&fstl=y' addtoken='no'/>
	<cfelse>
		<cfquery  name='uFile' datasource='#Application.DataSrc#'>
			INSERT IGNORE INTO #Request.prefix_db_agency#.Employee_Files (
			AgencyId, Emp_ID, Title, FileName, FileType,<!--- File,---> Dup_file_name ,CreatedBy
			<cfif isdefined('form.document_name') and form.document_name neq ''>,DOC_ID</cfif>
			<cfif isdefined('form.Expiration_Date') and form.Expiration_Date neq ''>,Expiration_Date</cfif>
			) VALUES (
			'#session.AgencyId#'
			,'#url.EID#'
			,'#form.ufTitle#'
			,'#File.ServerFile#'
			,'#File.ContentType#/#File.ContentSubType#'
			<!---,<cfqueryparam value="#fileContent#" cfsqltype="cf_sql_blob"/>--->
			,'#Duplicate_file_name#'
			,'#session.AgencyId#'
			<cfif isdefined('form.document_name') and form.document_name neq ''>,#form.document_name#</cfif>
			<cfif isdefined('form.Expiration_Date') and form.Expiration_Date neq ''>,#CreateODBCDate(form.Expiration_Date)#</cfif>
			)
		</cfquery>
		<cffile action="delete" file="#filepath##File.ServerFile#">
	<cflocation url='/agencyadmin/index.cfm?page=agency&cat=AgencyManagement&rpt=emplicense_list&EID=#EmpId#' 
	            addtoken='no'/>
	
	</cfif>
	
<cfelse>

          <cfquery  name='Document' datasource='#Application.DataSrc#'>
				SELECT *
				FROM   #Request.prefix_db_agency#.DocumentDesc
				WHERE DocumentType like '%Employee%'
				ORDER BY DOC_ID
			</cfquery> 
			
	<div class="portlet box blue">
		<div class="portlet-title">
			<div class="caption">
				<i class="fa fa-gear"></i> Employee File
			</div>
			<div class="tools">
				<a href="javascript:;" class="collapse"></a>
			</div>
		</div>
		<div class="portlet-body form">
			<div id="tuf2Div">
			<form name="uf" enctype="multipart/form-data" action="" method="post"  <!--- onsubmit="return cfu();" --->>
					<div class="form-body">
					<cfif isdefined("url.EID")>
                     <input type="hidden" name="file_id" value="<cfoutput>#url.EID#</cfoutput>">
					 </cfif>
						<input type="hidden" name="fileName" value=""/>
						<input type="hidden" name="fileExt" value=""/>
						<div class="form-group">
						<label>File to Upload :</label>
                                	<input name='ufFile' type='file' id="exampleInputFile1" />
                            </div>
							<div class="form-group">
							  <label>Title for File :</label>
							<input class="form-control" name="ufTitle" type="text"/>
							</div>
						</div>
					</div>
					<div class="row">
					<div class="col-md-6">
					<div class="form-group">
				          <label>Document Type :</label>
								    <select name="document_name" id="document_name"  class="form-control">
									<option value='' selected>--Select Document_Name--</option>
									<cfoutput query="Document">
										<option value="#DOC_ID#">#Description#</option>
									</cfoutput>
									</select>
								</div>
						</div>
						<div class="col-md-6">
						<div class="form-group">
								<label>Date Expires</label>
								<div>
									<div class="input-group input-medium date date-picker" data-date-format="mm/dd/yyyy">
										<input type="text" class="form-control" name="Expiration_Date" value="<cfoutput></cfoutput>">
						
										<span class="input-group-btn">
											<button class="btn default" type="button"> <i class="fa fa-calendar"></i> </button>
										</span>
									</div>
									<span class="help-block">Date Format: mm/dd/yyyy</span>
								</div>
							</div>
					 </div>
				   </div>
					<div class="form-actions">
				 		<input class="btn blue" type="button" value="Upload File" onclick="cfu()"/>
				 		<span id = "tdSubmit" ></span>
					</div>
				</form>
			</div>
		</div>
	</div>

<!---	<script type="text/javascript" src="../Scripts/jquery-latest.js"></script>--->
	
	<script type="text/javascript" language="javascript">
		function tuf(){
		    if (document.getElementById('tuf1Div').style.display == 'none') {
		        document.getElementById('tuf1Div').style.display = '';
		        document.getElementById('tuf2Div').style.display = '';
		    }
		    else {
		        document.getElementById('tuf1Div').style.display = 'none';
		        document.getElementById('tuf2Div').style.display = 'none';
		    }
		}
		function cfu(){

		    document.getElementById('tdSubmit').style.display = 'none';
		    var formaction = 0 ;
		    if (document.uf.ufFile.value == '') {
		        alert('Please select a Employee File to Upload');
		        document.uf.ufFile.focus();
		        document.getElementById('tdSubmit').style.display = '';
		        formaction = 1 ;
		        return false;
		    }
		    
		    if (document.uf.ufFile.value.indexOf("'") > -1) {
		        alert("The File Name cannot contain an apostrophe (')\nPlease Rename the file - removing the apostrophe (')");
		        document.getElementById('tdSubmit').style.display = '';
		        formaction = 1 ;
		        return false;
		    }
		    var f = document.uf.ufFile.value.toLowerCase();
		    if (f.indexOf(".cfm") > -1 ||
		    f.indexOf(".htm") > -1 ||
		    f.indexOf(".php") > -1 ||
		    f.indexOf(".cgi") > -1 ||
		    f.indexOf(".pl") > -1 ||
		    f.indexOf(".asp") > -1 ||
		    f.indexOf(".bat") > -1 ||
		    f.indexOf(".exe") > -1) {
		        alert('The file type you are trying to upload is not allowed');
		        document.getElementById('tdSubmit').style.display = '';
		        formaction = 1 ;
		        return false;
		    }
		    if (document.uf.ufTitle.value == '') {
		        alert('Please enter a Title for the Employee File');
		        document.uf.ufTitle.focus();
		        document.getElementById('tdSubmit').style.display = '';
		        formaction = 1 ;
		        return false;
		    }
		    if (document.uf.ufFile.value.lastIndexOf(".") > -1) {
		        document.uf.fileExt.value = document.uf.ufFile.value.substring(document.uf.ufFile.value.lastIndexOf("."), document.uf.ufFile.value.length);
		    }
		    if (document.uf.ufFile.value.lastIndexOf("/") > -1) {
		        document.uf.fileName.value = document.uf.ufFile.value.substring(document.uf.ufFile.value.lastIndexOf("/") + 1, document.uf.ufFile.value.length);
		    }
		    else 
		    				{
		    					 if (document.uf.ufFile.value.lastIndexOf("\\") > -1) {
							            document.uf.fileName.value = document.uf.ufFile.value.substring(document.uf.ufFile.value.lastIndexOf("\\") + 1, document.uf.ufFile.value.length);
							        }
		    				}

		   if(formaction == 0)
		   {
		        uf.submit();
		  }
		}
	</script>
</cfif>