
var CallBacks = {};

/*
	File Object
    * id - the auto-generated unique id for each file
    * name - actual filename
    * size - filesize
    * type - filetype
    * creationDate - fhe file creation date
    * creator - file creator
*/

// Create a empty form list to store all the forms.
CallBacks.formList = [];

/**
 * Added a delay function before call to acutal UI function to prevent the race
 * condition in IE which causes swfu to be accessed as null sometimes.
 */
CallBacks.flash_loaded = function(){
	setTimeout(CallBacks.flash_loaded_race, 1500);
};

CallBacks.flash_loaded_race = function() {
	var t = $('NavUploadButton');
	t.update('');
	var outer=$(document.createElement('span'));
	outer.innerHTML="<span class='text_12 color_text_light'>No signup needed! &nbsp;</span>"
	var s = $(document.createElement('span'));
	//s.type = 'button';
	s.onclick = function() {swfu.browse();return false;};
	//s.value = 'Bulk Upload';
	s.id = swfu.movieName + "BrowseBtn";
	//s.src = "http://public.slideshare.net/images/new_bulkupload.gif";
	s.setStyle({'padding':'1px 0 0 100px', background:'transparent url(http://public.slideshare.net/images/new_bulkupload.gif) no-repeat', cursor: 'pointer'});
	//s.width="85";
	//s.height="16";
	s.innerHTML="&nbsp;"
	outer.appendChild(s)
	t.appendChild(outer);
	s.title = 'Use \'Ctrl\' key to select multiple files.';

	// new progress bar
	var img = document.createElement('IMG');
	img.src = "http://public.slideshare.net/images/bulk_upload_progress_2.png";

};

CallBacks.upload_file_queued = function(file, queuelength) {

	// Lalit --> swfu6
	// so that the file_id is sent along the file to the server
	swfu.addFileParam(file.id, 'file_id', file.id);	

	var listingfiles = $('UploadFileList');
	
	if (!listingfiles.visible()) {
		(function(lf){Effect.Appear(lf, {duration:0.5});})(listingfiles);
	}

	if(!listingfiles.getElementsByTagName("ul")[0]) {	
		var ul = document.createElement("ul")
		listingfiles.appendChild(ul);
	}
	
	listingfiles = listingfiles.getElementsByTagName("ul")[0];
	
    var li = "<li class='FileItem' id='"+ file.id +"'>";
    li += "<div class='percent' id='" + file.id + "_percent'>0%</div>";
    li += "<div class='progress'><b>&quot;"
            + file.name.escapeHTML().truncate(25) + "&quot;</b> (" + Math.ceil(file.size/1024) + "kb)"
            + "<span class='progressBar' id='" + file.id + "_progress'></span></div>";
    li += "</li>";
    
    //add at the bottom (reverse of normal bulk upload
    new Insertion.Bottom(listingfiles, li);

	//comment the following line if you want to allow multiple files
	//$(swfu.movieName + "BrowseBtn").hide();
	if (swfu.getSetting("auto_upload") == false) {
		$(swfu.movieName + "UploadBtn").show();
	}

};

CallBacks.upload_file_cancel = function(file, queuelength) {
};


CallBacks.upload_file_complete = function() {
};

CallBacks.upload_file_start = function(file, position, queuelength) {
	var li = $(file.id);
	li.addClassName("uploadStarted");
};

CallBacks.upload_progress = function(file, bytesLoaded) {
	var progress = $(file.id + "_progress");
	var percent = Math.ceil((bytesLoaded / file.size) * 100);
	progress.style.background = "#ddd url('http://public.slideshare.net/images/bulk_upload_progress_2.png') no-repeat -" + (200 - percent * 2) + "px 0";
	$(file.id + "_percent").update(percent + '%');
};

CallBacks.upload_error = function(text, file, msg) {
    var li = $(file.id);
    li.removeClassName("uploadStarted");
	li.addClassName("uploadFailed");
	li.update("<div class='head'>Error! Upload of <b>" + file.name.escapeHTML() + "</b> has failed! Please try again.<br>" + text + "</div>");
	alert(errno);
};

            

CallBacks.cancelQueue = function() {
	swfu.cancelQueue();
	//$(swfu.movieName + "UploadBtn").hide();
	//$(swfu.movieName + "cancelqueuebtn").hide()";
};

CallBacks.upload_queue_complete = function(file) {
	//$(swfu.movieName + "UploadBtn").hide();
	//Publish buton -- onlyhows if all files have successfuly been uploaded
	//$(swfu.movieName + 'PublishBtn').show();
	document.location.href = "/upload";
	
};
