<!--


function ikb_SearchChecked(id) {


}


// preload images
function ikb_PreloadImages(CurrentSkin) {
	if (document.images)
	{
		arImageList = new Array ();
		var arImageSrc = new Array(CurrentSkin + "Images/Misc_Rating1.gif",
		CurrentSkin + "Images/Misc_Rating2.gif",
		CurrentSkin + "Images/Misc_Rating3.gif",
		CurrentSkin + "Images/Misc_Rating4.gif",
		CurrentSkin + "Images/Misc_Rating5.gif",
		CurrentSkin + "Images/Misc_AjaxLoading.gif");
		for (counter in arImageSrc) {
			arImageList[counter] = new Image();
			arImageList[counter].src = arImageSrc[counter];
		}
	}    
}

/* scipr to pick update enter key for simple menu search */
function ikb_SimpleSearchKeyPress() {     
     
     try {
        if ((event.keyCode && event.keyCode == 13)) {
           InstantASP_FindControl('butInstantKBSimpleSearch').click();
            return false;
         } else return true;
         
      } 
        catch (e) {};
             
}

/* enter we have search terms in simple menu site wide search in mainnavigation.ascx */
function ikb_SimpleSearchValidate(strKeywords) {


    if (strKeywords != "") {
        return true;
    
    } else {
        return false;
    }    
}

/* generic delete confirmation for admin pages */
function ikb_ConfirmDelete(listid, deleteenum) {

    // get drop down list
    var list = InstantASP_FindControl(listid);     
    if (list != null) {
        if (list.value == 0) {return false;}
        // is delete selected
        if (list.value == deleteenum)
        {   return confirm(ikb_strDeleteItemConfirmation);
        }
    }
    return true;

}

/* tab mass action button event */
function ikb_ViewTabsMassActionClick(listid, movetolistid, deleteenum, deletemoveenum) {

  // get drop down list
    var list = InstantASP_FindControl(listid);
    var movetolist = InstantASP_FindControl(movetolistid);     
    if (list != null && movetolist != null) {
        if (list.value == 0) {return false;}
        // is delete selected
        if (list.value == deleteenum)
        {   return confirm(ikb_strDeleteTabConfirmation);
        }
        else if (list.value == deletemoveenum)
            if (movetolist.value == 0) {alert(ikb_strNoNewTabSelected); return false;}
        {   return confirm(ikb_strDeleteTabMveConfirmation);
        }
    }
    return true;
}

/* show "move to tab" drop down list if you we choose to move centent when deleting tabs */
function ikb_ViewTabsMassActionSelectedIndexChanged(listid, movetolistid, deletemoveenum) {

 // get drop down list
    var list = InstantASP_FindControl(listid);  
    var movetolist = InstantASP_FindControl(movetolistid);  
    if (list != null && movetolist != null) {
          // is delete selected
        if (list.value == deletemoveenum)
        {  movetolist.style.display = '';
        }
        else {  
            movetolist.style.display = 'none';
        }
    }

}

/* ----------------------------------------------------------- */
// Article Options (Send Via Email, Social Bookmarks etc)
/* ----------------------------------------------------------- */

function ikb_SendArticleByEmail(strToEmail, strCallBackURL) {

    // check we have a email
    if (strToEmail == "") {
        alert(ikb_strEmailRequired); return;
    }

    // get url
    var arrURL = strCallBackURL.split("?");

    // setup xmlhttp
    if (!this.XmlHttp) {this.XmlHttp = new InstantASP_XmlHttpRequest();}
      var objXmlHttpHandler = function (obj) {
        if (obj.responseXML != null) {
            var items = obj.responseXML.getElementsByTagName("result");
            if (items.length>0) {
	            for (var i = 0; i<items.length;i++) {
		            var nd = items[i];
		            // get result
		            var identity = nd.getAttribute("identity")==null?0:nd.getAttribute("identity");
		            // end loader
		            iasp_AjaxExtensionsEndRequest();
		            // was everything ok
		            if (identity==0) {
		                alert(ikb_strSendProblem);
		            } else {
		                // hide menu
		                InstantASP_HideAllMenus();
		                // show alert
		                alert(ikb_strArticleSentSuccess);
		            }
	            }
            }
        }
      };
      
    // setup params
    var strParams = arrURL[1] + "&key=" + InstantASP_EncodeString(strToEmail);   
    // setup loader
    iasp_AjaxExtensionsInitializeRequest();
     // make request
    this.XmlHttp.Connect(arrURL[0], "GET", strParams, objXmlHttpHandler); 

}

/* ----------------------------------------------------------- */
// treeview context menu options
/* ----------------------------------------------------------- */

/* staff root category context menu */   
function ikb_rootNodeContextMenu(container, selNode, menuId, itemId) {

    if (container != null) {
  
        // get selected node
        var selNode =  container.getSelNode();
        
        if (selNode != null) {

            switch (itemId) {
                case "0": // add category
                    var selNodeID = selNode.NodeID;
                    container.ctx_liveAdd(selNodeID, ikb_strDefaultNodeText);
                    break;
                case "2": // expand
                    container.expandAll();
                    break;
                case "3": // collapse
                    container.collapseAll();
                    break;
            }
        }
    }
}                  

/* staff category context menu */       
function ikb_treeContextMenu(container, selNode, menuId, itemId) {

    if (container != null) {  
    
        // get selected node
        var selNode =  container.getSelNode();  
             
        if (selNode != null) {     
           
            switch (itemId) {
                case "0": // add category
                    var selNodeID = selNode.NodeID;
                    container.ctx_liveAdd(selNodeID, ikb_strDefaultNodeText);
                    break;
                case "1": // quick edit
                    container.liveNodeEditStart(selNode.ID);
                    break;
                case "2": // edit category detailed                                                   
                    if (selNode.NavigateURL.indexOf("javascript:") == -1) {
                        location = selNode.NavigateURL;
                    } else {
                     var uri = container.Options.NodeEditURL + 'StaffEditCategory' + selNode.CategoryID + '-' + container.Options.TabID + '.aspx';
                    location = uri;
                    }                  
                    break;
                case "4": // move up
                    // get orevious node
                    var dest = null; if (selNode.PrevNode != null) {dest = selNode.PrevNode;}
                    if (dest != null) {
                        // move node
                        container.moveChild(selNode, dest, 2)
                        // do callback
                        ikb_treeCallBack(container, selNode, container.Options.LiveMoveUpCallBackURL, "", "&id=" + selNode.CategoryID)
                    }
                    break;
                case "5": // move down
                    // get bext node  
                    var dest = null; if (selNode.NextNode != null) {dest = selNode.NextNode;}
                    if (dest != null) {
                        // move node
                        container.moveChild(selNode, dest, 3)
                        // do callback 
                        ikb_treeCallBack(container, selNode, container.Options.LiveMoveDownCallBackURL, "", "&id=" + selNode.CategoryID)
                    }
                    break;
                case "7": // delete 
                    // confirm delete
                    if (confirm(ikb_strDeleteCategory)) {
                        // do loader
                        iasp_AjaxExtensionsInitializeRequest();
                        // delete node
                        container.remove(); 
                        // do callback
                        ikb_treeCallBack(container, selNode, container.Options.LiveDeleteCallBackURL, ikb_strProblemDeletingCategory, "&id=" + selNode.CategoryID)
                    }     
                    break;
            } 
        }            
    }  
}

/* staff root troubleshooter context menu */   
function ikb_rootTroubleshooterNodeContextMenu(container, selNode, menuId, itemId) {

    if (container != null) {
  
        // get selected node
        var selNode =  container.getSelNode();
        
        if (selNode != null) {

            switch (itemId) {
                case "0": // add category
                    var selNodeID = selNode.NodeID;
                    container.ctx_liveAdd(selNodeID, ikb_strDefaultTroubleshooterNodeText);
                    break;
                case "2": // expand
                    container.expandAll();
                    break;
                case "3": // collapse
                    container.collapseAll();
                    break;
            }
        }
    }
}                  

/* staff troubleshooter context menu */       
function ikb_treeTroubleshooterContextMenu(container, selNode, menuId, itemId) {

    if (container != null) {  
    
        // get selected node
        var selNode =  container.getSelNode();  
             
        if (selNode != null) {     
           
            switch (itemId) {
                case "0": // add step
                    var selNodeID = selNode.NodeID;
                    container.ctx_liveAdd(selNodeID, ikb_strDefaultTroubleshooterNodeText);
                    break;
                case "1": // quick edit
                    container.liveNodeEditStart(selNode.ID);
                    break;                    
                case "2": // edut category detailed
                     if (selNode.NavigateURL.indexOf("javascript:") == -1) {
                        location = selNode.NavigateURL;
                    } else {
                    var loc = ""; loc = location.href;
                    var end = loc.indexOf("?");
                    var loc = loc.substring(0, end);
                    var uri = loc + "?StepID=" + selNode.CategoryID;
                    location = uri;
                    }          
                    break;
                case "4": // move up
                    // get orevious node
                    var dest = null; if (selNode.PrevNode != null) {dest = selNode.PrevNode;}
                    if (dest != null) {
                        // move node
                        container.moveChild(selNode, dest, 2)
                        // do callback
                        ikb_treeCallBack(container, selNode, container.Options.LiveMoveUpCallBackURL, "", "&id=" + selNode.CategoryID)
                    }
                    break;
                case "5": // move down
                    // get bext node  
                    var dest = null; if (selNode.NextNode != null) {dest = selNode.NextNode;}
                    if (dest != null) {
                        // move node
                        container.moveChild(selNode, dest, 3)
                        // do callback 
                        ikb_treeCallBack(container, selNode, container.Options.LiveMoveDownCallBackURL, "", "&id=" + selNode.CategoryID)
                    }
                    break;
                case "7": // delete 
                    // confirm delete step
                    if (confirm(ikb_strDeleteTroubleshooterStep)) {
                        // delete node
                        container.remove(); 
                        // do callback
                        ikb_treeCallBack(container, selNode, container.Options.LiveDeleteCallBackURL, ikb_strProblemDeletingCategory, "&id=" + selNode.CategoryID)
                    }     
                    break;
            } 
        }            
    }  
}

function ikb_treeLiveWrite(tree) {

    if (tree != null) {
    
        // get node
        var node = tree.SelectedNode;
         
        if (node != null) {

            // get url
            var arrURL = tree.Options.LiveWriteCallBackURL.split("?");

            // setup xmlhttp
            if (!this.XmlHttp) {this.XmlHttp = new InstantASP_XmlHttpRequest();}
              var objXmlHttpHandler = function (obj) {
                if (obj.responseXML != null) {
			        var items = obj.responseXML.getElementsByTagName("result");
			        if (items.length>0) {
				        for (var i = 0; i<items.length;i++) {
					        var nd = items[i];
					        // get result
					        var identity = nd.getAttribute("identity")==null?0:nd.getAttribute("identity");
					        // end loader
					        iasp_AjaxExtensionsEndRequest();
					        // was everything ok
					        if (identity==0) {
					            alert(ikb_strProblemSavingCategory);
					        } else {
					            tree.SelectedNode.CategoryID = identity;
					        }
				        }
			        }
		        }
              };
              

                 // setup params
            var strParams = arrURL[1] + "&id=" + node.CategoryID + "&ParentID=" + node.ParentNode.CategoryID + "&Key=" + InstantASP_EncodeString(node.Text);   
            // setup loader
            iasp_AjaxExtensionsInitializeRequest();

             // make request
            this.XmlHttp.Connect(arrURL[0], "GET", strParams, objXmlHttpHandler); 

        }
    }
}

function ikb_treeCallBack(tree, node, callbackURL, errMsg, params) {

 if (tree != null) {
    
        // do we have a specific node?
        if (node==null) {node = tree.SelectedNode;}
        
        if (node != null) {
            
            // get url
            var arrURL = callbackURL.split("?");

            // setup xmlhttp
            if (!this.XmlHttp) {this.XmlHttp = new InstantASP_XmlHttpRequest();}
              var objXmlHttpHandler = function (obj) {
                if (obj.responseXML != null) {
			        var items = obj.responseXML.getElementsByTagName("result");
			        if (items.length>0) {
				        for (var i = 0; i<items.length;i++) {
					        var nd = items[i];
					        // get result
					        var identity = nd.getAttribute("identity")==null?0:nd.getAttribute("identity");
					        // end loader
					        iasp_AjaxExtensionsEndRequest();
					        // was everything ok
					        if (identity==0) {alert(errMsg);}
				        }
			        }
		        }
              };
              
            // we need a category id to delete   
            if (node.CategoryID > 0) {
                // setup params
                var strParams = arrURL[1] + params
                // setup loader
                iasp_AjaxExtensionsInitializeRequest();                
                // make request
                this.XmlHttp.Connect(arrURL[0], "GET", strParams, objXmlHttpHandler); 
            }
            
        }
    }
}

function ikb_toggleTree(tree) {
    if (tree.Options.Expanded) {
         tree.collapseAll();
         tree.Options.Expanded = false;
    } else {
         tree.expandAll();
         tree.Options.Expanded = true;
    }
}

/* ----------------------------------------------------------- */
// logout confirmation alert
/* ----------------------------------------------------------- */

function ikb_logOut() {
	if (InstantASP_IE4 || InstantASP_IE5 || InstantASP_Opera || InstantASP_NS6)	{
		var body = document.getElementsByTagName("body");
		body[0].style.filter = "alpha(opacity=55); -moz-opacity: .55;";
		if (confirm(ikb_strLogoutAlertText)) {return true;}
		else {body[0].style.filter = ""; return false;}
	}
	else {
		if (confirm(ikb_strLogoutAlertText)) {return true;}
		else {return false;}
	}
}

/* ----------------------------------------------------------- */
// show ajax based glossary tooltip
/* ----------------------------------------------------------- */

function ikb_showGlossaryToopTip(intGlossaryTermID) {
    
    // tooltip width 
    var intWidth = 275;
    var intShowForSecs = 5;
    
    // get url
    var arrURL = strGlossaryToolTipCallBackURL.split("?");

    // setup xmlhttp
    if (!this.XmlHttp) {this.XmlHttp = new InstantASP_XmlHttpRequest();}
      var objXmlHttpHandler = function (obj) {
        if (obj.responseXML != null) {
            var items = obj.responseXML.getElementsByTagName("result");
            if (items.length>0) {
                for (var i = 0; i<items.length;i++) {
	                var nd = items[i];
	                // get result
	                var strValue = nd.getAttribute("value")==null?0:nd.getAttribute("value");	   
	                // was everything ok
	                if (strValue=="") {
	                    alert(ikb_strSendProblem);
	                    iasp_DisableTip();
	                } else {
	                    // update text
	                    iasp_populateToolTip(strValue);
	                }
                }
            }
        }
      };
      
    // setup params
    var strParams = arrURL[1] + "&id=" + intGlossaryTermID;   
    // show loading tooltip
    iasp_EnableTip(ikb_strPleaseWait, intWidth, intShowForSecs)
     // make request
    this.XmlHttp.Connect(arrURL[0], "GET", strParams, objXmlHttpHandler); 

}


/* ----------------------------------------------------------- */
// main navigation forum search
/* ----------------------------------------------------------- */

function kbSearch(txtID, defaultVal, installURL) {

    var t = InstantASP_FindControl(txtID);
    
    if (t != null) {
        if (t.value != defaultVal) {
            if (t.value != "") { 
                if (installURL != null) { // SEO URLs enabled        
                    location = installURL + "/Search/?Keywords=" + t.value;
               } else {
                    location = "Search.aspx?Keywords=" + t.value;
                }
                return;
            }
        }        
        if (installURL != null) { // SEO URLs enabled        
            location = installURL + "/Search/";
        } else {
            location = "Search.aspx";
        }
    }
    
    
/* ----------------------------------------------------------- */
// helper for all r.a.d editor controls
/* ----------------------------------------------------------- */

}function Editor_OnClientLoad(editor, args)  {  

   var toolbar = $get(editor.get_id() + "Top"); 
   
   var buttons = toolbar.getElementsByTagName("A");   
   for (var i=0; i< buttons.length; i++)  
   {  
      var a = buttons[i];  
      a.tabIndex = -1;  
      a.tabStop = false;  
   }   
} 