﻿// JScript File
var vholder = "ctl00_ContentPlaceHolder1_";

    function PaymentSelected()
    {
        var radPay = document.getElementById(vholder + "rstPayment").childNodes[0];
        var radLen = radPay.childNodes[0].childNodes.length;
        for (i = 0; i < radLen; i++)    //0 is the radio parent control (table)
        {
            var rad = document.getElementById(vholder + "rstPayment"+ "_" + i);
            if (rad.checked)
            {
                var radValue = rad.value;
                var pan = document.getElementById(vholder + "panCard");
                var txtCardHolder = document.getElementById(vholder + "txtHolder");
                var txtCardNumber = document.getElementById(vholder + "txtCardNumber");
                var txtExpireYear = document.getElementById(vholder + "txtExpireYear");
                var txtExpireMonth = document.getElementById(vholder + "txtExpireMonth");
                var vCardHolder = document.getElementById(vholder + "cvCardHolder");
                var vCardNumber = document.getElementById(vholder + "cvCardNumber");
                var vExpire = document.getElementById(vholder + "cvExpire");
                if (radValue == "C")
                {
                    pan.style.display="none";
//                    txtCardHolder.value = "";
//                    txtCardNumber.value = "";
//                    txtExpireYear.value = "";
//                    txtExpireMonth.value = "";
//                    vCardHolder.style.visibility = "hidden";
//                    vCardNumber.style.visibility = "hidden";
//                    vExpire.style.visibility = "hidden";
//                    document.getElementById(vholder + "lblCardNumber").style.visibility = "hidden";
//                    document.getElementById(vholder + "lblExpired").style.visibility = "hidden";
                }
                else
                {
                    pan.style.display="block";
                    txtCardHolder.focus();
                }
            }
        }
    }
    
    function DeliverySelected()
    {
        var radDlv = document.getElementById(vholder + "rstDelivery").childNodes[0];
        var radPayCash = document.getElementById(vholder + "rstPayment_4");
        var radLen = radDlv.childNodes[0].childNodes.length;
        var panAddress = document.getElementById(vholder + "panAddress");
        for (i = 0; i < radLen; i++)    //0 is the radio parent control (table)
        {
            var rad = document.getElementById(vholder + "rstDelivery_" + i);
            if (rad.checked)
            {
                var radValue = rad.value;
                if (radValue == "P")
                {
                    radPayCash.disabled=false;
                    panAddress.style.display="none";  //pan.style.visibility="hidden";
                }
                else
                {
                    radPayCash.checked=false;
                    radPayCash.disabled=true;
                    panAddress.style.display="block";  //pan.style.visibility="visible";
                    document.getElementById(vholder + "panCard").style.display="block";
                    document.getElementById(vholder + "txtStreet").focus();
                }
            }
        }
    }
    
    function ValidCardNumber(sender, args)
    {
        var radPayCash = document.getElementById(vholder + "rstPayment_4");
        var txt = document.getElementById(vholder + "txtCardNumber");
        var payAmex = document.getElementById(vholder + "rstPayment_2");
        var lblCardNumber = document.getElementById(vholder + "lblCardNumber");
        var len = txt.value.length;
        
        lblCardNumber.value = "";
        lblCardNumber.style.visibility = "hidden";

        if (radPayCash.checked)
        {
            args.IsValid = true;
        }
        else if (len == 0)
        {
            args.IsValid = false;
        }
        else if (payAmex.checked)
        {
            if (len == 15)
            {
                args.IsValid = true;
            }
            else
            {
                lblCardNumber.value = "The number requires 15 digits!";
                lblCardNumber.style.visibility = "visible";
                txt.focus();
                args.IsValid = false;
            }
        }
        else
        {
            if (len == 16)
            {
                args.IsValid = true;
            }
            else
            {
                lblCardNumber.value = "The number requires 16 digits!";
                lblCardNumber.style.visibility = "visible";
                txt.focus();
                args.IsValid = false;
            }
        }
    }
    
    
    function IsValidPrescription(fieldId)
    {
        var vReturn;
        var txtPre = document.getElementById(fieldId);
        var lenPre = txtPre.value.length;
        if (lenPre == 0 || lenPre == 6)
        {
            vReturn = true;
        }
        else
        {
            vReturn = false;
            alert("An invalid prescription number!\n\nA valid number must cosist of 6 digits");
            txtPre.focus();
        }
        return vReturn;
    }

    function PrescriptionRequired(sender, args)
    {
        var i;
        var vReturn = false;
        for (i = 0; i < 9; i++)
        {
            var vText = document.getElementById(vholder + "txtPrescription" + i).value;
            if (vText.length > 0)
            {
                vReturn = true;
                break;
            }
        }
        args.IsValid = vReturn;
    }
    
//Validations
    function StreetRequired(sender, args)
    {
        var pan = document.getElementById(vholder + "panAddress");
        var txt = document.getElementById(vholder + "txtStreet");
        if (pan.style.display=="none")
        {
            args.IsValid = true;
        }
        else
        {
            args.IsValid = (txt.value.length > 0);
        }
    }
    function CityRequired(sender, args)
    {
        var pan = document.getElementById(vholder + "panAddress");
        var txt = document.getElementById(vholder + "txtCity");
        if (pan.style.display=="none")
        {
            args.IsValid = true;
        }
        else
        {
            args.IsValid = (txt.value.length > 0);
        }
    }
    function ZipRequired(sender, args)
    {
        var pan = document.getElementById(vholder + "panAddress");
        var txt = document.getElementById(vholder + "txtZip");
        if (pan.style.display=="none")
        {
            args.IsValid = true;
        }
        else
        {
            args.IsValid = (txt.value.length == 5);
        }
    }

    function IsValidMonth(v)
    {
        if (v.length == 0)
        {
            return false;
        }
        else
        {
            return (eval(v) < 13);
        }
    }
    
    function HoldNameRequired(sender, args)
    {
        var radPayCash = document.getElementById(vholder + "rstPayment_4");
        var txtHolder = document.getElementById(vholder + "txtHolder").value;
        if (radPayCash.checked)
        {
            args.IsValid = true;
        }
        else
        {
            args.IsValid = FullTrim(txtHolder).length > 0;
        }
    }
    
    function ExpireRequired(sender, args)
    {
        var radPayCash = document.getElementById(vholder + "rstPayment_4");
        var txtY = document.getElementById(vholder + "txtExpireYear");
        var txtM = document.getElementById(vholder + "txtExpireMonth");
        var vY = txtY.value;
        var vM = txtM.value;
        var len = vY.length;
        
        var lbl = document.getElementById(vholder + "lblExpired");
        lbl.style.visibility = "hidden";
        if (radPayCash.checked)
        {
            args.IsValid = true;
        }
        else if (IsValidMonth(vM))
        {
            if (vM.length == 1)
            {
                txtM.value = "0" + vM;
            }
            if (len == 0)
            {
                args.IsValid = false;
            }
            else
            {
                if (len == 1)
                {
                    txtY.value = "0" + vY;
                    vY = "200" + vY;
                }
                else if (len == 2)
                {
                    vY = "20" + vY;
                }

                var today = new Date();
                if (eval(vY) > today.getYear())
                {
                    args.IsValid = true;
                }
                else if (eval(vY) == today.getYear())
                {
                    var isOK = (eval(vM) > (today.getMonth() + 1));
                    if (!isOK)
                    {
                        lbl.style.visibility = "visible";
                    }
                    args.IsValid = isOK;
                }
                else
                {
                    lbl.style.visibility = "visible";
                    args.IsValid = false;
                }
            }
        }
        else
        {
            args.IsValid = false;
        }
    }

//    function CardNumberRequired(sender, args)
//    {
//        var pan = document.getElementById(vholder + "panCard");
//        var txt = document.getElementById(vholder + "txtCardNumber");
//        if (pan.style.display=="none")
//        {
//            args.IsValid = true;
//        }
//        else
//        {
//            
//            args.IsValid = (txt.value.length == 16);
//        }
//    }
//    function ExpirationRequired(sender, args)
//    {
//        var pan = document.getElementById(vholder + "panCard");
//        var txt = document.getElementById(vholder + "txtExpiration");
//        if (pan.style.display=="none")
//        {
//            args.IsValid = true;
//        }
//        else
//        {
//            args.IsValid = (txt.value.length > 0);
//        }
//    }

function FullTrim(sText)
{
	var n1 = GetLeftPosition(sText)
	var n2 = GetRightPosition(sText);
	return sText.substring(n1, n2);
}

function GetLeftPosition(sText)
{
	var sLen = sText.length;
	var n = 0;
	for (i = 0; i < sLen - 1; i++)
	{
		if (sText.substring(i, i + 1) == " ")
			n++;
		else
			break;
	}
	return n;
}

function GetRightPosition(sText)
{
	var sLen = sText.length;
	var n = sLen;
	for (i = 0; i < sLen - 1; i++)
	{
		if (sText.substring(sLen - 1 - i, sLen - i) == " ")
			n--;
		else
			break;
	}
	return n;
}
