var bgErrClr = '#eccc3e'
function loginForm (form) {
	var passed = (fldChkEmail(form.elements['login_email'],bgErrClr)) ? true : false
	if(passed && !fldChkTxt(form.elements['login_passwd'],bgErrClr))
	{	passed = false; alert('Missing or invalid input') }
	return passed
}
function forgotForm (form) {
	var passed = true
	if(!fldChkEmail(form.elements['login_email'],bgErrClr)) passed = false
	return passed
}
function categoryForm (form) {
	var passed = true
	if(!fldChkTxt(form.elements['cat_name'],bgErrClr))
	{	passed = false; alert('Missing or invalid input') }
	return passed
}
function acceptButton (state) {
	var button = getObjectId('accept_order')
	button.style.visibility = (state) ? 'visible' : 'hidden'
	return
}
function fdbckForm (form) {
	var passed = true
	var fld = getObjectId('fdbck_sender')
	if(fld.type=='text' && !fldChkEmail(form.elements['fdbck_sender'],bgErrClr)) passed = false
	if(!fldChkTxt(form.elements['fdbck_message'],bgErrClr))
	{ passed = false; alert('Missing or invalid input') }
	return passed
}
function billForm (form, pre) {
	var passed = true, tmp, obj, card
	var m, msg = '', allowed = " &'()-."
	recordPosition(form)
	if((obj=form.elements[pre+'company']) && (m=_checkName(obj,bgErrClr," &'(),-./0123456789")))
	{	msg += 'Company: '+m+'\n'; passed = false }
	if(m=checkName(form.elements[pre+'fname'],bgErrClr,allowed))
	{	msg += 'First name: '+m+'\n'; passed = false }
	if(m=checkName(form.elements[pre+'lname'],bgErrClr,allowed))
	{	msg += 'Last name: '+m+'\n'; passed = false }
	if(m=_checkName(form.elements[pre+'addr1'],bgErrClr," &'(),-./0123456789"))
	{	msg += 'Address: '+m+'\n'; passed = false }
	if(m=checkName(form.elements[pre+'city'],bgErrClr,allowed))
	{	msg += 'City: '+m+'\n'; passed = false }
	if(!fldChkSel(form.elements[pre+'state'],bgErrClr,0))
	{	msg += 'Please select a State\n'; passed = false }
	if(!fldChkZip(form.elements[pre+'zip'],bgErrClr))
	{	msg += 'Please enter valid zipcode\n'; passed = false }
	if((obj=form.elements[pre+'phone']) && !fldChkUSPhone(obj,bgErrClr))
	{	msg += 'Please enter valid phone number\n'; passed = false }
	if(obj = getObjectId('creditCard')) {
		if(!(card=fldChkCCType(obj,form._card,bgErrClr)))
		{	msg += 'Please select a credit card type\n'; passed = false }
		if(!fldChkCCExp(form.elements['_expMon'],form.elements['_expYr'],bgErrClr))
		{	msg += 'Invalid credit card expiration date\n'; passed = false }
		if(card && form.elements['_cardnumber'].value.charAt(0)!='x') {
			if(!fldChkCCNum(form.elements['_cardnumber'],bgErrClr,card))
			{	msg += 'Missing or invalid card number\n'; passed = false }
			if(!fldChkCCCode(form.elements['_cardcode'],bgErrClr,card))
			{	msg += 'Missing or invalid card code\n'; passed = false }
	}	}
	if(!passed) alert(msg)
	if(!fldChkEmail(form.elements[pre+'email'],bgErrClr)) passed = false
	return passed
}
function fldChkSrvLevel (fldObj, clr) {
	var obj, level = ''
	if(fldObj) {
		for(var i = 0; i<fldObj.length; i++)
			if(fldObj[i].checked)
			{	level = fldObj[i].value; break; }
		if(level=='') {
			for(i = 0; i<fldObj.length; i++)
				if(obj=getObjectId(fldObj[i].value)) obj.style.background = clr
		}
	}
	return level
}
function resetSrvLevel (fld, clr) {
	var obj, fldArr 
	if(fld && fld.form && (fldArr=fld.form._level)) {
		for(var i = 0; i<fldArr.length; i++)
			if(obj=getObjectId(fldArr[i].value)) obj.style.background = clr
	}
	return
}
function serviceLevel (form) {
	var passed = true
	recordPosition(form)
	if(!(level=fldChkSrvLevel(form._level,bgErrClr)))
	{	alert("Please choose a service level for your company!"); passed = false }
	return passed
}
function serviceLevelForm (form) {
	var passed = true
	if(!fldChkTxt(form.elements['srv_level_name'],bgErrClr)) passed = false
	if(!fldChkTxt(form.elements['srv_level_desc'],bgErrClr)) passed = false
	if(!fldChkTxt(form.elements['srv_level_code'],bgErrClr)) passed = false
	if(!fldChkAmount(form.elements['srv_level_monthly_rate'],bgErrClr)) passed = false
	if(!fldChkAmount(form.elements['srv_level_ref_rate'],bgErrClr)) passed = false
	return passed
}
function companyForm (form) {
	var passed = true, obj, card
	recordPosition(form)
	if(!fldChkTxt(form.elements['co_name'],bgErrClr)) passed = false
	if(!fldChkTxt(form.elements['co_addr1'],bgErrClr)) passed = false
	if(!fldChkTxt(form.elements['co_city'],bgErrClr)) passed = false
	if(!fldChkSel(form.elements['co_state'],bgErrClr,0)) passed = false
	if(!fldChkZip(form.elements['co_zip'],bgErrClr)) passed = false
	if(!fldChkUSPhone(form.elements['co_phone'],bgErrClr)) passed = false
	if(form.elements['co_fax'].value.length) fldChkUSPhone(form.elements['co_fax'],bgErrClr)
	if(!fldChkTxt(form.elements['co_lic_name'],bgErrClr)) passed = false
	if(!fldChkTxt(form.elements['co_lic_city'],bgErrClr)) passed = false
	if(!fldChkSel(form.elements['co_lic_state'],bgErrClr,0)) passed = false
	if(!fldChkTxt(form.elements['co_lic_number'],bgErrClr)) passed = false
	if(!fldChkSel(form.elements['co_lic_expmon'],bgErrClr,0)) passed = false
	if(!fldChkSel(form.elements['co_lic_expyr'],bgErrClr,0)) passed = false
	if(!passed) alert('Missing or invalid input')
	if((obj=form.elements['co_email']) && obj.value.length) {
		if(!fldChkEmails(obj,bgErrClr)) passed = false }
	if((obj=form.elements['co_dispatch']) && obj.value.length) {
		if(!fldChkEmails(obj,bgErrClr)) passed = false }
	return passed
}
function companyTime (fld) {
	var dis = fld.checked, form = fld.form
	form.co_24hr.value = (dis)?1:0
	form.co_startHr.disabled = dis
	form.co_startMin.disabled = dis
	form.co_endHr.disabled = dis
	form.co_endMin.disabled = dis
	return
}
function contactForm (form) {
	var passed = true, tmp
	if(!fldChkTxt(form.elements['contact_fname'],bgErrClr)) passed = false
	if(!fldChkTxt(form.elements['contact_lname'],bgErrClr)) passed = false
	if(!fldChkTxt(form.elements['contact_addr1'],bgErrClr)) passed = false
	if(!fldChkTxt(form.elements['contact_city'],bgErrClr)) passed = false
	if(!fldChkSel(form.elements['contact_state'],bgErrClr,0)) passed = false
	if(!fldChkZip(form.elements['contact_zip'],bgErrClr)) passed = false
	if(!fldChkUSPhone(form.elements['contact_phone'],bgErrClr)) passed = false
	if(form.elements['contact_phone2'].value.length) fldChkUSPhone(form.elements['contact_phone2'],bgErrClr)
	if(form.elements['contact_fax'].value.length) fldChkUSPhone(form.elements['contact_fax'],bgErrClr)
	if(!passed) alert('Missing or invalid input')
	if(!fldChkEmail(form.elements['contact_email'],bgErrClr)) passed = false
	if((form.elements['contact_passwd'].value.length || form.elements['contact_passwd2'].value.length) &&
		!fldChkPwds(form.elements['contact_passwd'],form.elements['contact_passwd2'],bgErrClr)) passed = false
	return passed
}
function userForm (form, id) {
	var passed = true, pwd1, pwd2
	if(!fldChkTxt(form.elements['user_fname'],bgErrClr)) passed = false
	if(!fldChkTxt(form.elements['user_lname'],bgErrClr)) passed = false
	if(!passed) alert('Missing or invalid input')
	if(!fldChkEmail(form.elements['user_email'],bgErrClr)) passed = false
	pwd1 = form.elements['user_password']; pwd2 = form.elements['user_pwd']
	if((!id || pwd1.value.length || pwd2.value.length) && !fldChkPwds(pwd1,pwd2,bgErrClr)) passed = false
	return passed
}
function pwdForm (form) {
	var passed = true
	if(!fldChkTxt(form.elements['_regPass'],bgErrClr)) {
		passed = false
		alert('Missing or invalid input')
	}
	if(!fldChkPwds(form.elements['_regPass1'],form.elements['_regPass2'],bgErrClr)) passed = false
	return passed
}
function menuForm (form) {
	var passed = true
	if(!fldChkTxt(form.elements['menu_entry'],bgErrClr)) passed = false
	if(!fldChkTxt(form.elements['menu_class'],bgErrClr)) passed = false
	if(!fldChkTxt(form.elements['menu_label'],bgErrClr)) passed = false
	if(!fldChkTxt(form.elements['menu_link'],bgErrClr)) passed = false
	if(!passed) alert('Missing or incorrect information')
	return passed
}

function paymentForm (form) {
	var passed = true, valdate = true
	var card, obj, year, day, month, msg
		
	if(document.getElementById('chk')) {
		if(!fldChkAmount(form.elements['check_amount'],bgErrClr)) 
			passed = false
		else {
			if(!fldChkName(form.elements['check_fname'],bgErrClr)) passed = false
			if(!fldChkName(form.elements['check_lname'],bgErrClr)) passed = false
			if(!fldChkAddr(form.elements['check_addr1'],bgErrClr)) passed = false
			if(!fldChkCity(form.elements['check_city'],bgErrClr)) passed = false
			if(!fldChkSel(form.elements['check_state'],bgErrClr,0)) passed = false
			if(!fldChkZip(form.elements['check_zip'],bgErrClr)) passed = false
			if(!fldChkBank(form.elements['check_bank'],bgErrClr)) passed = false
			if(!fldChkCheck(form.elements['check_number'],bgErrClr)) passed = false
			if(fldChkTxt(form.elements['check_phone'],bgErrClr)) 
				if(!fldChkUSPhone(form.elements['check_phone'],bgErrClr)) passed = false
			if(fldChkTxt(form.elements['check_email'],bgErrClr)) 
				if(!fldChkEmail(form.elements['check_email'],bgErrClr)) passed = false
		}
	}
	if(document.getElementById('echk')) {
		if(!fldChkAmount(form.elements['echeck_amount'],bgErrClr)) 
			passed = false
		else {
			if(!fldChkName(form.elements['echeck_fname'],bgErrClr)) passed = false
			if(!fldChkName(form.elements['echeck_lname'],bgErrClr)) passed = false
			if(!fldChkAddr(form.elements['echeck_addr1'],bgErrClr)) passed = false
			if(!fldChkCity(form.elements['echeck_city'],bgErrClr)) passed = false
			if(!fldChkSel(form.elements['echeck_state'],bgErrClr,0)) passed = false
			if(!fldChkZip(form.elements['echeck_zip'],bgErrClr)) passed = false
			if(!fldChkRouteCode(form.elements['bank_routing_code'],bgErrClr)) passed = false
			if(!fldChkAccountNum(form.elements['bank_account_number'],bgErrClr)) passed = false
			if(fldChkTxt(form.elements['echeck_phone'],bgErrClr)) 
				if(!fldChkUSPhone(form.elements['echeck_phone'],bgErrClr)) passed = false
			if(fldChkTxt(form.elements['echeck_email'],bgErrClr)) 
				if(!fldChkEmail(form.elements['echeck_email'],bgErrClr)) passed = false
		}
	}
	if(document.getElementById('cc')) {
		if(!fldChkAmount(form.elements['cc_amount'],bgErrClr)) 
			passed = false
		else { 
			if(!fldChkName(form.elements['cc_fname'],bgErrClr)) passed = false
			if(!fldChkName(form.elements['cc_lname'],bgErrClr)) passed = false
			if(!fldChkAddr(form.elements['cc_addr1'],bgErrClr)) passed = false
			if(!fldChkCity(form.elements['cc_city'],bgErrClr)) passed = false
			if(!fldChkZip(form.elements['cc_zip'],bgErrClr)) passed = false
			if(!fldChkEmail(form.elements['cc_email'],bgErrClr)) passed = false
			if(!fldChkUSPhone(form.elements['cc_phone'],bgErrClr)) passed = false
			if(!fldChkCCCode(form.elements['cc_cardcode'],bgErrClr)) passed = false
			if(!fldChkSel(form.elements['cc_state'],bgErrClr,0)) passed = false
			if(!(card=fldChkCCType(getObjectId('creditCard'),form._card,bgErrClr))) passed = false
			if(!fldChkSel(form.elements['cc_expmon'],bgErrClr,0)) passed = false
			if(!fldChkSel(form.elements['cc_expyear'],bgErrClr,0)) passed = false
			if(!fldChkCCNum(form.elements['cc_cardnumber'],bgErrClr,card)) passed = false
		}
	}
	msg = (passed && valdate) ? '' : 'Missing or invalid input'
	if(document.getElementById('csh')) { 
		if(!fldChkAmount(form.elements['cash_amount'],bgErrClr)) 
			passed = false
		else {
			if(fldChkTxt(form.elements['money_order_number'],bgErrClr)) {
				if(!fldChkMO(form.elements['money_order_number'],bgErrClr)) passed = false
				if(valdate) { 
					obj = getObjectId('moYear')
					year = parseInt(obj.options[obj.selectedIndex].text)
					if(!year) { passed = false; msg += "\nPlease select year for money order.\n"}
					obj = form.elements['moMon']
					month = monthAbbr2Int(obj.options[obj.selectedIndex].text)
					if(!month) { passed = false; msg += "\nPlease select month for money order.\n"}
					obj = form.elements['moDay']
					day = parseInt(obj.options[obj.selectedIndex].text)
					if(!day) { passed = false; msg += "\nPlease select day for money order.\n"}
				} else { passed = false; msg += "\nPlease select date for money order.\n"}
			}
			if(fldChkTxt(form.elements['cashier_check_number'],bgErrClr)) {
				if(!fldChkCash(form.elements['cashier_check_number'],bgErrClr)) passed = false
				if(valdate) {
					obj = getObjectId('cashcheckYear')
					year = parseInt(obj.options[obj.selectedIndex].text)
					if(!year) { passed = false; msg += "\nPlease select year for cashier's check.\n"}
					obj = form.elements['cashcheckMon']
					month = monthAbbr2Int(obj.options[obj.selectedIndex].text)
					if(!month) { passed = false; msg += "\nPlease select month for cashier's check.\n"}
					obj = form.elements['cashcheckDay']
					day = parseInt(obj.options[obj.selectedIndex].text)
					if(!day) { passed = false; msg += "\nPlease select day for cashier's check.\n"}
				} else { passed = false; msg += "\nPlease select date for cashier's check.\n"}
			}
		}
	} 
	if(!passed) alert(msg)
	return passed
}
function creditFeeForm (form) {
	var fee_type, obj, msg
	var passed = true
	//if(!fldChkInt(form.elements['status_code'],bgErrClr)) passed = false
	if (document.getElementById('fee_amount') && form.elements['fee_amount'].value.toString().length > 0) {
		if(fldChkFeeCreditAmount(form.elements['fee_amount'],bgErrClr)) {
			if(form.elements['fee_amount'].value <= 0) {
				alert("Fee amount must be more than 0!")
				passed = false
			} else {
				if(!fldChkTxt(form.elements['fee_desc'],bgErrClr)) passed = false
				if(!fldChkSel(form.elements['fee_type'],bgErrClr,0)) passed = false
			}
		} else passed = false
	}
	if (document.getElementById('credit_amount') && form.elements['credit_amount'].value.toString().length > 0) {
		if(fldChkFeeCreditAmount(form.elements['credit_amount'],bgErrClr)) {
			if(form.elements['credit_amount'].value <= 0) {
				alert("Credit amount must be more than 0!")
				passed = false
			} else {
				if(!fldChkTxt(form.elements['credit_desc'],bgErrClr)) passed = false
				if(!fldChkSel(form.elements['credit_type'],bgErrClr,0)) passed = false
			}
		} else passed = false
	}
	msg = (passed) ? '' : 'Missing or invalid input'
	if(!passed) alert(msg)
	return passed	
}
function getFee (form, fees) {
	obj = form.elements['status_code']
	code_desc = obj.options[obj.selectedIndex].text
	if(fees[obj.selectedIndex] > 0)
		form.elements['fee_amount'].value = fees[obj.selectedIndex];
	else
		form.elements['fee_amount'].value = '';
}
function enotifyForm (form) {
	var passed = true
	if(!fldChkTxt(form.elements['enotify_name'],bgErrClr)) passed = false
	if(!fldChkTxt(form.elements['enotify_description'],bgErrClr)) passed = false
	if(!fldChkTxt(form.elements['enotify_tag'],bgErrClr)) passed = false
	if(!fldChkTxt(form.elements['enotify_faddr'],bgErrClr)) passed = false
	if(!fldChkTxt(form.elements['enotify_subj'],bgErrClr)) passed = false
	if(!fldChkTxt(form.elements['enotify_msg'],bgErrClr)) passed = false
	if(!passed) alert('Missing or incorrect information')
	return passed
}
function airportForm (form) {
	var passed = true
	if(!fldChkTxt(form.elements['airport_name'],bgErrClr)) passed = false
	if(!fldChkTxt(form.elements['airport_iata'],bgErrClr)) passed = false
	if(!fldChkTxt(form.elements['airport_city'],bgErrClr)) passed = false
	if(!fldChkSel(form.elements['airport_state'],bgErrClr,0)) passed = false
	if(!fldChkTxt(form.elements['airport_longitude'],bgErrClr)) passed = false
	if(!fldChkTxt(form.elements['airport_latitude'],bgErrClr)) passed = false
	if(!passed) alert('Missing or incorrect information')
	return passed
}
function configForm (form) {
	var passed = true
	if(form.elements['co_email'].value.length &&
		!fldChkEmail(form.elements['co_email'],bgErrClr)) passed = false
	if(form.elements['co_dispatch'].value.length &&
		!fldChkEmails(form.elements['co_dispatch'],bgErrClr)) passed = false
	return passed
}
function codeForm (form) {
	var passed = true
	if(!fldChkInt(form.elements['code_number'],bgErrClr)) passed = false
	if(!fldChkTxt(form.elements['code_desc'],bgErrClr)) passed = false
	if(!fldChkTxt(form.elements['code_explanation'],bgErrClr)) passed = false
	if(!passed) alert('Missing or incorrect information')
	return passed
}
function faqForm (form) {
	var passed = true
	if(!fldChkTxt(form.elements['question'],bgErrClr)) passed = false
	if(!fldChkTxt(form.elements['answer'],bgErrClr)) passed = false
	if(!passed) alert('Missing or incorrect information')
	return passed
}
function newsForm (form) {
	var passed = true
	if(!fldChkTxt(form.elements['title'],bgErrClr)) passed = false
	if(!isEmpty(form.elements['link_txt'].value) &&
		!fldChkTxt(form.elements['link_url'],bgErrClr)) passed = false
	if(form.elements['feature_flg'] && form.elements['feature_flg'].value)
	{	if(!fldChkTxt(form.elements['feature_txt'],bgErrClr)) passed = false }
	else if(!fldChkTxt(form.elements['body'],bgErrClr)) passed = false
	if(!passed) alert('Missing or incorrect information')
	return passed
}
function audioForm (form) {
	var passed = true
	if(!fldChkTxt(form.elements['title'],bgErrClr)) passed = false
	if(!passed) alert('Missing or incorrect information')
	return passed
}
function popupWindow (label, image, wdth, hght, title) {
  var opt = 'width=' + (wdth+8) + ',height=' + (hght+8) +
      ',left=0,top=0,location=false,menubar=false,resizable=true,scrollbars=false,status=false,toolbar=false'
  var win = window.open(image, label, opt)
  var bw
  if(win) {
    if(navigator.appName == 'Netscape') {
      win.resizeTo(wdth+10,hght+31); bw = '2px'
    } else {
      win.resizeTo(wdth+15,hght+34); bw = '4px'
    }
    var me = win.document
    me.open()
    me.clear()
    me.write("<html><head><title>" + title + "</title>\n")
    me.write("<style type=\"text/css\">img { border-width: 2px "+bw+' '+bw+" 2px; border-style: solid; border-color: #000 }</style>\n</head>\n")
    me.write("<body topMargin=0 leftMargin=0 bottomMargin=0 rightMargin=0>\n")
    me.write("<img src=\"" + image + "\" alt=\"" + title + "\">")
    me.write("</body>\n</html>\n\n")
    me.close()
    win.focus()
    return false
  }
  return true
}
function updateRemaining (txtFld, rmnId, max) {
	var robj
	if(txtFld) {
		txtFld.value = txtFld.value.substr(0,max)
		if(robj=getObjectId(rmnId)) {
			var r = max-txtFld.value.length
			setNodeStr(rmnId,'Length: '+txtFld.value.length+' ('+r+' characters remaining)')
		}
	}
	return
}
function popupReservation (id, wx, wy, ww, wh) {
	var url = 'rr_acct_res_action.php?id='+id
	var win = window.open(url,'reserv','left='+wx+',top='+wy+',screenX='+wx+',screenY='+wy+',width='+ww+',height='+wh+',location=0,menubar=0,resizable=1,scrollbars=1,status=0,toolbar=0')
	if(win.opener==null) win.opener = self
	win.focus()
	return
}
function findReservation (wx, wy, ww, wh) {
	var fldObj = document.forms[0].rec_id
	if(fldObj && fldObj.value && isPosInt(fldObj.value))
		popupReservation(fldObj.value,wx,wy,ww,wh)
	else {
		doSelection(fldObj,bgErrClr)
		alert('Missing or Invaild entry.')
	}
	return
}
function getPerformance (url) {
	var eFld = getObjectId('end'), sFld = getObjectId('start')
	if(sFld || eFld) {
		url += '?'
		if(sFld && sFld.value.length) url += 'start='+sFld.value
		if(eFld && eFld.value.length) {
			if(sFld && sFld.value.length) url += '&'
			url += 'end='+eFld.value
		}
	}
	var win = window.open(url,'perform','width=350,height=400,location=0,menubar=0,resizable=1,scrollbars=1,status=0,toolbar=0')
	win.focus()
	return
}
function playFlashAudio (id) {
	if(obj=getObjectId(id)) obj.Play();
	return;
}
function newsFeatureCtl (flg) {
	var obj
	if(obj=getObjectId('feature_flg'))
		obj.value = (flg) ? 1 : 0
	if(obj=getObjectId('feature_txt'))
		obj.style.display = (flg) ? '' : 'none'
	return
}
function selectId (hdn, val, flg) {
	var obj, form = document.forms[0]
	if(obj=form.elements[hdn])
		obj.value = val
	else if(obj=getObjectId(hdn))
		obj.value = val
	if(flg==1) form.submit()
	return
}
function popupHistory (id) {
	var url = 'rr_acct_reqhist.php?id='+id
	var win = window.open(url,'history','width=600,height=400,location=0,menubar=0,resizable=1,scrollbars=1,status=0,toolbar=0')
	if(win.opener==null) win.opener = self
	win.focus()
	return
}
function findHistory () {
	var fldObj = document.forms[0].rec_id
	if(fldObj && fldObj.value && isPosInt(fldObj.value))
		popupHistory(fldObj.value)
	else {
		doSelection(fldObj,bgErrClr)
		alert('Missing or Invaild entry.')
	}
	return
}
function revisionForm (form) {
	var passed = true
	if(!fldChkTxt(form.elements['revision_text'],bgErrClr)) passed = false
	if(!passed) alert('Missing or invalid input')
	return passed
}