// JavaScript Document


var HIT_URL 			= './startAidTree1/ajaxRequest.php' ;
var TREE_CONTAINER_ID 	= "mt"			;
var ID_ARRAY			= new Array();


function swapView(catId)
{
	
	/*
	var pos 	= this.id.indexOf('_');
	var catId 	= dragableId.substr(pos + 1);
	*/
	YAHOO.log("SWAPPING VIEW OF: " + catId );
	
	var Layer = 'lower_' + catId;
	if($(Layer).style.display == "none" )
	{
		if(detectRowsInTable('par_' + catId))
		{
			Effect.SlideDown(Layer,{duration:.2});		
			$('childOptions_' + catId).style.display = 'inline';
			$('img2_up_' + catId).style.display = 	"none";
			$('img2_down_' + catId).style.display =	"inline";
		}
	}
	else
	{
		if(detectRowsInTable('par_' + catId))
		{	
			$('childOptions_' + catId).style.display = 'none';
			Effect.SlideUp(Layer,{duration:.2});
			$('img2_up_' + catId).style.display = 	"inline" ;
			$('img2_down_' + catId).style.display =	"none";
		}
		
	}
}

function droppedOnNode(dragableId , dropableId)
{
	var pos 	= dragableId.indexOf('_');
	var drId 	= dragableId.substr(pos + 1);
	var dpMode	= dragableId.substr(0 , pos);
	if(dpMode == '')
	{
		if(dragableId == 'addnewlinkdiv')
		{
			dpMode = 'addnewlinkdiv' ;
		}	
	}
	
	var pos1 	= dropableId.indexOf('_');
	var dpId 	= dropableId.substr(pos1 + 1);
	
	//alert(dpMode);
	switch(dpMode)
	{
		case "main":
			if(dpId != drId)
			{	
				YAHOO.log("AJAX REQUEST STARTED" , 'warn')
				AjaxRequest.post( 
				{
				'url':HIT_URL + '?call=droppedOnNode&draggedNodeId=' + dragableId + '&droppableNodeId=' + dropableId ,
				'onLoading':function(req){
								$(TREE_CONTAINER_ID).style.display = 'inline';
							},
				'onSuccess':function(req){
								swapNode(req);
							},
				'onError':	function(req){ 
								alert('Error!\nStatusText='+req.statusText+'\nContents='+req.responseText);}
							} 
				);
			}
			else
			{
				YAHOO.log("AJAX REQUEST CANNOT BE STARTED BECAUSE OF SAME ID "  + drId + " " + dpId , 'warn');
			}
			break;
		case "product":
			var newCatName = $('product_1_input').value
			if(!newCatName || newCatName == 'Type Category name then drop below' )
			{
				alert("You cannot create blank category/sub category. Write a neme before you drop it");
			}
			else
			{
				AjaxRequest.post( 
				{
				'url':HIT_URL + '?call=addCategoryOnNode&catValue=' + newCatName + '&catId=' + dpId ,
				'onLoading':function(req){
								$(TREE_CONTAINER_ID).style.display = 'inline';
							},
				'onSuccess':function(req){
								//alert(req.responseText);
								var node 			= req.responseXML ;
								var resultChild 	= node.firstChild;
								
								// Result of the AJAX call
								var ack 			= resultChild.getAttribute("ack");
								var newId 			= resultChild.getAttribute("newId");
								
								try{
									var newNode 		= createCategoryNode(newId , newCatName)
									YAHOO.log("Node created");
									$('par_' + dpId).firstChild.insertBefore(newNode , null);
									YAHOO.log("Node placed");
								}
								catch(e){
									YAHOO.log("Unable to create node" , 'error');
									
								}
								
								try{
									var newOptionNode = createOptionNode(newId);
									YAHOO.log("Option Node created");
									try{
										$('leftOption_' + dpId).insertBefore(newOptionNode, null) ;
										YAHOO.log("Option Node placed");
									}
									catch(e){
										YAHOO.log("Option Node cannot be placed" , 'error');
									}
									
									
									
								}
								catch(e){
									YAHOO.log("Unable to create option node" , 'error');
									
								}
								
								// Make the node draggable and droppable
								var nodeId = newId
								
								
								/* Adding 2 new droppables */
									
								try
								{
									Droppables.add("upper_" + nodeId, {accept:["Main"] , hoverclass: "hover1",	overlap : 'vertical', onDrop: function(draggable , droppable , event) { droppedInBetweenNode(draggable.id , droppable.id) }, onHover: function(draggable , droppable , overlap){ hoverInBetween(draggable , droppable , overlap)}});
									YAHOO.log("New Droppable created: upper_" + nodeId);
								}
								catch(e)
								{
									YAHOO.log("Creating of droppable failed: upper_" + nodeId , 'error');
								}
								
								try
								{
									Droppables.add("name_" + nodeId , { hoverclass: 'hover',	overlap : 'horizontal', onDrop: function(draggable , droppable , event) { droppedOnNode(draggable.id , droppable.id) }});
								}
								catch(e)
								{
									YAHOO.log("Creating of droppable failed: name_" + nodeId , 'error');
								}
								
								try
								{
									new Draggable("main_" + nodeId , { revert: true ,handle: "handle_" + nodeId ,ghosting : true , scroll: window , endeffect: function(){showMe()} });
									YAHOO.log("New Draggable created: main_" + nodeId );
								}
								catch(e)
								{
									YAHOO.log("Creating of draggable failed: main_" + nodeId , 'error');
								}
								repairStyle(node);
								if(dpId){
									$('lower_' + dpId).style.display = 'inline' ;
									$('childOptions_' + dpId).style.display = 'inline' ;
								}else{
									$('lowerRootContainer').style.display = 'inline' ;
									$('leftOption_' + dpId).style.display = 'inline'
								}
								
							},
				'onError':	function(req){ 
								alert('Error!\nStatusText='+req.statusText+'\nContents='+req.responseText);}
							} 
				);
			}
			break;
		case "item":
			YAHOO.log("AJAX REQUEST STARTED" , 'warn')
			
			AjaxRequest.post( 
			{
			'url':'ajax_st.php' + '?call=addcatinlink&catid=' + dpId + '&urlid=' + drId ,
			'onLoading':function(req){
							$('treeviewmanage').innerHTML = '';
							$(TREE_CONTAINER_ID).style.display = 'inline';
						},
			'onSuccess': function(req){
							if(req.responseText != 'false')
							{
								var num1 = req.responseText.substr(0 , req.responseText.indexOf(' ') )
								YAHOO.log("NUM 1 = " + num1)
								var secText = req.responseText.substr(req.responseText.indexOf(' ') + 1);
								var num2 = secText.substr(0 , secText.indexOf(' '));
								YAHOO.log("NUM 2 = " + num2)
								var motherId = secText.substr(secText.indexOf(' ') + 1);
								YAHOO.log("MotherId = " + motherId)
								
								//Empty node
								while($("num_" + dpId).firstChild)
								{
									$("num_" + dpId).removeChild($("num_" + dpId).lastChild);
								}
								var numText = document.createTextNode('(' + num1 + ")");
								$("num_" + dpId).insertBefore(numText , null);
								
								while($("num_" + motherId).firstChild)
								{
									$("num_" + motherId).removeChild($("num_" + motherId).lastChild);
								}
								var numText1 = document.createTextNode('(' + num2 + ")");
								$("num_" + motherId).insertBefore(numText1 , null);
								
								openinmaincontainer('manage_links.php?catid=' +  motherId)
								
							}
							else
							{
								alert("We are not able to update your request. Sorry for inconvenience")
							}
			},
			'onError':	function(req){ 
							alert('Error!\nStatusText='+req.statusText+'\nContents='+req.responseText);}
						} 
			);
			break;		
		case "addnewlinkdiv" :
			//alert("I am here");
			if(dpId != '0')
			{
				$('categoryid').value = dpId ;
				AjaxRequest.abortAll();
				checkaddnewlink('insert','','','')
				//AjaxRequest.abortAll();	
			}
			else
				alert("This action is not allowed. Please try to drop on the child category")
			break;		
		default:
			alert( "T" + dpMode + "E");
			alert("Your request cannot be completed at the moment " + dragableId);
	}
}



function droppedInBetweenNode(dragableId , dropableId)
{
	var pos 	= dragableId.indexOf('_');
	var drId 	= dragableId.substr(pos + 1);
	
	pos 		= dropableId.indexOf('_');
	var dpId 	= dropableId.substr(pos + 1);
	
	if(dpId != drId)
	{	
		YAHOO.log("AJAX REQUEST STARTED" , 'warn')
		AjaxRequest.post( 
		{
		'url':HIT_URL + '?call=droppedInBetweenNode&draggedNodeId=' + dragableId + '&droppableNodeId=' + dropableId ,
		'onLoading':function(req){
						$(TREE_CONTAINER_ID).style.display = 'inline';
					},
		'onSuccess': function(req){
			swapNode(req);
		},
		'onError':	function(req){ 
						alert('Error!\nStatusText='+req.statusText+'\nContents='+req.responseText);}
					} 
		);
	}
	else
	{
		YAHOO.log("AJAX REQUEST CANNOT BE STARTED BECAUSE OF SAME ID "  + drId + " " + dpId , 'warn');
	}
}

function hoverInBetween(draggable , droppable , overlap)
{
	YAHOO.log("OVERLAP ON " + droppable.id + " is " + (overlap * 100) + "%");
	
	var pos = droppable.id.indexOf('_');
	var Id 	= droppable.id.substr(pos + 1);
	
	if( overlap < .99 && overlap > .1)
	{
		YAHOO.log("Overlap is in between .99 to .1 so increasing the size of " + droppable.id + " DIV");		
		//droppable.innerHTML = "&nbsp;";	
		droppable.style.height = "20px";	
		
		YAHOO.log(pos + " " + Id);
		//$('leftOptionUp_' + Id).innerHTML = "&nbsp;";
		$('leftOptionUp_' + Id).style.height = "20px";
	
	}
	else
	{
		YAHOO.log("Overlap is Less out of scope so decreasing the size of " + droppable.id + " DIV");
		
		//droppable.style.fontHeight = "2px";
		//$('leftOptionUp_' + Id).style.fontHeight = "2px";
		
		droppable.style.height = "2px";
		$('leftOptionUp_' + Id).style.height = "2px";
	}
	
	
}

function swapNode(req){
	
	var node 			= req.responseXML ;
	var resultChild 	= node.firstChild;
	
	// Result of the AJAX call
	var ack 			= resultChild.getAttribute("ack");
	var draggedNodeId	= resultChild.getAttribute("draggedNode");
	var draggedParNodeId= resultChild.getAttribute("draggedParent");
	var parNodeId		= resultChild.getAttribute("parNode");
	var droppedBeforeId	= resultChild.getAttribute('dropBefore');
	var response		= "SERVER RESPONSE : \n";
	
	response			+= "ACK " +  ack + "\n";
	response			+= "DRAGGED NODE ID " + draggedNodeId + "\n";
	response			+= "DRAGGED PARENT NODE ID " + draggedParNodeId + "\n";
	response			+= "ON DROPPED PARENT NODE ID " + parNodeId + "\n";
	response			+= "ON DROPPED BEFORE NODE ID " + droppedBeforeId + "\n";
	
	
	// Logging server response
	YAHOO.log(response); 
	//
	
	if(ack == 'success')
	{
		// Resuffling for tree nodes
		
		var draggedNode 	= $("tr_" + draggedNodeId);
		var draggedParent;
		
		if(draggedNode)
		{
			YAHOO.log('DRAGGED NODE Found. ID : ' + draggedNode.id);
			draggedParent = draggedNode.parentNode ;
			
			if(draggedParent)
			{		
				YAHOO.log('DRAGGED NODE PARENT TAG :' + draggedParent.tagName);
			}
			else
			{
				YAHOO.log('DRAGGED NODE PARENT NOT FOUND ', 'error');
			}
		}
		else
		{
			YAHOO.log('DRAGGED NODE NOT Found. ' , 'error');
		}
		
		// If the node exists,pluck the node from its parent and capture its reference
		var droppedBeforeNode ;
		var onDropParent;
		
		if(droppedBeforeId)
		{
			YAHOO.log('DROP BEFORE ID FOUND. ' + droppedBeforeId);
			droppedBeforeNode 	= $("tr_" + droppedBeforeId);	
			
			if(droppedBeforeNode)
			{
				YAHOO.log('DROP BEFORE node Found. ID : ' + droppedBeforeNode.id);
			}
			else
			{
				YAHOO.log('DROP BEFORE NODE NOT Found. ' , 'error');
			}	
									
		}
		else
		{
			YAHOO.log('DROP BEFORE ID NOT FOUND. SO ASSUMED NULL' );
			droppedBeforeNode = null ;
		}
		
		// Finding the THBODY parrent of on drop node
		for(var i = 0; i < $("par_" + parNodeId).childNodes.length ; i++)
		{
			if($("par_" + parNodeId).childNodes[i].nodeType == 1)
			{
				onDropParent = $("par_" + parNodeId).childNodes[i];
			}
		}
				
		if(onDropParent)
		{
			YAHOO.log('ON DROP PARENT NODE TYPE: ' + onDropParent.tagName);
		}
		else
		{
			YAHOO.log('ON DROP PARENT NOT Found. ' , 'error');
		}
			
		
		
			
		for(var i = 0 ; i < draggedParent.childNodes.length ; i++)
		{
			YAHOO.log("Node Type:" + draggedParent.childNodes[i].nodeType);
		}
		
		// Pluck the dragged node from its parent
		YAHOO.log('REMOVING NODE' );
		var RemovedNode = draggedParent.removeChild(draggedNode);
		
		// And now drop where it should be
		YAHOO.log('ATTACHING THE NODE TO THE PARENT' );
		onDropParent.insertBefore(draggedNode , droppedBeforeNode);
		// And its done bingo !!!!!!
		
		
		//also Open the window
		if(parNodeId != '0')
		{
			YAHOO.log('PARENT NODE EXPANDED TO SEE THE ATTACHMENT' );
			$('lower_' + parNodeId).style.display = 'inline' ;
		}
				
		// Repairing styles
		YAHOO.log('REPAIRING STYLES' );
		repairStyle(node);
		
		YAHOO.log('RESHUFFLING THE SIDEOPTIONS AS THE NODES' );
		// Resuffling for side options
		var draggedNodeSide 	= $("optionMain_" + draggedNodeId);
		var onDropParentSide	= $("leftOption_" + parNodeId);
		
		// If the node exists,pluck the node from its parent and capture its reference
		if(droppedBeforeId)
		{
			var droppedBeforeNodeSide 	= $("optionMain_" + droppedBeforeId);							
		}
		else
		{
			var droppedBeforeNodeSide = null ;
		}
		
		// Pluck the dragged node from its parent
		var draggedParentSide = draggedNodeSide.parentNode ;
		
		if(!detectRowsInTable('par_' + draggedParNodeId))
		{
			draggedParentSide.parentNode.style.display = 'none';
		}
		
		var draggedParentSide = draggedNodeSide.parentNode ;
		
		draggedNodeSide = draggedParentSide.removeChild(draggedNodeSide);
		
		// And now drop where it should be
		onDropParentSide.insertBefore(draggedNodeSide , droppedBeforeNodeSide);
		// And its done bingo !!!!!! */	
		if(parNodeId != '0')
		{
			$('childOptions_' + parNodeId).style.display = 'inline';
			$('img2_up_' + parNodeId).style.display = 	"none";
			$('img2_down_' + parNodeId).style.display =	"inline";
		}
	}
	else
	{		
		alert ("Tree cannot be recreated at the moment");
	}
}

function showContainer()
{
	
	YAHOO.log('SHOWING THE TREE AND THE OPERATION FINISHED');
	Effect.SlideDown(TREE_CONTAINER_ID,{duration:.2});
}

function repairStyle(node)
{
	var styleNodes = node.firstChild.childNodes ;
	var tdId ;
	var styleOp ;
	var child;
	
	// Empty category Array
	while(ID_ARRAY.lenght)
	{
		ID_ARRAY.pop ;
	}
		
	for(var i = 0 ; i < styleNodes.length ; i++ )
	{
		if(styleNodes[i].nodeType == '1')
		{
			tdId 	= styleNodes[i].getAttribute('tdId');
			styleOp = styleNodes[i].getAttribute('show');
			child	= parseInt(styleNodes[i].getAttribute('child'));
			num		= parseInt(styleNodes[i].getAttribute('num'));
			
			ID_ARRAY.push = tdId ;
			
			if(styleOp == 'ON')
			{
				
				YAHOO.log("REPAIRING OF STYLE FOR " + tdId + "to withBackground");
				$('st_' + tdId).className = 'withBackground' ;
				
			}
			else
			{
				YAHOO.log("REPAIRING OF STYLE FOR " + tdId + "to withBackground");
				try{
					$('st_' + tdId).className = 'withoutBackground' ;	
				}
				catch(e){
					alert(tdId);
				}
			}
			/*
			try{
				$('upper_' + tdId).style.height = '2px';
				$('leftOptionUp_' + tdId).style.height = '2px';
			}
			catch(e)
			{
				YAHOO.log("REPAIRING OF STYLE FAILED FOR " + tdId , 'error');
			}
			*/
			/*
			if(child)
			{
				$('img1_haveChild_' + tdId).style.display 	= "inline"
				$('img1_noChild' 	+ tdId).style.display 	= "none";
				$('img1_noChild_last' + tdId).style.display = "none";
				$('expandLink_' + tdId).onClick = "swapView("+ tdId +")" ;
			}
			else
			{
				$('expandLink_' + tdId).onclick = function(e){return false};
				
				if(num)
				{
					$('img1_haveChild_' + tdId).style.display 	= "none";
					$('img1_noChild' 	+ tdId).style.display 	= "inline";
					$('img1_noChild_last' + tdId).style.display = "none"
				}
				else
				{
					$('img1_haveChild_' + tdId).style.display 	= "none" ;
					$('img1_noChild' 	+ tdId).style.display 	= "none";
					$('img1_noChild_last' + tdId).style.display = "inline";
				}
				
			}
			*/
			
		}
	}
}
function showMe(dgObj)
{
	YAHOO.log("SHOW ME FIRED" , 'warn');
	repairStyleOnDragEnd();	
	YAHOO.log('HIDING THE TREE FOR 500 ms TO ADJUST THE POSITIONS')
	Effect.SlideUp(TREE_CONTAINER_ID,{duration:.2});
	setTimeout("showContainer()" , 500);
}
function repairStyleOnDragEnd()
{
	YAHOO.log("ON DRAG EVENT FIRED");
	for(var i = 0 ; i < ID_ARRAY.length ; i++)
	{
		$('upper_' + ID_ARRAY[i]).style.height = '2px';
		$('leftOptionUp_' + ID_ARRAY[i]).style.height = '2px';
		YAHOO.log("ID " + ID_ARRAY[i] + " REPAIRED");
	}
}

// These two functions are made especially to resolve a bug in IE 
function detectRowsInTable(tableId)
{
	var tableBody 	= $(tableId).getElementsByTagName("TBODY");
	if(tableBody)
	{
		YAHOO.log("TBODY FOUND IN TABLE " + tableId);
		var tableTr = tableBody[0].getElementsByTagName("TR");
		if(tableTr.length)
		{
			YAHOO.log("TR FOUND IN TABLE " + tableId);
			return 1;
		}
		else
		{
			YAHOO.log("TR NOT FOUND IN TABLE " + tableId + " returning false", 'warn');
			return 0;
		}
	}
	else
	{
		YAHOO.log("TBODY NOT FOUND IN TABLE " + tableId , 'error');
		return 0;
	}
	
}


function detectChildInDiv(divId)
{
	var innerDiv = $(divId).getElementsByTagName("DIV").length
	if(innerDiv)
	{
		YAHOO.log("Inner Div  found in div " + innerDiv );
		return true;
	}
	else
	{
		YAHOO.log("Inner Div not found in div " + innerDiv , 'warn');
		return false;
	}
	
}

function createCategoryNode(newId , newName)
{
	var node;
	node = document.createElement("TR");
	node.id = 'tr_' + newId;
	
	var tempNode = document.createElement("TD");
	
	
	var tempNode1 = document.createElement('DIV');
	tempNode1.id = 'main_' + newId ;
	tempNode1.style.width = '100%' ;
	tempNode1.style.position = 'relative' ;
	
	
	var innerDiv;

	innerDiv =  " 	<div id= \" upper_" + newId + "\" style=\"height: 2px; width: 100%; background-image: url(startAidTree1/images/tree.gif); background-repeat: repeat-y; position: relative;\"><img src=\"startAidTree1/images/spacer.gif\" style=\"height: 2px;\"></div>" ; 	
	innerDiv += "		<div id=\"editcategoryname" + newId + "\" style = \"display: inline;\">";
	innerDiv += "			<table border = \"0\" cellpadding = \"0\" cellspacing = \"0\" width = \"100%\">";
	innerDiv += "				<tr>";
	innerDiv += "					<td style=\"width: 20px;\">";
	innerDiv += "						<a href=\"javascript:void(0)\" onclick=\"swapView(" + newId + ")\" style = \"text-decoration: none;\" id = \"expandLink_" + newId + "\">";
	innerDiv += "							<img id=\"img1_haveChild_" + newId + "\" src = \"startAidTree1/images/tree_opened.gif\" style = \"display: inline;\" border = \"0\">";
	innerDiv += "							<img id=\"img1_noChild" + newId + "\" src= \"startAidTree1/images/tree_opened1.gif\" style = \"display: none;\" border = \"0\">";
	innerDiv += "							<img id=\"img1_noChild_last" + newId + "\" src = \"startAidTree1/images/tree_opened2.gif\" style = \"display: none;\" border = \"0\">";
	innerDiv += "						</a>";
	innerDiv += "					</td>";
	innerDiv += "					<td style=\"padding: 0px; width: 25px;\">";
	innerDiv += "						<img id=\"img2_up_" + newId + "\" src = \"startAidTree1/images/tree_smallup.gif\" border = \"0\">";
	innerDiv += "						<img id=\"img2_down_" + newId + "\" src = \"startAidTree1/images/tree_smalldown.gif\" style = \"display:none;\" border = \"0\">";
	innerDiv += "						<img id=\"handle_" + newId + "\" src=\"startAidTree1/images/symbol9.gif\" border = \"0\" height = \"10\">"											
	innerDiv += "					</td>";
	innerDiv += "					<td>";
	innerDiv += "						<div id=\"name_" + newId + "\" style = \"padding-left: 5px; position: relative;\">";										
	innerDiv += "							<table border = \"0\" cellpadding = \"0\" cellspacing = \"0\" width = \"100%\">";
	innerDiv += "								<tr>";
	innerDiv += "									<td>";
	innerDiv += "										<div id = \"nameContainer_" + newId + "\" style = \"width: 100%; display: inline;\">";
	innerDiv += "											<a href=\"#\" class=\"bluebold\" onclick=\"new Effect.ScrollTo(\'topofmenu\');openinmaincontainer(\'manage_links.php?catid=" + newId + "\')\" ondblclick = \"editCategory(" + newId + ")\">";
	innerDiv += "												 " +  newName  + "\n";	
	innerDiv += "											</a> ";
	innerDiv += "										</div> ";
	innerDiv += "										<div id = \"editDiv_" + newId + "\" style = \"display: none;\">";
	innerDiv += "											<input class = \"input\" id = \"inputField_" + newId + "\" value=\"" + newName + "\" type = \"text\"> ";
	innerDiv += "											<a onclick = \"updateCategory(\'" + newId + "\')\" href = \"javascript: void(0)\">";
	innerDiv += "												<img id = \"EditcatButton" + newId + "\"  src = \"images/save_button.gif\" border = \"0\">";
	innerDiv += "											</a> ";
	innerDiv += "										</div> ";
	innerDiv += "									</td> ";
	innerDiv += "									<td style = \"text-align: right;\"  id = \"num_" + newId + "\" > ";
	innerDiv += "										(0) "
	innerDiv += "									</td> ";
	innerDiv += "								</tr> ";
	innerDiv += "							</table> ";
	innerDiv += "						</div> ";
	innerDiv += "					</td> ";
	innerDiv += "				</tr> ";
	innerDiv += "			</table> ";									
	innerDiv += "		</div>	";									
	innerDiv += "		<div id= \"lower_" + newId + "\" style = \"width: 100%; display: none;\" > ";
	innerDiv += "			<table border = \"0\" cellpadding = \"0\" cellspacing = \"0\" height = \"100%\" width = \"100%\"> ";
	innerDiv += "				<tr > ";
	innerDiv += "					<td  id = \"st_" + newId + "\" class = \"withoutBackground\"></td> ";
	innerDiv += "					<td> ";
	innerDiv += "						<table style=\"max-height: 100%;\" id = \"par_" + newId + "\" border = \"0\" cellpadding = \"0\" cellspacing = \"0\" width = \"100%\"><tbody></tbody></table>";
	innerDiv += "					</td>" ;	
	innerDiv += "				</tr>";
	innerDiv += "			</table>";
	innerDiv += "		</div>";
	
	tempNode1.innerHTML = innerDiv ;
	tempNode.insertBefore(tempNode1 , null);
	node.insertBefore(tempNode , null);
	/**/
	return node;																
}

function createOptionNode(newId)
{
	var nodeHtml ;			

	nodeHtml = "		<div id =\"leftOptionUp_" + newId + "\" style = \"width: 100%; height: 2px;\"><img style = \" height: 2px;\" src = \"images/spacer.gif\"/></div>";
	nodeHtml += "		<div id =\"leftOptionDown_" + newId + "\" style = \"width: 100%; height: 18px;\">";
	nodeHtml += "			<div style=\"display: inline; float: left;\" id = \"editIconDiv_" + newId + "\">";
	nodeHtml += "				<a href=\"javascript: void(0)\" class=\"blue_normal1\" onclick=\"editCategory(\'" + newId + "\');\"><img width = \"10\" height = \"10\" border = \"0\" src = \"images/symbol_pencil.gif\" style = \"margin-right: 2px;\" id = \"editcopyjointimage" + newId + "\"/></a>";
	nodeHtml += "			</div>";
	nodeHtml += "			<div style = \"display: inline; float: left;\" id = \"starDiv_" + newId + "\">";
	nodeHtml += "				<a href = \"javascript: void(0)\" onclick = \"update_category_fav(\'" + newId + "\',\'swapimagestar" + newId + "\',\'star_symbol.gif\',\'star_active.gif\')\"> <img width = \"15\" height = \"15\" border = \"0\" src = \"images/star_symbol.gif\" id = \"swapimagestar" + newId + "\" style = \"margin-left: 4px;\"/> </a>";
	nodeHtml += "			</div>";
	nodeHtml += "			<div style=\"display: none; float: left;\" id = \"deleteDiv_" + newId + "\">";
	nodeHtml += "				<a href = \"javascript: void(0)\" onclick = \"deletecategory(\'" + newId + "\')\"><img width=\"15\" height = \"15\" border = \"0\" src = \"images/delete_btn.gif\" style = \"margin-left: 4px;\" id = \"deletecatButton" + newId + "\"/></a>";
	nodeHtml += "			</div>";
	nodeHtml += "		</div>";
	nodeHtml += "		<div id = \"childOptions_" + newId + "\" style = \"width: 100%; display: none;\">";							
	nodeHtml += "			<div id = \"leftOption_" + newId + "\" style=\"width: 100%;\"></div>";
	nodeHtml += "		</div>";
	
	var node = document.createElement("DIV");
	node.id = "optionMain_" + newId ;
	node.style.width = "100%";
	node.innerHTML = nodeHtml ;
	
	return node;
}

/*

// Putting a dragable logger
var loader = new YAHOO.util.YUILoader();
loader.insert({
    require: ['dragdrop','logger'],
    
    base: './startAidTree1/',	
    onSuccess: function(loader) {	           
                this.myLogReader = new YAHOO.widget.LogReader();
    			YAHOO.log("LOGGER CONSOLE FULLY LOADED");
    }
});
*/