var element;
var bNoClickEvent = false; 

var SMSF_ID = "67";
var HEDGE_IDS = "96, 97";
var HEDGE = "96";
var HEDGE_WHOLESALE = "97";
var MIF_ID = "90";
var MIF_NIL_ENTRY_ID = "89";
var MORT_ID = "81";
var MORT_NIL_ENTRY_ID = "87";
var PREMIER_CMT = "83";

var exception = false;
var sOptions = "";

var objExceptionMIFMenu;

var allowFundSelection = true;
var productArray = new Array();
var fundArray = new Array()

function PopulateCombo(investGroup, noneSelected)
{
	if (!this.IsFindAFund)
		var objCombo = document.getElementById(ctlID + "_cb" + investGroup);
	else
		var objCombo;
		
	var objSearchFor = document.getElementById(ctlID + "_lstSearchFor");
	var objMenu = document.getElementById(ctlID + "_lstMenus");
	var divMenu = document.getElementById("divMenu");
	var menuOuterHTML = divMenu.innerHTML;
	var sFundNames = ""
	
	if (!exception)
		sOptions = "";
	
	if (!exception)
		fundArray = new Array()
	
	menuOuterHTML = menuOuterHTML.substr(0,menuOuterHTML.toLowerCase().indexOf("</select>"));
			
	if (menuOuterHTML.toLowerCase().indexOf("<option") != -1)
		menuOuterHTML = menuOuterHTML.substr(0,menuOuterHTML.toLowerCase().indexOf("<option"));
		
	if (!this.IsFindAFund)
	{
		if (objCombo != null)
		{
			for (y=0;y<objCombo.length;y++)
			{
				//sOptions += "<option value='" + objCombo[y].value + "'>" + objCombo[y].text + "</option>"
				fundArray[fundArray.length++] = new fund(objCombo[y].value, objCombo[y].text);
			}	
		}	
	}
	else
	{
		var items = element.getElementsByTagName("input");
		
		for (v=0; v<=items.length -1; v++)
		{
			if (noneSelected)
			{
				if (items[v].type == "checkbox")
				{
					objCombo = document.getElementById(ctlID + "_cb" + items[v].id.substring(items[v].id.indexOf("_opt") + 4))
					
					if (objCombo != null)
					{
						for (y=0;y<objCombo.length;y++)
						{
							if (v == 0)
							{
								sFundNames += objCombo[y].text + ", ";
								fundArray[fundArray.length++] = new fund(objCombo[y].value, objCombo[y].text);
							}	
							else
							{
								if (sFundNames.indexOf(objCombo[y].text) == -1)
								{
									sFundNames += objCombo[y].text + ", ";
									fundArray[fundArray.length++] = new fund(objCombo[y].value, objCombo[y].text);
								}	
							}	
						}	
					}
					
					//MIF exception...
					if (items[v].id.substring(items[v].id.indexOf("_opt") + 4) == MIF_ID)
					{
						objCombo = document.getElementById(ctlID + "_cb" + MORT_ID)
						
						if (objCombo != null)
						{
							for (y=0;y<objCombo.length;y++)
							{
								if (v == 0)
								{
									sFundNames += objCombo[y].text + ", ";
									fundArray[fundArray.length++] = new fund(objCombo[y].value, objCombo[y].text);
								}	
								else
								{
									if (sFundNames.indexOf(objCombo[y].text) == -1)
									{
										sFundNames += objCombo[y].text + ", ";
										fundArray[fundArray.length++] = new fund(objCombo[y].value, objCombo[y].text);
									}	
								}	
							}	
						}
					}		
				}
			}
			else
			{
				if (items[v].type == "checkbox" && items[v].checked)
				{
					objCombo = document.getElementById(ctlID + "_cb" + items[v].id.substring(items[v].id.indexOf("_opt") + 4))
					
					if (objCombo != null)
					{
						for (y=0;y<objCombo.length;y++)
						{
							if (v == 0)
							{
								sFundNames += objCombo[y].text + ", ";
								fundArray[fundArray.length++] = new fund(objCombo[y].value, objCombo[y].text);
							}	
							else
							{
								//don't want to display duplicate names e.g Firstchoice and FirstChoice Wholesale
								if (sFundNames.indexOf(objCombo[y].text) == -1)
								{
									sFundNames += objCombo[y].text + ", ";
									fundArray[fundArray.length++] = new fund(objCombo[y].value, objCombo[y].text);
								}	
							}	
						}	
					}	
					
					//MIF exception...
					if (items[v].id.substring(items[v].id.indexOf("_opt") + 4) == MIF_ID)
					{
						objCombo = document.getElementById(ctlID + "_cb" + MORT_ID)
						
						if (objCombo != null)
						{
							for (y=0;y<objCombo.length;y++)
							{
								if (v == 0)
								{
									sFundNames += objCombo[y].text + ", ";
									fundArray[fundArray.length++] = new fund(objCombo[y].value, objCombo[y].text);
								}	
								else
								{
									//don't want to display duplicate names e.g Firstchoice and FirstChoice Wholesale
									if (sFundNames.indexOf(objCombo[y].text) == -1)
									{
										sFundNames += objCombo[y].text + ", ";
										fundArray[fundArray.length++] = new fund(objCombo[y].value, objCombo[y].text);
									}	
								}	
							}	
						}	
					}
				}
			}
		}
	}
	
	//sort fund names alphabetically
	/*if (this.IsFindAFund)
	{*/
		fundArray.sort(sortByFundName);
		sOptions = ""
	
		for(i=0;i<fundArray.length;i++)
		{
			sOptions += "<option value='" + fundArray[i].WebID + "'>" + fundArray[i].FundName + "</option>"		
		}
	//}
		
	/*for (v=objSearchFor.length;v>=0;v--)
	{
		objSearchFor.remove(v)
	}*/
	
	divMenu.innerHTML = menuOuterHTML + sOptions + "</SELECT>";
	objMenu = document.getElementById(ctlID + "_lstMenus")
	
	if (noneSelected)
	{
		for (v=objSearchFor.length;v>=0;v--)
		{
			objSearchFor.remove(v)
		}
	}
	else
	{
		if (objSearchFor.length > 0)
		{
			for (v=objSearchFor.length - 1;v>=0;v--)
			{
				if (objMenu.length > 0)
				{
					var bFound = false;
					var searchForVal = objSearchFor[v].value;
				
					for (i=objMenu.length - 1;i>=0;i--)
					{
						if (objMenu[i].value == searchForVal)
						{
							bFound = true;
							objMenu.remove(i);
							
							if (objMenu.length == 0)
							{
								for (x=objSearchFor.length -1;x>=0;x--)
								{
									if (objSearchFor[x].value != searchForVal)
										objSearchFor.remove(x)
								}
							}
							break;
						}
					}
					
					if (!bFound)
						objSearchFor.remove(v)
				}
			}
		}	
	}
}

function fund(webID, fundName) 
{
    this.WebID = webID;
    this.FundName = fundName;
}

function sortByFundName(a, b) {
    var x = a.FundName.toLowerCase();
    var y = b.FundName.toLowerCase();
    return ((x < y) ? -1 : ((x > y) ? 1 : 0));
}

function GetFundOptions()
{
	var objSearchFor = document.getElementById(ctlID + "_lstSearchFor");
	var hidFundIDs = document.getElementById(ctlID + "_hidFundIDs");
	var hidFundNames = document.getElementById(ctlID + "_hidFundNames");
	var objCombo;
	
	//clear down in case user refines search
	hidFundIDs.value = "";
	hidFundNames.value = "";
	
	//PaP does not allow multiple product selection
	if (!this.IsFindAFund)
	{
		for(y=0;y<objSearchFor.options.length;y++)
		{
			if (hidFundIDs.value == "")
				hidFundIDs.value = objSearchFor.options[y].value;
			else	
				hidFundIDs.value += ", " + objSearchFor.options[y].value;
				
			if (objSearchFor.options.length > 3)
			{
				hidFundNames.value = "Multiple funds";	
			}
			else
			{
				if (hidFundNames.value == "")
					hidFundNames.value = objSearchFor.options[y].text;
				else	
					hidFundNames.value += ", " + objSearchFor.options[y].text;		
			}	
		}	
	}
	else
	{
		var bFound = false, bDuplicate = false;
		var duplicateProductArray = new Array();
		var dupArrayCount = 0;
		
		//caters for user hitting back button
		if (productArray.length == 0)
		{
			var productCount = 0;
			
			if (document.getElementById(ctlChildID + "_optInvestment").checked)
				items = document.getElementById(ctlChildID + '_divInvestment').getElementsByTagName("input");
			else if (document.getElementById(ctlChildID + "_optSuperannuation").checked)	
				items = document.getElementById(ctlChildID + '_divSuper').getElementsByTagName("input");
			else if (document.getElementById(ctlChildID + "_optRetirement").checked)	
				items = document.getElementById(ctlChildID + '_divRetirement').getElementsByTagName("input");
			else if (document.getElementById(ctlChildID + "_optInstitutional").checked)	
				items = document.getElementById(ctlChildID + '_divInstitutional').getElementsByTagName("input");		
			
			for (x=0; x<items.length; x++)
			{
				if (items[x].type == "checkbox");
				{
					if (items[x].checked == true)
					{			
						productArray[productCount] = items[x].parentNode.parentNode.getAttribute("optionvalue");
						
						productCount++;	
					}
				}
			}			
		}
		
		for(y=0;y<objSearchFor.options.length;y++)
		{
			duplicateProductArray = new Array();
			
			if (productArray.length > 0)
			{
				for (z=0;z<productArray.length;z++)
				{
					objCombo = document.getElementById(ctlID + "_cb" + productArray[z])
					
					if (objCombo != null)
					{
						if (objCombo.innerHTML.indexOf(objSearchFor.options[y].text) != -1)
						{
							if (!bFound)
							{
								bFound = true;
								duplicateProductArray[dupArrayCount] = productArray[z];
							}
							else
							{
								bDuplicate = true;	
								duplicateProductArray[dupArrayCount] = productArray[z];					
							}	
							
							dupArrayCount++;
							
						}
					}
				}
			}
			
			if (!bDuplicate)
			{
				if (hidFundIDs.value == "")
					hidFundIDs.value = objSearchFor.options[y].value;
				else	
					hidFundIDs.value += ", " + objSearchFor.options[y].value;
					
				if (objSearchFor.options.length > 3)
				{
					hidFundNames.value = "Multiple funds";	
				}
				else
				{
					if (hidFundNames.value == "")
						hidFundNames.value = objSearchFor.options[y].text;
					else	
						hidFundNames.value += ", " + objSearchFor.options[y].text;		
				}	
			}			
			else
			{
				if (duplicateProductArray.length > 0)
				{
					for (z=0;z<duplicateProductArray.length;z++)
					{
						objCombo = document.getElementById(ctlID + "_cb" + duplicateProductArray[z])
						
						if (objCombo != null)
						{
							for (i=0;i<objCombo.options.length;i++)
							{
								if (objCombo.options[i].text == objSearchFor.options[y].text)
								{
									if (objCombo.options[i].value == objSearchFor.options[y].value)
									{
										if (hidFundIDs.value == "")
											hidFundIDs.value = objSearchFor.options[y].value;
										else	
											hidFundIDs.value += ", " + objSearchFor.options[y].value;
									}
									else
									{
										if (hidFundIDs.value == "")
											hidFundIDs.value = objCombo.options[i].value;
										else	
											hidFundIDs.value += ", " + objCombo.options[i].value;
									}
									
									break;
								}
							}
						}
					}
				}

				if (objSearchFor.options.length > 3)
				{
					hidFundNames.value = "Multiple funds";	
				}
				else
				{
					if (hidFundNames.value == "")
						hidFundNames.value = objSearchFor.options[y].text;
					else	
						hidFundNames.value += ", " + objSearchFor.options[y].text;		
				}	
			}
		}
	}
}

function AddOption()
{
	if (!allowFundSelection)
		return;
		
	var objMenu = document.getElementById(ctlID + "_lstMenus");
	var objSearchFor = document.getElementById(ctlID + "_lstSearchFor");
	
	for(i=0;i<objMenu.options.length;i++)
	{
		if (bBackHistory || !ckResults)
		{
			if (ckFundIDs != "")
			{
				var FundArray = ckFundIDs.split(",");
				
				for(var y=0;y < FundArray.length;y++)
				{
					if(objMenu.options[i].value == FundArray[y].replace(" ", ""))
					{
						var optn = document.createElement("OPTION");
						
						optn.text = objMenu.options[i].text;
						optn.value = objMenu.options[i].value;		
									
						objSearchFor.options.add(optn);
						
						objMenu.remove(i);
						
						if (objMenu.options.length > 0)
						{
							if (i == objMenu.options.length)
								objMenu.options[i - 1].selected = true;
							else
								objMenu.options[i].selected = true;
						}
						
						i = -1;
						ckFundIDs = ckFundIDs.replace(FundArray[y] + ", ", "");
												
						break;	
					}		
				}
			}
			else
			{
				if(objMenu.options[i].selected)
				{
					var optn = document.createElement("OPTION");
					
					optn.text = objMenu.options[i].text;
					optn.value = objMenu.options[i].value;		
								
					objSearchFor.options.add(optn);
					
					objMenu.remove(i);
					
					if (objMenu.options.length > 0)
					{
						if (i == objMenu.options.length)
							objMenu.options[i - 1].selected = true;
						else
							objMenu.options[i].selected = true;
					}	
								
					break;
				}		
			}
		}
		else
		{
			if(objMenu.options[i].selected)
			{
				var optn = document.createElement("OPTION");
				
				optn.text = objMenu.options[i].text;
				optn.value = objMenu.options[i].value;		
							
				objSearchFor.options.add(optn);
				
				objMenu.remove(i);
				
				if (objMenu.options.length > 0)
				{
					if (i == objMenu.options.length)
						objMenu.options[i - 1].selected = true;
					else
						objMenu.options[i].selected = true;
				}	
							
				break;
			}		
		}
	}
	
	ckFundIDs = "";
}

function RemoveOption()
{
	if (!allowFundSelection)
		return;
		
	var objMenu = document.getElementById(ctlID + "_lstMenus");
	var objSearchFor = document.getElementById(ctlID + "_lstSearchFor");
	var objCombo = document.getElementById(ctlID + "_cbFunds");	
	var sOptions = "";
	var items = element.getElementsByTagName("input");
	var sFundNames = "";
	
	fundArray = new Array();
	
	if (objSearchFor.options.length == 0)
		return;
	
	var val = objSearchFor.value
	var bFound = false;
	var iRemove = 0;
	
	var divMenu = document.getElementById("divMenu");
	var menuOuterHTML = divMenu.innerHTML;
			
	menuOuterHTML = menuOuterHTML.substr(0,menuOuterHTML.toLowerCase().indexOf("</select>"));
	
	if (menuOuterHTML.toLowerCase().indexOf("<option") != -1)
		menuOuterHTML = menuOuterHTML.substr(0,menuOuterHTML.toLowerCase().indexOf("<option"));
		
	if (items.length > 0)
	{
		for (i=0; i<=items.length -1; i++)
		{
			if (((this.IsFindAFund && items[i].type == "checkbox") || (!this.IsFindAFund && items[i].type == "radio")) && items[i].checked)
			{
				//exception for MIF products
				if (items[i].id.substring(items[i].id.indexOf("_opt") + 4) == MIF_NIL_ENTRY_ID)
					objCombo = document.getElementById(ctlID + "_cb" + MORT_NIL_ENTRY_ID);
				else if (items[i].id.substring(items[i].id.indexOf("_opt") + 4) == MIF_ID)
				{
					var fArray = new Array()
					
					objCombo = document.getElementById(ctlID + "_cb" + MIF_ID);
					
					for (a=0;a<objCombo.length;a++)
					{
						//sOptions += "<option value='" + objCombo[y].value + "'>" + objCombo[y].text + "</option>"
						fArray[fArray.length++] = new fund(objCombo[a].value, objCombo[a].text);
					}	
					
					objCombo = document.getElementById(ctlID + "_cb" + MORT_NIL_ENTRY_ID);
					
					for (b=0;b<objCombo.length;b++)
					{
						//sOptions += "<option value='" + objCombo[y].value + "'>" + objCombo[y].text + "</option>"
						fArray[fArray.length++] = new fund(objCombo[b].value, objCombo[b].text);
					}	
					
					fArray.sort(sortByFundName);
					sOptions = ""
	
					for(c=0;c<fArray.length;c++)
					{
						sOptions += "<option value='" + fArray[c].WebID + "'>" + fArray[c].FundName + "</option>"		
					}
					
					divExceptMenu.innerHTML = "<SELECT ID='selCopy'>" + sOptions + "</SELECT>";
					sOptions = "";
					objCombo = document.getElementById("selCopy")
				}
				else
					objCombo = document.getElementById(ctlID + "_cb" + items[i].id.substring(items[i].id.indexOf("_opt") + 4))
				
				if (objCombo != null)
				{
					for (x=0;x<objCombo.length;x++)
					{
						bFound = false;
						
						for(y=0;y<objSearchFor.options.length;y++)
						{
							if(objSearchFor.options[y].text == objCombo[x].text)
							{
								bFound = true;
								
								if (objSearchFor.options[y].selected)
								{
									if (this.IsFindAFund)
									{
										//don't want to display duplicate names e.g Firstchoice and FirstChoice Wholesale
										if (sFundNames.indexOf(objCombo[x].text) == -1)
										{
											sFundNames += objCombo[x].text + ", ";
											fundArray[fundArray.length++] = new fund(objCombo[x].value, objCombo[x].text);
										}	
									}	
									else
										sOptions += "<option value='" + objCombo[x].value + "'>" + objCombo[x].text + "</option>"
																	
									objSearchFor.remove(y)
									iRemove = y
									
									break;	
								}	
								else
									break;
							}
						}
						
						if (!bFound)
						{
							if (this.IsFindAFund)
							{
								//don't want to display duplicate names e.g Firstchoice and FirstChoice Wholesale
								if (sFundNames.indexOf(objCombo[x].text) == -1)
								{
									sFundNames += objCombo[x].text + ", ";
									fundArray[fundArray.length++] = new fund(objCombo[x].value, objCombo[x].text);
								}	
							}	
							else
								sOptions += "<option value='" + objCombo[x].value + "'>" + objCombo[x].text + "</option>"	
						}	
					}
				}
			}	
		}	
	}
	
	//sort fund names alphabetically
	if (this.IsFindAFund)
	{
		fundArray.sort(sortByFundName);
		sOptions = "";
	
		for(i=0;i<fundArray.length;i++)
		{
			sOptions += "<option value='" + fundArray[i].WebID + "'>" + fundArray[i].FundName + "</option>"		
		}
	}
	
	if (objSearchFor.options.length != 0)
	{
		if (iRemove == 0)
			objSearchFor.options[iRemove].selected = true;
		else
			objSearchFor.options[iRemove - 1].selected = true;
	}
	
	divMenu.innerHTML = menuOuterHTML + sOptions + "</SELECT>";
}

function doSearch()
{
	var productCount = 0, hedgeOnly = true;
	
	if (Validate())
	{
		if (this.IsFindAFund)
		{
			//if no product selected, then search for all products
			if (document.getElementById(ctlID + "_hidProductID").value == "")
			{
				productArray = new Array();
				
				//selected option
				var items = element.getElementsByTagName("input");
				
				if (document.getElementById(ctlID + "_chkHedge").checked)
				{
					document.getElementById(ctlID + "_hidProductID").value = HEDGE_IDS;
					productArray[0] = HEDGE;
					productArray[1] = HEDGE_WHOLESALE;
				}
				else
				{
					for (i=0; i<items.length; i++)
					{
						if (items[i].type == "checkbox")
						{
							productArray[productCount] = items[i].parentNode.parentNode.getAttribute("optionvalue")
							
							productCount++;
							
							if (document.getElementById(ctlID + "_hidProductID").value == "")
								document.getElementById(ctlID + "_hidProductID").value = items[i].parentNode.parentNode.getAttribute("optionvalue");
							else
								document.getElementById(ctlID + "_hidProductID").value += ", " + items[i].parentNode.parentNode.getAttribute("optionvalue");			
						}
					}
					
					document.getElementById(ctlID + "_hidProductText").value = "All";
				}
			}
			else
			{
				if (document.getElementById(ctlID + "_chkCash").checked 
				|| document.getElementById(ctlID + "_chkProperty").checked 
				|| document.getElementById(ctlID + "_chkGlobalShares").checked 
				|| document.getElementById(ctlID + "_chkAustralianShares").checked 
				|| document.getElementById(ctlID + "_chkAusFixedInterest").checked 
				|| document.getElementById(ctlID + "_chkGlobFixedInterest").checked 
				|| document.getElementById(ctlID + "_chkMultiSector").checked)
					hedgeOnly = false;
				
				//because of back button and possibility of hedge option, need to check all options
				//that have been selected again when user hit back button
				/*if (back)
				{
					var items = element.getElementsByTagName("input");
					
					document.getElementById(ctlID + "_hidProductID").value = "";
					
					if (document.getElementById(ctlID + "_chkHedge").checked && hedgeOnly)
					{
						for (i=0; i<items.length; i++)
						{
							if (items[i].type == "checkbox" && items[i].checked)
							{
								if (items[i].parentNode.parentNode.getAttribute("optionvalue") == HEDGE)
								{
									if (document.getElementById(ctlID + "_hidProductID").value == "")
										document.getElementById(ctlID + "_hidProductID").value = HEDGE;
									else
										document.getElementById(ctlID + "_hidProductID").value += ", " + HEDGE;			
								}
								
								if (items[i].parentNode.parentNode.getAttribute("optionvalue") == HEDGE_WHOLESALE)
								{
									if (document.getElementById(ctlID + "_hidProductID").value == "")
										document.getElementById(ctlID + "_hidProductID").value = HEDGE_WHOLESALE;
									else
										document.getElementById(ctlID + "_hidProductID").value += ", " + HEDGE_WHOLESALE;			
								}
							}
						}
					}
					else
					{
						for (x=0; x<items.length; x++)
						{
							if (items[x].type == "checkbox");
							{
								if (items[x].checked == true)
								{			
									if (document.getElementById(ctlID + "_hidProductID").value == "")
										document.getElementById(ctlID + "_hidProductID").value = items[x].parentNode.parentNode.getAttribute("optionvalue");
									else
										document.getElementById(ctlID + "_hidProductID").value += ", " + items[x].parentNode.parentNode.getAttribute("optionvalue");		
								}
							}
						}
					}
				}
				else
				{*/
					if (document.getElementById(ctlID + "_chkHedge").checked && hedgeOnly)
					{
						var items = element.getElementsByTagName("input");
					
						document.getElementById(ctlID + "_hidProductID").value = "";
						
						for (i=0; i<items.length; i++)
						{
							if (items[i].type == "checkbox" && items[i].checked)
							{
								if (items[i].parentNode.parentNode.getAttribute("optionvalue") == HEDGE)
								{
									if (document.getElementById(ctlID + "_hidProductID").value == "")
										document.getElementById(ctlID + "_hidProductID").value = HEDGE;
									else
										document.getElementById(ctlID + "_hidProductID").value += ", " + HEDGE;			
								}
								
								if (items[i].parentNode.parentNode.getAttribute("optionvalue") == HEDGE_WHOLESALE)
								{
									if (document.getElementById(ctlID + "_hidProductID").value == "")
										document.getElementById(ctlID + "_hidProductID").value = HEDGE_WHOLESALE;
									else
										document.getElementById(ctlID + "_hidProductID").value += ", " + HEDGE_WHOLESALE;			
								}
							}
						}					
					}
				//}
				
				document.getElementById(ctlID + "_hidSearchProductIDs").value = document.getElementById(ctlID + "_hidProductID").value;
				
				if(!document.getElementById(ctlID + "_chkHedge").checked && !hedgeOnly)
				{
					//remove hedge ids
					if (document.getElementById(ctlID + "_hidProductID").value != "")
					{
						document.getElementById(ctlID + "_hidProductID").value = document.getElementById(ctlID + "_hidProductID").value.replace("96, ", "");
						document.getElementById(ctlID + "_hidProductID").value = document.getElementById(ctlID + "_hidProductID").value.replace("97, ", "");
						document.getElementById(ctlID + "_hidProductID").value = document.getElementById(ctlID + "_hidProductID").value.replace(", 96", "");
						document.getElementById(ctlID + "_hidProductID").value = document.getElementById(ctlID + "_hidProductID").value.replace(", 97", "");
					}
				}
			}
		}

		GetFundOptions()
		//SetDownloadOptions()
		
		document.getElementById("hidSearch").value = "true";
		
		if (document.getElementById(ctlID + "_chkHedge").disabled)
			document.getElementById("hidHedge").value = "true";
		else
			document.getElementById("hidHedge").value = "false";
			
		if (document.getElementById(ctlID + "_chkHedge").checked)
			document.getElementById("hidHedgeCheck").value = "true";
		else
			document.getElementById("hidHedgeCheck").value = "false";	
		
		document.getElementById("hidMenuInnerHTML").value = document.getElementById("divMenu").innerHTML;
		document.getElementById("hidSearchForInnerHTML").value = document.getElementById("divSearchFor").innerHTML;
				
		document.getElementById("frmPage").submit();
	}
}

function ToggleOptions(elm)
{
	//used for reference in other functions
	element = elm;
	
	if (bNoClickEvent)
	{
		bNoClickEvent = false;	
		
		if (document.getElementById(ctlChildID + "_optInstitutional").checked)
			SetOptionSelected('', 'Institutional and Master Trusts', 'WF', 'CFSI')
		
		return;
	}
	
	var uncheckedElm = "";
	
	if (elm.style.display == "block")
	{
		if (document.getElementById(ctlChildID + "_optInstitutional").checked)
			SetOptionSelected('', 'Institutional and Master Trusts', 'WF', 'CFSI')
		return;
	}
	else
	{
		var items;
		
		if (document.getElementById(ctlChildID + "_divInvestment").style.display == "block")
			uncheckedElm = document.getElementById(ctlChildID + "_divInvestment");
		else if (document.getElementById(ctlChildID + "_divSuper").style.display == "block")
			uncheckedElm = document.getElementById(ctlChildID + "_divSuper");
		else if (document.getElementById(ctlChildID + "_divRetirement").style.display == "block")
			uncheckedElm = document.getElementById(ctlChildID + "_divRetirement");		
		else if (document.getElementById(ctlChildID + "_divInstitutional").style.display == "block")
			uncheckedElm = document.getElementById(ctlChildID + "_divInstitutional");	
		
		document.getElementById(ctlChildID + "_divInvestment").style.display = "none"
		document.getElementById(ctlChildID + "_divSuper").style.display = "none";
		document.getElementById(ctlChildID + "_divRetirement").style.display = "none";
		document.getElementById(ctlChildID + "_divInstitutional").style.display = "none";
		items = document.getElementById("outerTable").getElementsByTagName("input");
		
		for (i=0; i<items.length -1; i++)
		{
			if (items[i].type == "radio");
			{
				switch(items[i].id)
				{
					case ctlChildID + "_optInvestment": 
					case ctlChildID + "_optSuperannuation":
					case ctlChildID + "_optRetirement":
					case ctlChildID + "_optInstitutional":
						continue;
				}
				
				items[i].checked = false;
			}
			
			if (!document.getElementById(ctlChildID + "_optInstitutional").checked)
			{
				if (uncheckedElm != "")
				{
					items = uncheckedElm.getElementsByTagName("input");
				
					for (z=0; z<items.length; z++)
					{
						if (items[z].type == "checkbox" || items[z].type == "radio");
						{
							items[z].checked = false;
						}
					}
				}	
									
				items = elm.getElementsByTagName("input");
				
				for (z=0; z<items.length; z++)
				{
					if (items[z].type == "checkbox" || items[z].type == "radio");
					{
						//items[i].checked = true;
						elm.style.display = "block"
						
						if (!this.IsFindAFund)
						{
							items[z].click();
							return;
						}	
						else
						{
							//check every item except the first. Script runs quicker.
							if (z != 0)
								items[z].checked = true;
						}
					}
				}
				
				//for find a fund, quicker to check all options expcept the first and
				//call click event for first item when all other are checked...all product IDs
				//will still be obtained from SetoptionSelected function as it loops through all
				//controls and checked for their checked property. Click only needs to be called once
				//for this to happen.
				items[0].click();
				return;
			}
			else
				SetOptionSelected('', 'Institutional and Master Trusts', 'WF', 'CFSI')
		}
	}
}

function SetOptionSelected(productID, productText, mainGroup, brandName)
{
	if (!this.IsFindAFund)
	{
		if (!exception)
		{
			//PAP - can only select one product at a time
			document.getElementById(ctlID + "_hidProductID").value = productID;
			document.getElementById(ctlID + "_hidProductText").value = productText;
		}
		else
		{
			document.getElementById(ctlID + "_hidProductID").value += ", " + productID;
		}
	}	
	else
	{	
		//FAF - multiple product selection allowed
		
		var elm, items;
		var allSelected = true, noneSelected = true;
		var productCount = 0;
		
		productArray = new Array();
		
		document.getElementById(ctlID + "_hidProductID").value = "";
		document.getElementById(ctlID + "_hidProductText").value = "";
		
		if (document.getElementById(ctlChildID + "_optInvestment").checked)
			items = document.getElementById(ctlChildID + '_divInvestment').getElementsByTagName("input");
		else if (document.getElementById(ctlChildID + "_optSuperannuation").checked)	
			items = document.getElementById(ctlChildID + '_divSuper').getElementsByTagName("input");
		else if (document.getElementById(ctlChildID + "_optRetirement").checked)	
			items = document.getElementById(ctlChildID + '_divRetirement').getElementsByTagName("input");
		else if (document.getElementById(ctlChildID + "_optInstitutional").checked)	
			items = document.getElementById(ctlChildID + '_divInstitutional').getElementsByTagName("input");		
			
		for (x=0; x<items.length; x++)
		{
			if (items[x].type == "checkbox");
			{
				if (items[x].checked == true)
				{			
					noneSelected = false;
					
					productArray[productCount] = items[x].parentNode.parentNode.getAttribute("optionvalue");
					
					productCount++;
					
					if (document.getElementById(ctlID + "_hidProductID").value == "")
						document.getElementById(ctlID + "_hidProductID").value = items[x].parentNode.parentNode.getAttribute("optionvalue");
					else
						document.getElementById(ctlID + "_hidProductID").value += ", " + items[x].parentNode.parentNode.getAttribute("optionvalue");		
						
					if (document.getElementById(ctlID + "_hidProductText").value == "")
						document.getElementById(ctlID + "_hidProductText").value = items[x].parentNode.parentNode.getAttribute("optiontext");
					else
						document.getElementById(ctlID + "_hidProductText").value += ", " + items[x].parentNode.parentNode.getAttribute("optiontext");			
						
					//PopulateCombo(items[x].parentNode.getAttribute("optionvalue"));	
				}
				else
					allSelected = false;
			}
		}
	}
	
	if (allSelected)
		document.getElementById(ctlID + "_hidProductText").value = "All";
		
	if (mainGroup != "WF")
	{
		if (!this.IsFindAFund)
		{
			if (productID == HEDGE || productID == HEDGE_WHOLESALE)
			{
				document.getElementById(ctlID + "_chkHedge").disabled = false;		
				document.getElementById(ctlID + "_chkHedge").checked = false;
			}
			else
			{
				document.getElementById(ctlID + "_chkHedge").checked = false;
				document.getElementById(ctlID + "_chkHedge").disabled = true;			
			}
		}
		else
		{
			if (!noneSelected)
			{
				var hedgeSelected = false;
			
				for(i=0;i<productArray.length;i++)
				{
					if (productArray[i] == HEDGE || productArray[i] == HEDGE_WHOLESALE)
					{
						document.getElementById(ctlID + "_chkHedge").disabled = false;		
						hedgeSelected = true;
						break;
					}
				}
				
				if (!hedgeSelected)
				{
					document.getElementById(ctlID + "_chkHedge").checked = false;
					document.getElementById(ctlID + "_chkHedge").disabled = true;			
				}
			}
			else
			{
				if (mainGroup == "IF")
				{
					document.getElementById(ctlID + "_chkHedge").checked = false;
					document.getElementById(ctlID + "_chkHedge").disabled = false;		
				}	
				else
				{
					var hedgeSelected = false;
			
					for(i=0;i<productArray.length;i++)
					{
						if (productArray[i] == HEDGE || productArray[i] == HEDGE_WHOLESALE)
						{
							document.getElementById(ctlID + "_chkHedge").disabled = false;		
							hedgeSelected = true;
							break;
						}
					}
					
					if (!hedgeSelected)
					{
						document.getElementById(ctlID + "_chkHedge").checked = false;
						document.getElementById(ctlID + "_chkHedge").disabled = true;			
					}
				}
			}	
		}
	}
	else
	{
		document.getElementById(ctlID + "_chkHedge").checked = false;
		document.getElementById(ctlID + "_chkHedge").disabled = true;		
	}	
	
	document.getElementById(ctlID + "_hidMainGroup").value = mainGroup;
	document.getElementById(ctlID + "_hidBrandName").value = brandName;
	
	if (!this.IsFindAFund)
	{
		if (productID != "")
			PopulateCombo(productID, false);	
	}
	else
	{
		if (productID != "")
			PopulateCombo(productID, noneSelected);	
	}
	
	if (!this.IsFindAFund)
	{
		if (productID == MIF_ID)
		{
			exception = true;
			SetOptionSelected(MORT_ID, productText, mainGroup, brandName)
			
			objExceptionMIFMenu = document.getElementById(ctlID + "_lstMenus");
			exception = false;
		}	
		else if (productID == MIF_NIL_ENTRY_ID)
		{
			exception = true;
			SetOptionSelected(MORT_NIL_ENTRY_ID, productText, mainGroup, brandName)	
			
			exception = false;
		}	
	}
}

function SetControls(bEnable)
{
		document.getElementById(ctlID + "_txtFundName").readOnly = false;
		
		allowFundSelection = bEnable;

		if (bEnable)
		{
			if (!this.IsFindAFund)
				document.getElementById(ctlID + "_txtAPIRCode").readOnly = false;
						
			document.getElementById(ctlID + "_chkGlobalShares").disabled = false;
			document.getElementById(ctlID + "_chkAustralianShares").disabled = false;
			document.getElementById(ctlID + "_chkProperty").disabled = false;
			document.getElementById(ctlID + "_chkCash").disabled = false;
			document.getElementById(ctlID + "_chkGlobFixedInterest").disabled = false;
			
			/*if (this.IsFindAFund)
				document.getElementById(ctlID + "_chkHedge").disabled = false;*/
				
			document.getElementById(ctlID + "_chkMultiSector").disabled = false;
			document.getElementById(ctlID + "_chkAusFixedInterest").disabled = false;
			document.getElementById(ctlID + "_lstMenus").disabled = false;
			document.getElementById(ctlID + "_lstSearchFor").disabled = false;
		}
		else
		{
			document.getElementById(ctlID + "_txtFundName").value = "";
			document.getElementById(ctlID + "_txtFundName").readOnly = true;

			if (!this.IsFindAFund)
			{
				document.getElementById(ctlID + "_txtAPIRCode").value = "";
				document.getElementById(ctlID + "_txtAPIRCode").readOnly = true;
			}	

			document.getElementById(ctlID + "_chkGlobalShares").checked = false;
			document.getElementById(ctlID + "_chkGlobalShares").disabled = true;
			document.getElementById(ctlID + "_chkAustralianShares").checked = false;
			document.getElementById(ctlID + "_chkAustralianShares").disabled = true;
			document.getElementById(ctlID + "_chkProperty").checked = false;
			document.getElementById(ctlID + "_chkProperty").disabled = true;
			document.getElementById(ctlID + "_chkCash").checked = false;
			document.getElementById(ctlID + "_chkCash").disabled = true;
			document.getElementById(ctlID + "_chkGlobFixedInterest").checked = false;
			document.getElementById(ctlID + "_chkGlobFixedInterest").disabled = true;
			
			/*if (this.IsFindAFund)
			{
				document.getElementById(ctlID + "_chkHedge").checked = false;
				document.getElementById(ctlID + "_chkHedge").disabled = true;
			}*/
				
			document.getElementById(ctlID + "_chkMultiSector").checked = false;
			document.getElementById(ctlID + "_chkMultiSector").disabled = true;
			document.getElementById(ctlID + "_chkAusFixedInterest").checked = false;
			document.getElementById(ctlID + "_chkAusFixedInterest").disabled = true;
			
			var objSearchFor = document.getElementById(ctlID + "_lstSearchFor");
			
			for (v=objSearchFor.length;v>=0;v--)
			{
				objSearchFor.remove(v)
			}
			
			document.getElementById(ctlID + "_lstMenus").selectedIndex = -1;
			document.getElementById(ctlID + "_lstMenus").disabled = true;
			document.getElementById(ctlID + "_lstSearchFor").disabled = true;
			//document.getElementById("divList").style.display = "none";
		}
}


function MarginLoanSelected()
{
	var marginLoanRadioButton = document.getElementById(ctlID + "_optMarginLoanInterestRates");
	if (marginLoanRadioButton == null)
		return false;
	
	return (marginLoanRadioButton.checked);
}

function SaverSelected()
{
	var button = document.getElementById(ctlID + "_optSaverInterestRates");
	if (button == null)
		return false;
	
	return (button.checked);
}


function Validate()
{
	if (MarginLoanSelected() || SaverSelected())
		return true;

	if (!document.getElementById(ctlChildID + "_optInvestment").checked 
	&& !document.getElementById(ctlChildID + "_optSuperannuation").checked 
	&& !document.getElementById(ctlChildID + "_optRetirement").checked 
	&& !document.getElementById(ctlChildID + "_optInstitutional").checked)
	{
		alert("Please select the investment type and product you are interested in.")
		return false;
	}
	else
	{
		return true;
	}
}

function ShowList(elm, img)
{
	if (!document.getElementById(ctlChildID + "_optInvestment").checked 
	&& !document.getElementById(ctlChildID + "_optSuperannuation").checked 
	&& !document.getElementById(ctlChildID + "_optRetirement").checked 
	&& !document.getElementById(ctlChildID + "_optInstitutional").checked)
	{
		alert("Please select the investment type and product you are interested in.")
	}
	else
	{
		if (!document.getElementById(ctlChildID + "_optInstitutional").checked)
		{
			try
			{
				//fixes bug in Firefox when browser back button is used and select from list link is selected
				if (navigator.userAgent.toUpperCase().indexOf("FIREFOX") != -1
					&& location.protocol.indexOf("https") == -1)
				{
					if (document.getElementById(ctlID + "_lstMenus").options.length == 0)
					{
						var items;
						
						if (document.getElementById(ctlChildID + "_optInvestment").checked)
							items = document.getElementById(ctlChildID + "_divInvestment").getElementsByTagName("input");
						else if (document.getElementById(ctlChildID + "_optSuperannuation").checked)	
							items = document.getElementById(ctlChildID + "_divSuper").getElementsByTagName("input");
						else if (document.getElementById(ctlChildID + "_optSuperannuation").checked)	
							items = document.getElementById(ctlChildID + "_divRetirement").getElementsByTagName("input");	
						 		
						for (i=0; i<items.length; i++)
						{
							if (items[i].type == "radio");
							{
								if (items[i].checked)
									items[i].click();
							}
						}	
					}	
				}
			}
			catch(e)
			{
			}
			
			if (document.getElementById(ctlID + "_lstMenus").options.length > 0)
				document.getElementById(ctlID + "_lstMenus").options[0].selected = true;
						
			document.getElementById("hidShowFunds").value = "true";
			
			elm.style.display = "block";
			
			img.style.visibility = "hidden";
			
			ResizeFrame();
		}
	}
}

function ClearFilters()
{
	document.getElementById(ctlID + "_txtFundName").value = "";
	document.getElementById(ctlID + "_chkGlobalShares").checked = false;
	document.getElementById(ctlID + "_chkAustralianShares").checked = false;
	document.getElementById(ctlID + "_chkProperty").checked = false;
	document.getElementById(ctlID + "_chkCash").checked = false;
	document.getElementById(ctlID + "_chkGlobFixedInterest").checked = false;
	document.getElementById(ctlID + "_chkHedge").checked = false;
	document.getElementById(ctlID + "_chkMultiSector").checked = false;
	document.getElementById(ctlID + "_chkAusFixedInterest").checked = false;
				
	var objSearchFor = document.getElementById(ctlID + "_lstSearchFor");
			
	for (v=objSearchFor.length;v>=0;v--)
	{
		objSearchFor.remove(v)
	}
	document.getElementById(ctlID + "_lstMenus").selectedIndex = -1;
}

function CompareAll(elm)
{
	var items = elm.getElementsByTagName("input");
	
	ClearFilters()
	
	for (i=0; i<items.length; i++)
	{
		if (items[i].type == "checkbox");
		{
			if (!items[i].checked)
				items[i].checked = "true";
		}
	}
	
	if (!items[0].checked)
		items[0].click();
	else
	{
		items[0].checked = false;
		items[0].click();
	}	
	
	doSearch();
}

function ShowInvestmentTypes()
{
	document.getElementById(ctlID + "_divSearchCriteria").style.display = "none";
	
	if (bPublic)
		document.getElementById("divHeader").innerHTML = "<h1 style=\"background: url(/images/subtitle_invest_types.gif) 0 0 no-repeat;\">Investment types</h1>";
	else
		document.getElementById("divHeader").style.display = "none";
		
	document.getElementById("divCrumbs").innerHTML = "<STRONG>You are here:</STRONG> <a href=\"/price_performance/findFund.aspx?menutabtype=&CompanyCode=001&Public=1\">Find a fund</a> > Investment types";
	
	try
	{
		selectNavigationMenu('investmentTypes', 'FindAFund');
	}
	catch(e)
	{
	}
	
	document.getElementById(ctlIvstID + "_divInvestmentTypes").style.display = "block";
}

function ShowSearchCriteria()
{
	document.getElementById(ctlIvstID + "_divInvestmentTypes").style.display = "none";
	
	document.getElementById("divHeader").innerHTML = "<h1 style=\"background: url(/images/subtitle_faf.gif) 0 0 no-repeat;\">Find a fund</h1>";
	document.getElementById("divCrumbs").innerHTML = "<STRONG>You are here:</STRONG> <a href=\"/price_performance/findFund.aspx?menutabtype=&CompanyCode=001&Public=1\">Find a fund</a> > Find a fund search";
	
	document.getElementById(ctlID + "_divSearchCriteria").style.display = "block";
	
	try
	{
		selectNavigationMenu('', 'FindAFund');
	}
	catch(e)
	{
	}
}

function SubmitForm()
{
	document.getElementById("hidSearch").value = "true";
	document.getElementById(ctlID + "_hidMoreInfo").value = "True";
		
	document.getElementById("hidMenuInnerHTML").value = document.getElementById("divMenu").innerHTML;
	document.getElementById("hidSearchForInnerHTML").value = document.getElementById("divSearchFor").innerHTML;
				
	document.getElementById("frmPage").submit();
}

function ShowSuper()
{
	if (bStatic)
	{
		document.getElementById(ctlID + "_hidInvestType").value = "Superannuation products";
		document.getElementById(ctlID + "_hidProductID").value = "10, 11, 60, 65, 67";
		document.getElementById(ctlID + "_hidProductText").value = "All";
		document.getElementById(ctlID + "_hidMainGroup").value = "SF";
		document.getElementById(ctlID + "_hidBrandName").value = "";
		
		SubmitForm();		
	}
	else
	{
		ClearFilters()
		
		if (document.getElementById(ctlChildID + "_optSuperannuation").checked)
		{
			document.getElementById(ctlID + "_hidMoreInfo").value = "True";
			CompareAll(document.getElementById(ctlChildID + "_divSuper"));
		}	
		else
		{
			document.getElementById(ctlChildID + "_optSuperannuation").click();
			SubmitForm();		
		}
	}	
}

function ShowRetirement()
{
	if (bStatic)
	{
		document.getElementById(ctlID + "_hidInvestType").value = "Retirement products";
		document.getElementById(ctlID + "_hidProductID").value = "20, 50, 51, 67";
		document.getElementById(ctlID + "_hidProductText").value = "All";
		document.getElementById(ctlID + "_hidMainGroup").value = "RF";
		document.getElementById(ctlID + "_hidBrandName").value = "";
		
		SubmitForm();		
	}
	else
	{
		ClearFilters()
		
		if (document.getElementById(ctlChildID + "_optRetirement").checked)
		{
			document.getElementById(ctlID + "_hidMoreInfo").value = "True";
			CompareAll(document.getElementById(ctlChildID + "_divRetirement"));
		}	
		else
		{
			document.getElementById(ctlChildID + "_optRetirement").click();
			SubmitForm();	
		}	
	}	
}

function ShowInstitutional()
{
	if (bStatic)
	{
		document.getElementById(ctlID + "_hidInvestType").value = "Institutional and master trusts";
		document.getElementById(ctlID + "_hidProductID").value = "";
		document.getElementById(ctlID + "_hidProductText").value = "All";
		document.getElementById(ctlID + "_hidMainGroup").value = "WF";
		document.getElementById(ctlID + "_hidBrandName").value = "";
		
		SubmitForm();		
	}
	else	
	{
		ClearFilters()
		
		document.getElementById(ctlChildID + "_optInstitutional").click();
	
		SubmitForm();		
	}
}

function ShowInvestments()
{
	if (bStatic)
	{
		document.getElementById(ctlID + "_hidInvestType").value = "Investment products";
		document.getElementById(ctlID + "_hidProductID").value = "70, 83, 84, 90, 91, 96, 97";
		document.getElementById(ctlID + "_hidProductText").value = "All";
		document.getElementById(ctlID + "_hidMainGroup").value = "IF";
		document.getElementById(ctlID + "_hidBrandName").value = "";
		
		SubmitForm();		
	}
	else
	{
		ClearFilters()
		
		if (document.getElementById(ctlChildID + "_optInvestment").checked)
		{
			document.getElementById(ctlID + "_hidMoreInfo").value = "True";
			CompareAll(document.getElementById(ctlChildID + "_divInvestment"));
		}	
		else
		{
			document.getElementById(ctlChildID + "_optInvestment").click();
			SubmitForm();	
		}
	}
}

function goCustom()
{
	if (bPublic)
		window.location.href = 'performanceNprice.aspx?' + 'Redirect=1&Public=1&FundTransfer=' + bFundTransfer + '&custom=1';
	else
		window.location.href = 'performanceNprice.aspx?' + 'Redirect=1&FundTransfer=' + bFundTransfer + '&custom=1';
}
