var doubleTrackSelectionPart1 = '';
var doubleTrackSelectionPart2 = '';

function setUploadInfo(isVisible) {
	var uploadInfo = document.getElementById("uploadinfo");
	
	if(isVisible) {
		uploadInfo.style.visibility = "visible";
	} else {
		uploadInfo.style.visibility = "hidden";
	}
}


function checkFlashPlayer() {
	var fp = deconcept.SWFObjectUtil.getPlayerVersion();

	if(fp.major >= 9 && fp.minor >= 0 && fp.rev >= 124) {
		return true;
	}
		
	return false;
	
}


var tracksArray = new Array();
var uploadSlots = 2;
var slotsInUse = 0;

function addNewFinishedTrack(trackID, trackPath) {
	tracksArray[trackID]["trackFile"] = trackPath;
	tracksArray[trackID]["uploadStatus"] = 1;
	
	resetErrorMessages(trackID);
	
	releaseUploadSlot();
}

function releaseUploadSlot() {
	slotsInUse--;
	checkIfUploadIsFinished();
}

function setErrorOnTrackUpload(trackID, errorType) {
	slotsInUse--;

	resetTrackInformation(trackID);
	checkForNextUpload();
	
	resetErrorMessages(trackID);
	
	var errorObject = document.getElementById("track" + trackID + errorType);
	errorObject.style.display = "block";
}

function resetTrackInformation(trackID) {
	tracksArray[trackID]["uploadStatus"] = -1;
	tracksArray[trackID]["trackFile"] = "";
}

function resetErrorMessages(trackID) {
	document.getElementById("track" + trackID + "trackError").style.display = "none";
	document.getElementById("track" + trackID + "uploadError").style.display = "none";
	document.getElementById("track" + trackID + "fileSizeExceed").style.display = "none";
}

function checkIfUploadIsFinished() {
	if(isUploadFinished()) {
		
		var obj = document.getElementById("trackUploadForm");
		obj.submit();
	} else {
		checkForNextUpload();
	}
}

function isUploadFinished() {
	for(var key in tracksArray) {
		if(tracksArray[key]["uploadStatus"] != 1) {
			return false;
		}
	}
	
	return true;
}

function checkFileName(trackID, trackFile) {
	for(var key in tracksArray) {
		if(tracksArray[key]["trackFile"] == trackFile && key != trackID) {
			
			var volume = "";
			if(tracksArray[key]["trackVolume"] != 0) {
				volume = "(Volume "+tracksArray[key]["trackVolume"]+")";
			}
			
			var useSameName = confirm(doubleTrackSelectionPart1+" "+tracksArray[key]["trackNumber"]+" "+volume+". "+doubleTrackSelectionPart2);
			
			if(useSameName) {
				tracksArray[trackID]["trackFile"] = trackFile;
				return true;
			} else {
				return false;
			}
		}
	}
	
	tracksArray[trackID]["trackFile"] = trackFile;
	return true;
}

function isUploadSlotFree(trackID) {
	var canUpload = checkForUploadStart();
	
	if(canUpload) {
		tracksArray[trackID]["uploadStatus"] = -1;
		slotsInUse++;
		resetErrorMessages(trackID);
	} else {
		tracksArray[trackID]["uploadStatus"] = 0;
	}
	
	return canUpload;
}

function checkForUploadStart() {
	if(slotsInUse < uploadSlots) {
		return true;
	}
	
	return false;
}

function checkForNextUpload() {
	for(var key in tracksArray) {
		if(tracksArray[key]["uploadStatus"] == 0) {
			if(checkForUploadStart()) {
				startFlashUpload(key);
			}
		}
	}
}

function startFlashUpload(trackID) {
	tracksArray[trackID]["uploadStatus"] = -1;
	slotsInUse++;
	
	var flashObject = document.getElementById("track" + trackID);
	
	flashObject.startUpload();
}

function cancelAllUploads() {
	var flashObject;
	
	for(var key in tracksArray) {
			flashObject = document.getElementById("track" + key);
			flashObject.cancelUpload();
		
	}
	
	//alert("cancel upload");
}