function hidePreview(id) {
	$('#previewImage_'+id).hide();
}

function showPreview(id) {
	$('#previewImage_'+id).show();
}

function getLanguage() {
	if (document.URL.indexOf('L=',0) != -1) {
		return tmpString = document.URL.substr(document.URL.indexOf('L=',0)+2, 1);
	} else {
		return 0;
	}
}

$(document).ready(function() {
	var __PAGE_ID = (typeof __PAGE_ID == 'undefined') ? '' : __PAGE_ID;
	
	$('.tx-ajaxupload-upload-trigger').each(function() {
		var uploaderID = $(this).attr('id').replace('uploader_', '');

		$(this).upload({
			name: 'tx_ajaxupload[fileToUpload]',
			method: 'post',
			enctype: 'multipart/form-data',
			action: '/index.php',
			params: {
				'eID': 'ajaxupload',
				'L' : getLanguage(),
				'tx_ajaxupload[ajaxAction]': 'saveFile',
				'tx_ajaxupload[previewImageId]': 'previewImage_'+ uploaderID,
				'tx_ajaxupload[uploaderId]': uploaderID,
				'id': __PAGE_ID
			},
			uploaderId: uploaderID,
			onSubmit: function() {
				if (typeof(uploaderID) != 'undefined') {
					if (typeof(loaderImage) != 'undefined') {
						enetsaJcropImageHandler.destroyImage(uploaderID);
						hidePreview(uploaderID);
						$('#previewImage_'+uploaderID).after(loaderImage);
						$('#loaderImage_'+uploaderID).show();
					}
					if (typeof(errorMessage) != 'undefined') {
						$('#errorMessage_'+uploaderID).hide();
					}
				}
			},
			onComplete: function(response) {
				response = eval('('+response+')');

				if (response.status == 'success') {
					if (response.previewImageId) {
						$('#'+response.previewImageId).attr('src', response.newImage);
						$('#'+response.previewImageId).attr('width', response.newWidth);
						$('#'+response.previewImageId).attr('height', response.newHeight);
						if (typeof(uploaderID) != 'undefined' && typeof(loaderImage) != 'undefined') {
							$('#loaderImage_'+uploaderID).remove();
							showPreview(uploaderID);
							enetsaJcropImageHandler.refreshImage(uploaderID);
						}
					} else {
						//self.location.reload();
						$('#'+response.previewImageId).attr('src', '')
							.attr('width', '')
							.attr('height', '');
						enetsaJcropImageHandler.destroyImage(uploaderID);
					}

					if (response.msg) {
						if(!$('#errorMessage_'+uploaderID)) {
							$('#previewImage_'+uploaderID).after(errorMessage);
						}
						$('#errorMessage_'+uploaderID).text(response.msg);
						$('#errorMessage_'+uploaderID).show();
						enetsaJcropImageHandler.refreshImage(uploaderID);
					}

					if (jQuery.browser.msie && parseInt(jQuery.browser.version) == 6) {
						//self.location.reload();
					}
				} else {
					// Error handling
					if (typeof(uploaderID) != 'undefined') {
						if (typeof(loaderImage) != 'undefined') {
							showPreview(uploaderID);
							enetsaJcropImageHandler.refreshImage(uploaderID);
							$('#loaderImage_'+uploaderID).remove();
						}
						if (typeof(errorMessage) != 'undefined') {
							if(!$('#errorMessage_'+uploaderID).attr('id')) {
								$('#previewImage_'+uploaderID).after(errorMessage);
							}
							enetsaJcropImageHandler.destroyImage(uploaderID);
							hidePreview(uploaderID);
							$('#errorMessage_'+uploaderID).text(response.msg);
							$('#errorMessage_'+uploaderID).show();
						}
					}
				}
			}
		});
	});

	$('.tx-ajaxupload-delete-trigger').each(function() {
		$(this).click(function() {
			$.get(
				'/index.php',
				{
					'eID': 'ajaxupload',
					'tx_ajaxupload[ajaxAction]': 'deleteFile',
					'tx_ajaxupload[previewImageId]': 'previewImage_'+$(this).attr('id').replace('delete_', ''),
					'tx_ajaxupload[uploaderId]': $(this).attr('id').replace('delete_', ''),
					'id': __PAGE_ID
				},
				function(response) {
					// console.log(response);
					response = eval('('+response+')');
					// console.log(response);
					if (response.previewImageId && response.newImage) {
						$('#'+response.previewImageId).attr('src', response.newImage);
						$('#'+response.previewImageId).attr('width', response.newWidth);
						$('#'+response.previewImageId).attr('height', response.newHeight);
					} else {
						self.location.reload();
					}
				}
			);
		});
	});
});

