//*** SERVICES PAGE FUNCTIONS ***
String.prototype.trim = function () {
    return this.replace(/^\s+|\s+$/g, "");
}

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) 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 + ".png", parent.getStatusText(colour + '.png'));
		} catch (e) { }
	}
}

function updateParentImage(Name, itemID, Pic, Alt) {
	var oImage = parent.document.getElementById(Name + itemID);
	if (!oImage) oImage = document.getElementById(Name + itemID);
	if (oImage) {
	    if (Pic.indexOf("CortexDotNet/", 0) > -1) {
	        oImage.src = Pic;
	    } else {
	        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);
	if (oSpan) 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;
	mainForm = document.getElementById('_ctl1');
	if (mainForm) return mainForm;

	return document.forms[0];
}

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 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 = "";
		
		// DO NOT ADD NEW Types UNLESS NEEDED
		// type -5 should be used by default. the url will be set similar to:
		// <input type="hidden" name="FrameURL" id="FrameURL" value="/CortexDotNet/Customer/CustomeriFrame.aspx?CustomerID=" />
		var parentServices
		switch (Type) {
			case -5:
				URL = GetValue("FrameURL") + key;
				var copy = document.getElementById("copyKey");
				if (copy) URL = URL + "&copykey=" + copy.value;
				break;
			case -6:
				key = GetTag("AdvFrameKey", "");
				URL = GetValue("FrameURL" + itemID) + key + "&ItemID=" + itemID;
				break;
            case -8:
                URL = GetValue("FrameURL2") + key;
                break;
            case -17:
                alert("Access to new service instances is denied.");
                showhideD(itemID, Type);
                return 0;
			case 0:
				URL = "UseriFrame.aspx?UserID=" + key;
				break;
			case 1:
				URL = "UseriFrame.aspx?isTemplate=True&UserID=" + 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 7:
				URL = "HEpackageiFrame.aspx?packageID=" + itemID + "&loc=" + GetTag("loc", "");
				break;
			case 8:
				URL = "ContactDetails.aspx?key=" + key + "&path=" + GetTag("path", itemID);
				break;
			case 9:
				URL = "ServiceSetupiFrame.aspx?key=" + key;
				break;
			case 10:
				URL = "EditDistributionGroup.aspx?key=" + key + "&path=" + GetTag("path", itemID) + "&group=" + GetTag("group", "");
				break;
			case 11:
				URL = "/CortexDotNet/Services/VirtualMachine/VMStateiFrame.aspx?ID=" + key;
				break;
			case 14:
				URL = "/CortexDotNet/Configuration/WebServiceiFrame.aspx?key=" + key + "&loc=" + GetTag("loc", "");
				break;
			case 15:
				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:
				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 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].disabled) {
			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/indicator.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.png';
				}

				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.png';
				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/new.png";
			UpdateImg.src = "/CortexDotNet/pics/updateg.png";
		} else {
			NewUser.className = "";
			UpdateUser.className = "rowB";
			NewImg.src = "/CortexDotNet/pics/newg.png";
			UpdateImg.src = "/CortexDotNet/pics/update.png";
		}

		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(ServerName) {
	UpdateProgress(controlPrefix + "btnSync", "imgSyc", true);
	ReportManager.SyncReports(ServerName,callback_SyncReports);
}

function callback_SyncReports(res) {
	UpdateProgress(controlPrefix + "btnSync", "imgSyc", false);
	if (res.value != 'success') {
		document.getElementById(controlPrefix + "lblError").innerHTML = res.value;
	} else {
	    rptTypeCheck('1');
	}
}

function GenerateReportingViews() {
    UpdateProgress(controlPrefix + "btnGenerate", "imgGenerate", true);
    ReportManager.GenerateReportingViews(callback_GenerateReportingViews);
}

function callback_GenerateReportingViews(res) {
    UpdateProgress(controlPrefix + "btnGenerate", "imgGenerate", false);
    if (res.value != 'success') {
        document.getElementById(controlPrefix + "lblError").innerHTML = res.value;
    } else {
        refreshParent();
    }
}

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,serverName, locationID, frameID) {
	var oRepSet = document.getElementById("RepSet");
	var oRepType = document.getElementById("RepType");
	var oFrame = document.getElementById(frameID);
	StartPageLoad();

	if (bSettings == "1") {
		oRepSet.className = "rowH";
		oRepType.className = "";
		oFrame.src = "ReportManagerIframe.aspx?locationID=" + locationID + "&serverName=" + serverName;
	} 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;
	if (E2010) E2010.className = ((VersionSelected == "2010") ? "rowHSel" : "");
	if (E2007) E2007.className = ((VersionSelected == "2007") ? "rowHSel" : "");
	if (E2003) E2003.className = ((VersionSelected == "2003") ? "rowHSel" : "");
	HEMailDBBind(aEx2003List, "mbi" + PropertyID + "_", (VersionSelected == "2003"));
	HEMailDBBind(aEx2007List, "mbi" + PropertyID + "_", (VersionSelected == "2007"));
	HEMailDBBind(aEx2010List, "mbi" + PropertyID + "_", (VersionSelected == "2010"));
	if (!E2007 && E2010) E2010.style.width = "225px";
	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 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 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/deprovision.png";
	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 isFireFox() {
    return navigator.appName == "Netscape";
}

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.trim() + ' ' + LastName.value.trim();
		    Display.value = Display.value;
		}
	}
}

function AccentTranslate(s, c){
    var $acc, $str, o, r, i

    // if character case for output string is not set set it to -1 (lowercase)
    if (typeof(c)=='undefined'){
      c = -1;
    }

     // convertion table. It can be copied from PHP source.
     $acc = 'É	Ê	Ë	š	Ì	Í	ƒ	œ	µ	Î	Ï	ž	Ð	Ÿ	Ñ	Ò	Ó	Ô	Š	£	Õ	Ö	Œ	¥	Ø	Ž	§	À	Ù	Á	Ú	Â	Û	Ã	Ü	Ä	Ý	';
     $str = 'E	E	E	s	I	I	f	o	m	I	I	z	D	Y	N	O	O	O	S	L	O	O	O	Y	O	Z	S	A	U	A	U	A	U	A	U	A	Y	';
     $acc += 'Å	Æ	ß	Ç	à	È	á	â	û	Ĕ	ĭ	ņ	ş	Ÿ	ã	ü	ĕ	Į	Ň	Š	Ź	ä	ý	Ė	į	ň	š	ź	å	þ	ė	İ	ŉ	Ţ	Ż	æ	ÿ	';
     $str += 'A	A	S	C	a	E	a	a	u	E	i	n	s	Y	a	u	e	I	N	S	Z	a	y	E	i	n	s	z	a	p	e	I	n	T	Z	a	y	';
     $acc += 'Ę	ı	Ŋ	ţ	ż	ç	Ā	ę	Ĳ	ŋ	Ť	Ž	è	ā	Ě	ĳ	Ō	ť	ž	é	Ă	ě	Ĵ	ō	Ŧ	ſ	ê	ă	Ĝ	ĵ	Ŏ	ŧ	ë	Ą	ĝ	Ķ	ŏ	';
     $str += 'E	l	n	t	z	c	A	e	I	n	T	Z	e	a	E	i	O	t	z	e	A	e	J	o	T	i	e	a	G	j	O	t	e	A	g	K	o	';
     $acc += 'Ũ	ì	ą	Ğ	ķ	Ő	ũ	í	Ć	ğ	ĸ	ő	Ū	î	ć	Ġ	Ĺ	Œ	ū	ï	Ĉ	ġ	ĺ	œ	Ŭ	ð	ĉ	Ģ	Ļ	Ŕ	ŭ	ñ	Ċ	ģ	ļ	ŕ	Ů	';
     $str += 'U	i	a	G	k	O	u	i	C	g	k	o	U	i	c	G	L	O	u	i	C	g	l	o	U	o	c	G	L	R	u	n	C	g	l	r	U	';
     $acc += 'ò	ċ	Ĥ	Ľ	Ŗ	ů	ó	Č	ĥ	ľ	ŗ	Ű	ô	č	Ħ	Ŀ	Ř	ű	õ	Ď	ħ	ŀ	ř	Ų	ö	ď	Ĩ	Ł	Ś	ų	Đ	ĩ	ł	ś	Ŵ	ø	đ	';
     $str += 'o	c	H	L	R	u	o	C	h	l	r	U	o	c	H	L	R	u	o	D	h	l	r	U	o	d	I	L	S	c	D	i	l	s	W	o	d	';
     $acc += 'Ī	Ń	Ŝ	ŵ	ù	Ē	ī	ń	ŝ	Ŷ	Ə	ú	ē	Ĭ	Ņ	Ş	ŷ	 	:	;	.	,';
     $str += 'I	N	S	w	u	E	i	n	s	Y	e	u	e	I	N	S	y	 	_	_	_	_';

     // If charactes wasn't in convertion table and it is not a [a-zA-z0-9_-] convert it to this char
     o = '';

     // convert convertion tables into arrays
     var ta = $acc.split("\t");
     var ts = $str.split("\t");

     // iterate over convertion tables and replace every char in string
     for (i = 0; i < ta.length; i++) {
     	r = new RegExp('[' + ta[i] + ']', 'g');
     	s = s.replace(r, ts[i]);
     }

     // remove every character not found in convertion table
     s = s.replace(/[^a-zA-Z[:space:]0-9_-]/gi, o);

    // some optimization - you can change it if you change conversion tables
    // here I replace multiple underscores into one undercore and strip
    // underscores at begining and ehd of string
    s = s.replace(/[_]+/, '_');
    s = s.replace(/^_*(.*?)_*$/gi, '$1')

    // return converted string
	if(c == -1){
		return s.toLowerCase();
	}else if(c == 1){
		return s.toUpperCase();
	}else{
		return s;
	}
}

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 == "advdetail") {
		dispObj = document.getElementById("trADP");
		img = null;
		barObj = document.getElementById("barUserAdvDetail");
	} else if (item == "cosdetails") {
		dispObj = document.getElementById("tblCosDetails");
		img = document.getElementById("imgDetailExp");
		barObj = document.getElementById("barCosDetail");
	} else if (item == "cosemailnotificationdetails") {
		dispObj = document.getElementById("tblEmailNotificationDetails");
		img = document.getElementById("imgENDetailExp");
		barObj = document.getElementById("barEmailNotification");
	} else if (item == "cosantispamincomingdetails") {
		dispObj = document.getElementById("tblAntiSpamIncomingDetails");
		img = document.getElementById("imgAntiSpamIncomingExp");
		barObj = document.getElementById("barAntiSpamIncomingDetail");
	} else if (item == "cosantivirusincomingdetails") {
		dispObj = document.getElementById("tblAntiVirusIncomingDetails");
		img = document.getElementById("imgAntiVirusIncomingExp");
		barObj = document.getElementById("barAntiVirusIncomingDetail");
	} else if (item == "services") {
		dispObj = document.getElementById("dvServices");
		img = document.getElementById("imgExpandServices");
		barObj = document.getElementById("barUserServices");
	}

	if (dispObj) {
		if (dispObj.style.display == '') {
			dispObj.style.display = 'none';
			if (img) img.className = "imgexp"; 
			barObj.value = "0";
		} else {
			dispObj.style.display = '';
			if (img) img.className = "imgcol";
			barObj.value = "1";
		}
	}
	InitEditUseriFrame();
}

function ToggleUserUISimple(item) {
	var dispObj;
	var img;
	var barObj;
	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");
	}

	if (dispObj.style.display == '') {
		dispObj.style.display = 'none';
		img.className = "imgexp"; 
		barObj.value = "0";
	} else {
		dispObj.style.display = '';
		img.className = "imgcol";
		barObj.value = "1";
	}
	
	InitEditUseriFrameSimple();
}

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 trBarMulti = document.getElementById("trBarMulti");
   	var isExpanded = (trBarMulti && 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);
 	setTimeout(function(){ window.location = 'Users.aspx'}, 1000);
}

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", "").replace("|email", "");
	if (document.getElementById(chk.id + "_0").checked) {
		objVar.msDataType = objVar.msDataType + "|label";
	} else if (document.getElementById(chk.id + "_1").checked) {
		objVar.msDataType = objVar.msDataType + "|upn";
	} else {
		objVar.msDataType = objVar.msDataType + "|email";
	}
}

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;
	}
}
