function OpenWindow(strURL, strName, strParams, msg)
{
	var wnd;
	if(!(wnd = window.open(strURL,strName,strParams)))
		alert("A popup-blocker has been detected on your system\nPlease enable popups for this site and try again.");
	else
		wnd.focus();
	return false;		
	//if(msg != '') wnd.document.write("<HEAD><TITLE>Please wait...</TITLE></HEAD><CENTER><B>" + msg + "</B></CENTER>")
	//wnd.focus();
}

function OpenHelp(strURL)
{
	var wnd;
	if(!(wnd = window.open(strURL,'Selection','width=450,height=500,left=150,top=100,scrollbars=no,status=yes')))
		alert("A popup-blocker has been detected on your system\nPlease enable popups for this site and try again.");
	else
		wnd.focus();
	return false;		
}

function IsValidObject(objToTest)
{	if (objToTest == null || objToTest == undefined)
		return false;
	return true;
}

function OpenSelect(strURL, t1, t2, c1, c2)
{
  //Shang: disable the grouper selection if patient type is ambulatory care
  //Shang: this is reversed in 0607, CACS code applies to both day sergery and ambulatory care
	//if(strURL == 'Selection.aspx?Caller=GROUP&CheckCombos=2&HelpID=10' && c1 && c1.options[c1.selectedIndex].value == 'AmbulatoryCare') return;
	
	if(t1) strURL = strURL + "&FilterVal1=" + t1.value;
	if(t2) strURL = strURL + "&FilterVal2=" + t2.value;
	if(c1) strURL = strURL + "&ComboVal1=" + c1.options[c1.selectedIndex].value;
	if(c2) strURL = strURL + "&ComboVal2=" + c2.options[c2.selectedIndex].value;
		
	var wnd;
	if(!(wnd = window.open(strURL,'Selection','scrollbars=yes,status=yes,width=450,height=500,screenX=400,screenY=100,top=100,left=400')))
		alert("A popup-blocker has been detected on your system\nPlease enable popups for this site and try again.");
	else
		wnd.focus();
}

function Validate(El)
{
	CheckChildren(El);
	//CheckParent(El);
}

function CheckChildren(El)
{
		var eID = El.id;
		var i, counterChecked, counterElements, temp, opr, filter_status;
		var objArray = document.getElementsByTagName("INPUT");
		temp=''; counterElements=0; counterChecked=0; filter_status = "All";
				
		for(i=0;i<objArray.length;i++)
		{	if(objArray[i].getAttribute("parent") == eID)
				objArray[i].checked = El.checked;
				// CheckChildren(objArray[i]);
		}
		for(i=0;i<objArray.length;i++)
		{	if(objArray[i].getAttribute("HasChildren") == "No")
			{	if(objArray[i].checked)
				{
					temp = temp + '[' + objArray[i].getAttribute("ChildrenValue") + ']';
					counterChecked++;
				}
				counterElements++;
			}
		}
		objArray = document.getElementsByName("txtFilterVal");
		obj = objArray[0];
		if(obj)  obj.value = temp; //set values to Form variable

		if(counterElements!=counterChecked)	filter_status = "Selected"; else filter_status="All";
      	if(counterChecked==0) filter_status="All";

		objArray = document.getElementsByName("txtFilterStatus");
		obj = objArray[0];
		if(obj)  obj.value = filter_status; //set values to Form variable
}

function ApplySelected()
{
		var objArray, obj, txtCurrentFilterValue, txtCurrentFilterStatus;
		CurrentFilterStatus=""; CurrentFilterValue="";
      	
      	var Caller;
		objArray = document.getElementsByName("txtCaller");
		obj = objArray[0];
		if(obj) Caller = obj.value; //get name of caller e.g: HOSPITAL
		
		objArray = document.getElementsByName("txtFilterStatus");
		obj = objArray[0];
		if(obj) CurrentFilterStatus = obj.value;
		
		objArray = document.getElementsByName("txtFilterVal");
		obj = objArray[0];
		if(obj) CurrentFilterValue = obj.value;
		
		objArray = window.opener.document.getElementsByName("txt_" + Caller + "Filter_Status");
		obj = objArray[0];
		if(obj) obj.value = CurrentFilterStatus;
		
		objArray = window.opener.document.getElementsByName("txt_" + Caller + "Filter_Value");
		obj = objArray[0];
		if(obj)
			if(CurrentFilterStatus == "Selected") 
				obj.value = CurrentFilterValue; 
			else
				obj.value = "All";
		
		window.close();
}

function SetValue(Caller, txtStatus, txtValue)
{	
	if(opener)
	{
		objArray = window.opener.document.getElementsByName("txt_" + Caller + "Filter_Status");
		obj = objArray[0];
		if(obj) obj.value = txtStatus;
		
		objArray = window.opener.document.getElementsByName("txt_" + Caller + "Filter_Value");
		obj = objArray[0];
		//if(obj) if(txtStatus=="Selected") obj.value=txtValue; else obj.value="All";
		if(obj) obj.value = txtValue;
		
		if(txtStatus=="All" || txtStatus=="Select...")
		{
			if ((Caller=="GROUP") && (txtStatus=="Select...")) SetToSelect("GROUP");
			if ((Caller=="DIAGNOSIS") && (txtStatus=="Select...")) SetToSelect("DIAGNOSIS");
			if ((Caller=="PROCEDURE") && (txtStatus=="Select...")) SetToSelect("PROCEDURE");
		}
		else
		{
			//if(Caller!="GROUP") SetToAll("GROUP");
			//if(Caller!="DIAGNOSIS") SetToAll("DIAGNOSIS");
			//if(Caller!="PROCEDURE") SetToAll("PROCEDURE");
		  //objArray = window.opener.document.getElementsByName("txt_GROUPFilter_Status");
		  //obj = objArray[0];
		  //if (obj.value == "Select...") SetToAll("GROUP");
		  //objArray = window.opener.document.getElementsByName("txt_DIAGNOSISFilter_Status");
		  //obj = objArray[0];
		  //if (obj.value == "Select...") SetToAll("DIAGNOSIS");
		  //objArray = window.opener.document.getElementsByName("txt_PROCEDUREFilter_Status");
		  //obj = objArray[0];
		  //if (obj.value == "Select...") SetToAll("PROCEDURE");
		}
	}
}

function SetToAll(Caller)
{		objArray = window.opener.document.getElementsByName("txt_" + Caller + "Filter_Status");
		obj = objArray[0];
		if(obj) obj.value="All";
		
		objArray = window.opener.document.getElementsByName("txt_" + Caller + "Filter_Value");
		obj = objArray[0];
		if(obj) obj.value="All";
}

function SetToSelect(Caller)
{		objArray = window.opener.document.getElementsByName("txt_" + Caller + "Filter_Status");
		obj = objArray[0];
		if(obj) obj.value="Select...";
		
		objArray = window.opener.document.getElementsByName("txt_" + Caller + "Filter_Value");
		obj = objArray[0];
		if(obj) obj.value="Select...";
}


function ClearFilter()
{
		var i;
		var objArray = document.getElementsByTagName("INPUT");
		for(i=0;i<objArray.length;i++)
		{
			objArray[i].checked = false;
		}
		objArray = document.getElementsByName("txtFilterVal");
		obj = objArray[0];
		if(obj)  obj.value = 'All'; //set values to Form variable
		
		objArray = document.getElementsByName("txtFilterStatus");
		obj = objArray[0];
		if(obj)  obj.value = 'All'; //set values to Form variable

		objArray = document.getElementsByName("txtFilterVal1");
		obj = objArray[0];
		if(obj)  obj.value = 'All'; //set values to Form variable
		
		objArray = document.getElementsByName("txtFilterVal2");
		obj = objArray[0];
		if(obj)  obj.value = 'All'; //set values to Form variable				
		
      	var Caller;
		objArray = document.getElementsByName("txtCaller");
		obj = objArray[0];
		if(obj)  Caller = obj.value; //get name of caller e.g: HOSPITAL
	      	
		objArray = window.opener.document.getElementsByName("txt_" + Caller + "Filter_Status");
		obj = objArray[0];
		if(obj) obj.value = "All";
	
		objArray = window.opener.document.getElementsByName("txt_" + Caller + "Filter_Value");
		obj = objArray[0];
		if(obj) obj.value="All";
		
		return false;
}

function SelectType(PatientType)
{
	//hold Case object
	objArray = document.getElementsByName("STEP01_ComboCases");
	obj = objArray[0];
	
	if(PatientType=='Inpatient')
	{
		if(obj)	obj.disabled=false;
		divDefault.innerHTML = divIN.innerHTML;	
	}
	
	if(PatientType=='DaySurgery' || PatientType=='AmbulatoryCare')
	{
		if(obj)	obj.disabled=true;
		divDefault.innerHTML = divDS.innerHTML;
	}

	//hold GROUP object
	objArray = document.getElementsByName("txt_GROUPFilter_Status");
	obj = objArray[0];

	if(PatientType=='Inpatient' || PatientType=='DaySurgery')
	{
		if(obj)	obj.disabled=false;
	}
	
	if(PatientType=='AmbulatoryCare')
	{
	  //Shang: 0607 no longer need to disable AmbulatoryCare, because switch from DPG to CACS
		//if(obj)	obj.disabled=true;  
		if(obj)	obj.disabled=false;
	}

	// reset all other subjects
	ResetAll()
}

function ResetAll()
{	Reset("HOSPITAL", "All");
	Reset("GROUP", "Select...");
	Reset("DIAGNOSIS", "Select...");
	Reset("PROCEDURE", "Select...");
}

function Reset(Caller,ResetTo)
{		objArray = document.getElementsByName("txt_" + Caller + "Filter_Status");
		obj = objArray[0];
		if(obj) obj.value=ResetTo;
		
		objArray = document.getElementsByName("txt_" + Caller + "Filter_Value");
		obj = objArray[0];
		if(obj) obj.value=ResetTo;
}