	var updateUpDown = function(sortable){
		$('dl:not(.ui-sortable-helper)', sortable)
			.removeClass('first').removeClass('last')
			.find('.up, .down').removeClass('disabled').end()
			.filter(':first').addClass('first').find('.up').addClass('disabled').end().end()
			.filter(':last').addClass('last').find('.down').addClass('disabled').end().end();
	};
		
	var emptyTrashCan = function(item){
		item.remove();
	};
	
	var sortableChange = function(e, ui){
		if(ui.sender){
			var changedClass;
			var changDirection = '';
			var $this = ui.helper;
					if($this.attr("class")){
					changedClass = $this.attr("class");
						if(/left/i.test(changedClass) && changDirection == '') {
							changDirection = 1;
						}else if(/right/i.test(changedClass) && changDirection == '') {
							changDirection = 0;
						}
						if(changDirection == 1) {
							changedClass = changedClass.replace("left","right");
						}else if(changDirection == 0) {
							changedClass = changedClass.replace("right","left");
						}
						ui.element.find("#"+$this.attr('id')).attr("class",changedClass);
						$this.attr("class",changedClass);
						changedClass = "";
					}
		}
	};
	
	var sortableUpdate = function(e, ui){
		if(ui.element[0].id == 'trashcan'){
			emptyTrashCan(ui.item);
		} else {
			updateUpDown(ui.element[0]);
			if(ui.sender) {
				updateUpDown(ui.sender[0]);
			}
		}
	};

	var bindDrag = function(){
		var els = ['#repsheet_left_column', '#repsheet_right_column'];
		var $els = $(els.toString());
		
		$els.each(function(){
			updateUpDown(this);
		});
		
		$els.sortable({
			items: '> div',
			handle: 'div',
			cursor: 'move',
			cursorAt: { top: 2, left: 2 },
			opacity: 0.8,
			//helper: 'clone',
			appendTo: 'body',
			//placeholder: 'clone',
			//placeholder: 'placeholder',
			connectWith: els,
			start: function(e,ui) {

			},
			change: sortableChange,
			update: sortableUpdate,
			stop: function(e,ui) {
				if($("#content_head_control").attr("id")){
					savePositionOfInfobox(page_repsheet_id);
				}
				unchangeDivSize();
				if(ui.item.attr("id") == "photo_info") {
					$(".control_thumb img").each(function() {
						if($(this).css("display") != "none") {
							id = $(this).attr("id");
							$(":radio[name='photo']").each(function() {
								$this = $(this);
								if ($this.val() == id) {
									$this.attr("checked", true);
								}			
							});
						}
					});
				}
			}
		});
	};

	$(document).ready(function(){
		bindDrag();		
	});
	
	$(window).bind('load',function(){
		setTimeout(function(){
			$('#overlay').fadeOut(function(){
				$('body').css('overflow', 'auto');
			});
		}, 750);
	});



	var unbindDrag = function(){
		var els = ['#repsheet_left_column', '#repsheet_right_column'];
		var $els = $(els.toString());
		
		$els.each(function(){
			$(this).unbind();
		});
	};



var backDivHeight = 0;

function changeDivSize(){
	var parentDivHeight = $(".content_fullwidth").height();
	var rightDivHeight = $("#repsheet_right_column").height();
	if(backDivHeight == parentDivHeight){
		return false;
	}
	backDivHeight = parentDivHeight;
	$("#repsheet_left_column").height(backDivHeight);
	$("#repsheet_right_column").height(backDivHeight);
	return true;
}

function unchangeDivSize(){
	$("#repsheet_left_column").height('');
	$("#repsheet_right_column").height('');
	backDivHeight = 0;
}
