// Rollover

<!--
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.01
  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 && d.getElementById) x=d.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];}
}
// Dave Allen POP-UP Function
function popupTool(mylink, tWidth, tHeight, windowname)
{
if (! window.focus)return true;
var href;
if (typeof(mylink) == 'string')
   href=mylink;
else
   href=mylink.href;
window.open(href, windowname, 'width=' + tWidth +', height=' + tHeight +', scrollbars=yes');
return false;
}
// Dave Allen POP-UP Function
function popupURL(mylink, tWidth, tHeight, windowname)
{
if (! window.focus)return true;
var href;
if (typeof(mylink) == 'string')
   href=mylink;
else
   href=mylink.href;
window.open(href, windowname, 'width=' + tWidth +', height=' + tHeight +', scrollbars=yes');
return false;
}
// Clint Peterson Form Function
function check_contact_form()
{
  var message = '';
  fields = new Array('First Name','Last Name','Address','City','State','Zip','E-Mail','Day Phone','User Name','Password','Confirm Password','CCard Name','CCard Type','CCard CCV','CCard Exp Month','CCard Exp Year');
  requiredFields = new Array('fname','lname','address1','city','state','zipcode','email','phone1','username','password','passwordchk','cardname','cardtype','cardccv','cardexpmonth','cardexpyear');
  var fieldvalue;
  for (i=0; i<requiredFields.length; i++)
  {
    fieldvalue = eval("document.contact_form." + requiredFields[i]+".value");
    if (fieldvalue == '')
    {
      message = message + fields[i] + "\n";
    }
  }
  if (message != '')
  {
    alert("Please fill out the required fields: \n" + message);
    return false;
  }
  if (document.contact_form.password.value != document.contact_form.passwordchk.value)
  {
  	alert("Password confirmation does not match.  Please recheck password value");
	return false;
  }
  if (! check_contact_Email(document.contact_form.email.value))
  {						 
	alert("You have entered an invalid email address.  Please check email.");
	return false;
  }
  if (! Mod10(document.contact_form.cardnum.value))
  {
  	alert("Invalid credit card number");
  	return false;
  }

  if (! document.contact_form.checkbox.checked)
  {
	alert("Please review the Terms and Conditions before proceeding");
	return false;
  }
  return true;
}
// Clint Peterson Email Check function
function check_contact_Email(email)
{
  if ((email.indexOf('@') < 0) || ((email.charAt(email.length-4) != '.') && (email.charAt(email.length-3) != '.')))
  {
    return false;
  }
  return true;
}  


// MOD10 check
// from JavaScript Source javascript.internet.com
//
function Mod10(cardnum) {  // v2.0
var valid = "0123456789"  // Valid digits in a credit card number
var len = cardnum.length;  // The length of the submitted cc number
var iCCN = parseInt(cardnum);  // integer of cardnum
var sCCN = cardnum.toString();  // string of cardnum
sCCN = sCCN.replace (/^\s+|\s+$/g,'');  // strip spaces
var iTotal = 0;  // integer total set at zero
var bNum = true;  // by default assume it is a number
var bResult = false;  // by default assume it is NOT a valid cc
var temp;  // temp variable for parsing string
var calc;  // used for calculation of each digit

// Determine if the cardnum is in fact all numbers
for (var j=0; j<len; j++) {
  temp = "" + sCCN.substring(j, j+1);
  if (valid.indexOf(temp) == "-1"){bNum = false;}
}

// if it is NOT a number, you can either alert to the fact, or just pass a failure
if(!bNum){
  /*alert("Not a Number");*/bResult = false;
}

// Determine if it is the proper length 
if((len == 0)&&(bResult)){  // nothing, field is blank AND passed above # check
  bResult = false;
} else{  // cardnum is a number and the proper length - let's see if it is a valid card number
  if(len >= 15){  // 15 or 16 for Amex or V/MC
    for(var i=len;i>0;i--){  // LOOP throught the digits of the card
      calc = parseInt(iCCN) % 10;  // right most digit
      calc = parseInt(calc);  // assure it is an integer
      iTotal += calc;  // running total of the card number as we loop - Do Nothing to first digit
      i--;  // decrement the count - move to the next digit in the card
      iCCN = iCCN / 10;                               // subtracts right most digit from cardnum
      calc = parseInt(iCCN) % 10 ;    // NEXT right most digit
      calc = calc *2;                                 // multiply the digit by two
      // Instead of some screwy method of converting 16 to a string and then parsing 1 and 6 and then adding them to make 7,
      // I use a simple switch statement to change the value of calc2 to 7 if 16 is the multiple.
      switch(calc){
        case 10: calc = 1; break;       //5*2=10 & 1+0 = 1
        case 12: calc = 3; break;       //6*2=12 & 1+2 = 3
        case 14: calc = 5; break;       //7*2=14 & 1+4 = 5
        case 16: calc = 7; break;       //8*2=16 & 1+6 = 7
        case 18: calc = 9; break;       //9*2=18 & 1+8 = 9
        default: calc = calc;           //4*2= 8 &   8 = 8  -same for all lower numbers
      }                                               
    iCCN = iCCN / 10;  // subtracts right most digit from ccNum
    iTotal += calc;  // running total of the card number as we loop
  }  // END OF LOOP
  if ((iTotal%10)==0){  // check to see if the sum Mod 10 is zero
    bResult = true;  // This IS (or could be) a valid credit card number.
  } else {
    bResult = false;  // This could NOT be a valid credit card number
    }
  }
}
/* change alert to on-page display or other indication as needed.
if(bResult) {
  alert("This IS a valid Credit Card Number!");
}
if(!bResult){
  alert("This is NOT a valid Credit Card Number!");
}
*/
  return bResult; // Return the results
}



//-->