

var changed_parentId;
var changed_nodeId;

var display_url=0
var current_category=''
var current_category_edit = ''
var current_entity=''
var current_entity_edit = ''
var index_terms = ""

var browser=navigator.appName;
var b_version=navigator.appVersion;
var version=parseFloat(b_version);

if(browser=='Microsoft Internet Explorer'){
	var IE = true;
	
	
}else{
	var IE = false;
	
	
}


function open_url(nodeId){
	url = tree.getUserData(nodeId,'myurl');
	if(typeof(url)!="undefined"){
		window.location = url+'&view=inline';
	}
}

function insert_resource(){
	
	var c_id = tree.getUserData(current_category,'category_id');		
	if(typeof(c_id) != "undefined" ){
		window.location= BASE_URL+'kb_resource_admin.php?action=new&category_id='+c_id
		
	}
}


function update_resource(){
	var r_id= tree.getUserData(current_category,'resource_id');	
	if(typeof(r_id) != "undefined" ){
		window.location= BASE_URL+'kb_resource_admin.php?action=edit&resource_id='+r_id
		
	}
}

function rate_resource(){
	var r_id= tree.getUserData(current_category,'resource_id');	
	if(typeof(r_id) != "undefined" ){
		window.location= BASE_URL+'kb_resource_admin.php?action=rate&resource_id='+r_id
		
	}
}


function delete_resource(){
	var r_id= tree.getUserData(current_category,'resource_id');	
	if(typeof(r_id) != "undefined" ){
		if(confirm("Are you sure you want to delete this resource? ")){
			
			window.location= BASE_URL+'kb_resource_admin.php?action=delete&resource_id='+r_id
		}else{
			return false;	
		}
	}
	
}


function insert_category(){
	
	var c_id = tree.getUserData(current_category,'category_id');		
	var c_type_id = tree.getUserData(current_category,'category_type_id');
	
	if(typeof(c_type_id) != "undefined" ){
		window.location= BASE_URL+'kb_category_admin.php?action=new_category&category_id='+c_id+'&category_type_id='+c_type_id
		
	}
}


function update_category(){
	var c_id = tree.getUserData(current_category,'category_id');		
	var c_type_id = tree.getUserData(current_category,'category_type_id');
	if(typeof(c_id) != "undefined" ){
		window.location= BASE_URL+'kb_category_admin.php?action=edit_category&category_id='+c_id+'&category_type_id='+c_type_id
		
	}
}



function delete_category(){
	var c_id = tree.getUserData(current_category,'category_id');		
	var c_type_id = tree.getUserData(current_category,'category_type_id');
	if(typeof(c_id) != "undefined" ){
		if(confirm("Are you sure you want to delete this category? ")){
			
			window.location= BASE_URL+'kb_category_admin.php?action=delete_category&category_id='+c_id+'&category_type_id='+c_type_id
		}else{
			return false;	
		}
	}
	
}



function insert_entity(){
	
	var insert_url = tree.getUserData(current_entity,'insert_url');		
	
	
	if(typeof(insert_url) != "undefined" ){
		window.location= BASE_URL+insert_url
		
	}
}


function update_entity(){
	var update_url = tree.getUserData(current_entity,'update_url');		
	
	
	if(typeof(update_url) != "undefined" ){
		window.location= BASE_URL+update_url
		
	}
}

function delete_entity(){
	var delete_url = tree.getUserData(current_entity,'delete_url');
	if(typeof(delete_url) != "undefined" ){
		if(confirm("Are you sure you want to delete? ")){			
			window.location= BASE_URL+delete_url
		}else{
			return false;	
		}
	}
	
}




function showmenuie5(e){
	
	url = tree.getUserData(current_category,'myurl');
	cat_type_id = tree.getUserData(current_category,'category_type_id');
	cat_id = tree.getUserData(current_category,'category_id');
	res_id = tree.getUserData(current_category,'resource_id');

	if(typeof(cat_type_id) != "undefined" ){
	
		//Hide or display insert/update/delete resource options
		ins_opt = document.getElementById('insert_resource_option');
		upd_opt = document.getElementById('update_resource_option');
		del_opt = document.getElementById('delete_resource_option');
		rate_opt = document.getElementById('rate_resource_option');
		rate_opt.style.display = 'none'
		ins_opt.style.display = 'none'
		upd_opt.style.display = 'none'
		del_opt.style.display = 'none'
		if(typeof(res_id) == "undefined"){
			//Show insert resource option for categories
			
			if(typeof(cat_id) != "undefined" && cat_id >0){
			
				ins_res_perm = tree.getUserData(current_category,'add_resource');
				if(typeof(ins_res_perm) != "undefined" && ins_res_perm=='Y'){
					ins_opt.style.display = 'block'
				}else{
					ins_opt.style.display = 'none'
				}
				
			}
			
		}else{
			if(res_id >0){
				upd_res_perm = tree.getUserData(current_category,'edit_resource');
				if(typeof(upd_res_perm) != "undefined" && upd_res_perm=='Y'){
					upd_opt.style.display = 'block'
				}else{
					upd_opt.style.display = 'none'
				}
				
				del_res_perm = tree.getUserData(current_category,'delete_resource');
				if(typeof(del_res_perm) != "undefined" && del_res_perm=='Y'){
					del_opt.style.display = 'block'
				}else{
					del_opt.style.display = 'none'
				}
				
				rate_opt.style.display = 'block'
			}
		}

		//Hide or display insert/update/delete category options
		ins_cat_opt = document.getElementById('insert_category_option');
		upd_cat_opt = document.getElementById('update_category_option');
		del_cat_opt = document.getElementById('delete_category_option');
		move_category_up_opt = document.getElementById('move_category_up_option');
		move_category_down_opt = document.getElementById('move_category_down_option');
		move_category_to_opt = document.getElementById('move_category_to_option');
		
		if(typeof(cat_id) != "undefined" && cat_id >0){
				ins_cat_perm = tree.getUserData(current_category,'add_category');
				if(typeof(ins_cat_perm) != "undefined" && ins_cat_perm=='Y'){
					ins_cat_opt.style.display = 'block'
				}else{
					ins_cat_opt.style.display = 'none'
				}
				upd_cat_perm = tree.getUserData(current_category,'edit_category');
				if(typeof(upd_cat_perm) != "undefined" && upd_cat_perm=='Y'){
					upd_cat_opt.style.display = 'block'
				}else{
					upd_cat_opt.style.display = 'none'
				}
				del_cat_perm = tree.getUserData(current_category,'delete_category');
				if(typeof(del_cat_perm) != "undefined" && del_cat_perm=='Y'){
					del_cat_opt.style.display = 'block'
				}else{
					del_cat_opt.style.display = 'none'
				}
				move_cat_perm = tree.getUserData(current_category,'move_category');
				if(typeof(move_cat_perm) != "undefined" && move_cat_perm=='Y'){
					move_category_up_opt.style.display = 'block'
					move_category_down_opt.style.display = 'block'
					move_category_to_opt.style.display = 'block'
				}else{
					move_category_up_opt.style.display = 'none'
					move_category_down_opt.style.display = 'none'
					move_category_to_opt.style.display = 'none'
				}
				
				
				
				
		}else{
			if(typeof(res_id) != "undefined" && res_id >0){
			
				ins_cat_opt.style.display = 'none'
			}else{
				ins_cat_perm = tree.getUserData(current_category,'add_category');
				if(typeof(ins_cat_perm) != "undefined" && ins_cat_perm=='Y'){
					ins_cat_opt.style.display = 'block'
				}else{
					ins_cat_opt.style.display = 'none'
				}
				
			}
			upd_cat_opt.style.display = 'none'
			del_cat_opt.style.display = 'none'
			move_category_up_opt.style.display = 'none'
			move_category_down_opt.style.display = 'none'
			move_category_to_opt.style.display = 'none'
		
		}

		if(IE){

			var rightedge=document.body.clientWidth-event.clientX 
			var bottomedge=document.body.clientHeight-event.clientY
			if (rightedge<menuobj.offsetWidth){
				menuobj.style.left = document.body.scrollLeft+event.clientX-menuobj.offsetWidth;
			}else{
				menuobj.style.left = document.body.scrollLeft+event.clientX
			}
			if (bottomedge<menuobj.offsetHeight){
				
				menuobj.style.top=document.body.scrollTop+event.clientY-menuobj.offsetHeight
			}else{
				
				menuobj.style.top= document.body.scrollTop+event.clientY
			}
			
		}else{

			var rightedge= window.innerWidth-e.clientX
			var bottomedge=window.innerHeight-e.clientY
			if (rightedge<menuobj.offsetWidth){
				menuobj.style.left = window.pageXOffset+e.clientX-menuobj.offsetWidth+'px';
			}else{
				menuobj.style.left = window.pageXOffset+e.clientX+'px';
			}
			if (bottomedge<menuobj.offsetHeight){
				
				menuobj.style.top =  window.pageYOffset+e.clientY-menuobj.offsetHeight+'px';
			}else{
				menuobj.style.top = window.pageYOffset+e.clientY+'px';
				
			}
		}

		//var rightedge=ie5? document.body.clientWidth-event.clientX : window.innerWidth-e.clientX
		//var bottomedge=ie5? document.body.clientHeight-event.clientY : window.innerHeight-e.clientY
	
		//if the horizontal distance isn't enough to accomodate the width of the context menu
		//if (rightedge<menuobj.offsetWidth)
		//move the horizontal position of the menu to the left by it's width
		//menuobj.style.left=ie5? document.body.scrollLeft+event.clientX-menuobj.offsetWidth : window.pageXOffset+e.clientX-menuobj.offsetWidth
		//else
		//position the horizontal position of the menu where the mouse was clicked
		//menuobj.style.left=ie5? document.body.scrollLeft+event.clientX : window.pageXOffset+e.clientX
	
		//same concept with the vertical position
		//if (bottomedge<menuobj.offsetHeight)
		//menuobj.style.top=ie5? document.body.scrollTop+event.clientY-menuobj.offsetHeight : window.pageYOffset+e.clientY-menuobj.offsetHeight
		//else
		//menuobj.style.top=ie5? document.body.scrollTop+event.clientY : window.pageYOffset+e.clientY
	
		menuobj.style.visibility="visible"
	
		current_category_edit = current_category
		//current_category=''
	
	}
	return false
	
	
}

function hidemenuie5(e){
	menuobj.style.visibility="hidden"
	
	return true;
}



function show_entity_menu(e){
	
	url = tree.getUserData(current_entity,'myurl');
	entity_type = tree.getUserData(current_entity,'entity_type');
	
	var insert_url = tree.getUserData(current_entity,'insert_url');
	ins_opt = document.getElementById('insert_entity_option');		
	if(typeof(insert_url) != "undefined" ){
		
		ins_opt.innerHTML = 'New '+entity_type;
		ins_opt.style.display = 'block'
	}else{
		ins_opt.style.display = 'none'
	}
	
	var update_url = tree.getUserData(current_entity,'update_url');
	upd_opt = document.getElementById('update_entity_option');		
	if(typeof(update_url) != "undefined" ){
		
		upd_opt.innerHTML = 'Edit '+entity_type;
		upd_opt.style.display = 'block'
	}else{
		upd_opt.style.display = 'none'
	}
	
	var delete_url = tree.getUserData(current_entity,'update_url');
	del_opt = document.getElementById('delete_entity_option');		
	if(typeof(delete_url) != "undefined" ){
		del_opt.innerHTML = 'Delete '+entity_type;
		del_opt.style.display = 'block'
	}else{
		del_opt.style.display = 'none'
	}
	
	
	var rightedge=ie5? document.body.clientWidth-event.clientX : window.innerWidth-e.clientX
	var bottomedge=ie5? document.body.clientHeight-event.clientY : window.innerHeight-e.clientY

	//if the horizontal distance isn't enough to accomodate the width of the context menu
	if (rightedge<menuobj.offsetWidth)
	//move the horizontal position of the menu to the left by it's width
	menuobj.style.left=ie5? document.body.scrollLeft+event.clientX-menuobj.offsetWidth : window.pageXOffset+e.clientX-menuobj.offsetWidth
	else
	//position the horizontal position of the menu where the mouse was clicked
	menuobj.style.left=ie5? document.body.scrollLeft+event.clientX : window.pageXOffset+e.clientX

	//same concept with the vertical position
	if (bottomedge<menuobj.offsetHeight)
	menuobj.style.top=ie5? document.body.scrollTop+event.clientY-menuobj.offsetHeight : window.pageYOffset+e.clientY-menuobj.offsetHeight
	else
	menuobj.style.top=ie5? document.body.scrollTop+event.clientY : window.pageYOffset+e.clientY

	menuobj.style.visibility="visible"

	current_entity_edit = current_entity
	//current_category=''
	
	
	return false
	
	
}

function hide_entity_menu(e){
	menuobj.style.visibility="hidden"
	
	return true;
}





function highlightie5(e){
	var firingobj=ie5? event.srcElement : e.target
	if (firingobj.className=="menuitems"||ns6&&firingobj.parentNode.className=="menuitems"){
		if (ns6&&firingobj.parentNode.className=="menuitems") firingobj=firingobj.parentNode //up one node
		firingobj.style.backgroundColor="#004F7F"
		firingobj.style.color="white"
		if (display_url==1)
		window.status=event.srcElement.url
	}
	return true;
}

function lowlightie5(e){
	var firingobj=ie5? event.srcElement : e.target
	if (firingobj.className=="menuitems"||ns6&&firingobj.parentNode.className=="menuitems"){
		if (ns6&&firingobj.parentNode.className=="menuitems") firingobj=firingobj.parentNode //up one node
		firingobj.style.backgroundColor=""
		firingobj.style.color="#414650"
		window.status=''
	}
	return true;
}

function jumptoie5(e){
	var firingobj=ie5? event.srcElement : e.target
	if (firingobj.className=="menuitems"||ns6&&firingobj.parentNode.className=="menuitems"){
		if (ns6&&firingobj.parentNode.className=="menuitems") firingobj=firingobj.parentNode
		if (firingobj.getAttribute("target"))
		window.open(firingobj.getAttribute("url"),firingobj.getAttribute("target"))
		else
		window.location=firingobj.getAttribute("url")
	}
}

function rightClickCategory(category){
	
	current_category = category
	
	category_name = tree.getItemText(category)
	elm = document.getElementById('menu_heading')
	elm.innerHTML = '<b>'+category_name+'</b>'
	return true;	
}

function right_click_entity(entity){
	
	current_entity = entity
	
	entity_name = tree.getItemText(entity)
	
	elm = document.getElementById('menu_heading')
	elm.innerHTML = '<b>'+entity_name+'</b>'
	return true;	
}

function move_category(direction){
	pos = tree.getUserData(current_category_edit,'sequence');
	parent_id = tree.getParentId(current_category_edit)
	
	if(direction == 'up'){
		pos = (pos*1)-1;
	}else{ 
		if(direction=='down'){
			pos = (pos*1) +1;
		}else{
			pos = prompt('Enter the position to move to at the current level',1)	
			
		}
	}
	if(pos != null){
		if(IsNumeric(pos) && pos > 0 ){
			//var success	= function(t){editComplete(t);}
			//var failure	= function(t){editFailed(t);}
			
	  		var url = 'kb_category_admin.php';
		 	var pars = 'action=move_category&tree_category_ids='+current_category_edit+'&position='+pos;
		 	
		 	window.location=url+'?'+pars
			//var myAjax = new Ajax.Request(url, {method:'post', postBody:pars, onSuccess:success, onFailure:failure});
			return true;
		}
	}else{
		return false;	
	}
}

function IsNumeric(strString)
   //  check for valid numeric strings	
   {
   var strValidChars = "0123456789+-";
   var strChar;
   var blnResult = true;

   if (strString.length == 0) return false;

   //  test strString consists of valid characters listed above
   for (i = 0; i < strString.length && blnResult == true; i++)
      {
      strChar = strString.charAt(i);
      if (strValidChars.indexOf(strChar) == -1)
         {
         blnResult = false;
         }
      }
   return blnResult;
   }




var ID;

function suggest_list(){
	
	if(ID>0){
		clearTimeout(ID);
	}
	ID=window.setTimeout("get_results();",350);
	
}



function show_entity_details(node_id){
	
	display_loader();
	
	extension = tree.getUserData(node_id,'extension');
	if((typeof(extension) != "undefined")){
		this_div =  document.getElementById('search-results');
		gsc_emptyresults(this_div);
		var url = 'suggest_list.php?'+extension;
		var pars = '';
		var target = 'search-results';
		var myAjax = new Ajax.Updater(target, url, {method: 'get', parameters: pars});
		gsc_show(this_div);
		loading = false;
		return true;
	}else{
		return false;
	}
	
}
