function init() {
	var zIndex = 0;
	var $boxDrops = 'box3';

	// BEGIN :: Non-draggable targets
	//var col1Target = new YAHOO.util.DDTarget("Column1", "Group1");
	// END :: Non-draggable targets 

	// BEGIN :: Objects to drag
	var box1 = document.getElementById("box1");
	var box2 = document.getElementById("box2");
	var box3 = document.getElementById("box3");
	var box4 = document.getElementById("box4");
	var box5 = document.getElementById("box5");
	var box6 = document.getElementById("box6");
	var box7 = document.getElementById("box7"); 

	var box1Drag = new YAHOO.util.DDProxy(box1, "Group1");
	box1Drag.setHandleElId("box1Handle");
	var box2Drag = new YAHOO.util.DDProxy(box2, "Group1");
	box2Drag.setHandleElId("box2Handle");
	var box3Drag = new YAHOO.util.DDProxy(box3, "Group1");
	box3Drag.setHandleElId("box3Handle");
	var box4Drag = new YAHOO.util.DDProxy(box4, "Group1");
	box4Drag.setHandleElId("box4Handle");
	var box5Drag = new YAHOO.util.DDProxy(box5, "Group1");
	box5Drag.setHandleElId("box5Handle");
	var box6Drag = new YAHOO.util.DDProxy(box6, "Group1");
	box6Drag.setHandleElId("box6Handle");
	var box7Drag = new YAHOO.util.DDProxy(box7, "Group1");
	box7Drag.setHandleElId("box7Handle");
	// END :: Objects to drag
	
	// BEGIN :: Event handlers
	var marker, container;
	var lastRectNode = [];
	marker = document.createElement("div");	

	box1Drag.startDrag = box2Drag.startDrag = box3Drag.startDrag = box4Drag.startDrag = box5Drag.startDrag = box6Drag.startDrag = box7Drag.startDrag = function(x, y) {
		var dragEl = this.getDragEl(); 
		var el = this.getEl();
		container = el.parentNode;
		el.style.display = "none";
		dragEl.style.zIndex = ++zIndex;
		dragEl.innerHTML = el.innerHTML;
		dragEl.style.color = "#ebebeb";
		//dragEl.style.backgroundColor = "#fff";
		dragEl.style.textAlign = "center";
		marker.style.display = "none"; 
		marker.style.height = YAHOO.util.Dom.getStyle(dragEl, "height");	
		marker.style.width = YAHOO.util.Dom.getStyle(dragEl, "width");
		marker.style.margin = "5px"; 
		marker.style.marginBottom = "20px"; 
		marker.style.border = "2px dashed #7e7e7e";
		marker.style.display= "block";
		container.insertBefore(marker, el);
		if(el.id == $boxDrops){
			//document.getElementById("searchComun").style.display = 'none';
			//document.getElementById("searchCient").style.display = 'none';
			var comun = document.getElementById("searchComun");
			var cient = document.getElementById("searchCient");
			comun.style.visibility = "hidden";  
			cient.style.visibility = "hidden";  			
		}		
	}
	box1Drag.onDragEnter = box2Drag.onDragEnter = box3Drag.onDragEnter = box4Drag.onDragEnter = box5Drag.onDragEnter = box6Drag.onDragEnter = box7Drag.onDragEnter = function(e, id) {
		try{
			var el = document.getElementById(id);
	
			if (id.substr(0, 6)	=== "Column") {
				el.appendChild(marker);
			} else {
				container = el.parentNode;
				container.insertBefore(marker, el);
			}
		}catch(err){}
	}
	box1Drag.onDragOut = box2Drag.onDragOut = box3Drag.onDragOut = box4Drag.onDragOut = box5Drag.onDragOut = box6Drag.onDragOut = box7Drag.onDragOut = function(e, id) {
		try{
			var el = document.getElementById(id);
			lastRectNode[container.id] = getLastNode(container.lastChild);
	
			if (el.id === lastRectNode[container.id].id) {
				container.appendChild(marker);
			}
		}catch(err){}	
	}
	box1Drag.endDrag = box2Drag.endDrag = box3Drag.endDrag = box4Drag.endDrag = box5Drag.endDrag = box6Drag.endDrag = box7Drag.endDrag = function(e, id) {
		var el = this.getEl(); 
		try {
			marker = container.replaceChild(el, marker);
			//if(el.id == $boxDrops){
				//var comun = document.getElementById("searchComun");
				//var cient = document.getElementById("searchCient");
				//comun.style.visibility = "visible"; 
				//cient.style.visibility = "visible";   
			//}			 
		} catch(err) {
			marker = marker.parentNode.replaceChild(el, marker);
		} 
		el.style.display = "block"; 
	}
	// END :: Event handlers
	 
	// BEGIN :: Helper methods
	var getLastNode = function(lastChild) {
		try{
			var id = lastChild.id;
			if (id && id.substring(0, 3) === "Rec") {
				return lastChild;
			} 
			return getLastNode(lastChild.previousSibling);
		}catch(err){}
	}
	var isEmpty = function(el) {
			var test = function(el) { 
				return ((el && el.id) ? el.id.substr(0, 3) == "Rec" : false);
			} 
			var kids = YAHOO.util.Dom.getChildrenBy(el, test);
			return (kids.length == 0 ? true : false);
	}
	// END :: Helper methods
}  
