﻿function isValidCreditCardNumber(cardNumber, cardType)
{
  var isValid = false;
  var ccCheckRegExp = /[^\d ]/;
  isValid = !ccCheckRegExp.test(cardNumber);

  if (isValid)
  {
    var cardNumbersOnly = cardNumber.replace(/ /g,"");
    var cardNumberLength = cardNumbersOnly.length;
    var lengthIsValid = false;
    var prefixIsValid = false;
    var prefixRegExp;

    switch(cardType)
    {
      case "mastercard":
        lengthIsValid = (cardNumberLength == 16);
        prefixRegExp = /^5[1-5]/;
        break;

      case "visa":
        lengthIsValid = (cardNumberLength == 16 || cardNumberLength == 13);
        prefixRegExp = /^4/;
        break;

      case "amex":
        lengthIsValid = (cardNumberLength == 15);
        prefixRegExp = /^3(4|7)/;
        break;

      default:
        prefixRegExp = /^$/;
        return false;
    }

    prefixIsValid = prefixRegExp.test(cardNumbersOnly);
    isValid = prefixIsValid && lengthIsValid;
  }

  if (isValid)
  {
    var numberProduct;
    var numberProductDigitIndex;
    var checkSumTotal = 0;

    for (digitCounter = cardNumberLength - 1; 
      digitCounter >= 0; 
      digitCounter--)
    {
      checkSumTotal += parseInt (cardNumbersOnly.charAt(digitCounter));
      digitCounter--;
      numberProduct = String((cardNumbersOnly.charAt(digitCounter) * 2));
      for (var productDigitCounter = 0;
        productDigitCounter < numberProduct.length; 
        productDigitCounter++)
      {
        checkSumTotal += 
          parseInt(numberProduct.charAt(productDigitCounter));
      }
    }
    isValid = (checkSumTotal % 10 == 0);
  }

  return isValid;
}


function checkCellNumber (strng, strnglen) {
    if (strng == "") 
       return false;
    var illegalChars = /\D/;
    // allow only letters, numbers, and underscores
    if (illegalChars.test(strng))
       return false;
    if(strnglen != 0 && strng.length != strnglen)
        return false;
    return true;
}

function CheckString(strng, minstrnglen)
{
    if(strng.length < minstrnglen)
        return false;
    else
        return true;
    
        
}

function openhelp()
{
window.open('/support/paymentoptions.html');
}

function CheckEmail(strng)
{
    var ValidEmail = /^([\w\-\.]+)@((\[([0-9]{1,3}\.){3}[0-9]{1,3}\])|(([\w\-]+\.)+)([a-zA-Z]{2,4}))$/;
    // allow only letters, numbers, and underscores
    if (!ValidEmail.test(strng))
        return false;
        
    if(!CheckString(strng, 1))
        return false;

    return true;    
}

function showError(msg, getfocus, ErrorDiv, ErrorMsgDiv){
    
    if(getfocus != "")
        document.getElementById(getfocus).focus();
    
    if(ErrorDiv != "")
        document.getElementById(ErrorDiv).style.display = "block";
    else
        document.getElementById("dvErrorMsg").style.display = "block";
        
    if(ErrorMsgDiv != "") {
        document.getElementById(ErrorMsgDiv).innerHTML = msg;
        document.getElementById(ErrorMsgDiv).style.display = "block";
    }
    else {
        document.getElementById("errorMsg").innerHTML = msg;
        document.getElementById("errorMsg").style.display = "block";
    }
    
    return false;
}

function hideError(ErrorDiv){
    
    if(ErrorDiv != "")
        document.getElementById(ErrorDiv).style.display = "none";
    else
        document.getElementById("dvErrorMsg").style.display = "none";
    
    
    return true;
}

function ShowLoading(LoadingDiv, DivtoHide)
{
    //alert(document.getElementById(DivtoHide).Href);
    if (document.getElementById(DivtoHide) != null)
    {
        /*//alert(document.getElementById(DivtoHide));
        try
        {   
        
            var cloneDiv = document.createElement('DIV');
            cloneDiv.innerHTML = document.getElementById(DivtoHide).innerHTML;
            document.getElementById(DivtoHide).parentNode.appendChild(cloneDiv);
            document.getElementById(DivtoHide).parentNode.removeChild(document.getElementById(DivtoHide));
        }
        catch(e)
        {
            //alert(e);
            document.getElementById(DivtoHide).style.display="none";
        }*/
        document.getElementById(DivtoHide).style.display="none";
        
    }
        
    document.getElementById("dvErrorMsg").style.display = "block";    
    document.getElementById("errorMsg").style.display = "block";
    document.getElementById("errorMsg").innerHTML = "Loading...";    

   
    return true;
}
function ShowLogin()
{
    parent.location.href ="/login.aspx";

}
