/** *****************JQUERY-DMS.js*************** */
uploadSuccessTrigger = function(fileId, ID) {
	jQuery("#" + fileId + "Filedata").uploadifySuccessHandler(ID);
	return false;
}

renderRemoveSection = function(comId, fileId, fileObj, action, ID) {
	var keyValue = jQuery("#" + fileId + "Filedata").uploadifySettings(
			'apptivo_fileKeyValue');
	var docID = jQuery("#" + fileId + "Filedata").uploadifySettings(
			'apptivo_DocId');
	// alert(keyValue+ ' '+ docID);
	if (action == "new") {
		 jQuery("#"+fileId+"UploadedFileInfo").html(fileObj.name+"- <a href='javascript:void(0)' onclick=dmsdelete('"+comId+"','"+fileId+"')>Remove</a>");
		/*jQuery("#" + 'cb_' + fileId + 'Filedata' + ID).attr("disabled", false);
		jQuery("#" + 'cb_' + fileId + 'Filedata' + ID).attr(
				"onclick",
				"onRemove_SIR(\'" + comId + "\',\'" + fileId + "\',\'" + ID
						+ "\',\'" + keyValue.trim() + "\');");*/
		// jQuery("#"+'cb_'+fileId+'Filedata'+ID).attr("onclick",
		// "onRemove_SIR(\'"+ID+"\',\'"+fileId+"\');");
		//jQuery("#" + 'cancel_' + fileId + 'Filedata' + ID).hide();
	} else if (action == "reload") {
		jQuery("#" + fileId + "UploadedFileInfo").html(fileObj.name);
	}
}
/*
 * onRemove_SIR=function(ID,fileId){ jQuery("#tr_"
 * +fileId+'Filedata'+ID).fadeOut(250, function() { jQuery(ID).remove()}); }
 */

String.prototype.trim = function() {
	return this.replace(/^\s*/, "").replace(/\s*$/, "");
}

onRemove_SIR = function(comId, fileId, ID, keyValue) {
	// dmsdelete('"+comId+"','"+fileId+"');
	// dmsdelete(comId,fileId);
	jQuery("#tr_" + fileId + 'Filedata' + ID).fadeOut(250, function() {
		jQuery(ID).remove()
	});
	document.getElementById(comId + "SelectedDocKey").value = keyValue;
	if (fileId == "docCreate" || fileId == 'imageCreate'
			|| fileId == 'cdnMultiDocumentCreate') {
		deleteDocuments(comId, keyValue);
	} else if (fileId == "sendEmail") {
		deleteEmailDocuments(comId, keyValue);
	} else if (comId == "sendFax") {
		deleteFaxDocuments(comId, keyValue);
	}
}
enable_RemoveCB = function(ID) {
	jQuery("#" + 'cb_' + ID).attr("disabled", false);
	jQuery("#" + 'cancel_' + ID).hide();
}
renderErrorInfoSection = function(comId, fileId, fileObj, action, errorObj) {
	if (errorObj.type == "File Size") {
		jQuery("#" + fileId + "UploadedFileInfo").html(
				"File size is exceeding the limit.");
	} else {
		jQuery("#" + fileId + "UploadedFileInfo").html(
				"Network error while uploading file. please try again later.");
	}
	document.getElementById(comId + "DMSStatusCode").value = "DM-DOC-051";
}

updateUploadStatusSection = function(response, comId, fileId, ID, fileObj) {
	var firmId = document.getElementById(comId + "FirmId").value;
	var userId = document.getElementById(comId + "UserId").value;
	var docNumValue = document.getElementById(comId + "ModalDocId").value;
	var keyValue = firmId + ':' + userId + ':' + docNumValue;

	jQuery("#" + fileId + "UploadStatus").html(response);
	if (response != "") {
		jQuery("#" + fileId + "UploadStatus").uploadifyErrorHandler(ID);
		return false;
	} else {
		renderRemoveSection(comId, fileId, fileObj, ID);
		/*
		 * if(fileId == "docCreate") {
		 * renderRemoveSection(comId,fileId,fileObj); } else {
		 * jQuery("#"+fileId+"UploadedFileInfo").html(fileObj.name); }
		 */
		return true;
	}
}

dmsUpdateFileInfo1 = function(comId, fileId, fileObj) {
	var docKey = document.getElementById(comId + "ModalDocKey").value;
	var docNo = document.getElementById(comId + "ModalDocNo").value;
	
	// var
	// dmsStatusCode=document.getElementById(comId+"DMSStatusCode").value;
	// if(dmsStatusCode!=""){
	jQuery.ajax( {
		type : "post",
		url : "/updatedocumentinfo",
		datatype : "html",
		data : {
			//action : 'updateFInfo',
			documentkey : docKey,
			documentno : docNo,
			documentsize : fileObj.size,
			documentname : fileObj.name
		},
		success : function(data) {
			return true;
		}
	});
	// }
}

dmsUpdateFileInfo = function(comId, fileId) {
	var docKey = document.getElementById(comId + "ModalDocKey").value;
	var docNo = document.getElementById(comId + "ModalDocNo").value;
	var docName = document.getElementById(comId + "ModalDocName").value;
	var docSize = document.getElementById(comId + "ModalDocSize").value;
	
	// var
	// dmsStatusCode=document.getElementById(comId+"DMSStatusCode").value;
	// if(dmsStatusCode!=""){
	jQuery.ajax( {
		type : "post",
		url : "/updatedocumentinfo",
		datatype : "html",
		data : {
			//action : 'updateFInfo',
			documentkey : docKey,
			documentno : docNo,
			documentsize : docSize,
			documentname : docName
		},
		success : function(data) {
			return true;
		}
	});
	// }
}
dmsdelete = function(comId, fileId) {
	if (document.getElementById(comId + "ModalDocKey") != null
			&& document.getElementById(comId + "DMSStatusCode") != null
			&& document.getElementById(comId + "BucketIdentifier") != null) {
		var docKey = document.getElementById(comId + "ModalDocKey").value;
		var dmsStatusCode = document.getElementById(comId + "DMSStatusCode").value;
		var bucketIdentifierValue = document.getElementById(comId
				+ "BucketIdentifier").value;
		if (dmsStatusCode != "") {

			// Richfaces.showModalPanel('statusLoadingPanel');
			jQuery
					.ajax( {
						type : "GET",
						url : "../DMSServlet",
						datatype : "html",
						data : {
							action : 'delete',
							documentKey : docKey,
							bucketIdentifier : bucketIdentifierValue
						},
						success : function(data) {
							document.getElementById(comId + "ModalName").value = "";
							document.getElementById(comId + "DocumentName").value = "";
							document.getElementById(comId + "DMSStatusCode").value = "";
							document.getElementById(comId + "DMSStatusMsg").value = "";
							jQuery("#" + fileId + "UploadedFileInfo").html("");
							// Richfaces.hideModalPanel('statusLoadingPanel');
							return true;
						}
					});
		}
	}
}

dmsUploadifyOnSelect = function(event, ID, fileObj, comId, fileId, action) {
	
	if (action == "reload") {
		if (confirm('Choosing New file will automatically upload and replace existing file. This operation Cannot be reverted. Do you want to continue.')) {
			document.getElementById(comId + "ModalDocName").value = fileObj.name;
			document.getElementById(comId + "ModalName").value = fileObj.name;
			document.getElementById(comId + "DocumentName").value = fileObj.name;
			updateReloadDocumentID(fileId, comId, fileObj.name);

			document.getElementById(comId + "TopCancelButton").disabled = true;
			document.getElementById(comId + "TopSaveButton").disabled = true;
			document.getElementById(comId + "BottomCancelButton").disabled = true;
			document.getElementById(comId + "BottomSaveButton").disabled = true;
			return true;
		} else
			return false;
	} else if (action == "new") {
		/*
		 * Update the Docid and DocKey
		 */
		//updateDocumentID(identifiesArray[1], fileId, comId, fileObj.name);
		updateDocumentID("DocKey", fileId, comId, fileObj.name);
	/*	jQuery("#" + fileId + "Filedata").uploadifySettings(
				'apptivo_fileKeyValue', identifiesArray[1]);// DocumentID
		jQuery("#" + fileId + "Filedata").uploadifySettings('apptivo_DocId',
				identifiesArray[2]);// DocKey
*/
		// document.getElementById(comId + "ModalDocKey").value =
		// identifiesArray[1];
		return true;
		/*
		var statusObj = document.getElementById(comId + "DMSStatusCode");
		if (statusObj != null) {
				//
		} else if (fileId != "sendFax" && fileId != "sendEmail") {
			if (confirm('Uploading new file will automatically replace the existing file and it cannot be reverted again. Click Ok if you want to continue uploading new file'))
				return true;
			else
				return false;
		}*/
	}
}

dmsUploadifyOnComplete = function(event, ID, fileObj, response, data, comId,
		fileId, action) {

	document.getElementById(comId + "ModalDocSize").value = fileObj.size;
	document.getElementById(comId + "DMSStatusCode").value = "DM_DOC_200";
	document.getElementById(comId + "DMSStatusMsg").value = "";
	dmsUpdateFileInfo (comId, fileId, fileObj);
	/*document.getElementById(comId + "ModalName").value = fileObj.name;
	document.getElementById(comId + "DocumentName").value = fileObj.name;
	document.getElementById(comId + "ModalDocName").value = fileObj.name;*/
	document.getElementById(comId + "ModalDocName").value=fileObj.name;
	 document.getElementById(comId + "ModalDocSize").value=fileObj.size;
	
	renderRemoveSection(comId, fileId, fileObj, action, ID);


	//Backing bean action called in Apptivo Java
	//Call WS to send the uploaded file info like docKey, file size
	
	uploadSuccessTrigger(fileId, ID);

	return true;
}

dmsUploadifyOnError = function(event, queueID, fileObj, errorObj, comId,
		fileId, action) {
	if (errorObj.type == "HTTP" && errorObj.info == "201") {
		document.getElementById(comId + "ModalDocSize").value = fileObj.size;
		document.getElementById(comId + "DMSStatusCode").value = "DM_DOC_200";
		document.getElementById(comId + "DMSStatusMsg").value = "";

		try {
			document.getElementById(comId + "ModalName").value = fileObj.name;
		} catch (error) {
			// nothing to do
		}
		//document.getElementById(comId + "DocumentName").value = fileObj.name;
		//document.getElementById(comId + "ModalDocName").value = fileObj.name;
		document.getElementById(comId + "ModalDocName").value=fileObj.name;
		 document.getElementById(comId + "ModalDocSize").value=fileObj.size;
		
		//dmsUpdateFileInfo (comId, fileId, fileObj);
		renderRemoveSection(comId, fileId, fileObj, action, queueID);

		//Backing bean action called in Apptivo Java
		//Call WS to send the uploaded file info like docKey, file size
		uploadSuccessTrigger(fileId, queueID);
	} else {
		renderErrorInfoSection(comId, fileId, fileObj, action, errorObj);
		return true;
	}
}

renderDMSUploadify = function(comId, fileId, action, path, uploadUrl,
		availableCheck) {
	var availabilityCheckAction;
	var qsLimit = 1;
	if (action == "reload") {
		document.getElementById(comId + "DMSStatusCode").value = "DM_DOC_200";
		qsLimit = 1;
		uploadType = 1;
	} else if (action == "new") {
		qsLimit = 5;
		uploadType = 0;
		uploadType = 1;
		
	}
	jQuery("#" + fileId + "Filedata").uploadify(
			{
                                'cancelImg' : '/images/cancel.png',
				'buttonImg' : '/images/browse_bt.gif',
				'width' : '63',
				// 'queueID' : 'uploadfileFiledataUploadBar',
				'height' : '19',
				'uploader' : path + '/flash/uploadify.swf',

				'script' : uploadUrl,
				'multi' : false,
				'auto' : true,
				'queueSizeLimit' : qsLimit,
				'simUploadLimit' : '1',
				'scriptAccess' : 'always',
				'sizeLimit' : 10485760,
				'queueID' : fileId + 'FiledataUploadBar',
				'width' : '75',
				'height' : '29',
				'uploadType' : uploadType,
				'apptivo_multiDocID' : fileId,
				'onSelect' : function(event, ID, fileObj) {
                               
					return dmsUploadifyOnSelect(event, ID, fileObj, comId,
							fileId, action);
				},
				'onComplete' : function(event, ID, fileObj, response, data) {
                                    //alert("oncomplete");
					/*var folderNameValue = document.getElementById(comId
							+ "SelectedFolderName").value;
					jQuery("#td_folderName_" + fileId + 'Filedata' + ID).html(
							folderNameValue);*/
					dmsUploadifyOnComplete(event, ID, fileObj, response, data,
							comId, fileId, action);
				},
				'onError' : function(event, queueID, fileObj, errorObj) {
                                   // alert("dgddaada");
					/*var folderNameValue = document.getElementById(comId
							+ "SelectedFolderName").value;
					jQuery("#td_folderName_" + fileId + 'Filedata' + queueID)
							.html(folderNameValue);*/
					return dmsUploadifyOnError(event, queueID, fileObj,
							errorObj, comId, fileId, action);
				}
			});
}

function getContentDisposition(bucketIdentifier, fileName) {
	var contentDisposition = "; filename=\"" + fileName + "\"";
	switch (bucketIdentifier) {
	case 0:
		// DMS
		contentDisposition = "attachment" + contentDisposition;
		break;
	case 1:
		// EServices
		contentDisposition = "attachment" + contentDisposition;
		break;
	case 2:
		// CDN
		contentDisposition = "inline" + contentDisposition;
		break;
	default:
		// DMS
		contentDisposition = "attachment" + contentDisposition;
		break;
	}
	return contentDisposition;
}


