function decodeSearchString2()

  {

  var nameValue = new Array();

  var searchStr = unescape(location.search.substring(1));

  if (searchStr)

    {

    var formElement = searchStr.split("&");

    var tmpArray = new Array();

    for (k = 0; k < formElement.length; k++)

      {

      tmpArray = formElement[k].split("=");

      nameValue[tmpArray[0]] = tmpArray[1];

      }

    }

  return nameValue

  }



var srchData2 = decodeSearchString2();



var creditCardDelimiters = " ";

var now = new Date();

var today = Number(new Date(now.getYear(),now.getMonth(),now.getDate()));



function checkPayment(form)

  {

  var _cardType;

  var _cardNum = stripCharsInBag(form.CardNumber.value,creditCardDelimiters);

  var _cardholderName = form.Cardholder_Name.value;

  var syear = form.ExpYear.options[form.ExpYear.selectedIndex].value;

  var smonth = form.ExpMon.options[form.ExpMon.selectedIndex].value;

  var _date = Number(new Date(syear,smonth,(now.getDate()-now.getDay())));

  if (  _date < today )

    {

    alert ("Card has Expired");

    return false;

    }

  for (var i = 0; i < form.CardType.length; i++)

    {

    if (form.CardType[i].checked)

      {

      _cardType = form.CardType[i].value;

      break

      }

    }

  if (_cardholderName.length == 0)

    {

    alert ("Enter the name of the Card Holder");

    return false;

    }

  if (_cardNum.length == 0)

    {

    alert ("Enter a Card Number");

    return false;

    }

  if (_cardType == null)

    {

    alert ("Select a Card Type");

    return false; 

    }

  if (_cardType == "VISA")

    {

    if (isVisa(_cardNum))

      {

      return true;

      }

    else

      {

      alert ("Invalid Card Number for VISA");

      return false;

      }

    }

  if (_cardType == "MASTERCARD")

    {

    if (isMasterCard(_cardNum))

      {

      return true;

      }

    else

      {

      alert ("Invalid Card Number for MASTERCARD");

      return false;

      }

    }

  }





function isCreditCard(st)

  {

  // Encoding only works on cards with less than 19 digits

  if (st.length > 19)

    {

    return (false);

    }

  sum = 0; mul = 1; l = st.length;

  for (i = 0; i < l; i++)

    {

    digit = st.substring(l-i-1,l-i);

    tproduct = parseInt(digit ,10)*mul;

    if (tproduct >= 10)

      {

      sum += (tproduct % 10) + 1;

      }

    else

      {

      sum += tproduct;

      }

    if (mul == 1)

      {

      mul++;

      }

    else

      {

      mul--;

      }

    }

  if ((sum % 10) == 0)

    {

    return (true);

    }

  else

    {

    return (false);

    }

  }

// END FUNCTION isCreditCard()



function isVisa(cc)

  {

  if (((cc.length == 16) || (cc.length == 13)) && (cc.substring(0,1) == 4))

    {

    return isCreditCard(cc);

    }

  return false;

  }

// END FUNCTION isVisa()



function isMasterCard(cc)

  {

  firstdig = cc.substring(0,1);

  seconddig = cc.substring(1,2);

  if ((cc.length == 16) && (firstdig == 5) && ((seconddig >= 1) && (seconddig <= 5)))

    {

    return isCreditCard(cc);

    }

  return false;

  }

// END FUNCTION isMasterCard()



function stripCharsInBag (s, bag)

  {

  var i;

  var returnString = "";

  // Search through string's characters one by one.

  // If character is not in bag, append to returnString.

  for (i = 0; i < s.length; i++)

    {   

    // Check that current character isn't whitespace.

    var c = s.charAt(i);

    if (bag.indexOf(c) == -1)

      {

      returnString += c;

      }

    }

  return returnString;

  }



function setMonth()

  {

  var month = now.getMonth();

  document.payment.ExpMon.options[month].selected = true;

  }

