﻿// JScript File

function checkCardType(sender, args)
    {
    var type = document.getElementById("ctl00_ContentPlaceHolder1_ucPlaceOrder_ddlCardType").value;
    var issueNo = document.getElementById("ctl00_ContentPlaceHolder1_ucPlaceOrder_txtIssueNo").value;
    if (type=="MasterCard" || type=="Visa/Delta" || type == "Visa Electron" || type == "Maestro")
        {
        return true;
        }
    if(type=="Switch/Solo")
        {
        if(issueNo.length > 0)  
            {
            return true;
            }
        }
    args.IsValid = false;
    return false;
    }
   



function checkLuhn(sender, args)
    {
    var type = document.aspnetForm.ctl00$ContentPlaceHolder1$ucPlaceOrder$ddlCardType.value;
    var number = document.aspnetForm.ctl00$ContentPlaceHolder1$ucPlaceOrder$txtCardNo.value;
    var name = document.aspnetForm.ctl00$ContentPlaceHolder1$ucPlaceOrder$txtFirstName.value;
    var securityNo = document.aspnetForm.ctl00$ContentPlaceHolder1$ucPlaceOrder$txtSecurityNo.value;


    if (type == 'Please Select')
        {
        //document.aspnetForm.ctl00$ContentPlaceHolder1$ucPlaceOrder$ddlCardType.focus();
        args.IsValid = false;
        return false;
        }
    else
        {
        var isValid = checkLuhn1(number, type)
        if(isValid==false)
            {
            //document.aspnetForm.ctl00$ContentPlaceHolder1$ucPlaceOrder$txtCardNo.focus();
            //document.aspnetForm.ctl00$ContentPlaceHolder1$ucPlaceOrder$txtCardNo.select();
            args.IsValid = false;
            return false;
            }
        else
            {
            return true;
            }
        }
    }
   
   
function checkLuhn1(number, type)
    {
	//alert(number + ", " + name + ", " + type + ", " + issue);

			var i, sum, weight;

			sum = 0;
		
			for (i = 0; i < number.length - 1; i++)	{
				weight = number.substr(number.length - (i + 2), 1) * (2 - (i % 2));
				sum += ((weight < 10) ? weight: (weight - 9));
			}
		
			if (parseInt(number.substr(number.length - 1)) == ((10 - sum % 10) % 10))
			{
				return true;
			} else 
			{
				//alert("Card Number failed the Luhn Check");
				return false;
			}
		//}


    }
   
   
   
   
   
   
   
   
    

function checkExpiryDate(sender, args)
    {
    var dYear = document.aspnetForm.ctl00$ContentPlaceHolder1$ucPlaceOrder$ddlExpiryYear.value;
    var dMonth = document.aspnetForm.ctl00$ContentPlaceHolder1$ucPlaceOrder$ddlExpiryMonth.value;
    var dtmToday = new Date();
    
    var thisYear = dtmToday.getUTCFullYear()
        
    //Jan = 0, Feb = 1
    var thisMonth = dtmToday.getUTCMonth() + 1
    
    if (dMonth == 'Month')
        {
        //document.aspnetForm.ctl00$ContentPlaceHolder1$ucPlaceOrder$ddlExpiryMonth.focus();
        args.IsValid = false;
        return false;
        }
    else if (dYear == 'Year')
        {
        //document.aspnetForm.ctl00$ContentPlaceHolder1$ucPlaceOrder$ddlYear.focus();
        args.IsValid = false;
        return false;
        }
    else if(parseInt(dYear) < dtmToday.getUTCFullYear)
        {
        args.IsValid = false;
        return;
        }
    else if(parseInt(dYear) == thisYear)
        {
        
        //if the month is 01 - 09 then remove the 0, e.g. 03 becomes 3
        if (parseInt(dMonth) < 10 )
        {            
            dMonth = dMonth.replace("0","");
        }        
        
        if(parseInt(dMonth) < thisMonth)
            {
            args.IsValid = false;
            return false;
            }
        else
            {
            return true;
            }
        }
    else
        {
        return true;
        }
    }


function ValidatePasswordPayment(sender, args)
    {
    var str1 = document.getElementById("ctl00_ContentPlaceHolder1_ucPlaceOrder_txtPassword").value
    var str2 = document.getElementById("ctl00_ContentPlaceHolder1_ucPlaceOrder_txtConfirmPassword").value
    var int1 = str1.length
    var int2 = str2.length
    
    if (int1 == 0 && int2 == 0)
        {
        args.IsValid = true
        return true
        }
    else if (int1 > 0 && int2 > 0 && str1 == str2)
        {
        args.IsValid =  true
        return true
        }
    else
        {
        //document.getElementById("ctl00_ContentPlaceHolder1_ucPlaceOrder_CompareValidator1").style.display = "block"
        args.IsValid =  false
        return false
        }
    }
