var reorderringHolder = {
holderId: null,
blocksCount:0,
holder:null,
reorderBlocks: function ()
{
	if (!this.holderId)
	{
		return;
	}
	this.holder = $0('#'+ this.holderId);
	var holderFrame = $0('#frame-' + this.holderId);
	this.blocksCount = this.holder.children().size(); 
	this.holder.children().addClass('reorder_wires');
	if ($0.browser.msie && $0.browser.version.match(/^7/))
	{
		this.holder.children().width(holderFrame.width());
	}
	

	this.accomodateReorderringHolder();
	
	this.holder.sortable(
		{
			'tolerance': 'pointer', 
			'axis': 'y', 
			'placeholder':'reorder_placeholder', 
			'forcePlaceholderSize': true, 
			'opacity': 0.6
		}
	);
},

getNewBlocksOrder: function()
{
	return this.holder.sortable('toArray');
},

accomodateReorderringHolder: function()
{
	var frmbody = this.holder.parents('body');
	var holderFrame = $0('#frame-' + this.holder.attr('id'), frmbody);
	this.blocksCount = 0;
	$0('.zakryvashka').remove();
	$0('.holderBorder,.blockBorder,.blockMenu,.holderMenu,.blockLabels,.holderLabels', frmbody).show();
	
	// Top
	var z = document.createElement('div');
	$0( z ).addClass('zakryvashka');
	$0( z ).css( 'top', '0' );
	$0( z ).css( 'left', '0' );
	$0( z ).width( $0( document ).width() );
	$0( z ).height( this.holder.offset().top - 1 );
	
	z.id = 'z_top';
	frmbody.append( z );
	
	// Left
	z = document.createElement('div');
	$0( z ).addClass('zakryvashka');
	$0( z ).css( 'top', this.holder.offset().top - 1 );
	$0( z ).css( 'left', '0' );
	$0( z ).width(holderFrame.offset().left - 1 );
	$0( z ).height( this.holder.outerHeight(true) + 2 + this.blocksCount*2);	
	frmbody.append( z );
	
	// Right
	z = document.createElement('div');
	$0( z ).addClass('zakryvashka');
	$0( z ).css( 'top', this.holder.offset().top - 1 );
	$0( z ).css( 'left', parseInt( holderFrame.offset().left, 10 ) + parseInt( holderFrame.width(), 10 ) + 2 );
	$0( z ).width( parseInt( $0('#z_top', frmbody).width(), 10 ) - parseInt( holderFrame.offset().left, 10 ) - parseInt( holderFrame.width(), 10 ) - 2);
	$0( z ).height( this.holder.outerHeight() + 2 + this.blocksCount*2);	
	frmbody.append( z );
	
	// Bottom
	z = document.createElement('div');
	$0( z ).addClass('zakryvashka');
	$0( z ).css( 'top', parseInt( this.holder.offset().top, 10 ) + parseInt( this.holder.outerHeight(), 10 ) + 1 + this.blocksCount*2);
	$0( z ).css( 'left', '0' );
	$0( z ).width( $0( document ).width());
	$0( z ).height( frmbody.height() - parseInt( $0('#z_top', frmbody).height(), 10 ) - parseInt( this.holder.height(), 10 ) - 1 - this.blocksCount*2);
	frmbody.append( z );
	$0('.holderBorder,.blockBorder,.blockMenu,.holderMenu,.blockLabels,.holderLabels', frmbody).hide();
}}