var prelimg, hp_t, hpImgA, hpFadeInOut, httpRequest

window.onload = function (){
	prelimg = new Array()
	preload = ["home","services","sign-up","franchise","faq","contact-us","my-account"]
	for (i=0;i<preload.length;i++){
		prelimg[i + "_1"] = new Image()
		prelimg[i + "_1"].src = root + "img/" + preload[i] + ".gif"
		prelimg[i + "_2"] = new Image()
		prelimg[i + "_2"].src = root + "img/" + preload[i] + "_over.gif"
	}
	if (document.getElementById('hp_href_1')){
		hpImgA = 1
		hp_t = setTimeout("HomePageBanner(2)", 5000)
		prelimg[100] = new Image()
		prelimg[100].src = root + "img/hp_banner_active.gif"
		prelimg[101] = new Image()
		prelimg[101].src = root + "img/hp_banner_inactive.gif"
		prelimg[102] = new Image()
		prelimg[102].src = root + "img/hp_banner_hover.gif"
	}
	if (typeof(error) != "undefined" && error != ''){
		document.forms['f1'].elements['email'].select()
		alert(error)
	}
	if (typeof(newPickup) != "undefined" && newPickup == 'true'){
		c = confirm("Would you like to schedule your first pickup?")
		if (c) window.location.href = root + "schedule-pickup.html"
	}
}

function ShowNav(img){
	img.src = img.src.replace(".gif", "_over.gif")
}

function HideNav(img){
	img.src = img.src.replace("_over.gif", ".gif")
}

function ForgotPass(div){
	if (div == 'returning'){
		if (document.forms['r1'].elements['email_address'].value != '') document.forms['p1'].elements['email_address'].value = document.forms['r1'].elements['email_address'].value
		if (document.forms['r1'].elements['zip_code'].value != '') document.forms['p1'].elements['zip_code'].value = document.forms['r1'].elements['zip_code'].value
		ShowDiv('forgot')
		HideDiv('returning')
		document.forms['p1'].elements['email_address'].focus()
	} else {
		if (document.forms['p1'].elements['email_address'].value != '') document.forms['r1'].elements['email_address'].value = document.forms['p1'].elements['email_address'].value
		if (document.forms['p1'].elements['zip_code'].value != '') document.forms['r1'].elements['zip_code'].value = document.forms['p1'].elements['zip_code'].value
		ShowDiv('returning')
		HideDiv('forgot')
		document.forms['r1'].elements['email_address'].focus()
	}
}

function CheckForm(form){
	if (document.getElementById('emessage')) document.getElementById('emessage').innerHTML = ""
	for (i=0;i<form.elements.length;i++){
		if (form.elements[i].name != "" && form.elements[i].type != "hidden" && form.elements[i].name != "comments" && trim(form.elements[i].value) == ""){
			form.elements[i].focus()
			var text = ucwords(form.elements[i].name.replace(/_/g, " "))
			if (document.getElementById('emessage')) document.getElementById('emessage').innerHTML = "Required: " + text
			alert("Required: " + text)
			return false
		}
		if ((form.elements[i].name.indexOf("zip") >= 0 && CheckNum(form.elements[i].value, 5) == false) || (form.elements[i].name.indexOf("phone") >= 0 && CheckNum(form.elements[i].value, 10) == false) || (form.elements[i].name.indexOf("email_address") >= 0 && CheckEmail(form.elements[i].value) == false)){
			form.elements[i].select()
			var text = ucwords(form.elements[i].name.replace(/_/g, " "))
			if (document.getElementById('emessage')) document.getElementById('emessage').innerHTML = "Required: Valid " + text
			alert("Required: Valid " + text)
			return false
		}
	}
	return true
}

function ucwords(val){
	return (val + '').replace(/^([a-z])|\s+([a-z])/g, function (ii){
        return ii.toUpperCase()
    })
}

function trim(val){
	val = val.replace(/^\s+|\s+$/g, '')
	return val
}

function CheckNum(num, minLen){
	if (num == "" || num == null || num == undefined){
		return false
	}
	num = num.replace(/[^0-9]/g, '')
	if (num.length < minLen) return false
	for (n=0;n<num.length;n++){
		char = num.charAt(n)
		if (char < "0" || char > "9"){
			return false
		}
	}
	return true
}

function CheckEmail(email){
	emailAdd = trim(email)
	emailName = emailAdd.split("@")
	emailDomain = emailName[emailName.length - 1].split(".")
	emailType = emailDomain[emailDomain.length - 1]
	if (emailAdd.length < 7 || emailAdd.indexOf("@") <= 0 || emailAdd.indexOf(".") <= 0 || emailName.length < 2 || emailName[0].length < 1 || emailDomain[0].length < 1 || emailType == "undefined" || emailType.length < 1){
		return false
	}
	return true
}

function HomePageBanner(nextNum){
	if (hpFadeInOut == 'fade'){
		clearTimeout(hp_t)
		hp_t = setTimeout("HomePageBanner(" + nextNum + ")", 50)
		return false
	}
	clearTimeout(hp_t)
	if (nextNum >= 5) nextNum = 1
	for (i=1;i<5;i++){
		if (i != hpImgA && i != nextNum){
			document.getElementById("hp_img_" + i).style.display = "none"
		}
	}
	MakeOpaque("hp_img_" + nextNum, 20, "add")
	MakeOpaque("hp_img_" + hpImgA, 90, "")
	HPswapImg(hpImgA, "inactive")
	HPswapImg(nextNum, "active")
	active = document.getElementById("hp_href_" + nextNum)
	active.onmouseover = ""
	active.onmouseout = ""
	active.onclick = new Function("return false")
	inactive = document.getElementById("hp_href_" + hpImgA)
	inactive.onmouseover = new Function("HPswapImg(" + hpImgA + ",'hover')")
	inactive.onmouseout = new Function("HPswapImg(" + hpImgA + ",'inactive')")
	inactive.onclick = new Function("HomePageBanner(" + hpImgA + ");return false")
	hpImgA = nextNum
	nextNum++
	hp_t = setTimeout("HomePageBanner(" + nextNum + ")", 5000)
}

function MakeOpaque(id, currOpacity, mode){
	hpFadeInOut = ""
	div = document.getElementById(id)
	if (currOpacity >= 100){
		SetOpacity(id, 100)
	} else if (currOpacity <= 0){
		SetOpacity(id, 0)
	} else {
		hpFadeInOut = "fade"
		if (mode == "add"){
			currOpacity += 10
		} else {
			currOpacity -= 10
		}
		SetOpacity(id, currOpacity)
		setTimeout("MakeOpaque('" + id + "', " + currOpacity + ", '" + mode + "')", 50)
	}
}

function SetOpacity(id, opacityAmt){
	if (opacityAmt > 10){
		document.getElementById(id).style.display = "block"
	} else {
		document.getElementById(id).style.display = "none"
	}
	div = document.getElementById(id).style
	div.opacity = opacityAmt/100
	div.MozOpacity = opacityAmt/100
	div.filter = 'alpha(opacity=' + opacityAmt + ')'
}

function HPswapImg(num, type){
	document.images['hp_control_' + num].src = root + "img/hp_banner_" + type + ".gif"
}

function ShowDiv(div){
	if (document.getElementById(div)) document.getElementById(div).style.display = "block"
}

function HideDiv(div){
	if (document.getElementById(div)) document.getElementById(div).style.display = "none"
}

function RefreshImage(img){
	document.images[img].src = root + "img/random_image.jpg?" + Math.random();
	return false;
}

function ContactForm(form){
	if (CheckForm(form) == false || !SetHttpReq()) return false
	query = new Array()
	for (i=0;i<form.elements.length;i++){
		if (form.elements[i].name && form.elements[i].name != ''){
			query[i] = form.elements[i].name + "=" + form.elements[i].value
		}
	}
	query = query.join("&")
	
	var url = root + "send_mail.html?" + Math.random()
	
	document.getElementById('emessage').innerHTML = 'Preparing to send...'
	httpRequest.onreadystatechange = function() { doContact(form); }
	httpRequest.open('POST',url,true)
	httpRequest.setRequestHeader("Content-type", "application/x-www-form-urlencoded")
	httpRequest.setRequestHeader("Content-length", query.length)
	httpRequest.setRequestHeader("Connection", "close")
	httpRequest.send(query)
}

function doContact(form){
	if (httpRequest.readyState == 4){
		res = httpRequest.responseText
		if(res=="True"){
			form.reset()
			document.getElementById('emessage').innerHTML = 'Mail Sent Successfully'
		} else {
			if (res == 'Incorrect Image Security Code') form.elements['image_verification'].select()
			document.getElementById('emessage').innerHTML = res
			alert(res)
		}
	} else if (httpRequest.readyState == 2){
		document.getElementById('emessage').innerHTML = 'Now transmitting...'
	}
}

function DeleteSchedule(id){
	c = confirm("Are you sure you want to delete this scheduled pickup?")
	if (c){
		document.location.href = "?d=" + id
	}
}

function SetProvider(val){
	if (val.value == 'other'){
		ShowDiv('providerName')
		val.form.elements['cellProvider'].focus()
	} else {
		val.form.elements['cellProvider'].value = ''
		HideDiv('providerName')
	}
}

function CheckLength(text,len){
	e = ''
	var KeyID = (window.event) ? event.keyCode : e.keyCode;
	if (KeyID != 9 && KeyID != 16){
		if (text.value.length == len){
			if (text.form[(getIndex(text)+1) % text.form.length].type == 'text'){
				text.form[(getIndex(text)+1) % text.form.length].select()
			} else if (text.form[(getIndex(text)+1) % text.form.length].type == 'select-one'){
				text.form[(getIndex(text)+1) % text.form.length].focus()
			}
		}
	}
}

function getIndex(input) {
	var index = -1, i = 0, found = false;
	while (i < input.form.length && index == -1)
	if (input.form[i] == input)index = i;
	else i++;
	return index;
}

function BillShipInfo(){
	if (document.forms['f1'].elements['billShipInfo'].checked == true){
		document.forms['f1'].elements['billadd1'].value = document.forms['f1'].elements['shipadd1'].value
		document.forms['f1'].elements['billadd2'].value = document.forms['f1'].elements['shipadd2'].value
		document.forms['f1'].elements['billcity'].value = document.forms['f1'].elements['shipcity'].value
		document.forms['f1'].elements['billstate'].value = document.forms['f1'].elements['shipstate'].value
		document.forms['f1'].elements['billzip'].value = document.forms['f1'].elements['shipzip'].value
	} else {
		document.forms['f1'].elements['billadd1'].value = ''
		document.forms['f1'].elements['billadd2'].value = ''
		document.forms['f1'].elements['billcity'].value = ''
		document.forms['f1'].elements['billzip'].value = ''
	}
}

function PayOptions(){
	if (document.forms['f1'].elements['payMethod'].value == 'Cash' || document.forms['f1'].elements['payMethod'].value == 'Check'){
		HideDiv('ccNumRow')
		HideDiv('ccExpRow')
		HideDiv('ccCvvRow')
	} else {
		ShowDiv('ccNumRow')
		ShowDiv('ccExpRow')
		ShowDiv('ccCvvRow')
	}
}

function Examples(text){
	if (text.value.indexOf("Type comments here") >= 0){
		text.value = ''
	}
}

function CheckFreq(freq){
	if (freq.value == 'Store Pickup' || freq.value == 'Call To Schedule'){
		document.forms['f1'].elements['biweeklyStart'].value = ''
		document.forms['f1'].elements['day1'].value = ''
		document.forms['f1'].elements['pickuptime'].value = ''
		document.forms['f1'].elements['day2'].value = ''
		document.forms['f1'].elements['rday1'].value = ''
		document.forms['f1'].elements['deliverytime'].value = ''
		document.forms['f1'].elements['rday2'].value = ''
		HideDiv('startDate')
		HideDiv('day1')
		HideDiv('day2')
		HideDiv('pickuptime')
		HideDiv('deliverytime')
		return false
	}
	if (freq.value == 'Twice Weekly'){
		ShowDiv('day2')
	} else {
		HideDiv('day2')
	}
	if (freq.value == 'Bi-Weekly'){
		ShowDiv('startDate')
	} else {
		document.forms['f1'].elements['biweeklyStart'].value = ''
		HideDiv('startDate')
	}
	ShowDiv('day1')
	ShowDiv('pickuptime')
	ShowDiv('deliverytime')
}

function UpdateDays(){
	val = document.forms['f1'].elements['day1']
	if (val.value != '') checkFreq(val)
	val = document.forms['f1'].elements['day2']
	if (val.value != '') checkFreq(val)
}

function checkFreq(val){
	if (val.name == "day1"){
		freq = document.forms['f1'].elements['frequency']
		getdate = false
		for(i=0;i<freq.options.length;i++){
			if (freq.options[i].selected == true && freq.options[i].value == "Bi-Weekly"){
				getdate = true
				break
			}
		}
	}
	if (daysOpen.length == 1){
		weekdays = ["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday","Sunday"]
		for (i=0;i<weekdays.length;i++){
			if (val.value == weekdays[i]){
				if(document.forms['f1'].elements['washFold'].checked == true && document.forms['f1'].elements['dryClean'].checked == false){
					dayOffset = daysOffset[0]
				} else {
					dayOffset = daysOffset[1]
				}
				returnDay = i + parseInt(dayOffset)
				break
			}
		}
		if (returnDay >= weekdays.length) returnDay -= weekdays.length
		returnDay = weekdays[returnDay]
	} else {
		for(i=0;i<daysOpen.length;i++){
			if (val.value == daysOpen[i]){
				if(document.forms['f1'].elements['washFold'].checked == true && document.forms['f1'].elements['dryClean'].checked == false){
					dayOffset = daysOffset[0]
				} else {
					dayOffset = daysOffset[1]
				}
				returnDay = i + parseInt(dayOffset)
				break
			}
		}
		while (returnDay >= daysOpen.length){
			returnDay -= daysOpen.length
		}
		returnDay = daysOpen[returnDay]
	}
	document.forms['f1'].elements['r' + val.name].value = returnDay
	if (getdate == true){
		today = new Date()
		weekdays = ["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday","Sunday"]
		for(i=0;i<7;i++){
			day = new Date(today.getYear(), today.getMonth(), today.getDate() + i)
			if (val.value == weekdays[day.getDay()]){
				document.forms['f1'].elements['biweeklyStart'].value = (day.getMonth() < 9 ? '0' : '') + (day.getMonth() + 1) + "/" + (day.getDate() < 10 ? '0' : '') + day.getDate() + "/" + day.getFullYear()
				return false
			}
		}
	}
}

function SwapBox(sel,alt){
	if (sel.checked == true && alt.checked == true){
		alt.checked = false
	} else if (document.forms['f1'].elements['mode'].value == 'new'){
		alt.checked = true
	}
}

function RequireCell(box, provider){
	document.getElementById('requireCell').style.display = 'block'
	if (box.checked == true){
		provider.focus()
	}
}

function GetItClean(form){
	if (form.elements['billfName'] && form.elements['billfName'].value == ''){
		form.elements['billfName'].focus()
		alert("Required: First Name")
		return false
	}
	if (form.elements['billlName'] && form.elements['billlName'].value == ''){
		form.elements['billlName'].focus()
		alert("Required: Last Name")
		return false
	}
	if (form.elements['email'] && form.elements['email'].value == ''){
		form.elements['email'].focus()
		alert("Required: Email Address")
		return false
	}
	if (form.elements['email'] && CheckEmail(form.elements['email'].value) == false){
		form.elements['email'].select()
		alert("Required: Valid Email Address")
		return false
	}
	if (form.elements['pass'] && form.elements['pass'].value == '' && form.elements['mode'].value == 'new'){
		form.elements['pass'].focus()
		alert("Required: Login Password")
		return false
	}
	if (form.elements['pass'] && form.elements['pass'].value != form.elements['cpass'].value){
		if (form.elements['cpass'].value == ''){
			form.elements['cpass'].focus()
		} else {
			form.elements['cpass'].select()
		}
		alert("Required: Matching Passwords")
		return false
	}
	if (form.elements['billphone11'] && (form.elements['billphone11'].value.length < 3 || CheckNum(form.elements['billphone11'].value, 3) == false)){
		if (form.elements['billphone11'].value == ''){
			form.elements['billphone11'].focus()
		} else {
			form.elements['billphone11'].select()
		}
		alert("Required: Home Area Code")
		return false
	}
	if (form.elements['billphone12'] && (form.elements['billphone12'].value.length < 3 || CheckNum(form.elements['billphone12'].value, 3) == false)){
		if (form.elements['billphone12'].value == ''){
			form.elements['billphone12'].focus()
		} else {
			form.elements['billphone12'].select()
		}
		alert("Required: Home Phone Number")
		return false
	}
	if (form.elements['billphone13'] && (form.elements['billphone13'].value.length < 4 || CheckNum(form.elements['billphone13'].value, 4) == false)){
		if (form.elements['billphone13'].value == ''){
			form.elements['billphone13'].focus()
		} else {
			form.elements['billphone13'].select()
		}
		alert("Required: Home Phone Number")
		return false
	}
/*
	if (form.elements['billphone21'] && (form.elements['billphone21'].value.length + form.elements['billphone21'].value.length + form.elements['billphone21'].value.length) > 0){
		if (form.elements['billphone21'].value.length < 3){
			if (form.elements['billphone21'].value == ''){
				form.elements['billphone21'].focus()
			} else {
				form.elements['billphone21'].select()
			}
			alert("Required: Valid Work Area Code")
			return false
		}
		if (form.elements['billphone22'].value.length < 3){
			if (form.elements['billphone22'].value == ''){
				form.elements['billphone22'].focus()
			} else {
				form.elements['billphone22'].select()
			}
			alert("Required: Valid Work Phone Number")
			return false
		}
		if (form.elements['billphone23'].value.length < 4){
			if (form.elements['billphone23'].value == ''){
				form.elements['billphone23'].focus()
			} else {
				form.elements['billphone23'].select()
			}
			alert("Required: Valid Work Phone Number")
			return false
		}
	}
*/
	if (form.elements['shipphone11'] && (form.elements['shipphone11'].value.length + form.elements['shipphone12'].value.length + form.elements['shipphone13'].value.length) > 0){
		if (form.elements['shipphone11'].value.length < 3 || CheckNum(form.elements['shipphone11'].value, 3) == false){
			if (form.elements['shipphone11'].value == ''){
				form.elements['shipphone11'].focus()
			} else {
				form.elements['shipphone11'].select()
			}
			alert("Required: Valid Cell Area Code")
			return false
		}
		if (form.elements['shipphone12'].value.length < 3 || CheckNum(form.elements['shipphone12'].value, 3) == false){
			if (form.elements['shipphone12'].value == ''){
				form.elements['shipphone12'].focus()
			} else {
				form.elements['shipphone12'].select()
			}
			alert("Required: Valid Cell Phone Number")
			return false
		}
		if (form.elements['shipphone13'].value.length < 4 || CheckNum(form.elements['shipphone13'].value, 4) == false){
			if (form.elements['shipphone13'].value == ''){
				form.elements['shipphone13'].focus()
			} else {
				form.elements['shipphone13'].select()
			}
			alert("Required: Valid Cell Phone Number")
			return false
		}
		if (form.elements['altcompany'] && form.altcompany.value == ''){
			form.elements['altcompany'].focus()
			alert("Required: Cell Phone Provider")
			return false
		}
		if (form.elements['altcompany'] && form.altcompany.value == 'other' && form.elements['cellProvider'].value == ''){
			form.elements['cellProvider'].focus()
			alert("Required: Cell Provider's Name")
			return false
		}
	}
	if (form.elements['shipphone21'] && (form.elements['shipphone21'].value.length + form.elements['shipphone22'].value.length + form.elements['shipphone23'].value.length) > 0){
		if (form.elements['shipphone21'].value.length < 3){
			if (form.elements['shipphone21'].value == ''){
				form.elements['shipphone21'].focus()
			} else {
				form.elements['shipphone21'].select()
			}
			alert("Required: Valid Alternate Area Code")
			return false
		}
		if (form.elements['shipphone22'].value.length < 3){
			if (form.elements['shipphone22'].value == ''){
				form.elements['shipphone22'].focus()
			} else {
				form.elements['shipphone22'].select()
			}
			alert("Required: Valid Alternate Phone Number")
			return false
		}
		if (form.elements['shipphone23'].value.length < 4){
			if (form.elements['shipphone23'].value == ''){
				form.elements['shipphone23'].focus()
			} else {
				form.elements['shipphone23'].select()
			}
			alert("Required: Valid Alternate Phone Number")
			return false
		}
	}
	if (form.elements['shipadd1'] && form.elements['shipadd1'].value == ''){
		form.elements['shipadd1'].focus()
		alert("Required: Primary Address")
		return false
	}
	if (form.elements['shipcstreets'] && form.elements['shipcstreets'].value == ''){
		form.elements['shipcstreets'].focus()
		alert("Required: Primary Cross Streets")
		return false
	}
	if (form.elements['shipcity'] && form.elements['shipcity'].value == ''){
		form.elements['shipcity'].focus()
		alert("Required: Primary City")
		return false
	}
	if (form.elements['shipzip'] && (form.elements['shipzip'].value.length < 5 || CheckNum(form.elements['shipzip'].value, 5) == false)){
		form.elements['shipzip'].focus()
		alert("Required: Primary Zip Code")
		return false
	}
	if (form.elements['shipactive'] && form.elements['shipactive'].value != '' && form.elements['shipactive'].value != 'Y'){
		if (form.elements['altadd1'].value == ''){
			form.elements['altadd1'].focus()
			alert("Required: Secondary Address")
			return false
		}
		if (form.elements['altcstreets'].value == ''){
			form.elements['altcstreets'].focus()
			form.elements['altcstreets'].style.backgroundColor = '#FFFF00'
			alert("Required: Secondary Cross Streets")
			return false
		}
		if (form.elements['altcity'].value == ''){
			form.elements['altcity'].focus()
			alert("Required: Secondary City")
			return false
		}
		if (form.elements['altstate'].value == ''){
			form.elements['altstate'].focus()
			alert("Required: Secondary State")
			return false
		}
		if (form.elements['altzip'].value.length < 5 || CheckNum(form.elements['altzip'].value, 5) == false){
			form.elements['altzip'].focus()
			alert("Required: Secondary Zip Code")
			return false
		}
	}
	if (form.elements['billadd1'] && form.elements['billadd1'].value == ''){
		form.elements['billadd1'].focus()
		alert("Required: Billing Address")
		return false
	}
	if (form.elements['billcity'] && form.elements['billcity'].value == ''){
		form.elements['billcity'].focus()
		alert("Required: Billing City")
		return false
	}
	if (form.elements['billstate'] && form.elements['billstate'].value == ''){
		form.elements['billstate'].focus()
		alert("Required: Billing State")
		return false
	}
	if (form.elements['billzip'] && (form.elements['billzip'].value.length < 5 || CheckNum(form.elements['billzip'].value, 5) == false)){
		form.elements['billzip'].value == '' ? form.elements['billzip'].focus() : form.elements['billzip'].select()
		alert("Required: Billing Zip Code")
		return false
	}
	if (form.elements['payMethod'] && form.elements['payMethod'].value == ''){
		form.elements['payMethod'].focus()
		alert("Required: Payment Method")
		return false
	}
	if (form.elements['payMethod'] && form.elements['payMethod'].value != 'Cash' && form.elements['payMethod'].value != 'Check'){
		if (form.elements['ccNum'].value.length < 15 || (form.elements['ccNum'].value.indexOf("*") < 0 && CheckNum(form.elements['ccNum'].value, 15) == false)){
			if (form.elements['ccNum'].value == ''){
				form.elements['ccNum'].focus()
			} else {
				form.elements['ccNum'].select()
			}
			alert("Required: Valid Credit Card Number")
			return false
		}
		if (form.elements['expMM'].value == ''){
			form.elements['expMM'].focus()
			alert("Required: Expiration Month")
			return false
		}
		if (form.elements['expYY'].value == ''){
			form.elements['expYY'].focus()
			alert("Required: Expiration Year")
			return false
		}
		var today=new Date();
		month = today.getMonth() + 1;
		if (month.toString().length == 1) {
			month = '0' + month;
		}
		today = String(today.getYear()) + String(month);
		expiry = String(form.elements['expYY'].value) + String(form.elements['expMM'].value);
		if (expiry < today){
			form.elements['expMM'].focus()
			alert("Required: Valid Expiration Date")
			return false
		}
		if (form.elements['ccv'].value == ""){
			form.elements['ccv'].focus()
			alert("Required: CVV Number")
			return false
		}
		if (form.elements['ccv'].value.length < 3 || (form.elements['ccv'].value.indexOf("*") < 0 && CheckNum(form.elements['ccv'].value, 3) == false)){
			form.elements['ccv'].select()
			alert("Required: Valid CVV Number")
			return false
		}
	}
	if (form.elements['frequency'] && form.elements['frequency'].value == ''){
		form.elements['frequency'].focus()
		alert("Required: Pickup Frequency")
		return false
	}
	if (form.elements['frequency'] && form.elements['frequency'].value == 'Bi-Weekly' && form.elements['biweeklyStart'].value == ''){
		form.elements['biweeklyStart'].focus()
		A_TCALS['0'].f_show()
		alert("Required: Pickup Starting Date")
		return false
	}
	if (document.getElementById('day1') && document.getElementById('day1').style.display == 'block' && form.elements['day1'] && form.elements['day1'].value == ''){
		form.elements['day1'].focus()
		alert("Required: Pickup Day")
		return false
	}
	if (document.getElementById('pickuptime') && document.getElementById('pickuptime').style.display == 'block' && form.elements['pickuptime'] && form.elements['pickuptime'].value == ''){
		form.elements['pickuptime'].focus()
		alert("Required: Pickup Timeframe")
		return false
	}
	if (form.elements['frequency'] && form.elements['frequency'].value == 'Twice Weekly' && form.elements['day2'].value == ''){
		form.elements['day2'].focus()
		alert("Required: 2nd Pickup Day")
		return false
	}
	if (document.getElementById('day2') && document.getElementById('day2').style.display == 'block' && form.elements['day2'] && form.elements['day1'].value == form.elements['day2'].value){
		form.elements['day2'].focus()
		alert("Required: Different Pickup Days")
		return false
	}
	if (document.getElementById('deliverytime') && document.getElementById('deliverytime').style.display == 'block' && form.elements['deliverytime'] && form.elements['deliverytime'].value == ''){
		form.elements['deliverytime'].focus()
		alert("Required: Delivery Timeframe")
		return false
	}
	if (form.elements['shipphone11'] && (form.elements['pickupText'].checked == true || form.elements['deliverText'].checked == true) && form.elements['shipphone11'].value == ''){
		form.elements['shipphone11'].focus()
		alert("Required: Cell Phone Number for Text Message")
		return false
	}
	if (form.elements['dryClean'] && form.elements['washFold'] && form.elements['dryClean'].checked == false && form.elements['washFold'].checked == false){
		form.elements['dryClean'].focus()
		alert("Required: Desired Service(s)")
		return false
	}
	return true
}

function CheckExp(val){
	month = document.forms['p2'].elements['expMM'].value
	year = document.forms['p2'].elements['expYY'].value
	if (document.getElementById('paymentOutput').innerHTML.indexOf('Expired Credit Card') > 0){
		document.getElementById('paymentOutput').innerHTML = ''
	}
	if (document.forms['p2'].elements['expMM'].value == ''){
		document.forms['p2'].elements['expMM'].focus()
		return false
	}
	if (document.forms['p2'].elements['expYY'].value == ''){
		document.forms['p2'].elements['expYY'].focus()
		return false
	}
	today = new Date()
	curMonth = today.getMonth()
	curYear = today.getFullYear()
	if (month <= curMonth && year <= curYear){
		document.forms['p2'].elements['expYY'].focus()
		document.getElementById('paymentOutput').innerHTML = '<div align="center"><b>Expired Credit Card</b></div>'
		return false
	} else if (val == 'parse'){
		document.forms['p2'].elements['amount'].select()
	}
	return true
}

function CheckBillAmt(form){
	if (document.forms[form].elements['payMethod'].value != 'Cash' && document.forms[form].elements['payMethod'].value != 'Check' && document.forms[form].elements['payMethod'].value != 'applyCR' && parseFloat(document.forms[form].elements['amount'].value) > parseFloat(document.forms[form].elements['curAmt'].value)){
		if (document.getElementById(form + 'applyCR').style.display == 'block'){
			HideDiv(form + 'applyCR')
			document.forms[form].elements['applyCR'].checked = false
		}
		document.forms[form].elements['amount'].value = parseFloat(document.forms[form].elements['curAmt'].value).toFixed(2)
		alert('Credit Card payments cannot exceed current balance.')
	} else if (parseFloat(document.forms[form].elements['amount'].value) > 0 && parseFloat(document.forms[form].elements['amount'].value) > parseFloat(document.forms[form].elements['curAmt'].value) && document.forms[form].elements['payMethod'].value != 'applyCR'){
		ShowDiv(form + 'applyCR')
		if (document.forms[form].elements['payMethod'].value == 'Check') document.forms[form].elements['applyCR'].checked = true
	} else if (document.forms[form].elements['payMethod'].value == 'applyCR' && parseFloat(document.forms[form].elements['curAmt'].value) < 0){
		ShowDiv(form + 'applyCR')
		document.forms[form].elements['applyCR'].checked = true
	} else {
		HideDiv(form + 'applyCR')
		document.forms[form].elements['applyCR'].checked = false
	}
}

function ProcessPayment(form){
	if (form.elements['curAmt'].value == ''){
		document.getElementById('paymentOutput').innerHTML = '<div align="center"><b>Already Billed, please refresh page to update information.</b></div>'
		return false
	}
	if (form.elements['ccNum'].value.indexOf('^') > 0 || form.elements['ccNum'].value.indexOf('=') > 0) return false
	billAmt = parseFloat(form.elements['amount'].value)
	if (billAmt < 0){
		document.getElementById('paymentOutput').innerHTML = '<div align="center"><b>Unable to bill a negative amount.</b></div>'
		form.elements['amount'].select()
		return false
	}
	if (isNaN(billAmt) || (billAmt == 0 && form.elements['payMethod'].value != 'applyCR')){
		document.getElementById('paymentOutput').innerHTML = '<div align="center"><b>Required: Payment Amount</b></div>'
		form.elements['amount'].select()
		return false
	}
	if (form.elements['payMethod'].value == 'Check' && form.elements['checkNum'].value == ''){
		document.getElementById('paymentOutput').innerHTML = '<div align="center"><b>Required: Check Number</b></div>'
		form.elements['checkNum'].focus()
		return false
	}
	if (form.name == 'p2' && (form.elements['ccNum'].value == '' || form.elements['ccNum'].value.length < 15 || form.elements['ccNum'].value.length > 16)){
		document.getElementById('paymentOutput').innerHTML = '<div align="center"><b>Required: Valid Credit Card Information</b></div>'
		form.elements['ccNum'].select()
		return false
	}
	if (form.name == 'p2' && CheckExp('') != true){
		return false
	}
	if (form.name == 'p2' && (form.elements['cvv'].value.length < 3 || form.elements['cvv'].value.length > 4)){
		document.getElementById('paymentOutput').innerHTML = '<div align="center"><b>Required: Valid CVV Number</b></div>'
		form.elements['cvv'].select()
		return false
	}
	if (form.elements['update'].checked == true){
		c = confirm("Are you sure you want to update the payment information?")
		if (!c){
			return false
		}
	}
    var url,query,c;
	if (!SetHttpReq()) return false
	query = "f="+form.name
	query += "&d="+billAmt
	query += "&i="+form.elements['id'].value
	query += "&p="+form.elements['payMethod'].value
	query += "&c="+form.elements['ccNum'].value
	query += "&m="+form.elements['expMM'].value
	query += "&y="+form.elements['expYY'].value
	query += "&v="+form.elements['cvv'].value
	query += "&n="+form.elements['checkNum'].value
	query += "&a="
	if (form.elements['applyCR'].checked == true) query += form.elements['applyCR'].value
	query += "&r="
	if (form.elements['update'].checked == true) query += form.elements['update'].value
	query += "&o="+form.elements['orders'].value
	url = "bill_cust.html?" + Math.random()
	document.getElementById('paymentOutput').innerHTML = '<div align="center">Preparing to transmit...</div>'
	httpRequest.onreadystatechange = function() { doBillCust(form) };
	httpRequest.open('POST',url,true)
	httpRequest.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
	httpRequest.setRequestHeader("Content-length", query.length);
	httpRequest.setRequestHeader("Connection", "close");
	httpRequest.send(query)
}

function doBillCust(form) {
	if (httpRequest.readyState == 4) {
		res = httpRequest.responseText
		state = ''
		if (res.indexOf('~') > 0){
			res.split('~');
			state = 'True'
			res = res.substring(0, res.length - 5)
		}
		if (state == "True"){
			form.reset()
		}
		document.getElementById('paymentOutput').innerHTML = res
	} else if (httpRequest.readyState == 2){
		document.getElementById('paymentOutput').innerHTML = '<div align="center">Now Processing...</div>';
	}
}

function FranchiseDiv(div){
	divs = ['ownership', 'difference', 'keys', 'cs', 'cost', 'info', 'application', 'cust']
	for (i=0;i<divs.length;i++){
		if (div != divs[i]){
			HideDiv(divs[i])
			HideDiv(divs[i] + "Txt")
			ShowDiv(divs[i] + "A")
		} else {
			ShowDiv(divs[i])
			ShowDiv(divs[i] + "Txt")
			HideDiv(divs[i] + "A")
			if (document.images[divs[i] + "IMG"]) RefreshImage(divs[i] + "IMG")
		}
	}
}

function FranApp(form){
	if (!SetHttpReq()) return false
	var query = new Array()
	var n = 0
	document.getElementById('femessage').innerHTML = 'Please print a copy for your records before clicking the &quot;Submit&quot; button.'
	var spouseReq = false
	if (form.elements['spouse_first_name'].value != '' || form.elements['spouse_last_name'].value != '' || form.elements['spouse_typed_name'].value != '') spouseReq = true
	for (i=0;i<form.elements.length;i++){
		if (form.elements[i].type == "text"){
			if (form.elements[i].value == '' && (document.getElementById(form.elements[i].name + "_txt") || ((form.elements[i].name == 'available_financing' || form.elements[i].name == 'currency_type') && form.elements['other_financing'][0].checked == true) || (form.elements[i].name == 'other_sources_expl' && form.elements["other_sources_income"].value != '') || (form.elements[i].name.indexOf("employer") >= 0 && form.elements['employed_by'][1].checked == true) || (form.elements[i].name.indexOf("spouse") >= 0 && spouseReq && form.elements[i].name.indexOf("middle_initial") < 0 && form.elements[i].name.indexOf("alias") < 0 && form.elements[i].name.indexOf("dob") < 0) || ((form.elements[i].name == "home_phone" || form.elements[i].name == "mobile_number") && form.elements['home_phone'].value == '' && form.elements['mobile_number'].value == ''))){
				message = "Required: " + (document.getElementById(form.elements[i].name + "_txt") ? document.getElementById(form.elements[i].name + "_txt").innerHTML.replace(":", "") : ucwords(form.elements[i].name.replace(/_/g, " ")))
				document.getElementById('femessage').innerHTML = message
				form.elements[i].focus()
				alert(message)
				return false
			} else if ((form.elements[i].name == "email_address" && CheckEmail(form.elements[i].value) == false) || ((form.elements[i].name.indexOf("phone") >= 0 || form.elements[i].name == "mobile_number") && form.elements[i].value != '' && CheckNum(form.elements[i].value, 10) == false)){
				message = "Required: Valid " + ucwords(form.elements[i].name.replace(/_/g, " "))
				document.getElementById('femessage').innerHTML = message
				form.elements[i].select()
				alert(message)
				return false
			} else if (form.elements[i].name.indexOf('dob') >= 0 && (form.elements[i].name.indexOf("spouse") < 0 || spouseReq) && CheckNum(form.elements[i].value, form.elements[i].maxLength) == false){
				message = "Required: Valid Date of Birth"
				document.getElementById('femessage').innerHTML = message
				form.elements[i].value == '' ? form.elements[i].focus() : form.elements[i].select()
				alert(message)
				return false
			} else if (form.elements[i].name.indexOf('training_') >= 0 && CheckNum(form.elements[i].value, form.elements[i].maxLength) == false){
				message = "Required: Valid Estimated Training Date"
				document.getElementById('femessage').innerHTML = message
				form.elements[i].value == '' ? form.elements[i].focus() : form.elements[i].select()
				alert(message)
				return false
			} else {
				query[n] = form.elements[i].name + "=" + encodeURIComponent(form.elements[i].value)
				n++
			}
		} else if (form.elements[i].type == "radio" && (form.elements[i].name.indexOf("spouse") < 0 || spouseReq)){
			activeR = CheckRadio(form.elements[form.elements[i].name])
			if (activeR == null && form.elements[i].name.indexOf("partner") < 0){
				message = "Required: " + (document.getElementById(form.elements[i].name + "_txt") ? document.getElementById(form.elements[i].name + "_txt").innerHTML.replace(":", "") : ucwords(form.elements[i].name.replace(/_/g, " ")))
				document.getElementById('femessage').innerHTML = message
				form.elements[i].focus()
				alert(message)
				return false
			} else if (activeR != null && form.elements[i].value == form.elements[form.elements[i].name][activeR].value){
				query[n] = form.elements[i].name + "=" + form.elements[i].value
				n++
			}
		} else if (form.elements[i].type.indexOf("select") >= 0 && (form.elements[i].name.indexOf("spouse") < 0 || spouseReq)){
			selectVal = form.elements[i].options[form.elements[i].selectedIndex].value
			if (selectVal == ""){
				message = "Required: " + (document.getElementById(form.elements[i].name + "_txt") ? document.getElementById(form.elements[i].name + "_txt").innerHTML.replace(":", "") : ucwords(form.elements[i].name.replace(/_/g, " ")))
				document.getElementById('femessage').innerHTML = message
				form.elements[i].focus()
				alert(message)
				return false
			}
			query[n] = form.elements[i].name + "=" + selectVal
			n++
		} else if (form.elements[i].type == 'checkbox'){
			if (form.elements[i].checked == false){
				message = "Required: " + (document.getElementById(form.elements[i].name + "_txt") ? document.getElementById(form.elements[i].name + "_txt").innerHTML.replace(":", "") : ucwords(form.elements[i].name.replace(/_/g, " ")))
				document.getElementById('femessage').innerHTML = message
				form.elements[i].focus()
				alert(message)
				return false
			}
			query[n] = form.elements[i].name + "=" + form.elements[i].value
			n++
		} else if (form.elements[i].type == 'textarea'){
			if (form.elements[i].value == '' && document.getElementById(form.elements[i].name + "_txt")){
				message = "Required: " + (document.getElementById(form.elements[i].name + "_txt") ? document.getElementById(form.elements[i].name + "_txt").innerHTML.replace(":", "") : ucwords(form.elements[i].name.replace(/_/g, " ")))
				document.getElementById('femessage').innerHTML = message
				form.elements[i].focus()
				alert(message)
				return false
			}
			query[n] = form.elements[i].name + "=" + form.elements[i].value
			n++
		}
	}
	query = query.join("&")
	var url = root + "send_application.html?" + Math.random()
	document.getElementById('femessage').innerHTML = '<div align="center">Preparing to transmit...</div>'
	httpRequest.onreadystatechange = function() { doFranApp(form) };
	httpRequest.open('POST',url,true)
	httpRequest.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
	httpRequest.setRequestHeader("Content-length", query.length);
	httpRequest.setRequestHeader("Connection", "close");
	httpRequest.send(query)
}

function doFranApp(form){
	if (httpRequest.readyState == 4){
		res = httpRequest.responseText
		if(res=="True"){
			form.reset()
			document.getElementById('femessage').innerHTML = 'Mail Sent Successfully'
		} else {
			if (res == 'Incorrect Image Security Code') form.elements['image_verification'].select()
			document.getElementById('femessage').innerHTML = res
			alert(res)
		}
	} else if (httpRequest.readyState == 2){
		document.getElementById('femessage').innerHTML = 'Now transmitting...'
	}
}

function CheckRadio(s){
	for (r=0;r<s.length;r++){
		if (s[r].checked) return r
	}
	return null
}

function StoreNotify(form){
	if (!CheckForm(form) || !SetHttpReq()) return false
	query = 'zip=' + form.elements['zip'].value + '&name=' + form.elements['name'].value + '&email=' + form.elements['email_address'].value + '&code=' + form.elements['image_verification'].value
	var url = root + "store-notify.html?" + Math.random()
	document.getElementById('emessage').innerHTML = '<div align="center">Preparing information...</div>'
	httpRequest.onreadystatechange = function() { doStoreNotify(form) };
	httpRequest.open('POST',url,true)
	httpRequest.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
	httpRequest.setRequestHeader("Content-length", query.length);
	httpRequest.setRequestHeader("Connection", "close");
	httpRequest.send(query)
}

function doStoreNotify(form){
	if (httpRequest.readyState == 4){
		res = httpRequest.responseText
		if(res=="True"){
			form.reset()
			document.getElementById('emessage').innerHTML = 'You will be notified once we service this area.'
		} else {
			if (res == 'Incorrect Image Security Code') form.elements['image_verification'].select()
			document.getElementById('emessage').innerHTML = res
			alert(res)
		}
	} else if (httpRequest.readyState == 2){
		document.getElementById('emessage').innerHTML = 'Now transmitting...'
	}
}

function SetHttpReq(){
	if (window.XMLHttpRequest) { // Mozilla, Safari, ...
		httpRequest = new XMLHttpRequest()
		if (httpRequest.overrideMimeType) {
			httpRequest.overrideMimeType('text/xml')
		}
	} else if (window.ActiveXObject) { // IE
		try {
			httpRequest = new ActiveXObject("Msxml2.XMLHTTP")
		}
		catch (e) {
			try {
				httpRequest = new ActiveXObject("Microsoft.XMLHTTP")
			}
			catch (e) {}
		}
	}
	if (!httpRequest) {
		alert('Giving up :( Cannot create an XMLHTTP instance')
		return false
	}
	return true
}

function CheckActive(val, id){
	document.getElementById(id + 'active').value = val.value
}

function CheckShirt(val){
	if (val.selectedIndex == 1){
		document.getElementById('hanging').checked = true
		HideDiv('shirtBoxed')
	} else {
		ShowDiv('shirtBoxed')
	}
}
