Ajax.Request0A = Class.create(Ajax.Request, {
  initialize: function($super, url, options) {
	Object.extend(options, {
		requestHeaders: { AJX_REFERER: window.location },
		method: 'post',
		onSuccess: function(transport) {
			eval(transport.responseText);
		},
		onFailure: function(transport) { window.status='error 299'; }
	});
    $super(url, options);
  }
});
function removeLinks() {
$$('navbar li a').map(function(itm) {itm.removeClassName('linkHit');});
}
/*window.onload= function() {	
//new Ajax.Request0A('rsvp.php', { postBody: 'op=load' } ); 
$$('navbar li a').map(function(itm) { itm.op=itm.href; itm.href="#"; itm.onclick= function() {removeLinks();this.addClassName('linkHit');} } );
}
*/
function isEmpty(s) {
   return ((s == null) || (s.length == 0));
}
function isRadioChecked(itm) {
	for (i=itm.length-1; i > -1; i--) {
		if (itm[i].checked) return true;
	}
	return false;
}
function getRadioChecked(itm) {
	for (i=itm.length-1; i > -1; i--) {
		if (itm[i].checked) return itm[i].value;
	}
	return false;
}
function getCheckboxChecked(itm) {
	var ret= '';
	for (i=itm.length-1; i > -1; i--) {
		if (itm[i].checked) {
			if (ret.length>0) ret+= ', ';
			ret+=itm[i].value;
		}
	}
	return ret;
}

var digits = "0123456789";
var phoneNumberDelimiters = "()- ";
var validUSPhoneChars = digits + phoneNumberDelimiters;
var validWorldPhoneChars = digits + phoneNumberDelimiters + "+";
var digitsInUSPhoneNumber = 10;
var ZIPCodeDelimiters = "-";
var ZIPCodeDelimeter = "-";
var digitsInZIPCode1 = 5
var digitsInZIPCode2 = 9
var validZIPCodeChars = digits + ZIPCodeDelimiters;
var iZIPCode = "This field must be a 5 or 9 digit U.S. ZIP Code (e.i. 94043). Please reenter it now."
var iUSPhone = "This field must be a 10 digit U.S. phone number (e.i. 415 555 1212). Please reenter it now."
var iEmail = "This field must be a valid email address. Please reenter it now."
function stripCharsInBag (s, bag) { 
  var i;
    var returnString = "";
    for (i = 0; i < s.length; i++)  {   
        var c = s.charAt(i);
        if (bag.indexOf(c) == -1) returnString += c;
    }
    return returnString;
}
function warnInvalid(theField, s) {
    if (theField.focus) theField.focus();
    if (theField.select) theField.select();
    alert(s);
    return false;
}
function isUSPhoneNumber (s) {
   if (isEmpty(s)) 
       if (isUSPhoneNumber.arguments.length == 1) return false;
       else return (isUSPhoneNumber.arguments[1] == true);
    return (isInteger(s) && s.length == digitsInUSPhoneNumber)
}

function checkUSPhone (theField, emptyOK) {  
  if (checkUSPhone.arguments.length == 1) emptyOK = true;
    if ((emptyOK == true) && (isEmpty(theField.value))) return true;
    else {  
	  var normalizedPhone = stripCharsInBag(theField.value, phoneNumberDelimiters)
       if (!isUSPhoneNumber(normalizedPhone, false)) 
          return warnInvalid (theField, iUSPhone);
       else {  // if you don't want to reformat as (123) 456-789, comment next line out
//          theField.value = reformatUSPhone(normalizedPhone)
          return true;
       }
    }
}

function isEmail(s) {  
	if (isEmpty(s)) return false; 
    // there must be >= 1 character before @, so we
    // start looking at character position 1 
    // (i.e. second character)
    var i = 1;
    var sLength = s.length;
    // look for @
    while ((i < sLength) && (s.charAt(i) != "@"))
    { i++
    }
    if ((i >= sLength) || (s.charAt(i) != "@")) return false;
    else i += 2;
    // look for .
    while ((i < sLength) && (s.charAt(i) != "."))
    { i++
    }
    // there must be at least one character after the .
    if ((i >= sLength - 1) || (s.charAt(i) != ".")) return false;
    else return true;
}
function isZIPCode(s) {  
	if (isEmpty(s)) 
       if (isZIPCode.arguments.length == 1) return false;
       else return (isZIPCode.arguments[1] == true);
   return (isInteger(s) && 
            ((s.length == digitsInZIPCode1) ||
             (s.length == digitsInZIPCode2)))
}
function checkZIPCode(theField, emptyOK) {   
 if (checkZIPCode.arguments.length == 1) emptyOK = false;
    if ((emptyOK == true) && (isEmpty(theField.value))) return true;
    else {
	 var normalizedZIP = stripCharsInBag(theField.value, ZIPCodeDelimiters)
      if (!isZIPCode(normalizedZIP, false)) 
         return warnInvalid (theField, iZIPCode);
      else { 
//         theField.value = reformatZIPCode(normalizedZIP);
         return true;
      }
    }
}
function checkEmail(theField, emptyOK) {
   if (checkEmail.arguments.length == 1) emptyOK = false;
    if ((emptyOK == true) && (isEmpty(theField.value))) return true;
    else if (!isEmail(theField.value, false)) 
       return warnInvalid (theField, iEmail);
    else return true;
}
function isInteger(s) {
   var i;
    if (isEmpty(s)) 
       if (isInteger.arguments.length == 1) return defaultEmptyOK;
       else return (isInteger.arguments[1] == true);
    for (i = 0; i < s.length; i++) {   
        var c = s.charAt(i);
        if (!isDigit(c)) return false;
    }
    return true;
}
function isDigit (c) { return ((c >= "0") && (c <= "9")); }

function isHour12(val) { 
	if (isEmpty(val)) return false;
	val= val-0;
	return ((val>=0)&&(val<13));
}
function isMinutes(val) { 
	if (isEmpty(val)) return false;
	val= val-0;
	return ((val>=0)&&(val<60));
}

function validateit(frm) {
	if (isEmpty(frm.fname.value)) return warnInvalid(frm.fname,'Please specify First Name.');
	if (isEmpty(frm.lname.value)) return warnInvalid(frm.lname,'Please specify Last Name.');
	if (isEmpty(frm.title.value)) return warnInvalid(frm.title,'Please specify Title.');
	if (isEmpty(frm.cname.value)) return warnInvalid(frm.cname,'Please specify Company Name.');
	if (isEmpty(frm.email.value)) return warnInvalid(frm.email,'Please specify Email.');
	if (!checkEmail(frm.email,true)) return false;
//	if (isEmpty(frm.industry.value)) return warnInvalid(frm.industry,'Please specify Industry.');
	if (isEmpty(frm.zip.value)) return warnInvalid(frm.zip,'Please specify Zip/Postal Code.');
	//if (!checkZIPCode(frm.zip,true)) return false;
//	if (isEmpty(frm.phone.value)) return warnInvalid(frm.phone,'Please specify Business Phone.');
//	if (!checkUSPhone(frm.phone,true)) return false;
	return true;
}