//*** SERVICES PAGE FUNCTIONS ***
	 
function rOver(rowObj){
    for (var i = 0; i < rowObj.childNodes.length; i++) {
        switch (rowObj.childNodes[i].className) {
            case "rowB":
                rowObj.childNodes[i].className = "rowH";
                i += 1000;
                break;
            case "rowBE":
                rowObj.childNodes[i].className = "rowHE";
                i += 1000;
                break;
            case "rowBEAlt":
                rowObj.childNodes[i].className = "rowHEAlt";
                i += 1000;
                break;
        }
	}
}

function rOut(rowObj, itemID){
	var trObj = document.getElementById('tr' + itemID);
	
	for (var i = 0; i < rowObj.childNodes.length; i++){	
		if (rowObj.childNodes[i].className == "rowH"){
			if (trObj.style.display=="none") rowObj.childNodes[i].className = "rowB";
			i += 1000;
        } else if (rowObj.childNodes[i].className == "rowHEAlt" || rowObj.childNodes[i].className == "rowHCAlt") {
            if (trObj.style.display == "none") {
                rowObj.childNodes[i].className = "rowBEAlt";
            } else {
                rowObj.childNodes[i].className = "rowHCAlt";
            }
			i += 1000;			
		} else if (rowObj.childNodes[i].className == "rowHE" || rowObj.childNodes[i].className == "rowHC"){
			if (trObj.style.display=="none"){
			    rowObj.childNodes[i].className = "rowBE";
			} else {
			    rowObj.childNodes[i].className = "rowHC";
			}
			i += 1000;
		}
	}	
}

function parentRowOut(itemID){
	var rowObj = parent.document.getElementById('rid' + itemID);
	
	if (rowObj){
		for (var i = 0; i < rowObj.childNodes.length; i++){	
			if (rowObj.childNodes[i].className == "rowH"){
				rowObj.childNodes[i].className = "rowB";
				i += 1000;
			}
		}
	}
} 
 
function sInfoDiv(item){
	var childDiv = document.getElementById(item);
	var oDiv = parent.document.getElementById("dv" + updateItem); 
	oDiv.innerHTML = childDiv.innerHTML;
	
	if (oDiv.style.visibility == "hidden"){
		oDiv.style.visibility = "";
		oDiv.style.top = oDiv.offsetTop + 23;
		oDiv.className = "ServiceDiv";
	} else {
		oDiv.style.visibility = "hidden";
		oDiv.style.top = oDiv.offsetTop - 23;
		oDiv.className = "";
	}
} 
 
function setFrameHeight(val, itemID){
	var oFrame = document.getElementById("if" + itemID);
	if (oFrame)iFrameHeight(oFrame, val);
}		

function display(itemID){
	var row = document.getElementById("tr" + itemID);

	if (row){
		if (row.style.display == 'none'){
			row.style.display = '';
			highligh(itemID,true);
		} else {
			removeIFrame(document.getElementById("if" + itemID));
			row.style.display = 'none';
			highligh(itemID,false);
		}	
	}
}	
 
function sInfo(imgStatus, key){
	getInfo2(getStatusText(imgStatus.src),300,35);
}

// *** iFrame Init Functions

function updateStatus(itemID, colour){
	updateParentStatus(itemID, colour);
	display(itemID);
}

function updateParentTag(itemID, Name, Value, colour){
	updateParentTagRefresh(itemID, Name, Value, colour, true);
}

function ParentShowhideD(itemID, Type){
    try {
        parent.showhideD(itemID,Type);
    } catch(e) { }
}

function updateParentItem(Name, itemID, Value){
    try {
	    var oTag = parent.document.getElementById(Name + itemID);
	    if (!oTag) document.getElementById(Name + itemID);
	    if (oTag) oTag.innerHTML = Value;
    } catch(e) { }
}

function updateParentTagRefresh(itemID, Name, Value, colour, refresh){
	updateParentItem(Name, itemID, Value);
	if (refresh){
		display(itemID);	
	} else {
		updateParentStatus(itemID, colour);
	}
} 

function updateBulkStatus(ItemIDList, ColourList){
    if (ItemIDList != '' && ColourList != ''){
        var aItemList = ItemIDList.split("_");
        var aColourList = ColourList.split("_");
        
        for (var i = 0; i < aItemList.length; i++){
            updateParentStatus(aItemList[i], aColourList[i]);
        }
    }
}
 
function updateParentStatus(itemID, colour){
	if (colour != ""){
        try { 
            updateParentImage('imgStatus', itemID, "service/" + colour + ".gif", parent.getStatusText(colour + '.gif'));
        } catch(e) { }	
	}
}

function updateParentImage(Name, itemID, Pic, Alt){
    var oImage = parent.document.getElementById(Name + itemID);
    if (!oImage) oImage = document.getElementById(Name + itemID);
    if (oImage) {
        oImage.src = "/CortexDotNet/pics/" + Pic;
        oImage.alt = Alt;
        oImage.title = Alt;
    }
}

function updateParentSpan(Name, itemID, innerHTML) {
    var oSpan = parent.document.getElementById(Name + itemID);
    if (!oSpan) oSpan = document.getElementById(Name + itemID);
    oSpan.innerHTML = innerHTML;
}

function initiFrame(itemID){
	SetiFrame(itemID, 5);
}

function getMainForm(){
    try { 
        if (theForm) return theForm;
    } catch(e) { }
    
    var mainForm = document.getElementById('ctl00');
    if (mainForm) return mainForm;
    mainForm = document.getElementById('ctl01');
    if (mainForm) return mainForm;
    mainForm = document.getElementById('_ctl0');
    if (mainForm) return mainForm;
    return document.getElementById('_ctl1');
}

function SetiFrame(itemID, val){
    try {
        var h = getMainForm().offsetHeight;
	    if (h < 110){ 
		    h = 30;
		    var r = document.getElementById('divRefresh');
		    if (r != null){
			    r.style.display = 'none';
		    }
		   }
	    if (!window.navigator.appName.toLowerCase().indexOf("microsoft") > -1) h += 13;
	    parent.setFrameHeight(h + val, itemID);
	    
	    removeHourGlass(parent.document.getElementById("if" + itemID));
    } catch(e) { }
}

function initErrorPage(){
    var elements = parent.getAllElements("IFRAME");
	for (var i = 0; i < elements.length; i++){
        elements[i].style.height = "135px";
	}		
}

function GetValue(name){
    var oTag = document.getElementById(name);
    if (oTag){
        return oTag.value;
    } else {
        return "";
    }
}

function GetTag(name, ItemID){
    var oTag = document.getElementById(name + ItemID);
    if (oTag){
        return oTag.innerHTML;
    } else {
        return "";
    }
}

// *** Customers & User Page Functions

function showCust(itemID){
	showhideD(itemID, 1);
}
function showUser(itemID){
	showhideD(itemID, 0);
} 

function showhideReload(itemID, Type){
	showhideD(itemID, Type);
	showhideD(itemID, Type);
}
  
// show hide display
function showhideD(itemID, Type){
	var row = document.getElementById("tr" + itemID);
	if (!row)
	{
		return;
	}
	if (row.style.display == 'none' || Type == -1){
		row.style.display = '';
		var key = "";
 
		if (document.getElementById("key" + itemID) != null) {
			key = GetTag("key", itemID);
		}
		var URL = "";
			
		switch (Type){
            case -5:
                URL = GetValue("FrameURL") + key;
                var copy = document.getElementById("copyKey");
                if (copy) URL = URL + "&copy=" + copy.value;
                break;
            case -6:
                key = GetTag("AdvFrameKey", "");
                URL = GetValue("FrameURL" + itemID) + key + "&ItemID=" + itemID;
                break;	
			case 0:
				URL = "UseriFrame.aspx?UserID=" + key;
				break ;				
			case 1:
				URL = "CustomeriFrame.aspx?CustomerID=" + key;
				break ;
			case 2:
				URL = "CitrixiFrame.aspx?key=" + key;
				break ;		
			case 3:
				URL = "ApplicationiFrame.aspx?key=" + key + "&loc=" + GetTag("loc", "");
				break ;			
			case 4:
				URL = "CustomerServiceiFrame.aspx?ServiceID=" + itemID;
				break ;			
			case 5:
			    URL = "SharepointiFrame.aspx?spcpID=" + itemID + "&SPSType=" + GetTag("SPSType", "") + "&loc=" + GetTag("loc", "");		
				break ;		
			case 6:
				URL = "/CortexDotNet/Configuration/ServerRoleiFrame.aspx?key=" + key + "&loc=" + GetTag("rolekey", "");;
				break ;		
			case 7:
				URL = "HEpackageiFrame.aspx?packageID=" + itemID + "&loc=" + GetTag("loc", "");	
				break ;		
			case 8:
				URL = "ContactDetails.aspx?key=" + key + "&path=" + GetTag("path", itemID);		
				break ;	
			case 10:
				URL = "EditDistributionGroup.aspx?key=" + key + "&path=" + GetTag("path", itemID) + "&group=" + GetTag("group", "");
				break ;	
			case 14:
				URL = "/CortexDotNet/Configuration/WebServiceiFrame.aspx?key=" + key + "&loc=" + GetTag("loc", "");
				break ;
			case 15:
			    var parentServices = GetTag("parents", itemID);
	            if (parentServices != ""){
		            parentServices = "1";
	            } else {
		            parentServices = "0";
	            }
				URL = "UserServiceiFrame.aspx?key=" + key + "&Setup=" + GetTag("setup", itemID) + "&Name=" + GetTag("name", itemID) + "&parentService=" + parentServices;	
				break ;		
			case 16:
			    var parentServices = GetTag("parents", itemID);
	            if (parentServices != ""){
		            parentServices = "1";
	            } else {
		            parentServices = "0";
	            }
	            URL = "ServiceiFrame.aspx?key=" + key + "&Name=" + GetTag("name", itemID) + "&Users=" + GetTag("UserCount", itemID) + "&ManageSAL=" + GetTag("ManageSAL", itemID) + "&parentService=" + parentServices + "&instance=" + GetTag("instance", itemID);
				break ;		
			case 17:
				URL = "ServiceInstanceiFrame.aspx?key=" + key;
				break ;			
			case 18:
			    var addon = '';
			    if (itemID == 'PT'){
                    addon = '&CurrentID=' + document.getElementById(ddlPackageTID).options[document.getElementById(ddlPackageTID).selectedIndex].value;
			    }
				URL = "/CortexDotNet/Common/PropertySettings.aspx?key=" + key + "&PropType=" + GetTag("PropType", itemID) + addon;
				break ;		
			case 20:
				URL = "/CortexDotNet/Customer/CustomerReselleriFrame.aspx?key=" + key;
				break ;				
			case 21:
				URL = "/CortexDotNet/Common/PropertyiFrame.aspx?key=" + key;
				break ;		
			case 22:
				URL = "/CortexDotNet/Common/PropertyManager.aspx?key=" + key;
				break ;		
			case 23:
				URL = "/CortexDotNet/Configuration/ServeriFrame.aspx?key=" + key;
				break ;	
			case 24:
				URL = "/CortexDotNet/Reports/ResourceSettings.aspx";
				break ;
			case 25:
				URL = "/CortexDotNet/Configuration/ServerCollectioniFrame.aspx?key=" + key + "&loc=" + GetTag("lockey", "");
				break ;
			case 26:
				URL = "/CortexDotNet/Services/officeware/CitrixApplicationGroups.aspx?key=" + key;
				break ;
			case 27:
				URL = "/CortexDotNet/Services/officeware/CitrixResourceiFrame.aspx?key=" + key;
				break ;		
			case 28:
				URL = "/CortexDotNet/Services/Migration/CustomerUsers.aspx?key=" + key;
				break ;
			case 29:
				URL = "/CortexDotNet/Services/Migration/UserSelection.aspx?key=" + key + "&name=" + GetTag("name", itemID) + "&SourceID=" + document.getElementById("SourceID").value;
				break ;		
			case 30:
				URL = "/CortexDotNet/Common/Requests/RequestTree.aspx?key=" + key;
				break ;		
			case 31:
				URL = "/CortexDotNet/Roles/RolesiFrame.aspx?key=" + key + "&copy=" + document.getElementById("copyKey").value;
				break ;		
			case 34:
			    var ddlDNS = document.getElementById(ddlDNSTypeID);
			    var ddlDomainID = document.getElementById(ddlDomain);
			    if (ddlDomainID) {
			        URL = "/CortexDotNet/Services/DNS/DNSiFrame.aspx?key=" + key + "&Type=" + ddlDNS.options[ddlDNS.selectedIndex].value + "&DomainID=" + ddlDomainID.options[ddlDomainID.selectedIndex].value;
			    } else {
			        var ddlService = document.getElementById(ddlServiceID);
			        URL = "/CortexDotNet/Services/DNS/DNSiFrame.aspx?key=" + key + "&Type=" + ddlDNS.options[ddlDNS.selectedIndex].value + "&isTemplate=True&TemplateServiceID=" + ddlService.options[ddlService.selectedIndex].value;
			    }
				break ;	
		}
		createIFrame(document.getElementById("if" + itemID), URL);
		highligh(itemID,true);
	} else {
		removeIFrame(document.getElementById("if" + itemID));
		row.style.display = 'none';
		highligh(itemID,false);
	}
}

function highligh(itemID,isSelected){
	var rowObj = document.getElementById('rid' + itemID);
	if (rowObj){
		if (isSelected) {
			rOver(rowObj);
		} else {
			rOut(rowObj, itemID);
		}
	}
}

function RequestLog(Type, Item){
    document.location.href = "/CortexDotNet/Common/Requests/RequestTree.aspx?key=" + key + "&type=" + Type + "&item=" + Item;
}

function RequestLog(Type, Item, NewItem) {
    document.location.href = "/CortexDotNet/Common/Requests/RequestTree.aspx?key=" + key + "&type=" + Type + "&item=" + Item + "&NewItem=" + NewItem;
}

function summaryLink(SummaryType,errorsOnly){
	summaryLink(SummaryType,errorOnly,0);
}

function summaryLink(SummaryType,errorsOnly,updateItem){
	var URL = "";
	URL = "/CortexDotNet/Support/ProvisioningSummary.aspx?key=" + key + "&SummaryType=" + SummaryType;
	if (errorsOnly == 1){
		URL = URL + "&errorsOnly=1"
	}
	if (updateItem != undefined){
		URL = URL + "&updateItem=" + updateItem; 
	}
	document.location.href = URL;
}

function actionLink(action){
	gotoLink(action, key);
}

function pageLink(action, EntityID){
	gotoLink(action, GetTag("key", EntityID));
}

function gotoLink(action, key){
	var URL = "";
	var isParentLink = true;
	
	switch (action){	 			 
		case 'servicesummary3':
			URL = "Support/ProvisioningSummary.aspx?key=" + key + "&SummaryType=6&updateItem=" + updateItem + "&ProvType=1"; 
			isParentLink = false;
			break ;		
		case 'servicesummary4':
			URL = "Support/ProvisioningSummary.aspx?key=" + key + "&SummaryType=6&updateItem=" + updateItem + "&ProvType=2"; 
			isParentLink = false;
			break ;											
		case 'userservicesummary2':
			URL = "Support/ProvisioningSummary.aspx?key=" + key + "&SummaryType=5&updateItem=" + updateItem;
			isParentLink = false;
			break ;							
		case 'reports':
			URL = "Reports/Reporting.aspx?key=" + key; 
			break ;		
		case 'editcust':
			URL = "Customer/CustomerDetails.aspx?key=" + key; 
			break ;			
		case 'resetuser':
			URL = "User/UserDetails.aspx?key=" + key + "&Reset=true&ClientKey=" + parent.GetTag("ClientKey", "");
			break ;															
		case 'services':
			URL = "Customer/CustomerServices.aspx?key=" + key; 
			break ;			
		case 'userservices':
			URL = "User/UserServices.aspx?key=" + key + "&ClientKey=" + parent.GetTag("ClientKey", ""); 
			break ;					
		case 'users':
			URL = "User/Users.aspx?key=" + key; 
			break ;				
		case 'newuser':
			URL = "User/UserDetails.aspx?key=" + key; 
			isParentLink = false;
			break ;		
		case 'newcust':
			URL = "Customer/CustomerDetails.aspx?key=" + key; 
			isParentLink = false;
			break ;															
	}
 
	if (URL != ""){
		URL = "/CortexDotNet/" + URL;
		if (isParentLink) {
			parent.document.location.href = URL;
		} else {
			document.location.href = URL;
		}
	}
}
			
//*** Bulk Import Function ***

function UpdateUserImportCount(iNew, iUpdate, Init){
    var nc = document.getElementById("NewCount");
    var uc = document.getElementById("UpdateCount");
    if (nc && uc){
        if (Init){
            nc.innerHTML = iNew;
            uc.innerHTML = iUpdate;
        } else {
            var val = 0 + nc.innerHTML;
            val = val - iNew;
            nc.innerHTML = val;
            val = 0 + uc.innerHTML;
            val = val - iUpdate;
            uc.innerHTML = val;
        }
    }
} 

function SelectBulkUsers(Selected){
    var UserList = "";
    var elements = getAllElements("INPUT");
    
    for (var i = 0; i < elements.length; i++){
            if (elements[i].id.indexOf("chkUser") != -1 && elements[i].style.display == ""){
                elements[i].checked = Selected;
                if (UserList != "") UserList += ",";
                UserList += elements[i].id.replace("chkUser", "");
            }
    }
    return UserList;
}   

function GetSelectedImportUsers(){
    var list = '';

    var elements = getAllElements("INPUT");
    for (var i = 0; i < elements.length; i++){
        if (elements[i].id.indexOf("chkUser") != -1 && elements[i].checked && elements[i].style.display == ""){
            var itemID = elements[i].id.replace("chkUser","");
            if (document.getElementById("rid" + itemID).style.display == ""){
                if (list == ''){
                    list = elements[i].value;
                } else {
                    list = list + "," + elements[i].value;
                }
                elements[i].style.display = "none";
                var img = document.getElementById("imgStatus" + itemID);
                img.src = "/CortexDotNet/pics/progressblue.gif";
                img.style.display = "";
                img.style.cursor = "wait";
            }
        }
    }	
    return list;
}

function UpdateImportUsers(Value){
    var aUserInfo = Value.split(';');
    for (var i = 0; i < aUserInfo.length; i += 2){
        var chk = document.getElementById('chkUser' + aUserInfo[i]);
        if (chk){
            chk.style.display = 'none';
            var img = document.getElementById('imgStatus' + aUserInfo[i]);   
            img.style.display = '';
            
            if (aUserInfo[i+1] == ''){
                var oRID = document.getElementById('rid' + aUserInfo[i]);
                var oTD = document.getElementById('tr' + aUserInfo[i]);
                var oNewUser = document.getElementById('NewUser' + aUserInfo[i]);
                
                if (oRID && oTD){
                    oRID.style.display = 'none';
                    oTD.style.display = 'none';
                    img.src = '/CortexDotNet/pics/service/yellow.gif';
                }
                
                if (oNewUser.innerHTML == "1"){
                    UpdateUserImportCount(1, 0, false);
                } else {
                    UpdateUserImportCount(0, 1, false);
                }
            } else {
                var err = document.getElementById('err' + aUserInfo[i]).innerHTML = aUserInfo[i+1];
                img.alt = 'A request error occured';
                img.src = '/CortexDotNet/pics/service/red.gif';
                img.style.cursor = "";
            }
        }
    }
}

function callback_ImportUsers(res) {
    if (res.error != null) {
        alert('An error occured while importing the users.\n\nError: ' + res.error);
    } else {
       UpdateImportUsers(res.value);     
    }
}

function UserImportFilter(ScreenType){
    var NewUser = document.getElementById("trNew");
    var NewImg = document.getElementById("imgNew");
    var UpdateUser = document.getElementById("trUpdate");
    var UpdateImg = document.getElementById("imgUpdate");
    
    if (NewUser && UpdateUser && NewImg && UpdateImg){
        if (ScreenType == 'new'){
            NewUser.className = "rowB";
            UpdateUser.className = "";
            NewImg.src = "/CortexDotNet/pics/star.gif";
            UpdateImg.src = "/CortexDotNet/pics/updatearrowg.gif";
        } else {
            NewUser.className = "";
            UpdateUser.className = "rowB";
            NewImg.src = "/CortexDotNet/pics/starg.gif";
            UpdateImg.src = "/CortexDotNet/pics/updatearrow.gif";                    
        }
        
        var elements = getAllElements("SPAN");
        for (var i = 0; i < elements.length; i++){
            if (elements[i].id.indexOf("NewUser") != -1){
                var itemID = elements[i].id.replace("NewUser","");
                NewUser = elements[i].innerHTML;
                var Provisioned = (document.getElementById("imgStatus" + itemID).src.indexOf("yellow") != -1);
                var oRID = document.getElementById('rid' + itemID);
                var oTD = document.getElementById('tr' + itemID);
            
                if (!Provisioned && ((ScreenType == "new" && NewUser == "1") || (ScreenType == "update" && NewUser == "0"))){
                    oRID.style.display = '';
                } else {
                    oRID.style.display = 'none';
                    oTD.style.display = 'none';
                }
            }
        }	 
    }
}

function chkUserSAL(rbItem, items){
    var preFix = (rbItem.id + '').replace('_rbSAL','');
    var rbIndex = 1;

    if (preFix.charAt(preFix.length -2) == "l"){
    	rbIndex = (preFix.charAt(preFix.length -1)) * 1;
    } else {
    	rbIndex = (preFix.charAt(preFix.length -2)) * 10;
    	rbIndex += (preFix.charAt(preFix.length -1)) * 1;
    }

    var usePrefix = false;
    if (preFix.charAt(0) == "_"){
        preFix = preFix.replace('__ctl' + rbIndex, '__ctl');
    } else {
        usePrefix = true;
        if (rbIndex < 10){
            preFix = preFix.replace('_ctl0' + rbIndex, '_ctl');
        } else {
            preFix = preFix.replace('_ctl' + rbIndex, '_ctl');
        }
    }
		
	var rbSAL;
	var currentID;
	
	for (var i = 1; i <= items + 1; i++){
	    currentID = preFix + i + '_rbSAL';
	    if (usePrefix && i < 10) currentID = preFix + '0' + i + '_rbSAL';
	    
	    if ((rbItem.id + '') != currentID){
	        rbSAL = document.getElementById(currentID);
	        if (rbSAL) rbSAL.checked = false;
	    }
	}
    return true;
}        
        
function SetGroupUserCount(total){
    document.getElementById("lblGroupUserCount").innerHTML = total;
}        
        
// Property Setting Functions

function NotifyDenyChange(chkDeny){
    var ItemID = getObjectID(chkDeny, 'chkPermNotOverride');
    var info = document.getElementById(ItemID + 'trPermMsg');    
    if (chkDeny.checked){
        info.style.display = "";
    } else {
        info.style.display = "none";
    }
    SetiFrame(updateItem, 15);
    parent.initiFrame(ServiceID);
}
 
function NotifyPermissionChange(rbPermission){ 
    var ItemID = getObjectID(rbPermission, 'rbPermission');
    var info = document.getElementById(ItemID + 'trPropMsg');
    if (!document.getElementById(ItemID + 'rbPermission_0').checked){
         info.style.display = "";
    } else {
        info.style.display = "none";
    }
    SetiFrame(updateItem, 15);
    parent.initiFrame(ServiceID);
}            

function getObjectID(obj, replaceVal){
    if (obj){
        return (obj.id + '').replace(replaceVal, '');
    } else {
        return '';
    }
}

function sh(ItemID){
    var item1 = document.getElementById(ItemID + 'D');
    var item2 = document.getElementById(ItemID + 'i');
    var row = document.getElementById(ItemID + 'trd');
    
    if (item1 && item2 && row){
        if (row.className == 'tabletext2Alt'){
            row.className = 'tabletext2';
        } else {
            row.className = 'tabletext2Alt';
        }
        showhide(item1,item2,updateItem);
        parent.initiFrame(ServiceID);
    }
}

function propTbl(topRow)
{
	
    var tbl = document.getElementById("tblProps");
    var foundParent = false;
    var display = "";
    for (var i = 0; i < tbl.getElementsByTagName("tr").length; i++)
    {
    	if (tbl.getElementsByTagName("tr")[i].id == topRow.id)
    	{
    		foundParent = true;
    		display = tbl.getElementsByTagName("tr")[i + 1].style.display;
    		if (display == "")
    		{
    			display = "none";
    			tbl.getElementsByTagName("tr")[i].getElementsByTagName("td")[0].getElementsByTagName("img")[0].src = "/CortexDotNet/pics/p.gif";
    		}
    		else
    		{
    			display = "";
    			tbl.getElementsByTagName("tr")[i].getElementsByTagName("td")[0].getElementsByTagName("img")[0].src = "/CortexDotNet/pics/m.gif";
    		}
    	}
    	else if (foundParent)
    	{
    		if (tbl.getElementsByTagName("tr")[i].id.indexOf('_trH') != -1)
    		{
    			i = tbl.getElementsByTagName("tr").length;
    		}
    		else if (tbl.getElementsByTagName("tr")[i].id.indexOf('_trd') != -1)
    		{
    			tbl.getElementsByTagName("tr")[i].style.display = display;
    		}
    		else if (tbl.getElementsByTagName("tr")[i].id.indexOf('_D') != -1 && display== "none")
    		{
    			tbl.getElementsByTagName("tr")[i].style.display = display;
    		}
    	}
    }
    initPropiFrame();
}

function hidePropRows()
{
	var tbl = document.getElementById("tblProps");
	if (tbl)
	{
		for (var i = 0; i < tbl.getElementsByTagName("tr").length; i++)
		{
			if (tbl.getElementsByTagName("tr")[i].id.indexOf('_trH') != -1)
			{
				propTbl(tbl.getElementsByTagName("tr")[i]);
			}
		}
	}
}

function PropCheck(chkBox){
    var itemID = getObjectID(chkBox, 'chkPropOverride');
    var parentValue = document.getElementById(itemID + 'lblParentVal').innerHTML;
    var enc = document.getElementById(itemID + 'chkEncrypted');
    var obj = null;
    
    if (document.getElementById(itemID + 'txt')){
        obj = document.getElementById(itemID + 'txt');
        if (!chkBox.checked) obj.value = parentValue;
    } else if (document.getElementById(itemID + 'chk')) {
        obj = document.getElementById(itemID + 'chk');
        if (!chkBox.checked) obj.checked = (parentValue.toUpperCase() == "TRUE" || parentValue == "1");
    } else if (document.getElementById(itemID + 'ddl')) {
        obj = document.getElementById(itemID + 'ddl');
    } else if (document.getElementById(itemID + 'clb_Container')) {
        obj = document.getElementById(itemID + 'clb_Container');    
    } else if (document.getElementById(itemID + 'pnl')) {
        obj = document.getElementById(itemID + 'pnl');
    } else if (document.getElementById(itemID + 'rbl')) {
        obj = document.getElementById(itemID + 'rbl');
        if (!chkBox.checked) {
            var i = 0;
            var rbItem = document.getElementById(itemID + 'rbl_' + i);
            while (rbItem){
                i++;
                rbItem.checked = rbItem.value == parentValue;
                rbItem = document.getElementById(itemID + 'rbl_' + i);          
            }
            if (parentValue == ""){
                rbItem = document.getElementById(itemID + 'rbl_0');
                if (rbItem) rbItem.checked = true;
            }
        }
    }
    if (obj != null) {
         obj.disabled = !chkBox.checked;
         if (enc != null) enc.disabled = !chkBox.checked;
    }
}    
          
function LabelRename(chkBox){
    var obj = document.getElementById("txtLabel");
    var parentValue = document.getElementById("lblParentLabel").innerHTML; 
    if (!chkBox.checked) obj.value = parentValue;
    if (obj != null) obj.disabled = !obj.disabled;
}               
          
// Bulk Re-Provisioning Functions

function getSelectedList(ddlObj){
    var ObjList = '';

    if (ddlObj.options[ddlObj.selectedIndex].value == "0"){
        // requested all values (the first two options are system values)
        for (var i = 2; i < ddlObj.options.length; i++){	
            if (ObjList != '') {
                ObjList += ',';
            }
            ObjList += ddlObj.options[i].value;
        }
    } else if (ddlObj.options[ddlObj.selectedIndex].value != "-1"){
        // single request
        ObjList = ddlObj.options[ddlObj.selectedIndex].value;
    }
    return ObjList.split(',');
}

// Exchange Customer Function

function check(chkEmail){
    var rbForce = document.getElementById(rbForceID + "_0");
    if (rbForce){
	    var ForcePrimary = rbForce.checked;
	    var rbPrimary = document.getElementById(chkEmail.id.replace("chkEmail","RowSelectorColumnSelector"));				
		
	    if (!ForcePrimary){
		    rbPrimary.disabled = true;
		    rbPrimary.checked = false;
	    } else {
		    rbPrimary.disabled = !chkEmail.checked;
		    if (!chkEmail.checked) rbPrimary.checked = false;		
	    }
    }
}

function SetMemberHeight(Members, MemberDiv){
    var oDiv = document.getElementById(MemberDiv); 

    if (oDiv){
	    if (Members == 0){
		    oDiv.style.display = "none";
	    } else {
		    oDiv.style.display = "";
		    if (Members > 6) oDiv.style.height = "187px";
	    }
    }
}

// Folder Management (IIS & FSS) code
   
function LoadPanelMenu(URL){
    ProgressURL(URL, 'imgLoadMenu');
}

function ProgressURL(URL, img){
    var oImg = document.getElementById(img);
    if (oImg) oImg.style.display = '';
    document.location.href=URL;
} 

function UpdateProgress(btnText, imgText, Start){
    if (Start){
        if (btnText !== '') document.getElementById(btnText).style.display = 'none';
        if (imgText !== '') document.getElementById(imgText).style.display = '';		    
    } else {
        if (btnText !== '') document.getElementById(btnText).style.display = '';
        if (imgText !== '') document.getElementById(imgText).style.display = 'none';		    
    }
}

function DelPropCollection(message) {
    var delOK = confirm(message);
    if (delOK){
        //disable validation objects
        var IDObj = '';
	    for (var i = 0; i < document.body.all.length; i++){
			IDObj = document.body.all[i].id + '';
			if (IDObj.length > 5){
				if (IDObj.substring(IDObj.length - 5,IDObj.length) == '_rqdV'){
					document.body.all[i].enabled = false;
				}
			}
	    }		
    }
    return delOK;
}

function PerformDeleteAction(message){
    var delOK = confirm(message);
    if (delOK) DisableValidation();
    return delOK;
}

function DisableValidation(){
    for (var i = 0; i < document.body.all.length; i++){
        if (document.body.all[i].getAttribute("controltovalidate") && document.body.all[i].getAttribute("errormessage")){
            document.body.all[i].enabled = false;
        }
    }		
}

// Server IP Address management
function AddIPAddress(){
    if (document.getElementById("vldIP").style.visibility == 'hidden' && document.getElementById("vldIPExternal").style.visibility == 'hidden'){
        var oIP = document.getElementById("txtIP");
        var oIPEx = document.getElementById("txtIPExternal");
        var oIPList = document.getElementById("IPList");
        var value = oIP.value.replace(' ','');
        var valueEx = oIPEx.value.replace(' ','');
        var Combined = value + ' / ' + valueEx;
        
        if (value != '' && valueEx != '') {
            var found = false;
            
            for (var i = 0; i < oIPList.options.length; i++){
                if (oIPList.options[i].text == Combined) {
                    found = true;
                    i += 10000;
                }
            }
            if (!found) {
                oIPList.options[oIPList.options.length] = new Option(Combined,Combined);
                InitIPAddressList();
            }
        }
    }
}

function SyncReports(){
    UpdateProgress(controlPrefix + "btnSync", "imgSyc", true);
    ReportManager.SyncReports(callback_SyncReports);
}

function callback_SyncReports(res) {
    UpdateProgress(controlPrefix + "btnSync", "imgSyc", false);
	if (res.value != 'success'){
		document.getElementById(controlPrefix + "lblError").innerHTML = res.value;
	} else {
        refreshParent();
	}
}	

function SyncReportRenderTypes(){
    UpdateProgress("btnSync", "imgSyc", true);
    ReportRenderTypes.SyncReportRenderTypes(callback_SyncReportRenderTypes);
}

function callback_SyncReportRenderTypes(res) {
    UpdateProgress("btnSync", "imgSyc", false);
	if (res.value != 'success'){
		document.getElementById("lblError").innerHTML = res.value;
	} else {
        refresh();
	}
}	

function DeleteIPAddress(){
    var oIPList = document.getElementById("IPList");    
    var found = true;

    while (found){
        found = false;
        for (var i = 0; i < oIPList.options.length; i++) {
            if (oIPList.options[i].selected) {
                oIPList.options[i] = null;
                found = true;
            }
        }
    }
    InitIPAddressList();
}

function InitIPAddressList(){
    var oIPList = document.getElementById("IPList"); 
    var List = '';
    
    if (oIPList){
        for (var i = 0; i < oIPList.options.length; i++) {
            if (oIPList.options[i].text.replace(' ','') != ''){
                if (List != '') List += ',';
                    List += oIPList.options[i].text;
            }
        }
        document.getElementById("IPValue").value = List;
    }
}

// HE Customer
function showPFSettings(warning){
    var chkCreatePF = document.getElementById(pfCtrlPrefix + "chkPubicFolders");
    
    if (chkCreatePF) {
        var txtPostLimit = document.getElementsByName(pfResPrefix + "$txtLimit").item(0);
        if (!txtPostLimit) txtPostLimit = document.getElementById(pfResPrefix + "$txtLimit");
        if (!txtPostLimit) txtPostLimit = document.getElementById(pfResPrefix + ":txtLimit");
        var txtWarningLimit = document.getElementById(pfCtrlPrefix + "txtWarningLimit");
        var txtItemLimit  = document.getElementById(pfCtrlPrefix + "txtItemLimit");

        if (warning != "" && !chkCreatePF.checked){
            chkCreatePF.checked = !confirm(warning);
        }
        
        if (chkCreatePF.checked) {
            txtPostLimit.disabled = chkCreatePF.disabled;
            if (!txtPostLimit.disabled) txtPostLimit.focus();
            txtWarningLimit.disabled = chkCreatePF.disabled;
            txtItemLimit.disabled = chkCreatePF.disabled;
       } else {
          txtPostLimit.disabled = true;
          txtWarningLimit.disabled = true;
          txtItemLimit.disabled = true;
      }

      if (txtPostLimit.disabled) {
          txtPostLimit.style.backgroundColor = "#f1f1f1";
      } else {
          txtPostLimit.style.backgroundColor = "";
      }
      if (txtWarningLimit.disabled) {
          txtWarningLimit.style.backgroundColor = "#f1f1f1";
      } else {
          txtWarningLimit.style.backgroundColor = "";
      }
      if (txtItemLimit.disabled) {
          txtItemLimit.style.backgroundColor = "#f1f1f1";
      } else {
        txtItemLimit.style.backgroundColor = "";
      }
    }
}

// Exchange Mailbox Move

function MailboxTreeClick(){	
	var customers = oMyTree.getNodes();
	var total = 0;
	var iUsers = 0;
	
	for (var i = 0; i < customers.length; i++){
		var users = customers[i].getNodes();
		
		for (var j = 0; j < users.length; j++){
			if (users[j].isChecked()){
				iUsers += 1;			
				total += (users[j].getString(18).split("_")[0] * 1);
			}
		}
	}
	
	var SizeA = document.getElementById("lblSize").innerHTML.replace("MB", "") * 1;
	document.getElementById("lblSizeCurr").innerHTML = round((SizeA - total),1) + " MB";
	
	var UsersA = document.getElementById("lblUsers").innerHTML * 1;
	document.getElementById("lblUsersCurr").innerHTML = (UsersA - iUsers);
	
	var SizeB = document.getElementById("lblMoveSize").innerHTML.replace("MB", "") * 1;
	document.getElementById("lblMoveSizeCurr").innerHTML = round((SizeB + total),1) + " MB";
	
	var UsersB = document.getElementById("lblMoveUsers").innerHTML * 1;
	document.getElementById("lblMoveUsersCurr").innerHTML = (UsersB + iUsers);			
}		
		
function getMailBoxInfo(){
	var ddl = document.getElementById("ddlMailbox");

	for (var i = 0; i < qTemplate.length; i++) {
		if (qTemplate[i][0] == ddl.options[ddl.selectedIndex].value){
			document.getElementById("lblMoveServer").innerHTML = qTemplate[i][1];
			document.getElementById("lblMoveStorage").innerHTML = qTemplate[i][2];
			document.getElementById("lblMoveSize").innerHTML = qTemplate[i][3];
			document.getElementById("lblMoveUsers").innerHTML = qTemplate[i][4];
			i = i + 1000;
		}
	}
	MailboxTreeClick();
}	

function ShowMoveError(ItemID, Visible){
    var oDiv = document.getElementById("err" + ItemID);
    if (oDiv){
        if (Visible){
            oDiv.style.visibility = "visible";
        } else {
            oDiv.style.visibility = "hidden";
        }
    }
}   

function ToggleResource(){
    if (chkAuto){
        var txtControl;
        for (var i = 0; i < aResourceControls.length; i++){
            txtControl = document.getElementById(aResourceControls[i]);
            if (chkAuto.checked) {
                txtControl.disabled = true;
                txtControl.style.backgroundColor = "#f1f1f1";
            } else {
                txtControl.disabled = false;
                txtControl.style.backgroundColor = "";
            }
        }
        AutoUpdateResource();
    }  
}

function AutoUpdateResource(){
    if (chkAuto){
        if (chkAuto.checked){
            var inputControl;
            for (var i = 0; i < aResourceControls.length; i++){
                inputControl = document.getElementById(aResourceControls[i] + 'X');
                if (inputControl) document.getElementById(aResourceControls[i]).value = inputControl.value;
            }
        }
    }
}    

function ToggleCustApp(){
    lblCust = document.getElementById("lblCustomer");
    txtCust = document.getElementById("txtCustomer");
    if (lblCust.style.display == ''){
        lblCust.style.display = 'none';
        txtCust.style.display = '';   
    } else {
        lblCust.style.display = '';
        txtCust.style.display = 'none';
       }
    try
    {
		initPageiFrame();
	}
	catch(e){ }
}

// SharePoint Packages

function SPAlerts(){
	var custom = document.getElementById(SPAlertPrefix + "rbMaxAlerts_0");
	var unlimited = document.getElementById(SPAlertPrefix + "rbMaxAlerts_1");
	var on = document.getElementById(SPAlertPrefix + "rbAlerts_0");
	var limit = document.getElementById(SPAlertPrefix + "txtMaxAlertLimit");
	custom.disabled = !on.checked;
	unlimited.disabled = !on.checked;
	limit.disabled = !(custom.checked && !custom.disabled);
	if (limit.disabled){
	    limit.style.backgroundColor = "#f1f1f1"; 
	}  else {
	    limit.style.backgroundColor = ""; 
	}
}

function SPSecurity(){
	var custom = document.getElementById(SPWebSecPrefix + "rbSecurityExpires_0");
	var never = document.getElementById(SPWebSecPrefix + "rbSecurityExpires_1");
	var on = document.getElementById(SPWebSecPrefix + "rbSecurity_0");
	var limit = document.getElementById(SPWebSecPrefix + "txtSecurityLimit");
	custom.disabled = !on.checked;
	never.disabled = !on.checked;
	limit.disabled = !(custom.checked && !custom.disabled);
    if (limit.disabled){
        limit.style.backgroundColor = "#f1f1f1"; 
    }  else {
        limit.style.backgroundColor = ""; 
    }
}	

function SPURLcheck(){
	var oCHK = document.getElementById(SPURLPrefix + "chkURLSuffix");
	var oURL = document.getElementById(SPURLPrefix + "txtURLSuffix");
	if (oCHK && !oCHK.disabled) oURL.disabled = !oCHK.checked;
    if (!oCHK.checked){
        oURL.style.backgroundColor = "#f1f1f1"; 
    }  else {
        oURL.style.backgroundColor = ""; 
    }	
}		

function SPServerSetup(){
    oCHK = document.getElementById(SPServerPrefix + "chkLoadBalanced");
    trMul = document.getElementById("trMultipleServers");
    trMul.disabled = !oCHK.checked;
}

function ShowQuotaError(){
    if (document.getElementById(SPServerPrefix + "ddlQuotaTemplate").options.length == 0){
        document.getElementById(SPServerPrefix + "lblQuotaError").style.display = "";
    } else {
        document.getElementById(SPServerPrefix + "lblQuotaError").style.display = "none";
    }
    
    if (document.getElementById(SPServerPrefix + "chkWSS3").checked){
        if (document.getElementById(SPServerPrefix + "ddlWebApps").options.length == 0){
            document.getElementById(SPServerPrefix + "lblWebAppError").style.display = "";
        } else {
            document.getElementById(SPServerPrefix + "lblWebAppError").style.display = "none";
        }   
    } else {
        document.getElementById(SPServerPrefix + "lblWebAppError").style.display = "none";
    }
}

function SPTemplateInfo(){
    var oDDLQuota = document.getElementById(SPServerPrefix + "ddlQuotaTemplate");
    var oQValue = document.getElementById("SPQuotaName");
    if (oDDLQuota.options.length > 0) oQValue.value = oDDLQuota.options[oDDLQuota.selectedIndex].value;    
    var aData = document.getElementById("aQuotaInfo").value.split('|');

    if (aData.length > 0 && aData[0] != ""){
        while (oDDLQuota.options.length > 0) oDDLQuota.options[0] = null;
        var oMaxLevel = document.getElementById("MaxLevel")
        var oWarningLevel = document.getElementById("WarningLevel")
        
        for (var i = 0; i < aData.length; i++){
            var aValue = aData[i].split('^');
            oDDLQuota.options[oDDLQuota.options.length] = new Option(aValue[0],aValue[0]);
            if (aValue[0] == oQValue.value || oQValue.value == "" || aValue[0] == "?"){
                oQValue.value = aValue[0];
                oDDLQuota.selectedIndex = i;
                oMaxLevel.innerHTML = aValue[1];
                oWarningLevel.innerHTML = aValue[2];
            }
        }
    }
}				

function callback_LoadWebApps(res) {
    if (res.error != null || res.value == ''){
        document.getElementById(SPServerPrefix + "lblWebAppError").style.display = "";
        document.getElementById("aWebAppScript").value = "";
        var oDDLQuota = document.getElementById(SPServerPrefix + "ddlWebApps");
        while (oDDLQuota.options.length > 0) oDDLQuota.options[0] = null;
    } else {
        document.getElementById(SPServerPrefix + "lblWebAppError").style.display = "none";
        document.getElementById("aWebAppScript").value = res.value;
        SPWebAppInfo();
    }
    SPSiteInfo();
	UpdateProgress(SPServerPrefix + "ddlWebApps", "QALoad", false);  
}

function SPWebAppInfo(){
    var oDDL = document.getElementById(SPServerPrefix + "ddlWebApps");
    
    if (document.getElementById(SPServerPrefix + "chkWSS3").checked){
        oDDL.disabled = false;
        var oValue = document.getElementById("SPWebAppName");
        
        if (oDDL.options.length > 0) oValue.value = oDDL.options[oDDL.selectedIndex].value;    
        var aData = document.getElementById("aWebAppScript").value.split('|');
        
        if (aData.length > 0 && aData[0] != ""){
            while (oDDL.options.length > 0) oDDL.options[0] = null;
            var oSiteCount = document.getElementById("spSiteCount");
            var oAppPool = document.getElementById("spAppPool");
            var oVS = document.getElementById("spVS");
            var oAnonymous = document.getElementById("spAnonymous");
            var oAuthMode = document.getElementById("spAuthMode");
            var oWinAuth = document.getElementById("spWinAuth");

            for (var i = 0; i < aData.length; i++){
                var aValue = aData[i].split('^');
                oDDL.options[oDDL.options.length] = new Option(aValue[0],aValue[0]);
                if (aValue[0] == oValue.value || oValue.value == ""){
                    oValue.value = aValue[0];
                    oDDL.selectedIndex = i;
                    oSiteCount.innerHTML = aValue[1];
                    oAppPool.innerHTML = aValue[2];
                    oVS.innerHTML = aValue[3];
                    oAnonymous.innerHTML = aValue[4];
                    oAuthMode.innerHTML = aValue[5];
                    oWinAuth.innerHTML = aValue[6];
                }
            }
        }
        
    } else {
        oDDL.disabled = true;
    }
    SPWebSites();
}	

function callback_LoadSPWebTemplates(res) {    
    var oDDL = document.getElementById(SPServerPrefix + "ddlWebTemplate");
    
    if (res.error != null || res.value == ''){
        document.getElementById(SPServerPrefix + "lblSiteError").style.display = "";
        while (oDDL.options.length > 0) oDDL.options[0] = null;
    } else {
        document.getElementById(SPServerPrefix + "lblSiteError").style.display = "none";
        eval(res.value);
        SPWebTemplateInfo();
        ChangeSPWebDesc(oDDL);	
    }
	UpdateProgress(SPServerPrefix + "ddlWebTemplate", "imgWebTemplate", false); 
	UpdateProgress(SPServerPrefix + "ddlSubWebTemplate", "imgSubWebTemplate", false); 
    initPropiFrame();	
}

function callback_LoadSPLanguages(res) {
    var oDDL = document.getElementById(SPServerPrefix + "ddlLanguage");

    if (res.error != null || res.value == '') {
        document.getElementById(SPServerPrefix + "lblSiteError").style.display = "";
        while (oDDL.options.length > 0) oDDL.options[0] = null;
    } else {
        document.getElementById(SPServerPrefix + "lblSiteError").style.display = "none";
        eval(res.value);
        while (oDDL.options.length > 0) oDDL.options[0] = null;

        if (spLanguages) {
            for (var i = 0; i < spLanguages.length; i++) {
                oDDL.options[oDDL.options.length] = new Option(spLanguages[i][1], spLanguages[i][0]);
            }
        }
    }
    UpdateProgress(SPServerPrefix + "ddlLanguage", "imgSPLanguage", false);
    SPWebTemplates();
    initPropiFrame();   
}

function chkManageSubSite(chk){
    var tbl = document.getElementById("tblSubSites");
    var isVisible = chk.checked && !chk.disabled;
    if (isVisible){
        tbl.style.display = "";
    } else {
        tbl.style.display = "none";
    }
    document.getElementById(SPServerPrefix + "btnSiteAdd").disabled = !isVisible;
    document.getElementById(SPServerPrefix + "ddlSubWebTemplate").disabled = !isVisible;
    document.getElementById(SPServerPrefix + "txtSubSite").disabled = !isVisible;
    if (chk.checked) {
        var txtSubSite = document.getElementById(SPServerPrefix + "txtSubSite")
        if (!txtSubSite.disabled) txtSubSite.focus();
    } else {
    var lblSubS = document.getElementById(SPServerPrefix + "LabelErrS");
    lblSubS.innerHTML = "";
    }
    initPropiFrame();
}

function AddSPSubSite(){
    var txt = document.getElementById(SPServerPrefix + "txtSubSite");
    var ddl = document.getElementById(SPServerPrefix + "ddlSubWebTemplate");
    var input = document.getElementById("inputSPSubSites");
    var lblSubS = document.getElementById(SPServerPrefix + "LabelErrS");

    if (txt && ddl && txt.value != "") {
        lblSubS.innerHTML = "";
        var ddlValue = ddl.options[ddl.selectedIndex].value;
        var isAdded = false;

        if (input.value != "") {
            var keys = input.value.split(",");
            for (var i = 0; i < keys.length; i++) {
                if (keys[i].split("|")[0] == txt.value) {
                    isAdded = true;
                    break;
                }
            }
            if (!isAdded) input.value += ",";
        }
        if (!isAdded) {
            SPSubsiteRowAdd(txt.value, ddl.options[ddl.selectedIndex].innerHTML);
            input.value += txt.value + "|" + ddlValue;
        }
        txt.value = "";
    }
    else {       
        lblSubS.innerHTML = "Required: name of Sub-Site";
    }
}

function SPLoadSubSites(){
    var keys = document.getElementById("inputSPSubSites").value.split(",");
    if (spTemplates && keys.length > 0){ 
        for (var i = 0; i < keys.length; i++){
            var segments = keys[i].split("|");
            for (var j = 0; j < spTemplates.length; j++){
                if (spTemplates[j][0] == segments[1]){
                    SPSubsiteRowAdd(segments[0],spTemplates[j][1]);
                    break;
                }
            }
        }
    }
}

function ChangeSPSite(chk){
    var ss = document.getElementById(SPServerPrefix + "rbSubSite");
    var ts = document.getElementById(SPServerPrefix + "rbMainSite"); 
    var ms = document.getElementById(SPServerPrefix + "chkManageSubSites"); 
    ss.checked = (ss.id == chk.id);
    ts.checked = (ts.id == chk.id);
    ms.disabled = (ss.checked);
    chkManageSubSite(ms);
    SPWebSites();
}

function SPSubsiteRowRemove(siteName){
    var tbl = document.getElementById("tblSubSites");
    for (var i = 0; i < tbl.childNodes.length; i++){
        if (tbl.childNodes[i].id == ("SPSS" + siteName)){
            var input = document.getElementById("inputSPSubSites");
            var keys = input.value.split(",");
            var update = "";
            
            for (var j = 0; j < keys.length; j++){   
               if (keys[j].split("|")[0] != siteName){
                  if (update != "") update = update + ",";
                  update = update + keys[j];
               }
            }
            
            input.value = update;
            tbl.removeChild(tbl.childNodes[i]);
            break;
        } 
    }
    initPropiFrame();
}

function SPSubsiteRowAdd(siteName, template){
    var tbl = document.getElementById("tblSubSites");
    var tr = document.createElement("tr");
    var tdName = document.createElement("td");
    var tdTemp = document.createElement("td");
    var tdRemove = document.createElement("td");
    var remLink = document.createElement("a");
    tr.id = "SPSS" + siteName;
    tr.className = "SmallLabelFade";
    if (template == "") template = " ";
    
    tdName.appendChild(document.createTextNode(siteName));
    tdTemp.appendChild(document.createTextNode(template));
    remLink.href = "javascript:SPSubsiteRowRemove('" + siteName + "');";    
    remLink.innerHTML = "Remove";
    tdRemove.appendChild(document.createTextNode(" "));
    tdRemove.appendChild(remLink);
    tr.appendChild(tdName);
    tr.appendChild(tdTemp);
    tr.appendChild(tdRemove);
    tbl.appendChild(tr);        
    initPropiFrame();       
}

function ChangeSPWebDesc(ddl){
    if (ddl && ddl.selectedIndex > -1 && spTemplates){
        var value = ddl.options[ddl.selectedIndex].value;
        for (var i = 0; i < spTemplates.length; i++){
            if (spTemplates[i][0] == value){
                lbl = document.getElementById(SPServerPrefix + "lblWebTempInfo");
                lbl.innerHTML = spTemplates[i][2];
                break;
            }
        }
    }
    initPropiFrame();
}

function SPWebTemplateInfo(){
    var oDDL = document.getElementById(SPServerPrefix + "ddlWebTemplate");
    var oDDLSub = document.getElementById(SPServerPrefix + "ddlSubWebTemplate"); 
    var chk = document.getElementById(SPServerPrefix + "rbMainSite");
    if (!oDDL || !chk || !oDDLSub) return;
    while (oDDL.options.length > 0) oDDL.options[0] = null;
    while (oDDLSub.options.length > 0) oDDLSub.options[0] = null;
    
    if (spTemplates){
        for (var i = 0; i < spTemplates.length; i++){
            oDDL.options[oDDL.options.length] = new Option(spTemplates[i][1],spTemplates[i][0]);
            oDDLSub.options[oDDLSub.options.length] = new Option(spTemplates[i][1],spTemplates[i][0]);
        }
    }
    initPropiFrame();
}

function callback_LoadSites(res) {    
    if (res.error != null || res.value == ''){
        document.getElementById(SPServerPrefix + "lblSiteError").style.display = "";
        document.getElementById("aSiteScript").value = "";
        var oDDL = document.getElementById(SPServerPrefix + "ddlWebSites");
        while (oDDL.options.length > 0) oDDL.options[0] = null;
    } else {
        document.getElementById(SPServerPrefix + "lblSiteError").style.display = "none";
        document.getElementById("aSiteScript").value = res.value;
        SPSiteInfo();
    }
	UpdateProgress(SPServerPrefix + "ddlWebSites", "imgWebSites", false);  
    initPropiFrame();	
}

function SPSiteInfo(){
    var oDDL = document.getElementById(SPServerPrefix + "ddlWebSites");
    var chkSites = document.getElementById(SPServerPrefix + "rbSubSite");
    var chkMainSite = document.getElementById(SPServerPrefix + "rbMainSite"); 
    var chkManageSub = document.getElementById(SPServerPrefix + "chkManageSubSites"); 
    
    if (!oDDL || !chkSites || !chkMainSite) return;
    var oValue = document.getElementById("SPSiteName");
    if (oDDL.options.length > 0) oValue.value = oDDL.options[oDDL.selectedIndex].value;
    while (oDDL.options.length > 0) oDDL.options[0] = null;
    chkSites.disabled = !document.getElementById(SPServerPrefix + "chkWSS3").checked;
    chkMainSite.disabled = chkSites.disabled;
    oDDL.disabled = chkSites.disabled;
    chkManageSub.disabled = chkMainSite.disabled || !chkMainSite.checked;
    chkManageSubSite(chkManageSub);
    
    if (chkSites.disabled) return;
    var scriptVal = document.getElementById("aSiteScript").value + "";
    var findError = document.getElementById(SPServerPrefix + "lblSiteFindError");

    if (scriptVal == "-1"){
        findError.style.display = "";
        document.getElementById(SPServerPrefix + "lblWebURL").innerHTML = "";
        initPropiFrame();
        return;
    } else {
        findError.style.display = "none";
    }

    var aData = scriptVal.split('|');
    if (aData.length == 0 || aData[0] == "") return;

    for (var i = 0; i < aData.length; i++){
        var aValue = aData[i].split('^');
        oDDL.options[oDDL.options.length] = new Option(aValue[0],aValue[0]);
        if (oValue.value == aValue[0]) oDDL.selectedIndex = i;
    }
    SPSiteURL();
    initPropiFrame();    
}	

function SPSiteURL(){
    var oDDL = document.getElementById(SPServerPrefix + "ddlWebSites");
    var URL = document.getElementById(SPServerPrefix + "lblWebURL");
    var oValue = document.getElementById("SPSiteName");
    
    if (!oDDL || !URL) return;
    if (oDDL.options.length == 0){
        URL.innerHTML = "";
        oValue.value = "";
    } else {
        URL.innerHTML = oDDL.options[oDDL.selectedIndex].value + "/Customer";
        oValue.value = oDDL.options[oDDL.selectedIndex].value;
    }
}

function callback_LoadQuotaTemplates(res) {
    if (res.error != null || res.value == ''){
        document.getElementById(SPServerPrefix + "lblQuotaError").style.display = "";
        document.getElementById("aQuotaInfo").value = "";
        var oDDLQuota = document.getElementById(SPServerPrefix + "ddlQuotaTemplate");
        while (oDDLQuota.options.length > 0) oDDLQuota.options[0] = null;
    } else {
        document.getElementById(SPServerPrefix + "lblQuotaError").style.display = "none";
        document.getElementById("aQuotaInfo").value = res.value;
        SPTemplateInfo();
    }
	UpdateProgress(SPServerPrefix + "ddlQuotaTemplate", "QTLoad", false);
}

function IISAppPool(){
    UpdateProgress(SPAppPre + "btnSearch", "imgAppPools", true);   
    var oDDLServer = document.getElementById(SPAppPre + "ddlServer");
    uc_IISAppPool.AppPoolsGet(oDDLServer.options[oDDLServer.selectedIndex].value,callback_IISAppPool);
    return false;
}      
 
function callback_IISAppPool(res) {
    var lblError = document.getElementById(SPAppPre + "lblAppError");
      
    if (res.error != null || res.value == ''){
        lblError.innerHTML = "Unable to find the application pools on the selected server";
    } else {
        lblError.innerHTML = "";
        var oDDLAppPools = document.getElementById(SPAppPre + "ddlAppPools");
        var currentValue = "";
        if (oDDLAppPools.selectedIndex > -1) currentValue = oDDLAppPools.options[oDDLAppPools.selectedIndex].value;
        while (oDDLAppPools.options.length > 0) oDDLAppPools.options[0] = null;
        var aPools = res.value.split(",");
        var aNames;
   
        for (var i = 0; i < aPools.length; i++){
            aNames = aPools[i].split(";");
            oDDLAppPools.options[oDDLAppPools.options.length] = new Option(aNames[0],aNames[1]);
            if (currentValue == aNames[1] || currentValue == aNames[0]){
                oDDLAppPools.selectedIndex = oDDLAppPools.options.length -1;
            }
        }
        if (aPools.length > 0) document.getElementById("IISAppPoolVal").value = oDDLAppPools.options[oDDLAppPools.selectedIndex].value + ',' + oDDLAppPools.options[oDDLAppPools.selectedIndex].text;
    }
    UpdateProgress(SPAppPre + "btnSearch", "imgAppPools", false);
}   

function IISAppPoolUI(chkObj){
    var AppNew = document.getElementById(SPAppPre + "rbAppPoolNew");
    var AppExisting = document.getElementById(SPAppPre + "rbAppPoolExisting");
    var Predefined = document.getElementById(SPAppPre + "rbPredefined");
    var Config = document.getElementById(SPAppPre + "rbConfig");
    var trNew = document.getElementById("trIISNew");
    var trExisting = document.getElementById("trIISExisting");
    var trPre = document.getElementById("trAppPre");
    var trCust = document.getElementById("trAppCust");
    var txtAppName = document.getElementById(SPAppPre + "txtAppName"); 
    var txtUsername = document.getElementById(SPAppPre + "txtUsername"); 
    var txtPassword = document.getElementById(SPAppPre + "txtPassword"); 
    
    if (chkObj){
        if (chkObj.id == AppNew.id){
            AppNew.checked = true;
            AppExisting.checked = false;
        } else if (chkObj.id == AppExisting.id){
            AppNew.checked = false;
            AppExisting.checked = true;
        } else if (chkObj.id == Predefined.id){
            Predefined.checked = true;
            Config.checked = false;
        } else if (chkObj.id == Config.id){
            Predefined.checked = false;
            Config.checked = true;
        }
    }
   
    trExisting.disabled = AppNew.checked;
    trNew.disabled = AppExisting.checked;
    trCust.disabled = Predefined.checked;
    trPre.disabled = Config.checked;
    txtAppName.disabled = AppExisting.checked;
    txtUsername.disabled = Predefined.checked;
    txtPassword.disabled = Predefined.checked;
    
    if (AppNew.checked){
        txtAppName.style.backgroundColor = "";
        txtUsername.style.backgroundColor = "";
        txtPassword.style.backgroundColor = "";
               
        if (Predefined.checked){
            txtUsername.style.backgroundColor = "#f1f1f1";
            txtPassword.style.backgroundColor = "#f1f1f1";
        }
    } else {
        txtAppName.style.backgroundColor = "#f1f1f1";
        txtUsername.style.backgroundColor = "#f1f1f1";
        txtPassword.style.backgroundColor = "#f1f1f1";
    }
    
    var AppPool = document.getElementById("IISAppPoolVal");
    if (AppPool.value == ""){
        var ddlAppPools = document.getElementById(SPAppPre + "ddlAppPools");
        if (ddlAppPools.selectedIndex > -1) AppPool.value = ddlAppPools.options[ddlAppPools.selectedIndex].value + ',' + ddlAppPools.options[ddlAppPools.selectedIndex].text;
    }
}

function IISAppPoolChange(ddlObj){
    var AppPool = document.getElementById("IISAppPoolVal");
    if (ddlObj.selectedIndex > -1) AppPool.value = ddlObj.options[ddlObj.selectedIndex].value + ',' + ddlObj.options[ddlObj.selectedIndex].text;
}     

function SPSiteCheck(){
    if (oSubSite){
        oSubSite.disabled = txtSubSite.readOnly;
        if (!oSubSite.disabled){
	        txtSiteName.disabled = !oSubSite.checked;		
	        txtSubSite.disabled = oSubSite.checked;
    	    
	        if (txtSiteName.disabled){
	            txtSiteName.style.backgroundColor = "#f1f1f1";
	            txtSubSite.style.backgroundColor = "";
	        } else {
	            txtSiteName.style.backgroundColor = "";
	            txtSubSite.style.backgroundColor = "#f1f1f1";
	        }
        } else {
            oSSubSite.disabled = true;
        }
    }
}	

function SPOverrideQuota(chkQuota){
    if (ddlQuotaT) ddlQuotaT.disabled = !chkQuota.checked;
    if (chkQuota) {
        if (chkQuota.checked) isNotCustQuota = false;
        if (!chkQuota.checked && isNotCustQuota) {
            for (var i = 0; i < ddlQuotaT.length; i++) {
                if (ddlQuotaT.children[i].innerHTML == hQuotaDef.value) {
                    ddlQuotaT.children[i].Selected = true;
                    ddlQuotaT.selectedIndex = i;
                }
            }
        } 
    }
}	

function SPCustQuota(){
    var aData = document.getElementById("aQuotaInfo").value.split('|');
    isNotCustQuota = true;
    if (ddlQuotaT){
        if (aData.length > 0 && aData[0] != ""){
            var oMaxLevel = document.getElementById("MaxLevel")
            var oWarningLevel = document.getElementById("WarningLevel")

            for (var i = 0; i < aData.length; i++){
                var aValue = aData[i].split('^');
                
                if (aValue[0] == ddlQuotaT.options[ddlQuotaT.selectedIndex].value){
                    oMaxLevel.innerHTML = aValue[1];
                    oWarningLevel.innerHTML = aValue[2];
                }
            }
        }
    }
}

function initPropiFrame(){
    try {
        SetiFrame(updateItem, 15);
        parent.initiFrame(ServiceID);
    } catch (e) { }     
}   

function ReportTypeCheck(bSettings){
    var oRepSet = document.getElementById("RepSet");
    var oRepType = document.getElementById("RepType");
    var oFrame = document.getElementById("pfFrame");
    StartPageLoad();
    
    if (bSettings == "1"){
        oRepSet.className = "rowH";
        oRepType.className = "";
        oFrame.src = "ReportFrame.htm";
    } else {
        oRepSet.className = "";
        oRepType.className = "rowH";
        oFrame.src = "ReportRenderTypes.aspx?control=RENDER";
    }
}

function StopPageLoad(){
    var oPageLoad = parent.document.getElementById("imgPageLoad");
    if (!oPageLoad) oPageLoad= parent.parent.document.getElementById("imgPageLoad");
    if (oPageLoad) oPageLoad.style.display = 'none';
}

function StartPageLoad(){
    var oPageLoad = parent.document.getElementById("imgPageLoad");
    if (!oPageLoad) oPageLoad= parent.parent.document.getElementById("imgPageLoad");
    if (oPageLoad) oPageLoad.style.display = '';
}

function HEMailDBBind(Items, prefix, isSelected) {
    if (!(Items.length == 1 && Items[0] == "")) {
        for (var i = 0; i < Items.length; i++) {
            document.getElementById(prefix + Items[i]).style.display = (isSelected ? "" : "none");
        }
    }
}

function HEMailDBCheck(VersionSelected,Prefix,PropertyID) {
    var aEx2003List = document.getElementById(Prefix + "Ex2003List").value.split(",");
    var aEx2007List = document.getElementById(Prefix + "Ex2007List").value.split(",");
    var aEx2010List = document.getElementById(Prefix + "Ex2010List").value.split(",");
    var E2010 = document.getElementById(Prefix + "rptData_ctl00_HE2010");
    var E2007 = document.getElementById(Prefix + "rptData_ctl00_HE2007");
    var E2003 = document.getElementById(Prefix + "rptData_ctl00_HE2003");
    var infoLabel = document.getElementById(Prefix + "lblExMailVer");
    if (infoLabel) infoLabel.innerHTML = VersionSelected;
    document.getElementById(Prefix + "VersionSelected").value = VersionSelected;
    E2010.className = ((VersionSelected == "2010") ? "rowHSel" : "");
    E2007.className = ((VersionSelected == "2007") ? "rowHSel" : "");
    E2003.className = ((VersionSelected == "2003") ? "rowHSel" : "");
    HEMailDBBind(aEx2003List, "mbi" + PropertyID + "_", (VersionSelected == "2003"));
    HEMailDBBind(aEx2007List, "mbi" + PropertyID + "_", (VersionSelected == "2007"));
    HEMailDBBind(aEx2010List, "mbi" + PropertyID + "_", (VersionSelected == "2010"));
    initPropiFrame();
}

function MemberWait(SetWait){
    var oMemTable = document.getElementById("tblAddMembers"); 
    var oFindBtn = document.getElementById("btnFind"); 
    var oImgFind = document.getElementById("imgFind");
    
    if (oMemTable && Page_IsValid){
        if (oFindBtn) oFindBtn.disabled = SetWait;
            
        if (SetWait){
            oMemTable.style.cursor = "wait";
            oImgFind.style.display = '';
            oFindBtn.style.display = 'none';
        } else {
            oMemTable.style.cursor = "default";
        }
    }       
}

function callback_DeleteDistGroup(res) {
    if (res.error != null) alert('An error occured while deleting the distribution group.\n\nError: ' + res.error);
	refreshParent();
}		    

function ReportPanel(ReportID,ReportTypeID){
    var panelWindow = parent.window.open('ReportPanel.aspx?ReportID=' + ReportID + '&ReportTypeID=' + ReportTypeID, 'panel'); 
    panelWindow.focus(); 
}
 
function ToggleReportType(oDDL){
    if (oDDL){
        var aTypes = "trUnassigned,trServiceProvider,trReseller,trCustomer,trUser".split(",");
        for (var i = 0; i < aTypes.length; i++){
            document.getElementById(aTypes[i]).style.display = "none";
        }
        switch (oDDL.options[oDDL.selectedIndex].value){
	        case "1":
		        document.getElementById("trUnassigned").style.display = "";
		        break;		
	        case "2":
		        document.getElementById("trServiceProvider").style.display = "";
		        break;	
	        case "3":
		        document.getElementById("trReseller").style.display = "";
		        break;	
	        case "4":
		        document.getElementById("trCustomer").style.display = "";
		        break;	
	        case "5":
		        document.getElementById("trUser").style.display = "";
		        break;		
        }
    }
}

function ReportServiceFilter(){
    var chk = document.getElementById("uc_set_chkServiceFilter");
    if (chk){
        document.getElementById("uc_set_cblServices").disabled = !chk.checked;
    }
}
                
function PrintReport(){
    var p = document.getElementById("imgPrinter");
    var l = document.getElementById("lnkPrint");
    var b = document.getElementById("lnkBack");
    var tblSetup = document.getElementById("tblRepSetup");
    var tblList = document.getElementById("trRepList");
    var genRow = document.getElementById("trGenRow");
    var Option1 = document.getElementById("tdOption1");
    var Option2 = document.getElementById("tdOption2");
    var Option3 = document.getElementById("tdOption3");
    var RepData = document.getElementById("ReportPlaceholder");
    
    if (p && l && tblSetup && tblList && genRow){
        if (l.style.display == "none"){
            l.style.display = "";
            b.style.display = "none";
            p.style.display = "";
            tblSetup.style.display = "";
            tblList.style.display = "";
            Option1.style.display = "";
            Option2.style.display = "";
            Option3.style.display = "";
            RepData.style.marginTop = "0px";
            genRow.className = "ServiceAction";
        } else {
            l.style.display = "none";
            b.style.display = "";
            p.style.display = "none";
            tblSetup.style.display = "none";
            tblList.style.display = "none";
            genRow.className = "";
            Option1.style.display = "none";
            Option2.style.display = "none";
            Option3.style.display = "none";
            RepData.style.marginTop = "-40px";
            window.print();
        }
    }
}   

function ShowReportProgress(btnGen, imgGen, ddlType){
    oDDL = document.getElementById(ddlType);
    if (oDDL && (oDDL.options[oDDL.selectedIndex].value == "HTML4.0" || oDDL.options[oDDL.selectedIndex].value == "HTML3.2")){
        ShowProgress(btnGen, imgGen);
    }
}

// Calendar Functions

function DateUpdate(TextDate, frameID, value){
    var oDate = parent.document.getElementById(TextDate);
    var oFrame = parent.document.getElementById(frameID);
    if (oDate && oFrame){
        oDate.value = value;
        oFrame.style.display = "none";
    }
}

function ShowCalFrame(TextDate, frameID){
    var oDate = parent.document.getElementById(TextDate);
    var oFrame = document.getElementById(frameID);
    
    if (oFrame && oDate){
        if (oFrame.style.display == ""){
            oFrame.style.display = "none";
        } else {
            oFrame.style.display = "";
            oFrame.src = "/CortexDotNet/Common/CalendarFrame.aspx?txt=" + TextDate + "&FrameID=" + frameID + "&date=" + oDate.value;
        }
    }
}   

function OabVSChange(oChk, DataKey){
    var oDataGrid = document.getElementById(DataKey)
    if (oDataGrid) oDataGrid.disabled = !oChk.checked;
}

// Contact 

function callback_DeleteContactAJAX(res) {
    if (res.error != null) alert('An error occured while deleting the contact.\n\nError: ' + res.error);
	refreshParent();
}

// Package Wizard
function TemplateSaveCustomerList(){
    if (frames["CustSelectiFrame"].document.getElementById("SaveAndClose")) {
        frames["CustSelectiFrame"].document.getElementById("SaveAndClose").value = "1";
        frames["CustSelectiFrame"].theForm.submit();
    } else {
        theForm.submit();
    }
}

function ShowPMProgress(TypeID){
    document.getElementById(tagPrefix + "lnkPrev").disabled = true;
    document.getElementById(tagPrefix + "lnkNext").disabled = true;
    document.getElementById(tagPrefix + "lnkFinish").disabled = true;
    
    if (TypeID == 2){
        ShowProgress(tagPrefix + "lnkFinish", "imgDone"); 
    } else if (TypeID == 0){
        ShowProgress(tagPrefix + "lnkPrev", "imgPrev"); 
    } else {
        ShowProgress(tagPrefix + "lnkNext", "imgNext"); 
    }
}

function SaveSALPackage(){
    var postData = document.getElementById("salValues");
    if (postData){
        var data = "";
        var value = "";
        
        for (var i = 0; i < SALItems.length; i++){
            var ddl = document.getElementById("dest" + SALItems[i]);
            if (ddl){
                value = ddl.options[ddl.selectedIndex].value;
                if (value == "") value = "0";
                if (data != "") data += ",";
                data += SALItems[i] + ">" + value;
            }
        }
        postData.value = data;
    }
    return true;
}

function AddSALPackage(){
    var packages = document.getElementById(tagPrefix + "uc_packages_SALPackages");
     
    for (var i = 0; i < packages.options.length; i++) {
        if (packages.options[i].selected){
            AddSALTR(packages.options[i].value, packages.options[i].text);
        }
    }
    
    var found = true;
    while (found){
        found = false;
        for (i = 0; i < packages.options.length; i++) {
            if (packages.options[i].selected){
                packages.options[i] = null;
                found = true;
                break;
            }
        }
    }
    SyncSALRows();
}

function RemoveSALTR(ItemID, Label){
    var table = document.getElementById("migrationTable");
    
    for (var i = 0; i < table.childNodes.length; i++){
        if (table.childNodes[i].id == ("SAL" + ItemID)){
            table.removeChild(table.childNodes[i]);
	        break;
        }
    }
    
    var packages = document.getElementById(tagPrefix + "uc_packages_SALPackages");
    packages.options[packages.options.length] = new Option(Label,ItemID);
    SyncSALRows();
}   

function SyncSALRows(){
    var packages = document.getElementById(tagPrefix + "uc_packages_SALPackages");
    var remList = "";
    var found = false;
    
    for (var i = 0; i < SALItems.length; i++){
        var ddl = document.getElementById("dest" + SALItems[i]);
        if (ddl){

            for (var x = 0; x < ddl.options.length; x++){
                found = false;
            
                for (var j = 0; j < packages.options.length; j++){
                    if (packages.options[j].value == ddl.options[x].value){
                        found = true;
                        break;
                    }
                }
                
                if (!found){
                    if (remList != "") remList += ",";
                    remList += ddl.options[x].value;
                }
            }
            break;
        }
    }

    if (remList != ""){
        var deleteList = remList.split(",");
        
        for (i = 0; i < SALItems.length; i++){
            var ddl = document.getElementById("dest" + SALItems[i]);
            if (ddl){
                for (var j = 0; j < deleteList.length; j++){
                    for (var x = 0; x < ddl.options.length; x++){
                        if (ddl.options[x].value == deleteList[j]){
                            ddl.options[x] = null;
                            break;
                        }
                    }
                }
            }
        }
    }
    
    for (var i = 0; i < SALItems.length; i++){
        var ddl = document.getElementById("dest" + SALItems[i]);
        if (ddl){
            for (var j = 0; j < packages.options.length; j++){
                found = false;
                 
                for (var x = 0; x < ddl.options.length; x++){
                    if (ddl.options[x].value == packages.options[j].value){
                        found = true;
                        break;
                    }
                }
                if (!found) ddl.options[ddl.options.length] = new Option(packages.options[j].text,packages.options[j].value);
            }
        }
    }
}

function AddSALTR(ItemID, Label){
    var table = document.getElementById("migrationTable");
    var tr = document.createElement("tr");
    var tdSource = document.createElement("td");
    var tdDestination = document.createElement("td");
    var tdRemove = document.createElement("td");
    var remLink = document.createElement("a");
    var remImg = document.createElement("img");
    var select = document.createElement("select");
    var option = document.createElement("option");
    var cellText = document.createTextNode(Label);
    
    tr.id = "SAL" + ItemID;
    tdSource.appendChild(cellText);
    
    remLink.href = "javascript:RemoveSALTR(" + ItemID + ",'" + Label + "');";    
    remLink.innerHTML = "Remove";
    remImg.src = "/CortexDotNet/pics/cross.gif";
    remImg.style.cursor = "pointer";
    remImg.onclick = function() { RemoveSALTR(ItemID,Label); }
    tdRemove.appendChild(document.createTextNode(" "));
    tdRemove.appendChild(remImg);
    tdRemove.appendChild(document.createTextNode(" "));
    tdRemove.appendChild(remLink);
    
    select.id = "dest" + ItemID;
    select.style.width = 250;
    select.options[select.options.length] = new Option("","");
    select = SALBuildSelect(select);
    tdDestination.appendChild(select);
    
    tr.appendChild(tdSource);
    tr.appendChild(tdDestination);
    tr.appendChild(tdRemove);
    tr.className = "tabletext2";
    
    table.appendChild(tr);
}

function SALBuildSelect(select){
    var packages = document.getElementById(tagPrefix + "uc_packages_SALPackages");
    
    for (var i = 0; i < packages.options.length; i++) {
        select.options[select.options.length] = new Option(packages.options[i].text,packages.options[i].value);
    }
    
    return select;
}

function initValues(val){
    if (items != ""){
        var items = val.split(",");
        var packages = document.getElementById(tagPrefix + "uc_packages_SALPackages");
        
        for (var i = 0; i < items.length; i++){
            for (var j = 0; j < packages.options.length; j++){
                if (packages.options[j].value == items[i].split(">")[0]){
                    packages.options[j].selected = true;
                }
            }
        }
        
        AddSALPackage();
        
        for (var i = 0; i < items.length; i++){
            var ddl = document.getElementById("dest" + items[i].split(">")[0]);
            if (ddl){
                for (var j = 0; j < ddl.options.length; j++){
                    if (ddl.options[j].value == items[i].split(">")[1]){
                        ddl.options[j].selected = true;
                        break;
                    }
                }
            }
        }
    }
}

function HEReplyAddress(option){
    var rbPrimary = document.getElementById(controlPrefix + "rbReplyPrimary");
    if (rbPrimary){
        var rbCustom = document.getElementById(controlPrefix + "rbReplyCustom");
        var ddlEmail = document.getElementById(controlPrefix + "ddlEmail");
        var txtReplyTo = document.getElementById(controlPrefix + "txtReplyTo");

        if (option > -1){
            rbPrimary.checked = (option == 1);
            rbCustom.checked = (option == 0);
        }
            
        ddlEmail.visible = !rbPrimary.checked;
        txtReplyTo.disabled = !rbCustom.checked;
        	    
        if (rbCustom.checked){
            txtReplyTo.style.backgroundColor = "";
            ddlEmail.style.backgroundColor = "#f1f1f1";
        } else {
            txtReplyTo.style.backgroundColor = "#f1f1f1";
            ddlEmail.style.backgroundColor = "";
        }
    }
}

function divLimitResults(count){
    var oDV = document.getElementById("dvDistributionGrps");
	if (oDV){
		if (count == 0){
			oDV.style.display = "none";
		} else {
			oDV.style.display = "";
			if (count > 5) oDV.style.height = "144px";
		}
	}		
}

// Roles

function RolesServiceScope(){
    var ddl = document.getElementById("ddlService");
    var filter0 = document.getElementById("rbServiceFilter_0");
    var filter1 = document.getElementById("rbServiceFilter_1");
    var tr = document.getElementById("trServiceScrope");
    tr.disabled = ddl.options[ddl.selectedIndex].value == "0";
    filter0.disabled = tr.disabled;
    filter1.disabled = tr.disabled;
}

function ToggleRole(img, PermittedScope){           
    var CurrentScopeID = 0;
    var PermInput = document.getElementById("CP" + img.id);
    
    if (img.src.toLowerCase().indexOf("/object.gif") > -1){
        CurrentScopeID = 1;
    } else if (img.src.toLowerCase().indexOf("/child.gif") > -1){
        CurrentScopeID = 2;
    } else if (img.src.toLowerCase().indexOf("/objectchild.gif") > -1){
        CurrentScopeID = 3;
    }
    
    switch (PermittedScope){
	    case 1:
            if (CurrentScopeID == 0) {
                CurrentScopeID = 1;
            } else {
                CurrentScopeID = 0;
            }
		    break;		
	    case 2:
            if (CurrentScopeID == 0) {
                CurrentScopeID = 2;
            } else {
                CurrentScopeID = 0;
            }
		    break;		
	    case 3:
	        CurrentScopeID += 1;
	        if (CurrentScopeID > 2) CurrentScopeID = 0;
            break;
	    case 4:
            if (CurrentScopeID == 0) {
                CurrentScopeID = 3;
            } else {
                CurrentScopeID = 0;
            }
		    break;		
	    case 5:
            if (CurrentScopeID == 0){
                CurrentScopeID = 1;
            } else if (CurrentScopeID == 1){
                CurrentScopeID = 3;
            } else if (CurrentScopeID == 3){
                CurrentScopeID = 0;
            }
            break;	
	    case 6:
            if (CurrentScopeID == 0){
                CurrentScopeID = 2;
            } else if (CurrentScopeID == 2){
                CurrentScopeID = 3;
            } else if (CurrentScopeID == 3){
                CurrentScopeID = 0;
            }
            break;	
	    case 7:
	        CurrentScopeID += 1;
	        if (CurrentScopeID > 3) CurrentScopeID = 0;
            break;
    }            
    
    PermInput.value = CurrentScopeID;   
    switch (CurrentScopeID){
	    case 0:
	        img.src = "/CortexDotNet/pics/roles/none.gif";
		    break ;				
	    case 1:
            img.src = "/CortexDotNet/pics/roles/object.gif";
		    break ;		
	    case 2:
            img.src = "/CortexDotNet/pics/roles/child.gif";
		    break ;		
	    case 3:
            img.src = "/CortexDotNet/pics/roles/objectchild.gif";
            PermInput.value = 4;  
		    break ;		
	}
}

function ShowHideRole(itemID,tabCell){
    for (var i = 0; i < aPermGrpList.length; i++){	
        if (aPermGrpList[i] == itemID){
            document.getElementById("tblG" + aPermGrpList[i]).style.display = '';
        } else {
            document.getElementById("tblG" + aPermGrpList[i]).style.display = 'none';
        }
    }

    if (itemID == 14886 || itemID == 8 || itemID == 11){
        document.getElementById("DF" + itemID).style.display = '';
    } else {
        document.getElementById("DF" + itemID).style.display = 'none';
    }

    var RolesMenu = document.getElementById("trRolesMenu");
    for (var i = 0; i < RolesMenu.childNodes.length; i++){	
        RolesMenu.childNodes[i].className = "MenuItemTab";
    }
    tabCell.className = "SelectedMenuItemTab";
    document.getElementById("currCls").value = tabCell.className;
    udpateRoleiFrame();
}

function ToggleRoleDDL(ddlObj){
    var displayValue = '';
    var imgAccess = null;
        
    for (var j = 0; j < ddlObj.options.length; j++){
        var Prefix = ddlObj.options[j].value.split("|")[0];
    
        if (j == ddlObj.selectedIndex){
            displayValue = '';
        } else {
            displayValue = 'none';
        }
        var IDList = ddlObj.options[j].value.split("|")[1].split(",");
        for (var i = 0; i < IDList.length; i++){
            document.getElementById("R" + Prefix + "_" + IDList[i]).style.display = displayValue;
            imgAccess = document.getElementById("V" + Prefix + "_" + IDList[i]);
            if (imgAccess) {
                if (imgAccess.parentNode.childNodes.length > 0) {
                    if (imgAccess.parentNode.childNodes[0].nodeName == "IMG" && imgAccess.parentNode.childNodes[0].src.indexOf("/pics/m.gif") != -1) {
                        RoleAccExp(imgAccess.parentNode.childNodes[0], Prefix + "_" + IDList[i]);                       
                    } else if (imgAccess.parentNode.childNodes[1].nodeName == "IMG" && imgAccess.parentNode.childNodes[1].src.indexOf("/pics/m.gif") != -1) {
                        RoleAccExp(imgAccess.parentNode.childNodes[1], Prefix + "_" + IDList[i]);  
                    }
                }
            }
        }
    }
    udpateRoleiFrame();
}

function RoleDDLInit(ddlList){
    if (ddlList != ""){
        var list = ddlList.split("|");
        for (var i = 0; i < list.length; i++){
            ToggleRoleDDL(document.getElementById(list[i]));
        }
    }
}
	
function ToggleDisplay(objID){
    var obj = document.getElementById(objID);
    if (obj) {
        if (obj.style.display == ''){
            obj.style.display = 'none';
        } else {
            obj.style.display = ''; 
        }
    }
}

function ToggleAdvUserPrivileges(){
    ToggleDisplay('Uc_UserPrivileges1_trRoleInfo');
    var RoleInfo = document.getElementById("Uc_UserPrivileges1_trRoleInfo");
    if (RoleInfo){
        if (RoleInfo.style.display == ''){
            ToggleCustomRole();
        } else {
            document.getElementById("Uc_UserPrivileges1_trRoleGroup").style.display = 'none';
            document.getElementById("Uc_UserPrivileges1_trRoleTree").style.display = 'none';
        }
    }
    if (document.getElementById("Uc_UserPrivileges1_MyTree_action")) ToggleDisplay('Uc_UserPrivileges1_trOU');
}

function ToggleCustomRole(){
    var chkCustom = document.getElementById("Uc_UserPrivileges1_chkCustomRoles");
    var RoleGroup = document.getElementById("Uc_UserPrivileges1_trRoleGroup");
    var RoleTree = document.getElementById("Uc_UserPrivileges1_trRoleTree");
    
    if (chkCustom && RoleGroup && RoleTree){
        if (chkCustom.checked){
            RoleTree.style.display = '';
            RoleGroup.style.display = 'none';
        } else {
            RoleTree.style.display = 'none';
            RoleGroup.style.display = '';
        }
    }
}

function ProcessMenuNodes(nodes,menuLabel){
    for (var i = 0; i < nodes.length; i++){
        if (nodes[i].nodeName == "TD" && nodes[i].className == "MenuItemTab"){
            for (var j = 0; j < MenuItems.length; j++){
                if (MenuItems[j] == nodes[i].innerHTML){
                    nodes[i].setAttribute("onclick","__doPostBack('" + menuLabel + "','" + MenuItems[j+1] + "')");
                    j = 100;
                }
                j++;
            }
        } else if (nodes[i].childNodes.length > 0) {
            ProcessMenuNodes(nodes[i].childNodes,menuLabel);
        }
    }
}

function SetHEDisclaimerText(Disclaimer,Face,Size,Colour){
    var txtDisclaimer = document.getElementById(Disclaimer);
    var ddlFace = document.getElementById(Face);
    var ddlSize = document.getElementById(Size);
    var ddlColour = document.getElementById(Colour);
    if (ddlFace) {
        var CurrentSize = ddlSize.options[ddlSize.selectedIndex].value + "";
        var fontSize = "";
        switch (CurrentSize) {
            case "0":
                fontSize = "xx-small";
                break;
            case "1":
                fontSize = "x-small";
                break;
            case "2":
                fontSize = "larger";
                break;
            case "3":
                fontSize = "large";
                break;
            case "4":
                fontSize = "x-large";
                break;
        }
        txtDisclaimer.style.color = ddlColour.options[ddlColour.selectedIndex].text;
        txtDisclaimer.style.fontFamily = ddlFace.options[ddlFace.selectedIndex].text;
        txtDisclaimer.style.fontSize = fontSize;
    }
} 

function ChangeDNSHost(isMainSelected){
    var rbHostMain = document.getElementById(rbHostID);
    var rbSubHost = document.getElementById(rbSubHostID);
    var txtHost = document.getElementById(txtHostID);
    if (rbHostMain){
        rbHostMain.checked = !isMainSelected;
        rbSubHost.checked = isMainSelected;
        txtHost.disabled = !isMainSelected;
        if (txtHost.disabled){
            txtHost.style.backgroundColor = "#f1f1f1";
        } else {
            txtHost.style.backgroundColor = "";
        }
    }
}

function CheckIPMove(txt,e){           
    var keynum;
    if (window.event) {
        keynum = e.keyCode;
    } else {
      keynum = e.which;
    }
    var keychar = String.fromCharCode(keynum);
    var numcheck = /\d/;
    if (!numcheck.test(keychar)) return false;
    if (txt.value.length == 3){
        var nextObj = document.getElementById(txt.id.substr(0, txt.id.length - 1) + (parseInt(txt.id.charAt(txt.id.length -1)) + 1));
        if (nextObj) nextObj.focus();
    }
    return true;
}

function AntiSpamChange(rbOption){
    var txt = document.getElementById(rbOption.id.replace("rbJunk", "txtJunk"));
    var rbEnabled = document.getElementById(rbOption.id + "_2");
    if (txt && rbEnabled) {
        txt.disabled = !rbEnabled.checked;
        if (txt.disabled) {
            txt.style.backgroundColor = "#f1f1f1";
        } else {
            txt.style.backgroundColor = "";
            txt.focus();
        }
    }
    ValidateAntiSpam();
}

function SALInfoChange(itemID){
    if (!aSALOverview || !SALOverview) return;
    var lblPrice = document.getElementById(lblPriceID);
    var lblPriceSpace = document.getElementById(lblPriceSpaceID);
    var index = GetSALObjIndex(itemID, "$");
    SALOverview.innerHTML = "";
    lblPrice.innerHTML = "";
    SALOverview.innerHTML = "";

    for (var i = 0; i < aSALOverview.length; i++)
    {
        if (aSALOverview[i][0] == index){
            if (aSALOverview[i][1] != "") SALOverview.innerHTML = "<br />" + aSALOverview[i][1] + "<br />";

            if (aSALOverview[i][2] != ""){
                if (lblPrice.innerHTML != "") lblPrice.innerHTML += "<br />";
                lblPrice.innerHTML += aSALOverview[i][2] + "<br />";
            }
            if (lblPrice.innerHTML != "") {
                lblPriceSpace.style.display = "";
            } else {
                lblPriceSpace.style.display = "none";
            }
            lblPrice.style.display = lblPriceSpace.style.display;
            SALManagerInitSize();
            break;
        }
    }
}

function SALHidePriceLabels() {
    var lblPrice = document.getElementById(lblPriceID);
    var lblPriceSpace = document.getElementById(lblPriceSpaceID);
    if (lblPrice && lblPriceSpace) {
        lblPrice.style.display = "none";
        lblPriceSpace.style.display = "none";
    }
}

function GetSALObjIndex(itemID,splitter){
    //itemID = ctl12$uc_SALM$rptData$ctl02$rbSAL
    var index = itemID.split("rptData" + splitter + "ctl")[1].replace(splitter + "rbSAL", "").replace(splitter + "chkSAL", "");
    if (index.charAt(0) == "0") index = index.charAt(1);
    return index;
}

function initSALInfo() {
    if (!aSALOverview || !SALOverview) return;
    var elements = getAllElements("INPUT");
    var lblPrice = document.getElementById(lblPriceID);
    var lblPriceSpace = document.getElementById(lblPriceSpaceID);
    lblPrice.innerHTML = "";
    SALOverview.innerHTML = "";
    
    for (var j = 0; j < elements.length; j++){
        if (elements[j].id.indexOf("_chkSAL") != -1){
            if (elements[j].checked){
                var index = GetSALObjIndex(elements[j].id,"_");
                
                for (var i = 0; i < aSALOverview.length; i++){
                    if (aSALOverview[i][0] == index){
                        if (aSALOverview[i][1] != ""){
                            if (SALOverview.innerHTML != "") SALOverview.innerHTML += "<br />";
                            SALOverview.innerHTML += aSALOverview[i][1] + "<br />";
                        }
                        if (aSALOverview[i][2] != ""){
                            if (lblPrice.innerHTML != "") lblPrice.innerHTML += "<br />";
                            lblPrice.innerHTML += aSALOverview[i][2] + "<br />";
                        }
                        break;
                    }
                }  
            }
        }
    }
    if (lblPrice.innerHTML != "") {
        lblPriceSpace.style.display = "";
    } else {
        lblPriceSpace.style.display = "none";
    }
    lblPrice.style.display = lblPriceSpace.style.display;
    if (SALOverview.innerHTML != "") SALOverview.innerHTML = "<br />" + SALOverview.innerHTML;
    SALManagerInitSize();
}

function ToggleBrandType(){
    var ddl = document.getElementById(ddlBrands);
    var rb = document.getElementById(brandTypes + "_2");
    if (ddl && rb) ddl.disabled = !rb.checked;
}
		    
function ToggleLogin(){
    var trNewPass = document.getElementById("trNewPass");
    var trConfirmPass = document.getElementById("trConfirmPass");
    var trPassHelp = document.getElementById("trPassHelp");
    var isChangePass = document.getElementById("isChangePass");
    
    if (trNewPass.style.display == ""){
        trNewPass.style.display = "none";
        trConfirmPass.style.display = "none";
        trPassHelp.style.display = "none";
        isChangePass.value = "0";
    } else {
        trNewPass.style.display = "";
        trConfirmPass.style.display = "";
        trPassHelp.style.display = "";
        isChangePass.value = "1"
    }
}

function DefaultUsername(UpnID,UsernameID,MaxLength){
    var UPN = document.getElementById(UpnID);
    var Username = document.getElementById(UsernameID);
    if (UPN && Username){
        if (Username.value == "") Username.value = UPN.value.substr(0,MaxLength);
    }
}

function DefaultDisplayName(FirstNameID,LastNameID,DisplayID){
    var FirstName = document.getElementById(FirstNameID);
    var LastName = document.getElementById(LastNameID);
    var Display = document.getElementById(DisplayID);
    if (FirstName && LastName && Display){
        if (Display.value == "" && FirstName.value != "" && LastName.value != ""){
            Display.value = FirstName.value + ' ' + LastName.value;
        }
    }
}
            
function ToggleUserUI(item){
    var dispObj;
    var img;
    var barObj;
    
    if (item == "email"){
        dispObj = document.getElementById("dvEmail");
        img = document.getElementById("imgExpandMail"); 
        barObj = document.getElementById("barUserEmail"); 
    } else if (item == "account"){
        dispObj = document.getElementById("tblAcc");
        img = document.getElementById("imgAccountExp"); 
        barObj = document.getElementById("barUserAccount"); 
    } else if (item == "pass"){
        dispObj = document.getElementById("tblPass");
        img = document.getElementById("imgPassExp"); 
        barObj = document.getElementById("barUserPassword"); 
    } else if (item == "details"){
        dispObj = document.getElementById("tblDetails");
        img = document.getElementById("imgDetailExp"); 
        barObj = document.getElementById("barUserDetail"); 
    } else if (item == "services"){
        dispObj = document.getElementById("dvServices");
        img = document.getElementById("imgExpandServices"); 
        barObj = document.getElementById("barUserServices"); 
    }

    if (dispObj.style.display == ''){
        dispObj.style.display = 'none';
        img.src = '/CortexDotNet/pics/exp.jpg';
        barObj.value = "0";
    } else {
        dispObj.style.display = '';
        img.src = '/CortexDotNet/pics/coll.jpg';
        barObj.value = "1";
    }
    InitEditUseriFrame();
}	    

function toggleCitrixGrpGen(){
    var generate = document.getElementById("rbDirResource_0");
    var search = document.getElementById("rbDirResource_1");
    var custom = document.getElementById("rbDirResource_2");
    var trSearch = document.getElementById("trSearch");
    var trCustom = document.getElementById("trCustom");          
    if (generate){
        if (generate.checked){
            trSearch.style.display = 'none';
            trCustom.style.display = 'none';
        } else if (search.checked){
            trSearch.style.display = '';
            trCustom.style.display = 'none';
        } else if (custom.checked) {
            trSearch.style.display = 'none';
            trCustom.style.display = '';
        }
    }
    initCurrentPage();
}

function toggleCitrixGrpMod() {
    var rename = document.getElementById("rbModify_0");
    var trSearch = document.getElementById("trSearch");
    var trCustom = document.getElementById("trCustom");
    var lblChange = document.getElementById("lblGroupChange");
    
    if (rename) {
        if (rename.checked) {
            trSearch.style.display = 'none';
            lblChange.style.display = 'none';
            trCustom.style.display = '';
        } else {
            trSearch.style.display = '';
            lblChange.style.display = '';
            trCustom.style.display = 'none';
        }
    }
    initCurrentPage();
}

function ToggleGrpMod() {
    var trMod = document.getElementById("trModifyGroup");
    if (!chkGrpMod) chkGrpMod = document.getElementById("chkChange");
    
    if (chkGrpMod.checked) {
        trMod.style.display = "";
        toggleCitrixGrpMod();
    } else {
        trMod.style.display = "none";
        document.getElementById("trSearch").style.display = "none";
        document.getElementById("trCustom").style.display = "none";
    }
    initCurrentPage();
}    

function ToggleGroupUsers(){
    var thUserSelect = document.getElementById("thSelect");
    var thUserSelectB = document.getElementById("thSelectB"); 
    var isExpanded = document.getElementById("trBarMulti").style.display == "";
    if (thUserSelect){
        if (isExpanded){
            thUserSelect.style.display = "";
        } else {
            thUserSelect.style.display = "none";
        }
        
        thUserSelectB.style.display = thUserSelect.style.display;
        var elements = getAllElements("TD");
        for (var i = 0; i < elements.length; i++){
            if (elements[i].id.indexOf("rusr_") != -1){
                elements[i].style.display = thUserSelect.style.display;
            }
        }
        
    }
}

function UserUISet(key,img,tr){
    var res = ToggleBar(img,tr);
    Users.SetUI(key,res,SetAsyncError);
}

function UserUIDDLSet(key,ddl){
    Users.SetUI(key,ddl.options[ddl.selectedIndex].value,SetAsyncError);
}

function ToggleGroupUser(chkUser){
    var UserID = chkUser.id.replace('chkUser', '');
    Users.SetGroupMember(UserID,chkUser.checked,callback_UpdateGroupCount);
}

function ToggleGroupList(isChecked){
    var userList = SelectBulkUsers(isChecked);
    Users.SetGroupMember(userList,isChecked,callback_UpdateGroupCount);
}

function callback_UpdateGroupCount(res){
    SetAsyncError(res);
    if (!res.error) SetGroupUserCount(res.value);
}

function ClearUserGroup(){
    SelectBulkUsers(false);	    
    Users.RemoveAllGroupMembers(callback_UpdateGroupCount);
}

function MultiUserUpdate(type) {
    document.getElementById(grpMgrPrefix + "_lnk" + type).style.display = "none";
    document.getElementById("imgP" + type).style.display = "";
    Users.DoMultiUserUpdate(type, callback_DoMultiUserUpdate);
}

function callback_DoMultiUserUpdate(res) {
    document.getElementById(grpMgrPrefix + "_lnk" + res.value).style.display = "";
    document.getElementById("imgP" + res.value).style.display = "none";
    SetAsyncError(res);
}

function ChangeAutoSearch(chk,objVar) {
    objVar.msDataType = objVar.msDataType.replace("|domain", "").replace("|label", "");
    if (document.getElementById(chk.id + "_0").checked) {
        objVar.msDataType = objVar.msDataType + "|label";
    } else {
        objVar.msDataType = objVar.msDataType + "|domain";
    }
}

function ChangeUserSearch(chk, objVar) {
    objVar.msDataType = objVar.msDataType.replace("|upn", "").replace("|label", "");
    if (document.getElementById(chk.id + "_0").checked) {
        objVar.msDataType = objVar.msDataType + "|label";
    } else {
        objVar.msDataType = objVar.msDataType + "|upn";
    }
}

function ToggleEmailNotification(prefix) {
    var trCustom = document.getElementById(prefix + "trCustom");
    var trRecipCustom = document.getElementById(prefix + "trRecipCustom");
    var trCustomer = document.getElementById(prefix + "trCustomer");
    var trRecipCustomers = document.getElementById(prefix + "trRecipCustomers");
    var trUser = document.getElementById(prefix + "trUser");
    var trRecipUsers = document.getElementById(prefix + "trRecipUsers");
    var trRole = document.getElementById(prefix + "trRole");
    var trRecipRoles = document.getElementById(prefix + "trRecipRoles");
    var trReseller = document.getElementById(prefix + "trReseller");
    var trRecipReseller = document.getElementById(prefix + "trRecipReseller");
    
    trCustom.style.display = 'none';
    trUser.style.display = 'none';
    trCustomer.style.display = 'none';
    trRole.style.display = 'none';
    trReseller.style.display = 'none';
    
    if (document.getElementById(prefix + "rbRecipient_0").checked) {
        trCustom.style.display = '';
    } else if (document.getElementById(prefix + "rbRecipient_1").checked) {
        trUser.style.display = '';
    } else if (document.getElementById(prefix + "rbRecipient_2").checked) {
        trCustomer.style.display = '';
    } else if (document.getElementById(prefix + "rbRecipient_3").checked) {
        trRole.style.display = '';
    } else if (document.getElementById(prefix + "rbRecipient_4").checked) {
        trReseller.style.display = '';
    }
    
    trRecipCustom.style.display = trCustom.style.display;
    trRecipCustomers.style.display = trCustomer.style.display;
    trRecipUsers.style.display = trUser.style.display;
    trRecipRoles.style.display = trRole.style.display;
    trRecipReseller.style.display = trReseller.style.display;
    initParentiFrame();
}

// fix the IE6 SSL secure menu error
function PopOut_ShowCortex(panelId, hideScrollers, data) {
    var panel = WebForm_GetElementById(panelId);
    if (panel && panel.tagName.toLowerCase() == "div") {
        panel.style.visibility = "visible";
        panel.style.display = "inline";
        if (!panel.offset || hideScrollers) {
            panel.scrollTop = 0;
            panel.offset = 0;
            var table = WebForm_GetElementByTagName(panel, "TABLE");
            if (table) {
                WebForm_SetElementY(table, 0);
            }
        }
        PopOut_Position(panel, hideScrollers);
        var z = 1;
        var isIE = window.navigator && window.navigator.appName == "Microsoft Internet Explorer" && !window.opera;
        if (isIE && data) {
            var childFrameId = panel.id + "_MenuIFrame";
            var childFrame = WebForm_GetElementById(childFrameId);
            var parent = panel.offsetParent;
            if (!childFrame) {
                childFrame = document.createElement("iframe");
                childFrame.id = childFrameId;
                //childFrame.src = (data.iframeUrl ? data.iframeUrl : "about:blank");
                childFrame.src = (data.iframeUrl ? data.iframeUrl : "/CortexDotNet/blank.html");
                childFrame.style.position = "absolute";
                childFrame.style.display = "none";
                childFrame.scrolling = "no";
                childFrame.frameBorder = "0";
                if (parent.tagName.toLowerCase() == "html") {
                    document.body.appendChild(childFrame);
                }
                else {
                    parent.appendChild(childFrame);
                }
            }
            var pos = WebForm_GetElementPosition(panel);
            var parentPos = WebForm_GetElementPosition(parent);
            WebForm_SetElementX(childFrame, pos.x - parentPos.x);
            WebForm_SetElementY(childFrame, pos.y - parentPos.y);
            WebForm_SetElementWidth(childFrame, pos.width);
            WebForm_SetElementHeight(childFrame, pos.height);
            childFrame.style.display = "block";
            if (panel.currentStyle && panel.currentStyle.zIndex) {
                z = panel.currentStyle.zIndex;
            }
            else if (panel.style.zIndex) {
                z = panel.style.zIndex;
            }
        }
        panel.style.zIndex = z;
    }
}
