<!--

// 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';
        }
    }

}

/* ----------------------------------------------------------- */
// Ajax Loader
/* ----------------------------------------------------------- */

var ikb_bolLoadStarted = false;
var ikb_bolLoadEnded = false;
var ikb_LoaderDivId = 'ikb_LoaderDiv';

function ikb_AjaxExtensionsInitializeRequest(postBackElement) {

    // ensure method is only ran once
    if (!ikb_bolLoadStarted) {
            
        // get body
        var body = document.getElementsByTagName("body");
        
        // tweak opacity
        if (InstantASP_IE4 || InstantASP_IE5 || InstantASP_Opera || InstantASP_NS6)	{
	       body[0].style.filter = "alpha(opacity=25); -moz-opacity: .25;";
        }
        
        // set pointer to hourglass
        if (document.body != null) {document.body.style.cursor = 'wait';}
        
        // show loader
        ikb_AddLoader();
        
        // update flags
        ikb_bolLoadStarted = true;
        ikb_bolLoadEnded = false;
    }
}

function ikb_AjaxExtensionsEndRequest(postBackElement) {

    // ensure method is only ran once
    if (!ikb_bolLoadEnded) {
    
        // get body
        var body = document.getElementsByTagName("body");
    
         // tweak opacity
        if (InstantASP_IE4 || InstantASP_IE5 || InstantASP_Opera || InstantASP_NS6)	{
            body[0].style.filter = "";
        }
        
        // set pointer to default
        if (document.body != null) {document.body.style.cursor = 'default';}
        
        // hide loader
        ikb_RemoveLoader();
        
        // update flags
        ikb_bolLoadEnded = true;
        ikb_bolLoadStarted = false;
        
    }
}

var ikb_LoaderDiv;
function ikb_AddLoader() {
    // calculate position
    var top = Math.round((document.documentElement.clientHeight/2)+document.documentElement.scrollTop) + "px";
    var left = Math.round((document.documentElement.clientWidth/2))-100 + "px";
	// build loader
   if (!ikb_LoaderDiv) {ikb_LoaderDiv = document.createElement('div');}
    ikb_LoaderDiv.id = ikb_LoaderDivId;   
    ikb_LoaderDiv.style.position = 'absolute';
    ikb_LoaderDiv.style.top = top;
    ikb_LoaderDiv.style.left = left;
    ikb_LoaderDiv.style.zindex = 999999;
	ikb_LoaderDiv.innerHTML = ikb_AjaxLoadingText;	
	// add to document
	document.body.appendChild(ikb_LoaderDiv);    
}

function ikb_RemoveLoader() {
    // hide loader
    var ikb_LoaderDiv = InstantASP_FindControl(ikb_LoaderDivId);
    if (ikb_LoaderDiv != null)  {
        ikb_LoaderDiv.style.display = "";
        document.body.removeChild(ikb_LoaderDiv);  
    }   
}

/* ----------------------------------------------------------- */
// 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
		            ikb_AjaxExtensionsEndRequest();
		            // was everything ok
		            if (identity==0) {
		                alert(ikb_strSendProblem);
		            } else {
		                alert(ikb_strArticleSentSuccess);
		            }
	            }
            }
        }
      };
      
    // setup params
    var strParams = arrURL[1] + "&key=" + InstantASP_EncodeString(strToEmail);   
    // setup loader
    ikb_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)) {
                        // 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
					        ikb_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
            ikb_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
					        ikb_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
                ikb_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;}
	}
}





//-->
