var uploading = false;
var colorSwitchThreshold = 48;

function setCookie(c_name,value,expiredays) {
	var exdate=new Date();
	exdate.setDate(exdate.getDate()+expiredays);
	document.cookie=c_name+ "=" +escape(value)+
	((expiredays==null) ? "" : ";expires="+exdate.toGMTString());
}
function getCookie(c_name){
if (document.cookie.length>0)
  {
  c_start=document.cookie.indexOf(c_name + "=");
  if (c_start!=-1)
    {
    c_start=c_start + c_name.length+1;
    c_end=document.cookie.indexOf(";",c_start);
    if (c_end==-1) c_end=document.cookie.length;
    return unescape(document.cookie.substring(c_start,c_end));
    }
  }
return "";
}
function saveStat() {
    var other = $('#showlabel:checked').val();
    if (other != undefined) setCookie('showlabel',1,200);
    else setCookie('showlabel',0,200);
}
function showLogin() {
	$("#loginbar").slideToggle("slow");
}
function addmorefiles() {
	$("#files").append("<input type='file' name='file[]' id='fileField' size='60' />");
}
function addmoreurl() {
	$("#urls").append("<input type='text' value='http://' size='60' name='file[]' />");
}
function addurl() {
	$("#urls").toggle();
	$("#files").toggle();
	
	$("#addurl").toggle();
	$("#addfile").toggle();
	
	if ($("#upload_type").val() == "file") {
		$("#upload_type").val("url");
	} else {
		$("#upload_type").val("file");
	}
}
function register() {
	var mail = $("#mail").val();
	var pass = $("#pass").val();
	
	$.ajax({
	type: "POST",
	data: 'mail=' + mail + '&password=' + pass,
	url: 'login.php?do=register',
	success: function(s) {
		if (s == true) {
			$("#message").overlay({ 
			    top: 272, 
			    expose: { 
			        color: '#fff', 
			        loadSpeed: 200, 
			        opacity: 0.5 
			    }, 
			    closeOnClick: true, 
			    api: true 
				}).load();
			} else {
				alert ('This email adress is already in use, please enter another mail adress');
			}
		}
	});
}
function uploadFiles() {
	var fld = $("#fileField:first").val();
	var url = $("#url").val();
	
		if ($("#upload_type").val() == "url") {
			if (url.length < 12) {
				alert ("Your upload slots are empty.");
				return false;
			} else {
				$("#upload_btn").val("Uploading ...");
				$("#upload_btn").attr("disabled","disabled");
				return true;
			}
		} else {
			if (fld.length < 1) {
				alert ("Your upload slots are empty.");
				return false;
			} else {
				$("#form").hide();
				$("#upload_progress").show();
				beginUpload();
				attachUploadHandlers();
				return true;
			}
		}
}
function attachUploadHandlers() {

	$("#upload_form").submit ( beginUpload );
	if ($.browser.msie) {
			$("#upload_iframe").bind('readystatechange', completeUpload );
	} else {
			$("#upload_iframe").bind('load', completeUpload);
	}
}
function updateProgressBarGUI(percentage,mspeed,mremtime,mtotal,muploaded)
{
	$(".progress-bar .progress-bar-bg").width(percentage + "%");
	$(".progress-bar .progress-bar-text").text(percentage + "%");
	$("#speed").html(mspeed);
	$("#time").html(mremtime);
	$("#total").html(mtotal);
	$("#uploaded").html(muploaded);

	if (percentage > colorSwitchThreshold)
	{
		if (!$(".progress-bar .progress-bar-text").is(".progress-50-percent"))
		{
			$(".progress-bar .progress-bar-text").addClass('progress-50-percent');
		}
	} else if (percentage == 0) {
		$(".progress-bar .progress-bar-text").removeClass('progress-50-percent');
	}
}

/**
 * Initialiseer het upload systeem en zet de upload progress bar op 0.
 */
function beginUpload()
{
	uploading = true;

	updateProgressBarGUI(0,0,0,0,0);
	getUploadProgress();

	return true;
}

function completeUpload(ev)
{
	if ( uploading && ( ev.type && ( ev.type == 'load' || ev.type == "readystatechange" ) ) )
	{
		uploading = false;
		updateProgressBarGUI(100,'Finished','Finished','Finished','Finished');
	}
	
}

function getUploadProgress()
{
	var upload_id = $('#UPLOAD_IDENTIFIER').val();
	var timestamp = new Date().getTime();

	$.getJSON ( 
		"rup.php",
		{ id: upload_id, t: timestamp },
		updateProgressBar
	);

	if (uploading)
	{
		window.setTimeout(getUploadProgress, 800);
	}	
}

function updateProgressBar(jsonData)
{

	if (jsonData != null) {

		if (jsonData.errorCode == 0) 
		{
			var progress_text  = $(".progress-bar .progress-bar-text");
			var progress_bg    = $(".progress-bar .progress-bar-bg");

			var bytes_uploaded = parseInt(jsonData.progressData.bytes_uploaded);
			var bytes_total    = parseInt(jsonData.progressData.bytes_total);
			var mspeed 		   = String(jsonData.progressData.speed_last);
			var mremtime 	   = String(jsonData.progressData.est_sec);
			var mtotal 	   = String(jsonData.progressData.total);
			var muploaded 	   = String(jsonData.progressData.uploaded);
			var percentage     = parseInt( (bytes_uploaded / bytes_total) * 100 );
			
			updateProgressBarGUI(percentage,mspeed,mremtime,mtotal,muploaded);
		}
	}
}

 $(document).ready(function() {
	$("#loginbar").hide();
 });
