function checkFields() {
  missinginfo = "";
  if (document.form.q.value == "" || document.form.q.value == "0") {
     	missinginfo += "\n Please enter correct quantity!";
  }
  if (document.form.opt) {
	if( document.form.opt.selectedIndex == "0") {
	missinginfo += "\n Please select an option!";
	}
  }
  if (missinginfo != "") {
    	alert(missinginfo);
 	return false;
  } else {
	return true;
  }
}


function MM_openBrWindow(theURL,winName,features) { //v2.0
  window.open(theURL,winName,features);
}

function MM_swapImgRestore() { //v3.0
  var i,x,a=document.MM_sr; for(i=0;a&&i<a.length&&(x=a[i])&&x.oSrc;i++) x.src=x.oSrc;
}

function MM_preloadImages() { //v3.0
  var d=document; if(d.images){ if(!d.MM_p) d.MM_p=new Array();
    var i,j=d.MM_p.length,a=MM_preloadImages.arguments; for(i=0; i<a.length; i++)
    if (a[i].indexOf("#")!=0){ d.MM_p[j]=new Image; d.MM_p[j++].src=a[i];}}
}

function MM_findObj(n, d) { //v4.0
  var p,i,x;  if(!d) d=document; if((p=n.indexOf("?"))>0&&parent.frames.length) {
    d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);}
  if(!(x=d[n])&&d.all) x=d.all[n]; for (i=0;!x&&i<d.forms.length;i++) x=d.forms[i][n];
  for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=MM_findObj(n,d.layers[i].document);
  if(!x && document.getElementById) x=document.getElementById(n); return x;
}

function MM_swapImage() { //v3.0
  var i,j=0,x,a=MM_swapImage.arguments; document.MM_sr=new Array; for(i=0;i<(a.length-2);i+=3)
   if ((x=MM_findObj(a[i]))!=null){document.MM_sr[j++]=x; if(!x.oSrc) x.oSrc=x.src; x.src=a[i+2];}
}

function runFlash() {
  if (document.all)
    var xMax = screen.width, yMax = screen.height;
  else
    if (document.layers)
      var xMax = window.outerWidth, yMax = window.outerHeight;
    else
      var xMax = 665, yMax=485;

  var xOffset = (xMax - 792)/2, yOffset = (yMax - 480)/2;

  window.open('http://www.blackjackinstitute.com/lev2/app_basic.htm','gamewindow',
    'width=685,height=505,screenX='+xOffset+',screenY='+yOffset+',top='+yOffset+',left='+xOffset+'');
}



function same_as_shipping(x)
{
	if(document.form.same_info.checked == true)
	{
		document.form.bfirstname.value = document.form.sfirstname.value;
		document.form.blastname.value = document.form.slastname.value;
		document.form.baddress1.value = document.form.saddress1.value;
		document.form.baddress2.value = document.form.saddress2.value;
		document.form.bcity.value = document.form.scity.value;
		document.form.bstate.value = document.form.sstate.value;
		document.form.bcountry.selectedIndex = document.form.scountry.selectedIndex;
		document.form.bphone.value = document.form.sphone.value;
		document.form.bzip.value = document.form.szip.value;
	}
	else if(document.form.same_info.checked == false)
	{
		document.form.bfirstname.value = "";
		document.form.blastname.value = "";
		document.form.baddress1.value = "";
		document.form.baddress2.value = "";
		document.form.bcity.value = "";
		document.form.bstate.value = "";
		document.form.bcountry.selectedIndex = "";
		document.form.bphone.value = "";
		document.form.bzip.value = "";
	}
}

function cvv2Win()
{
	window.open("cvv2-explanation.php","","width=425,height=300,top=200,left=400,scrollbars=yes");
}
function checkFields() {
missinginfo = "";
if (document.form.bfirstname.value == "") {
missinginfo += "\n     -  Billing First Name";
}
if (document.form.blastname.value == "") {
missinginfo += "\n     -  Billing Last Name";
}
if(document.form.baddress.value == "") {
missinginfo += "\n     -  Billing Address";
}
if(document.form.bcity.value == "") {
missinginfo += "\n     -  Billing City";
}
if(document.form.bstate.selectedIndex == "") {
missinginfo += "\n     -  Billing State";
}
if(document.form.bpostalcode.value == "") {
missinginfo += "\n     -  Billing Postal Code";
}
if(document.form.bcountry.selectedIndex == "") {
missinginfo += "\n     -  Billing Country";
}
if(document.form.bphone.value == "") {
missinginfo += "\n     -  Billing Phone";
}
if(document.form.sfirstname.value == "") {
missinginfo += "\n     -  Shipping First Name";
}
if(document.form.saddress.value == "") {
missinginfo += "\n     -  Shipping Address";
}
if(document.form.scity.value == "") {
missinginfo += "\n     -  Shipping City";
}
if(document.form.sstate.selectedIndex == "") {
missinginfo += "\n     -  Shipping State";
}
if(document.form.spostalcode.value == "") {
missinginfo += "\n     -  Shipping Postal Code";
}
if(document.form.scountry.selectedIndex == "") {
missinginfo += "\n     -  Shipping Country";
}
if(document.form.sphone.value == "") {
missinginfo += "\n     -  Shipping Phone";
}
if(document.form.email.value == "") {
missinginfo += "\n     -  Email Address";
}
if (missinginfo != "") {
missinginfo ="_____________________________\n" +
"You failed to correctly enter your:\n" +
missinginfo + "\n_____________________________" +
"\nPlease enter and submit again!";
alert(missinginfo);
return false;
}
else return true;
}

function checkCreditCard() {
missinginfo = "";
if(document.form.cctype.selectedIndex == "0") {
missinginfo += "\n     -  Credit Card Type Is Not Selected";
}
if((document.form.cardnumber.value == "") || (document.form.cardnumber.value.length < 16) || (IsNumeric(document.form.cardnumber.value) == false ) || (LuhnCheck(document.form.cardnumber.value) == false ) ) {
missinginfo += "\n     -  Credit Card Number Is Invalid";
}
if(document.form.expmonth.selectedIndex == "0") {
missinginfo += "\n     -  Credit Card Expiration Month Is Invalid";
}
if(document.form.expyear.selectedIndex == "0000") {
missinginfo += "\n     -  Credit Card Expiration Year Is Invalid";
}
if(document.form.cvm.value == "") {
missinginfo += "\n     -  Credit Card CVV2 Number Is Invalid";
}
if (missinginfo != "") {
missinginfo ="_____________________________\n" +
"The following problems occurred:\n" +
missinginfo + "\n_____________________________" +
"\nPlease try again.";
alert(missinginfo);
return false;
}
else return true;
}

function checkCreditCard2() {
missinginfo = "";
if(document.form.cctype.selectedIndex == "0") {
missinginfo += "\n     -  Credit Card Type Is Not Selected";
}
if(document.form.bname.value == "") {
missinginfo += "\n     -  Name on Credit Card is Invalid";
}
if(document.form.baddr1.value == "") {
missinginfo += "\n     -  Billing Address is Invalid";
}
if(document.form.bzip.value == "") {
missinginfo += "\n     -  Billing Zip Code Is Invalid";
}
if(document.form.bstate.selectedIndex == "0") {
missinginfo += "\n     -  Billing State is Invalid";
}
if((document.form.cardnumber.value == "") || (document.form.cardnumber.value.length < 16) || (IsNumeric(document.form.cardnumber.value) == false ) || (LuhnCheck(document.form.cardnumber.value) == false ) ) {
missinginfo += "\n     -  Credit Card Number Is Invalid";
}
if(document.form.expmonth.selectedIndex == "0") {
missinginfo += "\n     -  Credit Card Expiration Month Is Invalid";
}
if(document.form.expyear.selectedIndex == "0000") {
missinginfo += "\n     -  Credit Card Expiration Year Is Invalid";
}
if (missinginfo != "") {
missinginfo ="_____________________________\n" +
"The following problems occurred:\n" +
missinginfo + "\n_____________________________" +
"\nPlease try again.";
alert(missinginfo);
return false;
}
else return true;
}


function IsNumeric(strString)
   //  check for valid numeric strings	
   {
   var strValidChars = "0123456789";
   var strChar;
   var blnResult = true;

   if (strString.length == 0) return false;

   //  test strString consists of valid characters listed above
   for (i = 0; i < strString.length && blnResult == true; i++)
      {
      strChar = strString.charAt(i);
      if (strValidChars.indexOf(strChar) == -1)
         {
         blnResult = false;
         }
      }
   return blnResult;
   }

function LuhnCheck(str) 
{
  var result = true;

  var sum = 0; 
  var mul = 1; 
  var strLen = str.length;
  
  for (i = 0; i < strLen; i++) 
  {
    var digit = str.substring(strLen-i-1,strLen-i);
    var 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)
    result = false;
    
  return result;
}

function validateCCNum(cardType,cardNum)
{
	var result = false;
	cardType = cardType.toUpperCase();
	
	var cardLen = cardNum.length;
	var firstdig = cardNum.substring(0,1);
	var seconddig = cardNum.substring(1,2);
	var first4digs = cardNum.substring(0,4);

	switch (cardType)
	{
		case "VISA":
			result = ((cardLen == 16) || (cardLen == 13)) && (firstdig == "4");
			break;
		case "MASTERCARD":
			var validNums = "12345";
			result = (cardLen == 16) && (firstdig == "5") && (validNums.indexOf(seconddig)>=0);
			break;
	}
	return result;
}


function checkReg() {
missinginfo = "";
if (document.form.name.value == "") {
missinginfo += "\n     -  Player Name";
}
if (document.form.address.value == "") {
missinginfo += "\n     -  Address";
}
if(document.form.city.value == "") {
missinginfo += "\n     -  City";
}
if(document.form.state.selectedIndex == "0") {
missinginfo += "\n     -  State";
}
if(document.form.zip.value.length < 5) {
missinginfo += "\n     -  Zip Code";
}
if(document.form.phone.length < 11) {
missinginfo += "\n     -  Phone Number";
}
if(document.form.email.value == "") {
missinginfo += "\n     -  Email Address";
}
if (missinginfo != "") {
missinginfo ="_____________________________\n" +
"You failed to correctly enter your:\n" +
missinginfo + "\n_____________________________" +
"\nPlease enter and submit again!";
alert(missinginfo);
return false;
}
else return true;
}

function checkEvent() {
missinginfo = "";
for (var i=0; i < document.form.usatt.length; i++)
{
  if (document.form.usatt[i].checked)
  {
    var usa = document.form.usatt[i].value;
  }
}
var w = document.form.by.selectedIndex;
var year = document.form.by.options[w].text;

w = document.form.bm.selectedIndex;
var month = document.form.bm.options[w].text;

w = document.form.bd.selectedIndex;
var day = document.form.bd.options[w].text;

//determine if they are a junior
var d = new Date();
d.setDate(day);
d.setMonth(month-1); // January = 0
d.setFullYear(year); 

var d2 = new Date();
d2.setDate(4);
d2.setMonth(2); // January = 0
d2.setFullYear(1987); 


var jr = false;

if( d > d2 )
	jr = true;

if((usa == "member") && (document.form.usattid.value == "")) {
missinginfo += "\n     -  You must enter your USATT ID";
}
if((usa == "u18" ) && (!jr)) {
missinginfo += "\n     -  You must be under 18 to apply for Junior Membership";
}
if(document.form.bm.selectedIndex == "0") {
missinginfo += "\n     -  Birthday Month is not set";
}
if(document.form.bd.selectedIndex == "0") {
missinginfo += "\n     -  Birthday Date is not set";
}
if(document.form.by.selectedIndex == "0") {
missinginfo += "\n     -  Birthday Year is not set";
}
if ((!document.form.e1.checked) && (!document.form.e2.checked) && (!document.form.e3.checked)){
missinginfo += "\n     -  Please select an event to register for";
}
if (missinginfo != "") {
missinginfo ="_____________________________\n" +
"The following errors occured:\n" +
missinginfo + "\n_____________________________" +
"\nPlease enter and submit again!";
alert(missinginfo);
return false;
}
else return true;
}
