		function ReverseVisibility(div_id, link_id, visible_text, hidden_text, hidden_ctrl, default_visible_OR_hidden_NOT) 
		{    
			var div_element = document.getElementById(div_id); 
			var using_ie = false;
            if (/MSIE (\d+\.\d+);/.test(navigator.userAgent))
            {
                using_ie = true;
            }

			if (div_element.style.display == "none") 
			{
				div_element.style.display = "block";
				window.document.images['IMG_' + div_id].src = "images/minus.jpg";
				document.getElementById(link_id).innerHTML = hidden_text;
                if (false)  
                {  
				    if (default_visible_OR_hidden_NOT == 1) 
				    {
					    document.getElementById(hidden_ctrl).value = "0";  
				    }
				    else
				    {
					    document.getElementById(hidden_ctrl).value = "1";  
				    }
				}
			} 
			else 
			{        
				div_element.style.display = "none";  
				window.document.images['IMG_' + div_id].src = "images/plus.jpg";      
				document.getElementById(link_id).innerHTML = visible_text;
				if (false)
				{
				    if (default_visible_OR_hidden_NOT == 1) 
				    {
					    document.getElementById(hidden_ctrl).value = "1";  
				    }
				    else
				    {
					    document.getElementById(hidden_ctrl).value = "0";  
				    }
				}
			}   
			return false;
		}
		
		function OpenPopup(pageURL, popupName, width, height, toolbars, resizable) 
		{    
			window.open(pageURL, popupName,"menubar=no,width=" + width + ",height=" + height + ",toolbar=" + toolbars + ",scrollbars=1,resizable=" + resizable + ",statusbar=" + toolbars + ",menubar=" + toolbars);
		}
		
		function ShowMenuIcons(indexToShow, maxIconSets, status_text) 
		{    
			var div_element;  
			
			for(var i=1; i<=maxIconSets; i++)
			{
				div_element = document.getElementById("cssMenuChild" + i);
				div_element.style.display = "none";
			}
			div_element = document.getElementById("cssMenuChild" + indexToShow);
			div_element.style.display = "block";
			
			document.getElementById("lblMenuDescription").innerHTML = status_text;
		}
		
		function ShowMenuDescription(status_text) 
		{
			if (status_text == "") 
			{
				document.getElementById("lblMenuDescription").innerHTML = '';
			}
			else
			{
				document.getElementById("lblMenuDescription").innerHTML = status_text;
			}
		}
		
		function ReverseVisibilityOnCheck(div_id_true, div_id_false, check_id) 
		{    
			var div_element_true = document.getElementById(div_id_true);
			var div_element_false = document.getElementById(div_id_false);
			var chk_element = document.getElementById(check_id);

			if (chk_element.checked == 1) 
			{
				div_element_true.style.display = "block";
				div_element_false.style.display = "none";
			} 
			else 
			{        
				div_element_true.style.display = "none";  
				div_element_false.style.display = "block";  
			}   
			return true;
		}
		
		function load_module(url_str, div_id)
        {
            var http = false;
            var date = new Date();

            if(navigator.appName == "Microsoft Internet Explorer") {
              http = new ActiveXObject("Microsoft.XMLHTTP");
            } else {
              http = new XMLHttpRequest();
            } 
                     
            if (url_str.indexOf('?') == 0)
            {
                url_str = url_str + '?tsp=' + date.getTime();
            }
            else
            {
                url_str = url_str + '&tsp=' + date.getTime();
            }
            
            http.open("GET", url_str, true);
            http.onreadystatechange=function() {
            if(http.readyState == 4) {
              document.getElementById(div_id).innerHTML = http.responseText;
            }
          }
          http.send(null);
          return false;
        }
        function reload_image(img_id) 
        {
            var img_obj = document.getElementById(img_id);
            var img_path = img_obj.src;
            var date = new Date();
            var pos = img_path.indexOf('tsp=');
            if (pos >= 0) 
            {
                img_path = img_path.substr(0, pos-1);
            }            
            if (img_path.indexOf('?') == 0)
            {
                img_path = img_path + '?tsp=' + date.getTime();
            }
            else
            {
                img_path = img_path + '&tsp=' + date.getTime();
            }
            img_obj.src = img_path;
            return false;
        }
	    function update_bbt_choice(new_setting, cycle_id)
        {
            var http = false;
            var date = new Date();
            var url_str = 'module_ovDateTable.aspx?new_type=1&bbt_type=' + new_setting + '&cid=' + cycle_id + '?tsp=' + date.getTime();
            var div_id = 'update_status';
            var choices = new Array();

            choices[0] = "Traditional";
            choices[1] = "Coverline";
            choices[2] = "Averaging";
            choices[3] = "Smoothing";
            choices[4] = "Automatic Selection";
            document.getElementById(div_id).innerHTML = 'Saving...';
            if ((new_setting < 0) || (new_setting > 4)) 
            {
                new_setting = 0;
            }

            if(navigator.appName == "Microsoft Internet Explorer") 
            {
              http = new ActiveXObject("Microsoft.XMLHTTP");
            } else {
              http = new XMLHttpRequest();
            } 
            
            http.open("GET", url_str, true);
            http.onreadystatechange=function() {
            if(http.readyState == 4) 
            {
              document.getElementById(div_id).innerHTML = 'Updated BBT Method to ' + choices[new_setting];
              reloadOvDates();
              reload_image('imgChart');
              reloadOvConf();
            }
          }
          http.send(null);
        }
	    function update_cm_choice(new_setting, cycle_id)
        {
            var http = false;
            var date = new Date();
            var url_str = 'module_ovDateTable.aspx?new_type=1&cm_type=' + new_setting + '&cid=' + cycle_id + '?tsp=' + date.getTime();
            var div_id = 'update_status';
            var choices = new Array();

            choices[0] = "Automatic Selection";
            choices[1] = "Traditional";
            choices[2] = "Alternate";
            document.getElementById(div_id).innerHTML = 'Saving...';
            if ((new_setting < 0) || (new_setting > 2)) 
            {
                new_setting = 0;
            }

            if(navigator.appName == "Microsoft Internet Explorer") 
            {
              http = new ActiveXObject("Microsoft.XMLHTTP");
            } else {
              http = new XMLHttpRequest();
            } 
            
            http.open("GET", url_str, true);
            http.onreadystatechange=function() {
            if(http.readyState == 4) 
            {
              document.getElementById(div_id).innerHTML = 'Updated CM Method to ' + choices[new_setting];
              reloadOvDates();
              reload_image('imgChart');
              reloadOvConf();
            }
          }
          http.send(null);
        }
       
		function printGraph() 
		{    
			var div_element;  
			var maxDays = 40;
			var MAX_HEIGHT = 200;
			var temp_height;
						
			for(var i=1; i<=maxDays; i++)
			{
			    if (jsBarHts[i] <= 0)
			    {
			        jsBarHts[i] = 1;
			    }
				div_element = document.getElementById('cssDay' + i);
				temp_height = Math.round((jsBarHts[i] * MAX_HEIGHT) / 100);   
				div_element.style.height = temp_height;
				div_element.style.top = MAX_HEIGHT - temp_height + 30;
				div_element.style.backgroundColor = "rgb(" + Math.round((jsRedUpper - jsRedLower)*(jsBarHts[i]/MAX_HEIGHT) + jsRedLower) + ", " + Math.round((jsGreenUpper - jsGreenLower)*(jsBarHts[i]/MAX_HEIGHT) + jsGreenLower) + ", " + Math.round((jsBlueUpper - jsBlueLower)*(jsBarHts[i]/MAX_HEIGHT) + jsBlueLower) + ")";
				
				div_element = document.getElementById('cssDayLabel' + i);
				if (jsDayLbl[i] != -1) 
				{
				    div_element.innerHTML = jsDayLbl[i];
				}
				else
				{
				    div_element.innerHTML = "-";
				}
				
				div_element = document.getElementById('cssDate' + i);
				div_element.innerHTML = jsDateLbl[i];
			}
		}
