

function validateForm(event) {
	if (d.getElementById('firstname')) {
		if ($F('firstname') == '') {
			alert("Please enter a first name.");
			return false;
		}
	}

	if (d.getElementById('lastname')) {
		if ($F('lastname') == '') {
			alert("Please enter a last name.");
			return false;
		}
	}

	if (d.getElementById('dobyear')) {
		if (d.getElementById('dobyear').value == 0) {
			alert("Please enter your date of birth.");
			return false;
		}

	}

	if (d.getElementById('user_name')) {
		user_name = $F('user_name');
		if (user_name.length < 5) {
			alert("Your username must be at least 5 characters long.");
			return false;
		}
	}

	if (d.getElementById('password')) {
		password = $F('password');
		if (password.length < 4) {
			alert("Your password must be at least 4 characters long.");
			return false;
		}
	}

	if (d.getElementById('password_confirm')) {
		password_confirm = $F('password_confirm');
		if (password_confirm.value != $F('password').value) {
			alert("Your password confirmation should be the same as the password.");
			return false;
		}
	}

	if (d.getElementById('email')) {
		email = $F('email');
		if (email == '' || email.indexOf('@') < 0 || email.indexOf('.') < 0) {
			alert("Please enter a valid email address.");
			return false;
		}
	}


	if (d.getElementById('security')) {
		captcha = $F('security');
		if (captcha == '') {
			alert("Please enter the letters you see in the image.");
			return false;
		}
	}

	return true;
}

function showTooYoung() {
	if (d.getElementById('mainform')) {
		Element.hide($('mainform'));
	}
	if (d.getElementById('scrapeform')) {
		Element.hide($('scrapeform'));
	}
	if (d.getElementById('message')) {
		Element.hide($('message'));
	}
	Element.show($('tooyoung'));
}

function doTooYoung(yes) {
	if (yes) {
		dobstr = getDobDisplay(d.getElementById('dobYear').value, d.getElementById('dobMonth').value, d.getElementById('dobDay').value);
		top.document.location = '/userAuth.do?userauthAction=confirmAge&dob=' + dobstr + '&ageButton=Yes';
	} else {
		if (d.getElementById('mainform')) {
			Element.show($('mainform'));
		}
		if (d.getElementById('scrapeform')) {
			Element.show($('scrapeform'));
		}
		if (d.getElementById('message')) {
			Element.show($('message'));
		}
		Element.hide($('tooyoung'));
	}
}

function updateAge() {
	d.getElementById('dobPreview').innerHTML = getDobDisplay(d.getElementById('dobYear').value, d.getElementById('dobMonth').value, d.getElementById('dobDay').value);

//		if (d.getElementById('dobYear').value > 0) {
//			d.getElementById('agePreview').innerHTML = calcAge(d.getElementById('dobYear').value, d.getElementById('dobMonth').value, d.getElementById('dobDay').value);
//		} else {
//			d.getElementById('agePreview').innerHTML = '';
//		}

}

function getDobDisplay(yearDob, monthDob, dateDob) {
	dobStr = (monthDob > 0 ? (monthDob+"/") : "") + (dateDob > 0 ? (dateDob+"/") : "") + yearDob;  
	return dobStr;
}

function calcAge(yearDob, monthDob, dateDob) {
	var now = new Date();
	var today = new Date(now.getYear(),now.getMonth(),now.getDate());

	var yearNow = now.getFullYear();
	var monthNow = now.getMonth()+1; // 0-indexed
	var dateNow = now.getDate();

	var yearAge = yearNow - yearDob;

	if (monthNow >= monthDob) {
		var monthAge = monthNow - monthDob;
	}
	else {
		yearAge--;
		var monthAge = 12 + monthNow -monthDob;
	}

	if (dateNow >= dateDob) {
		var dateAge = dateNow - dateDob;
	}
	else {
		monthAge--;
		var dateAge = 31 + dateNow - dateDob;

		if (monthAge < 0) {
			monthAge = 11;
			yearAge--; 
		}
	}
	return yearAge;
}

var FormTip = Class.create();
FormTip.prototype = {
	initialize : function(fields) {
		this.fields = fields;
	},
	selectedField : null,
	show : function(field) {
		if (this.selectedField == field) return;
		this.selectedField = field;
		this.fields.each( function(value, index) {
			if (Element.visible( $(value) )) {
				//Effect.Fade( $(value), { duration : 0.25 });
				$(value).hide();
			}
		} );
		//Effect.Appear( $(this.selectedField) , { duration : 0.25 });
		$(this.selectedField).show();
	},
	hideAll : function() {
		this.fields.each( function(value, index) {
			if (Element.visible( $(value) )) {
				$(value).hide();
			}
		} );
	}
}

function changeBook(type) {
	if (type == 'Hotmail') {
		Element.show('hotmail');
		Element.hide('yahoo');
		Element.hide('aol');
		Element.hide('gmail');
	}
	else if (type == 'Yahoo') {
		Element.hide('hotmail');
		Element.show('yahoo');
		Element.hide('aol');
		Element.hide('gmail');
	}
	if (type == 'Gmail') {
		Element.hide('hotmail');
		Element.hide('yahoo');
		Element.hide('aol');
		Element.show('gmail');
	}
	if (type == 'AOL') {
		Element.hide('hotmail');
		Element.hide('yahoo');
		Element.show('aol');
		Element.hide('gmail');
	}
}

function scrape_submit_handler(type) {
		$('submit'+type).disabled="true";
		$('prescrape').style.cursor='wait';
		$('waitmessage'+type).innerHTML='Retrieving contacts.';
		$('waitmessage'+type).style.color='green';
		$('waitmessage'+type).style.fontWeight='bold';
		setTimeout(function() { timer_handler(type); }, 1500);
		return true;
}

function timer_handler(type) {
		$('waitmessage'+type).innerHTML = $('waitmessage'+type).innerHTML + " .";
		setTimeout(function() { timer_handler(type); }, 1500);
}

