

function listChildren(nodeId) {

	var nodeParent = document.getElementById(nodeId);
//alert("CLASS= " + nodeId.nodeType );
	if (nodeParent.hasChildNodes()) {
	//	alert("has children");
	}
	else {
	//	alert("has children");
	}
	//alert("nodeParent.childNodes.length = " + nodeParent.childNodes.length  );
	x=nodeParent.childNodes;
//alert("length = " + x.length);
var str="<BR>CHILDREN OF:   " + nodeId;
	for (i=0;i<x.length;i++)
	{
		str+= "<br>Node Id = " + x[i].id + " --  value=" + x[i].value;
	}
var nodeChildren = getNode("childrenMessage");
nodeChildren.innerHTML += str;
}


function movePicUp(picId) {

	moveNode(picId, -1);
}
function movePicDown(picId) {

	moveNode(picId, 1);
}

function moveNode(currentPicId, step) {

	var nodeCurrentPICDisplayOrder = getNode(currentPicId + "picDisplayOrder");
	var currentDisplayOrder = parseInt (nodeCurrentPICDisplayOrder.value);
	var nodeCurrentPicId = getNode("picId" + currentDisplayOrder);	
	var nodeCurrentSortOrder = getNode(currentPicId + "sortOrder2");
	newDisplayOrder = currentDisplayOrder + step;

	if (newDisplayOrder >= 0) {
		
		var currentSortOrder = nodeCurrentSortOrder.value;	
	
		//get picId displayOrder of node to move to
		var nodeNewPicId = getNode("picId" + newDisplayOrder);
		newPicId = nodeNewPicId.value;

		var nodeNewPICDisplayOrder = getNode(newPicId + "picDisplayOrder");		
		var newDisplayOrder = nodeNewPICDisplayOrder.value;
		var nodeNewSortOrder = getNode(newPicId + "sortOrder2");	
		newSortOrder = nodeNewSortOrder.value;
	
		var str = "currentPicId= " + currentPicId + "; currentSortOrder=" + currentSortOrder + "; currentDisplayOrder=" ;
			str+= currentDisplayOrder + ";:: newPicId=" + newPicId ;
			str+= "; newDisplayOrder=" + newDisplayOrder + "; newSortOrder=" + newSortOrder;	
	//alert(str);	

		nodeNewSortOrder.value=currentSortOrder;
		nodeNewPICDisplayOrder.value=currentDisplayOrder;
		nodeCurrentPICDisplayOrder.value=newDisplayOrder;
		nodeCurrentSortOrder.value=newSortOrder;
		
		//switch the id of the PicIdForDisplayOrder because they are dependent
		//on where they on the DisplayOrder values
			
		nodeCurrentPicId.id = "picId" + newDisplayOrder;
		nodeNewPicId.id = "picId" + currentDisplayOrder;
	
		//TO DO: change id name for display
		var nodePictures =getNode("pictures");	
		var nodeNewPic = getNode(newPicId + "picAndMetaInfoContiner");
		var nodeCurrentPic=document.getElementById(currentPicId + "picAndMetaInfoContiner");
		//alert("currentPicId + picAndMetaInfoContiner= " + currentPicId + "picAndMetaInfoContiner");

		swapNodes3(nodeCurrentPic, currentDisplayOrder, nodeNewPic, newDisplayOrder);
		
		saveChangePicSort(currentPicId,newSortOrder,newPicId,currentSortOrder);

	}
	
function saveChangePicSort(currentPicId,newSortOrder,newPicId,currentSortOrder) {

	var url = "/pictures/savePicMove.asp";
	var postData = "p1=" + currentPicId + "&o1=" +  newSortOrder + "&p2=" + newPicId + "&o2=" + currentSortOrder;

	sendDataYahooPicMove(url, postData);
}
	
}
function swapNodes3(nodeCurrent, currentIndex, nodeNew,newIndex) {

	var nodePicCurrent=getNode("picture" + currentIndex);
	var nodePicNew=getNode("picture" + newIndex);
//alert("here");
	var cloneCurrent = nodeCurrent.cloneNode(true);
	var cloneNew = nodeNew.cloneNode(true);

	nodePicNew.replaceChild(cloneCurrent,nodeNew);
	nodePicCurrent.replaceChild(cloneNew,nodeCurrent);
}

function swapNodes2(nodeCurrent, currentIndex, nodeNew,newIndex) {

	var nodePicCurrent=getNode("picture" + currentIndex);
	var nodePicNew=getNode("picture" + newIndex);
	
	var cloneCurrent = nodeCurrent.cloneNode(true);
	var cloneNew = nodeNew.cloneNode(true);
	
	
	//alert("nodeCurrent.id=" +nodeCurrent.id + "; nodeNew.id=" + nodeNew.id);
	//alert("node1.id=" + node1.id);
	//var cloneCurrent = nodeCurrent.cloneNode(true);
	//var cloneNew = nodeNew.cloneNode(true);
	//deleteAllChildNodes(nodeCurrent);
	//deleteAllChildNodes(nodeNew);
	//nodeCurrent.appendChild(cloneNew);
	//nodeNew.appendChild(cloneCurrent);   
	deleteAllChildNodes(nodePicCurrent);
	deleteAllChildNodes(nodePicNew);
	nodePicCurrent.appendChild(cloneNew);
	nodePicNew.appendChild(cloneCurrent);

}


function sendDataYahooPicMove(url, postData) {
	var handleSuccess = function(o){	
	//alert("success");
	}
	var handleFailure = function(o){
	
 	var div = getNode("errorMsg");
//o.getResponseHeader[ ]  
//o.getAllResponseHeaders  
//o.responseText  
//o.responseXML  
//o.argument 
div.innerHTML = "Transaction id: " + o.tId;   
div.innerHTML += "HTTP status: " + o.status;   
div.innerHTML += "Status code message: " + o.statusText;   
div.innerHTML += "<li>HTTP headers: <ul>" + o.getAllResponseHeaders + "</ul></li>";   
div.innerHTML += "PHP response: " + o.responseText;   
div.innerHTML += "Argument object: " + o.argument;  

		//alert("data was not saved. status = " + o.status + "; text=" + o.statusText + "; o.responseText=" + o.responseText);	
	}
	var callback =
	{
	  success:handleSuccess,
	  failure: handleFailure,
	  argument: ['foo','bar']
	}	
var request = YAHOO.util.Connect.asyncRequest('POST', url , callback, postData);
	     
//var request = YAHOO.util.Connect.asyncRequest('POST', url + "?" + postData, callback, postData);
}
function deletePic(picId) {
	//send delete call to server	
	var url = "savePicDelete.asp"
	var postData = "picId=" + picId;
	sendDataYahooPicMove(url, postData);	
	
	//remove node
	var nodeDisplayOrder = getNode(picId + "picDisplayOrder");
	var displayOrder = parseInt(nodeDisplayOrder.value);
	alert("nodeDisplayOrder.value=" + nodeDisplayOrder.value);
	var nodeToDelete = getNode("picture" + displayOrder);	
	killNode(nodeToDelete);
	
	
	//reset all nodes below that node by:
	//-- changing pictureX node name
	//-- resetting [picId]picDisplayOrder
	
	var nodePictureCount = getNode("pictureCount");
	var totalPictures = parseInt(nodePictureCount.value);
	nodePictureCount.value =totalPictures - 1;
	//alert("Here");
	var nodePicture;
	
	for (i=displayOrder+1;i<=totalPictures;i++) {
		//alert("i=" + i);
		nodePicId = getNode("picId" + i);
		
		picId = nodePicId.value;
		nodePicDisplayOrder = getNode(picId + "picDisplayOrder");
		newDisplayOrder = i-1;
		nodePicDisplayOrder.value = newDisplayOrder;
		nodePicture = getNode("picture" + i);		
		nodePicture.id = "picture" + newDisplayOrder;	
		nodePicId.id = "picId" + newDisplayOrder;
	
	}

}


