/**
* @author mariuszkopera
*/
var NumOfPersonsIndex = 0;
var NumOfPersons = 0;
var NumOfAdults = 0;
var NumOfChildren = 0;
var lTravellersChild = 0;
var lTravellersInfant = 0;
var returnErrMsg = '';
var NoProceedErrorMsg = '';
var isIE = document.all || document.createEventObject;
var lHide = 0;
var lHide2 = 0;
var timerlHide2;
var sGlobalErrMsg = '';
function getNumOfChildInfant(){
var oCurrDob = new Date();
oCurrDob.setFullYear(Number(oCurrDob.getFullYear()) - 2)
oCurrDob.setHours(0,0,0,0);
lTravellersChild = 0;
lTravellersInfant = 0;
for (var i = 0;i <= NumOfPersonsIndex;i++){
if ($('input_age_group_'+i)){
if ($('input_age_group_'+i).value == 'Child'){
if (checkDate('dob_'+i) == true){
var YearDob = $('year_dob_'+i).value;
var MonthDob = $('month_dob_'+i).value;
var DayDob = $('day_dob_'+i).value;
var oChDob = new Date(YearDob,Number(MonthDob) - 1,DayDob);
oChDob.setHours(0,0,0,0);
if (oChDob <= oCurrDob){
++lTravellersChild;
}else{
++lTravellersInfant;
}
}else{
++lTravellersChild;
}
}
}
}
$('travellers_child').value = lTravellersChild;
$('travellers_infant').value = lTravellersInfant;
}
function vipPersonOption(){
$('div_policy_type').style.display = 'none';
}
function setComboDate(dtName,year,month,day){
setSelectedFromList(year,'year_'+dtName);
setSelectedFromList(month,'month_'+dtName);
setSelectedFromList(day,'day_'+dtName);
if (dtName == 'end_date'){
updateHiddenEndDate();
}
}
function unableProceed(fPrice,bProceed, Message){
var bHideProceed = false;
// price
if (fPrice != "-1" && isNaN(fPrice ) == false){
$('price').innerHTML = fPrice;
$('insurance_price').value = fPrice;
}else{
$('price').innerHTML = "--.--";
$('insurance_price').value = "--.--";
bHideProceed = true;
}
//proceed process enable
if (bProceed == false || bHideProceed == true){
$('div_ProceedBtn').style.display ="none";
if (Message != ''){
var preMsg = $('no_proceed_msg').innerHTML;
if (preMsg.indexOf(Message) == -1) preMsg = preMsg + Message +'<br><br>';
$('no_proceed_msg').style.display ="block";
$('no_proceed_msg').innerHTML =  preMsg;
}
}else{
$('div_ProceedBtn').style.display ="block";
$('no_proceed_msg').style.display ="none";
$('no_proceed_msg').innerHTML =  '';
}
}
function updateHiddenEndDate(){
$('day_end_date_h').value = $('day_end_date').value;
$('month_end_date_h').value = $('month_end_date').value;
$('year_end_date_h').value = $('year_end_date').value;
}
function checkPersons(bAlert){
var sErrMsg='';
var sErrMsgPers='';
var tab = "\t";
var bPersonsOK = true;
var bPersOK = true;
for (var i = 1; i <= Number(NumOfPersonsIndex); i++){
var oPersonTitle = $('persontitle_'+i);
if (oPersonTitle != null){
sErrMsgPers ='Please correct the following fields for insured person '+i+': \n';
//title
if ($('persontitle_'+i).value.strip() == ''){
if (bAlert) sErrMsgPers = sErrMsgPers +tab+ "Please select Title, from Mr/Mrs/Ms/Miss. \n"
bPersOK = false
}
//firstname
if ($('firstname_'+i).value.strip() == ''){
if (bAlert) sErrMsgPers = sErrMsgPers +tab+ "Please enter first name. \n"
bPersOK = false
}
//surname
if ($('surname_'+i).value.strip() == ''){
if (bAlert) sErrMsgPers = sErrMsgPers +tab+ "Please enter surname. \n"
bPersOK = false
}
//dob
if (checkDate('dob_'+i,true) == false){
if (bAlert) sErrMsgPers = sErrMsgPers +tab+ "Please enter date of birth. \n"
bPersOK = false
}else{
if (validateDate('dob_'+i,false,i) == false){
if (bAlert) sErrMsgPers = sErrMsgPers + returnErrMsg;
bPersOK = false
}
}
//show alert if person has
if(bPersOK == false){
sErrMsg = sErrMsg +'\n'+sErrMsgPers
}
// set flag persons to false if some person has bad data
if(bPersonsOK) bPersonsOK = bPersOK;
}
}
if(bAlert && bPersonsOK == false){
//alert(sErrMsg);
sGlobalErrMsg = sGlobalErrMsg + sErrMsg;
}
return bPersonsOK;
}
function validateDate(dtName,bAlert,idxPerson){
var bDateOK = false;
returnErrMsg = '';
if (dtName.match("dob")){
dtNameType = 'dob';
} else{
dtNameType = dtName
}
var dd = ($('day_'+dtName) != null ? $('day_'+dtName).value:0);
var mm = ($('month_'+dtName) != null ? $('month_'+dtName).value:0);;
var yyyy = ($('year_'+dtName) != null ? $('year_'+dtName).value:0);;
--mm;
switch (dtNameType){
case 'start_date':
try{
if (checkDate(dtName,true) == true){
var dtCurrDate = new Date();
var dtNewStartDate = new Date();
dtNewStartDate.setHours(0,0,0,0);
var StartDate = new Date(yyyy,mm,dd);
StartDate.setHours(0,0,0,0);
if (Number(dtCurrDate.getUTCHours()) >= 15 ){
dtNewStartDate.setDate(Number(dtCurrDate.getDate()) + 2);
// stardDate < (curr date + 2 days)
if (StartDate < dtNewStartDate){
if (bAlert == true){
alert('We operate a 3pm (GMT) cut-off time on policies due to start on the next day. \n Please re-enter your start date accordingly, to start one day later.');
setComboDate(dtName,dtNewStartDate.getFullYear(),Number(dtNewStartDate.getMonth()) + 1,dtNewStartDate.getDate());
}
bDateOK = false;
}else{
bDateOK = true;
}
}else{
dtNewStartDate.setDate(Number(dtCurrDate.getDate()) + 1);
// stardDate < tommor
if (StartDate < dtNewStartDate){
if (bAlert == true){
alert('The earliest date the policy can start is from tomorrow.');
setComboDate(dtName,dtNewStartDate.getFullYear(),Number(dtNewStartDate.getMonth()) + 1,dtNewStartDate.getDate());
}
bDateOK = false;
}else{
bDateOK = true;
}
}
if ($('annual_policy_type').checked){
//ANNUAL  45 days ahead
var dateAhead = new Date();
dateAhead.setDate(Number(dateAhead.getDate()) + 45);
dateAhead.setHours(0,0,0,0);
returnErrMsg = "Annual Multi-Trip Policies must start within 45 days of purchase."
}else{
//SINGLE BACKPACKER  1 YEAR ahead
var dateAhead = new Date(Number(dtNewStartDate.getFullYear()) + 1,dtNewStartDate.getMonth(),dtNewStartDate.getDate())
dateAhead.setHours(0,0,0,0);
returnErrMsg = "Single / Backpacker Policies must start within 12 months of todays date."
}
if (StartDate > dateAhead){
if (bAlert == true){
alert(returnErrMsg);
setComboDate(dtName,dateAhead.getFullYear(),Number(dateAhead.getMonth()) + 1,dateAhead.getDate());
}
bDateOK = false;
}
}
//IF END DATE EMPTY FOR Annual Multi-Trip Policy SET start_date + 1 year - 1 day
if ($('annual_policy_type').checked && checkDate('end_date',false,0) == false ){
var NewEndDate = new Date(Number(yyyy) + 1,mm,Number(dd) - 1);
setComboDate("end_date",Number(NewEndDate.getFullYear()),Number(NewEndDate.getMonth()) + 1,NewEndDate.getDate());
updateHiddenEndDate();
}
//VALIDATE END DATE
if (checkDate('end_date',false) == true ) {
validateDate('end_date',true,0);
}
}catch(e){
bDateOK = false;
}
break;
case 'end_date':
try {
if (checkDate(dtName,true) == true){
if (checkDate('start_date',true) == true){
bDateOK = true;
var Stdd = ($('day_start_date') != null ? $('day_start_date').value:0);
var Stmm = ($('month_start_date') != null ? $('month_start_date').value:0);;
var Styyyy = ($('year_start_date') != null ? $('year_start_date').value:0);;
--Stmm;
var StartDate = new Date(Styyyy,Stmm,Stdd);
StartDate.setHours(0,0,0,0);
var EndDate = new Date(yyyy,mm,dd);
EndDate.setHours(0,0,0,0);
// end date > start date
if (StartDate > EndDate ){
if (bAlert){
alert('End date of policy must not be before start date.');
setSelectedFromList(StartDate.getDate(),'day_'+dtName);
setSelectedFromList(Number(StartDate.getMonth()) + 1,'month_'+dtName);
setSelectedFromList(StartDate.getFullYear(),'year_'+dtName);
updateHiddenEndDate();
}
bDateOK = false;
}
// DURATION
//if ($('annual1').checked == true){
if ($('annual_policy_type').checked == true){
var NewEndDate = new Date(Number(Styyyy) + 1,Stmm,Number(Stdd) - 1); //
NewEndDate.setHours(0,0,0,0);
returnErrMsg =  "\t The maximum duration for an Annual Multi-Trip Policy from date of purchase until expiration is one year. \n";
//}else if($('long_stay').checked == true){
}else if($('backpacker_policy_type').checked == true){
// BACKPACKER max duration end_date and  start_date  504 - 1 days
var NewEndDate = new Date(Styyyy,Stmm,Stdd);
NewEndDate.setHours(0,0,0,0);
NewEndDate.setDate(Number(StartDate.getDate()) + 503);
returnErrMsg =  "\t The maximum duration for a BACKPACKER POLICY from date of purchase until expiration is 504 days inclusive. \n";
}else{
// SINGLE max duration end_date and start_date  180 - 1 days
var NewEndDate = new Date(Styyyy,Stmm,Stdd);
NewEndDate.setHours(0,0,0,0);
NewEndDate.setDate(Number(StartDate.getDate()) + 179);
returnErrMsg =  "\t The maximum duration for a SINGLE POLICY from date of purchase until expiration is 180 days inclusive. \n";
}
//if ($('annual1').checked == true){
if ($('annual_policy_type').checked == true){
//if (EndDate.getDate() != NewEndDate.getDate() || EndDate.getMonth() != NewEndDate.getMonth() || EndDate.getFullYear() != NewEndDate.getFullYear() ){
if (EndDate > NewEndDate){
if(bAlert){
alert(returnErrMsg);
setSelectedFromList(NewEndDate.getDate(),'day_'+dtName);
setSelectedFromList(Number(NewEndDate.getMonth()) + 1,'month_'+dtName);
setSelectedFromList(NewEndDate.getFullYear(),'year_'+dtName);
updateHiddenEndDate();
}
bDateOK = false;
}else if (EndDate < NewEndDate){
setSelectedFromList(NewEndDate.getDate(),'day_'+dtName);
setSelectedFromList(Number(NewEndDate.getMonth()) + 1,'month_'+dtName);
setSelectedFromList(NewEndDate.getFullYear(),'year_'+dtName);
updateHiddenEndDate();
bDateOK = false;
}
}else{
if (EndDate > NewEndDate){
if(bAlert){
alert(returnErrMsg);
setSelectedFromList(NewEndDate.getDate(),'day_'+dtName);
setSelectedFromList(Number(NewEndDate.getMonth()) + 1,'month_'+dtName);
setSelectedFromList(NewEndDate.getFullYear(),'year_'+dtName);
updateHiddenEndDate();
}
bDateOK = false;
}
}
}
}
}catch(e){
bDateOK = false;
}
break;
case 'dob':
try{
if(checkDate(dtName,false) ==true){
bDateOK = true;
var dob_dd = ($('day_'+dtName) != null ? $('day_'+dtName).value:0);
var dob_mm = ($('month_'+dtName) != null ? $('month_'+dtName).value:0);
var dob_yyyy = ($('year_'+dtName) != null ? $('year_'+dtName).value:0);
--dob_mm;
var oDob = new Date(dob_yyyy,dob_mm,dob_dd);
oDob.setHours(0,0,0,0);
var oCurrDate  = new Date();
oCurrDate.setHours(0,0,0,0);
var curr_yyyy = Number(oCurrDate.getFullYear()) - 65;
var curr_mm = oCurrDate.getMonth();
var curr_dd = oCurrDate.getDate();
var oDateTmp = new Date(curr_yyyy,curr_mm,curr_dd);
oDateTmp.setHours(0,0,0,0);
if (oDob < oDateTmp){
if (bAlert) alert('Insured person must be younger than 65 years old.');
returnErrMsg =  returnErrMsg + "\t Insured person must be younger than 65 years old. \n";
bDateOK = false;
}
if (oDob > oCurrDate){
if (bAlert) alert('Date of birth must be before today’s date.');
returnErrMsg =  returnErrMsg + "\t Date of birth must be before today’s date. \n";
bDateOK = false;
}
if (idxPerson != 0){
var sAgeGroup = $('input_age_group_'+idxPerson).value;
//child
if (sAgeGroup == 'Child'){
var child_yyyy = Number(oCurrDate.getFullYear()) - 18;
var oChildDate = new Date(child_yyyy,curr_mm,curr_dd);
oChildDate.setHours(0,0,0,0);
if (oDob < oChildDate){
if (bAlert) alert('Insured child must be younger than 17 years old.');
returnErrMsg =  returnErrMsg + "\t Insured child must be younger than 17 years old. \n";
bDateOK = false;
}
}
//adult
if (sAgeGroup == 'Adult'){
var child_yyyy = Number(oCurrDate.getFullYear()) - 18;
var oAdultDate = new Date(child_yyyy,curr_mm,curr_dd);
oAdultDate.setHours(0,0,0,0);
if (oDob >= oAdultDate){
if (bAlert) alert('Insured adult must be older than 17 years old.');
returnErrMsg =  returnErrMsg + "\t Insured adult must be older than 17 years old. \n";
bDateOK = false;
}
}
}
}
}catch(e){
bDateOK = false;
}
}
return bDateOK;
}
function goProceed(){
var bGoSearch = true;
sGlobalErrMsg = '';
//HealthDeclaration
if ($('HealthDeclaration').checked == false){
//alert('Please confirm that you have read and understood the Health Declaration and Health Exclusions.');
sGlobalErrMsg = sGlobalErrMsg + "Please confirm that you have read and understood the Health Declaration and Health Exclusions. \n \n";
bGoSearch = false
}
//uk_persons
if ($('uk_persons').checked == false){
//alert('Please confirm that all of the insured people have resided in the UK for at least 6 months.');
sGlobalErrMsg = sGlobalErrMsg + "Please confirm that all of the insured people have resided in the UK for at least 6 months. \n \n";
bGoSearch = false
}
//all confirmation
if ($('all_conditions').checked == false){
//alert('To proceed please confirm that you have read and accept the terms of the policy by checking the appropriate box.');
sGlobalErrMsg = sGlobalErrMsg + "To proceed please confirm that you have read and accept the terms of the policy by checking the appropriate box. \n \n";
bGoSearch = false;
}
//price
var fPrice = $("insurance_price").value;
if (fPrice == "--,--" || isNaN(fPrice)){
//alert('There was a problem obtaining the price - please try again.');
sGlobalErrMsg = sGlobalErrMsg + "There was a problem obtaining the price - please try again. \n \n";
getInsurancePrice();
bGoSearch = false;
}
//start date
if (checkDate('start_date',true) == false){
//alert('Please enter start date correctly.');
sGlobalErrMsg = sGlobalErrMsg + "Please enter start date correctly. \n \n";
bGoSearch = false;
}
//start date validate
if (validateDate('start_date',true,0) == false) bGoSearch = false;
//end date
if (checkDate('end_date',true) == false){
//alert('Please enter end date correctly.');
sGlobalErrMsg = sGlobalErrMsg + "Please enter end date correctly. \n \n";
bGoSearch = false;
}
//end date validate
if (validateDate('end_date',true,0) == false) bGoSearch = false;
//validate insured persons
if (checkPersons(true) == false) bGoSearch = false;
//count childs and infants'
if (bGoSearch) getNumOfChildInfant();
//submit
if (bGoSearch) {
document.frmP.submit();
}else{
alert(sGlobalErrMsg);
}
}
function updateSummary(){
var DaySd = $('day_start_date');
var MonthSd = $('month_start_date');
var YearSd = $('year_start_date');
var DayEd = $('day_end_date');
var MonthEd = $('month_end_date');
var YearEd = $('year_end_date');
/* POLICY DATES */
if (checkDate('start_date') == true){
$('sum_StartDate').innerHTML ='From: '+DaySd.value+'/'+MonthSd.value+'/'+YearSd.value;
}else{
$('sum_StartDate').innerHTML ='From:..................';
}
if (checkDate('end_date')){
$('sum_EndDate').innerHTML =	'To:&nbsp;&nbsp;&nbsp;&nbsp;'+DayEd.value+'/'+MonthEd.value+'/'+YearEd.value;
}else{
$('sum_EndDate').innerHTML =  'To:....................';
}
/* POLICY TYPE */
//if ($('annual1').checked == true){
if ($('annual_policy_type').checked == true){
$('sum_PolicyType').innerHTML = 'ANNUAL MULTI TRIP';
}else if ($('backpacker_policy_type').checked == true){
$('sum_PolicyType').innerHTML = 'BACKPACKER';
}else{
$('sum_PolicyType').innerHTML = 'SINGLE TRIP';
}
/* POLICY FOR */
for (var i = 0; i < document.getElementsByName('policy').length;i++){
if (document.getElementsByName('policy')[i].checked == true){
if (document.getElementsByName('policy')[i].value == 'SingleParentFamily'){
$('sum_PolicyFor').innerHTML = 'Single Parent Family';
}else{
$('sum_PolicyFor').innerHTML = document.getElementsByName('policy')[i].value;
}
}
}
/* WINTER SPORTS */
for (var i = 0; i < document.getElementsByName('wintersports').length;i++){
if (document.getElementsByName('wintersports')[i].checked == true){
if (document.getElementsByName('wintersports')[i].value == "Yes"){
$('sum_WinterSports').innerHTML = "Includes Winter Sports";
}else{
$('sum_WinterSports').innerHTML = "Excludes Winter Sports";
}
}
}
/* POLICY COVER */
for (var i = 0; i < document.getElementsByName('cover').length;i++){
if (document.getElementsByName('cover')[i].checked == true){
$('sum_PolicyCover').innerHTML = document.getElementsByName('cover')[i].getAttribute('chLabel');
}
}
/* STANDARD LEVEL */
if ($('single_policy_type').checked == true || $('backpacker_policy_type').checked == true){
$('sum_StandartLevel').innerHTML = "";
$('sum_td_standard_level').style.borderTop= ''; //'1px solid #B7DEEF';
}else{
$('sum_td_standard_level').style.borderTop= '1px solid #B7DEEF';
for (var i = 0; i < document.getElementsByName('level').length;i++){
if (document.getElementsByName('level')[i].checked == true){
if (document.getElementsByName('level')[i].value == "GOLD"){
$('sum_StandartLevel').innerHTML = "Gold Cover";
}
if (document.getElementsByName('level')[i].value == "SILVER"){
$('sum_StandartLevel').innerHTML = "Silver Cover";
}
if (document.getElementsByName('level')[i].value == "FINE"){
$('sum_StandartLevel').innerHTML = "Standard Cover";
}
}
}
}
/* POLICY PRICE */
getInsurancePrice();
}
function deletePerson(lPersonNum,age_group){
var NumOfPersonsIndex = $('num_of_persons_index').value;
var oPersons = $('persons');
var node = oPersons.firstChild;
while (node.nodeName.toLowerCase() != 'tbody' && node != oPersons.lastChild){
node = node.nextSibling;
}
var tBody = node;
for (var i = 1; i <= NumOfPersonsIndex;i++){
if ($('tr_person_'+i) != null && i == lPersonNum ){
var trElemDel = $('tr_person_'+i);
tBody.removeChild(trElemDel);
}
}
/* PERSON COUNTING */
NumOfPersons = NumOfPersons - 1;
if (age_group=='Child'){
NumOfChildren = NumOfChildren - 1;
}else{
NumOfAdults = NumOfAdults - 1;
}
// update inputs
$('num_of_persons').value = NumOfPersons;
$('num_of_adults').value = NumOfAdults;
$('num_of_children').value = NumOfChildren;
/* POLICY PRICE */
getInsurancePrice();
}
function choosePT(idRadio){
var DaySd = $('day_start_date');
var MonthSd = $('month_start_date');
var YearSd = $('year_start_date');
var DayEd = $('day_end_date');
var MonthEd = $('month_end_date');
var YearEd = $('year_end_date');
if ($(idRadio).checked == true){
switch (idRadio){
case "single_policy_type":
// SINGLE POLICY END DATES
if (checkDate('start_date') == true){
if ($("insurance_search")){
var dtDT = new Date(YearSd.value,Number(MonthSd.value) - 1,Number(DaySd.value) + 6)
setComboDate('end_date',dtDT.getFullYear(),Number(dtDT.getMonth()) + 1,dtDT.getDate());
validateDate("end_date",false,0);
}else{
validateDate("end_date",true,0);
}
updateHiddenEndDate();
}else{
var oDate = new Date();
//next day cut off after today 3 pm
if (Number(oDate.getUTCHours() >= 15)){
oDate.setDate(Number(oDate.getDate()) + 2 );
}else{
oDate.setDate(Number(oDate.getDate()) + 1 );
}
setComboDate('start_date',oDate.getFullYear(),Number(oDate.getMonth()) + 1,oDate.getDate());
validateDate("end_date",true,0);
updateHiddenEndDate();
}
//UPGRADE LEVELS FOR SINGLE
if (!$('insurance_search')){
$('div_level').style.display = 'none';
checkRadioById('level_standard');
}
//POLICY COVER
$('div_eu').style.display = 'block';
$('div_wo').style.display = 'block';
// ENABLE END DATE
DayEd.disabled = false;
MonthEd.disabled = false;
YearEd.disabled = false;
break;
case "annual_policy_type":
// Annual Multi-Trip Policy DATES
if (checkDate('start_date') == true){
validateDate('start_date',true,0);
}else{
var oDate = new Date();
//next day cut off after today 3 pm
if (Number(oDate.getUTCHours() >= 15)){
oDate.setDate(Number(oDate.getDate()) + 2 );
}else{
oDate.setDate(Number(oDate.getDate()) + 1 );
}
setComboDate('start_date',oDate.getFullYear(),Number(oDate.getMonth()) + 1,oDate.getDate());
var NewEndDate = new Date(oDate.getFullYear() + 1,oDate.getMonth(),oDate.getDate() - 1);
setComboDate('end_date',Number(NewEndDate.getFullYear()),Number(NewEndDate.getMonth()) + 1,NewEndDate.getDate());
updateHiddenEndDate();
}
DayEd.disabled = true;
MonthEd.disabled = true;
YearEd.disabled = true;
//UPGRADE LEVELS FOR Annual Multi-Trip Policy
if (!$('insurance_search')){
$('div_level').style.display = 'block';
}
//POLICY COVER
$('div_eu').style.display = 'block';
$('div_wo').style.display = 'none';
if($('cover_world').checked)	checkRadioById('cover_worldusa');
break;
case "backpacker_policy_type":
//ENABLE END DATE
DayEd.disabled = false;
MonthEd.disabled = false;
YearEd.disabled = false;
//UPGRADE LEVELS FOR BACKPACKER
if (!$('insurance_search')){
$('div_level').style.display = 'none';
}
checkRadioById('level_standard');
//POLICY COVER
$('div_eu').style.display = 'none';
$('div_wo').style.display = 'block';
var c = $('cover_europe')
if( c.checked)	checkRadioById('cover_world');
break;
}
}
if (!$('insurance_search')){
updateSummary();
}
}
function checkDate(dtName,bAlert){
var bDateOK = false;
var dd = ($('day_'+dtName) != null ? $('day_'+dtName).value:0);
var mm = ($('month_'+dtName) != null ? $('month_'+dtName).value:0);;
var yyyy = ($('year_'+dtName) != null ? $('year_'+dtName).value:0);;
mm = --mm;
if (dd != 0 && mm >= 0 && yyyy != 0){
if ( mm < 0 || mm > 11 ){
if (bAlert == true){
alert('Invalid month value.  Valid months values are 1 to 12');
setSelectedFromList(1,'month_'+dtName)
$('month_'+dtName).focus();
}
}else{
// get last day in month
var d = (11 == mm) ? new Date(yyyy + 1, 0, 0) : new Date(yyyy, mm + 1, 0);
// if date out of range
if ( dd < 1 || dd > d.getDate() ) {
if (bAlert == true){
alert('Invalid day value. Valid days for this month are 1 to '+d.getDate());
setSelectedFromList(d.getDate(),'day_'+dtName);
$('day_'+dtName).focus();
updateHiddenEndDate();
}
}else{
try{
var dtDate = new Date(yyyy,mm,dd);
bDateOK = true;
}catch(e){
bDateOK = false;
}
}
}
}
return bDateOK;
}
function addPerson(lNumber,sAction,age_group,addDel){
var oPers = new Object();
var aTrElements = new Array();
var sHtmlCode = '';
oPers = $('persons');
var node = oPers.firstChild;
while (node.nodeName.toLowerCase() != 'tbody' && node != oPers.lastChild){
node = node.nextSibling;
}
if (node.nodeName.toLowerCase() != 'tbody'){
var tBody = document.createElement('tbody');
oPers.appendChild(tBody);
}else{
var tBody = node;
}
if (sAction == 'new'){
for (var i = 1; i <= NumOfPersonsIndex;i++){
if ($('tr_person_'+i) != null){
var trElemDel = $('tr_person_'+i);
tBody.removeChild(trElemDel);
}
}
NumOfPersonsIndex = 0;
NumOfPersons = 0;
NumOfAdults = 0;
NumOfChildren = 0;
}
if (NumOfPersonsIndex == 0){
for (var i= 0;i < tBody.childNodes.length;i++){
var tadf = tBody.childNodes[i].nodeName.toLowerCase();
if (tBody.childNodes[i].nodeName.toLowerCase() == 'tr')
NumOfPersonsIndex = NumOfPersonsIndex + 1;
}
}
for (var i = NumOfPersonsIndex + 1; i <= NumOfPersonsIndex + lNumber; i++){
var trElem = document.createElement('tr');
trElem.setAttribute('id', 'tr_person_'+i);
var tdElem = document.createElement('td');
tdElem.setAttribute('id', 'td_person_'+i);
sHtmlCode  ='<table border="0" cellpadding="0" cellspacing="0" width="100%">'+
'			<tr>'+
'               <td class="textBlackDefault" valign="bottom">'+(addDel == 'true'? '<input type="hidden" name="person_delete_'+i+' value="1" ><img src="'+appproxypath+'images/icons/ico_delete.gif" onclick="deletePerson(\''+i+'\',\''+age_group+'\')" alt="Delete">':'&nbsp;')+'</td>'+
'				<td class="textBlackDefault" valign="bottom" style="padding-left:5px;">Title</td>'+
'				<td class="textBlackDefault" valign="bottom" style="padding-left:5px;">First Name</td>'+
'				<td class="textBlackDefault" valign="bottom" style="padding-left:5px;">Surname</td>'+
'				<td class="textBlackDefault" valign="bottom" style="padding-left:5px;" align="center">Date of Birth</td>'+
'			</tr>'+
'			<tr>'+
'           	<td width="30px" style="padding-left:0px;padding-top:8px;" valign="bottom"><input type="hidden" id="input_age_group_'+i+'" name="input_age_group_'+i+'" value="'+age_group+'" ><span id="age_group_'+i+'" class="textBlackDefault">'+age_group+'</span>'+
'               </td>'+
'				<td style="padding-top:8px;">'+
'					<select name="persontitle_'+i+'" id="persontitle_'+i+'">'+
'						<option value=""></option>'+
'						<option value="Mr">Mr</option>'+
'						<option value="Ms">Ms</option>'+
'						<option value="Mrs">Mrs</option>'+
'						<option value="Mr">Miss</option>'+
'					</select>'+
'				</td>'+
'				<td style="padding-left:0px;padding-top:8px;"><input name="firstname_'+i+'" id="firstname_'+i+'" class="input"></td>'+
'				<td style="padding-left:0px;padding-top:8px;"><input name="surname_'+i+'" id="surname_'+i+'" class="input"></td>'+
'				<td style="padding-left:0px;padding-top:8px;">'+
'					<select style="width:45px;" name="day_dob_'+i+'" id="day_dob_'+i+'" onchange="checkDate(\'dob_'+i+'\',true);validateDate(\'dob_'+i+'\',true,'+i+');updateSummary();">'+
'					</select>&nbsp;'+
'					<select style="width:80px;" name="month_dob_'+i+'" id="month_dob_'+i+'" onchange="checkDate(\'dob_'+i+'\',true);validateDate(\'dob_'+i+'\',true,'+i+');updateSummary();">'+
'					</select>&nbsp;'+
'					<select style="width:55px;" name="year_dob_'+i+'" id="year_dob_'+i+'" onchange="checkDate(\'dob_'+i+'\',true);validateDate(\'dob_'+i+'\',true,'+i+');updateSummary();">'+
'					</select>'+
'				</td>'+
'			</tr>'+
'		</table>';
tdElem.innerHTML = sHtmlCode;
trElem.appendChild(tdElem);
aTrElements.push(trElem);
}
/*
* ADD NEW PERSONS TO LIST
*/
for (var k = 0;k < aTrElements.length;k++ ){
tBody.appendChild(aTrElements[k]);
}
/*
* RENEW CHECKBOXES AND GET DATES
*/
for (var k = NumOfPersonsIndex + 1;k <= NumOfPersonsIndex + lNumber;k++ ){
//initCheckboxById('med_cond_yes_'+k);
//initCheckboxById('med_cond_no_'+k);
getDaysList('day_dob_'+k);
getMonthsList('month_dob_'+k)
getYearsList('year_dob_'+k);
}
/*
* COUNT CHILDS AND ADULTS
*/
NumOfPersonsIndex = NumOfPersonsIndex+lNumber;
if (age_group=='Child'){
NumOfChildren = NumOfChildren + lNumber;
}else{
NumOfAdults = NumOfAdults + lNumber;
}
NumOfPersons = NumOfAdults + NumOfChildren;
// update inputs
$('num_of_persons_index').value = NumOfPersonsIndex;
$('num_of_persons').value = NumOfPersons;
$('num_of_adults').value = NumOfAdults;
$('num_of_children').value = NumOfChildren;
/*
* UPDATE SUMMARY
*/
setTimeout("updateSummary();",1);
}
function policyFor(idRadio,sFor){
if ($(idRadio).checked == true){
switch (sFor){
case "Individual":
addPerson(1,'new','Adult');
$('add_person').style.display = "none";
break;
case "Couple":
addPerson(2,'new','Adult');
$('add_person').style.display = "none";
break;
case "Family":
addPerson(2,'new','Adult');
addPerson(1,'add','Child');
$('add_person').style.display = "block";
break;
case "Child":
addPerson(1,'new','Child');
$('add_person').style.display = "none";
break;
case "SingleParentFamily":
addPerson(1,'new','Adult');
addPerson(1,'add','Child');
$('add_person').style.display = "block";
break;
}
}
updateSummary();
}
function getDaysList(idSelectName){
var oList = $(idSelectName);
var opt = document.createElement('option')
opt.setAttribute('value', 0);
opt.innerHTML = 'Day';
oList.appendChild(opt);
for (var i = 1; i < 32;i++){
opt = document.createElement('option')
opt.setAttribute('value', i);
opt.innerHTML = i;
oList.appendChild(opt);
}
}
function getYearsList(idSelectName){
var oList = $(idSelectName);
var opt = document.createElement('option')
var oDate = new Date();
opt.setAttribute('value', 0);
opt.innerHTML = 'Year';
oList.appendChild(opt);
var year  = oDate.getFullYear();
for (var i = year - 65; i <= year ;i++){
opt = document.createElement('option')
opt.setAttribute('value', i);
opt.innerHTML = i;
oList.appendChild(opt);
}
}
function getMonthsList(idSelectName){
var aMonths = new Array('Month','January','February','March','April','May','June','July','August','September','October','November','December');
var oList = $(idSelectName);
var opt = document.createElement('option')
for (var i = 0; i < aMonths.length ;i++){
var	opt = document.createElement('option')
opt.setAttribute('value', i);
opt.innerHTML = aMonths[i];
oList.appendChild(opt);
}
}
function getInsurancePrice(){
var bProceed = true;
$('no_proceed_msg').innerHTML =  '';
if (checkDate('start_date') == false  ){
bProceed = false;
unableProceed('-1',false,'Please enter a Start Date.');
}
if (checkDate('end_date') == false){
bProceed = false;
unableProceed('-1',false,'Please enter a End Date.');
}
if (bProceed == true){
var YearSd  = 	$('year_start_date').value;
var MonthSd =	$('month_start_date').value;
var DaySd	=	$('day_start_date').value;
var YearEd  = 	$('year_end_date').value;
var MonthEd	=	$('month_end_date').value;
var DayEd	=	$('day_end_date').value;
if (validateDate("start_date",false,0) == false){
unableProceed('-1',false,'Start date is not correct and you can not proceed.');
return false;
}else{
if (validateDate("end_date",false,0) == false){
unableProceed('-1',false,'End date is not correct and you can not proceed.');
return false;
}else{
var sStartDate = YearSd+'-'+MonthSd+'-'+DaySd;
var sEndDate   = YearEd+'-'+MonthEd+'-'+DayEd;
var lTravellersAdult = NumOfAdults;
//count childs and infants'
getNumOfChildInfant();
var sToLocation = '';
for (var i = 0; i < document.getElementsByName('cover').length;i++){
if (document.getElementsByName('cover')[i].checked == true){
sToLocation = document.getElementsByName('cover')[i].value;
}
}
var sWinterSports = '';
for (var i = 0; i < document.getElementsByName('wintersports').length;i++){
if (document.getElementsByName('wintersports')[i].checked == true){
sWinterSports = document.getElementsByName('wintersports')[i].value;
}
}
var sPolicyType = '';
if ($('annual_policy_type').checked == true){
sPolicyType = 'ANNUAL';
}else if ($('backpacker_policy_type').checked == true){
sPolicyType = 'BACKPACKER';
}else{
sPolicyType = 'SINGLE';
}
// remaping ANNUAL cover
if (sPolicyType == "ANNUAL" && sToLocation == "US") {sToLocation="WO";}
var sStandardLevel ='';
for (var i = 0; i < document.getElementsByName('level').length;i++){
if (document.getElementsByName('level')[i].checked == true){
sStandardLevel = document.getElementsByName('level')[i].value;
}
}
var sVipPerson = $('vip_person').value;
var url = 'wayninsurance.html?wci=purchase&wce=enter&submittype=price'+
'&s_dt=' + sStartDate +
'&e_dt=' + sEndDate +
'&t_a='  + lTravellersAdult +
'&t_i='  + lTravellersInfant +
'&t_c='  + lTravellersChild +
'&t_l='  + sToLocation +
'&w_s='  + sWinterSports +
'&p_t='  + sPolicyType +
'&s_l='  + sStandardLevel +
'&v_p='  + sVipPerson
;
new Ajax.Request( url,  {
onSuccess : function(resp) {
if(resp.responseText == "-1"){
//alert("Sorry there was an error processing your request.\nPlease try again later");
unableProceed('-1',false,'There was a problem obtaining the price - please try again.');
}else{
unableProceed(resp.responseText,true,'');
}
},
onFailure : function() {
//alert("Sorry there was an error processing your request.\nPlease try again later");
return false;
},
method : 'get'
});
}
}
}
}
function setSelectedFromList(sValueFromList,idList){
var oList = $(idList);
try {
if (oList != null){
var len = oList.options.length;
var bSelected = false;
for(var i = 0;i < len;i++){
if (oList.options[i].getAttribute('value') == sValueFromList){
oList.options[i].selected = true;
bSelected = true;
}
}
if (bSelected == false){
oList.options[0].selected = true;
}
}
}catch(e){}
}
/*======================================
* INSURANCE SEARCH SUBMIT
* =====================================
*/
function insuranceSearch( caller ){
if ( caller != null ) {
document.tmpInsurance.action = '/wayninsurance.html?wci=purchase&contentpage='+caller;
} else {
document.tmpInsurance.action = '/wayninsurance.html?wci=purchase';
}
WAYN.Popup.showLoader();
document.tmpInsurance.submit();
}
function checkRadioById(id) {
var radio = $(id);
if ( radio != null ) {
radio.checked = true;
WAYN.lightForm.recompose(radio, radio.dummy);
}
}
