var requestEmail = true;

autofillForm();

//note: the following functions can easily be modified to work with other cookie-based forms
function validForm() {
	var f = document.regForm;
			
	if (f.Store.value == '') {
		alert('Please enter the store name.');
		f.Store.focus();
		return false;
	}
	if (f.Address.value == '') {
		alert('Please enter the address.');
		f.Address.focus();
		return false;
	}
	if (f.City.value == '') {
		alert('Please enter the city/state/zip/country.');
		f.City.focus();
		return false;
	}
	if (!(f.Mens_Products.checked || f.Womens_Products.checked || f.Childrens_Products.checked)) {
		alert('Please check one or more product types.');
		f.Mens_Products.focus();
		return false;
	}
	if (f.Buyers.value == '') {
		alert('Please enter the names of the buyers.');
		f.Buyers.focus();
		return false;
	}
	if (f.Email.value == '' && requestEmail) {
		alert('Please enter an e-mail address, if available.');
		f.Email.focus();
		requestEmail = false;
		return false;
	}
	
	saveForm();	
	return true;
}

function autofillForm() {
	var a = new Array();
	var b = new Array();
	var f = document.regForm;
	var s, t;
	var i, j, k;
	
	s = document.cookie;
	t = 'matrix_reg_form=';
	i = s.indexOf(t);
	if (i != -1) {
		j = s.indexOf(';', i);
		if (j == -1) j = s.length;
		s = s.substring(i + t.length, j);
		if (s != '') {
			a = s.split('&');			
			for (i = 0; i < a.length; ++i) {
				b = a[i].split(':');
				if (b.length == 2) {
					//scan form elements for a match
					for (j = 0; j < f.elements.length; ++j) {
						if (f.elements[j].name == unescape(b[0])) {
							//only text elements and checkboxes are currently supported
							if (f.elements[j].type == 'text' || f.elements[j].type == 'textarea') {
								f.elements[j].value = unescape(b[1]);
							} else if (f.elements[j].type == 'checkbox') {
								if (unescape(b[1]) == 'Yes') f.elements[j].checked = true;
							}
						}
					}
				}
			}
		}
	}
}

function saveForm() {
	var f = document.regForm;
	var s;
	
	s = '';
	if (f.Store.value != '') s = s + '&' + escape('Store') + ':' + escape(f.Store.value);
	if (f.Address.value != '') s = s + '&' + escape('Address') + ':' + escape(f.Address.value);
	if (f.City.value != '') s = s + '&' + escape('City') + ':' + escape(f.City.value);
	if (f.Low_Price.checked) s = s + '&' + escape('Low_Price') + ':' + escape(f.Low_Price.value);
	if (f.Medium_Price.checked != '') s = s + '&' + escape('Medium_Price') + ':' + escape(f.Medium_Price.value);
	if (f.High_Price.checked) s = s + '&' + escape('High_Price') + ':' + escape(f.High_Price.value);
	if (f.Mens_Products.checked) s = s + '&' + escape('Mens_Products') + ':' + escape(f.Mens_Products.value);
	if (f.Womens_Products.checked) s = s + '&' + escape('Womens_Products') + ':' + escape(f.Womens_Products.value);
	if (f.Childrens_Products.checked) s = s + '&' + escape('Childrens_Products') + ':' + escape(f.Childrens_Products.value);
	if (f.Phone.value != '') s = s + '&' + escape('Phone') + ':' + escape(f.Phone.value);
	if (f.Fax.value != '') s = s + '&' + escape('Fax') + ':' + escape(f.Fax.value);
	if (f.Email.value != '') s = s + '&' + escape('Email') + ':' + escape(f.Email.value);
	if (f.Website.value != '') s = s + '&' + escape('Website') + ':' + escape(f.Website.value);
	if (f.Buyers.value != '') s = s + '&' + escape('Buyers') + ':' + escape(f.Buyers.value);
	
	if (s.substring(0, 1) == '&') s = s.substring(1, s.length);
	document.cookie = 'matrix_reg_form=' + s + ';expires=' + getExpirationDate() + ';path=/';
}

//getExpirationDate is copied from exhibitors.js
function getExpirationDate() {
	var theDate = new Date(2015, 0, 1);
	return theDate.toGMTString();
}

