﻿// JScript File

//String.prototype.trim = function() 
//{
//    return (this.replace(/^[\s\xA0]+/, '').replace(/[\s\xA0]+$/, ''));
//}

function validateTextBoxBlank(str, Trim)
{
    if (Trim)
        str = document.getElementById(str).value;
    else
        str = document.getElementById(str).value;

    if (str == '')
        return false;
    else
         return true;
}

function validateBlank(strValue)
{
    if (strValue == '')
        return false;
    else
        return true;
}

function validateDropDownSelectedIndex(index)
{
    if (index > 0)
        return true;
    else
        return false;
}

function ValidateDateMinimumOneYear(enteredDate)
{
    enteredDate = document.getElementById(enteredDate).value;
    if (enteredDate.length > 0)
    {
        enteredDate = new Date(enteredDate);
        var today = new Date();
        var dd = today.getDate();
        var mm = today.getMonth() + 1; //January is 0
        var yyyy = today.getFullYear() - 1;
        var lastYearDate = mm + '/' + dd + '/' + yyyy;
        lastYearDate = new Date(lastYearDate);
        if (enteredDate <= lastYearDate)
            return true;
        else
            return false;
    }
    return true;
}

function ValidateDateMinimumOneYearValue(enteredDate)
{
    if (enteredDate.length > 0)
    {
        enteredDate = new Date(enteredDate);
        var today = new Date();
        var dd = today.getDate();
        var mm = today.getMonth() + 1; //January is 0
        var yyyy = today.getFullYear() - 1;
        var lastYearDate = mm + '/' + dd + '/' + yyyy;
        lastYearDate = new Date(lastYearDate);
        if (enteredDate <= lastYearDate)
        {
            return true;
        }
        else
        {
            return false;
        }
    }
    return true;
}

function validateDateFormat(enteredDateValue)
{   
  if (enteredDateValue.length >0)
    {
       var regexp_ip =/^(0[1-9]|[1-9]|1[012])([/])(0[1-9]|[1-9]|[12][0-9]|3[01])([/])((19|20)\d\d)$/;
       if(enteredDateValue.match(regexp_ip) == null) 
	    return false;
    }	    
    return true;
}

function ValidateDateCheckFutureDate(enteredDate)
{
    enteredDate = document.getElementById(enteredDate).value;
    if (enteredDate.length > 0)
    {
        enteredDate = new Date(enteredDate);
        var today = new Date();
        if (enteredDate > today)
            return true;
        else
            return false;
    }
    return true;
}

function ValidateAge(enteredDate)
{
    enteredDate = document.getElementById(enteredDate).value;
    if (enteredDate.length > 0)
    {
        enteredDate = new Date(enteredDate);
        var today = new Date();
        if (enteredDate < today)
            return true;
        else
            return false;
    }
    return true;
}

function ValidateAgeValue(enteredDate)
{
    if (enteredDate.length > 0)
    {
        enteredDate = new Date(enteredDate);
        var today = new Date();
        if (enteredDate < today)
            return true;
        else
            return false;
    }
    return true;
}

function IsNumeric(sText)
{
   var ValidChars = "0123456789.";
   var IsNumber=true;
   var Char;

 
   for (i = 0; i < sText.length && IsNumber == true; i++) 
      { 
      Char = sText.charAt(i); 
      if (ValidChars.indexOf(Char) == -1) 
         {
         IsNumber = false;
         }
      }
   return IsNumber;
}


function ShowSectionDiv(anchorobj, tabcount)
 {
    document.getElementById('divsection' + anchorobj.id).style.visibility = "visible";
    anchorobj.parentNode.className = "selectedtab";
    anchorobj.parentNode.display = "block";

    for (var i = 1; i <= tabcount; i++) 
    {
        var divId = 'divsection' + i;
        if (anchorobj.id != i) 
        {
            document.getElementById('divsection' + i).style.visibility = "hidden";
            document.getElementById('divsection' + i).style.position = "relative";
            document.getElementById(i).parentNode.className = "";
            document.getElementById(i).parentNode.display = "none";
        }
    }
}

function ShowAdditionalDataDiv(objRadio, divId) 
{
    if (objRadio.value == "Yes") 
    {
        document.getElementById(divId).style.visibility = "visible";
        document.getElementById(divId).style.height = "150px";
    }
    else 
    {
        document.getElementById(divId).style.visibility = "hidden";
        document.getElementById(divId).style.height = "0px";
    }
}

function HandlePaymentTypeSelection(PaymentType, PaymentTypeOnline, PaymentTypeOnlineCreditCard) 
{
    var paymentTypeArray = document.getElementByName(PaymentType);
    var paymentTypeOnlineArray = document.getElementByName(PaymentTypeOnline);
    var PaymentTypeOnlineCreditCard = document.getElementByName(PaymentTypeOnlineCreditCard);
}

function AddRow(id)
{
    if (document.getElementById('tblSec2PartC') != null)
    {
        document.getElementById('tblSec2PartC').style.display = 'block';
        var tblSec2PartC = document.getElementById('tblSec2PartC');
        var iteration = id;

        var IsExists = document.getElementById('txtSec2PartCQNo' + id);
        if (!(IsExists == null || IsExists == 'undefined'))
        {
            return false;
        }

        var row = tblSec2PartC.insertRow(1);
        var cellSec2PartCQNo = row.insertCell(0);
        var cellSec2PartCName = row.insertCell(1);
        var cellSec2PartCCondition = row.insertCell(2);
        var cellSec2PartCTreatment = row.insertCell(3);
        var cellSec2PartCTreatmentDates = row.insertCell(4);
        var cellSec2PartCRecoveryDate = row.insertCell(5);
        var cellSec2PartCLocation = row.insertCell(6);

        cellSec2PartCQNo.innerHTML = '<input type="text" runat="server" id="txtSec2PartCQNo' + iteration + '" value=' + iteration + ' class="TextBox" readonly ="readonly" style="width:30px; vertical-align:middle;" />';
        cellSec2PartCQNo.align = "center";

        cellSec2PartCName.innerHTML = '<input type="text" runat="server" id="txtSec2PartCName' + iteration + '" class="TextBox" style="width:100px;vertical-align:middle;" />';
        cellSec2PartCName.align = "center";

        cellSec2PartCCondition.innerHTML = '<textarea runat="server" id="txtSec2PartCCondition' + iteration + '" class="TextArea" rows="2" cols="20" style="width:100px;"></textarea>';
        cellSec2PartCCondition.align = "center";

        cellSec2PartCTreatment.innerHTML = '<textarea runat="server" id="txtSec2PartCTreatment' + iteration + '" class="TextArea" rows="2" cols="20" style="width:100px;"></textarea>';
        cellSec2PartCTreatment.align = "center";

        cellSec2PartCTreatmentDates.innerHTML = '<input type="text" runat="server" id="txtSec2PartCTreatmentDates' + iteration + '"  class="TextBox" style="width:100px; ;vertical-align:middle;" />';
        cellSec2PartCTreatmentDates.align = "center";

        cellSec2PartCRecoveryDate.innerHTML = '<input type="text" runat="server" id="txtSec2PartCRecoveryDate' + iteration + '" class="TextBox" style="width:100px; vertical-align:middle;" />';
        cellSec2PartCRecoveryDate.align = "center";

        cellSec2PartCLocation.innerHTML = '<textarea runat="server" id="txtSec2PartCLocation' + iteration + '" class="TextArea" rows="2" cols="20"></textarea>';
        cellSec2PartCLocation.align = "center";
  }
}

function RemoveRow(currentRow)
{
    var CurrentElement = document.getElementById('txtSec2PartCQNo' + currentRow);

    if (!(CurrentElement == null || CurrentElement == 'undefined'))
    {
        var rowindex = CurrentElement.parentNode.parentNode.rowIndex;
        document.getElementById('tblSec2PartC').deleteRow(rowindex);
    }
}

function SetHandCursor(element) 
{
    element.style.cursor = "pointer";
}

function ValidateMedicalQuestionnaireData(Q, hiddenField, hidStoreHTML)
{
    Q = Q.replace('radMedicalQuestionnaireQ1Yes','')
    if (validateMedicalQuestionnaireQuestions(Q))
    {
        if (document.getElementById('divSec2PartC') != null)
        {
          return ConcatenateSection2PartCData(hiddenField, hidStoreHTML);
        }
    }
    else
    {
        return false;
    }
}

function validateMedicalQuestionnaireQuestions(Question)
{
    for (var i = 1; i <= 29; i++)
    {
    	var QYes = Question + 'radMedicalQuestionnaireQ'+  i + 'Yes';
    	var QNo = Question + 'radMedicalQuestionnaireQ'+  i + 'No';
    	
    	if (!document.getElementById(QYes).checked && !document.getElementById(QNo).checked)
    	{                                              
    	    alert('Please answer Question No. '+ i +' ');
    	    document.getElementById(QYes).focus();
    	    return false;
    	}
    }
    return true;
}

function ConcatenateSection2PartCData(hiddenField, hidStoreHTML) 
{
    var tblSec2PartC = document.getElementById('divSec2PartC').getElementsByTagName('table')[0];
    
    var tableValue = '';
    var QuestionNumber, PatientName, ConditionDiagnosis, TreatmentDetails,TreatmentDates, OngoingRecoveryDate, HospitalDetails;
   
    for (var i = 1; i < tblSec2PartC.rows.length; i++) 
    {
        QuestionNumber = tblSec2PartC.rows[i].cells[0].getElementsByTagName('input')[0];
        //alert(QuestionNumber.value);
        PatientName = tblSec2PartC.rows[i].cells[1].getElementsByTagName('input')[0];
        ConditionDiagnosis = tblSec2PartC.rows[i].cells[2].getElementsByTagName('textarea')[0];
        TreatmentDetails = tblSec2PartC.rows[i].cells[3].getElementsByTagName('textarea')[0];
        TreatmentDates = tblSec2PartC.rows[i].cells[4].getElementsByTagName('input')[0];
        OngoingRecoveryDate = tblSec2PartC.rows[i].cells[5].getElementsByTagName('input')[0];
        HospitalDetails= tblSec2PartC.rows[i].cells[6].getElementsByTagName('textarea')[0];
    
        tableValue += "&lt;tr&gt;";
        tableValue += "&lt;td&gt;" + QuestionNumber.value + "&lt;/td&gt;";
        tableValue += "&lt;td&gt;" + PatientName.value + "&lt;/td&gt;";
        tableValue += "&lt;td&gt;" + ConditionDiagnosis.value + "&lt;/td&gt;";
        tableValue += "&lt;td&gt;" + TreatmentDetails.value + "&lt;/td&gt;";
        tableValue += "&lt;td&gt;" + TreatmentDates.value + "&lt;/td&gt;";
        tableValue += "&lt;td&gt;" + OngoingRecoveryDate.value + "&lt;/td&gt;";
        tableValue += "&lt;td&gt;" + HospitalDetails.value + "&lt;/td&gt;";
        tableValue += "&lt;/tr&gt;";
        
        if (!validateBlank(ConditionDiagnosis.value)) 
        {
            alert('Please enter Condition / Diagnosis');
            ConditionDiagnosis.focus();
            return false;
        }
        else if (!validateBlank(TreatmentDates.value))
        {
            alert('Please enter Treatment Dates from/to');
            TreatmentDates.focus();
            return false;
        }
        
        document.getElementById('divSec2PartC').getElementsByTagName('table')[0].rows[i].cells[0].innerHTML = '<input type="text" runat="server" id="'+QuestionNumber.id+'" value="'+QuestionNumber.value+'" class="TextBox" readonly ="readonly" style="width:30px; vertical-align:middle;" />';
        document.getElementById('divSec2PartC').getElementsByTagName('table')[0].rows[i].cells[1].innerHTML = '<input type="text" runat="server" id="'+PatientName.id+'" value="'+PatientName.value+'" class="TextBox" style="width:100px;vertical-align:middle;" />';
        document.getElementById('divSec2PartC').getElementsByTagName('table')[0].rows[i].cells[2].innerHTML = '<textarea runat="server" id="' + ConditionDiagnosis.id+ '" class="TextArea" rows="2" cols="20" style="width:100px;">'+ConditionDiagnosis.value+'</textarea>';
        document.getElementById('divSec2PartC').getElementsByTagName('table')[0].rows[i].cells[3].innerHTML = '<textarea runat="server" id="' + TreatmentDetails.id + '" class="TextArea" rows="2" cols="20" style="width:100px;">'+TreatmentDetails.value+'</textarea>';
        document.getElementById('divSec2PartC').getElementsByTagName('table')[0].rows[i].cells[4].innerHTML = '<input type="text" runat="server" id="' + TreatmentDates.id + '" value="'+TreatmentDates.value+'" class="TextBox" style="width:100px; vertical-align:middle;" />';
        document.getElementById('divSec2PartC').getElementsByTagName('table')[0].rows[i].cells[5].innerHTML = '<input type="text" runat="server" id="' + OngoingRecoveryDate.id + '" class="TextBox" value="'+OngoingRecoveryDate.value+'" style="width:100px;vertical-align:middle;" />';
        document.getElementById('divSec2PartC').getElementsByTagName('table')[0].rows[i].cells[6].innerHTML = '<textarea runat="server" id="' + HospitalDetails.id + '" class="TextArea" rows="2" cols="20">'+HospitalDetails.value+'</textarea>';
    }
    
    document.getElementById(hidStoreHTML).value = document.getElementById('divSec2PartC').innerHTML.replace(/</gi, '&lt;').replace(/>/gi, '&gt;');
    document.getElementById(hiddenField).value = tableValue;
   
    return true;
}




function RestoreMedicalQuestionnaireData(hidStoreHTML) 
{
    if (document.getElementById(hidStoreHTML) != null && document.getElementById(hidStoreHTML).value != "")
    {
        document.getElementById('divSec2PartC').innerHTML = document.getElementById(hidStoreHTML).value.replace(/&lt;/gi, '<').replace(/&gt;/gi, '>');        
    }
}


// FOLLOWING FUNCTIONS ARE RELATED TO TABS ON APPLICATION FORMS 

// CSS helper functions
CSS = {
    // Adds a class to an element.
    AddClass: function(e, c) {
        if (!e.className.match(new RegExp("\\b" + c + "\\b", "i")))
            e.className += (e.className ? " " : "") + c;
    },

    // Removes a class from an element.
    RemoveClass: function(e, c) {
        e.className = e.className.replace(new RegExp(" \\b" + c + "\\b|\\b" + c + "\\b ?", "gi"), "");
    }
};

// Functions for handling tabs.

// Changes to the tab with the specified ID.
function GoTo(contentId, skipReplace) {
    // This variable will be true if a tab for the specified
    // content ID was found.
    var foundTab = false;

    // Get the TOC element.
    var toc = document.getElementById("tabcontainer");

    if (toc) {
        var lis = toc.getElementsByTagName("li");
        for (var j = 0; j < lis.length; j++) {
            var li = lis[j];

            // Give the current tab link the class "current" and
            // remove the class from any other TOC links.
            var anchors = li.getElementsByTagName("a");
            for (var k = 0; k < anchors.length; k++) {
                if (anchors[k].hash == "#" + contentId) {
                    CSS.AddClass(li, "selectedtab");
                    foundTab = true;
                    break;
                } else {
                    CSS.RemoveClass(li, "selectedtab");
                }
            }
        }
    }

    // Show the content with the specified ID.
    var divsToHide = [];
    var divs = document.getElementsByTagName("div");
    for (var i = 0; i < divs.length; i++) {
        var div = divs[i];

        if (div.className.match(/\bcontent\b/i)) {
            if (div.id == "_" + contentId)
                div.style.display = "block";
            else
                divsToHide.push(div);
        }
    }

    // Hide the other content boxes.
    for (var i = 0; i < divsToHide.length; i++)
        divsToHide[i].style.display = "none";

    // Change the address bar.
    if (!skipReplace) window.location.replace("#" + contentId);
}

function OnClickHandler(e) {
    // Stop the event (to stop it from scrolling or
    // making an entry in the history).
    if (!e) e = window.event;
    if (e.preventDefault) e.preventDefault(); else e.returnValue = false;

    // Get the name of the anchor of the link that was clicked.
    GoTo(this.hash.substring(1));

}

function Init() {

    if (!document.getElementsByTagName) return;

    // Attach an onclick event to all the anchor links on the page.
    var anchors = document.getElementsByTagName("a");
    for (var i = 0; i < anchors.length; i++) {
        var a = anchors[i];
        if (a.hash) a.onclick = OnClickHandler;
    }

    var contentId;
    if (window.location.hash) contentId = window.location.hash.substring(1);

    var divs = document.getElementsByTagName("div");
    for (var i = 0; i < divs.length; i++) {
        var div = divs[i];

        if (div.className.match(/\bcontent\b/i)) {
            if (!contentId) contentId = div.id;
            div.id = "_" + div.id;
        }
    }

    if (contentId) GoTo(contentId, true);
}


// Hook up the OnLoad event to the tab initialization function.



// Hide the content while waiting for the onload event to trigger.
var contentId = window.location.hash || "#Introduction";

if (document.createStyleSheet) {
    var style = document.createStyleSheet();
    style.addRule("div.content", "display: none;");
    style.addRule("div" + contentId, "display: block;");
} else {
    var head = document.getElementsByTagName("head")[0];
    if (head) {
        var style = document.createElement("style");
        style.setAttribute("type", "text/css");
        style.appendChild(document.createTextNode("div.content { display: none; }"));
        style.appendChild(document.createTextNode("div" + contentId + " { display: block; }"));
        head.appendChild(style);
    }
}

function AddDependent() 
{
    var ni = document.getElementById('divDependents');
    var numi = Math.floor(Math.random() * 11111);

    var newdiv = document.createElement('div');
    var divIdName = 'my' + numi + 'Div';
    newdiv.setAttribute('id', divIdName);
    newdiv.innerHTML = "<br/>";
   
    newdiv.appendChild(CreateTable(numi, divIdName));
   
    ni.appendChild(newdiv);
}

function CreateTable(iteration, divName)
{
    var table1 = document.createElement("table");

    table1.id = "table" + iteration;
    table1.width = "100%";
    table1.align = "center";
    table1.cellpadding = "3";
    table1.cellspacing = "3";
    table1.style.backgroundColor = "#FFFF99";
    
    var row = table1.insertRow(0);    // First ROW
    var celllblFirstName = row.insertCell(0);
    var celltxtFirstName = row.insertCell(1);
    var celllblMiddleName = row.insertCell(2);
    var celltxtMiddleName = row.insertCell(3);
    var celllblLastName = row.insertCell(4);
    var celltxtLastName = row.insertCell(5);

    celllblFirstName.className="FormFieldCaption";
    celllblFirstName.innerHTML = 'First Name:';
    celltxtFirstName.innerHTML = '<input type="text" id="celltxtFirstName' + iteration + '" class="TextBox" style="width:125px;" />';

    celllblMiddleName.innerHTML = 'Middle Name:';
    celllblMiddleName.className="FormFieldCaption";
    celltxtMiddleName.innerHTML = '<input type="text" id="celltxtMiddleName' + iteration + '" class="TextBox" style="width:125px;" />';
    
    celllblLastName.innerText = "Last Name:";
    celllblLastName.className="FormFieldCaption";
    celltxtLastName.innerHTML = '<input type="text" id="celltxtLastName' + iteration+'"  class="TextBox" style="width:125px;"/>';

    var row = table1.insertRow(1); // Second row
    var celllblDOB = row.insertCell(0);
    var celltxtDOB = row.insertCell(1);
    var celllblGender = row.insertCell(2);
    var cellRadioGender = row.insertCell(3);
    var celllblRelationship = row.insertCell(4);
    var celltxtRelationship = row.insertCell(5);

    celllblDOB.innerHTML = 'Date of Birth (mm/dd/yyyy):';
    celllblDOB.className="FormFieldCaption";
    celltxtDOB.innerHTML = '<input type="text" id="celltxtDOB' + iteration + '" class="TextBox" style="width:75px;" />';
    celltxtDOB.innerHTML += '&nbsp; <input id="imgSpouseDateofBirth' + iteration + '" onclick="popUpCalendar(this, document.getElementById(\'celltxtDOB' + iteration + '\'),\'mm/dd/yyyy\');return false;" type="image" src="../Images/Icons/Calendar.gif" style="vertical-align: middle" />'
   
    celllblGender.innerHTML = 'Gender:';
    celllblGender.className="FormFieldCaption";
    cellRadioGender.innerHTML = '<input class="radio" id="radMale' + iteration + '" type="radio" name="Gender' + iteration + '" value="Male"/>Male'
    cellRadioGender.innerHTML = cellRadioGender.innerHTML + '<input class="radio" id="radFemale' + iteration + '" type="radio" name="Gender' + iteration + '" value="Female" /> Female';

    celllblRelationship.innerHTML = 'Relationship to Primary Applicant:';
    celllblRelationship.className="FormFieldCaption";
    celltxtRelationship.innerHTML = '<input type="text" id="celltxtRelationship' + iteration + '" class="TextBox" style="width:125px; vertical-align:middle;" />';

    var row = table1.insertRow(2); // Third row
    var celllblHeight = row.insertCell(0);
    var celltxtHeight = row.insertCell(1);
    var celllblWeight = row.insertCell(2);
    var celltxtWeight = row.insertCell(3);
    var celllblOccupation = row.insertCell(4);
    var celltxtOccupation = row.insertCell(5);

    celllblHeight.innerHTML = 'Height:';
    celllblHeight.className="FormFieldCaption";
    celltxtHeight.innerHTML = '<input type="text" class="TextBox" style="width:35px;" id="celltxtHeight' + iteration + '"/>';
    celltxtHeight.innerHTML = celltxtHeight.innerHTML + '&nbsp' + '<select id="selSpouseHeightUnit' + iteration + '" class="DropDownList"><option value="">Select</option>  <option value="Centimeters">Centimeters</option><option value="Inches">Inches</option></select>'


    celllblWeight.innerHTML = 'Weight:';
    celllblWeight.className="FormFieldCaption";
    celltxtWeight.innerHTML = '<input type="text" class="TextBox" style="width:35px;" id="celltxtWeight' + iteration + '" />';
    celltxtWeight.innerHTML = celltxtWeight.innerHTML + '&nbsp;' + '<select id="selSpouseWeightUnit' + iteration + '" class="DropDownList"><option value="">Select</option><option value="lbs">lbs</option><option value="Kgs">Kgs</option></select>'

    celllblOccupation.innerHTML = 'Occupation:';
    celllblOccupation.className="FormFieldCaption";
    celltxtOccupation.innerHTML = '<input type="text" class="TextBox" style="width:125px" id="celltxtOccupation' + iteration + '" />';

    var row = table1.insertRow(3); // Forth row

    var celllblNationality = row.insertCell(0);
    var celltxtNationality = row.insertCell(1);
    var celllblCitizenship = row.insertCell(2);
    var celltxtCitizenship = row.insertCell(3);
    var celllblResidentCountry = row.insertCell(4);
    var celltxtResidentCountry = row.insertCell(5);
    
    celllblNationality.innerHTML = 'Nationality:';
    celllblNationality.className="FormFieldCaption";
    celltxtNationality.innerHTML = '<input type="text" id="celltxtNationality' + iteration + '" class="TextBox" style="width:125px"/>';

    celllblCitizenship.innerHTML = 'Citizenship:';
    celllblCitizenship.className="FormFieldCaption";
    celltxtCitizenship.innerHTML = '<input type="text" id="celltxtCitizenship' + iteration + '" class="TextBox" style="width:125px;"/>';

    celllblResidentCountry.innerHTML = 'Country of Residence:';
    celllblResidentCountry.className="FormFieldCaption";
    celltxtResidentCountry.innerHTML = '<input type="text" class="TextBox" style="width:125px" id="celltxtResidentCountry' + iteration + '" />';

    var row = table1.insertRow(4); // Fifth row

    var cellTableID = row.insertCell(0);
    var cellTableID1 = row.insertCell(1);
    var cellTableID2 = row.insertCell(2);
    var cellTableID3 = row.insertCell(3);
    //var cellRemove1 = row.insertCell(4);
    var cellRemove = row.insertCell(4);

    cellTableID.height = "20px";
    cellRemove.colSpan="2";
    cellRemove.align = "center";
    cellRemove.innerHTML += '<a style="height:18px;vertical-align:top" href=\'#\' onclick=\'RemoveDependent(this.parentNode.parentNode.parentNode.parentNode.parentNode)\'><b>Remove dependent </b></a>';
    cellRemove.innerHTML += '<img id="delete' + iteration + '" src="../Images/Icons/Delete.gif" onclick="RemoveDependent(this.parentNode.parentNode.parentNode.parentNode.parentNode);" onmouseover="SetHandCursor(this)" style="border-width:0px;width:18px;height:18px;" alt="Remove this dependent" title="Remove this dependent" />';
    return table1;
}

function RemoveDependent(divNum) 
{
    document.getElementById('divDependents').removeChild(divNum);
}


function AddDependentHTML(hiddenField, hiddenFieldCount, hidStoreDynamicDependentsHTML, spouseFirstName, spouseLastName)
{  
    if (ValidateStaticDependentData() && ValidateDynamicDependentData('divDependents'))
    {
        if (ConcatenateDependentHTML(hiddenField,hiddenFieldCount, hidStoreDynamicDependentsHTML,spouseFirstName, spouseLastName))
            return true;
    }
    else
    {
        return false;
    }
}

function ValidateStaticDependentData()
{
    var divMainDependent = document.getElementById('divMainDependent');
    var table = divMainDependent.getElementsByTagName('table');
   
    FName = table[0].rows[0].cells[1].getElementsByTagName('input')[0];
    LName = table[0].rows[0].cells[5].getElementsByTagName('input')[0];
    
    DOB = table[0].rows[1].cells[1].getElementsByTagName('input')[0];
    GenderMale = table[0].rows[1].cells[3].getElementsByTagName('input')[0];
    GenderFemale = table[0].rows[1].cells[3].getElementsByTagName('input')[1];
    
    Relationship = table[0].rows[1].cells[5].getElementsByTagName('input')[0];
    Nationality = table[0].rows[3].cells[1].getElementsByTagName('input')[0];
    Citizenship = table[0].rows[3].cells[3].getElementsByTagName('input')[0];
    ResidenceCountry = table[0].rows[3].cells[5].getElementsByTagName('input')[0];
    
    return validateDependentDetails(FName, LName,DOB,GenderMale, GenderFemale, Relationship, Nationality, Citizenship, ResidenceCountry);
}

function ValidateDynamicDependentData(divDependents)
{
    divDependents = document.getElementById(divDependents); // Main Dependent DIV
    var childDiv = divDependents.getElementsByTagName('div');
    
    for (var i = 0; i < childDiv.length; i++)
    {
    	var table = childDiv[i].getElementsByTagName('table');    
        for (var j = 0; j < table.length; j++) // For each Table
        {
            var iteration = table[j].id.replace('table','');
            FName = table[j].rows[0].cells[1].getElementsByTagName('input')[0];
            LName = table[j].rows[0].cells[5].getElementsByTagName('input')[0];
            DOB = table[j].rows[1].cells[1].getElementsByTagName('input')[0];
            GenderMale = table[j].rows[1].cells[3].getElementsByTagName('input')[0];
            GenderFemale = table[j].rows[1].cells[3].getElementsByTagName('input')[1];
            Relationship = table[j].rows[1].cells[5].getElementsByTagName('input')[0];
            Nationality = table[j].rows[3].cells[1].getElementsByTagName('input')[0];
            Citizenship = table[j].rows[3].cells[3].getElementsByTagName('input')[0];
            ResidenceCountry = table[j].rows[3].cells[5].getElementsByTagName('input')[0];
            
            var result = validateDependentDetails(FName,LName,DOB,GenderMale,GenderFemale,Relationship,Nationality,Citizenship,ResidenceCountry);
            if (!result)
            {
                return false;
            }
        } // For each Table
    }
return true;
}


function validateDependentDetails(FName, LName, DOB, GenderMale, GenderFemale, Ralationship, Nationality, Citizenship, ResidenceCountry)
{
   if (!validateBlank(FName.value))
  {
   alert('Please enter First Name');
   FName.focus();
   return false;
  }
  
  if (!validateBlank(LName.value))
  {
   alert('Please enter Last Name');
   LName.focus();
   return false;
  }
  
  if (!validateBlank(DOB.value))
  {
   alert('Please enter Date of Birth');
   DOB.focus();
   return false;
  }
  else if (!validateDateFormat(DOB.value))
  {
   alert('Date of Birth format should be: dd/mm/yyyy');
   DOB.focus();
   return false;
  }
  else if (!ValidateAgeValue(DOB.value))
  {
   alert('Date of Birth cannot be future');
   DOB.focus();
   return false;
  }
                
  if (!GenderMale.checked && !GenderFemale.checked)
  {
   alert('Please select Gender');
   GenderMale.focus();
   return false;
  }
  
  if (!validateBlank(Relationship.value))
  {
   alert('Please enter Relationship');
   Relationship.focus();
   return false;
  }
  if (!validateBlank(Nationality.value))
  {
   alert('Please enter Nationality');
   Nationality.focus();
   return false;
  }

  if (!validateBlank(Citizenship.value))
  {
   alert('Please enter Citizenship');
   Citizenship.focus();
   return false;
  }

  if (!validateBlank(ResidenceCountry.value))
  {
   alert('Please enter Country of Residence');
   ResidenceCountry.focus();
   return false;
  }
  
return true;
}




function ConcatenateDependentHTML(hiddenField, hiddenFieldCount, hidStoreDynamicDependentsHTML, spouseFirstName, spouseLastName)
{
    var Fname, MName, LName, DOB,imgDOB, Gender, GenderMale, GenderFemale, Relationship, Height, Weight, Nationality, Citizenship, Occupation, ResidenceCountry;
    var dependentExist = false;
    var div = document.getElementById('divDependents');
    var newdiv = document.createElement('div');
   
   if (div.getElementsByTagName('div') != null)
   {
    for (var i = 0; i < div.getElementsByTagName('div').length; i++) // For each DIV
    {        
        var divIdName = div.getElementsByTagName('div')[i].id;        
        newdiv.setAttribute('id', divIdName);
        var divInner = div.getElementsByTagName('div')[i];
        var table = divInner.getElementsByTagName('table');
        
            
            for (var j = 0; j < table.length; j++) // For each TABLE
            {
               Fname = table[j].rows[0].cells[1].getElementsByTagName('input')[0];               
               document.getElementById('divDependents').getElementsByTagName('div')[i].getElementsByTagName('table')[j].rows[0].cells[1].innerHTML = '<input type="text" id="' +Fname.id + '" class="TextBox" style="width:125px;" value="'+Fname.value+'" />';
               
               MName = table[j].rows[0].cells[3].getElementsByTagName('input')[0];
               document.getElementById('divDependents').getElementsByTagName('div')[i].getElementsByTagName('table')[j].rows[0].cells[3].innerHTML =  '<input type="text" id="' +MName.id + '" class="TextBox" style="width:125px;" value="'+MName.value+'" />';
               
               LName = table[j].rows[0].cells[5].getElementsByTagName('input')[0];
               document.getElementById('divDependents').getElementsByTagName('div')[i].getElementsByTagName('table')[j].rows[0].cells[5].innerHTML =  '<input type="text" id="' +LName.id + '" class="TextBox" style="width:125px;" value="'+LName.value+'" />';
              
               DOB = table[j].rows[1].cells[1].getElementsByTagName('input')[0];  // DOB
               imgDOB = DOB.id.replace('celltxtDOB','');
               document.getElementById('divDependents').getElementsByTagName('div')[i].getElementsByTagName('table')[j].rows[1].cells[1].innerHTML =  '<input type="text" class="TextBox" id="' +DOB.id + '" style="width:75px;" value="'+DOB.value+'" />';
               document.getElementById('divDependents').getElementsByTagName('div')[i].getElementsByTagName('table')[j].rows[1].cells[1].innerHTML += '&nbsp; <input id="imgSpouseDateofBirth' + imgDOB + '" onclick="popUpCalendar(this, document.getElementById(\'celltxtDOB' + imgDOB + '\'),\'mm/dd/yyyy\');return false;" type="image" src="../Images/Icons/Calendar.gif" style="vertical-align: middle" />' 


               GenderMale = table[j].rows[1].cells[3].getElementsByTagName('input')[0];
               GenderFemale = table[j].rows[1].cells[3].getElementsByTagName('input')[1];
               if (GenderMale.checked)
               {
                  Gender = GenderMale.value;
                  document.getElementById('divDependents').getElementsByTagName('div')[i].getElementsByTagName('table')[j].rows[1].cells[3].innerHTML = '<input class="radio" id="'+GenderMale.id+'" type="radio" name="' + GenderMale.name + '" value="Male" checked/>Male';
                  document.getElementById('divDependents').getElementsByTagName('div')[i].getElementsByTagName('table')[j].rows[1].cells[3].innerHTML += '<input class="radio" id="'+GenderMale.id+'" type="radio" name="' + GenderMale.name + '" value="Female"/> Female';
               }
               else if (GenderFemale.checked)
               {
                  Gender = GenderFemale.value;
                  document.getElementById('divDependents').getElementsByTagName('div')[i].getElementsByTagName('table')[j].rows[1].cells[3].innerHTML = '<input class="radio" id="'+GenderFemale.id+'" type="radio" name="' + GenderFemale.name + '" value="Male" />Male';
                  document.getElementById('divDependents').getElementsByTagName('div')[i].getElementsByTagName('table')[j].rows[1].cells[3].innerHTML += '<input class="radio" id="'+GenderFemale.id+'" type="radio" name="' + GenderFemale.name + '" value="Female" checked /> Female';
               }
               
               Relationship = table[j].rows[1].cells[5].getElementsByTagName('input')[0];
               document.getElementById('divDependents').getElementsByTagName('div')[i].getElementsByTagName('table')[j].rows[1].cells[5].innerHTML =  '<input type="text" id="' +Relationship.id + '" class="TextBox" style="width:125px;" value="'+Relationship.value+'" />';
              
               Height = table[j].rows[2].cells[1].getElementsByTagName('input')[0];
               var HeightUnitsObj = table[j].rows[2].cells[1].getElementsByTagName('select')[0];
               var HeightUnits = HeightUnitsObj.value;
               
               document.getElementById('divDependents').getElementsByTagName('div')[i].getElementsByTagName('table')[j].rows[2].cells[1].innerHTML =  '<input type="text" id="' +Height.id + '" class="TextBox" style="width:35px;" value="'+Height.value+'" />&nbsp;';
               if (HeightUnits == 'Centimeters')
               {
                 document.getElementById('divDependents').getElementsByTagName('div')[i].getElementsByTagName('table')[j].rows[2].cells[1].innerHTML +=  '<select id="'+HeightUnits.id+'" class="DropDownList"><option value="">Select</option> <option value="Centimeters" selected="selected">Centimeters</option><option value="Inches">Inches</option></select>';
               }  
               else 
               {
                 document.getElementById('divDependents').getElementsByTagName('div')[i].getElementsByTagName('table')[j].rows[2].cells[1].innerHTML +=  '<select id="'+HeightUnits.id+'" class="DropDownList"><option value="">Select</option> <option value="Centimeters">Centimeters</option><option value="Inches" selected="selected">Inches</option></select>';
               }
               
               
               
               Weight = table[j].rows[2].cells[3].getElementsByTagName('input')[0];
               var WeightUnitsobj = table[j].rows[2].cells[3].getElementsByTagName('select')[0];
               var WeightUnits = WeightUnitsobj.value;
              
               document.getElementById('divDependents').getElementsByTagName('div')[i].getElementsByTagName('table')[j].rows[2].cells[3].innerHTML =  '<input type="text" id="' +Weight.id + '" class="TextBox" style="width:35px;" value="'+Weight.value+'"/>&nbsp;';
               if (WeightUnits == 'Kgs')
               {
                 document.getElementById('divDependents').getElementsByTagName('div')[i].getElementsByTagName('table')[j].rows[2].cells[3].innerHTML +=  '<select id="'+WeightUnits.id+'" class="DropDownList"><option value="">Select</option><option value="lbs">lbs</option><option value="Kgs" selected="selected">Kgs</option>';
               }
               else 
               {
                 document.getElementById('divDependents').getElementsByTagName('div')[i].getElementsByTagName('table')[j].rows[2].cells[3].innerHTML +=  '<select id="'+WeightUnits.id+'" class="DropDownList"><option value="">Select</option><option value="lbs" selected="selected">lbs</option><option value="Kgs">Kgs</option>';
               }

               Occupation = table[j].rows[2].cells[5].getElementsByTagName('input')[0];
               document.getElementById('divDependents').getElementsByTagName('div')[i].getElementsByTagName('table')[j].rows[2].cells[5].innerHTML =  '<input type="text" id="' +Occupation.id + '" class="TextBox" style="width:125px;" value="'+Occupation.value+'" />';
              
               Nationality = table[j].rows[3].cells[1].getElementsByTagName('input')[0];
               document.getElementById('divDependents').getElementsByTagName('div')[i].getElementsByTagName('table')[j].rows[3].cells[1].innerHTML =  '<input type="text" id="' +Nationality.id + '" class="TextBox" style="width:125px;" value="'+Nationality.value+'" />';
               
               Citizenship = table[j].rows[3].cells[3].getElementsByTagName('input')[0];
               document.getElementById('divDependents').getElementsByTagName('div')[i].getElementsByTagName('table')[j].rows[3].cells[3].innerHTML =  '<input type="text" id="' +Citizenship.id + '" class="TextBox" style="width:125px;" value="'+Citizenship.value+'" />';
               
               ResidenceCountry = table[j].rows[3].cells[5].getElementsByTagName('input')[0];
               document.getElementById('divDependents').getElementsByTagName('div')[i].getElementsByTagName('table')[j].rows[3].cells[5].innerHTML =  '<input type="text" id="' +ResidenceCountry.id + '" class="TextBox" style="width:125px;" value="'+ResidenceCountry.value+'" />';
              
                newdiv.appendChild(CreateTableHTML(j, divInner.id, table[j].id, Fname.value, MName.value, LName.value, DOB.value, Gender, Relationship.value, Height.value + " " + HeightUnits, Weight.value + " " + WeightUnits, Nationality.value, Citizenship.value, Occupation.value, ResidenceCountry.value));
            }
    }
    document.getElementById(hiddenField).value = newdiv.innerHTML.replace(/</gi, '&lt;').replace(/>/gi, '&gt;');
    if (document.getElementById('divDependents') != null) // Storing the Dependents HTML Data
    {
        document.getElementById(hidStoreDynamicDependentsHTML).value = document.getElementById('divDependents').innerHTML.replace(/</gi, '&lt;').replace(/>/gi, '&gt;');        
    }
    
        
 } // IF 
    // For Total Covered Members
  if (document.getElementById(spouseFirstName).value != '' && document.getElementById(spouseLastName).value != '')
  {
    document.getElementById(hiddenFieldCount).value = div.getElementsByTagName('div').length+2;
  }
  else 
  {
    document.getElementById(hiddenFieldCount).value = 1;
  }
    
return true;        
}


function RestoreDependentData(hidStoreDynamicDependentsHTML) 
{
    if (document.getElementById(hidStoreDynamicDependentsHTML) != null && document.getElementById(hidStoreDynamicDependentsHTML).value != "")
    {
        var divDep = document.getElementById('divDependents');
        divDep.innerHTML = document.getElementById(hidStoreDynamicDependentsHTML).value.replace(/&lt;/gi, '<').replace(/&gt;/gi, '>');             
    }
}

// Create dynamic table with values

function CreateTableHTML(j, divName, tableName, Fname, MName, LName, DOB, Gender, Relationship, Height, Weight, Nationality, Citizenship, Occupation, ResidenceCountry)
 {
    var table1 = document.createElement("table");
    table1.id = tableName;
    table1.width = "100%";
    table1.align = "center";
    table1.cellpadding = 3;
    table1.cellspacing = 3;
    table1.style.backgroundColor = "#FFFF99";
    table1.style.fontFamily = "Arial";
    table1.style.fontSize = "12px";
    table1.cellspacing = "3";
    table1.cellpadding = "3";
    
    var row = table1.insertRow(0);    // First ROW
    var celllblFirstName = row.insertCell(0);
    var celltxtFirstName = row.insertCell(1);
    var celllblMiddleName = row.insertCell(2);
    var celltxtMiddleName = row.insertCell(3);
    var celllblLastName = row.insertCell(4);
    var celltxtLastName = row.insertCell(5);

    celllblFirstName.innerHTML = 'First Name:';
    celltxtFirstName.innerHTML = Fname;

    celllblMiddleName.innerHTML = 'Middle Name:';
    celltxtMiddleName.innerHTML = MName;

    celllblLastName.innerText = "Last Name:";
    var cltxtID = 'celltxtLastName' + j;
    celltxtLastName.innerHTML = LName;

    var row = table1.insertRow(1); // Second row    
    var celllblDOB = row.insertCell(0);
    var celltxtDOB = row.insertCell(1);
    var celllblGender = row.insertCell(2);
    var cellRadioGender = row.insertCell(3);
    var celllblRelationship = row.insertCell(4);
    var celltxtRelationship = row.insertCell(5); 

    celllblDOB.innerHTML = 'Date of Birth: ';
    celltxtDOB.innerHTML = DOB;
    
    celllblGender.innerHTML = 'Gender:';
    cellRadioGender.innerHTML = Gender;
    
    celllblRelationship.innerHTML = 'Relationship to Primary Applicant:';
    celltxtRelationship.innerHTML = Relationship;

    var row = table1.insertRow(2); // Third row
    var celllblHeight = row.insertCell(0);
    var celltxtHeight = row.insertCell(1);
    var celllblWeight = row.insertCell(2);
    var celltxtWeight = row.insertCell(3);
    var celllblOccupation = row.insertCell(4);
    var celltxtOccupation = row.insertCell(5);

    celllblHeight.innerHTML = 'Height:';
    celltxtHeight.innerHTML = Height;

    celllblWeight.innerHTML = 'Weight:';
    celltxtWeight.innerHTML = Weight;

    celllblOccupation.innerHTML = 'Occupation:';
    celltxtOccupation.innerHTML = Occupation;

  
    var row = table1.insertRow(3); // Forth row
    var celllblNationality = row.insertCell(0);
    var celltxtNationality = row.insertCell(1);
    var celllblCitizenship = row.insertCell(2);
    var celltxtCitizenship = row.insertCell(3);
    var celllblResidentCountry = row.insertCell(4);
    var celltxtResidentCountry = row.insertCell(5);
    
    celllblNationality.innerHTML = 'Nationality';
    celltxtNationality.innerHTML = Nationality;

    celllblCitizenship.innerHTML = 'Citizenship';
    celltxtCitizenship.innerHTML = Citizenship;

    celllblResidentCountry.innerHTML = 'Country of Residence';
    celltxtResidentCountry.innerHTML = ResidenceCountry;

    var row = table1.insertRow(4); // Fifth Row (for space)            
    var cell = row.insertCell(0);
    cell.height = "10px";

    return table1;
}

function CopyAssuredName(copyFrom, copyTo) {
    document.getElementById(copyTo).value = document.getElementById(copyFrom).value;
}

function ValidateAssuredName(AssuredName) {
    if (document.getElementById(AssuredName).value == "") {
        alert('Please enter Assured name');
        document.getElementById(AssuredName).focus();
        return false;
    }
    else
        return true;
}




function CalculateDays(DepartureDate, ReturningDate, TotalDays) {

    if (document.getElementById(DepartureDate).value != "" && document.getElementById(ReturningDate).value != "")
    {
        var dDate = document.getElementById(DepartureDate).value.replace(/-/g, ' ');
        var rDate = document.getElementById(ReturningDate).value.replace(/-/g, ' ');

        var depDate = new Date(dDate);
        var returnDate = new Date(rDate);
        var days = ((returnDate - depDate) / (24 * 60 * 60 * 1000));

        if (days > 0)
        {
            document.getElementById(TotalDays).value = days;
            return true;
        }
        else
        {
            //alert('Returning Date must be greater than Departure Date');
            document.getElementById(TotalDays).value = '0';
            return false;
        }
    }
}

function AddBeneficiary() 
{
    var ni = document.getElementById('divDynamicBeneficiaryInformation');
    numi = Math.floor(Math.random() * 11111);
    var num = numi;
   
    var newdiv = document.createElement('div');
    var divIdName = 'my' + num + 'Div';
    newdiv.setAttribute('id', divIdName);
    newdiv.innerHTML = "<br/>";
   
    newdiv.appendChild(CreateBeneficiaryTable(num, divIdName));
    
    ni.appendChild(newdiv);
}

function CreateBeneficiaryTable(iteration, divName)
{
    var table1 = document.createElement("table");

    table1.id = "table" + iteration;
    table1.width = "100%";
    table1.align = "center";
    table1.cellpadding = "5";
    table1.cellspacing = "0";
    table1.border = '1px';
    table1.className = "TableStyle";
    
    var row = table1.insertRow(0);    // First ROW
    var cellBeneficiaryIndividual = row.insertCell(0);
    cellBeneficiaryIndividual.align = "left";
    cellBeneficiaryIndividual.width = "33%";
    cellBeneficiaryIndividual.height="65px";
    
    var cellBeneficiaryName = row.insertCell(1);
    cellBeneficiaryName.align = "left";
    cellBeneficiaryName.width = "15%";

    var cellBeneficiaryAddress = row.insertCell(2);
    cellBeneficiaryAddress.align = "left";
    cellBeneficiaryAddress.width = "20%";
    
    var cellBeneficiaryTelephoneNo = row.insertCell(3);
    cellBeneficiaryTelephoneNo.align = "left";
    cellBeneficiaryTelephoneNo.width = "12%";
    
    var cellBeneficiaryPercentageForBeneficiary = row.insertCell(4);
    cellBeneficiaryPercentageForBeneficiary.align = "left";
    cellBeneficiaryPercentageForBeneficiary.width = "10%";
    
    var cellRemove = row.insertCell(5);
    
    cellBeneficiaryIndividual.className = "FormFieldCaption";
    cellBeneficiaryIndividual.innerHTML = '<input id="radSec4BeneficiaryIndividual' + iteration + '" runat="server" type="radio" name="Sec4BeneficiaryType' + iteration + '" value="Individual(s)" class="FormFieldCaption" /> Individual(s) <br/> '
    cellBeneficiaryIndividual.innerHTML = cellBeneficiaryIndividual.innerHTML + '<input id="radSec4BeneficiaryEntity' + iteration + '" runat="server" type="radio" name="Sec4BeneficiaryType' + iteration + '" value="Entity (Trust, Estate, Corporation or Partnership)" class="FormFieldCaption" /> Entity (Trust, Estate, Corporation or Partnership)';
    cellBeneficiaryIndividual.align = "left";

    cellBeneficiaryName.innerHTML = '<input type="text" runat="server" id="txtSec4BeneficiaryName' + iteration + '" class="TextBox" style="vertical-align: middle;width:100px" />';
    cellBeneficiaryName.align = "center";

    cellBeneficiaryAddress.innerHTML = ' <textarea runat="server" id="txtSec4BeneficiaryAddress' + iteration + '" class="TextArea" rows="10" cols="20" style="width:150px;height:50px;"></textarea>';
    cellBeneficiaryAddress.align = "center";

    cellBeneficiaryTelephoneNo.innerHTML = '<input type="text" runat="server" id="txtSec4BeneficiaryTelephoneNo' + iteration + '" class="TextBox" style="width: 75px; vertical-align: middle;" />';
    cellBeneficiaryTelephoneNo.align = "center";

    cellBeneficiaryPercentageForBeneficiary.innerHTML = '<input type="text" runat="server" id="txtSec4BeneficiaryPercentageForBeneficiary' + iteration + '" class="TextBox" style="width: 25px;height: 15px; vertical-align: middle;" />';
    cellBeneficiaryPercentageForBeneficiary.align = "center";

    cellRemove.innerHTML = '<img id="add' + iteration + '" src="../Images/Icons/Add.gif" onclick="AddBeneficiary('+divName+');" onmouseover="SetHandCursor(this)" style="border-width:0px;width:18px;height:18px;" alt="Add new row after this" title="Add new row after this"  />&nbsp;';
    cellRemove.innerHTML += '<img id="delete' + iteration + '" src="../Images/Icons/Delete.gif" onclick="RemoveBeneficiary(this.parentNode.parentNode.parentNode.parentNode.parentNode);" onmouseover="SetHandCursor(this)" style="border-width:0px;width:18px;height:18px;" alt="Remove this row" title="Remove this row" />';
    cellRemove.align = "center";

    return table1;
}



function RemoveBeneficiary(divNum) 
{
    document.getElementById('divDynamicBeneficiaryInformation').removeChild(divNum);    
}



function RestoreBeneficiaryInformation(hidStoreBeneficiaryInformationHTML)
{
    if (document.getElementById(hidStoreBeneficiaryInformationHTML) != null && document.getElementById(hidStoreBeneficiaryInformationHTML).value != "")
    {
        document.getElementById('divDynamicBeneficiaryInformation').innerHTML = document.getElementById(hidStoreBeneficiaryInformationHTML).value.replace(/&lt;/gi, '<').replace(/&gt;/gi, '>');                
    }
    return true;
}

function ValidateApplicantDetails(Title, FirstName, LastName, DOB, RadioGenderMale, RadioGenderFemale, EMailID, ContactNumber, AnnualSalary, Height, HeightUnits, Weight, WeightUnits, MaritalStatus, Nationality, Citizenship, CountryofResidence, Occupation, selHearAboutUs, lblBrokerAndOther, txtBrokerName, EffectiveDate, Health, Dental, Vision, Life, Disability, Travel, RadioDependentsYes, RadioDependentsNo, RadioAlreadyCoveredYes, RadioAlreadyCoveredNo, AlreadyCoveredTimePeriod, RadioReimbursementFromAnotherInsurerYes, RadioReimbursementFromAnotherInsurerNo, ReimbursementDetailsOfAnotherInsurer, PrincipalHomeAddress1, PrincipalHomeCity, PrincipalHomeState, PrincipalHomeCountry, PrincipalHomePostalCode, PrincipalHomeHomeTelNo, PrincipalHomeMobileTelNo, PrincipalMailingAddress1, PrincipalMailingCity, PrincipalMailingState, PrincipalMailingCountry, PrincipalMailingPostalCode, PrincipalMailingHomeTelNo, PrincipalMailingMobileTelNo, AnticipatedTravelDestinations, AnticipatedTravelFrequency, AnticipatedTravelDuration, AnticipatedTravelDuties, hidHearAboutUs, hidBrokerName)
{
    if (document.getElementById(Title).selectedIndex <= 0)
    {
        alert('Please select Title');
        document.getElementById(Title).focus();
        return false;
    }

    if (!validateTextBoxBlank(FirstName, true))
    {
        alert('Please enter First Name');
        document.getElementById(FirstName).focus();
        return false;
    }

    if (!validateTextBoxBlank(LastName, true))
    {
        alert('Please enter Last Name');
        document.getElementById(LastName).focus();
        return false;
    }

    if (!validateTextBoxBlank(DOB, true))
    {
        alert('Please enter Date of Birth');
        document.getElementById(DOB).focus();
        return false;
    }

    if (!validateDateFormat(document.getElementById(DOB).value))
    {
        document.getElementById(DOB).focus();
        alert('Please enter Date of Birth in format mm/dd/yyyy');        
        return false;
    }

    if (!ValidateDateMinimumOneYear(DOB))
    {
        alert('Please enter valid Date of Birth. Age should be more than 1 year');
        document.getElementById(DOB).focus();
        return false;
    }
    
    if (!document.getElementById(RadioGenderMale).checked && !document.getElementById(RadioGenderFemale).checked)
    {
        alert('Please select Gender');
        document.getElementById(RadioGenderMale).focus();
        return false;
    }

    if (!validateTextBoxBlank(EMailID, true))
    {
        alert('Please enter E-Mail');
        document.getElementById(EMailID).focus();
        return false;
    }

    if (!validateEMail(EMailID))
    {
        alert('Please enter a valid E-Mail');
        document.getElementById(EMailID).focus();
        return false;
    }

    if (!validateTextBoxBlank(ContactNumber, true))
    {
        alert('Please enter Contact Number');
        document.getElementById(ContactNumber).focus();
        return false;
    }

    if(document.getElementById(Disability).checked)
    {
        if (!validateTextBoxBlank(AnnualSalary, true))
        {
            alert('Please enter Annual Salary');
            document.getElementById(AnnualSalary).focus();
            return false;
        }
        else if(!ValidateAmount(document.getElementById(AnnualSalary).value))
        {
            alert('Please enter valid Annual Salary');
            document.getElementById(AnnualSalary).focus();
            return false;
        }
    } 

    if (!validateTextBoxBlank(Height, true))
    {
        alert('Please enter Height');
        document.getElementById(Height).focus();
        return false;
    }

    if (document.getElementById(HeightUnits).selectedIndex <= 0)
    {
        alert('Please select Height Units');
        document.getElementById(HeightUnits).focus();
        return false;
    }

    if (!validateTextBoxBlank(Weight, true))
    {
        alert('Please enter Weight');
        document.getElementById(Weight).focus();
        return false;
    }

    if (document.getElementById(WeightUnits).selectedIndex <= 0)
    {
        alert('Please select Weight Units');
        document.getElementById(WeightUnits).focus();
        return false;
    }

    if (document.getElementById(MaritalStatus).selectedIndex <= 0)
    {
        alert('Please select Marital Status');
        document.getElementById(MaritalStatus).focus();
        return false;
    }

    if (!validateTextBoxBlank(Nationality, true))
    {
        alert('Please enter Nationality');
        document.getElementById(Nationality).focus();
        return false;
    }
    if (!validateTextBoxBlank(Citizenship, true))
    {
        alert('Please enter Citizenship');
        document.getElementById(Citizenship).focus();
        return false;
    }
    
    if (!validateTextBoxBlank(CountryofResidence, true))
    {
        alert('Please enter Country of Residence');
        document.getElementById(CountryofResidence).focus();
        return false;
    }
    
    if (!validateTextBoxBlank(Occupation, true))
    {
        alert('Please enter Occupation');
        document.getElementById(Occupation).focus();
        return false;
    }
    
    if (document.getElementById(selHearAboutUs).selectedIndex <= 0)
    {
         alert('Please select How Did You Hear About Us');
         document.getElementById(selHearAboutUs).focus();
         return false;
    }
    
    if (document.getElementById(selHearAboutUs).value == 'Broker / Agent' && !validateTextBoxBlank(txtBrokerName, true))
    {
        alert('Please enter Broker / Agent Name');
        document.getElementById(txtBrokerName).focus();
        return false;         
    }
    
    if (document.getElementById(selHearAboutUs).value == 'Other' && !validateTextBoxBlank(txtBrokerName, true)) 
    {
        alert('Please enter Other');
        document.getElementById(txtBrokerName).focus();
        return false;         
    }
    
    if (!validateTextBoxBlank(EffectiveDate, true))
    {
        alert('Please enter Effective Date');
        document.getElementById(EffectiveDate).focus();
        return false;
    }
    
    if (!validateDateFormat(document.getElementById(EffectiveDate).value))
    {
        alert('Please enter Effective Date in format mm/dd/yyyy');
        document.getElementById(EffectiveDate).focus();
        return false;
    }

    if (!ValidateDateCheckFutureDate(EffectiveDate))
    {
      alert('Please enter a future date');
      document.getElementById(EffectiveDate).focus();
      return false;
    }

    if (!document.getElementById(Health).checked && !document.getElementById(Dental).checked && !document.getElementById(Vision).checked && !document.getElementById(Life).checked && !document.getElementById(Disability).checked && !document.getElementById(Travel).checked)
    {
        alert('Please select at least one Policy Type');
        document.getElementById(Health).focus();
        return false;
    }

    if (!document.getElementById(RadioDependentsYes).checked && !document.getElementById(RadioDependentsNo).checked)
    {
     alert('Please select Do you want coverage for your Dependent(s)');
        document.getElementById(RadioDependentsYes).focus();
        return false;
    }

    if (!document.getElementById(RadioAlreadyCoveredYes).checked && !document.getElementById(RadioAlreadyCoveredNo).checked)
    {
        alert('Please select Have you ever been covered by GBG / TieCare before for any type of insurance coverage?');
        document.getElementById(RadioAlreadyCoveredYes).focus();
        return false;
    }
    else if (document.getElementById(RadioAlreadyCoveredYes).checked && !validateTextBoxBlank(AlreadyCoveredTimePeriod))
    {
        alert('Please enter Already Covered Time Period');
        document.getElementById(AlreadyCoveredTimePeriod).focus();
        return false;
    }

    if (!document.getElementById(RadioReimbursementFromAnotherInsurerYes).checked && !document.getElementById(RadioReimbursementFromAnotherInsurerNo).checked)
    {
        alert('Please enter Are you entitled to any reimbursement from another Insurer');
        document.getElementById(RadioReimbursementFromAnotherInsurerYes).focus();
        return false;
    }
    else if (document.getElementById(RadioReimbursementFromAnotherInsurerYes).checked && !validateTextBoxBlank(ReimbursementDetailsOfAnotherInsurer))
    {
        alert('Please enter reimbursement details from another Insurer');
        document.getElementById(ReimbursementDetailsOfAnotherInsurer).focus();
        return false;
    }

    if (!validateTextBoxBlank(PrincipalHomeAddress1, true))
    {
        alert('Please enter Address1');
        document.getElementById(PrincipalHomeAddress1).focus();
        return false;
    }

    if (!validateTextBoxBlank(PrincipalHomeCity, true))
    {
        alert('Please enter City');
        document.getElementById(PrincipalHomeCity).focus();
        return false;
    }
    if (!validateTextBoxBlank(PrincipalHomeState, true))
    {
        alert('Please enter State');
        document.getElementById(PrincipalHomeState).focus();
        return false;
    }
    if (!validateTextBoxBlank(PrincipalHomeCountry, true))
    {
        alert('Please enter Country');
        document.getElementById(PrincipalHomeCountry).focus();
        return false;
    }

    if (!validateTextBoxBlank(PrincipalHomePostalCode, true))
    {
        alert('Please enter Zip Code');
        document.getElementById(PrincipalHomePostalCode).focus();
        return false;
    }

    if ((!validateTextBoxBlank(PrincipalHomeHomeTelNo, true)) && (!validateTextBoxBlank(PrincipalHomeMobileTelNo, false)))
    {
        alert('Please enter Telephone Number or Mobile Number');
        document.getElementById(PrincipalHomeHomeTelNo).focus();
        return false;
    }

    if (!validateTextBoxBlank(PrincipalMailingAddress1, true))
    {
        alert('Please enter Address1');
        document.getElementById(PrincipalMailingAddress1).focus();
        return false;
    }

    if (!validateTextBoxBlank(PrincipalMailingCity, true))
    {
        alert('Please enter City');
        document.getElementById(PrincipalMailingCity).focus();
        return false;
    }
    if (!validateTextBoxBlank(PrincipalMailingState, true))
    {
        alert('Please enter State');
        document.getElementById(PrincipalMailingState).focus();
        return false;
    }
    if (!validateTextBoxBlank(PrincipalMailingCountry, true))
    {
        alert('Please enter Country');
        document.getElementById(PrincipalMailingCountry).focus();
        return false;
    }

    if (!validateTextBoxBlank(PrincipalMailingPostalCode, true))
    {
        alert('Please enter Zip Code');
        document.getElementById(PrincipalMailingPostalCode).focus();
        return false;
    }

    if ((!validateTextBoxBlank(PrincipalMailingHomeTelNo, true)) && (!validateTextBoxBlank(PrincipalMailingMobileTelNo, false)))
    {
        alert('Please enter either Home Telephone Number or Mobile Number');
        document.getElementById(PrincipalMailingHomeTelNo).focus();
        return false;
    }

    if (!validateTextBoxBlank(AnticipatedTravelDestinations, true))
    {
        alert('Please enter Destinations');
        document.getElementById(AnticipatedTravelDestinations).focus();
        return false;
    }

    if (!validateTextBoxBlank(AnticipatedTravelDuration, true))
    {
        alert('Please enter Duration');
        document.getElementById(AnticipatedTravelDuration).focus();
        return false;
    }

    if (!validateTextBoxBlank(AnticipatedTravelDuties, true))
    {
        alert('Please enter Duties');
        document.getElementById(AnticipatedTravelDuties).focus();
        return false;
    }

    if (!validateTextBoxBlank(AnticipatedTravelFrequency, true))
    {
        alert('Please enter Frequency');
        document.getElementById(AnticipatedTravelFrequency).focus();
        return false;
    }
    
    document.getElementById(hidHearAboutUs).value = document.getElementById(selHearAboutUs).selectedIndex;
    document.getElementById(hidBrokerName).value = document.getElementById(txtBrokerName).value;
    
    return true;
}




function ShowUpgradePolicy(divDangerousSportsUpgradePolicy, option) 
{
    if (option == 'yes') 
    {
        document.getElementById(divDangerousSportsUpgradePolicy).style.display = 'block';
    }
    else 
    {
        document.getElementById(divDangerousSportsUpgradePolicy).style.display = 'none';
    }
}


function CheckPolicyTypes(obj, Health, Dental, Vision, Life, Disability, Travel, hidHearAboutUs, hidBrokerName, selHearAboutUs, txtBrokerName, BrokerAndOther)
{
   
    Health = document.getElementById(Health);
    Dental = document.getElementById(Dental);
    Vision = document.getElementById(Vision);
    Life = document.getElementById(Life);
    Disability = document.getElementById(Disability);
    Travel = document.getElementById(Travel);
    
    if(obj=='default')
    {
        Health.checked = false;
        Dental.checked = false;
        Vision.checked = false;
        Life.checked = false;
        Disability.checked = false;
        Dental.disabled = "disabled";
        Vision.disabled = "disabled";
        Travel.checked = false;
    }
    
    else if (obj == Health || obj == Dental || obj == Vision)
    {
        if (Health.checked) // if HEALTH checked
        {
            Travel.checked = false;
            Dental.disabled = "";
            Vision.disabled = "";
        }
        else
        {
           Dental.disabled = "disabled";
           Vision.disabled = "disabled";
           Dental.checked = false;
           Vision.checked = false;
        }
    }    
    
    else if (obj == Life)
    {
        if (Life.checked)
         Travel.checked = false;
    }
    
    else if (obj == Disability)    
    {
        if (Disability.checked)
        Travel.checked = false;
    }
     
    else if (obj == Travel)    
    {
        if (Travel.checked)
        {
         Health.checked = false;
         Dental.checked = false;
         Vision.checked = false;
         Life.checked = false;
         Disability.checked = false;
         Dental.disabled = "disabled";
         Vision.disabled = "disabled";
        }
   }           
   
    // For How did you Hear About us? 
    hidHearAboutUs = document.getElementById(hidHearAboutUs);
    hidBrokerName = document.getElementById(hidBrokerName);
    if (hidHearAboutUs.value != null && hidHearAboutUs.value != '' && hidBrokerName.value != null)
    {
         document.getElementById(selHearAboutUs).selectedIndex = hidHearAboutUs.value;
         document.getElementById(txtBrokerName).value = hidBrokerName.value;
         
         document.getElementById(BrokerAndOther).style.visibility = 'hidden';
            document.getElementById(txtBrokerName).style.visibility = 'hidden';
         
         if (hidHearAboutUs.value == '3' || hidHearAboutUs.value == '7')
         {
            document.getElementById(BrokerAndOther).style.visibility = 'visible';
            document.getElementById(txtBrokerName).style.visibility = 'visible';
         }
    }
         
}


function validateEMail(EMailID)
{
    var emailRegEx = /^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$/;
    str = document.getElementById(EMailID).value;
    if (str.match(emailRegEx))
        return true;
    else
        return false;
}

function CopyHomeAddressToMailingAddress(chkCopy, HomeAddress1, HomeAddress2, HomeCity, HomeState, HomeCountry, HomePostalCode, HomeTelNo, HomeMobileNo, HomeFax, MailingAddress1, MailingAddress2, MailingCity, MailingState, MailingCountry, MailingPostalCode, MailingTelNo, MailingMobileNo, MailingFax)
{
    if (document.getElementById(chkCopy).checked)
    {
        Copy(HomeAddress1, MailingAddress1);
        Copy(HomeAddress2, MailingAddress2);
        Copy(HomeCity, MailingCity);
        Copy(HomeState, MailingState);
        Copy(HomeCountry, MailingCountry);
        Copy(HomePostalCode, MailingPostalCode);
        Copy(HomeTelNo, MailingTelNo);
        Copy(HomeMobileNo, MailingMobileNo);
        Copy(HomeFax, MailingFax);
    }
    else
    {
        document.getElementById(MailingAddress1).value = "";
        document.getElementById(MailingAddress2).value = "";
        document.getElementById(MailingCity).value = "";
        document.getElementById(MailingState).value = "";
        document.getElementById(MailingCountry).value = "";
        document.getElementById(MailingPostalCode).value = "";
        document.getElementById(MailingTelNo).value = "";
        document.getElementById(MailingMobileNo).value = "";
        document.getElementById(MailingFax).value = "";
    }
    
}

function Copy(txtBox1, txtBox2)
{
    document.getElementById(txtBox2).value = document.getElementById(txtBox1).value;
}

function ValidateTravelData(PassportNo, PolicyTypeAnnual, PolicyTypeSingleTrip, PolicyInceptionDate, MultitripTravelPattern, TravelingFrom, TravelingTo, DepartingDate, ReturnDate, TotalNumberofDaysSingleTrip, CoverageArea, Currency, EHICHolderYes, EHICHolderNo, DangerousSportsYes, DangerousSportsNo, MedicalConditionYes, MedicalConditionNo, txtMedicalConditionDetails, ApplicationSubmissionName)
{
    if (!validateTextBoxBlank(PassportNo, true))
    {
     alert('Please enter Passport Number');
     document.getElementById(PassportNo).focus();
     return false;
    }
        
    if (!document.getElementById(PolicyTypeAnnual).checked && !document.getElementById(PolicyTypeSingleTrip).checked)
    {
        alert('Please select a Policy Type');
        document.getElementById(PolicyTypeAnnual).focus();
        return false;
    }

    if (document.getElementById(PolicyTypeAnnual).checked)
    {
        if (!validateTextBoxBlank(PolicyInceptionDate, true))
        {
            alert('Please enter Policy Inception Date');
            document.getElementById(PolicyInceptionDate).focus();
            return false;
        }
        
        if (!validateDateFormat(document.getElementById(PolicyInceptionDate).value, true))
        {
             alert('Please enter Policy Inception Date in format mm/dd/yyyy');
            document.getElementById(PolicyInceptionDate).focus();
            return false;
        }
        
        if (!ValidateDateCheckFutureDate(PolicyInceptionDate, true))
        {
            alert('Please enter a future date');
            document.getElementById(PolicyInceptionDate).focus();
            return false;
        }

        if (!validateTextBoxBlank(MultitripTravelPattern, true))
        {
            alert('Please enter Travel Pattern and Destinations Details');
            document.getElementById(MultitripTravelPattern).focus();
            return false;
        }
    }

    if (document.getElementById(PolicyTypeSingleTrip).checked)
    {
        if (!validateTextBoxBlank(TravelingFrom, true))
        {
            alert('Please enter Traveling From');
            document.getElementById(TravelingFrom).focus();
            return false;
        }
                
        if (!validateTextBoxBlank(DepartingDate, true))
        {
            alert('Please enter Departing Date');
            document.getElementById(DepartingDate).focus();
            return false;
        }
        
        if (!validateDateFormat(document.getElementById(DepartingDate).value, true))
        {
            alert('Please enter Departing Date in format mm/dd/yyyy');
            document.getElementById(DepartingDate).focus();
            return false;
        }
        
        if (!ValidateDateCheckFutureDate(DepartingDate, true))
        {
            alert('Please enter a future date');
            document.getElementById(DepartingDate).focus();
            return false;
        }
        
        if (!validateTextBoxBlank(TravelingTo, true))
        {
            alert('Please enter Traveling To');
            document.getElementById(TravelingTo).focus();
            return false;
        }
        
        if (!validateTextBoxBlank(ReturnDate, true))
        {
            alert('Please enter Return Date');
            document.getElementById(ReturnDate).focus();
            return false;
        }
        
        if (!validateDateFormat(document.getElementById(ReturnDate).value, true))
        {
            alert('Please enter Return Date in format mm/dd/yyyy');
            document.getElementById(ReturnDate).focus();
            return false;
        }
        if (!ValidateDateCheckFutureDate(ReturnDate, true))
        {
             alert('Please enter a future date');
            document.getElementById(ReturnDate).focus();
            return false;
        }
   
        if (!CalculateDays(DepartingDate,ReturnDate,TotalNumberofDaysSingleTrip))
        {
            alert('Returning Date must be greater than Departure Date');
            document.getElementById(DepartingDate).focus();
            return false;
        }
    }

    if (!validateDropDownSelectedIndex(document.getElementById(Currency).selectedIndex))
    {
        alert('Please enter Currency')
        document.getElementById(Currency).focus();
        return false;
    }

 if (!validateDropDownSelectedIndex(document.getElementById(CoverageArea).selectedIndex))
    {
        alert('Please enter Coverage Area')
        document.getElementById(CoverageArea).focus();
        return false;
    }

    if (!document.getElementById(EHICHolderYes).checked && !document.getElementById(EHICHolderNo).checked)
    {
        alert('Please select Are you a European Health Insurance Card (EHIC) holder?')
        document.getElementById(EHICHolderYes).focus();
        return false;
    }


    if (!document.getElementById(DangerousSportsYes).checked && !document.getElementById(DangerousSportsNo).checked)
    {
        alert('Please select Dangerous Sports')
        document.getElementById(DangerousSportsYes).focus();
        return false;
    }
    
    if (!document.getElementById(MedicalConditionYes).checked && !document.getElementById(MedicalConditionNo).checked)
    {
        alert('Please select Medical Condition')
        document.getElementById(MedicalConditionYes).focus();
        return false;
    }
    else if (document.getElementById(MedicalConditionYes).checked && document.getElementById(txtMedicalConditionDetails).value == '')
    {
        document.getElementById(txtMedicalConditionDetails).focus();
        alert('Please enter Medical Condition Details');            
        return false;
    }
    
    if (!validateTextBoxBlank(ApplicationSubmissionName, true))
    {
        alert('Please enter Primary Applicant Name');
        document.getElementById(ApplicationSubmissionName).focus();
        return false;
    }
    
    return true;

}


function ValidateRepresentationForm(AssuredName, AssuredDateSigned)
{
    if (!validateTextBoxBlank(AssuredName, true))
    {
        alert('Please enter Primary Applicant Name');
        document.getElementById(AssuredName).focus();
        return false;
    }
    if (!validateTextBoxBlank(AssuredDateSigned, true))
    {
        alert('Please enter Date Signed');   
        document.getElementById(AssuredDateSigned).focus();
        return false;
    }
    
    if (!validateDateFormat(document.getElementById(AssuredDateSigned).value, true))
    {
        alert('Please enter Date Signed in format mm/dd/yyyy');
        document.getElementById(AssuredDateSigned).focus();
        return false;
    }
    
    return true;
}

function ValidateResidenceVerificationForm(Name)
{
    if (!validateTextBoxBlank(Name, true))
    {
        alert('Please enter Primary Applicant Name');
        document.getElementById(Name).focus();
        return false;
    }
    return true;
}

function validateDisabilityInformation(CurrencyOfBenefitsDisabilityUSD, CurrencyOfBenefitsDisabilityGBP, CurrencyOfBenefitsDisabilityEUR, BenefitsLTD, LTDBenefitPercentage, LTDBenefitPercentage0, LTDBenefitPercentage3, LTDBenefitPercentage5, DeferredPeriodLTD13, DeferredPeriodLTD26, DeferredPeriodLTD52)
{
  if (!document.getElementById(CurrencyOfBenefitsDisabilityUSD).checked && !document.getElementById(CurrencyOfBenefitsDisabilityGBP).checked && !document.getElementById(CurrencyOfBenefitsDisabilityEUR).checked)
    {
     alert('Please select any one Disability Coverage Currency');
     document.getElementById(CurrencyOfBenefitsDisabilityUSD).focus();
     return false;
    }
  if (document.getElementById(BenefitsLTD).checked)  
  {
    if (!document.getElementById(LTDBenefitPercentage0).checked && !document.getElementById(LTDBenefitPercentage3).checked && !document.getElementById(LTDBenefitPercentage5).checked)
    {
     alert('Please select Long Term Disability Escalation Percentage');
     document.getElementById(LTDBenefitPercentage0).focus();
     return false;
    }
    
    if (!document.getElementById(DeferredPeriodLTD13).checked && !document.getElementById(DeferredPeriodLTD26).checked && !document.getElementById(DeferredPeriodLTD52).checked)
    {
     alert('Please select Long Term Disability Deferred Period');
     document.getElementById(DeferredPeriodLTD13).focus();
     return false;
    }
  }
 
  return true;
}



function ValidateLIFEInformation(BeneficiaryIndividual,BeneficiaryEntity, BeneficiaryName, BeneficiaryAddress, BeneficiaryPercentage, hidDynamicBeneficiaryInformation, hidStoreBeneficiaryInformationHTML, CurrencyOfBenefitsLifeUSD, CurrencyOfBenefitsLifeGBP, CurrencyOfBenefitsLifeEUR, SumAssuredLifeInsurance, BenefitsAccidentalDeath, SumAssuredAccidentalDeath)
{
    // Validate Beneficiary Information
    BeneficiaryIndividual = document.getElementById(BeneficiaryIndividual);
    BeneficiaryEntity = document.getElementById(BeneficiaryEntity);
    BeneficiaryName = document.getElementById(BeneficiaryName);
    BeneficiaryAddress = document.getElementById(BeneficiaryAddress);
    BeneficiaryPercentage = document.getElementById(BeneficiaryPercentage);
    
    var result1 = ValidateBeneficiaryData(BeneficiaryIndividual, BeneficiaryEntity, BeneficiaryName, BeneficiaryAddress, BeneficiaryPercentage);
    if (result1 != false && result1 > 0)
    {
        var divBeneficiaryInformation = document.getElementById('divDynamicBeneficiaryInformation');
        var table = divBeneficiaryInformation.getElementsByTagName('table');
        var result2 = 0;
        var validate = false;
        if (table.length > 0)
        {
            result2 = ValidateBeneficiaryDynamicData('divDynamicBeneficiaryInformation');    
            if (result2 == false)
             validate= false;
            else 
             validate=true;
        }    
        else 
            validate = true;
            
        if (validate)
        {
            if (parseInt(result1) + parseInt(result2) != 100)
             {
              alert('Total Benefeciary Percentage should be 100%');
              BeneficiaryPercentage.focus();
              return false;
             }
        }
        else
        {
         return false;
        }     
    }
    else
    {
     return false;
    }
        
    if (!AddBeneficiaryHTML(hidDynamicBeneficiaryInformation, hidStoreBeneficiaryInformationHTML))
    {
     return false;
    }
    
    // Life Coverage validation
    
    if (!document.getElementById(CurrencyOfBenefitsLifeUSD).checked && !document.getElementById(CurrencyOfBenefitsLifeGBP).checked && !document.getElementById(CurrencyOfBenefitsLifeEUR).checked)
    {
     alert('Please select Currency');
     document.getElementById(CurrencyOfBenefitsLifeUSD).focus();
     return false;
    }    
    
    if (validateTextBoxBlank(SumAssuredLifeInsurance,true) == '')
    {
      alert('Please enter Sum Assured');
      document.getElementById(SumAssuredLifeInsurance).focus();
      return false;
    }
      
    if (document.getElementById(BenefitsAccidentalDeath).checked && validateTextBoxBlank(SumAssuredAccidentalDeath,true) == '')
    {
     alert('Please enter Accidental Death & Dismemberment Insurance Sum Assured');
     document.getElementById(SumAssuredAccidentalDeath).focus();
     return false;     
    }
    else if (validateTextBoxBlank(SumAssuredAccidentalDeath) != '' && !document.getElementById(BenefitsAccidentalDeath).checked)
    {
     alert('Please check Accidental Death & Dismemberment Insurance');
     document.getElementById(BenefitsAccidentalDeath).focus();
     return false;     
    }
    
 return true;
}

function ValidateBeneficiaryData(BeneficiaryIndividual, BeneficiaryEntity, BeneficiaryName, BeneficiaryAddress, BeneficiaryPercentage)
{
        if (!BeneficiaryIndividual.checked && !BeneficiaryEntity.checked)
        {
         alert('Please select Beneficiary Individual(s) or an Entity');
         BeneficiaryIndividual.focus();
         return false;
        }
         
       if (!validateBlank(BeneficiaryName.value))
        {
         alert('Please enter Beneficiary Name');
         BeneficiaryName.focus();
         return false;
        }
        
       if (!validateBlank(BeneficiaryAddress.value))
        {
         alert('Please enter Beneficiary Address');
         BeneficiaryAddress.focus();
         return false;
        }
        
        if (!validateBlank(BeneficiaryPercentage.value))
        {
         alert('Please enter Beneficiary Percentage');
         BeneficiaryPercentage.focus();
         return false;
        }
        else if (!IsNumeric(BeneficiaryPercentage.value) || BeneficiaryPercentage.value <= 0)
        {
         alert('Percentage of Beneficiaries must be in digits and > 0');
         BeneficiaryPercentage.focus();
         return false;
        }
return BeneficiaryPercentage.value;
}


function ValidateBeneficiaryDynamicData(divDynamicBeneficiaryInformation)
{
    divDynamicBeneficiaryInformation = document.getElementById(divDynamicBeneficiaryInformation);
    var table = divDynamicBeneficiaryInformation.getElementsByTagName('table');
 
    var BeneficiaryIndividual, BeneficiaryEntity, BeneficiaryName, BeneficiaryAddress, BeneficiaryPercentage;   
    var TotalPercentage=0;   
    for (var j = 0; j < table.length; j++) // For each Table in div
    {
        BeneficiaryIndividual = table[j].rows[0].cells[0].getElementsByTagName('input')[0];
        BeneficiaryEntity = table[j].rows[0].cells[0].getElementsByTagName('input')[1];
        
        BeneficiaryName = table[j].rows[0].cells[1].getElementsByTagName('input')[0];
        BeneficiaryAddress = table[j].rows[0].cells[2].getElementsByTagName('textarea')[0]; 
        BeneficiaryPercentage= table[j].rows[0].cells[4].getElementsByTagName('input')[0];
        
        var result= ValidateBeneficiaryData(BeneficiaryIndividual, BeneficiaryEntity, BeneficiaryName, BeneficiaryAddress, BeneficiaryPercentage);
        if (result)
        {
           TotalPercentage = parseInt(TotalPercentage) + parseInt(BeneficiaryPercentage.value);
        }
        else
        {
           return false;
        }
    } // For each Table in div
    return TotalPercentage;   
}


function AddBeneficiaryHTML(hidDynamicBeneficiaryInformation,hidStoreBeneficiaryInformationHTML)
{
    document.getElementById(hidDynamicBeneficiaryInformation).value = '';
    var BeneficiaryIndividual, BeneficiaryEntity, BeneficiaryName, BeneficiaryAddress, BeneficiaryTelephone, BeneficiaryPercentage;
    var dependentExist = false;
    var div = document.getElementById('divDynamicBeneficiaryInformation');
    
   if (div.getElementsByTagName('div') != null)
   {
    var tempDiv = div.getElementsByTagName('div');    
     var newdiv = document.createElement('div');  
    for (var i = 0; i < tempDiv.length; i++) // For each DIV -- Dynamic data
    {
        var divInner = tempDiv[i];
        newdiv.setAttribute('id', divInner.id);
        var table = divInner.getElementsByTagName('table');
       
       BeneficiaryIndividual = table[0].rows[0].cells[0].getElementsByTagName('input')[0];
       BeneficiaryEntity= table[0].rows[0].cells[0].getElementsByTagName('input')[1];
       BeneficiaryName = table[0].rows[0].cells[1].getElementsByTagName('input')[0];
       BeneficiaryAddress= table[0].rows[0].cells[2].getElementsByTagName('textarea')[0];
       BeneficiaryTelephone= table[0].rows[0].cells[3].getElementsByTagName('input')[0];
       BeneficiaryPercentage= table[0].rows[0].cells[4].getElementsByTagName('input')[0];
       
        var BeneficiaryType;
        if (BeneficiaryIndividual.checked)
        {
         BeneficiaryType = BeneficiaryIndividual.value;
         document.getElementById('divDynamicBeneficiaryInformation').getElementsByTagName('div')[i].getElementsByTagName('table')[0].rows[0].cells[0].innerHTML = '<input id="'+BeneficiaryIndividual.id+'" runat="server" type="radio" name="'+BeneficiaryIndividual.name+'" value="Individual(s)" class="radio" checked/> Individual(s) <br/>';
         document.getElementById('divDynamicBeneficiaryInformation').getElementsByTagName('div')[i].getElementsByTagName('table')[0].rows[0].cells[0].innerHTML += '<input id="'+BeneficiaryEntity.id+'" runat="server" type="radio" name="'+BeneficiaryEntity.name+'" value="Entity (Trust, Estate, Corporation or Partnership)" class="radio" /> Entity (Trust, Estate, Corporation or Partnership)';
        }
        else if (BeneficiaryEntity.checked)
        {
         BeneficiaryType = BeneficiaryEntity.value;
         document.getElementById('divDynamicBeneficiaryInformation').getElementsByTagName('div')[i].getElementsByTagName('table')[0].rows[0].cells[0].innerHTML = '<input id="'+BeneficiaryIndividual.id+'" runat="server" type="radio" name="'+BeneficiaryIndividual.name+'" value="Individual(s)" class="radio" /> Individual(s) <br/>';
         document.getElementById('divDynamicBeneficiaryInformation').getElementsByTagName('div')[i].getElementsByTagName('table')[0].rows[0].cells[0].innerHTML += '<input id="'+BeneficiaryEntity.id+'" runat="server" type="radio" name="'+BeneficiaryEntity.name+'" value="Entity (Trust, Estate, Corporation or Partnership)" class="radio" checked/> Entity (Trust, Estate, Corporation or Partnership)'; 
        }
        
        document.getElementById('divDynamicBeneficiaryInformation').getElementsByTagName('div')[i].getElementsByTagName('table')[0].rows[0].cells[1].innerHTML = '<input type="text" id="'+BeneficiaryName.id+'"  style="vertical-align: middle;width:100px" value="'+BeneficiaryName.value+'"/>';
        document.getElementById('divDynamicBeneficiaryInformation').getElementsByTagName('div')[i].getElementsByTagName('table')[0].rows[0].cells[2].innerHTML = '<textarea id="'+BeneficiaryAddress.id+'" rows="10" cols="20" style="width:150px;height:50px;">'+BeneficiaryAddress.value+'</textarea>';
        document.getElementById('divDynamicBeneficiaryInformation').getElementsByTagName('div')[i].getElementsByTagName('table')[0].rows[0].cells[3].innerHTML = '<input type="text" runat="server" id="'+BeneficiaryTelephone.id+'" style="width: 75px; vertical-align: middle;" value="'+BeneficiaryTelephone.value+'" />';
        document.getElementById('divDynamicBeneficiaryInformation').getElementsByTagName('div')[i].getElementsByTagName('table')[0].rows[0].cells[4].innerHTML = '<input type="text" runat="server" id="'+BeneficiaryPercentage.id+'" style="width: 25px;height: 15px; vertical-align: middle;" value = "'+BeneficiaryPercentage.value+'" />';
        
        newdiv.appendChild(CreateBeneficiaryTableHTML(table[0].id, BeneficiaryType, BeneficiaryName.value, BeneficiaryAddress.value, BeneficiaryTelephone.value, BeneficiaryPercentage.value));
       
    } // For each DIV -- Dynamic data
     // Restore
        document.getElementById(hidDynamicBeneficiaryInformation).value += newdiv.innerHTML.replace(/</gi, '&lt;').replace(/>/gi, '&gt;');
   } //if (div.getElementsByTagName('div') != null) 
     
    
    // Storing the Dependents HTML Data
    if (document.getElementById('divDynamicBeneficiaryInformation') != null)
    {
        document.getElementById(hidStoreBeneficiaryInformationHTML).value = document.getElementById('divDynamicBeneficiaryInformation').innerHTML.replace(/</gi, '&lt;').replace(/>/gi, '&gt;');        
    }
  return true;  
}


function CreateBeneficiaryTableHTML(tableID, BeneficiaryType, BeneficiaryName, BeneficiaryAddress, BeneficiaryTelephone, BeneficiaryPercentage)
 {
    var table1 = document.createElement("table");
    table1.id = tableID;
    table1.width = "100%";
    table1.align = "center";
    table1.cellpadding = 5;
    table1.cellspacing = 0;
    table1.style.fontFamily = "Arial";
    table1.style.fontSize = "12px";
    table1.border = "1px";
    table1.style.borderCollapse="collapse";
  
    var row = table1.insertRow(0);    // First ROW
    var celltxtBeneficiaryType = row.insertCell(0);
    celltxtBeneficiaryType.width = "40%";
    
    var celltxtBeneficiaryName = row.insertCell(1);
    celltxtBeneficiaryName.width = "15%";
    
    var celltxtBeneficiaryAddress = row.insertCell(2);
    celltxtBeneficiaryAddress.width = "25%";
    
    var celltxtBeneficiaryTelephone = row.insertCell(3);
    celltxtBeneficiaryTelephone.width = "10%";
    
    var celltxtBeneficiaryPercentage = row.insertCell(4);
    celltxtBeneficiaryPercentage.width = "10%";
    
    celltxtBeneficiaryType.innerHTML = BeneficiaryType;
    celltxtBeneficiaryName.innerHTML = BeneficiaryName;
    celltxtBeneficiaryAddress.innerHTML = BeneficiaryAddress;
    celltxtBeneficiaryTelephone.innerHTML = BeneficiaryTelephone;
    celltxtBeneficiaryPercentage.innerHTML = BeneficiaryPercentage;

    return table1;
}

function CheckHearAboutUs(selHearAboutUs, lblBrokerAndOther, txtBrokerName)
{
 selHearAboutUs = document.getElementById(selHearAboutUs);
 lblBrokerAndOther = document.getElementById(lblBrokerAndOther);
 txtBrokerName = document.getElementById(txtBrokerName);
 
    lblBrokerAndOther.style.visibility='hidden';
    txtBrokerName.style.visibility='hidden';
    txtBrokerName.value='';
    
 if (selHearAboutUs.value == 'Broker / Agent')
 {
    lblBrokerAndOther.style.visibility='visible';
    txtBrokerName.style.visibility='visible';
    txtBrokerName.focus();
 }
 if (selHearAboutUs.value == "Other")
 {
    lblBrokerAndOther.style.visibility='hidden';
    txtBrokerName.style.visibility='visible';
    txtBrokerName.focus();
 }
 
}