function emailFocus(el) {
	if (el.value == 'Enter email address') {
		el.value='';
	}
	el.style.color = '#333333';
}
function emailBlur(el) {
	if (el.value == '') {
		el.value='Enter email address';
		el.style.color = '#888888';
	}
}


var request = null;
function signUp(fm, mlist) {
	if (request) {
		request.abort();
	}
	if (!mlist) {
		mlist = '';
	}
	request = doGetRequest('/ajax/signup.php?email=' + encodeURIComponent(fm.email.value) + '&mlist='+mlist, signedUp);
	
	return false;
}
function signedUp(res) {
	if (res == 'ok') {
		alert('Thank you, we\'ll be in touch soon.');
		document.fm.email.value = '';
		emailBlur(document.fm.email);
	} else if (res == 'invalid_email') {
		alert('That doesn\'t appear to be a valid email address, please check it and try again.');
	} else if (res == 'communication_failure') {
		alert('A communication error occurred, please try again.');
	} else {
		alert('An error occurred, please try again.');
	}
}

function checkAudioForm(fm) {
	for (var i = 0; i < fm['a[]'].length; i++) {
		if (fm['a[]'][i].checked) {
			return true;
		}
	}
	alert('Please tick the boxes next to the ones you wish to purchase.');
	return false;
}

function toggleCheckbox(fm, i) {
	fm['a[]'][i].checked = !fm['a[]'][i].checked;
	countChecked(fm);
}
function countChecked(fm) {
	var allChecked = true;
	for (var i = 0; i < fm['a[]'].length; i++) {
		if (!fm['a[]'][i].checked) {
			allChecked = false;
		}
	}
	fm['all'].checked = allChecked;
}

function checkAll(fm) {
	fm['all'].checked = true;
	for (var i = 0; i < fm['a[]'].length; i++) {
		fm['a[]'][i].checked = true;
	}
}


function doGetRequest(url, callback) {
	var req;
		
	// Set up XMLHttpRequest object
	try {
		// Firefox, Opera 8.0+, Safari
		req = new XMLHttpRequest();
	} catch (e) {
		// Internet Explorer
		try {
			req = new ActiveXObject("Msxml2.XMLHTTP");
		} catch (e) {
			try {
				req = new ActiveXObject("Microsoft.XMLHTTP");
			} catch (e) {
				return true;
			}
		}
	}
	req.open("GET", url, true);
	if (callback) {
		req.onreadystatechange = function() {
			handleResponse(req, callback)
		};
	}
	req.send(null);
	
	return req;
}
function handleResponse(req, callback) {
	if (req.readyState != 4 || req.status != 200 ) {
		return;
	}
	callback(req.responseText);
}

String.prototype.trim = function (what) {
	if (typeof what == 'undefined') {
		return this.replace(/^\s*/,"").replace(/\s*$/,"");
	} else {
		var reg1 = new RegExp('^'+what+'*');
		var reg2 = new RegExp(what+'*$');
		return this.replace(reg1,"").replace(reg2,"");
	}
}

function openShareWin(url) {
	var d = new Date();
	window.open(url, 'sharewin'+d.getTime(), 'width=755,height=400,resizable=yes,scrollbars=yes,toolbar=no,location=yes,directories=no,status=no,menubar=no,copyhistory=no');
}

function showShareMore() {
	document.getElementById('sharemore').style.display = 'block';
	document.getElementById('sharemore').focus();
}
function hideShareMore() {
	document.getElementById('sharemore').style.display = 'none';
}