﻿// JScript File
var ccErrorNo = 0;
var ccErrors = new Array ()

ccErrors [0] = "Unknown card type or card type does not correspond to card number entered.";
ccErrors [1] = "No card number provided";
ccErrors [2] = "Please supply a valid Credit Card Number.";
ccErrors [3] = "Unknown card type or card type does not correspond to card number entered.";
ccErrors [4] = "Unknown card type or card type does not correspond to card number entered.";

function paymentCreditCard()
{    
        var objNameOnCard = document.getElementById("txtNameOnCard");
        var objCardType = document.getElementById(FindControlName("select", "optCardType"));
        var objIssueNumber = document.getElementById("txtIssueNumber");
        var objIssueMonth = document.getElementById("optIssueMonth");
        var objIssueYear = document.getElementById("optIssueYear");
        var objCardNumber = document.getElementById("txtCardNumber");
        var objExpiredMonth = document.getElementById("optExpiredMonth");
        var objExpiredYear = document.getElementById("optExpiredYear");
        var objCvv = document.getElementById("txtCvv");
        var objAddress1 = document.getElementById("txtAddress1");
        var objAddress2 = document.getElementById("txtAddress2");
        var objCity = document.getElementById("txtCity");
        var objCounty = document.getElementById("txtCounty");
        var objPostCode = document.getElementById("txtPostCode");
        var objCountry = document.getElementById(FindControlName("select", "optCountry"));
        
        var objPaymentValue = objCardType.options[objCardType.selectedIndex].value;
        
        var expMonth = objExpiredMonth.options[objExpiredMonth.selectedIndex].value;
        var expYear = objExpiredYear.options[objExpiredYear.selectedIndex].value;
        var bSuccess=1;
        var errorMessage="<br/>";
        
        document.getElementById("spnError").innerHTML = "";
        
        if(expMonth.length == 1)
        {expMonth = '0' + expMonth;}
        
        if (objNameOnCard.value.toString().length==0)
        {
            errorMessage = errorMessage + "- Please supply a valid Name On Card.<br/>";
            bSuccess=0;
        }
        if (checkCreditCard(objCardNumber.value,objPaymentValue.split("{}")[0], true) == false)
        {
            document.getElementById("dvInvalidCCMsg").style.display = "block";
            bSuccess=0;
        }
        if (parseInt(expYear + expMonth) <= parseInt(today.getFullYear().toString() + leadingZero(today.getMonth()).toString()))
        {
            if(objPaymentValue.split("{}")[5] = 1)
            {
                errorMessage = errorMessage + "- Invalid Expired Date.<br/>";
                bSuccess=0;
            }
        }
        
        if(objPaymentValue.split("{}")[2] == 1 && objCvv.value.toString().length == 0)
        {
            errorMessage = errorMessage + "- Invalid CCV code.<br/>";
            bSuccess=0;
        }
        if(objPaymentValue.split("{}")[6] == 1)
        {
            if(objAddress1.value.toString().length==0)
            {
                errorMessage = errorMessage + "- Please supply a valid Address 1.<br/>";
                bSuccess=0;
            }
            if(objCity.value.toString().length==0)
            {
                errorMessage = errorMessage + "- Please supply a valid Town/City.<br/>";
                bSuccess=0;
            }
            if(objPostCode.value.toString().length==0)
            {
                errorMessage = errorMessage + "- Please supply a valid Postal Code.<br/>";
                bSuccess=0;
            }
        }
        
        if (bSuccess == 1)
        {
            var objCondition = document.getElementById("chkPayCreditCard");
            
            if(objCondition.checked == true)
            {
                ShowLoadBar();
                var xmlStr = "<payment>";
                
                xmlStr  +="<form_of_payment_subtype_rcd>"+ objPaymentValue.split("{}")[0] +"</form_of_payment_subtype_rcd>";
                xmlStr  +="<form_of_payment_rcd>"+objPaymentValue.split("{}")[1]+"</form_of_payment_rcd>";
                xmlStr  +="<cvv_required_flag>"+objPaymentValue.split("{}")[2]+"</cvv_required_flag>";
                xmlStr  +="<display_cvv_flag>"+objPaymentValue.split("{}")[3]+"</display_cvv_flag>";
                xmlStr  +="<display_expiry_date_flag>"+objPaymentValue.split("{}")[4]+"</display_expiry_date_flag>";
                xmlStr  +="<expiry_date_required_flag>"+objPaymentValue.split("{}")[5]+"</expiry_date_required_flag>";
                xmlStr  +="<address_required_flag>"+objPaymentValue.split("{}")[6]+"</address_required_flag>";
                xmlStr  +="<display_address_flag>"+objPaymentValue.split("{}")[7]+"</display_address_flag>";
                xmlStr  +="<display_issue_date_flag>"+objPaymentValue.split("{}")[8]+"</display_issue_date_flag>";
                xmlStr  +="<display_issue_number_flag>"+objPaymentValue.split("{}")[9]+"</display_issue_number_flag>";
                
                xmlStr  +="<NameOnCard>"+objNameOnCard.value+"</NameOnCard>";
                xmlStr  +="<CreditCardNumber>"+objCardNumber.value+"</CreditCardNumber>";
                xmlStr  +="<CCDisplayName>"+objCardType.options[objCardType.selectedIndex].Text+"</CCDisplayName>";
                
                xmlStr  +="<IssueMonth>"+objIssueMonth.options[objIssueMonth.selectedIndex].value+"</IssueMonth>";
                xmlStr  +="<IssueYear>"+objIssueYear.options[objIssueYear.selectedIndex].value+"</IssueYear>";
                xmlStr  +="<IssueNumber>"+objIssueNumber.value+"</IssueNumber>";
                
                xmlStr  +="<ExpiryMonth>"+objExpiredMonth.options[objExpiredMonth.selectedIndex].value+"</ExpiryMonth>";
                xmlStr  +="<ExpiryYear>"+objExpiredYear.options[objExpiredYear.selectedIndex].value+"</ExpiryYear>";

                xmlStr  +="<Addr1>"+objAddress2.value+"</Addr1>";
                xmlStr  +="<Addr2></Addr2>";
                xmlStr  +="<Street>"+objAddress1.value+"</Street>";
                xmlStr  +="<State>"+objCounty.value+"</State>";        
                xmlStr  +="<City>"+objCity.value+"</City>";
                xmlStr  +="<County>"+objCounty.value+"</County>";
                xmlStr  +="<ZipCode>"+objPostCode.value+"</ZipCode>";
                xmlStr  +="<Country>"+objCountry.options[objCountry.selectedIndex].value+"</Country>";
                xmlStr  +="<CVV>"+objCvv.value+"</CVV>";
                xmlStr  +="<fee_amount_incl>"+objPaymentValue.split("{}")[10]+"</fee_amount_incl>";
                xmlStr  +="<fee_amount>"+objPaymentValue.split("{}")[11]+"</fee_amount>";
                xmlStr  +="</payment>";
                
                tikAeroB2C.WebService.B2cService.PaymentCreditCard(xmlStr, SuccessPaymentCreditCard, showErrorPayment, showTimeOutPayment);
            }
            else
            {
                ShowMessageBox("Please accept Terms and Conditions !", 0,'');
            }
            
            objCondition = null;
        }
        else
        {document.getElementById("spnError").innerHTML = errorMessage;}
}

function SuccessPaymentCreditCard(result)
{
    var obj;
    if(result.split("{}").length ==1)
    {
        if(document.getElementById("dvPointTotal") != null)
        {
            //If FFP Logon Reload point.
            var strClientProfileId = getCookie("coFFP");
            if(strClientProfileId != null)
            {
                LoadClientInformation(strClientProfileId);
            }
        }
        //Show Itinerary
        obj = document.getElementById("dvContainer");
        obj.innerHTML = result;
    }
    else
    {
        obj = document.getElementById("spnError");
        obj.innerHTML = result.split("{}")[1] 
    }
    
    obj = null;
    ShowLoadBar();
}

function activateCreditCardControl()
{
    var objCardType = document.getElementById(FindControlName("select", "optCardType"));
    var objPaymentValue = objCardType.options[objCardType.selectedIndex].value;
    var objExpiredYear = document.getElementById("optExpiredYear");
    
    EmptyErrorMessage();
    if(objPaymentValue.split("{}")[3] == "1")
    {document.getElementById('dvCvv').style.display='block';}
    else
    {document.getElementById('dvCvv').style.display='none';}
    
    if(objPaymentValue.split("{}")[4] == "1")
    {document.getElementById('dvExpiryDate').style.display='block';}
    else
    {document.getElementById('dvExpiryDate').style.display='none';}
    
    if(objPaymentValue.split("{}")[7] == "1")
    {document.getElementById('dvAddress').style.display='block';}
    else
    {document.getElementById('dvAddress').style.display='none';}
    
    if(objPaymentValue.split("{}")[8] == "1")
    {document.getElementById('dvIssuDate').style.display='block';}
    else
    {document.getElementById('dvIssuDate').style.display='none';}
    
    if(objPaymentValue.split("{}")[9] == "1")
    {document.getElementById('dvIssueNumber').style.display='block';}
    else
    {document.getElementById('dvIssueNumber').style.display='none';}
    
    //Hide Credit Card Fare
    ShowCreditCardFare(false, objPaymentValue);
    
    //Set Expiry Year
    if(objExpiredYear.options.length == 0)
    {
        var y = today.getFullYear();
        var m = today.getMonth() + 1;
        
        //Set Month
        SetComboValue("optExpiredMonth", m); 
        
        //Set Year
        var objOption;
        for(var i = 0; i < 20; i++)
        {
            objOption = new Option(y + i,y + i);
            objExpiredYear.options.add(objOption);
        }
    }
    
    objExpiredYear = null;
    objCardType = null;
    objPaymentValue = null;
}
function LoadMyName()
{
    var objMyname = document.getElementById("chkMyname");
    if(objMyname.checked == true)
    {
        tikAeroB2C.WebService.B2cService.GetMyName(SuccessLoadName, showError, showTimeOut);
    }
    else
    {
        //If check bok not checked clear card holder information.
        SetMyName("")
    }
    objMyname =  null;
}

function SuccessLoadName(result)
{
    SetMyName(result)
}
function SetMyName(arg)
{
    var objNameOnCard = document.getElementById("txtNameOnCard");
    var objAddress1 = document.getElementById("txtAddress1");
    var objAddress2 = document.getElementById("txtAddress2");
    var objCity = document.getElementById("txtCity");
    var objCounty = document.getElementById("txtCounty");
    var objPostCode = document.getElementById("txtPostCode");
    var objCountry = document.getElementById(FindControlName("select", "optCountry"));
    
    if(arg.length > 0)
    {
        objNameOnCard.value = arg.split("{}")[0] + " " + arg.split("{}")[1];
        objAddress1.value = arg.split("{}")[2];
        objAddress2.value = arg.split("{}")[3];
        objCounty.value = arg.split("{}")[5];
        objCity.value = arg.split("{}")[6];
        objPostCode.value = arg.split("{}")[9];
        
        for(icount=0;icount<objCountry.length;icount++)
        {
            if(objCountry.options[icount].value == arg.split("{}")[8])
            {
                objCountry.selectedIndex = icount;
                break;
            }
        }
    }
    else
    {
        objNameOnCard.value = "";
        objAddress1.value = "";
        objAddress2.value = "";
        objCity.value = "";
        objPostCode.value = "";
        objCounty.value = "";
    }
    
    objNameOnCard = null;
    objAddress1 = null;
    objAddress2 = null;
    objCity = null;
    objCounty = null;
    objPostCode = null;
    objCountry = null;   
}
function payment(arg,ctx)
{
    //StartAsync(arg,ctx);
}
function validateCC()
{
    var objCardType = document.getElementById(FindControlName("select", "optCardType"));
    var objPaymentValue = objCardType.options[objCardType.selectedIndex].value;
    var objCardNumber = document.getElementById("txtCardNumber");
    
    
    if(objCardNumber.value.length >= 6)
    {
        checkCreditCard(objCardNumber.value, objPaymentValue.split("{}")[0], false);
    }
     else if(objCardNumber.value.length < 6)
    {
        ShowCreditCardFare(false, objPaymentValue);
        document.getElementById("dvCCChargeMessage").style.display = "none";
        document.getElementById("dvInvalidCCMsg").style.display = "none";
        document.getElementById("spnError").innerHTML = "";
    }
    objCardType = null;
    objPaymentValue = null;
    objCardNumber = null;
    
}

function checkCreditCard (cardnumber, cardname, bCheckLength) 
{                  
  // Establish card type
  var cardType = -1;
 
  // Ensure that the user has provided a credit card number
  if (cardnumber.length == 0)  {
     ccErrorNo = 1;
     return false; 
  }
    
  // Now remove any spaces from the credit card number
  cardnumber = cardnumber.replace (/\s/g, "");
 
  // Check that the number is numeric
  var cardNo = cardnumber
  var cardexp = /^[0-9]{6,19}$/;
  if (!cardexp.exec(cardNo))  {
     ccErrorNo = 2;
     return false; 
  }
  
   // The following are the card-specific checks we undertake.
  var PrefixValid = false; 

  // We use these for holding the valid lengths and prefixes of a card type
  var prefix = new Array ();
  var lengths = new Array ();
  var strCardRange = new Array();
  var strCardNo;
  var strCardType = "";

  for (var i=0; i<cards.length; i++) 
  {
      // Load an array with the valid prefixes for this card
      prefix = cards[i].prefixes.split(",");    
      // Now see if any of them match what we have in the card number
  
      for (j=0; j<prefix.length; j++) 
      {
        strCardRange = prefix[j].split("-");
        if(strCardRange.length == 1)
        {
           strCardNo = cardNo.substring(0,strCardRange[0].length);
           if(strCardNo == strCardRange[0])
           {
            strCardType = cards[i].name.toLowerCase();
            cardType = i;
            SetComboCCValue(FindControlName("select", "optCardType"), strCardType);
            activateCreditCardControl();
            
            ShowCCFee(true);
            break;  
           }
        }
        else
        {
            strCardNo = cardNo.substring(0,strCardRange[0].length);
            if(strCardNo >= strCardRange[0] && strCardNo <= strCardRange[1])
            {
                strCardType = strCardType = cards[i].name.toLowerCase();
                cardType = i;
                SetComboCCValue(FindControlName("select", "optCardType"), strCardType);
                activateCreditCardControl();
                
                ShowCCFee(true);
                break; 
            }
        }
      }
      if(strCardType.length > 0)
      {
        break;
      }
  }
  
  if (cardname.toLowerCase () == strCardType)
  {
    PrefixValid = true;
  }
  
  
  // If it isn't a valid prefix there's no point at looking at the length
  if (!PrefixValid) {
     ccErrorNo = 3;
     return false; 
  } 
  
  if(bCheckLength == true)
  {
      // If card type not found, report an error
      if (cardType == -1) {
         ccErrorNo = 0;
         return false; 
      }
      // Now check the modulus 10 check digit - if required
      if (cards[cardType].checkdigit) {
        var checksum = 0;                                  // running checksum total
        var mychar = "";                                   // next char to process
        var j = 1;                                         // takes value of 1 or 2
      
        // Process each digit one by one starting at the right
        var calc;
        for (i = cardNo.length - 1; i >= 0; i--) {
        
          // Extract the next digit and multiply by 1 or 2 on alternative digits.
          calc = Number(cardNo.charAt(i)) * j;
        
          // If the result is in two digits add 1 to the checksum total
          if (calc > 9) {
            checksum = checksum + 1;
            calc = calc - 10;
          }
        
          // Add the units element to the checksum total
          checksum = checksum + calc;
        
          // Switch the value of j
          if (j ==1) {j = 2} else {j = 1};
        } 
        // All done - if checksum is divisible by 10, it is a valid modulus 10.
        // If not, report an error.
        if (checksum % 10 != 0)  {
         ccErrorNo = 3;
         return false; 
        }
      }
      // See if the length is valid for this card
      var LengthValid = false;
      lengths = cards[cardType].length.split(",");
      for (j=0; j<lengths.length; j++) {
        if (cardNo.length == lengths[j]) LengthValid = true;
      }
      
      // See if all is OK by seeing if the length was valid. We only check the 
      // length if all else was hunky dory.
      if (!LengthValid) {
         ccErrorNo = 4;
         return false; 
      };   
  }  
  // The credit card is in the required format.
  return true;
}
function EmptyErrorMessage()
{
    document.getElementById("spnError").innerHTML = "";
    document.getElementById("spnVoucherError").innerHTML = "";
}

function validateVoucher(voucherNumber, password)
{
    var objVoucherError = document.getElementById("spnVoucherError");
    var errorMessage = "";
    
    if(voucherNumber.length == 0 || password.length == 0)
    {
       if(voucherNumber.length == 0)
       {
        errorMessage = errorMessage + "- Please supply a valid Voucher Number.<br/>";
       }
       if(password.length == 0)
       {
        errorMessage = errorMessage + "- Please supply a valid Password.<br/>";
       }
        objVoucherError.innerHTML = errorMessage;
    }
    else
    {
        objVoucherError.innerHTML = "";
        ShowProgressBar(true);
        tikAeroB2C.WebService.B2cService.ValidateVoucher(voucherNumber, password, successValidateVoucher, showError, showTimeOut);   
    }
    
}
function successValidateVoucher(result)
{
    var objVoucher = document.getElementById("dvVoucherDetail");
    var objVoucherError = document.getElementById("spnVoucherError");
    var objDvPayVoucher = document.getElementById("dvPayVoucher");
    
    if(result.length == 0)
    {
        objVoucherError.innerHTML = "- Voucher not found or wrong password!";
    }
    else if(result == "DUP")
    {
        objVoucherError.innerHTML = "- This voucher already exist!";
    }
    else
    {
        objVoucher.innerHTML = result;
        objDvPayVoucher.style.display = "block";
    }
    
    objDvPayVoucher = null;
    objVoucherError = null;
    objVoucher = null;
    
    ShowProgressBar(false);
}

function paymentVoucher()
{
    var objVoucher = document.getElementsByName("nVoucher");
    var objVoucherError = document.getElementById("spnVoucherError");
    var strValue = "";
    var strVoucherId = "";
    var strVoucherNumber = "";
    var strFormOfPayment = "";
    var strPaymentSubType = "";
    
    if(objVoucher != null)
    {
        for(var iCount=0;iCount<objVoucher.length;iCount++)
        {
            if(objVoucher[iCount].checked == true)
            {
                strValue = objVoucher[iCount].value;
                break;
            }
        }
        if(strValue.length > 0)
        {
            var objCondition = document.getElementById("chkPayVoucher");
            if(objCondition.checked == true)
            {
                ShowLoadBar();
            
                strVoucherId = strValue.split("|")[0];
                strVoucherNumber = strValue.split("|")[1];
                strFormOfPayment = strValue.split("|")[2];
                strPaymentSubType = strValue.split("|")[3];
                
                //Process payment voucher.
                tikAeroB2C.WebService.B2cService.PaymentVoucher(strVoucherId, strVoucherNumber, strFormOfPayment, strPaymentSubType, SuccessPaymentVoucher, showError, showTimeOut);
            }
            else
            {
                ShowMessageBox("Please accept Terms and Conditions !", 0,'');
            }
            objCondition = null;
        }
        else
        {
            objVoucherError.innerHTML = "- Please select voucher.";
        }
        
    }
    objVoucherError = null;
    objVoucher = null;
}
function SuccessPaymentVoucher(result)
{
    var obj;
    if(result.length > 0)
    {
        if(result.split("{}").length ==1)
        {
            obj = document.getElementById("dvContainer");
            obj.innerHTML = result;    
        }
        else
        {
            obj = document.getElementById("spnVoucherError");
            obj.innerHTML = result.split("{}")[1] 
        }
    }
    obj = null;
    ShowLoadBar();
}

function showhidelayer(id)
{
    var objCreditCardValue = document.getElementById("dvCreditCardValue");
    var objCreditCardFare = document.getElementById("dvCreditCardFare");
    var objFareTotal = document.getElementById("dvFareTotal");
    
    clearPaymentTabClickColor();
    EmptyErrorMessage();
    
    //Clear Credit fee informtion
    if(id != 'CreditCard')
    {
        objFareTotal.innerHTML = (parseFloat(0 + objFareTotal.innerHTML) - parseFloat(0 + objCreditCardValue.innerHTML)).toFixed(2);
        objCreditCardFare.style.display = "none";
        objCreditCardValue.innerHTML = "";
        //Clear CC Input
        ClearPaymentInput();
    }
    
    objCreditCardValue = null;
    objCreditCardFare = null;
    objFareTotal = null;
    
    if (id == 'CreditCard') 
    {
        if (document.getElementById('dvcTCreditCard') != null)
        {
            document.getElementById('dvcLCreditCard').className = "TabConererLeft";
            document.getElementById('dvcTCreditCard').className = "TabConererContent";
            document.getElementById('dvcRCreditCard').className = "TabConererRight";
            
            document.getElementById('CreditCard').style.display='block';
            document.getElementById('Voucher').style.display='none';
            document.getElementById('BookNow').style.display='none';
        }
        //Clear CC Input
        ClearPaymentInput();
    }
    else if (id == 'Voucher')  
    {
        if (document.getElementById('dvcTVoucher') != null)
        {
            document.getElementById('dvcLVoucher').className = "TabConererLeft";
            document.getElementById('dvcTVoucher').className = "TabConererContent";
            document.getElementById('dvcRVoucher').className = "TabConererRight";
            
            document.getElementById('CreditCard').style.display='none';
            document.getElementById('Voucher').style.display='block';
            document.getElementById('BookNow').style.display='none';
        }
    }
    else if (id == 'BookNow')
    {
        if (document.getElementById('dvcTLater') != null)
        {
            document.getElementById('dvcLLater').className = "TabConererLeft";
            document.getElementById('dvcTLater').className = "TabConererContent";
            document.getElementById('dvcRLater').className = "TabConererRight";
            
            document.getElementById('CreditCard').style.display='none';
            document.getElementById('Voucher').style.display='none';
            document.getElementById('BookNow').style.display='block';
        }
    }
 }
 function clearPaymentTabClickColor()
{
    var objLCreditCard = document.getElementById('dvcLCreditCard');
    var objTCreditCard = document.getElementById('dvcTCreditCard');
    var objRCreditCard = document.getElementById('dvcRCreditCard');
    
    var objLVoucher = document.getElementById('dvcLVoucher');
    var objTVoucher = document.getElementById('dvcTVoucher');
    var objRVoucher = document.getElementById('dvcRVoucher');
    
    var objLLater = document.getElementById('dvcLLater');
    var objTLater = document.getElementById('dvcTLater');
    var objRLater = document.getElementById('dvcRLater');
    
    if(objLCreditCard!= null)
    {
        objLCreditCard.className = "TabActiveConererLeft";
        objTCreditCard.className = "TabActiveConererContent";
        objRCreditCard.className = "TabActiveConererRight";
    }
    
    if(objLVoucher!=null)
    {
        objLVoucher.className = "TabActiveConererLeft";
        objTVoucher.className = "TabActiveConererContent";
        objRVoucher.className = "TabActiveConererRight";
    }
    
    if(objLLater!=null)
    {
        objLLater.className = "TabActiveConererLeft";
        objTLater.className = "TabActiveConererContent";
        objRLater.className = "TabActiveConererRight";    
    }
    objLCreditCard = null;
    objTCreditCard = null;
    objRCreditCard = null;
    
    objLVoucher = null;
    objTVoucher = null;
    objRVoucher = null;
    
    objLLater = null;
    objTLater = null;
    objRLater = null;

}
function EmptyErrorMessage()
{
    document.getElementById("spnError").innerHTML = "";
    document.getElementById("spnVoucherError").innerHTML = "";
}
function SaveBookedNowPayLater()
{
    var objCondition = document.getElementById("chkPayPostPaid");
    if(objCondition.checked == true)
    {
        ShowLoadBar();
        tikAeroB2C.WebService.B2cService.bookNowPaylater(false, SuccessSaveBookedNowPayLater, showErrorPayment, showTimeOutPayment);
    }
    else
    {
        ShowMessageBox("Please accept Terms and Conditions !", 0,'');
    }
    objCondition = null;
}
function SuccessSaveBookedNowPayLater(result)
{
    var obj = document.getElementById("dvContainer");
    obj.innerHTML = result;
    obj = null;
    ShowLoadBar();
}
function ShowCreditCardFare(bValue, objPaymentValue)
{
    var objFareTotal = document.getElementById("dvFareTotal");
    var objCreditCardValue = document.getElementById("dvCreditCardValue");
    var objCreditCardFare = document.getElementById("dvCreditCardFare");
    
    if(bValue == true)
    {
        objFareTotal.innerHTML = ((parseFloat(0 + objFareTotal.innerHTML) - parseFloat(0 + objCreditCardValue.innerHTML)) + parseFloat(0 + objPaymentValue.split("{}")[10])).toFixed(2);
        objCreditCardFare.style.display = "block";
        objCreditCardValue.innerHTML = objPaymentValue.split("{}")[10];
        document.getElementById("dvCCChargeMessage").innerHTML = "Your credit card will be debited card charges of £" + objCreditCardValue.innerHTML;
    }
    else
    {
        objFareTotal.innerHTML = (parseFloat(0 + objFareTotal.innerHTML) - parseFloat(0 + objCreditCardValue.innerHTML)).toFixed(2);
        objCreditCardFare.style.display = "none";
        objCreditCardValue.innerHTML = "";
        document.getElementById("dvCCChargeMessage").innerHTML = "";
    }
    
    objFareTotal = null;
    objCreditCardValue = null;
    objCreditCardFare = null;
}
function ClearPaymentInput()
{
    var objChkMyName = document.getElementById("chkMyname");
    var objNameOnCard = document.getElementById("txtNameOnCard");
    var objIssueNumber = document.getElementById("txtIssueNumber");
    var objIssueMonth = document.getElementById("optIssueMonth");
    var objIssueYear = document.getElementById("optIssueYear");
    var objCardNumber = document.getElementById("txtCardNumber");
    var objExpiredMonth = document.getElementById("optExpiredMonth");
    var objExpiredYear = document.getElementById("optExpiredYear");
    var objCvv = document.getElementById("txtCvv");
    var objAddress1 = document.getElementById("txtAddress1");
    var objAddress2 = document.getElementById("txtAddress2");
    var objCity = document.getElementById("txtCity");
    var objCounty = document.getElementById("txtCounty");
    var objPostCode = document.getElementById("txtPostCode");
    var objCountry = document.getElementById(FindControlName("select", "optCountry"));
    
    
    objChkMyName.checked = false;
    objNameOnCard.value = "";
    objIssueNumber.value = "";
    objIssueMonth.selectedIndex = 0;
    objIssueYear.selectedIndex = 0;
    objCardNumber.value = "";
    objCvv.value = "";
    objAddress1.value = "";
    objAddress2.value = "";
    objCity.value = "";
    objCounty.value = "";
    objPostCode.value = "";
    objCountry.selectedIndex = 0;
    
}
function HideAllPaymentTab(bValue)
{
    var objCCTab = document.getElementById("dvCCTab");
    var objVoucherTab = document.getElementById("dvVoucherTab");
    
    var objCC = document.getElementById("CreditCard");
    var objVoucher = document.getElementById("Voucher");
    
    if(bValue == true)
    {
        if(objCCTab != null)
        {
            objCCTab.style.display = "none";    
        }
        if(objVoucherTab != null)
        {
            objVoucherTab.style.display = "none";
        }
        
        //Form of payment section
        if(objCC != null)
        {
            objCC.style.display = "none";
        }
        if(objVoucher != null)
        {
            objVoucher.style.display = "none";
        }
    }
    else
    {
        if(objCCTab != null)
        {
            objCCTab.style.display = "block";    
        }
        if(objVoucherTab != null)
        {
            objVoucherTab.style.display = "block";
        }
        
        //Form of payment section
        if(objCC != null)
        {
            objCC.style.display = "block";
        }
        if(objVoucher != null)
        {
            objVoucher.style.display = "block";
        }
    }
}
function SaveBookedRedeem()
{
    var objCondition = document.getElementById("chkPayRedeem");
    if(objCondition.checked == true)
    {
        ShowLoadBar();
        tikAeroB2C.WebService.B2cService.bookNowPaylater(true, SuccessSaveBookedRedeem, showErrorPayment, showTimeOutPayment);
    }
    else
    {
        ShowMessageBox("Please accept Terms and Conditions !", 0,'');
    }
    objCondition = null;
}
function SuccessSaveBookedRedeem(result)
{
    var obj = document.getElementById("dvContainer");
    obj.innerHTML = result;
    obj = null;
    //If FFP Logon Reload point.
    var strClientProfileId = getCookie("coFFP");
    if(strClientProfileId != null)
    {
        LoadClientInformation(strClientProfileId);
    }
    ShowLoadBar();
}
function paymentCondition(strLang)
{
    CreateWnd("./HTML/" + strLang + "/Aurigny.Agreement.asp?" + document.getElementById("hdOriginDestCode").value, 520, 540, true);   
}
function SetComboCCValue(ctrlName, strValue)
{
    var ctrCombo = document.getElementById(ctrlName);
    var arrCCValue;
    for(var iCount = 0;iCount < ctrCombo.length;++iCount)
    {
        arrCCValue = ctrCombo.options[iCount].value.split("{}");
        if(arrCCValue.length > 0)
        {
            if(arrCCValue[0].toLowerCase() == strValue.toLowerCase())
            {
                ctrCombo.selectedIndex = iCount;
                break;
            }
        }
    }
    ctrCombo = null;
}
function ShowCCFee(bValue)
{
    var objCardType = document.getElementById(FindControlName("select", "optCardType"));   
    var objPaymentValue = objCardType.options[objCardType.selectedIndex].value;
 
    if(parseFloat(0 + objPaymentValue.split("{}")[10]) > 0)
    {
        ShowCreditCardFare(bValue, objPaymentValue);
        if(bValue == true)
        {
            document.getElementById("dvCCChargeMessage").style.display = "block";
        }
        else
        {
            document.getElementById("dvCCChargeMessage").style.display = "none";
        }
    }   
    
    objPaymentValue = null;
}
