var http = createRequestObject();
function AddChild(result)
{
	
	if(result == null || result.length == 0)
	{
		alert("Please select a node.");
	}
	else
	{
		for(var ii = 0; ii < result.length; ii++)
		{
			var str = result[ii].data.label.replace(/\n/g, "").replace(/^\s*/, "").replace(/\s*$/, "");
			if(result[ii].data.attributes.id=='cats')
			{
				alert("Sorry you can not add Main Category from here.");
				return ;
			}
				
			var new_subcat = prompt("Please enter new sub-category name", "");
			if(new_subcat != null && new_subcat.length != 0)
			{
				//content.push(str);
				//alert(result[ii].data.attributes.id);
				var selected_node_id=result[ii].data.attributes.id;
				//document.form1.node_id.value=selected_node_id;
				//tree.appendChild({label: new_subcat}, selected_node_id, false);
				http.onreadystatechange=stateChanged;
				http.open("GET","add_subcat.php?name="+new_subcat+"&pid="+selected_node_id);
				http.send(null);
			}
			else
			{
				//alert('Aborted');
			}
		}
	}
}

function DelNode(result)
{
	if(result == null || result.length == 0)
	{
		alert("Please Select a node to delete.");
	}
	else
	{
	 
	for(var ii = 0; ii < result.length; ii++)
	{
		var str = result[ii].data.label.replace(/\n/g, "").replace(/^\s*/, "").replace(/\s*$/, "");
		if(result[ii].data.attributes.id=='cats')
		{
			alert("Sorry you can not delete this node.");
			return ;
		}
		var selected_node_label = result[ii].data.label;
		if(confirm("WARNING\nAre you sure you want to delete "+selected_node_label+' ?'))
		{
			var selected_node_id=result[ii].data.attributes.id;
			tree.removeChild(selected_node_id);
			http.onreadystatechange=stateChanged;
			http.open("GET","delete_category.php?id="+selected_node_id);
			http.send(null);

		}
	}
	
	}
}

function Rename(result)
{
	if(result == null || result.length == 0)
	{
		alert("Please select a node to rename.");
	}
	else
	{
	for(var ii = 0; ii < result.length; ii++)
	{
		var str = result[ii].data.label.replace(/\n/g, "").replace(/^\s*/, "").replace(/\s*$/, "");
		if(result[ii].data.attributes.id=='cats')
		{
			alert("Sorry you can not rename this node.");
			return ;
		}
		var new_name = prompt("Please enter new name", str);
		if(new_name != null && new_name.length != 0)
		{
			//content.push(str);
			//alert(result[ii].data.attributes.id);
			var selected_node_id=result[ii].data.attributes.id;
			//tree.appendChild({label: new_subcat}, selected_node_id, false);
			http.onreadystatechange=stateChanged;
			http.open("GET","edit_category.php?name="+new_name+"&id="+selected_node_id);
			http.send(null);
			
		}
		else
		{
			//alert('Aborted');
		}
	}
	}
}

function QDelete(qid)
{
	if(confirm("WARNING\nAre you sure you want to delete this question?"))
		{
			http.onreadystatechange=stateChanged;
			http.open("GET","delete_question.php?id="+qid);
			http.send(null);

		}
}

function ShowName()
{
	var result = tree.findAll(function(node){return node.data.isSelected});
	if(result == null || result.length == 0)
	{
		alert("No nodes found");
	}
	else
	{
	
	for(var ii = 0; ii < result.length; ii++)
	{
		var str = result[ii].data.label.replace(/\n/g, "").replace(/^\s*/, "").replace(/\s*$/, "");
		var selected_node_label = result[ii].data.label;
		document.form1.node_name2.value=selected_node_label;
		//box.value=selected_node_label;
	}
	
	}
}

function HideName()
{
	document.form1.node_name2.value="Select a node to rename";
}

function UpdateTree()
{
	var result=tree.findAll(function(node){return node.data.isSelected});
	var curr_textbox_val=document.form1.node_name2.value;
	result[0].data.label=curr_textbox_val;
}

function ChangeName(old_name,new_name)
{
	new_name=new_name.replace(/\n/g, "").replace(/^\s*/, "").replace(/\s*$/, "");
	var result=tree.findAll(function(node){return node.data.isSelected});
	var selected_node_id=result[0].data.attributes.id;
	alert("Node with ID "+selected_node_id+" renamed from "+old_name+" to "+new_name);
}



function GetSelected(result)
{
	if(result == null || result.length == 0)
	{
		alert("No nodes found");
	}
	else
	{
	var return_value = [];
	for(var ii = 0; ii < result.length; ii++)
	{
		var selected_node_label = result[ii].data.label.replace(/\n/g, "").replace(/^\s*/, "").replace(/\s*$/, "");
		var selected_node_id=result[ii].data.attributes.id;
		return_value.push(selected_node_label+'~~~'+selected_node_id)
	}
	//return return_value.join(":::"));
	alert(return_value.join(":::"))
	}
}

function AddQuestion(result)
{
	if(result == null || result.length == 0)
	{
		alert("Please select at least one category/sub-category.");
	}
	else
	{
	var return_value = [];
	for(var ii = 0; ii < result.length; ii++)
	{
		var selected_node_label = result[ii].data.label.replace(/\n/g, "").replace(/^\s*/, "").replace(/\s*$/, "");
		var selected_node_id=result[ii].data.attributes.id;
		return_value.push(selected_node_label+'~~~'+selected_node_id)
	}
	//return return_value.join(":::"));
	return_value.unshift(document.add_question.question.value+'~~~'+document.add_question.ans.value);
	//alert(return_value.join(":::"));
	var param=return_value.join(":::");
	http.onreadystatechange=stateChanged;
	http.open("GET","add_question.php?param="+param);
	http.send(null);
	}
}

function ShowQuestion(result)
{
	if(result == null || result.length == 0)
	{
		alert("Please select one category/sub-category.");
	}
	else
	{
	var return_value = [];
	for(var ii = 0; ii < result.length; ii++)
	{
		var selected_node_label = result[ii].data.label.replace(/\n/g, "").replace(/^\s*/, "").replace(/\s*$/, "");
		var selected_node_id=result[ii].data.attributes.id;
	}
	//alert('Selected node: '+selected_node_label+' ID: '+selected_node_id);
	http.onreadystatechange=PopulateQuestionDiv;
	http.open("GET","get_questions.php?cat_id="+selected_node_id);
	http.send(null);
	}
}


function ShowEditWin(id)
{
	window.open( "edit_question.php?id="+id, "myWindow", "status = 1, height = 550, width = 500, resizable = 0, dependent =1, scrollbars=1" );
}


function UpdateQuestion(result,question,q_id)
{
	if(result == null || result.length == 0)
	{
		alert("Please select at least one category/sub-category.");
	}
	else
	{
	var return_value = [];
	for(var ii = 0; ii < result.length; ii++)
	{
		var selected_node_label = result[ii].data.label.replace(/\n/g, "").replace(/^\s*/, "").replace(/\s*$/, "");
		var selected_node_id=result[ii].data.attributes.id;
		return_value.push(selected_node_label+'~~~'+selected_node_id)
	}
	
	return_value.unshift(question);
	
	var param=return_value.join(":::");
	http.onreadystatechange=stateChanged;
	http.open("GET","edit_question.php?param="+param+"&qid="+q_id);
	http.send(null);
	}
}

function createRequestObject()
{
	
	if(window.XMLHttpRequest)
    {
    	// Firefox, Safari, Opera...
        req = new XMLHttpRequest();
    }
    else if(window.ActiveXObject)
    {
    	// Internet Explorer 5+
        req = new ActiveXObject("Microsoft.XMLHTTP");
    }
    else
    {
    	// There is an error creating the object,
        // just as an old browser is being used.
        alert('Problem creating the XMLHttpRequest object');
    }

    return req;

}


function stateChanged()
{
        if (http.readyState==4)
        {
        	//alert(state);
            var str=http.responseText;
            alert(str); 
            setTimeout(document.location.reload(),'2000');       
        }
}
function PopulateQuestionDiv()
{
        if (http.readyState==4)
        {
            var str=http.responseText;
            //alert(str); 
            document.getElementById('questions').innerHTML=str;
                   
        }
}
////////////////////////////////////////////////////////////////////////////////////
function displayResults(result)
{
	if(result == null || result.length == 0)
	{
		alert("No nodes found");
	}
	else
	{
	var content = ["These nodes are selected: "];
	for(var ii = 0; ii < result.length; ii++)
	{
		var str = result[ii].data.label.replace(/\n/g, "").replace(/^\s*/, "").replace(/\s*$/, "");
		content.push(str);
		alert(result[ii].data.attributes.id)
	}
	alert(content.join("\n"));
	}
}

