<html><head><meta name="color-scheme" content="light dark"></head><body><pre style="word-wrap: break-word; white-space: pre-wrap;">
	var uploader__files = [];
	var upload_count = 0;

	jQuery().ready(function($)
	{
		function init_uploader__files( ref )
		{
			uploader__files[ref] = new plupload.Uploader({
				// runtimes      : 'html5,silverlight,html4',
				runtimes      : 'html5',
				browse_button : 'pickfiles__'+ ref, //'plupload-browse-button', // you can pass in id...
				container     : document.getElementById('container__' + ref), // ... or DOM Element itself
				dragdrop      : true,
				// chunk         : true,
				// chunk_size    : 400000,		// 200KB
			    // multi_selection: false, // only applies to the browser file selector
			    drop_element  : document.getElementById('drag-drop-area__' + ref),
			    url 		  : wpApiSettings.root,
			    filters : {
				        max_file_size : '10mb',
				        // max_file_size : '10kb',
				        mime_types: [
				            {title : "Image files", extensions : "jpg,gif,png,jpeg"},
				            {title : "PDF files", extensions : "pdf"},
				            {title : "Other files", extensions : "docx,xlsx,pptx,doc,xls,ppt"}
				        ]
				    },
			    // multipart_params : multipart_params,
			    multipart_params : {
						"type"  : ref,
						"psid"  : wpApiSettings.psid,
						"token" : wpApiSettings.token,
						"action": 'stncl_form_plupload'
				    },
			 
			    // Flash settings
			    // flash_swf_url : '/assets/js/libs/plupload-2.1.9/js/Moxie.swf',
			 
			    // Silverlight settings
			    // silverlight_xap_url : '/assets/js/libs/plupload-2.1.9/js/Moxie.xap',
			     
			    init: {
			        PostInit: function()
			        {
			            document.getElementById('filelist__' + ref).innerHTML = '';
			        },
			 
			        FilesAdded: function( up, files )
			        {
			        	// console.log( "dasdasd" );
						var teacher = $("#upload_teacher").val(); 
						var name    = $("#upload_name").val(); 
						var message = $("#upload_message").val();

						up.settings.multipart_params.teacher_name = teacher;
						up.settings.multipart_params.pupil_name   = name;
						up.settings.multipart_params.message      = message;

			            plupload.each( files, function(file)
			            {
							var existing_count = $(".file-item--stored").length;
							var pending_count  = $(".file-item--pending").length + 1;
			            	
			            	if ( ( pending_count + existing_count ) &gt; 3 )
			            	{
			            		document.getElementById('console').innerHTML = "Error: maximum number of files attached.";
			            		up.removeFile(file);
			            		up.stop();
			            		return;
			            	}

			                document.getElementById('filelist__' + ref).innerHTML += '&lt;div id="' + file.id + '" class="file-item file-item--pending"&gt;' + file.name + ' (' + plupload.formatSize(file.size) + ') &lt;b&gt;&lt;/b&gt;&lt;/div&gt;';
			            });

			            up.start();
			        },
			 
			        UploadProgress: function(up, file)
			        {
			            document.getElementById(file.id).getElementsByTagName('b')[0].innerHTML = '&lt;span&gt;' + file.percent + "%&lt;/span&gt;";

			            if ( file.percent == 100 )
			            {
			            	$("#" + file.id).addClass("file--completed");
			            }
			        },
			 
			        Error: function(up, err)
			        {
			            document.getElementById('console').innerHTML = "Error: " + err.message;
			        },

			        ChunkUploaded: function(up, file, response)
			        {
			        	// log(response.offset);
			        	// log(response.total);

			   			// var obj = jQuery.parseJSON( response.response ); 
						// log( obj.total, obj.offset );
			        }
			    }
			});
		 
			uploader__files[ref].init();
		 
			uploader__files[ref].bind('FileUploaded', function(up, file, response)
			{
				var obj = jQuery.parseJSON( response.response ); 
				// log( obj );
				// uploader.stop();
			});

			uploader__files[ref].bind('QueueChanged', function(up)
			{
				// log( up.files );
			});


			var onDragEnter = function(event) {
			    event.preventDefault();
			    $("#drag-drop-area__"+ref).addClass("dragover");
			}, 

			onDragOver = function(event) {
			    event.preventDefault(); 
			    if(!$("#drag-drop-area__"+ref).hasClass("dragover"))
			        $("#drag-drop-area__"+ref).addClass("dragover");
			}, 

			onDragLeave = function(event) {
			    event.preventDefault();
			    $("#drag-drop-area__"+ref).removeClass("dragover");
			},

			onDrop = function(event) {
			    event.preventDefault();
			    $("#drag-drop-area__"+ref).removeClass("dragover");
			    console.log(event.originalEvent.dataTransfer.files);
			};

			$("#drag-drop-area__"+ref)
			.on("dragenter", onDragEnter)
			.on("dragover", onDragOver)
			.on("dragleave", onDragLeave)
			.on("drop", onDrop);

		} // init


		
		if ( $("#container__attachments").length )
		{
			$("#upload_name").val(""); 
			$("#upload_message").val("");

			init_uploader__files("attachments");
		}



		$("body").on( "keyup", "#upload_name, #upload_message", function(e)
		{
			var name    = $("#upload_name").val(); 
			var message = $("#upload_message").val();

			if ( name &amp;&amp; message )
			{
				$("#requires-inputs.disabled").removeClass("disabled");
			}
			else
			{
				$("#requires-inputs").addClass("disabled");
			}
		});



		// Remove a file
		$("body").on( "click", "#action__upload-submit", function(e)
		{
			e.preventDefault();
			$(this).blur();

			var teacher = $("#upload_teacher").val(); 
			var name    = $("#upload_name").val(); 
			var message = $("#upload_message").val();

			if ( ! teacher )
			{
				alert( "Please choose a teacher" );
				return;
			}

			if ( ! name )
			{
				alert( "Please enter your name" );
				return;
			}

			if ( ! $("#filelist__attachments .file-item").length )
			{
				alert( "Please add a file before sending" );
				return;
			}


			$(".s-sml-upload").addClass("sending");
			$("#spinner").css("display", "block");

			var data = Object();
			
			// data[token_name] = token_hash;
			data.teacher_name = teacher;
			data.pupil_name   = name;
			data.message      = message;
			data.psid         = wpApiSettings.psid,
			data.token        = wpApiSettings.token,
			data.action       = 'stncl_form_plsubmit';
			
			$.ajax({
				type     : 'POST',
				url      : wpApiSettings.root,
				data     : data,
				success  : handler__upload,
				dataType : 'json'
			});	


		});



		$("body").on( "click", "#action__send-more", function(e)
		{
			e.preventDefault();
			$(this).blur();

			location.reload(true);
		});


		function handler__upload(data)
		{		
			console.log( data );

			$("#spinner").css("display", "none");

			$(".stncl-form").fadeOut(500, function() { $(".s-sml-upload").removeClass("sending"); } );

			if ( data.result == "success" )
			{
				setTimeout( function() {

					$(".s-sml-upload").html( '&lt;div class="thankyou"&gt;&lt;p&gt;Thank you. Your message has been sent.&lt;/p&gt;&lt;a href="#" class="send-more" id="action__send-more"&gt;Click to send more&lt;/a&gt;&lt;/div&gt;' );

				}, 550 );
			}
			else
			{
				setTimeout( function() {

					$(".s-sml-upload").html( '&lt;div class="thankyou-error"&gt;&lt;p&gt;Sorry. There was an error sending your files.&lt;/p&gt;&lt;a href="#" class="send-more" id="action__send-more"&gt;Click to try again&lt;/a&gt;&lt;/div&gt;' );

				}, 550 );
			}

		}



	});	// ready();



</pre></body></html>