// dropped files list
var files = new Array();
var is_drop = false;
var h = 0;

function del_f(i)
{
	files.splice(i, 1);
	document.getElementById('files').removeChild(document.getElementById('tabl'+i));
	
	MS.count--;
	MS.updateTotal();
	MS.toggleAvailability(true);
}

function setDrop()
{
	var maxFileSize = 2*1024*1024; // max file size: 2 Mb
	
	// Check browser
	if (/*(typeof(window.FileReader) == 'undefined') ||*/
		(navigator.userAgent.indexOf('Opera') != -1) ||
		(navigator.userAgent.indexOf('IE') != -1)
		)
	{
		document.getElementById('dd').innerHTML = '';
		return;
	}
	else
	{
		document.getElementById('dd').innerHTML = "or <div id='dropZone'>Drop files here</div>";
		is_drop = true;
	}
	var dropZone = getEl('dropZone');
	h = dropZone.style.height;
	
	document.getElementById('bd').ondragover = function() {
		return false;
	};

	document.getElementById('bd').ondrop = function() {
		return false;
	};

	// add class hover
	dropZone.ondragover = function() {
		dropZone.className = 'hover';
		return false;
	};

	// remove class hover
	dropZone.ondragleave = function() {
		dropZone.className = '';
		return false;
	};
	
	// Drop event
	dropZone.ondrop = function(event) {
		event.preventDefault();
		dropZone.className = '';
		dropZone.className = 'drop';
		dropZone.style.height = h;
		dropZone.style.fontSize = 12;
		
		/* for each dropped file */
		var data = event.dataTransfer;
		for (var i = 0; i < data.files.length; i++)
		{
			if (MS.count > MS.max)
			{
				alert('Too many files!');
				MS.toggleAvailability();
				return false;
			}
			
			var file = data.files[i];
			
			// Check file size
			if (file.size > maxFileSize)
			{
				alert('File '+file.name+' is too big!');
				continue;
			}
			// Check file format
			var reg = /.+\.(?:jpg|JPG|jpeg|JPEG|gif|GIF|png|PNG|bmp|BMP|tif|TIF|tiff|TIFF|swf|SWF)/;
			if (!(arr = reg.exec(file.name)))
			{
				alert('File '+file.name+' has wrong format!');
				continue;
			}
			files.push(file);
			
			// adding the file to a list
			var f_id = document.getElementById('files');
			var s = "<tbody><tr><td style='overflow: hidden; white-space: nowrap'>"+
					"<input type='text' class='inputwb fname' readonly='' value='"+file.name+"'></td><td>"+
					"<a class='dellink' href='javascript:void(0)' onclick='del_f("+(files.length-1)+");return false;'>remove</a></td></tr></tbody>";
			var ne = document.createElement("table");
			ne.id = 'tabl'+(files.length-1);
			ne.className = 'row';
			ne.innerHTML = s;
			f_id.appendChild(ne);
			
			MS.toggleAvailability();
			MS.count++;
			MS.updateTotal();
		}
	};
}
var xhr = null;
var l_form = null;

function processReqChange()
{
	try
	{ 	// !!!
		// only if "complete"
		if (xhr.readyState == 4)
		{
			// if "OK"
			if (xhr.status == 200)
			{
				// check response
				//alert(xhr.responseText);
				var element = getEl('funky');
				while (element.hasChildNodes()) 
				{
					element.removeChild(element.firstChild);
				}
				s = xhr.responseText;
				s = s.replace('<html>', '');
				s = s.replace('</html>', '');
				element.innerHTML = s;
				
				return;
			}
			else
			{
				alert("Unable to load data:\n" +
				xhr.statusText);
			}
		}
	}
	catch( e )
	{
	}
}

function fsend()
{
	// adding all dropped files!
	var cnt = MS.maxNum.value;
	var formData = new FormData(l_form);
	for(i=0; i<files.length; i++)
	{
		var file = files[i];
		formData.append('file_'+cnt, file);
		cnt++;
	}

	xhr = new XMLHttpRequest();
	xhr.open('POST', 'up.php', true);
	xhr.setRequestHeader('Accept-Charset', 'utf-8');
	xhr.setRequestHeader('Accept-Language', 'ru, en');
	xhr.overrideMimeType('text/xml; charset=utf-8');
	xhr.onreadystatechange = processReqChange;
	xhr.send(formData);
}

function goUpload(f)
{
	MS.submitBtn.disabled = true;
	MS.submitBtn.value = "Uploading...";

	l_form = f;
	if (typeof FormData != 'undefined') {
		fsend();
	}
	else {
		validateForm();
		return true;
	}
}

function toggleInfoExt(el){
	toggleDiv('infoDiv');
	toggleInfoOption(el);
}
function toggleAnnouncement(){
	var inf = document.getElementById("announcement");
	inf.style.display = (inf.style.display != "none")? "none": "";
}
window.onload = function(){
	var b = getEl("submitBtn");
	b.disabled = false;
	b.value = "Upload Images";
	document.forms[0].uptype[0].checked = true;
	document.forms[0].url.value = "";
	document.forms[0].file.value = "";
				
	document.forms[0].resize.checked = false;
	document.forms[0].addInfo.checked = true;
	document.forms[0].addInfoType[0].checked = true;			
	document.forms[0].labelText.value = "";	
	document.forms[0].res.disabled = false;							
	document.forms[0].label.disabled = false;													
	document.forms[0].labelText.disabled = true;
	document.forms[0].addWatermark.checked = false;		

	MS.init("files", "fileinput", "addFileBtn", "addUrlBtn");
	
	setDrop();
}
