function ShowDiv(src) {
	if (document.getElementById(src)){
		document.getElementById(src).style.display = "block";
	}
}

function HideDiv(src) {
	if (document.getElementById(src)){
		document.getElementById(src).style.display = "none";
	}
}

function BillShipInfo(){
	if (document.f1.billShipInfo.checked == true){
		document.f1.shipadd1.value = document.f1.billadd1.value
		document.f1.shipadd2.value = document.f1.billadd2.value
		document.f1.shipcstreets.select()
		document.f1.shipcstreets.style.backgroundColor = "#FFFF00"
		document.f1.shipcity.value = document.f1.billcity.value
		document.f1.shipstate.value = document.f1.billstate.value
		document.f1.shipzip.value = document.f1.billzip.value
	} else {
		document.f1.shipadd1.value = ''
		document.f1.shipadd2.value = ''
		document.f1.shipcstreets.style.background = ""
		document.f1.shipcity.value = ''
		document.f1.shipstate.value = 'NY'
		document.f1.shipzip.value = ''
	}
}

function SwapBox(sel,alt){
	if (sel.checked == true){
		alt.checked = false
	} else {
		alt.checked = true
	}
	CheckScheduling()
}

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 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 = ''
		document.getElementById('startDate').style.display = 'none'
		document.getElementById('day1').style.display = 'none'
		document.getElementById('day2').style.display = 'none'
		document.getElementById('pickuptime').style.display = 'none'
		document.getElementById('deliverytime').style.display = 'none'
		return false
	}
	if (freq.value == 'Twice Weekly'){
		document.getElementById('day2').style.display = 'block'
	} else {
		document.getElementById('day2').style.display = 'none'
	}
	if (freq.value == 'Bi-Weekly'){
		document.getElementById('startDate').style.display = 'block'
	} else {
		document.forms['f1'].elements['biweeklyStart'].value = ''
		document.getElementById('startDate').style.display = 'none'
	}
	document.getElementById('day1').style.display = 'block'
	document.getElementById('pickuptime').style.display = 'block'
	document.getElementById('deliverytime').style.display = 'block'
}

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
			}
		}
	}
	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)
			if (returnDay >= daysOpen.length){
				returnDay = returnDay - daysOpen.length
			}
			returnDay = daysOpen[returnDay]
			break
		}
	}
	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 PayOptions(){
	if (document.f1.payMethod.value == 'Cash' || document.f1.payMethod.value == 'Check'){
		document.getElementById('ccNumRow').style.display = 'none'
		document.getElementById('ccExpRow').style.display = 'none'
		document.getElementById('ccCvvRow').style.display = 'none'
	} else {
		document.getElementById('ccNumRow').style.display = 'block'
		document.getElementById('ccExpRow').style.display = 'block'
		document.getElementById('ccCvvRow').style.display = 'block'
	}
}

function Examples(text){
	if (text.value == "Type comments here      EXAMPLES: Pickup from doorman, Pickup by garage, Pickup on back porch" || text.value == 'Type comments here      EXAMPLES: Leave with doorman, Leave with housekeeper, Leave with anyone that\'s home'){
		text.value = ''
	}
}

function SetProvider(cur){
//	var text = new Array("altcompany", "pickupText", "deliverText")
	var text = new Array("altcompany")
	for (i=0;i<text.length;i++){
		if (cur.name != text[i]){
			document.forms['f1'].elements[text[i]].value = cur.value
		}
	}
}

function RequireCell(box, provider){
	document.getElementById('requireCell').style.display = 'block'
	if (box.checked == true){
		provider.focus()
	}
}

function GetItClean(){
	if (document.f1.billfName && document.f1.billfName.value == ''){
		document.f1.billfName.focus()
		alert("Required: First Name")
		return false
	}
	if (document.f1.billlName && document.f1.billlName.value == ''){
		document.f1.billlName.focus()
		alert("Required: Last Name")
		return false
	}
	if (document.f1.email && document.f1.email.value == ''){
		document.f1.email.focus()
		alert("Required: Email Address")
		return false
	}
	if (document.f1.pass && document.f1.pass.value == ''){
		document.f1.pass.focus()
		alert("Required: Login Password")
		return false
	}
	if (document.f1.pass && document.f1.pass.value != document.f1.cpass.value){
		document.f1.cpass.focus()
		document.f1.cpass.select()
		alert("Required: Matching Passwords")
		return false
	}
	if (document.f1.billadd1 && document.f1.billadd1.value == ''){
		document.f1.billadd1.focus()
		alert("Required: Billing Address")
		return false
	}
	if (document.f1.billcity && document.f1.billcity.value == ''){
		document.f1.billcity.focus()
		alert("Required: Billing City")
		return false
	}
	if (document.f1.billstate && document.f1.billstate.value == ''){
		document.f1.billstate.focus()
		alert("Required: Billing State")
		return false
	}
	if (document.f1.billzip && document.f1.billzip.value.length < 5){
		document.f1.billzip.focus()
		alert("Required: Billing Zip Code")
		return false
	}
	if (document.f1.shipadd1 && document.f1.shipadd1.value == ''){
		document.f1.shipadd1.focus()
		alert("Required: Primary Address")
		return false
	}
	if (document.f1.shipcstreets && document.f1.shipcstreets.value == ''){
		document.f1.shipcstreets.focus()
		alert("Required: Primary Cross Streets")
		return false
	}
	if (document.f1.shipcity && document.f1.shipcity.value == ''){
		document.f1.shipcity.focus()
		alert("Required: Primary City")
		return false
	}
	if (document.f1.shipzip && document.f1.shipzip.value.length < 5){
		document.f1.shipzip.focus()
		alert("Required: Primary Zip Code")
		return false
	}
	if (document.f1.altadd1 && document.f1.altadd1.value != ''){
		if (document.f1.altcstreets.value == ''){
			document.f1.altcstreets.focus()
			alert("Required: Summer Cross Streets")
			return false
		}
		if (document.f1.altcity.value == ''){
			document.f1.altcity.focus()
			alert("Required: Summer City")
			return false
		}
		if (document.f1.altzip.value.length < 5){
			document.f1.altzip.focus()
			alert("Required: Summer Zip Code")
			return false
		}
	}
	if (document.f1.billphone11 && document.f1.billphone11.value.length < 3 && document.f1.shipphone11.value.length < 3){
		document.f1.billphone11.focus()
		document.f1.billphone11.select()
		alert("Required: Home Area Code")
		return false
	}
	if (document.f1.billphone12 && document.f1.billphone12.value.length < 3 && document.f1.shipphone12.value.length < 3){
		document.f1.billphone12.focus()
		document.f1.billphone12.select()
		alert("Required: Home Phone Number")
		return false
	}
	if (document.f1.billphone13 && document.f1.billphone13.value.length < 4 && document.f1.shipphone13.value.length < 3){
		document.f1.billphone13.focus()
		document.f1.billphone13.select()
		alert("Required: Home Phone Number")
		return false
	}
/*
	if (document.f1.billphone21 && (document.f1.billphone21.value.length + document.f1.billphone22.value.length + document.f1.billphone23.value.length) > 0){
		if (document.f1.billphone21.value.length < 3){
			document.f1.billphone21.focus()
			document.f1.billphone21.select()
			alert("Required: Valid Work Area Code")
			return false
		}
		if (document.f1.billphone22.value.length < 3){
			document.f1.billphone22.focus()
			document.f1.billphone22.select()
			alert("Required: Valid Work Phone Number")
			return false
		}
		if (document.f1.billphone23.value.length < 4){
			document.f1.billphone23.focus()
			document.f1.billphone23.select()
			alert("Required: Valid Work Phone Number")
			return false
		}
	}
*/
	if (document.f1.shipphone11 && (document.f1.shipphone11.value.length + document.f1.shipphone12.value.length + document.f1.shipphone13.value.length) > 0){
		if (document.f1.shipphone11.value.length < 3){
			document.f1.shipphone11.focus()
			document.f1.shipphone11.select()
			alert("Required: Valid Cell Area Code")
			return false
		}
		if (document.f1.shipphone12.value.length < 3){
			document.f1.shipphone12.focus()
			document.f1.shipphone12.select()
			alert("Required: Valid Cell Phone Number")
			return false
		}
		if (document.f1.shipphone13.value.length < 4){
			document.f1.shipphone13.focus()
			document.f1.shipphone13.select()
			alert("Required: Valid Cell Phone Number")
			return false
		}
		if (document.f1.altcompany && document.f1.altcompany.value == ''){
			document.f1.altcompany.focus()
			alert("Required: Cell Phone Provider")
			return false
		}
	}
	if (document.f1.shipphone21 && (document.f1.shipphone21.value.length + document.f1.shipphone22.value.length + document.f1.shipphone23.value.length) > 0){
		if (document.f1.shipphone21.value.length < 3){
			document.f1.shipphone21.focus()
			document.f1.shipphone21.select()
			alert("Required: Valid Alternate Area Code")
			return false
		}
		if (document.f1.shipphone22.value.length < 3){
			document.f1.shipphone22.focus()
			document.f1.shipphone22.select()
			alert("Required: Valid Alternate Phone Number")
			return false
		}
		if (document.f1.shipphone23.value.length < 4){
			document.f1.shipphone23.focus()
			document.f1.shipphone23.select()
			alert("Required: Valid Alternate Phone Number")
			return false
		}
	}
	if (document.f1.payMethod && document.f1.payMethod.value == ''){
		document.f1.payMethod.focus()
		alert("Required: Payment Method")
		return false
	}
	if (document.f1.payMethod && document.f1.payMethod.value != 'Cash' && document.f1.payMethod.value != 'Check'){
		if (document.f1.ccNum.value.length < 15){
			document.f1.ccNum.focus()
			alert("Required: Valid Credit Card Number")
			return false
		}
		if (document.f1.expMM.value == ''){
			document.f1.expMM.focus()
			alert("Required: Expiration Month")
			return false
		}
		if (document.f1.expYY.value == ''){
			document.f1.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(document.f1.expYY.value) + String(document.f1.expMM.value);
		if (expiry < today){
			document.f1.expMM.focus()
			alert("Required: Valid Expiration Date")
			return false
		}
		if (document.f1.ccv.value == ""){
			document.f1.ccv.focus()
			alert("Required: CVV Number")
			return false
		}
		if (document.f1.ccv.value.length < 3){
			document.f1.ccv.focus()
			alert("Required: Valid CVV Number")
			return false
		}
	}
	if (document.f1.frequency && document.f1.frequency.value == ''){
		document.f1.frequency.focus()
		alert("Required: Pickup Frequency")
		return false
	}
	if (document.getElementById('day1') && document.getElementById('day1').style.display == 'block' && document.f1.day1 && document.f1.day1.value == ''){
		document.f1.day1.focus()
		alert("Required: Pickup Day")
		return false
	}
	if (document.getElementById('pickuptime') && document.getElementById('pickuptime').style.display == 'block' && document.f1.pickuptime && document.f1.pickuptime.value == ''){
		document.f1.pickuptime.focus()
		alert("Required: Pickup Timeframe")
		return false
	}
	if (document.f1.frequency && document.f1.frequency.value == 'Twice Weekly' && document.f1.day2.value == ''){
		document.f1.day2.focus()
		alert("Required: 2nd Pickup Day")
		return false
	}
	if (document.getElementById('day2') && document.getElementById('day2').style.display == 'block' && document.f1.day2 && document.f1.day1.value == document.f1.day2.value){
		document.f1.day2.focus()
		alert("Required: Different Pickup Days")
		return false
	}
	if (document.getElementById('deliverytime') && document.getElementById('deliverytime').style.display == 'block' && document.f1.deliverytime && document.f1.deliverytime.value == ''){
		document.f1.deliverytime.focus()
		alert("Required: Delivery Timeframe")
		return false
	}
	if (document.f1.shipphone11 && (document.f1.pickupText.checked == true || document.f1.deliverText.checked == true) && document.f1.shipphone11.value == ''){
		document.f1.shipphone11.focus()
		alert("Required: Cell Phone Number for Text Message")
		return false
	}
	if (document.f1.dryClean && document.f1.washFold && document.f1.dryClean.checked == false && document.f1.washFold.checked == false){
		document.f1.dryClean.focus()
		alert("Required: Desired Service(s)")
		return false
	}
	return true
}

function RefreshImage(root){
	document.code.src = root + "includes/random_image.jpg?" + Math.random();
	return false;
}

function Contact(){
	if (document.c1.name.value == ""){
		document.getElementById('contactMess').innerHTML = "Required: Your Name";
		document.c1.name.focus();
		return false;
	}
	if (document.c1.email.value == ""){
		document.getElementById('contactMess').innerHTML = "Required: Your Email";
		document.c1.email.focus();
		return false;
	}
	if (document.c1.subject.value == ""){
		document.getElementById('contactMess').innerHTML = "Required: Subject";
		document.c1.subject.focus();
		return false;
	}
	if (document.c1.message.value == ""){
		document.getElementById('contactMess').innerHTML = "Required: Message";
		document.c1.message.focus();
		return false;
	}
	if (document.c1.code.value == ""){
		document.getElementById('contactMess').innerHTML = "Required: Image Security Code";
		document.c1.code.focus();
		return false;
	}
	executeSend('contactForm', '');
	document.getElementById('contactMess').innerHTML = "Now Sending";
	return false;
}

	function executeSend(page, root) {
		
		var url,query,c;
		
       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;
        }
		
		if (page == "contactForm"){
			query = "code="+document.c1.code.value+"&fEmail=sales&page="+document.c1.message.value+"&name="+document.c1.name.value+"&email="+document.c1.email.value+"&subject="+document.c1.subject.value
		} else {
			query = "code="+document.f1.code.value+"&page="+document.f1.page.value+"&fEmail="+document.f1.fEmail.value+"&name="+document.f1.name.value+"&email="+document.f1.email.value+"&subject="+document.f1.subject.value
		}

		url = root + "includes/sendmail.html?" + query + "&" + Math.random()
	
	  	httpRequest.onreadystatechange = function() { doSent(page); };
	  	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 doSent(page) {
		if (page == "contactForm"){
			div = "contactMess"
			var form = document.c1
		} else {
			div = "sendMessage"
			var form = document.f1
		}
		if (httpRequest.readyState == 4) {
			res = httpRequest.responseText
			if(res=="True") {
				form.reset()
				document.getElementById(div).innerHTML = 'Mail Sent Successfully'
			} else {
				document.getElementById(div).innerHTML = res
				if (res == "Your Friend's Email is Invalid"){
					form.fEmail.focus()
				}
				if (res == "Your Email is Invalid"){
					form.email.focus()
				}
			}
			
		}
		
	}
	
function CheckTime(val, date){
	if (document.f1.day1.value == date && val.value == '6AM - 9AM'){
		val.value = ''
		alert("Required: Valid Pickup Timeframe");
	}
}

function CheckPass(){
	if (document.p1.email.value == ''){
		document.p1.email.focus()
		alert("Required: Email Address")
		return false
	}
	return true
}

function CheckReturn(){
	if (document.c1.email.value == ""){
		document.c1.email.focus()
		alert("Required: Email Address")
		return false
	}
	if (document.c1.pass.value == ""){
		document.c1.pass.focus()
		alert("Required: Login Password")
		return false
	}
	return true
}

function CheckPass(){
	if (document.u1.currPass.value == ""){
		document.u1.currPass.focus();
		document.getElementById('message').innerHTML = "Required: Current Password";
		return false;
	}
	if (document.u1.pass.value == ""){
		document.u1.pass.focus();
		document.getElementById('message').innerHTML = "Required: New Password";
		return false;
	}
	if (document.u1.pass.value == document.u1.currPass.value){
		document.u1.pass.value = "";
		document.u1.pass.focus();
		document.getElementById('message').innerHTML = "Required: New Password Must Be Different";
		return false;
	}
	if (document.u1.pass.value != document.u1.cpass.value){
		document.u1.pass.value = "";
		document.u1.cpass.value = "";
		document.u1.pass.focus();
		document.getElementById('message').innerHTML = "Required: Matching New Passwords";
		return false;
	}
	return true;
}

function MyAccount(num){
	document.m1.option.value = num
	document.m1.submit()
}

function PayOptions(){
	if (document.f1.payMethod.value == 'Cash' || document.f1.payMethod.value == 'Check'){
		document.getElementById('ccNumRow').style.display = 'none'
		document.getElementById('ccExpRow').style.display = 'none'
		document.getElementById('ccCvvRow').style.display = 'none'
	} else {
		document.getElementById('ccNumRow').style.display = 'block'
		document.getElementById('ccExpRow').style.display = 'block'
		document.getElementById('ccCvvRow').style.display = 'block'
	}
}

function UpdateCleaning(){
	if (document.f1.billfName && document.f1.billfName.value == ''){
		document.f1.billfName.focus()
		alert("Required: First Name")
		return false
	}
	if (document.f1.billlName && document.f1.billlName.value == ''){
		document.f1.billlName.focus()
		alert("Required: Last Name")
		return false
	}
	if (document.f1.email && document.f1.email.value == ''){
		document.f1.email.focus()
		alert("Required: Email Address")
		return false
	}
	if (document.f1.pass && document.f1.pass.value != document.f1.cpass.value){
		document.f1.cpass.focus()
		document.f1.cpass.select()
		alert("Required: Matching Passwords")
		return false
	}
	if (document.f1.billadd1 && document.f1.billadd1.value == ''){
		document.f1.billadd1.focus()
		alert("Required: Billing Address")
		return false
	}
	if (document.f1.billcity && document.f1.billcity.value == ''){
		document.f1.billcity.focus()
		alert("Required: Billing City")
		return false
	}
	if (document.f1.billstate && document.f1.billstate.value == ''){
		document.f1.billstate.focus()
		alert("Required: Billing State")
		return false
	}
	if (document.f1.billzip && document.f1.billzip.value.length < 5){
		document.f1.billzip.focus()
		alert("Required: Billing Zip Code")
		return false
	}
	if (document.f1.shipadd1 && document.f1.shipadd1.value == ''){
		document.f1.shipadd1.focus()
		alert("Required: Primary Address")
		return false
	}
	if (document.f1.shipcstreets && document.f1.shipcstreets.value == ''){
		document.f1.shipcstreets.focus()
		alert("Required: Primary Cross Streets")
		return false
	}
	if (document.f1.shipcity && document.f1.shipcity.value == ''){
		document.f1.shipcity.focus()
		alert("Required: Primary City")
		return false
	}
	if (document.f1.shipzip && document.f1.shipzip.value.length < 5){
		document.f1.shipzip.focus()
		alert("Required: Primary Zip Code")
		return false
	}
	if (document.f1.altadd1 && document.f1.altadd1.value != ''){
		if (document.f1.altcstreets.value == ''){
			document.f1.altcstreets.focus()
			alert("Required: Summer Cross Streets")
			return false
		}
		if (document.f1.altcity.value == ''){
			document.f1.altcity.focus()
			alert("Required: Summer City")
			return false
		}
		if (document.f1.altzip.value.length < 5){
			document.f1.altzip.focus()
			alert("Required: Summer Zip Code")
			return false
		}
	}
	if (document.f1.billphone11 && document.f1.billphone11.value.length < 3 && document.f1.shipphone11.value.length < 3){
		document.f1.billphone11.focus()
		document.f1.billphone11.select()
		alert("Required: Home Area Code")
		return false
	}
	if (document.f1.billphone12 && document.f1.billphone12.value.length < 3 && document.f1.shipphone12.value.length < 3){
		document.f1.billphone12.focus()
		document.f1.billphone12.select()
		alert("Required: Home Phone Number")
		return false
	}
	if (document.f1.billphone13 && document.f1.billphone13.value.length < 4 && document.f1.shipphone13.value.length < 3){
		document.f1.billphone13.focus()
		document.f1.billphone13.select()
		alert("Required: Home Phone Number")
		return false
	}
/*
	if (document.f1.billphone21 && (document.f1.billphone21.value.length + document.f1.billphone22.value.length + document.f1.billphone23.value.length) > 0){
		if (document.f1.billphone21.value.length < 3){
			document.f1.billphone21.focus()
			document.f1.billphone21.select()
			alert("Required: Valid Work Area Code")
			return false
		}
		if (document.f1.billphone22.value.length < 3){
			document.f1.billphone22.focus()
			document.f1.billphone22.select()
			alert("Required: Valid Work Phone Number")
			return false
		}
		if (document.f1.billphone23.value.length < 4){
			document.f1.billphone23.focus()
			document.f1.billphone23.select()
			alert("Required: Valid Work Phone Number")
			return false
		}
	}
*/
	if (document.f1.shipphone11 && (document.f1.shipphone11.value.length + document.f1.shipphone12.value.length + document.f1.shipphone13.value.length) > 0){
		if (document.f1.shipphone11.value.length < 3){
			document.f1.shipphone11.focus()
			document.f1.shipphone11.select()
			alert("Required: Valid Cell Area Code")
			return false
		}
		if (document.f1.shipphone12.value.length < 3){
			document.f1.shipphone12.focus()
			document.f1.shipphone12.select()
			alert("Required: Valid Cell Phone Number")
			return false
		}
		if (document.f1.shipphone13.value.length < 4){
			document.f1.shipphone13.focus()
			document.f1.shipphone13.select()
			alert("Required: Valid Cell Phone Number")
			return false
		}
		if (document.f1.altcompany && document.f1.altcompany.value == ''){
			document.f1.altcompany.focus()
			alert("Required: Cell Phone Provider")
			return false
		}
	}
	if (document.f1.shipphone21 && (document.f1.shipphone21.value.length + document.f1.shipphone22.value.length + document.f1.shipphone23.value.length) > 0){
		if (document.f1.shipphone21.value.length < 3){
			document.f1.shipphone21.focus()
			document.f1.shipphone21.select()
			alert("Required: Valid Alternate Area Code")
			return false
		}
		if (document.f1.shipphone22.value.length < 3){
			document.f1.shipphone22.focus()
			document.f1.shipphone22.select()
			alert("Required: Valid Alternate Phone Number")
			return false
		}
		if (document.f1.shipphone23.value.length < 4){
			document.f1.shipphone23.focus()
			document.f1.shipphone23.select()
			alert("Required: Valid Alternate Phone Number")
			return false
		}
	}
	if (document.f1.payMethod && document.f1.payMethod.value == ''){
		document.f1.payMethod.focus()
		alert("Required: Payment Method")
		return false
	}
	if (document.f1.payMethod && document.f1.payMethod.value != 'Cash' && document.f1.payMethod.value != 'Check'){
		if (document.f1.ccNum.value.length < 15){
			document.f1.ccNum.focus()
			alert("Required: Valid Credit Card Number")
			return false
		}
		if (document.f1.expMM.value == ''){
			document.f1.expMM.focus()
			alert("Required: Expiration Month")
			return false
		}
		if (document.f1.expYY.value == ''){
			document.f1.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(document.f1.expYY.value) + String(document.f1.expMM.value);
		if (expiry < today){
			document.f1.expMM.focus()
			alert("Required: Valid Expiration Date")
			return false
		}
		if (document.f1.ccv.value == ""){
			document.f1.ccv.focus()
			alert("Required: CVV Number")
			return false
		}
		if (document.f1.ccv.value.length < 3){
			document.f1.ccv.focus()
			alert("Required: Valid CVV Number")
			return false
		}
	}
	if (document.f1.frequency && document.f1.frequency.value == ''){
		document.f1.frequency.focus()
		alert("Required: Pickup Frequency")
		return false
	}
	if (document.getElementById('day1') && document.getElementById('day1').style.display == 'block' && document.f1.day1 && document.f1.day1.value == ''){
		document.f1.day1.focus()
		alert("Required: Pickup Day")
		return false
	}
	if (document.getElementById('pickuptime') && document.getElementById('pickuptime').style.display == 'block' && document.f1.pickuptime && document.f1.pickuptime.value == ''){
		document.f1.pickuptime.focus()
		alert("Required: Pickup Timeframe")
		return false
	}
	if (document.f1.frequency && document.f1.frequency.value == 'Twice Weekly' && document.f1.day2.value == ''){
		document.f1.day2.focus()
		alert("Required: 2nd Pickup Day")
		return false
	}
	if (document.getElementById('day2') && document.getElementById('day2').style.display == 'block' && document.f1.day2 && document.f1.day1.value == document.f1.day2.value){
		document.f1.day2.focus()
		alert("Required: Different Pickup Days")
		return false
	}
	if (document.getElementById('deliverytime') && document.getElementById('deliverytime').style.display == 'block' && document.f1.deliverytime && document.f1.deliverytime.value == ''){
		document.f1.deliverytime.focus()
		alert("Required: Delivery Timeframe")
		return false
	}
	if (document.f1.shipphone11 && (document.f1.pickupText.checked == true || document.f1.deliverText.checked == true) && document.f1.shipphone11.value == ''){
		document.f1.shipphone11.focus()
		alert("Required: Cell Phone Number for Text Message")
		return false
	}
	if (document.f1.dryClean && document.f1.washFold && document.f1.dryClean.checked == false && document.f1.washFold.checked == false){
		document.f1.dryClean.focus()
		alert("Required: Desired Service(s)")
		return false
	}
	return true
}

function SwapActive(sel,alt){
	if (sel.checked == true){
		alt.checked = false
	}
	CheckScheduling()
}

function DeleteSchedule(id){
	c = confirm("Are you sure you want to delete this scheduled pickup?")
	if (c){
		document.location.href = "?d=" + id
	}
}

function CheckScheduling(){
	if (document.getElementById('shipactive').checked == true && document.getElementById('shipcity').options[0].selected != true){
		document.getElementById('scheduling').style.display = "none"
		document.getElementById('nonBrooklyn').innerHTML = "All Manhattan pickups will be done on Monday and returned Thursday from doorman buildings only."
		document.forms['f1'].elements['day1'].value = "Monday"
		document.forms['f1'].elements['pickuptime'].value = "8AM - 11AM"
		document.forms['f1'].elements['frequency'].value = "Weekly"
		document.forms['f1'].elements['deliverytime'].value = "8AM - 11AM"
	} else if (document.getElementById('altactive').checked == true && document.getElementById('altcity').options[0].selected != true){
		document.getElementById('scheduling').style.display = "none"
		if (document.getElementById('altcity').options[1].selected == true){
			document.getElementById('nonBrooklyn').innerHTML = "All Manhattan pickups will be done on Monday and returned Thursday from doorman buildings only."
			document.getElementById('altstate').value = "NY"
		} else {
			document.getElementById('nonBrooklyn').innerHTML = "All New Jersey pickups will be done on Monday and returned Friday."
			document.getElementById('altstate').value = "NJ"
		}
		document.forms['f1'].elements['day1'].value = "Monday"
		document.forms['f1'].elements['pickuptime'].value = "8AM - 11AM"
		document.forms['f1'].elements['frequency'].value = "Weekly"
		document.forms['f1'].elements['deliverytime'].value = "8AM - 11AM"
	} else {
		document.getElementById('scheduling').style.display = "block"
		document.getElementById('nonBrooklyn').innerHTML = ""
	}
}

function PayHistory(id){
    var url,query,c;
	
	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;
	}
	query = "id="+id
	url = "js/bill_history.php?" + query + "&rnd=" + Math.random()
	document.getElementById('paymentOutput').innerHTML = '<div align="center">Preparing to retrieve...</div>'
	httpRequest.onreadystatechange = function() { doPayHistory() };
	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 doPayHistory() {
	if (httpRequest.readyState == 4) {
		res = httpRequest.responseText
		document.getElementById('paymentOutput').innerHTML = res
	} else if (httpRequest.readyState == 2){
		document.getElementById('paymentOutput').innerHTML = '<div align="center">Now Generating...</div>';
	}
}

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 (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;
	}
	
	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 = "js/bill_cust.html?" + query + "&rnd=" + 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>';
	}
}
