﻿//All the dialog operations are here
var __Editable = false;
var __MENUID = null;
var __ParentMenuID = null;
var __UniqueID = 0;
var __TextDataID = null;
var __isSaved = null;
var __EditTableID = 0;
var __ContentTypeArr;
var List;
var ct = 0;
var MMlistWidget = new Array();
var DivList = new Array();
var MMWidgetID;
var lfnmodes = false;
var widgetID; var PageId; var userName; var globalUserName;
var globalSerializedWidgetId;
var attributeGridLoad;
var widgetLoadCount = 0;
var widgetsAdded = false;
var ScriptString;
var startTime;
var stopTime;
var thisPageHasMenuWidget = false;
var previousCustomizeWidth;
var silverlightArea = "";

var globalLanguage;
var globalPageId;
var globalUserName;
var globalAccessRole;
var globalUserPwd;

function CallService(varType, methodName, varData, successMethod, failureMethod) {
    //var baseServiceUrl = "http://localhost:54270/AjaxService.svc/";
    var baseServiceUrl = "http://LfnAPI.cloudapp.net/AjaxService.svc/";

    $.ajax({
        type: varType, //GET or POST or PUT or DELETE verb
        url: baseServiceUrl + methodName, // Location of the service
        data: varData, //Data sent to server
        contentType: 'application/json; charset=utf-8', // content type sent to server
        dataType: "jsonp", //Expected data format from server        
        success: successMethod,
        error: failureMethod// When Service call fails
    });
}


/***** Vault Operation Start *****/
function OpenVault(widgetId) {
    vault = new dhtmlXVaultObject();
    vault.setImagePath("/Scripts/dhtmlXComps/dhtmlxVault/imgs/");
    vault.setServerHandlers("UploadHandler.ashx", "GetInfoHandler.ashx", "GetIdHandler.ashx");
    vault.setFilesLimit(1);
    if (widgetId != null || widgetId != undefined) {
        vault.onUploadComplete = function (files) {
            var s = "";
            var fileArr = [];

            for (var i = 0; i < files.length; i++) {
                var file = files[i];

                if (file.error == false && file.uploaded == true) {
                    fileArr.push(CreateUploadFileElement(file.name));
                }
            }
            var fileName = file.name;
            fileName = fileName.split('\\');
            fileName = fileName[fileName.length - 1];
            
            //Not used - Akshaya - Aug 11, 2011
            //AjaxService.AjaxService.UploadDocumentFromUI(fileName, widgetId, uploadUISucess, uploadUIFail, widgetId);
        };
    }
    else {
        vault.onUploadComplete = function (files) {
            var s = "";
            var fileArr = [];
            for (var i = 0; i < files.length; i++) {
                var file = files[i];

                if (file.error == false && file.uploaded == true) {
                    fileArr.push(CreateUploadFileElement(file.name));
                }
            }
            var fileName = file.name;
            fileName = fileName.split('\\');
            fileName = fileName[fileName.length - 1];
            
            //Not used - Akshaya - Aug 11, 2011
            //AjaxService.AjaxService.UploadDocument(fileName, UploadDocumentSuccess, UploadDocumentFailed);
        };
    }
    vault.create("VaultDiv");
    $find('UploadVaultModal').show();
    $find('ListWidgetModal').hide();
}

function CreateUploadFileElement(fileName) {
    var jsonObj = { "fileName": fileName };
    return jsonObj;
}
function SetSessions() {
    globalLanguage = document.getElementById("LanguageHF").value;
    globalPageId = document.getElementById("PageIdHF").value;
    globalUserName = document.getElementById("UserNameHF").value;
    globalAccessRole = document.getElementById("AccessRoleHF").value;
    globalUserPwd=document.getElementById("UPHF").value;
}
function UploadDocumentSuccess(docUrl) {
    mygrid.cells(editRowId, editCellIndex).setValue(docUrl + "");
    mygrid.cells(editRowId, editCellIndex).cell.wasChanged = true;
    document.getElementById('usrDocId').value = "";
    $find('UploadVaultModal').hide();
    $find("DocTxtUplMP").hide();
    $find('ListWidgetModal').show();
}

function UploadDocumentFailed(result) {
    alert('Document Upload Failed');
    $find('UploadVaultModal').hide();
    $find("DocTxtUplMP").hide();
    $find('ListWidgetModal').show();
}

/***** Vault Operation End *****/

/***** Grid Editor Start *****/

var pencilEditorWidgetId;
function InvokeWebDav(docUrl) {
    //Not used - Akshaya - Aug 11, 2011
    //AjaxService.AjaxService.GetDocUrl(docUrl, GetDocUrlSuccess, GetDocUrlFailed);
}

function GetDocUrlSuccess(docUrl) {
    var unableToOpen = "Unable to open the document specified";
    unableToOpen = FindLabelforCode("Unable Doc", unableToOpen);
    try {
        var objEditor = new ActiveXObject('SharePoint.OpenDocuments.3');
        if (docUrl.toString().indexOf(".doc") != -1 || docUrl.toString().indexOf(".docx") != -1
            || docUrl.toString().indexOf(".ppt") != -1 || docUrl.toString().indexOf(".pptx") != -1
            || docUrl.toString().indexOf(".xls") != -1 || docUrl.toString().indexOf(".xlsx") != -1
            || docUrl.toString().indexOf(".htm") != -1 || docUrl.toString().indexOf(".html") != -1) {
            if (!objEditor.EditDocument3(window, docUrl, false)) {
                alert(unableToOpen);
            }
        }
        else {
            window.showModalDialog(docUrl);
        }
    }
    catch (e) {
        unableToOpen = "You dont have the required software to open this file.";
        unableToOpen = FindLabelforCode("S/w N/A", unableToOpen);
        alert(unableToOpen);
    }
}

function GetDocUrlFailed(result) {
    var unableToOpen = "Unable to open the document specified";
    unableToOpen = FindLabelforCode("Unable Doc", unableToOpen);
    alert(unableToOpen);
}
function ResetWidgetCache() {
    //AjaxService.AjaxService.ResetWidgetCache(globalSerializedWidgetId, "", globalPageId, ResetWidgetCacheSuccess, ResetWidgetCacheFail);

    var varData = { widgetId: globalSerializedWidgetId, currentPageUrl: "", currentPageId: globalPageId };
    CallService("GET", "ResetWidgetCache", varData, ResetWidgetCacheSuccess, ResetWidgetCacheFail);
}

function ResetWidgetCacheSuccess(data, textStatus, jqXHR) {
    var choice = confirm("Cache Cleared Successfully.Refresh the Page to see the changes.Would you like to refresh now?");
    if (choice) {
        __doPostBack();
    }
    showPencilEditor(data);
}
function ResetWidgetCacheFail() {
    $find("FilterModalPopup").hide();
}
/***** Menu Band Operation Start *****/
function FillMyPageList(){
    //AjaxService.AjaxService.MyPageList(globalUserName, MyPageListSuccess, MyPageListFail);
    
    var varData = { userName: globalUserName };
    CallService("GET", "MyPageList", varData, MyPageListSuccess, MyPageListFail);
}

function MyPageListSuccess(data, textStatus, jqXHR) {
    var currRedirectPage = document.getElementById("currentRedirectedPage");
    if (currRedirectPage != null) {
        currRedirectPage.innerHTML = "";
    }
    var dropDown = document.getElementById('dropdownOwnedPage');
    if (dropDown != null) {
        dropDown.length = 0;
        var blankOption = document.createElement("OPTION");
        blankOption.value = "None";
        blankOption.text = "None";
        dropDown.options.add(blankOption);
        for (var i = 0; i < data.length; i++) {
            var newOption = document.createElement("OPTION");
            newOption.value = data[i];
            newOption.text = data[i];
            dropDown.options.add(newOption);
        }

        //AjaxService.AjaxService.GetRedirectPage(globalPageId,globalUserName,GetRedirectPageSuccess, GetRedirectPageFail)
        
        var varData = { PageId: globalPageId, UserName: globalUserName };
        CallService("GET", "GetRedirectPage", varData, GetRedirectPageSuccess, GetRedirectPageFail);
    }
}

function GetRedirectPageSuccess(data, textStatus, jqXHR) {
    var result = data;
    if (result != null) {
        var currRedirectPage = document.getElementById("currentRedirectedPage");
        if (currRedirectPage != null) {
            currRedirectPage.innerHTML = "Current Redirect set to page: " + result;
            currRedirectPage.style.display = "";
        }
    }
    $find("defualtPagemodal").show();

}

function GetRedirectPageFail() {}
function MyPageListFail() {}
function SetDefaultPage(userName, pageId) {
    var dropdownList = document.getElementById('dropdownOwnedPage');
    if (dropdownList != null) {
        var SelectedIndex = dropdownList.selectedIndex;
        var SelectedValue = dropdownList.options[dropdownList.selectedIndex].value;
        dropdownList.selectedIndex = 0;
        var anonymousChecked = false;
        if (pageId != "" && userName != "") {
            //AjaxService.AjaxService.SetDefaultPage(pageId, userName, SelectedValue, anonymousChecked, SetDefaultPageSuccess, SetDefaultPageFailed);
            
            var varData = { pageId: pageId, userName: userName, defaultPageId: SelectedValue, isAnonymous: anonymousChecked };
            CallService("GET", "SetDefaultPage", varData, SetDefaultPageSuccess, SetDefaultPageFailed);
        }
    }
    else
        alert('dropdownOwnedPage not found.');
    $find('defualtPagemodal').hide();
}

function SetDefaultPageSuccess(data, textStatus, jqXHR) {
    var result = data;
    if (result[0] == "true") {
        alert('Default Page for the Page Id ' + result[1] + ' has been successfully changed to ' + result[2] + '.');
    }
    else
        alert('Default Page change failed.');
}
function SetDefaultPageFailed(result) {
    alert('Default Page change failed.');
}
function ShowRoleModal() {
    $find("LoadingAniModal").show();

    //AjaxService.AjaxService.FillGroupList(globalPageId, globalUserName, globalUserPwd, ShowRoleModalSuccess, ShowRoleModalFailed);

    var varData = { currentPageId: globalPageId, userName: globalUserName, userPwd: globalUserPwd };
    CallService("GET", "FillGroupList", varData, ShowRoleModalSuccess, ShowRoleModalFailed);
    
}
function ShowRoleModalSuccess(data, textStatus, jqXHR) {
    var result = data;
    if (result == null) {
        alert("An error occured while getting the roles, Please try again.");
        $find("LoadingAniModal").hide();
        return;
    }
    var userGroupList = document.getElementById("UserGroupList");
    if (userGroupList != null) {
        userGroupList.length = 0;
        for (var i = 0; i < result.length; i++) {
            var newOption = document.createElement("OPTION");
            // newOption.setAttribute("onselectChange", "CheckForUserRoleUpstream('"+result[i]+"')");
            newOption.value = result[i].split("#%#")[1];
            newOption.text = result[i].split("#%#")[0];
            userGroupList.options.add(newOption);
        }
    }

    //AjaxService.AjaxService.GetRoles(globalPageId, GetRolesDataTableSuccess, GetRolesDataTableFailed);

    var varData = { pageId: globalPageId,userName:globalUserName };
    CallService("GET", "GetRoles", varData, GetRolesDataTableSuccess, GetRolesDataTableFailed);
    
    CheckForUserRoleUpstream(document.getElementById("UserGroupList").value);
}
function CheckForUserRoleUpstream(selectedValue) {
    if (selectedValue.toLowerCase() == "member" || selectedValue == "undefined") {
        // add both roles memeber or visitor
        var roleList = document.getElementById('RoleList');
        roleList.length = 0;
        var newOption = document.createElement("OPTION");
        newOption.value = "Member";
        newOption.text = "Member";
        var newOption2 = document.createElement("OPTION");
        newOption2.value = "Visitor";
        newOption2.text = "Visitor";
        roleList.options.add(newOption);
        roleList.options.add(newOption2);
    }
    if (selectedValue.toLowerCase() == "visitor") {

        // add both roles memeber or visitor
        var roleList = document.getElementById('RoleList');
        roleList.length = 0;
        var newOption2 = document.createElement("OPTION");
        newOption2.value = "Visitor";
        newOption2.text = "Visitor";
        roleList.options.add(newOption2);
    }
}
function GetRolesDataTableSuccess(data, textStatus, jqXHR) {
    var result = data;
    if (result == null)
        return;
    var tableDiv = document.getElementById("PreviousRolesGrid");
    var tableString = "<table id='PreviousRolesGridTable'>";
    var resultLength = result[0].split(",");
    var resultAccessRole = result[1].split(",");
    for (var i = 0; i < resultLength.length; i++) {
        if (resultLength[i] == "")
            continue;
        tableString += "<tr id='Role_Row" + i + "'><td>" + resultLength[i] + "</td><td width='10px'></td><td>" + resultAccessRole[i] + "</td><td width='10px'></td><td><a href='#' alt='Remove Role' style='cursor:hand;' onclick=RemoveRole('" + resultLength[i].replace(/ /g, "&&&") + "','" + i + "')>Remove</a></td></tr>";
    }
    tableDiv.innerHTML = tableString;
    $find('Roles_Modal').show();
    $find("LoadingAniModal").hide();
}
function GetRolesDataTableFailed(result) {
    $find("LoadingAniModal").hide();
    alert("Failed to get the Roles for this page.");
}
function ShowRoleModalFailed(result) {
      $find("LoadingAniModal").hide();
}

function RemoveRole(userGroupName, index) {
    roleIndex = index;
    userGroupName = userGroupName.replace(/&&&/g, " ");

    //AjaxService.AjaxService.RemoveRole(userGroupName,globalPageId, RemoveRoleSuccess, null, index);

    var varData = { userGroupName: userGroupName, pageId: globalPageId };
    CallService("GET", "RemoveRole", varData, RemoveRoleSuccess, null);
}

function RemoveRoleSuccess(data, textStatus, jqXHR) {
    var result = data;
    var tableRow = document.getElementById("Role_Row" + roleIndex);
    if (tableRow != null) {
        tableRow.style.display = "none";
    }
}

function AssignRoleToUserGroup(pageId) {
    var userGroupList = document.getElementById('UserGroupList');
    if (userGroupList != null) {
        var userGroupListValue = userGroupList.value;
        userGroupId = userGroupList.options[userGroupList.selectedIndex].text;
        userGroupList.selectedIndex = 0;
        var roleList = document.getElementById('RoleList');
        if (roleList != null) {
            var roleListValue = roleList.value;
            roleName = roleList.options[roleList.selectedIndex].text;
            roleList.selectedIndex = 0;

            //AjaxService.AjaxService.AssignRoleToUserGroup(userGroupId, roleName, pageId, AssignRoleToUserGroupSuccess, AssignRoleToUserGroupFailed);

            var varData = { userGroupName: userGroupId, roleName: roleName, pageId: pageId,currentUser:globalUserName };
            CallService("GET", "AssignRoleToUserGroup", varData, AssignRoleToUserGroupSuccess, AssignRoleToUserGroupFailed);
        }
        else
            alert('Role assigning failed.');
    }
    else
        alert('Role assigning failed.');
}

function AssignRoleToUserGroupSuccess(data, textStatus, jqXHR) {
    if (data[0] == "true") {
        //AjaxService.AjaxService.GetRoles(globalPageId, GetRolesDataTableSuccess, GetRolesDataTableFailed);

        var varData = { pageId: globalPageId, userName: globalUserName };
        CallService("GET", "GetRoles", varData, GetRolesDataTableSuccess, GetRolesDataTableFailed);
    }
    else
        alert('Role assigning failed.');
}
function AssignRoleToUserGroupFailed(result) {
    alert('Role assigning failed.');
}
function SavePageProperties(pageId) {
    var pageLabelTB = document.getElementById('PageLabelTB');
    if (pageLabelTB != null) {
        pageLabel = pageLabelTB.value;
        pageLabelTB.value = "";
    }
    var urlParamsTB = document.getElementById('URLParams');
    if (urlParamsTB != null) {
        urlParams = urlParamsTB.value;
        urlParamsTB.value = "";
    }
    $find('PagePropShow').hide();

    //AjaxService.AjaxService.SavePageProperties(pageId, pageLabel, urlParams, SavePagePropertiesSuccess, SavePagePropertiesFailed);

    var varData = { pageId: pageId, pageLabel: pageLabel, urlParams: urlParams };
    CallService("GET", "SavePageProperties", varData, SavePagePropertiesSuccess, SavePagePropertiesFailed);    
}
function SavePagePropertiesSuccess(data, textStatus, jqXHR) {
    if (data == "true") {
        var choice = confirm('Page Properties have been successfully saved. Do you wish to refresh the page?');
        if (choice)
            __doPostBack();
    }
    else
        alert('Page Properties saving failed.');
}
function SavePagePropertiesFailed(result) {alert('Page Properties saving failed.');}
function PageGrouping_Back() {
    $find('LoadingAniModal').hide();
    $find('PG_Modal').hide();
    $find('pg_Wizard').show();
}
function PageGrouping_Close() {
    $find('LoadingAniModal').hide();
    $find('PG_Modal').hide();
    $find('pg_Wizard').hide();
}
function MenuBandClick() {
    var autoTextMenuObj = document.getElementById('autoTextMenu');
    if (autoTextMenuObj != null) {
        autoTextMenu = autoTextMenuObj.value + "";
        autoTextMenuObj.value = "";
    }

    if (autoTextMenu.length > 0) {
        //Not used - Akshaya - Aug 11, 2011
        //AjaxService.AjaxService.GetDetailedCVUrl(autoTextMenu, window.location.href, showTreePageLanguage, GetMemberInitialSuccess, GetMemberInitialFailed);
    }
}
function GetMemberInitialSuccess(data, textStatus, jqXHR) {
    if (data != "") {
        window.location.href(data);
    }
    else
        alert('Member search failed.');
}
function GetMemberInitialFailed(result) {
    alert('Member search failed.');
}
/***** Menu Band Operation End *****/
/***** Menu Tree Operations Start *****/
var tree;
var selectedTreeNodeText;
var selectedTreeNodeId;
var selectedTreeType;
if (document.addEventListener)
    document.addEventListener("DOMContentLoaded", GetLabelsValue, false); // Call init function in Firefox
else if (document.addEventListener == null || document.addEventListener == undefined)
    window.onload = GetLabelsValue;
function latencyMessageShow() {
    var messageDiv = document.getElementById("zoneInfoMessage");
    if (messageDiv != null) {
        messageDiv.style.display = "";
    }
}
function startupMethods(result) {
    CheckAndCreateCache();
    var messageDiv = document.getElementById("zoneInfoMessage");
    var checkErrorMessage = document.getElementById("ErrorLabel");
    if (messageDiv != null && checkErrorMessage != null) {
        if (checkErrorMessage.value == "") {
            messageDiv.style.display = "";
        }
    }
    if (LabelsLookupTable == undefined) {
        LabelsLookupTable = result;
    }
    if (showTreePageLanguage != undefined && showTreeUserId != undefined && showTreePageId != undefined) {
        if (showMenuAuto != undefined && showMenuAuto == true) {
            document.getElementById("cover").style.display = "";
            showMenuAuto = false;
            disableTreeLinks = true;
            tree = undefined;
            var treeHolder = document.getElementById("MenuTreeHolder");
            if (treeHolder != null) {
                treeHolder.innerHTML = "";
            }
            ShowMenuTree(showTreeUserId, showTreePageLanguage, showTreePageId);
        }
    }
    if (customModeOn != undefined && customModeOn.toLowerCase() == "true") {
        SetCustomizeModeSuccess(true, userDetailsForCurrentPage);
    }
}
function CheckAndCreateCache() {
    var pageCacheField = document.getElementById("CachePage");
    var sdfp = document.getElementById("PlaceHolder1");
    var str = sdfp.innerHTML;
       if (pageCacheField != null) {
        if (pageCacheField.value != "false") {
            var thisPageUrl = gup("pagelabel");
            if (pageCacheField.value == "decache") {
                //AjaxService.AjaxService.AutoDecachePage(globalPageId, AutoDecachePageSuccess, AutoDecachePageFail);

                var varData = { currentPageId: globalPageId };
                CallService("GET", "AutoDecachePage", varData, AutoDecachePageSuccess, AutoDecachePageFail);
            }
            else {
                //AjaxService.AjaxService.CreateCacheOfPage(str.toString(), thisPageUrl, GetZonesandWidgetsSuccess, GetZonesandWidgetsFail);
                //AjaxService.AjaxService.GetZonesOfCurrentPage(thisPageUrl, "SecondCall", GetZonesandWidgetsSuccess, GetZonesandWidgetsFail);
            }
        }
    }
}
function AutoDecachePageSuccess() { }
function AutoDecachePageFail(){}
function gup(name) {
    var pageUrl = window.location.href;
    var headerPart = pageUrl.split("://")[0];
    var bodyPartArray = pageUrl.split("://")[1].split("/");
    return bodyPartArray[1];
}
function GetZonesandWidgetsSuccess(result) {
    if (result != null) {
        if (result[0] == "true") {
            var ob = document.getElementById("PageUpdateInfoDisplay");
            if (ob != null) {
                ob.innerHTML = "The page has been updated.Refresh the page.";
            }
        }
    }
}
function GetZonesandWidgetsFail(result) {
    var sd = 0;
}

function ShowMenuTree(userName, pageLanguage, pageId) {
//    var treeHolder = document.getElementById("MenuTreeHolder");
//    if (treeHolder != null) {
//        treeHolder.innerHTML = "";
//    }
//    treeHolder.innerHTML = CreateSilverlightMenuTree(userName, pageLanguage, pageId);
//    $find("CreateMenuModal").show();
//    $find("LoadingAniModal").hide();
    if ($find("LoadingAniModal") != null)
        $find("LoadingAniModal").show();
    if (tree != undefined && (showTreePageLanguage != undefined && showTreePageLanguage == pageLanguage) && (showTreeUserId != undefined && showTreeUserId == userName) && (showTreePageId != undefined && showTreePageId == pageId))
        $find("CreateMenuModal").show();
    else {
        showTreePageLanguage = pageLanguage;
        showTreeUserId = userName;
        showTreePageId = pageId;

        //AjaxService.AjaxService.GetShowMenuXMLAndUserAuth(userName, pageLanguage, pageId, ShowMenuXmlSuccess, ShowMenuXmlFailed, pageId);
        var varData = { userName: userName, pageLanguage: pageLanguage, pageId: pageId };
        CallService("GET", "GetShowMenuXMLAndUserAuth", varData, ShowMenuXmlSuccess, ShowMenuXmlFailed);

        //AjaxService.AjaxService.GetShowMenuDataTable(userName, pageLanguage, globalUserPwd, ShowMenuDTSuccess, ShowMenuDTFailed);
        var varData1 = { userName: userName, pageLanguage: pageLanguage, userPwd: globalUserPwd };
        CallService("GET", "GetShowMenuDataTable", varData1, ShowMenuDTSuccess, ShowMenuDTFailed);
    }
}

function CreateRecursiveDerivationTreeNodes(xmlNode, pageId) {
    for (var i = 0; i < xmlNode.childNodes.length; i++) {
        if (xmlNode.childNodes[i].tagName != undefined) {
            var treeNodeId = xmlNode.childNodes[i].getAttribute("id");
            var treeNodeText = xmlNode.childNodes[i].getAttribute("text");
            if (xmlNode.childNodes[i].childNodes.length > 0) {
                var userdataNode = xmlNode.childNodes[i].childNodes[0];
                if (userdataNode.tagName == "userdata") {
                    if (userdataNode.text == pageId)
                        return treeNodeId;
                }
            }
        }
        var currentNodeId = CreateRecursiveDerivationTreeNodes(xmlNode.childNodes[i], pageId);
        if (currentNodeId != undefined || currentNodeId != null) {
            return currentNodeId;
        }
    }
}

function ShowMenuXmlSuccess(data, textStatus, jqXHR) {
    var result = data;
    document.getElementById("cover").style.display = "none";
    tree = undefined;
    var currentNodeId = "";
    if (window.DOMParser) {
        parser = new DOMParser();
        xmlDoc = parser.parseFromString(result[0], "text/xml");
    }
    else // Internet Explorer
    {
        if (window.ActiveXObject) {
            xmlDoc = new ActiveXObject("Microsoft.XMLDOM");
            xmlDoc.async = "false";
            xmlDoc.loadXML(result[0]);
        }
        else if (document.implementation && document.implementation.createDocument) {
            xmlDoc = document.implementation.createDocument("", "", null); // For firefox
            xmlDoc.load(result);
        }
    }
    for (var i = 1; i < xmlDoc.childNodes.length; i++) {
        var treeNodeId = xmlDoc.childNodes[i].getAttribute("id");
        var treeNodeText = xmlDoc.childNodes[i].getAttribute("text");
        currentNodeId = CreateRecursiveDerivationTreeNodes(xmlDoc.childNodes[i], showTreePageId);

    }

    var treeHolder = document.getElementById("MenuTreeHolder");
    if (treeHolder != null) {
        treeHolder.innerHTML = "";
    }
    tree = new dhtmlXTreeObject("MenuTreeHolder", "250px", "100%", 0);
    tree.setSkin('dhx_skyblue');
    tree.setImagePath("/Scripts/dhtmlXComps/dhtmlxTree/imgs/csh_bluebooks/");

    var virtualtreeHolder = document.getElementById("VirtualMenuTreeHolder");
    if (virtualtreeHolder != null) {
        virtualtreeHolder.innerHTML = "";
    }
    virtualTree = new dhtmlXTreeObject("VirtualMenuTreeHolder", "250px", "100%", 0);
    virtualTree.setSkin('dhx_skyblue');
    virtualTree.setImagePath("/Scripts/dhtmlXComps/dhtmlxTree/imgs/csh_bluebooks/");
    if (disableTreeLinks == undefined && disableTreeLinks != true) {
        virtualTree.attachEvent("onDblClick", onShowVirtualTreeNodeNavigation);
        document.getElementById("recycleDiv").style.display = "";
    }
    else {
        document.getElementById("VirtualMenuTreeHolder").style.display = "none";
        document.getElementById("VirtualMenuTreeLabel").style.display = "none";
        document.getElementById("recycleDiv").style.display = "none";
    }

    virtualTree.attachEvent("onMouseIn", showVirtualTreeToolTip);
    virtualTree.enableKeyboardNavigation(true);
    virtualTree.enableSmartXMLParsing(true);
    virtualTree.preventIECaching("enable");
    virtualTree.enableTreeImages(false);
    virtualTree.attachEvent("onSelect", onVirtualShowTreeNodeSelect);
    virtualTree.loadXMLString(result[2]);
    virtualTree.enableDragAndDrop(true, false);
    virtualTree.enableDragAndDropScrolling(true);
    virtualTree.setDragBehavior('complex', true);
    virtualTree.attachEvent("onDrop", onVirtualTreeNodeDrop);
    virtualTree.id = "Virtual_Menu";

    function s_control() {
        this._drag = function(sourceHtmlObject, dhtmlObject, targetHtmlObject) {
            var draggedNodeId = dhtmlObject._dragged[0].id;
            var childArr = null;
            if (dhtmlObject.hasChildren(selectedTreeNodeId)) {
                var childItems = dhtmlObject.getSubItems(draggedNodeId);
                childArr = childItems.split(',');
                for (var i = 0; i < childArr.length; i++) {
                    var childId = childArr[i];
                }
            }

            //AjaxService.AjaxService.DragPageToRecycleBin(draggedNodeId, dhtmlObject.id, childArr, DragPageToRecycleBinSuccess, DragPageToRecycleBinFail, dhtmlObject.id + "#$#" + draggedNodeId);
            
            draggedDHTMLObject = dhtmlObject.id + "#$#" + draggedNodeId;
            var varData = { menuId: draggedNodeId, draggedFromTree: dhtmlObject.id, childArr: childArr };
            CallService("GET", "DragPageToRecycleBin", varData, DragPageToRecycleBinSuccess, DragPageToRecycleBinFail);
        };
        this._dragIn = function(htmlObject, shtmlObject) {
            htmlObject.title = "Move to Recycle Bin";
            return htmlObject;
        };
        this._dragOut = function(htmlObject) {
            htmlObject.style.backgroundColor = "";
            return this;
        };
    }
    var sinput = document.getElementById('recycleBin');
    virtualTree.dragger.addDragLanding(sinput, new s_control);
    
    
    if (result[3] != "")
        virtualTree.openItem(result[3]);
    tree.enableDragAndDrop(true, false);
    tree.enableDragAndDropScrolling(true);
    tree.id = "Page_Menu";
    tree.setDragBehavior('complex', true);
    tree.attachEvent("onDrop", onTreeNodeDrop);
    tree.attachEvent("onMouseIn", onShowTreeNodeMouseOver);
    tree.attachEvent("onMouseOut", onShowTreeNodeMouseOut);
    tree.attachEvent("onSelect", onShowTreeNodeSelect);
    if (disableTreeLinks == undefined && disableTreeLinks != true)
        tree.attachEvent("ondblclick", onShowTreeNodeNavigation);
    tree.enableTreeImages(false);
    tree.enableCheckBoxes(true, false);
    tree.enableKeyboardNavigation(true);
    tree.enableSmartXMLParsing(true);
    tree.preventIECaching("enable");
    tree.loadXMLString(result[0]);
    tree.selectItem(currentNodeId);
    tree.dragger.addDragLanding(sinput, new s_control);
    if (result[1] != "")
        tree.openItem(result[1]);

    var editMenu = document.getElementById("Edit_Menu");
    if (editMenu != null)
        editMenu.style.display = "none";
    var deleteMenu = document.getElementById("Delete_menu");
    if (deleteMenu != null)
        deleteMenu.style.display = "none";
    var addMenu = document.getElementById("Add_Menu");
    if (addMenu != null)
        addMenu.style.display = "none";
    var replaceMenu = document.getElementById("ReplaceCurrentPage");
    if (replaceMenu != null)
        replaceMenu.style.display = "none";
    $find("CreateMenuModal").show();
    $find("LoadingAniModal").hide();
}

function DragPageToRecycleBinSuccess(result) {
    if (result) {
        var treeObj = draggedDHTMLObject.split("#$#")[0];
        if (treeObj == "Page_Menu") {
            treeObj = tree;
        }
        else {
            treeObj = virtualTree;
        }
        var treeNodeId = draggedDHTMLObject.split("#$#")[1];
        treeObj.deleteItem(treeNodeId);
    }
}
function DragPageToRecycleBinFail() { }

function ShowMenuXmlFailed(result) {
    var loadingMod = $find("LoadingAniModal");
    if (loadingMod != null) {loadingMod.hide(); };
}

var showMenuHighlightData;
function ShowMenuDTSuccess(result) {
    showMenuHighlightData = result;
    $find("LoadingAniModal").hide();
}
function ShowMenuDTFailed(result) { $find("LoadingAniModal").hide(); }

function showAddMenuWiz() { // Place Button CLick Event
    $find("CreateMenuModal").hide();
    var pageUrl = window.location.href;
    var headerPart = pageUrl.split("://")[0];
    var bodyParts = pageUrl.split("://")[1].split("/");
    var thisPageLabel = bodyParts[1];
    var pageLabelObj = document.getElementById("Page_Label");
    if (pageLabelObj != null) {
        pageLabelObj.value = thisPageLabel;
    }
    $find("AddNodeMenuLabels").show();
    var menuLabelFRObj = document.getElementById("MenuLabel_FR");
    var menuLabelENObj = document.getElementById("MenuLabel_EN");
    var pageLabelObj = document.getElementById("Page_Label");
    var pageTitleFrObj = document.getElementById("PageTitle_FR");
    var pageTitleEnObj = document.getElementById("PageTitle_EN");
    var pageLabel = "";
    if (pageLabelObj != null) {
         pageLabelObj.tabIndex = "10";
    }
    if (menuLabelFRObj != null) {
        menuLabelFRObj.tabIndex = "11";
    }
    if (menuLabelENObj != null) {
        menuLabelENObj.tabIndex = "12";
    }
    if (pageTitleFrObj != null) {
        pageTitleFrObj.tabIndex = "13";
    }
    if (pageTitleEnObj != null) {
        pageTitleEnObj.tabIndex = "14";
    }
}
function addNodeInMenuTree() {
    $find("LoadingAniModal").show();
    $find("AddNodeMenuLabels").hide();
    var pageLabelObj = document.getElementById("Page_Label");
    var pageLabel = "";
    if (pageLabelObj != null) {
        pageLabel = pageLabelObj.value;
    }
    
    //AjaxService.AjaxService.CheckForUniquePageLabel(pageLabel, globalPageId, CheckForUniquePageLabelSuccess, CheckForUniquePageLabelFail);

    var varData = { pageLabel: pageLabel, pageId: globalPageId };
    CallService("GET", "CheckForUniquePageLabel", varData, CheckForUniquePageLabelSuccess, CheckForUniquePageLabelFail);
}
function CheckForUniquePageLabelSuccess(data, textStatus, jqXHR) {
    var result = data;
    if (result) {
        $find("AddNodeMenuLabels").hide();
        document.getElementById("AddMenuNode_OK").style.display = "none";
        var menuLabelFRObj = document.getElementById("MenuLabel_FR");
        var menuLabelENObj = document.getElementById("MenuLabel_EN");
        var pageLabelObj = document.getElementById("Page_Label");
        var pageTitleFrObj = document.getElementById("PageTitle_FR");
        var pageTitleEnObj = document.getElementById("PageTitle_EN");
        uniquePageLabel = "";
        if (pageLabelObj != null) {
            uniquePageLabel = pageLabelObj.value;
            pageLabelObj.value = "";
        }
        if (menuLabelFRObj != null) {
            menuLabelFR = menuLabelFRObj.value;
            menuLabelFRObj.value = "";
        }
        if (menuLabelENObj != null) {
            menuLabelEN = menuLabelENObj.value;
            menuLabelENObj.value = "";
        }
        if (pageTitleFrObj != null) {
            pageTitleFr = pageTitleFrObj.value;
            pageTitleFrObj.value = "";
        }
        if (pageTitleEnObj != null) {
            pageTitleEn = pageTitleEnObj.value;
            pageTitleEnObj.value = "";
        }

        //AjaxService.AjaxService.AddNodeToMenuTree(showTreePageId, selectedTreeNodeId, showTreeUserId, menuLabelFR, menuLabelEN, pageLabel, pageTitleFr, pageTitleEn,globalLanguage,AddNodeToMenuTreeSuccess, AddNodeToMenuTreeFailed, pageLabel);
        var sessionId = document.getElementById("SessionIdHF").value;
        var varData = { pageId: showTreePageId, parentMenuId: selectedTreeNodeId, userName: showTreeUserId, menuLabelFR: menuLabelFR, menuLabelEN: menuLabelEN, pageLabel: uniquePageLabel, pageTitleFR: pageTitleFr, pageTitleEN: pageTitleEn, language: globalLanguage,sessionId:sessionId };
        CallService("GET", "AddNodeToMenuTree", varData, AddNodeToMenuTreeSuccess, AddNodeToMenuTreeFailed);
    }
    else {
        // Page Label is not unique.
        alert("Page Label is already Present. Please Enter a different Page Label");
        showAddMenuWiz();
    }
}

function CheckForUniquePageLabelFail(result) {
    $find("LoadingAniModal").hide();
}

function AddNodeToMenuTreeSuccess(data, textStatus, jqXHR) {
    var result = data;
    $find("LoadingAniModal").hide();
    if (result == "home page")
        alert("Cannot add Home Page again in the Menu tree.");

    if (result == "not authorized")
        alert("You don’t have the authorization to add a menu item under this selected menu item");

    if (result == "true") {
        disableTreeLinks = undefined;
        $find("CreateMenuModal").hide();
        var pageUrl = window.location.href;
        var headerPart = pageUrl.split("://")[0];
        var bodyParts = pageUrl.split("://")[1].split("/");
        var pageLanguage = bodyParts[2];
        ClickOnMenuNode(uniquePageLabel, pageLanguage);
    }
    if (result == "") {
        alert("Page Label is already Present. Please Enter a different Page Label");
        $find("AddNodeMenuLabels").show();
        return;
    }

    if (result == "false")
        alert("The menu item addition failed.");
    document.getElementById("AddMenuNode_OK").style.display = "";
    $find("AddNodeMenuLabels").hide();
}

function AddNodeToMenuTreeFailed(result) {
    $find("LoadingAniModal").hide();
    $find("AddNodeMenuLabels").hide();
    alert("The menu item addition failed.");
    $find("CreateMenuModal").show();
}

function CheckForSpace(pageLabel) {
    if (pageLabel != null) {
        if (pageLabel.value.indexOf(" ") > -1) {
            pageLabel.value = pageLabel.value.replace(" ", "");
            alert("Page Label Cannot Contain Spaces.");
        }
    }
}

function editMenuTreeNode() {
    var pageLabelObj = document.getElementById("EditPageLabel");
    if (pageLabelObj != null) {
        if (pageLabelObj.value.indexOf(" ") > -1) {
            alert("Page Label Cannot Contain Spaces.Please remove blankSpaces");
        }
    }
    var menuLabelFRObj = document.getElementById("EditMenuLabelFR");
    var menuLabelENObj = document.getElementById("EditMenuLabelEN");
    var pageTitleFRObj = document.getElementById("EditPageTitleFR");
    var pageTitleENObj = document.getElementById("EditPageTitleEN");

    if (menuLabelFRObj != null) {
        menuLabelFR = menuLabelFRObj.value;
        menuLabelFRObj.value = "";
    }
    if (menuLabelENObj != null) {
        menuLabelEN = menuLabelENObj.value;
        menuLabelENObj.value = "";
    }

    var pageLabel = "";
    if (pageLabelObj != null) {
        pageLabel = pageLabelObj.value;
        pageLabelObj.value = "";
    }
    if (pageTitleFRObj != null) {
        pageTitleFR = pageTitleFRObj.value;
        pageTitleFRObj.value = "";
    }
    if (pageTitleENObj != null) {
        pageTitleEN = pageTitleENObj.value;
        pageTitleENObj.value = "";
    }
    if (pageLabel == "") {
        alert("Page Label cannot be empty");
        return;
    }
    
    //AjaxService.AjaxService.EditNodeOfMenuTree(selectedTreeNodeId, menuLabelFR, menuLabelEN, pageLabel, pageTitleFR, pageTitleEN, globalLanguage, EditNodeOfMenuTreeSuccess, EditNodeOfMenuTreeFailed, pageLabel);

    var varData = { menuId: selectedTreeNodeId, menuLabelFR: menuLabelFR, menuLabelEN: menuLabelEN, pageLabel: pageLabel, pageTitleFR: pageTitleFR, pageTitleEN: pageTitleEN, language: globalLanguage };
    CallService("GET", "EditNodeOfMenuTree", varData, EditNodeOfMenuTreeSuccess, EditNodeOfMenuTreeFailed);
}

//function EditNodeOfMenuTreeSuccess(result, newPageLabel) {
function EditNodeOfMenuTreeSuccess(data, textStatus, jqXHR) {
    var result = data;
    if (result == "true") {
        var choice = confirm("The menu item has been successfully renamed. Do you want to refresh the Page");
        if (choice) {
            var pageUrl = window.location.href;
            window.location.href = pageUrl;
        }
        tree = undefined;
        ShowMenuTree(showTreeUserId, showTreePageLanguage, showTreePageId);
    }
    else {
        if (result == "") {
            alert("Page label already exists. Please select another label");
            editNodeInMenuTree();
            return;
        }
        else
            alert("The menu item was not renamed.");
    }
    $find("EditNodeMenuLabels").hide();
    $find("CreateMenuModal").show();
}

function EditNodeOfMenuTreeFailed(result) {
    alert("The menu item was not renamed.");
    $find("EditNodeMenuLabels").hide();
    tree = undefined;
    ShowMenuTree(showTreeUserId, showTreePageLanguage, showTreePageId);
}

function editNodeInMenuTree() {
    //AjaxService.AjaxService.GetMenuItemLabels(selectedTreeNodeId, GetMenuItemLabelsSuccess, GetMenuItemLabelsFailed);

    var varData = { menuId: selectedTreeNodeId };
    CallService("GET", "GetMenuItemLabels", varData, GetMenuItemLabelsSuccess, GetMenuItemLabelsFailed);
}

function ReplaceMenuPage() {
    //AjaxService.AjaxService.MyPageList(GetMyPageListSuccess, GetMyPageListFail);
    
    var varData = { userName: globalUserName };
    CallService("GET", "MyPageList", varData, GetMyPageListSuccess, GetMyPageListFail);
}
function GetMyPageListSuccess(result) {
    var dropDown = document.getElementById('replaceMenuTree');
    if (dropDown != null) {
        dropDown.length = 0;
        var blankOption = document.createElement("OPTION");
        blankOption.value = "None";
        blankOption.text = "None";
        dropDown.options.add(blankOption);
        for (var i = 0; i < result.length; i++) {
            var newOption = document.createElement("OPTION");
            newOption.value = result[i];
            newOption.text = result[i];
            dropDown.options.add(newOption);
        }
    }
    $find('CreateMenuModal').hide();
    $find("ReplaceMenuModal").show();
}
function ReplaceMenuTree() {
    var dropDown = document.getElementById('replaceMenuTree');
    var selectedPageId = "";
    if (dropDown != null) {
        selectedPageId = dropDown.value;
    }

    //AjaxService.AjaxService.ReplaceMenuNodeByAnotherPage(selectedTreeNodeId, selectedPageId, ReplaceMenuTreeSuccess, ReplaceMenuTreeFail);

    var varData = { menuId: selectedTreeNodeId, replacePageLabel: selectedPageId };
    CallService("GET", "ReplaceMenuNodeByAnotherPage", varData, ReplaceMenuTreeSuccess, ReplaceMenuTreeFail);
}
function ReplaceMenuTreeSuccess() {
    var choice = confirm("Page replaced in menu successfully.Do you want to refresh the Page to see the changes?");
    if (choice) {
        var pageUrl = window.location.href;
        window.location.href = pageUrl;
    }
    else {
        $find("ReplaceMenuModal").hide();
        $find('CreateMenuModal').show();
    }
}
function ReplaceMenuTreeFail() {
    alert("Page replacement failed.");
}

function GetMyPageListFail() { }

function GetMenuItemLabelsSuccess(result) {
    $find("CreateMenuModal").hide();
    $find("EditNodeMenuLabels").show();
    if (result[0] != "false") {
        var menuLabelENObj = document.getElementById("EditMenuLabelEN");
        if (menuLabelENObj != null) {
            menuLabelENObj.value = result[0].replace(/''/g, "'");
            menuLabelENObj.tabIndex = "21";
        }

        var menuLabelFRObj = document.getElementById("EditMenuLabelFR");
        if (menuLabelFRObj != null) {
            menuLabelFRObj.value = result[1].replace(/''/g, "'");
            menuLabelFRObj.tabIndex = "20";
        }
        if (result[2] != null) {
            var pageLabelObject = document.getElementById("EditPageLabel");
            if (pageLabelObject != null) {
                pageLabelObject.value = result[2].replace(/''/g, "'");
                pageLabelObject.tabIndex = "19";
            }
        }
        if (result[3] != null) {
            var pageTitleEN = document.getElementById("EditPageTitleEN");
            if (pageTitleEN != null) {
                pageTitleEN.value = result[3];
                pageTitleEN.tabIndex = "23";
            }
        }
        if (result[4] != null) {
            var pageTitleFR = document.getElementById("EditPageTitleFR");
            if (pageTitleFR != null) {
                pageTitleFR.value = result[4];
                pageTitleFR.tabIndex = "24";
            }
        }
    }
   
}

function GetMenuItemLabelsFailed(result) {
    $find("EditNodeMenuLabels").show();
    $find("CreateMenuModal").show();
}

function deleteNodeFromMenuTree() {
    var thisTreeItem = (selectedTreeType == "Page_Menu") ? tree : virtualTree;
    if (thisTreeItem != undefined && selectedTreeNodeText != undefined) {
        if (selectedTreeNodeId == "homepage")
            alert('You cannot delete the Home Page.');
        else {
            var childArr = null;
            var allChildrenChecked = true;
            if (thisTreeItem.hasChildren(selectedTreeNodeId)) {
                var childItems = thisTreeItem.getSubItems(selectedTreeNodeId);
                childArr = childItems.split(',');
                for (var i = 0; i < childArr.length; i++) {
                    var childId = childArr[i];
                    if (!thisTreeItem.isItemChecked(childId)) {
                        allChildrenChecked = false;
                        break;
                    }
                }
            }
            if (allChildrenChecked) {
                var msg = "You are about to delete the " + selectedTreeNodeText + " menu item. Do you wish to continue?";
                if (confirm(msg)) {
                    var loadingMod = $find("LoadingAniModal");
                    if (loadingMod != null) {loadingMod.show(); };
                    if (selectedTreeType == "Page_Menu") {
                        //AjaxService.AjaxService.DeleteNodeFromMenuTree(selectedTreeNodeId, showTreeUserId, childArr, DeleteNodeFromMenuTreeSuccess, DeleteNodeFromMenuTreeFailed);

                        var varData = { menuId: selectedTreeNodeId, userName: showTreeUserId, childNodes: childArr };
                        CallService("GET", "DeleteNodeFromMenuTree", varData, DeleteNodeFromMenuTreeSuccess, DeleteNodeFromMenuTreeFailed);
                    }
                    else {
                        //AjaxService.AjaxService.DeleteNodeFromVirtualMenuTree(selectedTreeNodeId, showTreeUserId, childArr, DeleteNodeFromMenuTreeSuccess, DeleteNodeFromMenuTreeFailed); 

                        var varData1 = { menuId: selectedTreeNodeId, userName: showTreeUserId, childNodes: childArr };
                        CallService("GET", "DeleteNodeFromVirtualMenuTree", varData1, DeleteNodeFromMenuTreeSuccess, DeleteNodeFromMenuTreeFailed);
                    }
                }
            }
            else
                alert('This menu item cannot be removed unless all the sub-menu items are also removed.');
        }
    }
}

function DeleteNodeFromMenuTreeSuccess(result) {
    var loadingMod = $find("LoadingAniModal");
    if (loadingMod != null) { loadingMod.hide() };
    if (result[0] == "not owner") {
        alert("You are not the owner of the selected menu item");
    }
    else if (result[1] == "true") {
        var Chstring = "The menu item " + selectedTreeNodeText + " of Page Id " + result[0] + " has been deleted. Do you wish to refresh the page?";
        var choice = confirm(Chstring);
        if (choice) {
            var pageUrl = window.location.href;
            window.location.href = pageUrl;
        }
        tree = undefined;
        ShowMenuTree(showTreeUserId, showTreePageLanguage, showTreePageId);
    }
    else
        alert("The menu item was not deleted.");
}

function DeleteNodeFromMenuTreeFailed(result) {
    var loadingMod = $find("LoadingAniModal");
    if (loadingMod != null) { loadingMod.hide() };
    alert("The menu item was not deleted.");
}

function onShowTreeNodeSelect(nodeId) {
    if (tree != undefined) {
        virtualTree.clearSelection();
        selectedTreeNodeId = nodeId;
        selectedTreeNodeText = tree.getItemText(nodeId);
        selectedTreeType = tree.id;
        
        //AjaxService.AjaxService.GetUserRights(showTreeUserId, nodeId, showTreePageId, onShowTreeNodeSelectSuccess, onShowTreeNodeSelectFailed);

        var varData = { userName: showTreeUserId, menuId: nodeId, currentPageId: showTreePageId };
        CallService("GET", "GetUserRights", varData, onShowTreeNodeSelectSuccess, onShowTreeNodeSelectFailed);
    }
}

function onVirtualShowTreeNodeSelect(nodeId) {
    if (virtualTree != undefined) {
        tree.clearSelection();
        selectedTreeNodeId = nodeId;
        selectedTreeNodeText = virtualTree.getItemText(nodeId);
        selectedTreeType = virtualTree.id;

        //AjaxService.AjaxService.GetVirtualUserRights(showTreeUserId, nodeId, showTreePageId, onShowTreeNodeSelectSuccess, onShowTreeNodeSelectFailed);

        var varData = { userName: showTreeUserId, menuId: nodeId, currentPageId: showTreePageId };
        CallService("GET", "GetUserRights", varData, onShowTreeNodeSelectSuccess, onShowTreeNodeSelectFailed);
    }
}
function onShowTreeNodeSelectSuccess(result) {
    if (result[0] == "true") {
        var editMenu = document.getElementById("Edit_Menu");
        if (editMenu != null)
            editMenu.style.display = "inline";

        var deleteMenu = document.getElementById("Delete_menu");
        if (deleteMenu != null)
            deleteMenu.style.display = "inline";

        var replaceMenu = document.getElementById("ReplaceCurrentPage");
        if (replaceMenu != null)
            replaceMenu.style.display = "inline";
    }
    else {
        var editMenu = document.getElementById("Edit_Menu");
        if (editMenu != null)
            editMenu.style.display = "none";

        var deleteMenu = document.getElementById("Delete_menu");
        if (deleteMenu != null)
            deleteMenu.style.display = "none";

        var replaceMenu = document.getElementById("ReplaceCurrentPage");
        if (replaceMenu != null)
            replaceMenu.style.display = "none";
    }
    if (result[1] == "true") {
        var addMenu = document.getElementById("Add_Menu");
        if (addMenu != null)
            addMenu.style.display = "inline";
    }
    else {
        var addMenu = document.getElementById("Add_Menu");
        if (addMenu != null)
            addMenu.style.display = "none";
    }
}
function onShowTreeNodeSelectFailed(result) { }
function onTreeNodeDrop(sourceNodeId, targetNodeId, successorSiblingId, sourceTreeObject, targetTreeObject) {
    var newParentChildNodes = tree.getSubItems(targetNodeId);
    if (sourceNodeId.indexOf("_") > -1)
        sourceNodeId = sourceNodeId.split("_")[0];

    //AjaxService.AjaxService.MenuNodeDragDrop(showTreeUserId, sourceNodeId, targetNodeId, successorSiblingId, newParentChildNodes,sourceTreeObject.id,targetTreeObject.id, onTreeNodeDropSuccess, onTreeNodeDropFailed);

    var varData = { userName: showTreeUserId, sourceNode: sourceNodeId, newParentId: targetNodeId, newSuccessorId: successorSiblingId,
        newParentChildNodes: newParentChildNodes, sourceTree: sourceTreeObject.id, targetTree: targetTreeObject.id
    };
    CallService("GET", "MenuNodeDragDrop", varData, onTreeNodeDropSuccess, onTreeNodeDropFailed);
}
function onTreeNodeDropSuccess(result) {
    if (result == "true") {
        var choice = confirm('The position of the menu item has been successfully updated. Do you want to refresh the Page?');
        if (choice) {
            var pageUrl = window.location.href;
            window.location.href = pageUrl;
        }
        tree = undefined;
        ShowMenuTree(showTreeUserId, showTreePageLanguage, showTreePageId);
    }
    else {
        alert('You are not authorized to do this change.');
        tree = undefined;
        ShowMenuTree(showTreeUserId, showTreePageLanguage, showTreePageId);
    }
}
function onTreeNodeDropFailed(result) {
    alert('Menu item position change failed');
}
function onShowTreeNodeMouseOut(nodeId) {
    if (showMenuHighlightData != null) {
        for (var i = 0; i < showMenuHighlightData.Rows.length; i++) {
            if (nodeId == showMenuHighlightData.Rows[i][0]) {
                var nodeText = tree.getItemText(showMenuHighlightData.Rows[i][1]);
                if (nodeText) {
                    tree.setItemColor(showMenuHighlightData.Rows[i][1], "black", "");
                }
                break;
            }
        }
    }
    if (tree != undefined) {
        var nodeText = tree.getItemText(nodeId);
        tree.setItemText(nodeId, nodeText, "");
    }
}

function onVirtualTreeNodeDrop(sourceNodeId, targetNodeId, successorSiblingId, sourceTreeObject, targetTreeObject) {
    var newParentChildNodes = virtualTree.getSubItems(targetNodeId);
    if (sourceNodeId.indexOf("_") > -1)
        sourceNodeId = sourceNodeId.split("_")[0];
    
    //AjaxService.AjaxService.VirtualMenuNodeDragDrop(showTreeUserId, sourceNodeId, targetNodeId, successorSiblingId, newParentChildNodes, sourceTreeObject.id,targetTreeObject.id, onVirtualTreeNodeDropSuccess, onTreeNodeDropFailed);

    var varData = { userName:showTreeUserId, sourceNode:sourceNodeId, newParentId:targetNodeId, newSuccessorId:successorSiblingId,
        newParentChildNodes: newParentChildNodes, sourceTree: sourceTreeObject.id, targetTree: targetTreeObject.id
    };
    CallService("GET", "VirtualMenuNodeDragDrop", varData, onVirtualTreeNodeDropSuccess, onTreeNodeDropFailed);
}
function onVirtualTreeNodeDropSuccess(result) {
    if (result == "true") {
        var choice = confirm('The position of the menu item has been successfully updated. Do you want to refresh the Page?');
        if (choice) {
            var pageUrl = window.location.href;
            window.location.href = pageUrl;
        }
        tree = undefined;
        ShowMenuTree(showTreeUserId, showTreePageLanguage, showTreePageId);
    }
    else {
        alert('You are not authorized to do this change.');
        virtualTree = undefined;
        tree = undefined;
        ShowMenuTree(showTreeUserId, showTreePageLanguage, showTreePageId);
    }
}
function showVirtualTreeToolTip(nodeId) {
    var pageName = virtualTree.getItemText(nodeId);
    if (pageName.toLowerCase() == "template page 1") {
        virtualTree.setItemText(nodeId, pageName, "Zone 1: 1000px and Catalog Zone: 250px");
    }
    if (pageName.toLowerCase() == "template page 2") {
        virtualTree.setItemText(nodeId, pageName, "Zone 1: 750px, Zone 2: 250px and Catalog Zone: 250px");
    }
    if (pageName.toLowerCase() == "template page 3") {
        virtualTree.setItemText(nodeId, pageName, "Zone 1: 500px, Zone 2: 500px, and Catalog Zone: 250px");
    }
    if (pageName.toLowerCase() == "template page 4") {
        virtualTree.setItemText(nodeId, pageName, "Zone 1: 250px, Zone 2: 500px, Zone 3: 250px and Catalog Zone: 250px");
    }
    if (pageName.toLowerCase() == "widgets pool page") {
        virtualTree.setItemText(nodeId, pageName, "Widgets Pool Page");
    }
}
function onShowTreeNodeMouseOver(nodeId) {
    var derivedNodeFound = false;
    if (showMenuHighlightData != null) {
        for (var i = 0; i < showMenuHighlightData.Rows.length; i++) {
            if (nodeId == showMenuHighlightData.Rows[i][0]) {
                var nodeText = tree.getItemText(showMenuHighlightData.Rows[i][1]);
                if (nodeText) {
                    tree.setItemColor(showMenuHighlightData.Rows[i][1], "blue", "");
                    derivedNodeFound = true;
                }
                else {
                    var nodeText = tree.getItemText(nodeId);
                    tree.setItemText(nodeId, nodeText, "Derived Page Not Present in Menu Tree");
                }
                break;
            }
        }
    }
    if (!derivedNodeFound) {
        if (tree != undefined) {
            var nodeText = tree.getItemText(nodeId);
            tree.setItemText(nodeId, nodeText, "No Derived Page");
        }
    }
}
function onShowTreeNodeNavigation(nodeId) {
    var pageId = tree.getUserData(nodeId, "pageId");
    if (pageId != undefined && pageId != "") {
        var langLong = showTreePageLanguage;
        ClickOnMenuNode(pageId, langLong);
    }
}
function onShowVirtualTreeNodeNavigation(nodeId) {
    if (nodeId == "1") {
        return;
    }
    var pageId = virtualTree.getUserData(nodeId, "pageId");
    if (pageId != undefined && pageId != "") {
        var langLong = showTreePageLanguage;
        ClickOnMenuNode(pageId, langLong);
    }
}
/***** Menu Tree Operations End *****/

function CloseAndConfirm(ModalId) {
    closingModalId = ModalId;
    //AjaxService.AjaxService.ConfirmMenuTreeClose(CloseAndConfirmSuccess, CloseAndConfirmFailed, ModalId);
    var sessionId = document.getElementById("SessionIdHF").value;
    var varData = { sessionId: sessionId };
    CallService("GET", "ConfirmMenuTreeClose", varData, CloseAndConfirmSuccess, CloseAndConfirmFailed);
}

function CloseAndConfirmSuccess(result) {
    if (result) {
        $find(closingModalId).hide();
        var loadingMod = $find("LoadingAniModal");
        if (loadingMod != null) {loadingMod.hide(); };
    }
    else {
        var choice = confirm("The Page is not added in Menu Tree. It will be deleted permanently. Do you wish to continue?");
        if (choice) {
            //AjaxService.AjaxService.DeleteUnaddedPage(globalPageId, DeleteUnaddedPageSuccess, DeleteUnaddedPageFailed);
            var sessionId = document.getElementById("SessionIdHF").value;
            var varData = { pageId: globalPageId, sessionId: sessionId };
            CallService("GET", "DeleteUnaddedPage", varData, DeleteUnaddedPageSuccess, DeleteUnaddedPageFailed);
        }
    }
}
function CloseAndConfirmFailed() {
    alert("Fail"); var loadingMod = $find("LoadingAniModal");
    if (loadingMod != null) { loadingMod.hide() };
}
function DeleteUnaddedPageSuccess(result) {
    window.location.href = result;
}
function DeleteUnaddedPageFailed() {
    alert("Delete Page Failed");
}
function CloseModal(ModalId) {
    $find(ModalId).hide();
    var loadingMod = $find("LoadingAniModal");
    if (loadingMod != null) {loadingMod.hide(); };
}
function ShowModal(ModalId) {
    $find(ModalId).show();
}
function CloseWidgetModal(ModalId) {
    $find(ModalId).hide();

    //Not used - Akshaya - Aug 11, 2011
    //AjaxService.AjaxService.ResetWidgetMoveSession();
}
function hideCloseDialog() {
    $find("CloseWidgetMp").hide();
}
function ShowLFNmodes() {
    var obj = document.getElementById("lfnlistmode");
    if (!lfnmodes) {
        lfnmodes = true;
        obj.style.display = '';
    }
    else {
        lfnmodes = false;
        obj.style.display = 'none';
    }
}
function showtooltip(tooltiptext) {
    if (tooltiptext == "#return#") {
        tooltiptext = "";
        return;
    }
    var evt = window.event;
    if (evt == undefined) {
        event = Event;
    }
    startX = parseInt(evt.clientX) + 25;
    startY = parseInt(evt.clientY);
    dragHelper = document.getElementById("dragDivEle");
    if (dragHelper == null)
        return;
    startX += document.documentElement.scrollLeft;
    startY += document.documentElement.scrollTop;
    var tooltip = "";
    tooltip = tooltiptext.toString();
    tooltip = tooltip.toString().replace("###", "'");
    tooltip = tooltip.toString().replace('##', '"');

    while (tooltip.toString().search("###") > 0) {
        tooltip = tooltip.toString().replace("###", "'");
    }

    while (tooltip.toString().search("##") > 0) {
        tooltip = tooltip.toString().replace('##', '"');
    }

    dragHelper.innerHTML = tooltip.toString();
    dragHelper.style.top = parseInt(startY) + 'px';
    dragHelper.style.left = parseInt(startX) + 'px';
    dragHelper.style.display = "block";
}

var timeOutVar = "";
function hideTooltipOnTimeOut(time) {
    timeOutVar = setTimeout("hidetooltip()", time);
}
function stopTimer() {
    clearTimeout(timeOutVar);
}
function hidetooltip() {
    dragHelper = document.getElementById("dragDivEle");
    if (dragHelper == null)
        return;
    dragHelper.style.display = "none";
}
function Normal_Click(docUrl, user, pwd) {
    OpenChild('normal', docUrl, user, pwd);
}
function Semantic_Click(docUrl, user, pwd) {
    OpenChild('semantic', docUrl, user, pwd);
}
//// Context Menu///
var ie5 = document.all && document.getElementById
var ns6 = document.getElementById && !document.all
var optionMenu = false;
function ShowPerzPanel(UserName) {
    var dx = document.getElementById("OptionPanel");
    var isVis = 0;
    if (dx.style.display == "none") {
        isVis = 1;
    }
    //AjaxService.AjaxService.ControlPanelView(UserName, isVis, globalAccessRole, ShowPerzPanelSuccess);
    var sessionId=document.getElementById("SessionIdHF").value;
    var varData = { userName: UserName, isVisible: isVis, accessRole: globalAccessRole,sessionId:sessionId };
    CallService("GET", "ControlPanelView", varData, ShowPerzPanelSuccess, null);
}
function ShowPerzPanelSuccess(result) {
    if (result) {
        document.getElementById("OptionPanel").style.display = "";
        document.getElementById("ControlPanelViewHF").value = true;
    }
    else {
        document.getElementById("OptionPanel").style.display = "none";
        document.getElementById("ControlPanelViewHF").value = false;
    }
}
/***ContextMenuEnd**/
function showLFN() {
    var xx = document.getElementById("imgPerZ1");
    if (xx != null) {
        document.getElementById("imgPerZ1").style.display = 'none';
        if (document.getElementById("imgPerZ") != null)
            document.getElementById("imgPerZ").style.display = '';
    }
}
function hideLFN() {
    var xx = document.getElementById("imgPerZ1");
    if (xx != null) {
        document.getElementById("imgPerZ1").style.display = '';
        if (document.getElementById("imgPerZ") != null)
            document.getElementById("imgPerZ").style.display = 'none';
    }
}
var WidgetID;
function ENCH_PICK() {
    $find("ModalPopupExtender").hide();
    $find("ENCH_MOD").show();
}
/**** Login Box *****/
function onLoginclick(lang, URL) {
  $find("LoginPanelModal").show();
    fnFocusLogin('USERID');
   //showIPopup("Login.aspx");
}
function fnFocusLogin(objId) {
    var obj = document.getElementById(objId);
    if (obj != null) {
        obj.focus();
    }
    else {
        obj = $find(objId);
        if (obj != null)
            obj.focus();
    }
}
function LoginUser() {
    $find("LoadingAniModal").show();
    var loginUserId = "";
    var loginUserPwd = "";
    var userIdObj = document.getElementById('USERID');
    if (userIdObj != null) {
        loginUserId = userIdObj.value;
        userIdObj.value = "";
    }
    var userPwdObj = document.getElementById('PASS');
    if (userPwdObj != null) {
        loginUserPwd = userPwdObj.value;
        userPwdObj.value = "";
    }
    var blankField = "User Name or Password cannot be left Empty";
    blankField = FindLabelforCode("Blank Details", blankField);
    var sessionId = document.getElementById("SessionIdHF").value;
    if (loginUserId == "" || loginUserPwd == "") {
        alert(blankField);
    }
    else {
        //AjaxService.AjaxService.LoginUser(loginUserId, loginUserPwd, LoginUserSuccess, LoginUserFailed);

        var varData = { userName: loginUserId, password: loginUserPwd, sessionId: sessionId }; 
        CallService("GET", "LoginUser", varData, LoginUserSuccess, LoginUserFailed);
    }
}

function LoginUserSuccess(data, textStatus, jqXHR) {  
    $find("LoadingAniModal").hide();
   
    var invalidCode;
    if (data == "invalid") {
        invalidCode = "Invalid user name or password";
        alert(invalidCode); //alert('Invalid user name or password.');
    }
    else if (data == "already logged") {
        alert('User already logged in. Please try again after some time!');
    }
    else if (data == "") {
        alert('User Login failed.');
    }
    else {
        data = window.location.href;
        if (Sys.Browser.agent == Sys.Browser.InternetExplorer)
            window.location.reload(true);
        else
            window.location.reload(true);
    }
}
function LoginUserFailed(jqXHR, textStatus, errorThrown) {
    $find("LoadingAniModal").hide();
    alert('User Login failed.');
}
function LogOutUser() {
  var sessionId = document.getElementById("SessionIdHF").value;
    var varData = {sessionId:sessionId };
    CallService("GET", "LogOut_User", varData, LogOutUserSuccess, LogOutUserFailed);
    //AjaxService.AjaxService.LogOut_User(LogOutUserSuccess, LogOutUserFailed);
  }
  function LogOutUserSuccess(data, textStatus, jqXHR) {
    if (data == "")
        alert('Logout failed');
    else if (data == "logged out") {
        window.location.reload(true);
    }
    else
        window.location.reload(true);
}
function LogOutUserFailed(result) {
    alert('Logout failed');
}
/*************methods added to convert buttonclick call to ajax call for maintaining sessions***********/
//function ModifyButtonClick(clientId) {
//    AjaxService.AjaxService.ModifyButtonClick(PersonalizationSucceed, fail, clientId);
//}
function PersonalizationSucceed(result, clientId) {
    __doPostBack();
}
function PersonalisePageClick() {
  var sessionId=document.getElementById("SessionIdHF").value;
    var varData = { userName: globalUserName, pageId: globalPageId,language:globalLanguage,sessionId:sessionId };
    CallService("GET", "PersonalisePageClick", varData, PersonalisePageSuccess, fail);

   // AjaxService.AjaxService.PersonalisePageClick(globalUserName,globalPageId,PersonalisePageSuccess, fail);
}
function PersonalisePageSuccess(data, textStatus, jqXHR) {
    var result = data;
    if (result == "unauthorised")
    { alert("You are not authorised to transclude from the template Page"); return; }
    if (result == "Secret")
    { alert('The page has been declared as Secret and cant be transcluded!'); return; }
    if (result == "false")
    { alert('Page Personalization failed.'); return; }
    if (result == "notemplate")
    { alert("Template page doesn't exist for this page"); return; }
    if (result != "true")
        window.location.href = result;
}
function PersonaliseFromTemplatePageClick(pageId) {
    var currentTemplatePage = "";
    if (pageId != undefined)
        currentTemplatePage = pageId;
    var sessionId = document.getElementById("SessionIdHF").value;
    var varData = { templatePageId: currentTemplatePage, pageId: globalPageId, userName: globalUserName, language: globalLanguage,sessionId:sessionId };
    CallService("GET", "PersonaliseFromTemplatePageClick", varData, PersonalisePageSuccess, fail);
   // AjaxService.AjaxService.PersonaliseFromTemplatePageClick(currentTemplatePage,globalPageId,globalUserName,globalLanguage, PersonalisePageSuccess, fail);
}
function PersonaliseFromOtherTemplatePageClick() {
    var varData = { userName: globalUserName, pageLanguage: globalLanguage, pageId: globalPageId };
    CallService("GET", "GetVirtualMenuTree", varData, PersonaliseFromOtherTemplatePageClickSuccess, fail);
    //AjaxService.AjaxService.GetVirtualMenuTree(globalUserName, globalLanguage, globalPageId, PersonaliseFromOtherTemplatePageClickSuccess, fail);
}
var TemplateTree;
function PersonaliseFromOtherTemplatePageClickSuccess(data, textStatus, jqXHR) {
    var result = data;
    $find("SearchResultModalPopup").show();
    document.getElementById("SearchResult").innerHTML = " Derive from another template";
    var virtualtreeHolder = document.getElementById("DivSearchResultContainer");
    if (virtualtreeHolder != null) {
        virtualtreeHolder.innerHTML = "";
    }
    TemplateTree = new dhtmlXTreeObject("DivSearchResultContainer", "200px", "100%", 0);
    TemplateTree.setSkin('dhx_skyblue');
    TemplateTree.setImagePath("/Scripts/dhtmlXComps/dhtmlxTree/imgs/csh_bluebooks/");
    TemplateTree.attachEvent("onclick", DeriveFromThisPage);
    TemplateTree.enableKeyboardNavigation(true);
    TemplateTree.enableSmartXMLParsing(true);
    TemplateTree.preventIECaching("enable");
    TemplateTree.enableTreeImages(false);
    TemplateTree.openItem(result[1]);
    TemplateTree.loadXMLString(result[0]);
}
function DeriveFromThisPage(nodeId) {
    if (nodeId != "1") {
        var choice = confirm("This will derive a page from this template. Do you want to continue?");
        if (choice) {
            var pageId = TemplateTree.getUserData(nodeId, "pageId");
            PersonaliseFromTemplatePageClick(pageId)
        }
        else {
            $find("SearchResultModalPopup").hide();
        }
    }
}
/****Menu Methods****/
var parentRemoveFlag = false;
var UID;
var PageID;
var lang;
var check = true;
var isEdit;
var predPage;
var gridWidgetID
function closePGWizz() {
    $find("pg_Wizard").hide();
}
function showLoading() {
    $find("LoadingAniModal").show();
}
function hideLoading() {
    $find("LoadingAniModal").hide();
}
/****Parameter.Js**/
var _ElementalIDs;
var _WidgetID;
var _PageLanguage;
var _Source;
var Params;
function ShowManageUsers() {
    window.showModalDialog("ManageUser.aspx", "dialogHeight: 400px; dialogWidth: 800px; dialogTop: 250px; dialogLeft: 250px; resizable:Yes; edge: Raised; center: Yes; help: No; scroll: Yes; status: Yes;");
}
/****** Parameters task **********/
//function ChangeWidgetDelta(user_Id, widget_Id, page_Id, itemId, changeType) {
//    AjaxService.AjaxService.SetPropertyDelta(user_Id, widget_Id, page_Id, itemId, changeType, "French", SetPropertyDeltaSuccess, SetPropertyDeltaFailed);
//}
function SetPropertyDeltaSuccess(result) {
    if (result == "created")
        alert('The Delta has been successfully created. Please refresh the page to see the changes.');
    if (result == "deleted")
        alert('The Delta has been successfully deleted. Please refresh the page to see the changes.');
    if (result == "erased")
        alert('This list item has been successfully deleted. Please refresh the page to see the changes.');
    if (result == "true")
        alert('The Delta operation completed successfully. Please refresh the page to see the changes.');
    if (result == "false")
        alert('The Delta operation failed.');
}
function SetPropertyDeltaFailed(result) {
    alert('The Delta operation failed.');
}
function Export2Excel() {
   // AjaxService.AjaxService.ExporttoExcel(pencilEditorWidgetId, globalSerializedWidgetId, ExportSuccess, ExportFailed);
}
function ExportSuccess(result) {
    window.location.reload(true);
}
function ExportFailed() {
    alert("Export to Excel failed");
}
function SaveSuccess() {
}

function ShowAssignMenuAdding() {
    $find("LoadingAniModal").show();
    var varData = {  currentPageId:globalPageId, userName:globalUserName, userPwd :globalUserPwd};
    CallService("GET", "FillGroupList", varData, ShowAssignMenuSuccess, AssignFailed);
    //AjaxService.AjaxService.FillGroupList(globalPageId, globalUserName, globalUserPwd, ShowAssignMenuSuccess, AssignFailed);
}
function ShowAssignMenuSuccess(data, textStatus, jqXHR) {
    if (data == null)
        return;
    var userGroupList = document.getElementById("UserGroupList1");
    if (userGroupList != null) {
        userGroupList.length = 0;
        for (var i = 0; i < data.length; i++) {
            var newOption = document.createElement("OPTION");
            newOption.value = data[i].split("#%#")[0];
            newOption.text = data[i].split("#%#")[0];
            userGroupList.options.add(newOption);
        }
    }
    var varData = { pageId: globalPageId };
    CallService("GET", "GetMenuAuthenticationList", varData, GetMenuAuthenticationListSuccess, GetMenuAuthenticationListFailed);
  //  AjaxService.AjaxService.GetMenuAuthenticationList(globalPageId,GetMenuAuthenticationListSuccess, GetMenuAuthenticationListFailed);
}
function GetMenuAuthenticationListSuccess(data, textStatus, jqXHR) {
    var result = data;
    if (result == null)
        return;
    var tableDiv = document.getElementById("MenuAuthorisationsDiv");
    var tableString = "<table id='MenuAuthTable'>";
    for (var i = 0; i < result.length; i++) {
        tableString += "<tr id='MenuAuth_Row" + i + "'><td>" + result[i] + "</td><td width='10px'></td><td><a href='#' alt='Remove authorisation' style='cursor:hand;' onclick=RemoveMenuAuth('" + result[i].replace(/ /g, "&&&") + "','" + i + "')>Remove</a></td></tr>";
    }
    tableString += "</table>";
    tableDiv.innerHTML = tableString;
    $find("LoadingAniModal").hide();
    $find('MenuAddModal').show();
}
function GetMenuAuthenticationListFailed() {
    var tableDiv = document.getElementById("MenuAuthorisationsDiv");
    if (tableDiv != null) {
        tableDiv.innerHTML = "Failed to retrieve previous authorisations";
    }
}
var thisRowIndex;
function RemoveMenuAuth(userGroupName, rowIndex) {
    userGroupName = userGroupName.replace(/&&&/g, " ");
    var varData = { userGroupName: userGroupName, pageId: globalPageId };
    CallService("GET", "RemoveUserGroupMenuAddingAuthorisation", varData, RemoveMenuAuthSuccess, null);
    thisRowIndex = rowIndex;
   // AjaxService.AjaxService.RemoveUserGroupMenuAddingAuthorisation(userGroupName,globalPageId, RemoveMenuAuthSuccess, null, rowIndex);
}
function RemoveMenuAuthSuccess(data, textStatus, jqXHR) {
    var tableRow = document.getElementById("MenuAuth_Row" + thisRowIndex);
    if (tableRow != null) {
        tableRow.style.display = "none";
    }
}
function AssignMenuAuth() {
    var userName = document.getElementById("UserGroupList1").value;
    var varData = { pageId: globalPageId, userName: userName };
    CallService("GET", "AssignMenuAuthorization", varData, AssignSuccess, AssignFailed);
   // AjaxService.AjaxService.AssignMenuAuthorization(globalPageId, userName, AssignSuccess, AssignFailed);
}
function AssignSuccess(data, textStatus, jqXHR) {
    var result = data;
    if (result == true) {
        var varData = { pageId: globalPageId };
        CallService("GET", "GetMenuAuthenticationList", varData, GetMenuAuthenticationListSuccess, GetMenuAuthenticationListFailed);
        //AjaxService.AjaxService.GetMenuAuthenticationList(globalPageId,GetMenuAuthenticationListSuccess, GetMenuAuthenticationListFailed);
    }
    else
        alert("Authorization adding failed");
}
function AssignFailed(result) {
    alert("Authorization adding failed");
    $find('MenuAddModal').hide();
}
function ExporttoExcel(widgetId) {
    AjaxService.AjaxService.ExporttoExcel(widgetId, ExportSuccess, ExportFailed);
}
function GetLabelsValue() {
    SetSessions();
    startupMethods();
}
function FindLabelforCode(code, labelVariable) {
    return labelVariable;
    var newValue = "";
    if (LabelsLookupTable != undefined || LabelsLookupTable != null) {
        for (var i = 0; i < LabelsLookupTable.Rows.length; i++) {
            if (LabelsLookupTable.Rows[i][0].toString().toLowerCase() == code.toString().toLowerCase()) {
                newValue = LabelsLookupTable.Rows[i][1];
                break;
            }
        }
        if (newValue != "")
            return newValue;
    }
    return labelVariable;
}
function uploadUISucess(result, widgetId) {
    if (result != null) {
        var columnRow = result[0];
        if (columnRow.toString().toLowerCase().indexOf("__&&__") > -1) {
            $find('UploadVaultModal').hide();
            var colNameString = columnRow.split("__&&__")[0].split("%^%");
            var documentId = columnRow.split("__&&__")[1];
            var shptListUrl = columnRow.split("__&&__")[2];
            var fileName = columnRow.split("__&&__")[3];
            var pageLanguage = columnRow.split("__&&__")[4];
            CreateDocumentPropertiesPopup(documentId, colNameString, widgetId, shptListUrl, fileName, result, pageLanguage);
        }
    }
    else {
        $find('UploadVaultModal').hide();
        alert("Upload Document Failed");
    }
}
function uploadUIFail() {
    $find('UploadVaultModal').hide();
    alert("Upload UI Fail");
}
function reloadPage() {
    window.location.reload(true);
}
function FindPageLabel() {
    var varData = { currentPageId: globalPageId};
    CallService("GET", "GetCurrentPageLabel", varData, successFindPageLabel, failFindPageLabel);
    //AjaxService.AjaxService.GetCurrentPageLabel(globalPageId,successFindPageLabel, failFindPageLabel);
}
function successFindPageLabel(data, textStatus, jqXHR) {
    var pageLabelTextBox = document.getElementById("PageLabelTB");
    if (pageLabelTextBox != null) {
        pageLabelTextBox.value = data;
    }
    $find("PagePropShow").show();
}
function failFindPageLabel() {
    $find("PagePropShow").show();
}
function SetMirrorType() {
    var mirrorButtonText = document.getElementById("MirrorButton").value;
    var mirror = true;
    if (mirrorButtonText.toLowerCase() != "mirror")
        mirror = false;
    AjaxService.AjaxService.ToggleMirror(pencilEditorWidgetId, mirror, SetMirrorTypeSuccess, SetMirrorTypeFailed, pencilEditorWidgetId + "@" + mirror);
}
function SetMirrorTypeSuccess(result, mirroredData) {
    if (result) {
        var pencilEditorId = mirroredData.split("@")[0];
        var isMirrored = mirroredData.split("@")[1];
        var mirrorText = isMirrored ? "Mirror" : "Unmirror";
        alert("The " + mirrorText + " completed successfully");
        showPencilEditor(pencilEditorId);
    }
    else {
        alert("The process failed");
    }
}
function SetMirrorTypeFailed() {
    alert("The process failed");
}
function SetCloneType() {
    AjaxService.AjaxService.Clone(pencilEditorWidgetId, SetCloneTypeSuccess, SetCloneTypeFailed);
}
function SetCloneTypeSuccess(result) {
    alert("The clone completed successfully");
    showPencilEditor(pencilEditorWidgetId);
}
function SetCloneTypeFailed() {
    alert("The process failed");
}
function SetSecretType() {
    var secretButtonText = document.getElementById("SecretButton").value;
    var secret = true;
    if (secretButtonText.toLowerCase() != "secret")
        secret = false;
    AjaxService.AjaxService.ToggleSecrecy(pencilEditorWidgetId, secret, SetSecretTypeSuccess, SetSecretTypeFailed, pencilEditorWidgetId + "@" + secret);
}
function SetSecretTypeSuccess(result, secretData) {
    if (result) {
        var pencilEditorId = secretData.split("@")[0];
        var isSecret = secretData.split("@")[1];
        var secretText = isSecret ? "Secret" : "UnSecret";
        alert("The " + secretText + " completed successfully");
        showPencilEditor(pencilEditorWidgetId);
    }
    else {
        alert("The process failed");
    }
}
function SetSecretTypeFailed() {
    alert("The process failed");
}
function ShowRecycleBin() {
    var varData = { currentUser: globalUserName };
    CallService("GET", "GetItemsOfRecycleBin", varData, ShowRecycleBinSuccess, null);

    //AjaxService.AjaxService.GetItemsOfRecycleBin(globalUserName,ShowRecycleBinSuccess);
}
function ShowRecycleBinSuccess(data, textStatus, jqXHR) {
    var result = data;
    var binItemsHtml = "<table><tr>";
    var counter = 0;
    for (var i = 0; i < result.length; i++) {
        var pageId = result[i].split("#%#")[0];
        var deletedTime = result[i].split("#%#")[1];
        var pageLbl = result[i].split("#%#")[2];
        if (counter % 4 != 0 || counter == 0)
            binItemsHtml += "<td>" + createHtml(pageId, pageLbl, deletedTime) + "</td>";
        else {
            binItemsHtml += "</tr><tr>";
            binItemsHtml += "<td>" + createHtml(pageId, pageLbl, deletedTime) + "</td>";
        }
        counter++;
    }
    binItemsHtml += "</tr></table>";
    var binArea = document.getElementById("BinItemArea");
    binArea.innerHTML = binItemsHtml;
    $find("RecycleBinModal").show();
    $find("CreateMenuModal").hide();

}
function createHtml(pageId, pageLabel, deleted) {
    var htm = "<table width='100%'><tr><td><img src='/images/page2.jpg'/></td><td>";
    if (pageLabel == "")
        htm += "<table><tr><td width='100%'>PageId:" + pageId + "</td></tr>";
    if (pageLabel != "")
        htm += "<table><tr><td width='100%'>PageLabel: " + pageLabel + "</td></tr>";
    htm += "<tr><td width='100%'>Deleted: " + deleted + "</td></tr></table></td></tr></table>";
    return htm;
}
function showAttributePencilEditor() {
    if (document.getElementById("columnAttribute").value == "Column Attribute")
        AjaxService.AjaxService.GetColumnAttributeGrid(pencilEditorWidgetId, ShowAttributeGridSuccess, ShowGridFailed, "column");
    else {
        document.getElementById("columnAttribute").value = "Column Attribute";
        document.getElementById("rowAttribute").value = "Row Attribute";
        showPencilEditor(pencilEditorWidgetId);
    }
}
function ShowAttributeGridSuccess(result, type) {
    attributeGridLoad = true;
    if (type == "column") {
        if (document.getElementById("columnAttribute").value == "Column Attribute")
            document.getElementById("columnAttribute").value = "Back to Grid";
        else
            document.getElementById("columnAttribute").value = "Column Attribute";
    }
    if (type == "row") {
        if (document.getElementById("rowAttribute").value == "Row Attribute")
            document.getElementById("rowAttribute").value = "Back to Grid";
        else
            document.getElementById("rowAttribute").value = "Row Attribute";

    }
    if (type == "object") {
        document.getElementById("objectAttribute").value = "Back to Grid";
    }
    document.getElementById("GridHolder").innerHTML = "";
    mygrid = new dhtmlXGridObject("GridHolder");
    mygrid.setImagePath("/Scripts/dhtmlXComps/dhtmlxGrid/imgs/");
    mygrid.setSkin("light");
    mygrid.enableColumnMove(false);
    mygrid.enableDragAndDrop(false);
    mygrid.attachEvent("onDrop", onRowDrop);
    mygrid.attachEvent("onAfterCMove", onColumnDrop);
    mygrid.attachEvent("onRowDblClicked", onRowDblClicked);
    mygrid.xml.row_attrs.length = 0;
    mygrid.xml.row_attrs.push("contId");
    mygrid.xml.cell_attrs.length = 0;
    mygrid.xml.cell_attrs.push("contId");
    mygrid.xml.cell_attrs.push("isFileType");
    mygrid.xml.cell_attrs.push("readOnlyAttribute");
    mygrid.enableCellIds(true);
    mygrid.init();
    if (result != "") {
        mygrid.enablePaging(true, 100, 10, "PagingArea", true, "GridHolder");
        mygrid.setPagingSkin("bricks");
        mygrid.parse(result);
    }
    else {
        //delete all rows from the grid, clear header
        mygrid.clearAll(true);
        document.getElementById('PagingArea').innerHTML = "";
    }
    document.getElementById('gridDiv').style.display = "inline";
}
function showRowAttributePencilEditor() {
    if (document.getElementById("rowAttribute").value == "Row Attribute") {
        if (mygrid.getSelectedId() == null) {
            alert("Select a Row to see attributes");
            return;
        }
        if (attributeGridLoad) {
            alert("Select a Property Row to see attributes");
            return;
        }
    }
    if (document.getElementById("rowAttribute").value == "Row Attribute")
        AjaxService.AjaxService.GetSelectedRowAttribute(pencilEditorWidgetId, parseInt(mygrid.getSelectedId()), ShowAttributeGridSuccess, null, "row");
    else {
        document.getElementById("columnAttribute").value = "Column Attribute";
        document.getElementById("rowAttribute").value = "Row Attribute";
        showPencilEditor(pencilEditorWidgetId);
    }
}
function showObjectAttribute() {
    if (document.getElementById("objectAttribute").value == "Object Attribute") {
        AjaxService.AjaxService.GetSelectedObjectAttribute(pencilEditorWidgetId, ShowAttributeGridSuccess, null, "object");
    }
    else {
        document.getElementById("columnAttribute").value = "Column Attribute";
        document.getElementById("rowAttribute").value = "Row Attribute";
        document.getElementById("objectAttribute").value = "Object Attribute";
        showPencilEditor(pencilEditorWidgetId);
    }
}
var custModeDetails;
function CustomizeButtonCLick(clientId, userName, pageLanguage, pageId, accessRoleForPage, currentPageTitle) {
    var customize = false;
    while (currentPageTitle.indexOf("^^^^") > -1) {
        currentPageTitle = currentPageTitle.replace("^^^^", "'");
    }
    if (document.getElementById("customLI") != null) {
        if (document.getElementById("customLI").innerHTML.indexOf(">Customize<") > -1)
            customize = true;
    }
    var sessionId = document.getElementById("SessionIdHF").value;
    var varData = { isCustomizeMode: customize, pageId: pageId, sessionId: sessionId };
    CallService("GET", "SetCustomizeMode", varData, SetCustomizeModeSuccess, onGetResultsFailed);
    custModeDetails= userName + "#@#" + pageLanguage + "#@#" + pageId + "#@#" + accessRoleForPage + "#@#" + currentPageTitle;
    //AjaxService.AjaxService.SetCustomizeMode(customize,pageId, SetCustomizeModeSuccess, null);
}
function SetCustomizeModeSuccess(data, textStatus, jqXHR) {
    if (data) {
        var width = document.documentElement.clientWidth;
        var ht = document.documentElement.clientHeight;
        var placeHolder = document.getElementById("PlaceHolder1");
        var obj = document.getElementById("trans");
        var customizeButton = document.getElementById("customLI");
        if (customizeButton != null) {
            customizeButton.innerHTML = customizeButton.innerHTML.replace(">Customize<", ">Normal<");
        }
        if (textStatus.indexOf("#@#") > -1) {
            custModeDetails = textStatus;
        }
        if (custModeDetails == undefined) {
            obj.innerHTML = "Error in Loading Customize Mode.Please try again later";
            return;
        }
        if (obj != null) {
            var belowLayer = document.getElementById("transLayer");
            if (belowLayer != null) {
                if (navigator.userAgent.toLowerCase().indexOf('chrome')>-1) {
                    belowLayer.style.height = (placeHolder.clientHeight) + "px";
                }
                else {
                    belowLayer.style.height = (placeHolder.clientHeight) + "px";
                }
                belowLayer.style.display = "inline";
            }
            obj.style.display = "inline";
            obj.innerHTML = GetTransclucentLayer(custModeDetails, placeHolder.clientHeight);
        }
    }
    else {
        var customizeButton = document.getElementById("customLI");
        if (customizeButton != null) {
            customizeButton.innerHTML = customizeButton.innerHTML.replace(">Normal<", ">Customize<");
        }
        var thisPageId = custModeDetails.split("#@#")[2];
        var sessionId = document.getElementById("SessionIdHF").value;
        var varData = { isCustomizeMode: false, pageId: thisPageId, sessionId: sessionId };
        CallService("GET", "SetCustomizeMode", varData, ResetCustomizeMode, null);
       // AjaxService.AjaxService.SetCustomizeMode(false,thisPageId, ResetCustomizeMode);
    }
}
function ResetCustomizeMode() {
    document.getElementById("trans").style.display = "none";
    document.getElementById("transLayer").style.display = "none";
    var pageUrl = window.location.href;
    window.location.href = pageUrl.replace("#", "");
}
function GetTransclucentLayer(userDetails,zoneHeight) {
    return Silverlight.createObject(
                "/ClientBin/WCFTranslucentCustomize.xap",  // source
               null,  // parent element
                "slPlugin",  // id for generated object element
                {
                width: "100%", height: "100%", background: "transparent", windowless: "true",
                version: "4.0.50401.0"
            }, { onError: onCustomError, onLoad: onCustomLoad },
              "userData=" + userDetails+",zoneHeight="+zoneHeight,
            "context"    // context helper for onLoad handler.
            );
}
function onCustomError() {
    window.status += " Error in loading window";
}
function onCustomLoad() {
    window.status += "";
}
function FindIfModifyAlreadyAdded(ListItem) {
    if (ListItem != null) {
        var chldren = ListItem.children;
        for (var i = 0; i < chldren.length; i++) {
            if (chldren[i].innerText == "Modify")
                return true;
        }
        return false;
    }
    return false;
}
var LastExecutor;
function showWidgetHtmlInPopup(widgetId, pageId) {
        AjaxService.AjaxService.GetWidgetHtmlAsync(widgetId, pageId, '', '', sucGetHTML, failGetHtml);
}
function failGetHtml(result) {
    if (result.indexOf("<table") > -1) {
        var widgetPanel = document.getElementById("widgetHtmlDiv");
        if (widgetPanel != null) {
            widgetPanel.innerHTML = result;
            widgetPanel.style.display = "";
            document.getElementById("widgetHtmlDivHolder").style.display = "";
        }
    }
}
function sucGetHTML(result) {
    var widgetPanel = document.getElementById("widgetHtmlDiv");
    if (widgetPanel != null) {
        widgetPanel.innerHTML = result;
        widgetPanel.style.display = "";
        document.getElementById("widgetHtmlDivHolder").style.display = "";
    }
}
function closeWidgetHtmlPopup() {
    document.getElementById("widgetHtmlDivHolder").style.display = "none";
    document.getElementById("widgetHtmlDiv").innerHTML = "<img alt='Loading' src='/images/loading2.gif' />";
}
function showWidgetHtmlPopup() {
    document.getElementById("widgetHtmlDivHolder").style.display = "";
}
function ObjectsStructureClick(userName, PageLanguage, PageId, userRoleForPage) {
    var currentUrl = window.location.href.replace("#", "");
    var headerPart = currentUrl.split("://")[0];
    var bodyPart = currentUrl.split("://")[1].split("/")[0];
    var newUrl = headerPart + "://" + bodyPart + "/" + "Create.aspx?PageId=" + PageId + "&Language=" + PageLanguage + "";
    window.location.href = newUrl;
}
function ViewReplacedPage() {
  var varData = { PageId: globalPageId, language: globalLanguage }; 
        CallService("GET", "ViewReplacedPage", varData, ViewReplacedPageSuccess, ViewReplacedPageFail);
    //AjaxService.AjaxService.ViewReplacedPage(globalPageId,globalLanguage,ViewReplacedPageSuccess, ViewReplacedPageFail);
}
function ViewReplacedPageSuccess(data, textStatus, jqXHR) {
    if (data != null) {
        window.location.href = data;
    }
}
function ViewReplacedPageFail(result) {   
}
function DeleteReplacementPage() {
     var choice = confirm("Are you sure you want to delete the replacement page of this page?");
    if (choice) {
        var varData = { PageId: globalPageId, UserName: globalUserName };
        CallService("GET", "DeleteReplacementPage", varData, DeleteReplacementPageSuccess, ViewReplacedPageFail);
        AjaxService.AjaxService.DeleteReplacementPage(globalPageId,globalUserName,DeleteReplacementPageSuccess, ViewReplacedPageFail);
    }
}
function DeleteReplacementPageSuccess(data, textStatus, jqXHR) {
    if (data) {
        alert("The replacement page successfully deleted");
    }
}
function DocumentSearch(widgetId) {
    var txtObj = document.getElementById('txtSearch' + widgetId);
    if (txtObj != null) {
        if (txtObj.value == "")
            return;
        $find("LoadingAniModal").show();
        var keyWord = txtObj.value;
        AjaxService.AjaxService.GetDocumentSearch(keyWord, widgetId, ShowResultOnSuccess, ShowResultOnFailed);
    }
}
function ShowResultOnSuccess(result) {
    if (result != null) {
        var divObj = document.getElementById("DivSearchResultContainer");
        divObj.innerHTML = result;
        $find("LoadingAniModal").hide();
        $find("SearchResultModalPopup").show();
    }
}
function ShowResultOnFailed(error) {
    $find("LoadingAniModal").hide();
    alert("error-->" + error);
}
function SearchOnPage(txtId) {
    var txtObj = document.getElementById(txtId);
    if (txtObj.value == "")
        return;
    $find("LoadingAniModal").show();
    if (txtObj != null) {
        var keyWord = txtObj.value;
        AjaxService.AjaxService.GetPageSearch(keyWord,globalPageId,globalLanguage,globalUserName,ShowPageResultOnSuccess, ShowPageResultOnFailed);
    }
}
function ShowPageResultOnSuccess(result) {
    if (result != null) {
        var divObj = document.getElementById("DivSearchResultContainer");
        divObj.innerHTML = result;
        $find("LoadingAniModal").hide();
        $find("SearchResultModalPopup").show();
    }
}
function ShowPageResultOnFailed(error) {
    $find("LoadingAniModal").hide();
    alert("error-->" + error);
}
function RedirectToPage(pageId) {
    var pageUrl = window.location.href;
    var headerPart = pageUrl.split("://")[0];
    var bodyPartArray = pageUrl.split("://")[1].split("/");
    var currLanguage = "";
    currLanguage = bodyPartArray[2];
    ClickOnMenuNode(pageId, currLanguage);
}
function EditWidgetLinkArea(theDiv, widgetId) {
    var linkHtml = "<table><tr><td>";
    linkHtml += "Link Value:<input type='text' id='linkText'" + widgetId + "></td></tr>";
    linkHtml += "Link Location:<input type='text' id='linkLocation'" + widgetId + "></td></tr>";
    linkHtml += "</table>";
    theDiv.innerHTML = linkHtml;
}
function ClickOnMenuNode(pageId, language) {
    var pageUrl = window.location.href;
    var headerPart = pageUrl.split("://")[0];
    var bodyPart = pageUrl.split("://")[1].split("/")[0];
    var baseUrl = headerPart + "://" + bodyPart;
    var newUrl = baseUrl + "/" + pageId + "/" + language;
    window.location.href = newUrl;
}
function ShowOriginalPage(pageId, language) {
    var pageUrl = window.location.href;
    var headerPart = pageUrl.split("://")[0];
    var bodyPart = pageUrl.split("://")[1].split("/")[0];
    var baseUrl = headerPart + "://" + bodyPart;
    var newUrl = baseUrl + "/" + pageId + "/" + language + "/true";
    window.location.href = newUrl;
}
function ShowLabelPages(pageLabel, language) {
    var pageUrl = window.location.href;
    var headerPart = pageUrl.split("://")[0];
    var bodyPart = pageUrl.split("://")[1].split("/")[0];
    var baseUrl = headerPart + "://" + bodyPart;
    var newUrl = baseUrl + "/" + pageLabel + "/" + language + "/true";
    window.location.href = newUrl;
}
function ChangeLanguage(newLanguage, currLanguage) {
    var pageUrl = window.location.href;
    var headerPart = pageUrl.split("://")[0];
    var bodyPartArray = pageUrl.split("://")[1].split("/");
    for (var i = 0; i < bodyPartArray.length; i++) {
        if (bodyPartArray[i].toLowerCase() == currLanguage.toLowerCase()) {
            bodyPartArray[i] = newLanguage;
            break;
        }
    }
    var newUrl = headerPart + "://";
    for (var i = 0; i < bodyPartArray.length; i++) {
        newUrl += bodyPartArray[i] + "/";
    }
    window.location.href = newUrl.substring(0, newUrl.length - 1);
}
function CVPageClick(utilisateur, language) {
    var pageUrl = window.location.href;
    var headerPart = pageUrl.split("://")[0];
    var bodyPart = pageUrl.split("://")[1].split("/")[0];
    var baseUrl = headerPart + "://" + bodyPart;
    var newUrl = baseUrl + "/Detailed_CV/" + language + "/" + utilisateur;
    window.open(newUrl,"_blank");
}
function ReplaceHomePage() {
    $find("LoadingAniModal").show();

    //AjaxService.AjaxService.MyPageList(GetPageListForHomePageSuccess, GetPageListForHomePageFail);
    
    var varData = { userName: globalUserName };
    CallService("GET", "MyPageList", varData, GetPageListForHomePageSuccess, GetPageListForHomePageFail);
}
function GetPageListForHomePageFail() { }
function GetPageListForHomePageSuccess(data, textStatus, jqXHR) {
    var result = data;
    var dropDown = document.getElementById('NewHomePage');
    if (dropDown != null) {
        dropDown.length = 0;
        var blankOption = document.createElement("OPTION");
        blankOption.value = "None";
        blankOption.text = "None";
        dropDown.options.add(blankOption);
        for (var i = 0; i < result.length; i++) {
            var newOption = document.createElement("OPTION");
            newOption.value = result[i];
            newOption.text = result[i];
            dropDown.options.add(newOption);
        }
    }
    $find("LoadingAniModal").hide();
    $find("ChangeHomePageModal").show();
}
function ChangeHomePage() {
    var choice = confirm("This will replace the current Home Page. Are you sure you want to proceed?");
    if (choice) {
        var newHomePage = document.getElementById("NewHomePage").value;
        
        //AjaxService.AjaxService.ReplaceHomePage(newHomePage, ReplaceHomePageSuccess, ReplaceHomePageFailed);

        var varData = { newHomePage: newHomePage };
        CallService("GET", "ReplaceHomePage", varData, ReplaceHomePageSuccess, ReplaceHomePageFailed);
    }
}
function ReplaceHomePageSuccess() { alert("Home Page Replaced Successfully."); }
function ReplaceHomePageFailed() { alert("Home Page Replace Failed."); }
function ShrinkCustomizeMode() {
    var translucentPanel = document.getElementById("trans");
    if (translucentPanel != null) {
        previousCustomizeWidth = translucentPanel.style.width;
        translucentPanel.style.width = "1000px";
    }
}
function ExpandCustomizeMode() {
    var translucentPanel = document.getElementById("trans");
    if (translucentPanel != null) {
        translucentPanel.style.width = previousCustomizeWidth;
    }
}
function ShowDeriveOptions() {
    document.getElementById("DerivePageSubOptions").style.display = "";
}
function HideDeriveOptions() {
    document.getElementById("DerivePageSubOptions").style.display = "none";
}
function SelectWidgetRows(widgetId, listContainerId,pageId) {
    var slArea = document.getElementById("WidgetSelectionSilverlightArea");
    if (slArea != null) {
        slArea.innerHTML = GetRowSelectionInterface(widgetId.replace(/,/g, "@@@") + "#@#" + listContainerId.replace(/,/g, "@@@") + "#@#" + pageId.replace(/,/g, "@@@"));
    }
    $find("WidgetRowSelectionModal").show();
}
function GetRowSelectionInterface(widgetDetails) {
    return Silverlight.createObject(
                "/ClientBin/WidgetDataSelectionInterface.xap",  // source
               null,  // parent element
                "slPlugin",  // id for generated object element
                {
                width: "100%", height: "93%", background: "transparent", windowless: "true",
                version: "4.0.50401.0"
            }, { onError: onCustomError, onLoad: onCustomLoad },
              "userData=" + widgetDetails,
            "context"    // context helper for onLoad handler.
            );
        }
        function RedirectToBugReport() {
            var pageUrl = window.location.href;
            var headerPart = pageUrl.split("://")[0];
            var bodyPart = pageUrl.split("://")[1].split("/")[0];
            var baseUrl = headerPart + "://" + bodyPart;
            var newUrl = baseUrl + "/BugReport.aspx";
            window.location.href = newUrl;
        }
function CloseSelectWidgetRows(reload) {
            $find("WidgetRowSelectionModal").hide();
            if (reload) {
                window.location.reload(true);
            }
        }
        




