﻿    var dtCh= "/";
    var minYear=1900;
    var maxYear=2100;
    
    function ClearFormat(src)
    {
        if(src != null)
        {
            if (src.value == "dd/mm/yyyy")
            {
                src.value = "";
            }
        }
        return true;
    }
    
    function isInteger(s)
    {
	    var i;
        for (i = 0; i < s.length; i++){   
            var c = s.charAt(i);
            if (((c < "0") || (c > "9"))) return false;
        }
        return true;
    }
    
    function stripCharsInBag(s, bag)
    {
	    var i;
        var returnString = "";
        for (i = 0; i < s.length; i++){   
            var c = s.charAt(i);
            if (bag.indexOf(c) == -1) returnString += c;
        }
        return returnString;
    }
    
    function daysInFebruary (year)
    {
	    return (((year % 4 == 0) && ( (!(year % 100 == 0)) || (year % 400 == 0))) ? 29 : 28 );
    }
    
    function DaysArray(n) {
	    for (var i = 1; i <= n; i++) 
	    {
		    this[i] = 31;
		    if (i==4 || i==6 || i==9 || i==11) {this[i] = 30;}
		    if (i==2) {this[i] = 29;}
        } 
        return this
    }
    
    function isDate(dtStr)
    {
	    var daysInMonth = DaysArray(12);
	    var pos1=dtStr.indexOf(dtCh);
	    var pos2=dtStr.indexOf(dtCh,pos1+1);
	    var strDay=dtStr.substring(0,pos1);
	    var strMonth=dtStr.substring(pos1+1,pos2);
	    var strYear=dtStr.substring(pos2+1);
	    strYr=strYear;
	    if (strDay.charAt(0)=="0" && strDay.length>1) strDay=strDay.substring(1);
	    if (strMonth.charAt(0)=="0" && strMonth.length>1) strMonth=strMonth.substring(1);
	    for (var i = 1; i <= 3; i++) 
	    {
		    if (strYr.charAt(0)=="0" && strYr.length>1) strYr=strYr.substring(1);
	    }
	    month=parseInt(strMonth);
	    day=parseInt(strDay);
	    year=parseInt(strYr);
	    if (pos1==-1 || pos2==-1){
		    return false;
	    }
	    if (strMonth.length<1 || month<1 || month>12){
		    return false;
	    }
	    if (strDay.length<1 || day<1 || day>31 || (month==2 && day>daysInFebruary(year)) || day > daysInMonth[month]){
		    return false;
	    }
	    if (strYear.length != 4 || year==0 || year<minYear || year>maxYear){
		    return false;
	    }
	    if (dtStr.indexOf(dtCh,pos2+1)!=-1 || isInteger(stripCharsInBag(dtStr, dtCh))==false){
		    return false;
	    }
        return true;
    }
    
    function getDate(dtStr)
    {
        var daysInMonth = DaysArray(12);
	    var pos1=dtStr.indexOf(dtCh);
	    var pos2=dtStr.indexOf(dtCh,pos1+1);
	    var strDay=dtStr.substring(0,pos1);
	    var strMonth=dtStr.substring(pos1+1,pos2);
	    var strYear=dtStr.substring(pos2+1);
	    strYr=strYear;
	    if (strDay.charAt(0)=="0" && strDay.length>1) strDay=strDay.substring(1);
	    if (strMonth.charAt(0)=="0" && strMonth.length>1) strMonth=strMonth.substring(1);
	    for (var i = 1; i <= 3; i++) 
	    {
		    if (strYr.charAt(0)=="0" && strYr.length>1) strYr=strYr.substring(1);
	    }
	    month=parseInt(strMonth);
	    day=parseInt(strDay);
	    year=parseInt(strYr);
	    return new Date(year,month-1,day);
    }

    function getIEVersionNumber() 
    {
        var ua = navigator.userAgent;
        var MSIEOffset = ua.indexOf("MSIE ");

        if (MSIEOffset == -1) 
        {
             return 0;
        } 
        else 
        {
            return parseFloat(ua.substring(MSIEOffset + 5, ua.indexOf(";", MSIEOffset)));
        }
    }

    window.onload = function()
    {
		// Initialise the form
		initialiseForm(document.towerForm);

		// Initialise the calendar
        Calendar.setup(
        {
            inputField : "DateOfBirth", // ID of the input field
            ifFormat : "%d/%m/%Y", // the date format
            button : "btnShowCalendar" // ID of the button
        });

        //document.getElementById("btnShowCalendar").click();
    }
    function ShowHideRequiredPhoneField()
    {
        var contact_method = document.getElementById("PreferedContactMethod").value;
        var spanHomePhone = document.getElementById("spanHomePhone");
        var spanWorkPhone = document.getElementById("spanWorkPhone");
        var spanMobilePhone = document.getElementById("spanMobilePhone");
	    if (contact_method == "Home")
	    {
	        spanHomePhone.innerHTML="*";
            spanWorkPhone.innerHTML="&nbsp;&nbsp;";
            spanMobilePhone.innerHTML="&nbsp;&nbsp;";
	    }
	    else if(contact_method == "Work")
	    {
	        spanHomePhone.innerHTML="&nbsp;&nbsp;";
            spanWorkPhone.innerHTML="*";
            spanMobilePhone.innerHTML="&nbsp;&nbsp;";
	    }
	    else if(contact_method == "Mobile")
	    {
	        spanHomePhone.innerHTML="&nbsp;&nbsp;";
            spanWorkPhone.innerHTML="&nbsp;&nbsp;";
            spanMobilePhone.innerHTML="*";
	    }
	    else
	    {
	        spanHomePhone.innerHTML="&nbsp;&nbsp;";
            spanWorkPhone.innerHTML="&nbsp;&nbsp;";
            spanMobilePhone.innerHTML="&nbsp;&nbsp;";
	    }

    }

    function trim(stringToTrim) 
    {
        if(stringToTrim == null)
        {
            return "";
        }
        else
        {
            return stringToTrim.replace(/^\s+|\s+$/g,"");
        }
    }
    function ltrim(stringToTrim) 
    {if(stringToTrim == null)
        {
            return "";
        }
        else
        {
            return stringToTrim.replace(/^\s+/,"");
        }
    }
    function rtrim(stringToTrim) 
    {
        if(stringToTrim == null)
        {
            return "";
        }
        else
        {
            return stringToTrim.replace(/\s+$/,"");
        }
    }
    function ValidEmail(email) 
    {
       var reg = /^([A-Za-z0-9_\-\.])+\@([A-Za-z0-9_\-\.])+\.([A-Za-z]{2,4})$/;
       return reg.test(email) 
    }
    function ValidPhone(phone) 
    {
       phone = trim(phone);
       if (phone == "")
       {
           return true;
       } 
       else
       {
           var reg = /^[0-9(\s\+]{1}[0-9\-()\s]{4,30}[0-9\-()EXTENSIONextension.:#\s]{0,30}[0-9\s]$/;
           return reg.test(phone)
       } 
    }
    function TowerCustomer(radio)
    {
        if(radio.value == "1" || radio.value.toUpperCase() == "TRUE")
        {
            document.getElementById("CustomerSubscription").style.display="";
       }
        else
        {
            document.getElementById("CustomerSubscription").style.display="none";
       }
		TowerPreferredDealing(radio.form);
    }
	function HasInquiryProductChecked(form)
	{
        var result = false;
        var fieldId = "";
        var ictr = 0;
        for(ictr = 0; ictr < form["DescriptionAppender"].length; ictr++)
        {
			var ctrl = form["DescriptionAppender"][ictr];
            if ((ctrl.type == "checkbox") && (ctrl.checked))
            {
                fieldId = ctrl.id;
                if( fieldId == "InquiryProducts_HealthInsurance" ||
                    fieldId == "InquiryProducts_LifeInsurance" ||
                    fieldId == "InquiryProducts_TraumaCover" ||
                    fieldId == "InquiryProducts_IncomeProtectionCover" ||
                    fieldId == "InquiryProducts_PermanentDisabilityCover" ||
                    fieldId == "InquiryProducts_MortgageRepaymentCover" ||
                    fieldId == "InquiryProducts_ChildrenFutureInsurabilityCover"
                    )
                    {
                        result = true;
                        break;
                    }
            }
        }
		return result;
	}
	function HasExistingProductChecked(form)
	{
        var result = false;
        var fieldId = "";
        var ictr = 0;
        for(ictr = 0; ictr < form["DescriptionAppender"].length; ictr++)
        {
			var ctrl = form["DescriptionAppender"][ictr];
            if ((ctrl.type == "checkbox") && (ctrl.checked))
            {
                fieldId = ctrl.id;
                if( fieldId == "ExistingProducts_HealthInsurance" ||
                    fieldId == "ExistingProducts_LifeInsurance" ||
                    fieldId == "ExistingProducts_TraumaCover" ||
                    fieldId == "ExistingProducts_IncomeProtectionCover" ||
                    fieldId == "ExistingProducts_PermanentDisabilityCover" ||
                    fieldId == "ExistingProducts_MortgageRepaymentCover" ||
                    fieldId == "ExistingProducts_ChildrenFutureInsurabilityCover"
                    )
                    {
                        result = true;
                        break;
                    }
            }
        }
		return result;
	}
    function TowerAdviser(check)
    {
        if(HasInquiryProductChecked(check.form))
        {
            document.getElementById("DivAdviser").style.display="";
        }
        else
        {
            document.getElementById("DivAdviser").style.display="none";
        }
    }
    function TowerAdviserDetail(check)
    {
        var fieldValue = "";
        var ictr = 0;
        var result = false;
        var form = check.form;
        for(ictr = 0; ictr < form["HaveAnAdviser"].length; ictr++)
        {
            if (form["HaveAnAdviser"][ictr].checked)
            {
                fieldValue = form["HaveAnAdviser"][ictr].value;
                if (fieldValue.toUpperCase() == "TRUE" || fieldValue == "1")
                {
                    result = true;
                    break;
                }
            }
        }
        if(result)
        {
            document.getElementById("DivAdviserDetail").style.display="";
        }
        else
        {
            document.getElementById("DivAdviserDetail").style.display="none";
        }
		TowerPreferredDealing(form);
    }

    function TowerAdviserComment(src)
    {
        if (src != null)
        {
            var divTowerAdviserComment = document.getElementById("divTowerAdviserComment");
            if (divTowerAdviserComment != null)
            {
                if (src.value == "0" || src.value.toUpperCase() == "FALSE")
                {
                    divTowerAdviserComment.style.display = "";

                }
                else
                {
                    divTowerAdviserComment.style.display = "none";
                }
            }
			TowerPreferredDealing(src.form);
        }
    }
	
	function TowerPreferredDealing(form)
	{
        var fieldValue = "";
        var ictr = 0;
        var result = false;
		var ctrl = form["CurrentlyHaveTHLInsurance"];
        for(ictr = 0; ictr < ctrl.length; ictr++)
        {
            if (ctrl[ictr].checked)
            {
                fieldValue = ctrl[ictr].value;
                if (fieldValue.toUpperCase() == "FALSE" || fieldValue == "0")
                {
                    result = true;
                    break;
                }
            }
        }
        if(!result)
		{
			var ctrl = form["HaveAnAdviser"];
	        for(ictr = 0; ictr < ctrl.length; ictr++)
	        {
	            if (ctrl[ictr].checked)
	            {
	                fieldValue = ctrl[ictr].value;
	                if (fieldValue.toUpperCase() == "FALSE" || fieldValue == "0")
	                {
	                    result = true;
	                    break;
	                }
	            }
	        }
		}
        if(!result)
		{
			var ctrl = form["ReferBackToAdviser"];
	        for(ictr = 0; ictr < ctrl.length; ictr++)
	        {
	            if (ctrl[ictr].checked)
	            {
	                fieldValue = ctrl[ictr].value;
	                if (fieldValue.toUpperCase() == "FALSE" || fieldValue == "0")
	                {
	                    result = true;
	                    break;
	                }
	            }
	        }
		}
        if(result)
		{
            document.getElementById("DivPreferredDealing").style.display="";
		} else {
			document.getElementById("DivPreferredDealing").style.display="none";
		}
	}
    
    function ValidateFields(form) {
        var result = true;
        var errMsg = "";
        var fieldValue = "";
        var ictr = 0;
        var hasItemSelected = false;
        
        fieldValue = form["SourceMedia"].value;
	    if (fieldValue == "-")
	    {
	        if (errMsg == "")
            {
                errMsg = "Please select what prompted you to contact TOWER Health &amp; Life today.";
            }
            else
            {
                errMsg = errMsg + "<br />" + "Please select what prompted you to contact TOWER Health &amp; Life today.";
            }
            result = false;
	    }
	    
        if(trim(form["Title"].value) == "") {
		    if (errMsg == "")
		    {
		        errMsg = "Please choose your Title.";
		    }
		    else
		    {
		        errMsg = errMsg + "<br />" + "Please choose your Title.";
		    }
		    result = false;
	    }
		
	    if(trim(form["FirstName"].value) == "") {
		    if (errMsg == "")
		    {
		        errMsg = "Please enter your First Name.";
		    }
		    else
		    {
		        errMsg = errMsg + "<br />" + "Please enter your First Name.";
		    }
		    result = false;
	    }
		
	    if(trim(form["LastName"].value) == "") {
		
		    if (errMsg == "")
		    {
		        errMsg = "Please enter your Last Name.";
		    }
		    else
		    {
		        errMsg = errMsg + "<br />" + "Please enter your Last Name.";
		    }
		    result = false;
	    }	

        if(trim(form["Address_Line1"].value) == "") {
		
		    if (errMsg == "")
		    {
		        errMsg = "Please enter your Address-street.";
		    }
		    else
		    {
		        errMsg = errMsg + "<br />" + "Please enter your Address-street.";
		    }
		    result = false;
	    }
	    
	    if(trim(form["Address_Suburb"].value) == "") {
		
		    if (errMsg == "")
		    {
		        errMsg = "Please enter your Suburb.";
		    }
		    else
		    {
		        errMsg = errMsg + "<br />" + "Please enter your Suburb.";
		    }
		    result = false;
	    }

	    if(trim(form["Address_City"].value) == "") {
		
		    if (errMsg == "")
		    {
		        errMsg = "Please select your Town/City.";
		    }
		    else
		    {
		        errMsg = errMsg + "<br />" + "Please select your Town/City.";
		    }
		    result = false;
	    }
		
		fieldValue = trim(form["DateOfBirth"].value);
		if (fieldValue == "" || fieldValue == "dd/mm/yyyy")
		{
		   if (errMsg == "")
		    {
		        errMsg = "Please enter your Date of Birth.";
		    }
		    else
		    {
		        errMsg = errMsg + "<br />" + "Please enter your Date of Birth.";
		    }
		    result = false;
		}
		else if(isDate(fieldValue) == false) {
		
		    if (errMsg == "")
		    {
		        errMsg = "Please enter a valid Date of Birth.";
		    }
		    else
		    {
		        errMsg = errMsg + "<br />" + "Please enter a valid Date of Birth.";
		    }
		    result = false;
	    }
	    else
	    {
	        var today = new Date();
	        var bday = getDate(fieldValue);
	        if (bday > today)
	        {
	            if (errMsg == "")
		        {
		            errMsg = "Please enter a valid Date of Birth.";
		        }
		        else
		        {
		            errMsg = errMsg + "<br />" + "Please enter a valid Date of Birth.";
		        }
		        result = false;
		    }
	    }
	    
	    if(trim(form["PreferedContactMethod"].value) == "") {
		
		    if (errMsg == "")
		    {
		        errMsg = "Please select your preferred contact method.";
		    }
		    else
		    {
		        errMsg = errMsg + "<br />" + "Please select your preferred contact method.";
		    }
		    result = false;
	    }
		
	    fieldValue = "";
	    for(ictr = 0; ictr < form["PreferedContactTime"].length; ictr++)
        {
            if (form["PreferedContactTime"][ictr].checked)
            {
                fieldValue = form["PreferedContactTime"][ictr].value;
            }
        }
        
        if(trim(fieldValue) == "") {
		    if (errMsg == "")
		    {
		        errMsg = "Please choose your preferred contact time.";
		    }
		    else
		    {
		        errMsg = errMsg + "<br />" + "Please choose your preferred contact time.";
		    }
		    result = false;
	    }
		
		fieldValue = trim(form.Email.value);
	    if(fieldValue == "") {
		
		    if (errMsg == "")
		    {
		        errMsg = "Please enter your Email.";
		    }
		    else
		    {
		        errMsg = errMsg + "<br />" + "Please enter your Email.";
		    }
		    result = false;
	    }
	    else
	    {
	        if (!ValidEmail(fieldValue))
	        {
	            if (errMsg == "")
		        {
		            errMsg = "Entered Email is invalid.";
		        }
		        else
		        {
		            errMsg = errMsg + "<br />" + "Entered Email is invalid.";
		        }
		        result = false;
	        } 
	    }
		
	    var contact_method = trim(form["PreferedContactMethod"].value);
	    if (contact_method == "Home")
	    {
	        fieldValue = trim(form["HomePhone"].value);
	        if (fieldValue == "")
	        {
	            if (errMsg == "")
		        {
		            errMsg = "Please enter Home Phone.";
		        }
		        else
		        {
		            errMsg = errMsg + "<br />" + "Please enter Home Phone.";
		        }
		        result = false;
	        }
	    }
		
	    if (contact_method == "Work")
	    {
	        fieldValue = trim(form["WorkPhone"].value);
	        if (fieldValue == "")
	        {
	            if (errMsg == "")
		        {
		            errMsg = "Please enter Work Phone.";
		        }
		        else
		        {
		            errMsg = errMsg + "<br />" + "Please enter Work Phone.";
		        }
		        result = false;
	        }
	    }
		
	    if (contact_method == "Mobile")
	    {
	        fieldValue = trim(form["MobilePhone"].value);
	        if (fieldValue == "")
	        {
	            if (errMsg == "")
		        {
		            errMsg = "Please enter Mobile Phone.";
		        }
		        else
		        {
		            errMsg = errMsg + "<br />" + "Please enter Mobile Phone.";
		        }
		        result = false;
	        }
	    }
        
        if(!ValidPhone(form["HomePhone"].value))
        {
            if (errMsg == "")
	        {
	            errMsg = "Entered Home Phone is invalid.";
	        }
	        else
	        {
	            errMsg = errMsg + "<br />" + "Entered Home Phone is invalid.";
	        }
	        result = false;
        }
        if(!ValidPhone(form["WorkPhone"].value))
        {
            if (errMsg == "")
	        {
	            errMsg = "Entered Work Phone is invalid.";
	        }
	        else
	        {
	            errMsg = errMsg + "<br />" + "Entered Work Phone is invalid.";
	        }
	        result = false;
        }
	    if(!ValidPhone(form["MobilePhone"].value))
        {
            if (errMsg == "")
	        {
	            errMsg = "Entered Mobile Phone is invalid.";
	        }
	        else
	        {
	            errMsg = errMsg + "<br />" + "Entered Mobile Phone is invalid.";
	        }
	        result = false;
        }
		
        if(!HasInquiryProductChecked(form))
        {
            if (errMsg == "")
		    {
		        errMsg = "Please specify which TOWER Health & Life insurance product/s you are interested in receiving a quote for.";
		    }
		    else
		    {
		        errMsg = errMsg + "<br />" + "Please specify which TOWER Health & Life insurance product/s you are interested in receiving a quote for.";
		    }
		    result = false;
        }
		
	    fieldValue = "";
	    for(ictr = 0; ictr < form["CurrentlyHaveTHLInsurance"].length; ictr++)
        {
            if (form["CurrentlyHaveTHLInsurance"][ictr].checked)
            {
                fieldValue = form["CurrentlyHaveTHLInsurance"][ictr].value;
            }
        }
        
        
        if (fieldValue == "")
        {
            if (errMsg == "")
	        {
	            errMsg = "Please specify if you currently have a Health or Life insurance with TOWER.";
	        }
	        else
	        {
	            errMsg = errMsg + "<br />" + "Please specify if you currently have a Health or Life insurance with TOWER.";
	        }
	        result = false;
        }
        else if (fieldValue == "1" || fieldValue.toUpperCase() == "TRUE")
        {
            if(!HasExistingProductChecked(form))
            {
                if (errMsg == "")
		        {
		            errMsg = "Please specify what TOWER product/s you currently have?.";
		        }
		        else
		        {
		            errMsg = errMsg + "<br />" + "Please specify what TOWER product/s you currently have?.";
		        }
		        result = false;
            }

			hasItemSelected = false;
			fieldValue = "";
			for(ictr = 0; ictr < form["HaveAnAdviser"].length; ictr++)
			{
				if (form["HaveAnAdviser"][ictr].checked)
				{
					hasItemSelected = true;
					fieldValue = form["HaveAnAdviser"][ictr].value;
					break;
				}
			}
			if(hasItemSelected == false)
			{
				if (errMsg == "")
				{
					errMsg = "Please specify if you have an Adviser or not.";
				}
				else
				{
					errMsg = errMsg + "<br />" + "Please specify if you have an Adviser or not.";
				}
				result = false;
			}
			else
			{
				if (fieldValue.toUpperCase() == "TRUE")
				{
					hasItemSelected = false;
					for(ictr = 0; ictr < form["ReferBackToAdviser"].length; ictr++)
					{
						if (form["ReferBackToAdviser"][ictr].checked)
						{
							hasItemSelected = true;
							break;
						}
					}
					if (hasItemSelected == false)
					{
						if (errMsg == "")
						{
							errMsg = "Please specify if you are happy to be referred back to your adviser.";
						}
						else
						{
							errMsg = errMsg + "<br />" + "Please specify if you are happy to be referred back to your adviser.";
						}
						result = false;
					}
				}
			}
        }
		
		if (document.getElementById("DivPreferredDealing").style.display == "")
		{
	        fieldValue = "";
	        for(ictr = 0; ictr < form["InquiryChannel"].length; ictr++)
            {
                if (form["InquiryChannel"][ictr].checked)
                {
                    fieldValue = form["InquiryChannel"][ictr].value;
                }
            }
            
            if (fieldValue == "")
            {
                if (errMsg == "")
                {
                    errMsg = "Please specify how would you prefer to deal with us.";
                }
                else
                {
                    errMsg = errMsg + "<br />" + "Please specify how would you prefer to deal with us.";
                }
                result = false;
            }
        }
        
	    if(form["TermsAndConditions"].checked == false) {
		
		    if (errMsg == "")
		    {
		        errMsg = "Please make sure that you read and agree to the terms and conditions.";
		    }
		    else
		    {
		        errMsg = errMsg + "<br />" + "Please make sure that you read and agree to the terms and conditions.";
		    }
		    result = false;
	    }
		
	    if (result == false)
	    {
	        document.getElementById("ErrorPanel").innerHTML = errMsg;
	        document.getElementById("ErrorPanel").style.display = "";
	        scroll(0,0);
	    }
	    else
	    {
		    document.getElementById("ErrorPanel").innerHTML = "";
            document.getElementById("ErrorPanel").style.display = "";
	    }
		
	    return result;
    }

    function ValidateFieldsInternal(form) {
        var result = true;
        var errMsg = "";
        var fieldValue = "";
        var ictr = 0;
        var hasItemSelected = false;
        
        fieldValue = form["RefererEmail"].value;
        if (fieldValue == "")
        {
            if (errMsg == "")
            {
                errMsg = "Please enter the Referrer's email address.";
            }
            else
            {
                errMsg = errMsg + "<br />" +  "Please enter the Referrer's email address.";
            }
            result = false;
        }
	    
	    fieldValue = form["Reference"].value;
	    if (fieldValue == "")
	    {
	        if (errMsg == "")
            {
                errMsg = "Please select how this lead was received through.";
            }
            else
            {
                errMsg = errMsg + "<br />" + "Please select how this lead was received through.";
            }
            result = false;
	    }
	    
        fieldValue = form["SourceMedia"].value;
	    if (fieldValue == "-")
	    {
	        if (errMsg == "")
            {
                errMsg = "Please select what prompted you to contact TOWER Health &amp; Life today.";
            }
            else
            {
                errMsg = errMsg + "<br />" + "Please select what prompted you to contact TOWER Health &amp; Life today.";
            }
            result = false;
	    }

        if(trim(form["Title"].value) == "") {
		    if (errMsg == "")
		    {
		        errMsg = "Please choose your Title.";
		    }
		    else
		    {
		        errMsg = errMsg + "<br />" + "Please choose your Title.";
		    }
		    result = false;
	    }
		
	    if(trim(form["FirstName"].value) == "") {
		    if (errMsg == "")
		    {
		        errMsg = "Please enter your First Name.";
		    }
		    else
		    {
		        errMsg = errMsg + "<br />" + "Please enter your First Name.";
		    }
		    result = false;
	    }
		
	    if(trim(form["LastName"].value) == "") {
		
		    if (errMsg == "")
		    {
		        errMsg = "Please enter your Last Name.";
		    }
		    else
		    {
		        errMsg = errMsg + "<br />" + "Please enter your Last Name.";
		    }
		    result = false;
	    }	

        if(trim(form["Address_Line1"].value) == "") {
		
		    if (errMsg == "")
		    {
		        errMsg = "Please enter your Address-street.";
		    }
		    else
		    {
		        errMsg = errMsg + "<br />" + "Please enter your Address-street.";
		    }
		    result = false;
	    }
	    
	    if(trim(form["Address_Suburb"].value) == "") {
		
		    if (errMsg == "")
		    {
		        errMsg = "Please enter your Suburb.";
		    }
		    else
		    {
		        errMsg = errMsg + "<br />" + "Please enter your Suburb.";
		    }
		    result = false;
	    }

	    if(trim(form["Address_City"].value) == "") {
		
		    if (errMsg == "")
		    {
		        errMsg = "Please select your Town/City.";
		    }
		    else
		    {
		        errMsg = errMsg + "<br />" + "Please select your Town/City.";
		    }
		    result = false;
	    }
		
		fieldValue = trim(form["DateOfBirth"].value);
		if (fieldValue == "" || fieldValue == "dd/mm/yyyy")
		{
		   if (errMsg == "")
		    {
		        errMsg = "Please enter your Date of Birth.";
		    }
		    else
		    {
		        errMsg = errMsg + "<br />" + "Please enter your Date of Birth.";
		    }
		    result = false;
		}
		else if(isDate(fieldValue) == false) {
		
		    if (errMsg == "")
		    {
		        errMsg = "Please enter a valid Date of Birth.";
		    }
		    else
		    {
		        errMsg = errMsg + "<br />" + "Please enter a valid Date of Birth.";
		    }
		    result = false;
	    }
	    else
	    {
	        var today = new Date();
	        var bday = getDate(fieldValue);
	        if (bday > today)
	        {
	            if (errMsg == "")
		        {
		            errMsg = "Please enter a valid Date of Birth.";
		        }
		        else
		        {
		            errMsg = errMsg + "<br />" + "Please enter a valid Date of Birth.";
		        }
		        result = false;
		    }
	    }
	    
	    if(trim(form["PreferedContactMethod"].value) == "") {
		
		    if (errMsg == "")
		    {
		        errMsg = "Please select your preferred contact method.";
		    }
		    else
		    {
		        errMsg = errMsg + "<br />" + "Please select your preferred contact method.";
		    }
		    result = false;
	    }
		
	    fieldValue = "";
	    for(ictr = 0; ictr < form["PreferedContactTime"].length; ictr++)
        {
            if (form["PreferedContactTime"][ictr].checked)
            {
                fieldValue = form["PreferedContactTime"][ictr].value;
            }
        }
        
        if(trim(fieldValue) == "") {
		    if (errMsg == "")
		    {
		        errMsg = "Please choose your preferred contact time.";
		    }
		    else
		    {
		        errMsg = errMsg + "<br />" + "Please choose your preferred contact time.";
		    }
		    result = false;
	    }

	    fieldValue = trim(form.Email.value);
	    if(fieldValue != "") {
	        if (!ValidEmail(fieldValue))
	        {
	            if (errMsg == "")
		        {
		            errMsg = "Entered Email is invalid.";
		        }
		        else
		        {
		            errMsg = errMsg + "<br />" + "Entered Email is invalid.";
		        }
		        result = false;
	        } 
	    }
		
	    var contact_method = trim(form["PreferedContactMethod"].value);
	    if (contact_method == "Home")
	    {
	        fieldValue = trim(form["HomePhone"].value);
	        if (fieldValue == "")
	        {
	            if (errMsg == "")
		        {
		            errMsg = "Please enter Home Phone.";
		        }
		        else
		        {
		            errMsg = errMsg + "<br />" + "Please enter Home Phone.";
		        }
		        result = false;
	        }
	    }
		
	    if (contact_method == "Work")
	    {
	        fieldValue = trim(form["WorkPhone"].value);
	        if (fieldValue == "")
	        {
	            if (errMsg == "")
		        {
		            errMsg = "Please enter Work Phone.";
		        }
		        else
		        {
		            errMsg = errMsg + "<br />" + "Please enter Work Phone.";
		        }
		        result = false;
	        }
	    }
		
	    if (contact_method == "Mobile")
	    {
	        fieldValue = trim(form["MobilePhone"].value);
	        if (fieldValue == "")
	        {
	            if (errMsg == "")
		        {
		            errMsg = "Please enter Mobile Phone.";
		        }
		        else
		        {
		            errMsg = errMsg + "<br />" + "Please enter Mobile Phone.";
		        }
		        result = false;
	        }
	    }
        
        if(!ValidPhone(form["HomePhone"].value))
        {
            if (errMsg == "")
	        {
	            errMsg = "Entered Home Phone is invalid.";
	        }
	        else
	        {
	            errMsg = errMsg + "<br />" + "Entered Home Phone is invalid.";
	        }
	        result = false;
        }
        if(!ValidPhone(form["WorkPhone"].value))
        {
            if (errMsg == "")
	        {
	            errMsg = "Entered Work Phone is invalid.";
	        }
	        else
	        {
	            errMsg = errMsg + "<br />" + "Entered Work Phone is invalid.";
	        }
	        result = false;
        }
	    if(!ValidPhone(form["MobilePhone"].value))
        {
            if (errMsg == "")
	        {
	            errMsg = "Entered Mobile Phone is invalid.";
	        }
	        else
	        {
	            errMsg = errMsg + "<br />" + "Entered Mobile Phone is invalid.";
	        }
	        result = false;
        }
		
	    fieldValue = "";
	    for(ictr = 0; ictr < form["CurrentlyHaveTHLInsurance"].length; ictr++)
        {
            if (form["CurrentlyHaveTHLInsurance"][ictr].checked)
            {
                fieldValue = form["CurrentlyHaveTHLInsurance"][ictr].value;
            }
        }
        
        
        if (fieldValue == "")
        {
            if (errMsg == "")
	        {
	            errMsg = "Please specify if you are currently a TOWER customer or not.";
	        }
	        else
	        {
	            errMsg = errMsg + "<br />" + "Please specify if you are currently a TOWER customer or not.";
	        }
	        result = false;
        }
        else if (fieldValue == "1" || fieldValue.toUpperCase() == "TRUE")
        {
            if(!HasExistingProductChecked(form))
            {
                if (errMsg == "")
		        {
		            errMsg = "Please specify what TOWER product/s you currently have?.";
		        }
		        else
		        {
		            errMsg = errMsg + "<br />" + "Please specify what TOWER product/s you currently have?.";
		        }
		        result = false;
            }
            
            hasItemSelected = false;
			fieldValue = "";
			for(ictr = 0; ictr < form["HaveAnAdviser"].length; ictr++)
			{
				if (form["HaveAnAdviser"][ictr].checked)
				{
					hasItemSelected = true;
					fieldValue = form["HaveAnAdviser"][ictr].value;
					break;
				}
			}
			if(hasItemSelected == false)
			{
				if (errMsg == "")
				{
					errMsg = "Please specify if you have an Adviser or not.";
				}
				else
				{
					errMsg = errMsg + "<br />" + "Please specify if you have an Adviser or not.";
				}
				result = false;
			}
			else
			{
				if (fieldValue.toUpperCase() == "TRUE")
				{
					hasItemSelected = false;
					for(ictr = 0; ictr < form["ReferBackToAdviser"].length; ictr++)
					{
						if (form["ReferBackToAdviser"][ictr].checked)
						{
							hasItemSelected = true;
							break;
						}
					}
					if (hasItemSelected == false)
					{
						if (errMsg == "")
						{
							errMsg = "Please specify if you are happy to be referred back to your adviser.";
						}
						else
						{
							errMsg = errMsg + "<br />" + "Please specify if you are happy to be referred back to your adviser.";
						}
						result = false;
					}
				}
			}
        }
		
	    if (document.getElementById("DivPreferredDealing").style.display == "")
		{
	        fieldValue = "";
	        for(ictr = 0; ictr < form["InquiryChannel"].length; ictr++)
            {
                if (form["InquiryChannel"][ictr].checked)
                {
                    fieldValue = form["InquiryChannel"][ictr].value;
                }
            }
            
            if (fieldValue == "")
            {
                if (errMsg == "")
                {
                    errMsg = "Please specify how would you prefer to deal with us.";
                }
                else
                {
                    errMsg = errMsg + "<br />" + "Please specify how would you prefer to deal with us.";
                }
                result = false;
            }
        }
        
        if(!HasInquiryProductChecked(form))
        {
            if (errMsg == "")
		    {
		        errMsg = "Please specify which TOWER Health & Life insurance product/s you are interested in receiving a quote for.";
		    }
		    else
		    {
		        errMsg = errMsg + "<br />" + "Please specify which TOWER Health & Life insurance product/s you are interested in receiving a quote for.";
		    }
		    result = false;
        }
        
	    if(form["TermsAndConditions"].checked == false) {
		
		    if (errMsg == "")
		    {
		        errMsg = "Please make sure that you read and agree to the terms and conditions.";
		    }
		    else
		    {
		        errMsg = errMsg + "<br />" + "Please make sure that you read and agree to the terms and conditions.";
		    }
		    result = false;
	    }
		
	    if (result == false)
	    {
	        document.getElementById("ErrorPanel").innerHTML = errMsg;
	        document.getElementById("ErrorPanel").style.display = "";
	        scroll(0,0);
	    }
	    else
	    {
		    document.getElementById("ErrorPanel").innerHTML = "";
            document.getElementById("ErrorPanel").style.display = "";
	    }
		
	    if(result)	
	    {
	        var SourceMedia = document.getElementById("SourceMedia");
            if (SourceMedia != null)
            {
                /*if (SourceMedia.value == "")
                {
                    form["00N20000001Etbl"].value = form["txtOtherHowHeard"].value;
                }
                else
                {*/
                    form["00N20000001Etbl"].value = SourceMedia.value;
                //}
            }
            form["RefererEmail"].value = form["RefererEmail"].value + "@tower.co.nz";
        }
	    return result;
    }