function reset1(state_1){
    switch(state_1){
        case 186:
            document.getElementById("T3_1860").checked=false;  document.getElementById("T3_1861").checked=false;  document.getElementById("T3_1862").checked=false; 
            break;
        case 187:
            document.getElementById("T3_1870").checked=false;  document.getElementById("T3_1871").checked=false;  document.getElementById("T3_1872").checked=false; 
            break;
        case 188:
            document.getElementById("T3_1880").checked=false;  document.getElementById("T3_1881").checked=false;  document.getElementById("T3_1882").checked=false; 
            break;    
        case 189:
            document.getElementById("T3_1890").checked=false;  document.getElementById("T3_1891").checked=false;  document.getElementById("T3_1892").checked=false; 
            break;    
        case 190:
            document.getElementById("T3_1900").checked=false;  document.getElementById("T3_1901").checked=false;  document.getElementById("T3_1902").checked=false; 
            break;    
        case 191:
            document.getElementById("T3_1910").checked=false;  document.getElementById("T3_1911").checked=false;  document.getElementById("T3_1912").checked=false; 
            break;    
        case 192:
            document.getElementById("T3_1920").checked=false;  document.getElementById("T3_1921").checked=false;  document.getElementById("T3_1922").checked=false; 
            break;    
        case 193:
            document.getElementById("T3_1930").checked=false;  document.getElementById("T3_1931").checked=false;  document.getElementById("T3_1932").checked=false; 
            break;     
        case 264:
            document.getElementById("T3_2640").checked=false;  document.getElementById("T3_2641").checked=false;  document.getElementById("T3_2642").checked=false; 
            break;     
        case 265:
            document.getElementById("T3_2650").checked=false;  document.getElementById("T3_2651").checked=false;  document.getElementById("T3_2652").checked=false; 
            break;      
        case 266:
            document.getElementById("T3_2660").checked=false;  document.getElementById("T3_2661").checked=false;  document.getElementById("T3_2662").checked=false; 
            break;  
    }
}


//------------------------------------------------------------------------------------------------------------------------------------------------------

function radioBehavior(chbx_obj, is_radio_question) {
	// Turns off all checkboxes with that name, and only selects the clicked checkbox
	if (chbx_obj.checked == true) {
		if (document.getElementsByName) {
			temp = document.getElementsByName(chbx_obj.name);
			for (i=0; i<temp.length; i++)
				temp[i].checked = false;
			chbx_obj.checked = true;
		} else if (document.all) {
			for (i=0; i < document.frmMain.elements.length; i++) {
				if ((document.frmMain.elements[i].type == 'checkbox') && (document.frmMain.elements[i].name == chbx_obj.name))
					document.frmMain.elements[i].checked = false;
			}
			chbx_obj.checked = true;
		} else {
			// Netscape 4.* & IE 3.* code here
		}
	} else {
		if (is_radio_question) {
			chbx_obj.checked = true; // if this is a checkbox with true radiobutton behavior we disallow unchecking
		}
	}
}

//------------------------------------------------------------------------------------------------------------------------------------------------------

function CheckDependencies(question_id, el_obj) {
	/* [DESCRIPTION]
	1) "getChildren(question_id)" returns array of children for passed "question_id", returns false if no children
	2) loop thru "ChildrenArray"
		[2.1] Check the comparison type, and set the actions for a match and a not-match (NB: true=show, false=hide)
		[2.2] Get the required parent value from the Relationship string (ie: U10 --> 10)
		[2.3] If 2.2 is -1 then check if any of the t3's are checked
		[2.4] Otherwise, check if the parent is a checkbox or not, if it is, is it a radio checkbox or a standard checkbox?
		[2.5] Toggle the child display style on(true) or off(false)
	*/
	ChildrenArray = getChildren(question_id);
	if (ChildrenArray !== false) {
		for (i=0; i<ChildrenArray.length; i++) {
			comp_type = ChildrenArray[i][1].charAt(0);

			// depending on the comparison type, we will either show or hide a child when the values match
			if (comp_type == "E") { MatchDisplayChild = true; NotMatchDisplayChild = false; } else { MatchDisplayChild = false; NotMatchDisplayChild = true; }

			requiredValue = parseInt(ChildrenArray[i][1].substring(1,10));
			child_id = ChildrenArray[i][0];

			if (requiredValue == -1) {  // deal with T3 special case dependancy... is any of that T3 set checked?
				if (isAnyChecked(el_obj.name)) {
					toggleChild(child_id, NotMatchDisplayChild);
				} else {
					toggleChild(child_id, MatchDisplayChild);
				}
			} else {
				if (el_obj.type == 'checkbox') {
					if (el_obj.name.indexOf('rcheck') != -1) {   // this is a radio checkbox
						if (el_obj.value == requiredValue) toggleChild(child_id, MatchDisplayChild);
						else toggleChild(child_id, NotMatchDisplayChild);
					} else {   // this is a checkbox
						if (el_obj.checked == requiredValue) toggleChild(child_id, MatchDisplayChild);
						else toggleChild(child_id, NotMatchDisplayChild);
					}
				} else {
					if ((comp_type != "L") && (comp_type != "H")) {
						if (el_obj.value == requiredValue) {
							toggleChild(child_id, MatchDisplayChild);
						} else {
							toggleChild(child_id, NotMatchDisplayChild);
						}
					} else {
						MatchDisplayChild = true;
						NotMatchDisplayChild = false;

						if (comp_type == "L") {
							//LOWER
							if (el_obj.value < requiredValue) {
								toggleChild(child_id, MatchDisplayChild);
							} else {
								toggleChild(child_id, NotMatchDisplayChild);
							}
						} else {
							//HIGHER
							if (el_obj.value > requiredValue) {
								toggleChild(child_id, MatchDisplayChild);
							} else {
								toggleChild(child_id, NotMatchDisplayChild);
							}
						}
					}

				}
			}
		} //end "for"
	}
}

//------------------------------------------------------------------------------------------------------------------------------------------------------

function isAnyChecked(strElementName) {
	if (document.getElementsByName) {
		temp = document.getElementsByName(strElementName);
		for (i=0; i<temp.length; i++) {
			if (temp[i].checked) {
				return true;
			}
		}
		return false;
	} else {

	}
}

//------------------------------------------------------------------------------------------------------------------------------------------------------

function getChildren(parentDivId) {
	temparr = new Array();
	for (i=0; i < arr_ChildDivs.length; i++) {
		if (arr_ChildDivs[i][0] == parentDivId) {
			temparr[temparr.length] = new Array(arr_ChildDivs[i][2] , arr_ChildDivs[i][1]);   // the child div id + the rel. str.(ie: "E1", "U12")
		}
	}
	if (temparr.length) {
		return temparr;
	} else {
		return false;
	}
}

//------------------------------------------------------------------------------------------------------------------------------------------------------

function toggleChild(ChildDivId, bool_on) {
	// enable/disable the disabled dropdown (if it exists)
	QuestionId = ChildDivId.substring(1,10);
	el_obj = (document.getElementById) ? document.getElementById("dropdown_" + QuestionId) : document.all("dropdown_" + QuestionId);
	if (el_obj != null) { el_obj.disabled = !bool_on; }

	// show hide the child div
	display_str = (bool_on) ? "block" : "none";
	if (document.getElementById) {
		document.getElementById(ChildDivId).style.display = display_str;
	} else if (document.all) {
		document.all[ChildDivId].style.display = display_str;
	} else {
		// Netscape 4.* & IE 3.* code here
	}
}

//------------------------------------------------------------------------------------------------------------------------------------------------------

function SubmitForm(strSubmitType) {
	//---------------------------------------------
	//Custom Coding for Area Error Checking -------
	//---------------------------------------------

	//-- Questions to check
	var specifyArea_Name = "rcheck_16";
	var specifyArea_Value = "1";
	var specifyAreaS_Value = "2";
	var specifyArea_TextBox = "text_147"
	var specifySquares_TextBox = "text_148"
	var specifyPercent_TextBox = "text_15";
	var floorNumberSelect = "dropdown_12"

	var sub_bool = true;
	
    if (strSubmitType != "back") {
	    for (i=0;i<document.frmMain.elements.length;i++) {
		    var temp_simp = document.frmMain.elements[i];
		    var temp_name = document.frmMain.elements[i].name;
		    var temp_value = document.frmMain.elements[i].value;
		    //Area in Square Meters
		    if ((temp_name == specifyArea_Name) && (temp_value == specifyArea_Value) && ((temp_simp.checked == true)) && (strSubmitType == "next")) {
			    if ((document.frmMain.elements[specifyArea_TextBox].value == '') || (isNaN(document.frmMain.elements[specifyArea_TextBox].value)) || (document.frmMain.elements[specifyArea_TextBox].value == 0)) {
				    alert("As you have selected, 'Yes I know the area in square meters' you must enter a valid number in the box provided");
				    sub_bool = false;
				    break;
			    }
		    }

		    //CUSTOM AREA: BOTH SETS
		    if ((temp_name == specifyArea_Name) && (temp_value == 0) && (temp_simp.checked == true)) {
			    document.frmMain.elements[specifyArea_TextBox].value = '';
			    document.frmMain.elements[specifySquares_TextBox].value = '';
		    }

		    //CUSTOM AREA: SQUARES
		    if ((temp_name == specifyArea_Name) && ((temp_value == 0) || (temp_value == specifyArea_Value)) && (temp_simp.checked == true)) {
			    document.frmMain.elements[specifySquares_TextBox].value = '';
		    }

		    //CUSTOM AREA: METRES
		    if ((temp_name == specifyArea_Name) && ((temp_value == 0) || (temp_value == specifySquares_TextBox)) && (temp_simp.checked == true)) {
			    document.frmMain.elements[specifyArea_TextBox].value = '';
		    }


		    //Area in Squares
		    if ((temp_name == specifyArea_Name) && (temp_value == specifyAreaS_Value) && ((temp_simp.checked == true)) && (strSubmitType == "next")) {
			    if ((document.frmMain.elements[specifySquares_TextBox].value == '') || (isNaN(document.frmMain.elements[specifySquares_TextBox].value)) || (document.frmMain.elements[specifySquares_TextBox].value == 0)) {
				    alert("As you have selected, 'Yes I know the area in squares' you must enter a valid number in the box provided");
				    sub_bool = false;
				    break;
			    } else if (document.frmMain.elements[specifySquares_TextBox].value + 0 <= 0) {
				    alert("I'm sorry, but you must enter an area value greater than 1");
				    sub_bool = false;
				    break;
			    }
		    }

		    //Percentage of Upper to Lower Floor
		    var selectFloor = "document.frmMain." + floorNumberSelect + ".options[document.frmMain." + floorNumberSelect + ".selectedIndex].value";
		    if ((temp_name == floorNumberSelect) && (eval(selectFloor) > 1) && (strSubmitType == "next")) {
			    if ((document.frmMain.elements[specifyPercent_TextBox].value == '') || (isNaN(document.frmMain.elements[specifyPercent_TextBox].value))) {
				    alert("As you have selected more than one floor, please specify an amount in the field provided");
				    sub_bool = false;
				    break;
			    } else if ((document.frmMain.elements[specifyPercent_TextBox].value <= 0) || (document.frmMain.elements[specifyPercent_TextBox].value > 100)) {
				    alert("Please enter a percentage between 1 and 100");
				    sub_bool = false;
				    break;
			    }
		    }
    		
		    if ((temp_name == floorNumberSelect) && (eval(selectFloor) == 0)) {
			    alert("Please choose a number of levels");			    
			    sub_bool = false;
			    break;
		    }
    		
		    if (temp_name == "dropdown_319")
		    {
			    if ((temp_value == 1) && (!search_checkbox_nodelist(document.frmMain.elements['T3_156'])))
			    {
					    alert("Please specify the size of all your bathrooms");
					    sub_bool = false;
					    break;
			    }

			    if ((temp_value == 2) && ((!search_checkbox_nodelist(document.frmMain.elements['T3_156'])) || (!search_checkbox_nodelist(document.frmMain.elements['T3_161']))))
			    {
					    alert("Please specify the size of all your bathrooms");
					    sub_bool = false;
					    break;
			    }
    			
			    if ((temp_value == 3) && ((!search_checkbox_nodelist(document.frmMain.elements['T3_156'])) || (!search_checkbox_nodelist(document.frmMain.elements['T3_161'])) || (!search_checkbox_nodelist(document.frmMain.elements['T3_162']))))
			    {
					    alert("Please specify the size of all your bathrooms");
					    sub_bool = false;
					    break;
			    }
    			
			    if ((temp_value == 4) && ((!search_checkbox_nodelist(document.frmMain.elements['T3_156'])) || (!search_checkbox_nodelist(document.frmMain.elements['T3_161'])) || (!search_checkbox_nodelist(document.frmMain.elements['T3_162'])) || (!search_checkbox_nodelist(document.frmMain.elements['T3_163']))))
			    {
					    alert("Please specify the size of all your bathrooms");
					    sub_bool = false;
					    break;
			    }
    			
			    if ((temp_value == 5) && ((!search_checkbox_nodelist(document.frmMain.elements['T3_156'])) || (!search_checkbox_nodelist(document.frmMain.elements['T3_161'])) || (!search_checkbox_nodelist(document.frmMain.elements['T3_162'])) || (!search_checkbox_nodelist(document.frmMain.elements['T3_163'])) || (!search_checkbox_nodelist(document.frmMain.elements['T3_164']))))
			    {
					    alert("Please specify the size of all your bathrooms");
					    sub_bool = false;
					    break;
			    }
    			
			    if ((temp_value == 6) && ((!search_checkbox_nodelist(document.frmMain.elements['T3_156'])) || (!search_checkbox_nodelist(document.frmMain.elements['T3_161'])) || (!search_checkbox_nodelist(document.frmMain.elements['T3_162'])) || (!search_checkbox_nodelist(document.frmMain.elements['T3_163'])) || (!search_checkbox_nodelist(document.frmMain.elements['T3_164'])) || (!search_checkbox_nodelist(document.frmMain.elements['T3_165']))))
			    {
					    alert("Please specify the size of all your bathrooms");
					    sub_bool = false;
					    break;
			    }
		    }
    		
		    if (temp_name == "dropdown_321")
		    {
			    if ((temp_value == 1) && (!search_checkbox_nodelist(document.frmMain.elements['T3_172'])))
			    {
					    alert("Please specify the size of all your kitchens");
					    sub_bool = false;
					    break;
			    }

			    if ((temp_value == 2) && ((!search_checkbox_nodelist(document.frmMain.elements['T3_172'])) || (!search_checkbox_nodelist(document.frmMain.elements['T3_173']))))
			    {
					    alert("Please specify the size of all your kitchens");
					    sub_bool = false;
					    break;
			    }
		    }
    		
		    if (temp_name == "dropdown_321")
		    {
			    if ((temp_value == 1) && (!search_checkbox_nodelist(document.frmMain.elements['T3_172'])))
			    {
					    alert("Please specify the size of all your kitchens");
					    sub_bool = false;
					    break;
			    }

			    if ((temp_value == 2) && ((!search_checkbox_nodelist(document.frmMain.elements['T3_172'])) || (!search_checkbox_nodelist(document.frmMain.elements['T3_173']))))
			    {
					    alert("Please specify the size of all your kitchens");
					    sub_bool = false;
					    break;
			    }
		    }
    	
		    if (temp_name == "dropdown_323")
		    {
			    if ((temp_value == 1) && (!search_checkbox_nodelist(document.frmMain.elements['T3_175'])))
			    {
					    alert("Please specify the size of all your laundries");
					    sub_bool = false;
					    break;
			    }

			    if ((temp_value == 2) && ((!search_checkbox_nodelist(document.frmMain.elements['T3_175'])) || (!search_checkbox_nodelist(document.frmMain.elements['T3_176']))))
			    {
					    alert("Please specify the size of all your laundries");
					    sub_bool = false;
					    break;
			    }
		    }	
		    
		    if (temp_name == "dropdown_324")
		    {
			    if ((temp_value == 1) && (!search_checkbox_nodelist(document.frmMain.elements['T3_179'])))
			    {
					    alert("Please specify the size of all your bedrooms");
					    sub_bool = false;
					    break;
			    }

			    if ((temp_value == 2) && ((!search_checkbox_nodelist(document.frmMain.elements['T3_179'])) || (!search_checkbox_nodelist(document.frmMain.elements['T3_180']))))
			    {
					    alert("Please specify the size of all your bedrooms");
					    sub_bool = false;
					    break;
			    }
		    }	 
	    }
    }
	
	//---------------------------------------------

	if (sub_bool) {
		formobj = document.forms[0];
		formobj.elements['SubmitType'].value = strSubmitType;
		//alert(strSubmitType);
		formobj.submit();
	}
}

function search_checkbox_nodelist(passedNL)
{
	//Returns true if there is a checked checkbox anywhere in this nodelist.
	//Otherwise returns false.
	
	for (var inc=0;inc<passedNL.length;inc++)
	{
		if (passedNL[inc].checked)
			return true;
	}
	
	return false;
}

//------------------------------------------------------------------------------------------------------------------------------------------------------

function winPopup(fileSrc,winWidth,winHeight,type) {
	winWidth = winWidth + 30;
	window.open(fileSrc, '', "toolbar=0,location=0,directories=0,status=0,menubar=0,scrollbars=1,resizable=0,left=100,top=100,width=" + winWidth + ",height=" + winHeight);
}

function checkLastEntered(passed_obj) {
	//Filters out all alpha characters
	passed_value = passed_obj.value;

	if ((isNaN(passed_value)) || (passed_value.indexOf(" ") > -1)) {
		//Now loop through each character and reconstruct string without alpha chars
		var temp_concat = "";
		for (i=0;i<passed_value.length;i++) {
			lengthTo = i+1;
			temp_char = passed_value.substring(i,lengthTo);
			if (((!isNaN(temp_char)) || (temp_char == "x") || (temp_char == ".")) && (temp_char != " ")) {
				temp_concat += temp_char;
			}
		}
		passed_obj.value = temp_concat;
	}
}


