{extends file=$smarty.const.SMARTY_LAYOUT_MAIN_GENERAL_PAGINATED_LISTING}

{block name="js" append}
	<script type="text/javascript">
		MVC.scheduleOnLoad(function(){
		
			MVC.listing.prototype.moveUpCurrentItem = function(element){
				this.backend_callUpdateOperation('moveUp', {
					'listing[selection][add][]':	this.getItemId(element),
					'listing[selection][clear]' :	'all'
				});
			}


			MVC.listing.prototype.moveDownCurrentItem= function(element){
				this.backend_callUpdateOperation('moveDown', {
					'listing[selection][add][]':	this.getItemId(element),
					'listing[selection][clear]' :	'all'
				});
			}
				
			MVC.listing.prototype.saveWithConfirmation = function(element) {
				MVC.callbackWithConfirmation(
					"{$lang['save']['title']}",
					"{$lang['save']['confirmation']}",
					this.backend_callUpdateOperation.bind(this, 'save', { })
				);
			}
			
			MVC.listing.prototype.resetWithConfirmation = function(element) {
				MVC.callbackWithConfirmation(
					"{$lang['reset']['title']}",
					"{$lang['reset']['confirmation']}",
					this.backend_callUpdateOperation.bind(this, 'reset', {	})
				);
			}
			
			MVC.listing.prototype.deleteCurrentItemWithConfirmation = function(element){
				MVC.callbackWithConfirmation(
					"{$lang['delete']['title']}",
					"{$lang['delete']['confirmation']}",
					this.backend_callUpdateOperation.bind(this, 'delete', {
						'listing[selection][add][]':	this.getItemId(element),
						'listing[selection][clear]' :	'all'
					})
				);
			}
		});
	</script>
{/block}
