/*
 * Shine - admin javascript
 * Author: Ben Prebble
 * Date: 28/02/2010
*/
//var shineUI = window.shineUI || {};
	shineUI.swap = function () {																																					// shineUi.render class		
	
	var module_data = {"modules":[{
		//	"pairs":[{}]
		}]
	};
	/*
	var module_data = {"modules":
		{
				"module_id"			: "",
				"module_origin" : "",
				"module_target" : ""
		}
	
	};*/
	//////////////////////////////////////////////////////
	//////////////////////////////////////////////////////
	// GLOBAL FUNCTION TO SWAP ELEMENTS	
	//////////////////////////////////////////////////////
	//////////////////////////////////////////////////////
	jQuery.fn.swap = function (b) {
			b = jQuery(b)[0];
			var a = this[0];
			var t = a.parentNode.insertBefore(document.createTextNode(''), a);
			b.parentNode.insertBefore(a, b);
			t.parentNode.insertBefore(b, t);
			t.parentNode.removeChild(t);
			return this;
	};
	//////////////////////////////////////////////////////
	//////////////////////////////////////////////////////
	// INITIALISE SRTABLES
	//////////////////////////////////////////////////////
	//////////////////////////////////////////////////////
	var sortableInit = function(){		
		var swapper, swappee;

		$(".module").draggable({
			snap: true,
			snapMode: 'inner',
			opacity: .70,
			start: function(){
				swapper = this.id;
				$("#"+swapper).css({"z-index":"99"});
			}			
		});
		
		$(".module").droppable({			
			over: function(){
				swappee = this.id;
				setTimeout(function(){
					$("#"+swapper).swap("#"+swappee);
				},500);
			},
			drop: function(){			
				$("#"+swapper).css({"z-index":"1"});	
				/*	confirm("save order");
				 * 
				 * 
				console.log("swapper ("+swapper+") now equals: "+swappee);
				console.log("swappee ("+swappee+") now equals: "+swapper);
				*/	
				//console.log(module_data);
				
				var start_pos = swapper.split("_");
				var end_pos = swappee.split("_");
				
				//module_data.modules.pairs.push({"swapper_id":swapper,"end_pos":end_pos[1],"swappee_id":swappee,"end_pos":start_pos[1]});
				
				
				module_data.modules.push({"id":swapper,"end_pos":end_pos[1]});
				module_data.modules.push({"id":swappee,"end_pos":start_pos[1]});
			//	console.log(module_data);
			}
		});
	}
	return{
		sortableInit : sortableInit
	};	
}	
