// 资源的ID
var resource_id = 0;
// 资源的名称
var resource_name = '';
// 上传地址 
// var upload_url = 'http://211.147.209.144/FileManagement/webUploadFile';
var upload_url = 'http://engok.com/FileManagement/webUploadFile';

// 上传的UI
var buildUI = function(resource_name) {
	var html = '';
	html += '<form action="" method="post" enctype="multipart/form-data">';
	html += 	'<div class="update_title">手动上传录音</div>';
	html += 		'<div class="update_content">';
	html += 			'<div class="songname">翻唱 '+resource_name+'</div>';
	html += 			'<div id="upload_div" class="updatepic">';
	html += 				'<div><input id="songFile" type="file" name="songFile" /></div>';
	html += 				'<div><input id="mood" type="text" value="非言语所能表达…" class="youmood"/></div>';
	html += 				'<div style="width:170px;">';
	html += 					'<a onclick="releaseOpusHandler()" class="btn_update" href="#" >提 交</a>';
	html += 					'<a onclick="closeWindow()" class="btn_update" href="#" >关 闭</a>';
	html += 			'</div>';
	html += 		'</div>';
	html += 		'<div id="uploading_div"></div>';
	html += 		'<div class="updatetag">';
	html += 			'<p><strong>提示: </strong></p>';
	html += 			'<p>请确保上传的录音文件格式为<span class="red">MP3</span>，并且文件大小不超过<span class="red">10M</span>上传之前请仔细核对一下是否为该歌曲的翻唱录音</p>';
	html += 		'</div>';
	html += 	'</div>';
	html += '</form>';
	return html;
};

// 上传中的UI
var buildUploadingUI = function() {
	var html = '';
	html += '<div>正在上传录音，请不要关闭窗口...</div>';
	html += '<div>&nbsp;</div>';
	html += '<div><img src="'+context_path+'/images/updating.gif" width="304" height="23" /></div>';
	html += '<div>&nbsp;</div>';
	return html;
};

/** 
 * 上传成功的UI
 * @param 作品ID
 */
var buildSuccessUI = function(opusId) {
	var html = '';
	html += '<div><img src="'+context_path+'/images/success.gif" width="169" height="31" /></div>';
	html += '<div><strong>文件上传成功</strong></div>';
	html += '<div class="set_center">';
	html += '<a href="#" onclick="closeWindow()" class="btn_update" style="cursor:pointer" >关 闭</a>';
	html += '<a href="'+context_path+'/music/ksongDetail-'+opusId+'.html" class="btn_update">立即查看</a>';
	html += '</div>';
	html += '<div class="clear"></div>';
	return html;
};

/** 
 * 上传失败的UI
 * @param 异常信息
 */
var buildFailureUI = function(msg) {
	var html = '';
	if(msg != 'nologin') {
		html += '<div style="color:red"><strong>文件上传失败</strong></div>';
	} else {
		html += '<div style="color:red"><strong>用户未登录</strong></div>';
	}
	html += '<div class="set_center">';
	html += '<a href="#" onclick="closeWindow()" class="btn_update" style="cursor:pointer" >关 闭</a>';
	// html += '<a href="#" onclick="afreshUpload()" class="btn_update" style="cursor:pointer" >是否重试</a>';
	html += '</div>';
	html += '<div class="clear"></div>';
	return html;
};

/**
 * 显示上传录音的窗体
 * @param 资源ID
 * @param 资源名
 */
var showWindow = function(res_id, resource_name) {
	resource_id = res_id;
	if(resource_id > 0) {
	  	$("#uploadLink").fancybox({
			'frameWidth': 500, 
			'frameHeight': ($.browser.msie) ? 400 : 300, 
			'hideOnContentClick': false, 
			'padding': 0,
			'centerOnScroll': true,
			'callbackOnShow': function() {
				$('#fancy_div').append(buildUI(resource_name)); 
		  	}
		});
		$("#uploadLink").click();
	}
};

/**
 * 关闭上传录音的窗体
 */
var closeWindow = function() {
	$("#fancy_close").click();
};

/**
 * 重新上传
 */
var afreshUpload = function() {
	
};

/**
 * 作品发布
 */
var releaseOpusHandler = function() {
	var localPath = $('#songFile').val();
	if(localPath != '') {
		if(validFileType(localPath)) {
		
			// 切换到上传中的UI
			$('#upload_div').hide();
			$('#uploading_div').html(buildUploadingUI());
			
			// 开始上传文件到文件服务器
			$.ajaxFileUpload({
				url: upload_url,
				secureuri: false,
				fileElementId: 'songFile',
				dataType: 'json',
				success: function (jsonObj, status) {
					// 上传文件到文件服务器成功		
					if(jsonObj.msg == 'ok' && jsonObj.filePath != '') {
						// 将作品信息入库
						$.ajax({
							url: 'releaseOpus.action?r=' + Math.random(),
							data: {
								'resourceId': resource_id,
								'filePath': jsonObj.filePath,
								'fileSize': jsonObj.fileSize,
								'mood': $('#mood').val()
							},
							type: 'post',
							dataType: 'json',
							success: function(jsonObj){
								// 作品发布成功
								if(jsonObj.msg == 'ok') {
									$('#uploading_div').html(buildSuccessUI(jsonObj.opusId));
								// 作品信息入库失败
								} else {
									$('#uploading_div').html(buildFailureUI(jsonObj.msg));
								}
							}
						});
					// 上传文件到文件服务器失败
					} else {
						$('#uploading_div').html(buildFailureUI(jsonObj.msg));
					}
				}
			});
		} else {
			alert('请选择MP3格式的文件');
		}
	}
};

/**
 * 验证文件类型
 */
var validFileType = function(localPath) {
	if(localPath != '') {
		var index = localPath.lastIndexOf('.');
		if(index > 0) {
			var extendName = localPath.substring(index + 1).toLowerCase();
			if(extendName == 'mp3') {
				return true;
			}
		}
	}
	return false;
};

/**
 * 设置资源信息
 */
var setResourceInfo = function(res_id, res_name) {
	resource_id = res_id;
	resource_name = res_name;
};

/**
 * jQuery onload
 */
$().ready(function() {
	
	// 显示上传文件窗体的DIV
	var win_div = document.getElementById('uploadWin');
	if(win_div == null) {
		var html = '<div id="uploadWin" style="display:none"></div><a id="uploadLink" href="#uploadWin" style="display:none"></a>';
		$(html).appendTo('body');
	}
	
	/**
	 * <a rel="uploadFileBox" /> click事件时显示上传文件窗体
	 */
	$("a[rel='uploadFileBox']").click(function() {
		showWindow(resource_id, resource_name);
	});
	
});

