function checkEmail(email) {
	var filter=/^([\w-]+(?:\.[\w-]+)*)@((?:[\w-]+\.)*\w[\w-]{0,66})\.([a-z]{2,6}(?:\.[a-z]{2})?)$/i;	
	return filter.test(email);
	
	if (filter.test(email)) {
		return true;
	} else{
		return false;
	}
}

function showSendtofriend(itemid) {
	document.getElementById('sendtofriendWrapper'+itemid).style.background = '#eee';
	document.getElementById('sendtofriendWrapper'+itemid).style.padding = '10px';
	document.getElementById('sendtofriendFormWrapper'+itemid).style.display = 'block';
	document.getElementById('sendtofriendLink'+itemid).style.fontWeight = 'bold';
	document.getElementById('sendtofriendLink'+itemid).style.cursor = 'default';
	document.getElementById('sendtofriendLink'+itemid).style.textDecoration = 'none';
	document.getElementById('captchaimage'+itemid).src = '/captcha.jpg?rand=' + Math.random();	// refresh code image		
	// Restore 'Sent to a friend' link if necessary 
	document.getElementById('sendtofriendLink'+itemid).innerHTML = 'Send to a friend';
	document.getElementById('sendtofriendLink'+itemid).style.color = '#333';	
}

function hideSendtofriend(itemid) {
	document.getElementById('sendtofriendWrapper'+itemid).style.background = '#fff';
	document.getElementById('sendtofriendWrapper'+itemid).style.padding = '0';
	document.getElementById('sendtofriendFormWrapper'+itemid).style.display = 'none';
	document.getElementById('sendtofriendLink'+itemid).style.fontWeight = 'normal';
	document.getElementById('sendtofriendLink'+itemid).style.cursor = 'pointer';
	document.getElementById('sendtofriendLink'+itemid).style.textDecoration = 'underline';
	document.getElementById('sendtofriendErrorWrapper'+itemid).style.display = 'none';
	document.getElementById('username'+itemid).value = '';
	document.getElementById('friendemail'+itemid).value = '';
	document.getElementById('youremail'+itemid).value = '';	
	document.getElementById('message'+itemid).value = '';
	document.getElementById('captcha'+itemid).value = '';
}

// Global vars
var msg = '';
var itemid = '';

function showerror (msg) {
			document.getElementById('captchaimage'+itemid).src = '/captcha.jpg?rand=' + Math.random();	// refresh code image	
			document.getElementById('sendtofriendErrorWrapper'+itemid).style.display = 'block';
			document.getElementById('sendtofriendErrorWrapper'+itemid).innerHTML = '<strong>Please complete the following:</strong><ul>'+msg+'</ul>';
}
		
function checkSendtofriend(new_itemid) {

	msg = '';
	itemid = new_itemid;
	var username = document.getElementById('username'+itemid).value;
	var friendemail = document.getElementById('friendemail'+itemid).value;
	var youremail = document.getElementById('youremail'+itemid).value;	
	var captcha_str = document.getElementById('captcha'+itemid).value;
	
	if (username.length == 0) {
		msg += '<li>Your name</li>';
	}
	if (!checkEmail(youremail)) {
		msg += '<li>Your own email address</li>';
	}	
	if (!checkEmail(friendemail)) {
		msg += '<li>Your friend&#039;s email address</li>';
	}
	
	if (captcha_str.length == 0) {
		msg += '<li>The letters from the security code image</li>';
	} 
		
	if (msg.length == 0) { // no errors
		return validateCode(captcha_str); // use AJAX to validate security code
		
	} else { // form validation errors
		showerror (msg);
		return false;
	}
}


function validateCode(usercode) {
	advAJAX.get({
		url: "/ajax/captcha?usercode="+usercode,
		onSuccess : function(obj) { getAJAXresult(obj); }
	});
	return false;
}

function getAJAXresult(req) {
	if (req.responseText == 1) { 		// Send
		sendnewsEmail();
		sentto = document.getElementById('friendemail'+itemid).value; // save the value for later
		hideSendtofriend(itemid);		
		
		// Show success message:
		document.getElementById('sendtofriendLink'+itemid).innerHTML = 'Sent to '+sentto+' (click here to send more)';
		document.getElementById('sendtofriendLink'+itemid).style.color = '#ff0000';
		document.getElementById('sendtofriendLink'+itemid).style.fontWeight = 'bold';		


	} else {							// Error
		msg += '<li>The code you entered does not match the one from the image</li>';
		showerror (msg);
		return false;
	}
}
function sendnewsEmail() {  // through AJAX
	var fromname = document.getElementById('username'+itemid).value;
	var fromemail = document.getElementById('youremail'+itemid).value;
	var friendemail = document.getElementById('friendemail'+itemid).value;
	var message = document.getElementById('message'+itemid).value;	
	// itemtype - project
	// itemtype - newsitem
	var itemtype = document.getElementById('itemtype'+itemid).value;		
	
	advAJAX.get({
		url: "/ajax/sendtofriend?objtype="+itemtype+"&friendemail="+friendemail+"&fromname="+fromname+"&fromemail="+fromemail+"&objid="+itemid+"&message="+message,
		onSuccess : function(obj) { sendstatus = obj.responseText; 
//		alert (sendstatus); 
		}
	});
	return false;
}