
var upload_in_progress = false;
var is_video = false;
var count_frame_poll = 0;

var http_request = false;

function doRequest()
{
	http_request = false;

	if (window.XMLHttpRequest) // Opera, Mozilla, Safari, Netscape
	{
		http_request = new XMLHttpRequest();
		if (http_request.overrideMimeType)
		{
               http_request.overrideMimeType('text/xml');
           }
	}
	else if (window.ActiveXObject)  // IE
	{
		try
		{
			http_request = new ActiveXObject("Msxml2.XMLHTTP");
        }
		catch (e)
		{
			try
			{
				http_request = new ActiveXObject("Microsoft.XMLHTTP");
			}
			catch (e) {}
		}
	}
}

function show_progress(info)
{
	var sizes = info.split("|");

	document.getElementById("err").innerHTML = "";

	if ((sizes[2] == "init") || (sizes[2] == "upload") || (sizes[2] == "server_process"))
	{
		if (sizes[2] != "fin") window.setTimeout("monitor_upload()", 1000);

		if (sizes[2] == "init") return;

		var percent = (parseInt(sizes[0]) * 100) / parseInt(sizes[1]);

		if (sizes[2] == "fin") percent = 100;

		if (percent > 100) percent = 100;

		var dot = (28 * percent) / 100;

		percent = parseInt(percent);

		percent = percent.toString();

		percent ="<font face=\"arial\" size=\"4\" color=#69512A>"+percent+"%</font>";

		dot = parseInt(dot);

		document.getElementById("perc").innerHTML=percent;

		for (d=1; d<=28; d++)
		{
			_id = "p_"+d;

			if(d <= dot) document.getElementById(_id).style.background='#20DD01';
			else document.getElementById(_id).style.background='#A9BFC9';
		}

		if (parseInt(sizes[1] / Math.pow(1024, 2)) >= 1)
		{
			var t1 = sizes[0] / Math.pow(1024, 2);
			var t2 = sizes[1] / Math.pow(1024, 2);

			if (t1 > t2) t1=t2;
			
			t1 = Math.round(t1 * 100) / 100;
			t2 = Math.round(t2 * 100) / 100;

			lo = t1.toString()+" MB / "+t2.toString()+" MB";
		}
		else
		{
			var t1 = sizes[0] / 1024;
			var t2 = sizes[1] / 1024;

			if (t1 > t2) t1=t2;

			t1 = Math.round(t1 * 100) / 100;
			t2 = Math.round(t2 * 100) / 100;

			lo = t1.toString()+" KB / "+t2.toString()+" KB";
		}

		if (sizes[2] == "server_process")
		{
			document.getElementById("mes").innerHTML = "<font face=\"arial\" size=\"2\" color=#000000>"+lang_upload_end+"</font>";
		}
		else
		{
			document.getElementById("mes").innerHTML = "<font face=\"arial\" size=\"2\" color=#000000>"+lo+"</font>";
		}

		document.getElementById("progress_bar").style.display = "inline";
	}
	
	else if (sizes[2] == "size_error")
	{
		//document.getElementById("absenden_wa").style.display ='inline';
		monitor_end(0);
		upload_in_progress = false;
		document.getElementById("progress_bar").style.display = "none";
		document.getElementById("err").innerHTML = "<font face=\"arial\" size=\"2\" color=red>"+lang_upload_size+"</font>";
		setTimeout("upl_sub()", 1500);
		return;
	}

	else if (sizes[2] == "upload_error")
	{
		document.getElementById("absenden_wa").style.display ='inline';
		monitor_end(0);
		upload_in_progress = false;
		document.getElementById("progress_bar").style.display = "none";
		document.getElementById("err").innerHTML = "<font face=\"arial\" size=\"2\" color=red>"+lang_upload_error+"</font>";
		return;
	}
	else if (sizes[2] == "fin")
	{
		document.getElementById("mes").innerHTML = "<font face=\"arial\" size=\"2\" color=#000000>"+lang_upload_end+"</font>";
		count_frame_poll = 0;
		//monitor_end(1);
		upload_in_progress = false;
		//document.getElementById("progress_bar").style.display = "none";
		//window.setTimeout("upl_sub()",1000);
		upl_sub();
		return;
	}
}

function poll_frame(is_fin)
{	//alert(is_fin);
	count_frame_poll++;

	if ((is_fin == "no") && (count_frame_poll <= 10))  window.setTimeout("monitor_end(2)", 1000);
	else upl_sub();
}

function monitor_end(is_complete)
{
	doRequest();

	if ((is_complete == 1) && (is_video == true))
	{
		var url = "ajax_request_upload.php?aktion=end&pre=generate&sid="+sid+"&acache="+Math.round(Math.random()*100000);
	}
	else if (is_complete == 2)
	{
		var url = "ajax_request_upload.php?aktion=end&pre=poll&sid="+sid+"&acache="+Math.round(Math.random()*100000);
	}
	else
	{
		var url = "ajax_request_upload.php?aktion=end&pre=none&sid="+sid+"&acache="+Math.round(Math.random()*100000);
	}

	if (http_request)
	{
		if (((is_complete == 1) && (is_video == true)) || (is_complete == 2))
		{	
			http_request.onreadystatechange = function() {if ((http_request.readyState == 4) && (http_request.status == 200)) poll_frame(http_request.responseText); }
		}
		else http_request.onreadystatechange = function() {}

		http_request.open('GET', url, true);
		http_request.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
		http_request.send(null);
	}
	else
	{
		document.getElementById('if').src=url+'&iframe=true';
	}

	if ((is_complete == 1) && (is_video == false)) upl_sub();
}

function monitor_upload()
{
	doRequest();

	var url = "ajax_request_upload.php?aktion=pro&sid="+sid+"&acache="+Math.round(Math.random()*100000);

	if (http_request)
	{
		http_request.onreadystatechange = function() {if ((http_request.readyState == 4) && (http_request.status == 200)) show_progress(http_request.responseText); }
		http_request.open('GET', url, true);
		http_request.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
		http_request.send(null);
	}
	else
	{
		document.getElementById('if').src=url+'&iframe=true';
	}
}

function perform_upload(t)
{
	document.getElementById("absenden_wa").style.display ='none';

	if (upload_in_progress == false) upload_in_progress = true;
	else return;

	var fn = document.getElementById("pic").value;

	var part = fn.split(".");

	var ma_su = false;
	is_video = false;

	for (s=0; s < suffix.length; s++ )
	{
		if (part[part.length-1].toLowerCase() == suffix[s]) ma_su = true;
	}
	
	if (ma_su == false)
	{
		format = suffix.join(", ");

		upload_in_progress = false;
		document.getElementById("err").innerHTML = "<font face=\"arial\" size=\"2\" color=red>"+lang_upload_format+format+lang_upload_format2+"</font>";

		return;
	}

	vsuffix = new Array("flv", "wmv" , "avi", "mpg", "mpeg", "mov", "mp4");

	for (s=0; s < vsuffix.length; s++ )
	{
		if (part[part.length-1].toLowerCase() == vsuffix[s]) is_video = true;
	}


	t.form.submit();

	//window.setTimeout("monitor_upload()", 1000);
	monitor_upload();
}

function upl_sub()
{
	var fo = document.getElementById('form1');

	currentElement = document.createElement("input");

	currentElement.setAttribute("type", "hidden");
	currentElement.setAttribute("name", "hochladen");

	fo.appendChild(currentElement);

	//fo.innerHTML = "<input type=\"hidden\" name=\"hochladen\">";

	document.getElementById("form1").action = cf + "#anker";
	form1.submit();
}
