function MM_preloadImages() { //v3.0
  var d=document; if(d.images){ if(!d.MM_p) d.MM_p=new Array();
    var i,j=d.MM_p.length,a=MM_preloadImages.arguments; for(i=0; i<a.length; i++)
    if (a[i].indexOf("#")!=0){ d.MM_p[j]=new Image; d.MM_p[j++].src=a[i];}}
}

function MM_swapImgRestore() { //v3.0
  var i,x,a=document.MM_sr; for(i=0;a&&i<a.length&&(x=a[i])&&x.oSrc;i++) x.src=x.oSrc;
}

function MM_findObj(n, d) { //v4.0
  var p,i,x;  if(!d) d=document; if((p=n.indexOf("?"))>0&&parent.frames.length) {
    d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);}
  if(!(x=d[n])&&d.all) x=d.all[n]; for (i=0;!x&&i<d.forms.length;i++) x=d.forms[i][n];
  for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=MM_findObj(n,d.layers[i].document);
  if(!x && document.getElementById) x=document.getElementById(n); return x;
}

function MM_swapImage() { //v3.0
  var i,j=0,x,a=MM_swapImage.arguments; document.MM_sr=new Array; for(i=0;i<(a.length-2);i+=3)
   if ((x=MM_findObj(a[i]))!=null){document.MM_sr[j++]=x; if(!x.oSrc) x.oSrc=x.src; x.src=a[i+2];}
}

function isAlphaNumeric(c) {
    var alphanumeric = /^[a-zA-Z0-9]+$/
    return alphanumeric.test(c);
}

function stripIllegalCharacters(s,specials) {
  var Length = s.length;
  var result="";  
  for (i=0; i<Length; i++) {
    var c = s.charAt(i);
    if ((isAlphaNumeric(c))  || (specials.indexOf(c)>=0)) {
        result = result+c;
    }
  }
  return result;
}

function stripMultipleSpaces(s) {
  var Length = s.length;
  var result="";  
  var lastSpace = false;
  for (i=0; i<Length; i++) {
    var c = s.charAt(i);
    if (c==' ') {
        if (!lastSpace) {
            result = result+c;
        }
        lastSpace = true;
    }
    else {
        result = result+c;
        lastSpace = false;
    }
  }
  return result;
}

function onEnterKeyPress(event, varButton) {

    var unicode = event.keyCode ? event.keyCode : event.charCode

    if (unicode == 13) {
        var btn = document.getElementById(varButton);
        if (btn != null) {
            btn.click();
        }
        return false;
    }
}

function onEnter(varButton) 
{
	//alert("msg");
    if (event.keyCode == 13) 
    {
		var btn = document.getElementById(varButton);
		if (btn != null)
			btn.click();
		return false;
    }
}

		function Label(name)
		{
			/* DHTML Micro API<br>
			* Source: http://www.quirksmode.org/js/dhtmloptions.html<br>
			*/
			if (document.getElementById) // test if browser supports document.getElementById<br>
			{
				this.obj = document.getElementById(name);
				//this.style = document.getElementById(name).style;
				//this.parent = document.getElementById(name).parentElement;
				if (this.obj.parentElement) {
					this.parent = this.obj.parentElement;
				}
				else if (this.obj.parentNode) {
					this.parent = this.obj.parentNode;
				}
				
			}
			else if (document.all) // test if browser supports document.all<br>
			{
				this.obj = document.all[name];
				//this.style = document.all[name].style;
				this.parent = document.all[name].parentElement;
			}
			else if (document.layers) // test if browser supports document.layers<br>
			{
				this.obj = document.layers[name];
				//this.style = document.layers[name].style;
				//this.parent = document.layers[name].parentNode;
			}
			

				
				
		}
		
		function DisableLabel(name) {
			var label = new Label(name);
			label.obj.disabled=true;
			label.parent.disabled=true;
		}
			
		function EnableLabel(name) {
			var label = new Label(name);
			label.obj.disabled=false;
			label.parent.disabled=false;
		}

		function DisplayControl(name) {
		    var control = document.getElementById(name);
		    control.style.visibility = 'visible';
		}
		function HideControl(name) {
		    var control = document.getElementById(name);
		    control.style.visibility = 'hidden';
		}
		
		function DisableControl(control,bDisableParent) {
			control.disabled = true;
			if (bDisableParent) {
				if (control.parentElement) {
					control.parentElement.disabled=true;
				}
				else if (control.parentNode) {
					control.parentNode.disabled=true;
				}
			}
		}

		function EnableControl(control, bEnableParent) {

				control.removeAttribute('disabled');  // remove disabled attribute from given control
				
				if (bEnableParent)	// required because ASP.NET renders already-disabled
									// controls in a disabled SPAN element.
				{
					if (control.parentElement) {
						control.parentElement.removeAttribute('disabled');
					}
					else  {
						control.parentNode.removeAttribute('disabled');
					}

				}

		}

		function DisableUserControl(control, bDisableParent) {
			control.obj.disabled = true;
			if (bDisableParent) {
				control.parent.disabled=true;
			}
		}

		function EnableUserControl(control, bEnableParent) {

				control.obj.removeAttribute('disabled');  // remove disabled attribute from given control
				
				if (bEnableParent)	// required because ASP.NET renders already-disabled
									// controls in a disabled SPAN element.
				{
					control.parent.disabled=false;
				}
		}
		
		function getControl(name)
		{
			/* DHTML Micro API<br>
			* Source: http://www.quirksmode.org/js/dhtmloptions.html<br>
			*/
			if (document.getElementById) // test if browser supports document.getElementById<br>
			{
				return document.getElementById(name);
			}
			else if (document.all) // test if browser supports document.all<br>
			{
				return document.all[name];

			}
			else if (document.layers) // test if browser supports document.layers<br>
			{
				return document.layers[name];
			}					
		}
		
		function AddRemoveListBoxEnable(prefix) {
			var textBox = getControl(prefix+'_AddTextBox');
			EnableControl(textBox,true);
			var listBox = getControl(prefix+'_ListBox');
			EnableControl(listBox,true);
			var buttonRemove = getControl(prefix+'_buttonRemove');
			EnableControl(buttonRemove,true);
			var buttonAdd = getControl(prefix+'_buttonAdd');
			EnableControl(buttonAdd,true);
		}
		
		function AddRemoveListBoxDisable(prefix) {
			var textBox = getControl(prefix+'_AddTextBox');
			DisableControl(textBox,true);
			var listBox = getControl(prefix+'_ListBox');
			DisableControl(listBox,true);
			var buttonRemove = getControl(prefix+'_buttonRemove');
			DisableControl(buttonRemove,true);
			var buttonAdd = getControl(prefix+'_buttonAdd');
			DisableControl(buttonAdd,true);
		}
		
		function AddRemoveListBoxWithDomainEnable(prefix) {
			var textBox = getControl(prefix+'_AddTextBox');
			EnableControl(textBox,true);
			var listBox = getControl(prefix+'_ListBox');
			EnableControl(listBox,true);
			var buttonRemove = getControl(prefix+'_buttonRemove');
			EnableControl(buttonRemove,true);
			var buttonAdd = getControl(prefix+'_buttonAdd');
			EnableControl(buttonAdd,true);
			var dropDownListDomains = getControl(prefix+'_DropDownListDomains');
			EnableControl(dropDownListDomains,true);
			DisplayControl(prefix + '_linkUserIdSearch');
		}
		
		function AddRemoveListBoxWithDomainDisable(prefix) {
			var textBox = getControl(prefix+'_AddTextBox');
			DisableControl(textBox,true);
			var listBox = getControl(prefix+'_ListBox');
			DisableControl(listBox,true);
			var buttonRemove = getControl(prefix+'_buttonRemove');
			DisableControl(buttonRemove,true);
			var buttonAdd = getControl(prefix+'_buttonAdd');
			DisableControl(buttonAdd,true);
			var dropDownListDomains = getControl(prefix+'_DropDownListDomains');
			DisableControl(dropDownListDomains,true);
			HideControl(prefix + '_linkUserIdSearch');
		}
		
		
		function YearCalendarEnable(prefix) {
			var list1 = getControl(prefix+'_DropDownList1');
			EnableControl(list1,true);
			var list2 = getControl(prefix+'_DropDownList2');
			EnableControl(list2,true);
			//var cal1 = getControl(prefix+'_Calendar1');
			//EnableControl(cal1,true);
		}
		
		function YearCalendarDisable(prefix) {
			var list1 = getControl(prefix+'_DropDownList1');
			DisableControl(list1,true);
			var list2 = getControl(prefix+'_DropDownList2');
			DisableControl(list2,true);
			//var cal1 = getControl(prefix+'_Calendar1');
			//DisableControl(cal1,true);
		}
		
		
		
		function ShowPopup(mode,ctl,attr,attrdisp,sysid,w,h,level,objtype) {
		    var PopupWindow=null;
		    var strPath = "";
		    var searchText = "";
		    
		    if (level!=null)  // determine path to desired page
		    {
				for (x=0;x<level;x++)
				{
					strPath += "../";
				}
		    }
		    
		    try
		    {
		        // if dropdown control name passed, then get currently selected domain name
		        system = document.getElementById(sysid);
				sysid = system.options[system.selectedIndex].value;
            }
		    catch(e)
		    {
		    }
		    	
		    try 
		    {
		    	searchText = document.getElementById(ctl).value;
		    }
		    catch (e) 
		    {
		    }
		    			    
		    lastlogonday = 0;

			if (attr.substr(0,9).toLowerCase()=="lastlogon")
			{
				try
				{
					// get currently selected lastlogon day value
					lastlogondropdown= document.getElementById("drpUserNotLoggedIn");
					lastlogonday = lastlogondropdown.options[lastlogondropdown.selectedIndex].value;
					attrdisp = lastlogonday
				}
				catch(e)
				{
				}
			}
		    
		    if (mode=="query")
		    {
				if (w==0)
				w=790;
				if (h==0)
				h=585;
		    }
		    else
		    {
				if (w==0)
				w=390;
				if (h==0)
				h=585;
		    }
		      
	        var settings='width='+ w + ',height='+ h + ',location=no,directories=no,'+
                 ' menubar=no,toolbar=no,status=no,scrollbars=yes,resizable=yes,'+
                 ' dependent=no';

			PopupWindow=window.open(strPath+'Loading.aspx?Ctl=' + ctl + '&attr=' + attr + '&attrdisp=' + attrdisp + '&sysid=' + sysid + '&mode='+mode + '&objtype='+objtype + '&searchText=' + searchText ,'Lookup',settings);

			PopupWindow.focus();
		}

		function ShowPopupOu(w, h, level) {
		    var PopupWindow = null;
		    var strPath = "";
		    var searchText = "";
		    var attr = "";
		    var attrdisp = "";
		    var mode = "";
		    var objtype = "";

		    if (level != null)  // determine path to desired page
		    {
		        for (x = 0; x < level; x++) {
		            strPath += "../";
		        }
		    }

		    try {
		        // if dropdown control name passed, then get currently selected domain name
		        system = document.getElementById(sysid);
		        sysid = system.options[system.selectedIndex].value;
		    }
		    catch (e) {
		    }

		    try {
		        searchText = document.getElementById(ctl).value;
		    }
		    catch (e) {
		    }

		    if (w == 0)
		        w = 390;
		    if (h == 0)
		        h = 430;

		    var settings = 'width=' + w + ',height=' + h + ',location=no,directories=no,' +
                 ' menubar=no,toolbar=no,status=no,scrollbars=yes,resizable=yes,' +
                 ' dependent=no';

		    PopupWindow = window.open(strPath + 'OUPicker.aspx', 'OU', settings);

		    PopupWindow.focus();
		}

		function ShowPopupOuCtrlID(w, h, level, ctrlDisplayId, ctrlDNId) {
		    var PopupWindow = null;
		    var strPath = "";
		    var searchText = "";
		    var attr = "";
		    var attrdisp = "";
		    var mode = "";
		    var objtype = "";

		    if (level != null)  // determine path to desired page
		    {
		        for (x = 0; x < level; x++) {
		            strPath += "../";
		        }
		    }

		    if (w == 0)
		        w = 390;
		    if (h == 0)
		        h = 430;

		    var settings = 'width=' + w + ',height=' + h + ',location=no,directories=no,' +
                 ' menubar=no,toolbar=no,status=no,scrollbars=yes,resizable=yes,' +
                 ' dependent=no';

		    PopupWindow = window.open(strPath + 'OUPicker.aspx?OuCtlDisplay=' + ctrlDisplayId + '&OuCtlDN=' + ctrlDNId, 'OU', settings);

		    PopupWindow.focus();
		}

		function ShowPopupOuCtrlIDDomain(w, h, level, ctrlDisplayId, ctrlDNId, ctrlDomain) {
		    var PopupWindow = null;
		    var strPath = "";
		    var searchText = "";
		    var attr = "";
		    var attrdisp = "";
		    var mode = "";
		    var objtype = "";

		    try {
		        // if dropdown control name passed, then get currently selected domain name
		        domainDrp = document.getElementById(ctrlDomain);
		        domain = domainDrp.options[domainDrp.selectedIndex].value;
		    }
		    catch (e) {
		        alert(e.Message);
		        domain = "";
		    }

		    if (level != null)  // determine path to desired page
		    {
		        for (x = 0; x < level; x++) {
		            strPath += "../";
		        }
		    }

		    if (w == 0)
		        w = 390;
		    if (h == 0)
		        h = 430;

		    var settings = 'width=' + w + ',height=' + h + ',location=no,directories=no,' +
                 ' menubar=no,toolbar=no,status=no,scrollbars=yes,resizable=yes,' +
                 ' dependent=no';

		    PopupWindow = window.open(strPath + 'OUPicker.aspx?OuCtlDisplay=' + ctrlDisplayId + '&OuCtlDN=' + ctrlDNId + '&domain=' + domain, 'OU', settings);

		    PopupWindow.focus();
		}
		
		function ShowCalendar(ctl, ctlDisplay, initDate, dirLevel, locale) {
		
		    var PopupWindow=null;
		    var strPath = "";
		    
		    if (dirLevel!=null)  // determine path to desired page
		    {
				for (x=0;x<dirLevel;x++)
				{
					strPath += "../";
				}
		    }
		    
		    try
		    {
				// if control name passed for init date value, then get current value from that control
				txtbox = document.getElementById(initDate);
				initDate = txtbox.value;
		    }
		    catch(e)
		    {
		    }

		    w = 175;
		    h = 190;

	        var settings='width='+ w + ',height='+ h + ',location=no,directories=no,'+
                 ' menubar=no,toolbar=no,status=no,scrollbars=no,resizable=yes,'+
                 ' dependent=no';
	
			PopupWindow=window.open(strPath+'Calendar.aspx?ctl='+ctl+'&ctlDisplay='+ctlDisplay+'&initDate='+initDate+'&locale='+locale,'Calendar',settings);

			PopupWindow.focus();
		}		

		function GetHeight(obj)
		{
			try {
			    objContentHeight = 0;
				if(obj.offsetHeight){

						objContentHeight=obj.offsetHeight;
				}

				else if(obj.style.pixelHeight){

						objContentHeight=obj.style.pixelHeight;
				}
			}
			catch(e)
			{
				objContentHeight = 0;
			}
			return objContentHeight;
		}
		
		function GetWidth(obj)
		{
			try {
			    objContentWidth = 0;
				if(obj.offsetWidth){

						objContentWidth=obj.offsetWidth;
				}

				else if(obj.style.pixelWidth){

						objContentWidth=obj.style.pixelWidth;
				}
			}
			catch(e)
			{
				objContentWidth = 0
			}
			return objContentWidth;
		}		
		
        function GetBrowserPixelHeight()
        {
				var currentWindowWidth = 0, currentWindowHeight = 0;
				if( typeof( window.innerWidth ) == 'number' ) {
					//Non-IE browser
					currentWindowWidth = window.innerWidth;
					currentWindowHeight = window.innerHeight;
				} else if( document.documentElement && ( document.documentElement.clientWidth || document.documentElement.clientHeight ) ) {
					//IE 6+ in 'standards compliant mode'
					currentWindowWidth = document.documentElement.clientWidth;
					currentWindowHeight = document.documentElement.clientHeight;
				} else if( document.body && ( document.body.clientWidth || document.body.clientHeight ) ) {
					//IE 4 compatible browser
					currentWindowWidth = document.body.clientWidth;
					currentWindowHeight = document.body.clientHeight;
				}
				return currentWindowHeight;
        }

        function GetBrowserPixelWidth()
        {
				var currentWindowWidth = 0, currentWindowHeight = 0;
				if( typeof( window.innerWidth ) == 'number' ) {
					//Non-IE browser
					currentWindowWidth = window.innerWidth;
					currentWindowHeight = window.innerHeight;
				} else if( document.documentElement && ( document.documentElement.clientWidth || document.documentElement.clientHeight ) ) {
					//IE 6+ in 'standards compliant mode'
					currentWindowWidth = document.documentElement.clientWidth;
					currentWindowHeight = document.documentElement.clientHeight;
				} else if( document.body && ( document.body.clientWidth || document.body.clientHeight ) ) {
					//IE 4 compatible browser
					currentWindowWidth = document.body.clientWidth;
					currentWindowHeight = document.body.clientHeight;
				}
				return currentWindowWidth;
        }

        /// BEGIN Dock nav, for use with Telerik RadDock objects.
        function ZoneObject(val1, val2) {
            this.Zone = val1;
            this.Size = val2;
        }

        function GetNumberOfVisibleDocksInZone(zone) {
            var docksArray = zone.get_docks();
            var numberDocksInZone = docksArray.length;
            var numberVisibleDocksInZone = 0;
            for (var i = 0; i < numberDocksInZone; i++) {
                if (!docksArray[i].get_closed()) {
                    numberVisibleDocksInZone++;
                }
            }
            return numberVisibleDocksInZone;
        }

        function GetLeastPopulatedZone(dictionary) {
            var smallest = 0;
            var indexOfSmallest = 0;
            smallest = dictionary[0].Size;
            for (var i = 0; i < dictionary.length; i++) {
                if (dictionary[i].Size < smallest) {
                    smallest = dictionary[i].Size;
                    indexOfSmallest = i;
                }
            }

            return dictionary[indexOfSmallest].Zone;
        }

        function ShowHideRadDock(menuItem) {
        	try {
        		var raddockId = menuItem.get_value();
        		var dock = $find(raddockId);
        		var zone = dock.get_parent();
        		
        		if (dock.get_closed()) {
        			zone.dock(dock);
        			dock.set_closed(false);
        			menuItem.set_imageUrl('../img/check.gif');
        		}
        		else {
        			dock.set_closed(true);
        			menuItem.set_imageUrl('');
        		}
        	}
        	catch (err) {
        		//alert("ShowHideRadDock: \r\n\t" + err);
        	}
        }

        function OnRadDockCommand(sender, eventArgs) {
        	try {
        		if (eventArgs.Command.get_name() == 'Close') {
        			var dockId = sender.get_id();
        			var toolbar = $find('RadToolBar_P2');
        			toobarItemId = ConvertDockIdToNavId(dockId);
        			button = toolbar.findItemByValue(toobarItemId);
        			button.set_imageUrl('');
        			zone = sender.get_parent();
        			UpdateDockPreferences(zone);
        		}
        	}
        	catch (err) {
        		//alert("OnRadDockCommand: \r\n\t" + err);
        	}
        }

        function SetTiledView(checked, cb, btn, size) {
        	if (cb.checked != checked) {
        		cb.checked = checked;
        		btn.click();
        	}
        }

        function SetTileViewSmallTopLevel() {
        	if (document.Form1.chkTileModeSmallTopLevel.checked != true) {
        		document.Form1.chkTileModeSmallTopLevel.checked = true;
                document.Form1.btnTiledNavigationTopLevel.click();
            }
        }

        function SetTileViewLargeTopLevel() {
        	if (document.Form1.chkTileModeSmallTopLevel.checked != false) {
            	document.Form1.chkTileModeSmallTopLevel.checked = false;
                document.Form1.btnTiledNavigationTopLevel.click();
            }
        }

//        function SetTileViewSmallManageUser() {
//            if (document.Form1.chkTileModeSmallManageUser.checked != true) {
//                document.Form1.chkTileModeSmallManageUser.checked = true;
//                document.Form1.btnTiledNavigationManageUser.click();
//            }
//        }

//        function SetTileViewLargeManageUser() {
//            if (document.Form1.chkTileModeSmallManageUser.checked != false) {
//                document.Form1.chkTileModeSmallManageUser.checked = false;
//                document.Form1.btnTiledNavigationManageUser.click();
//            }
//           }


//           function SetTileViewSmallUserRequest() {
//           	if (document.Form1.chkTileModeSmallUserRequest.checked != true) {
//           		document.Form1.chkTileModeSmallUserRequest.checked = true;
//           		document.Form1.btnTiledNavigationUserRequest.click();
//           	}
//           }

//           function SetTileViewLargeUserRequest() {
//           	if (document.Form1.chkTileModeSmallUserRequest.checked != false) {
//           		document.Form1.chkTileModeSmallUserRequest.checked = false;
//           		document.Form1.btnTiledNavigationUserRequest.click();
//           	}
//           }

//           function SetTileViewSmallCatalogRequest() {
//           	if (document.Form1.chkTileModeSmallCatalogRequest.checked != true) {
//           		document.Form1.chkTileModeSmallCatalogRequest.checked = true;
//           		document.Form1.btnTiledNavigationCatalogRequest.click();
//           	}
//           }

//           function SetTileViewLargeCatalogRequest() {
//           	if (document.Form1.chkTileModeSmallCatalogRequest.checked != false) {
//           		document.Form1.chkTileModeSmallCatalogRequest.checked = false;
//           		document.Form1.btnTiledNavigationCatalogRequest.click();
//           	}
//           }

//           function SetTileViewSmallGroupRequest() {
//           	if (document.Form1.chkTileModeSmallGroupRequest.checked != true) {
//           		document.Form1.chkTileModeSmallGroupRequest.checked = true;
//           		document.Form1.btnTiledNavigationGroupRequest.click();
//           	}
//           }

//           function SetTileViewLargeGroupRequest() {
//           	if (document.Form1.chkTileModeSmallGroupRequest.checked != false) {
//           		document.Form1.chkTileModeSmallGroupRequest.checked = false;
//           		document.Form1.btnTiledNavigationGroupRequest.click();
//           	}
//           }

        

        function ToggleShowHideTreeButton(button) {
            try 
            {
                var splitter = $find("Splitter_Content");
                var pane = splitter.getPaneById("Pane_Tree");
                var chkTree = document.getElementById('chkTreeHidden');
                
                if (pane.get_collapsed()) {
                    pane.expand();
                    button.set_text('Hide Tree');
                    if (null != chkTree) {
                    	chkTree.checked = false;
                    }
                   }
                else {
                    pane.collapse();
                    button.set_text('Show Tree');
                    if (null != chkTree) {
                    	chkTree.checked = true;
                    }
                   }
            }
            catch (e) {
                //alert("ToggleShowHideTreeButton error");
            }

        }
        
        // Action for RadToolBar_P2
        function RadToolBar_P2_ButtonClicked(sender, args) {
            try 
            {
                var button = args.get_item();
                if (button.get_value() == "TreeToggle") {
                    ToggleShowHideTreeButton(button)
                }
                else {
                    SetToolbarAddRemoveListItem(button);
                }
            }
            catch (e) {
                //alert("RadToolBar_P2_ButtonClicked error");
            }
        }

        function ConvertDockIdToNavId(dockID) {
            var result = dockID.split("_");
            return result[1];
        }

        function ConvertNavIdToDockId(navID) {
            return "RadDock_" + navID;
        }

		function SetToolbarAddRemoveListItem(button) {
			var raddockId = button.get_value();
			var dockid = ConvertNavIdToDockId(raddockId);

			try {
				// try to locate large dock item
				var dock = $find(dockid);
				var zone = dock.get_parent();
				if (dock.get_closed()) {
					// Dock item is hidden, so display it.
					zone.dock(dock);
					dock.set_closed(false);
					button.set_imageUrl('../img/check.gif');
					UpdateDockPreferences(zone);
					return;
				}
				else {
					// Dock item is displayed, so hide it.
					dock.set_closed(true);
					button.set_imageUrl('');
					UpdateDockPreferences(zone);
					return;
				}
			}
			catch (err) {
				//alert("SetToolbarAddRemoveListItem: \r\n\t" + err + "\r\n\tButton Value: " + raddockId + "\r\n\tRad Dock Id Sought: " + dockid);
			}
		}

        function GetDockListFromZone(zone, zoneIndex) {
            var docksArray = zone.get_docks();
            var dockEntryList = "";
            for (var i = 0; i < docksArray.length; i++) {
                dockEntry = docksArray[i].get_uniqueID() + "," + zoneIndex + "," + docksArray[i].get_index() + "," + !docksArray[i].get_closed();
                dockEntryList = dockEntryList + dockEntry + ";";
            }
            return dockEntryList;
        }

        function UpdateDockPreferences(zone) {

        	var txtStorageZone = document.getElementById('txtZone_data');
        	txtStorageZone.value = zone.get_id();
        	
        	var txtStorage		= document.Form1.elements['txtDock_data'];
        	var dockEntryList = "";

        	if (null != zone) {
        		dockEntryList = dockEntryList + GetDockListFromZone(zone, 1);
        	}

        	txtStorage.value = dockEntryList;
        }

        function OnClientDockPositionChanged(dock) {
        	UpdateDockPreferences(dock.get_parent());
        }

        /// END Dock nav
        
/* The following function is not copyrighted.  http://www.quirksmode.org/about/copyright.html */
var BrowserDetect = {
	init: function () {
		this.browser = this.searchString(this.dataBrowser) || "An unknown browser";
		this.version = this.searchVersion(navigator.userAgent)
			|| this.searchVersion(navigator.appVersion)
			|| "an unknown version";
		this.OS = this.searchString(this.dataOS) || "an unknown OS";
	},
	searchString: function (data) {
		for (var i=0;i<data.length;i++)	{
			var dataString = data[i].string;
			var dataProp = data[i].prop;
			this.versionSearchString = data[i].versionSearch || data[i].identity;
			if (dataString) {
				if (dataString.indexOf(data[i].subString) != -1)
					return data[i].identity;
			}
			else if (dataProp)
				return data[i].identity;
		}
	},
	searchVersion: function (dataString) {
		var index = dataString.indexOf(this.versionSearchString);
		if (index == -1) return;
		return parseFloat(dataString.substring(index+this.versionSearchString.length+1));
	},
	dataBrowser: [
		{
			string: navigator.userAgent,
			subString: "Chrome",
			identity: "Chrome"
		},
		{ 	string: navigator.userAgent,
			subString: "OmniWeb",
			versionSearch: "OmniWeb/",
			identity: "OmniWeb"
		},
		{
			string: navigator.vendor,
			subString: "Apple",
			identity: "Safari"
		},
		{
			prop: window.opera,
			identity: "Opera"
		},
		{
			string: navigator.vendor,
			subString: "iCab",
			identity: "iCab"
		},
		{
			string: navigator.vendor,
			subString: "KDE",
			identity: "Konqueror"
		},
		{
			string: navigator.userAgent,
			subString: "Firefox",
			identity: "Firefox"
		},
		{
			string: navigator.vendor,
			subString: "Camino",
			identity: "Camino"
		},
		{		// for newer Netscapes (6+)
			string: navigator.userAgent,
			subString: "Netscape",
			identity: "Netscape"
		},
		{
			string: navigator.userAgent,
			subString: "MSIE",
			identity: "Explorer",
			versionSearch: "MSIE"
		},
		{
			string: navigator.userAgent,
			subString: "Gecko",
			identity: "Mozilla",
			versionSearch: "rv"
		},
		{ 		// for older Netscapes (4-)
			string: navigator.userAgent,
			subString: "Mozilla",
			identity: "Netscape",
			versionSearch: "Mozilla"
		}
	],
	dataOS : [
		{
			string: navigator.platform,
			subString: "Win",
			identity: "Windows"
		},
		{
			string: navigator.platform,
			subString: "Mac",
			identity: "Mac"
		},
		{
			string: navigator.platform,
			subString: "Linux",
			identity: "Linux"
		}
	]

};
BrowserDetect.init();

