function GetArgs () { // get the calling query string data
  /* This function parses comma-separated name=value argument pairs
  from the query string of the URL. It stores the pairs in properties
  of an object which is returned to the caller. From David Flanagan's
  "JavaScript" book (O'Reilly), example 13-5.
  */
  var args = new Object (); // where to put the data
  var i,pos,argname,value;
  var query = location.search.substring(1);  // get query string
  var pairs = query.split (",");             // break at comma
    for (i=0; i<pairs.length; i++) {
      pos = pairs[i].indexOf ("=");          // look for name=value
      if (pos == -1) continue;               // skip if not found
      argname = pairs[i].substring (0, pos); // get name
      value = pairs[i].substring (pos + 1);  // get value
      args[argname] = value;                 // store as property
    }
  return args; // return object
}

function Loader() {    // Read argmuments passed by calendar.htm. Write amounts to form.
  var myForm = document.getElementById("PayForm");
  myForm.first_name.focus();
  if (location.search.length > 0 ) //no argument supplied.
  {
    myForm.item_number.value = args.EventId; // to be submitted to Paypal
    myForm.item_name.value = args.EventDesc; // to be submitted to Paypal
    myForm.baseprice.value = args.Price;
  //  myForm.parking.value = args.Parking;
		
  }
  else
  {
    myForm.item_number.value = "D1"; // to be submitted to Paypal
    myForm.item_name.value = "General"; // to be submitted to Paypal
    myForm.baseprice.value = "25.00";
  //  myForm.parking.value = "5.00";
  }  
  myForm.displayamount.value = myForm.baseprice.value;
}

function Dollar (val)   {  // force to valid dollar amount. From members.aol.com/paypalhelper
var str,pos,rnd=0;
  if (val < .995) rnd = 1;  // for old Netscape browsers
  str = escape (val*1.0 + 0.005001 + rnd);  // float, round, escape
  pos = str.indexOf (".");
  if (pos > 0) str = str.substring (rnd, pos + 3);
  return str;
}

function CheckName(myForm) {
  var message = "";
	if (myForm.first_name.value.length == 0) { message = message + "Please enter your first name.\n"; }
  if (myForm.last_name.value.length == 0) { message = message + "Please enter your last name.\n"; }
	return message;
}


function CheckGradYear(myForm) {
//Check graduation year. We want a 4-digit year
  var message = "";
  var GradYear = myForm.degree.value;
  if (GradYear != "")
  {
   if (isNaN(GradYear)) { message = "Graduation year must be a number.\n"; }
   else if (GradYear < 1920 || GradYear > 2010)
   { message = "I can't believe you graduated in " +  GradYear + ".\n"; }
  }
	return message;
}

function CheckEmail(myForm) {
// check email address, if entered.
  var message = "";
  var EmailVal = myForm.email.value;
  if (EmailVal!="")
    {if (
      EmailVal.indexOf("@")==-1 ||
      EmailVal.indexOf(".")==-1 ||
      EmailVal.indexOf(" ")!=-1 ||
      EmailVal.length < 6 )
     {message = "Sorry, your email address is not valid.\n"; }
    }
	return message;
}

function CheckPhone(myForm) {
// check phone number in boxes night_phone_a, night_phone_b, night_phone_c.
  var message = "";
  if (myForm.night_phone_a.value.length != 3) { message = message + "Area code must be 3 digits.\n"; }
  if (myForm.night_phone_b.value.length != 3) { message = message + "Phone prefix must be 3 digits.\n"; }
  if (myForm.night_phone_c.value.length != 4) { message = message + "Phone suffix must be 4 digits.\n"; }
  if (isNaN(myForm.night_phone_a.value)) { message = message + "Area code must contain only numbers.\n";}
  if (isNaN(myForm.night_phone_b.value)) { message = message + "Phone number must contain only numbers.\n";}
  if (isNaN(myForm.night_phone_c.value)) { message = message + "Phone number must contain only numbers.\n";}
	return message;
}
		
function TabWhen( goodlength, thisobj, nextobj) { //jump to next field (nextobj) when you entered goodlength characters. Use with onkeyup
  if (thisobj.value.length < goodlength)
    { thisobj.focus() }
  else
    { nextobj.focus() }
}

