function validate_simple(form, prefix) {
	if (prefix == undefined) prefix = 'mod_mailer_';
	var bad = find_and_mark(form);
	if (bad.length > 0) {
		out = bad.length + ' errors prevented this application from being submitted:\n';
		for (var i=0; i<bad.length; i++) out += (bad[i]==prefix+'replyto'? 'Email':bad[i].substring(prefix.length).replace(/_/g, ' ')) + ' can\'t be blank\n';
		alert(out);
		return false;
	} else return true;
}
function validate_apply(form) {
	var bad = find_and_mark(form, 'mod_mailer_');
	/*if (form.mod_mailer_Ethnic_background.options[form.mod_mailer_Ethnic_background.selectedIndex].value == 'Other') {
		if (form.mod_mailer_Other_ethnic.value == '') {
			form.mod_mailer_Other_ethnic.className = 'error';
			bad.push("mod_mailer_Since Ethic background is \"Other\", Other ethnic");
		} else form.mod_mailer_Other_ethnic.className = 'noerror';
	}*/
	if (bad.length == 0) return true;

	scroll(0,0);

	out = '<h2 class="error">' + bad.length + ' errors prevented this application from being submitted</h2>'
		+ '<p>There were problems with the following fields:</p>'
		+ '<ul>';
	for (var i=0; i<bad.length; i++) out += '<li>' + (bad[i]=='mod_mailer_replyto'? 'Email':bad[i].substring(11).replace(/_/g, ' ')) + ' can\'t be blank</li>';
	out += '</ul>';
	document.getElementById('apply_errors').innerHTML = out;
	document.getElementById('apply_errors').style.display = 'block';

	return false;
}

function find_and_mark(form) {
	bad = new Array();
	for(var i=0; i<form.length; i++) if (form.elements[i].className != 'optional') {
		if (form.elements[i].type == 'text' || form.elements[i].type == 'textarea') {
			if (form.elements[i].value == '') {
				form.elements[i].className = 'error';
				bad.push(form.elements[i].name);
			} else form.elements[i].className = 'noerror';
		} else if (form.elements[i].type == 'select-multiple' || form.elements[i].type == 'select-one') {
			if (form.elements[i].selectedIndex < 0) {
				form.elements[i].className = 'error';
				bad.push(form.elements[i].name);
			} else form.elements[i].className = 'noerror';
		}
	}
	return bad;
}
function shoh_taf() {
	var obj = document.getElementById('tellafriend_form');
	if (obj.style.display=='block') hide_taf();
	else {
		obj.style.display = 'block';
		if (window.inplayer) $('player').style.display='none';
	}
	if (window.resetMiddle) resetMiddle();
	window.scrollBy(0,obj.offsetHeight);
}
function hide_taf() {
	$('tellafriend_form').style.display='none';
	if (window.inplayer) $('player').style.display='block';
	if (window.resetMiddle) resetMiddle();
}
function send_taf(form) {
	topost = '';
	for(var i=0; i<form.length; i++) if (form.elements[i].name.substring(0,11) == 'mod_mailer_') {
		topost += '&'+form.elements[i].name + '=' + encodeURIComponent(form.elements[i].value);
	}
	var m_to = form.mod_mailer_To_Email.value;
	if (form.mod_mailer_To_Name.value) m_to = form.mod_mailer_To_Name.value + '<' + m_to + '>';
	var m_from = form.mod_mailer_From_Email.value;
	if (form.mod_mailer_Name.value) m_from = form.mod_mailer_Name.value + '<' + m_from + '>';
	var m_subject = form.mod_mailer_Subject.value;
	$('taf_sent').innerHTML = '&raquo; Sending...';
	req = new Ask(
		urlroot + 'gen_ajax.php?rid=' + Math.random() + '&target=mod_mailer&q=send&template=oci_taf&to=' + encodeURIComponent(m_to) + '&from=' + encodeURIComponent(m_from) + '&subject=' + encodeURIComponent(m_subject),
		{ handler: done_taf, postdata: topost, indicator: 'hidden_ajax_busy' });
}
function done_taf(xhr) {
	var tmp;
	try {
		eval('tmp = ('+xhr.responseText+')');
		if (tmp.error) {
			alert(tmp.error);
			$('taf_sent').innerHTML = '&raquo; Error: your message was not sent';
		}
		else {
			// show visually that the message has been sent
			if (tmp.sent) {
				$('taf_sent').innerHTML = '&raquo; Your message was sent';
				window.setTimeout("hide_taf()", 2000);
			} else {
				alert('We are sorry for the inconvenience. There was a server error and your message was not sent. For now, please use your own email program to send your message.');
				$('taf_sent').innerHTML = '&raquo; Error: your message was not sent';
			}
		}
	} catch (e) {
		alert('Error:\n' + xhr.responseText);
		$('taf_sent').innerHTML = '&raquo; Error: your message was not sent';
	}
}
function taf_checklength(obj) {
	if (obj.value.length > 1000) obj.value = obj.value.substring(0, 1000);
}

