/*
*  Move Boxes via mouse up and down. Store order in cookie
*/
	var cookieName = "moveBoxOrder"; 
	var m_imgPath= "/img/design/";
	
	var m_upImage = m_imgPath + "main_header_arrow_up.gif";
	var m_downImage = m_imgPath + "main_header_arrow_down.gif";		
	
	$(document).ready(function(){
		restoreOrder();
		setupMoveableBoxes();	
		adjustBoxArrows();
	});
	
	function restoreOrder(){
		var cookie = $.cookie(cookieName);
		if (!cookie) return;
	
		var IDs = cookie.split(",");
		sort(IDs);
	}
	
	function sort(order_arr){
		for(i = 1; i < order_arr.length; i++){
			$('#' + order_arr[i]).insertAfter('#' + order_arr[i - 1]);
		}
	}
	
	function saveOrder(){
		var ids = []; 
		$("div.move_box").each(function(){
			ids.push($(this).attr('id'));
		});
		var id_csv = ids.join(",");
		$.cookie(cookieName, id_csv, { expires: 7});
	}
	
	function setupMoveableBoxes(){
		$(".move_up").each(function(){
			  $(this).click(function(){
				 moveBox(this,"up")
				 return false;
			  });
		});
		$(".move_down").each(function(){
			$(this).click(function(){	   
				moveBox(this,"down");
				return false;
			});
		});
	}

	function moveBox(obj,direction){
		var actual = $(obj).parents("div.move_box:first");
		if (direction=="down"){
			var swap = $(actual).next();
			moveBoxDown(actual, swap);
		} else {
			var swap = $(actual).prev();
			moveBoxUp(actual, swap);
		}
	}

	function moveBoxDown(actual,swap){
		$(actual).find("a.move_down").mouseout();
		$(actual).slideUp(400, function () {
			$(actual).insertAfter($(swap));
			$(actual).slideDown(600, function () {
				$(actual).find("a.move_down").mouseout();
				saveOrder();
				adjustBoxArrows();
			});
			adjustBoxArrows();
		});
	}
	
	function moveBoxUp(actual,swap){
		$(actual).find("a.move_up").mouseout();
		$(actual).slideUp(400, function () {
			$(actual).insertBefore($(swap));
			$(actual).slideDown(600, function () {
				$(actual).find("a.move_up").mouseout();
				saveOrder();
				adjustBoxArrows(); 
			});
			adjustBoxArrows(); 
		});		
	}
	
	function adjustBoxArrows(){
	    showAllMoveBoxArrows();
		hideFirstAndLastMoveBoxArrow();
	}
	
	function showAllMoveBoxArrows(){
		$("a.move_up").each(function(){
			$(this).css("display","block");
		});
		$("a.move_down").each(function(){
			$(this).css("display","block");
		});
	}
	
	function hideFirstAndLastMoveBoxArrow(){	
		$("a.move_up:first").css("display","none");
		$("a.move_down:last").css("display","none");
	}
	
	function mouseOverDownArrow(obj){
		obj.style.background = '#999999 url(/img/design/main_header_bg_on.gif) repeat-x top left';
		obj.style.padding = '0';
		obj.style.borderLeft = '1px solid #ffffff';
		obj.style.borderRight = '1px solid #ffffff';
		obj.firstChild.src = '/img/design/main_header_arrow_down_on.gif';
	}
	
	function mouseOverUpArrow(obj){
		obj.style.background = '#999999 url(/img/design/main_header_bg_on.gif) repeat-x top left';
		obj.style.padding = '0';
		obj.style.borderLeft = '1px solid #ffffff';
		obj.style.borderRight = '1px solid #ffffff';
		obj.firstChild.src = '/img/design/main_header_arrow_up_on.gif';
	}
	
	function mouseOutDownArrow(obj){
		obj.style.background = 'none';
		obj.style.border = '0';
		obj.style.padding = '0 1px 0 1px';
		obj.firstChild.src = '/img/design/main_header_arrow_down.gif';
	}
	
	function mouseOutUpArrow(obj){
		obj.style.background = 'none';
		obj.style.border = '0';
		obj.style.padding = '0 1px 0 1px';
		obj.firstChild.src = '/img/design/main_header_arrow_up.gif';
	}