// JavaScript Document
var setItemsCookieName = "setItemsCookieName";
var setParentCookieName = "setParentCookieName";
var setCookieExpiry = 7;


function getItems()
{
	var items = Array();
	var it1 	= jQuery("#sortable1").get()
	it1		= jQuery(it1).sortable("toArray");
	var it2 	= jQuery("#sortable2").get()
	it2		= jQuery(it2).sortable("toArray");
//	var it3 	= jQuery("#sortable3").get()
//	it3		= jQuery(it3).sortable("toArray");
		
	for(var p in it1)
	{
		items.push(it1[p]);
	}
	
	for(var p in it2)
	{
		items.push(it2[p]);
	}
	
//	for(var p in it3)
//	{
//		items.push(it3[p]);
//	}
	
	return items;
}

function getParents()
{
	var parents = Array();
	var par1 	= jQuery("#sortable1").get()
	par1		= jQuery(par1).sortable("toArray");
	var par2 	= jQuery("#sortable2").get()
	par2		= jQuery(par2).sortable("toArray");
//	var par3 	= jQuery("#sortable3").get()
//	par3		= jQuery(par3).sortable("toArray");

	var parentID = null; 

	for(var p in par1)
	{
		parentID	= jQuery("#" + par1[p]).parent(".sortable").get();
		parentID	= jQuery(parentID).attr("id");
		
		parents.push(parentID);
	}
	
	for(var p in par2)
	{
		parentID	= jQuery("#" + par2[p]).parent(".sortable").get();
		parentID	= jQuery(parentID).attr("id");
		
		parents.push(parentID);
	}
	
//	for(var p in par3)
//	{
//		parentID	= jQuery("#" + par3[p]).parent(".sortable").get();
//		parentID	= jQuery(parentID).attr("id");
//		
//		parents.push(parentID);
//	}
	
	return parents;
}

function getOrder() 
{
	 jQuery.cookie(setItemsCookieName, getItems(),  { expires: setCookieExpiry, path: "/" });
	 jQuery.cookie(setParentCookieName, getParents(),  { expires: setCookieExpiry, path: "/" });	 
}

function restoreOrder() 
{
	
	 var cookie 		= jQuery.cookie(setItemsCookieName);
	 if (!cookie) return;
	
	var parentCookie	= jQuery.cookie(setParentCookieName);
	 if (!parentCookie) return;
	 
	
	var IDs	 		= cookie.split(",");
	
	var parentIDs	= parentCookie.split(",");
	
	var items = getItems();//list.sortable("toArray");
	  
	
	var rebuild = new Array();
	 
	for ( var v=0, len=items.length; v<len; v++ )
	{
		rebuild[items[v]] = items[v];
	}

	for (var i = 0, n = IDs.length; i < n; i++) 
	{
	

		 var itemID = IDs[i];
		
		 if (itemID in rebuild) 
		 {
	
			var item 		= rebuild[itemID];
			
			var child 		= jQuery("#" + item);
			
			var savedOrd 	= jQuery("#" + itemID);
			
			var parent		= jQuery("#" + parentIDs[i]);
			
			jQuery(child).remove();
			
			jQuery(parent).append(savedOrd);
		 }
	}
	
	for (var j = 0, n = parentIDs.length; j < n; j++) 
	{
		var p = jQuery("#" + parentIDs[j]);
		
		jQuery(p).append("<div class='clearBoth'></div>");
	}
	
}

jQuery(document).ready(function($){
		$(".sortable").sortable
		({
			placeholder: 'placeholder',
			items: '> .droppableItems',
			delay:100,
			revert:300,
			cursor:'move',
			forcePlaceholderSize: true,
			connectWith: '.sortable',
			update: function() {getOrder(); }
 
			
		});

		restoreOrder();
	});

