﻿function validateCreditCardExpiry(source, args) {
    //if ($F(f['uxPaymentMethod']) != "CREDIT") {
   //     args.IsValid = true;

   // } else 
   {
        var d         = new Date();
        var currMonth = (parseInt(d.getMonth()) + 1) + "";
        var currYear  = d.getFullYear() + "";
        
        var selectedMonth = $F(f['uxExpiryDateMonth']).strip() + "";
        var selectedYear  = $F(f['uxExpiryDateYear']).strip() + "";
        
        currMonth     = getZeros(currMonth, 2) + currMonth;
        selectedMonth = getZeros(selectedMonth, 2) + selectedMonth;
		
		var currDate     = currYear + currMonth;
        var selectedDate = selectedYear + selectedMonth;
		
		args.IsValid = (currDate <= selectedDate);
    }
}

function validateCreditCardNumber(source, args) {
    if ($F(f['uxPaymentMethod']) != "CREDIT") {
        args.IsValid = true;

    } else
     {
        var cardNumber    = $F(f['uxCardNumber']).strip();
        var cardType      = $F(f['uxCardType']).strip();
        var cardReference = new Array();

        cardReference["PM"] = "MasterCard";
        cardReference["PV"] = "Visa";
        cardReference["DC"] = "DinersClub";
        cardReference["PA"] = "AmEx";

        args.IsValid = checkCreditCard(cardNumber, cardReference[cardType]); 
    }
}


function validateCreditCardNumberThirdParty(source, args) {
        var cardNumber    = $F(f['uxCardNumber']).strip();
        var cardType      = $F(f['uxCardType']).strip();
        var cardReference = new Array();

        cardReference["PM"] = "MasterCard";
        cardReference["PV"] = "Visa";
        cardReference["DC"] = "DinersClub";
        cardReference["PA"] = "AmEx";

        args.IsValid = checkCreditCard(cardNumber, cardReference[cardType]); 
}

function validateNameOnCreditCard(source, args) {
    if ($F(f['uxPaymentMethod']) != "CREDIT") 
    {
        args.IsValid = true;

    } else 
   {
        args.IsValid = ($F(f['uxNameOnCard']).strip().length > 0);
    }
}


function validateNameOnCreditCardThirdParty(source, args) {
  
        args.IsValid = ($F(f['uxNameOnCard']).strip().length > 0);

}


function initPaymentType() {
    if (f['uxPaymentMethod_1'] != null && $F(f['uxPaymentMethod_1']) == "CASH") {
        togglePaymentType('PIAP');
    } else {
        togglePaymentType('credit');
    }
}

function togglePaymentType(type) {
    if ($('panel-PIAP') != null) {
        if (type == "PIAP") {
            $('panel-PIAP').show();
            $('panel-credit').hide();
            $('all-fields-mandatory-label').hide();
            
        } else {
            $('panel-PIAP').hide();
            $('panel-credit').show();
            $('all-fields-mandatory-label').show();
        }
    }
}

function submitDetails() {   
   //  Declare variables Variables
   var cardNumber    = $F(f['uxCardNumber']).strip(); // CardNumber
   var cardType      = $F(f['uxCardType']).strip();   // CardType
   
   var cardReference = new Array();                   // CardType Array
   var d         = new Date();
   var currMonth = (parseInt(d.getMonth()) + 1) + "";   // Date related variables
   var currYear  = d.getFullYear() + "";                                         
   var selectedMonth = $F(f['uxExpiryDateMonth']).strip() + "";
   var selectedYear  = $F(f['uxExpiryDateYear']).strip() + "";                   
   currMonth     = getZeros(currMonth, 2) + currMonth;
   selectedMonth = getZeros(selectedMonth, 2) + selectedMonth;                   
    var currDate     = currYear + currMonth;
    var selectedDate = selectedYear + selectedMonth;      

   // Fill Card Type Array
    cardReference["PM"] = "MasterCard";
    cardReference["PV"] = "Visa";
    cardReference["DC"] = "DinersClub";
    cardReference["PA"] = "AmEx";
    
    // Validate each field to return true or false
    var IsValidCreditCardNumber = checkCreditCard(cardNumber, cardReference[cardType]);
    var IsValidCreditCardExpiry = (currDate <= selectedDate);
    var IsValidCardName = ($F(f['uxNameOnCard']).strip().length > 0);
   
   // Validate fields if all valid then show please wait modal popup   
    if (IsValidCreditCardNumber && IsValidCreditCardExpiry && IsValidCardName)    
    { 
        // Display Please wait modal popup      
        if (Page_ClientValidate('BookingEnginePaymentDetails')) {
            $('overlay').style.width  = getWindowWidth() + "px";
            $('overlay').style.height = getWindowHeight() + "px";
            
            // Hide select elements as they can appear over everything in some browsers.
            var elements = $('aspnetForm').getElementsBySelector('SELECT');   
            for (var i = 0; i < elements.length; i++) {
                elements[i].hide();
            }
            
            adjustOverlayPosition();    
            setInterval("adjustOverlayPosition()", 100);
            
            $('overlay').show();
            $('submit-tooltip').show();
        }        
          
        return submitForm('BookingEnginePaymentDetails');
    }
}

function submitDetailsTest() {

        $('overlay').style.width  = getWindowWidth() + "px";
        $('overlay').style.height = getWindowHeight() + "px";
        
        // Hide select elements as they can appear over everything in some browsers.
        var elements = $('aspnetForm').getElementsBySelector('SELECT');   
        for (var i = 0; i < elements.length; i++) {
            elements[i].hide();
        }
        
        adjustOverlayPosition();    
        setInterval("adjustOverlayPosition()", 100);
        
        $('overlay').show();
        $('submit-tooltip').show();

    
    
     //return submitForm('BookingEnginePaymentDetails');
}

function adjustOverlayPosition() {
    var iebody  = (document.compatMode && document.compatMode != "BackCompat")? document.documentElement : document.body;
    var dsoctop = document.all ? iebody.scrollTop : pageYOffset;
    
    var shiftX = (getWindowWidth() / 2) - ($('submit-tooltip').getWidth() / 2);
    var shiftY = (getWindowHeight() / 2) - ($('submit-tooltip').getHeight() / 2) - dsoctop;
    
    if (navigator.userAgent.indexOf('Netscape') > -1) {
    
    } else if (navigator.userAgent.indexOf('Netscape') > -1) {
        shiftY = shiftY + 100;
    } else {
        shiftY = shiftY + 20;
    }
    
    $('submit-tooltip').style.bottom = shiftY + "px";
    $('submit-tooltip').style.left   = shiftX + "px";
    
    $('overlay').style.top = dsoctop + "px";
}

function loadPaymentImages() {
    var path = pathOffWebRoot + "App_Assets/images/";

    var img1  = new Image();
    var img2  = new Image();
    var img3  = new Image();
    var img4  = new Image();
    var img5  = new Image();
    
    img1.src = path + "icon-information-tooltip.gif";
    img2.src = path + "bg-floating-tooltip-corner-topleft-overlay.gif";
    img3.src = path + "bg-floating-tooltip-corner-topright-overlay.gif";
    img4.src = path + "bg-floating-tooltip-corner-bottomleft-overlay.gif";
    img5.src = path + "bg-floating-tooltip-corner-bottomright-overlay.gif";
}
