
function ltrim(s) { return s.replace(/^\s*/, ''); }
function rtrim(s) { return s.replace(/\s*$/, ''); }
function trim(s) { return ltrim(rtrim(s)); }


function load_forward_to_a_friend() {
	var f = document.forms['tellafriend'];
	if(!f) return;

	var qs = parse_query_string(document.location.href, 1);

	var page_title = qs['page_title'];
	if(!page_title) page_title = 'Levendi Estates';
	f.page_title.value = page_title;


	var ref = '';
	if(qs['ref'] != undefined) ref = qs['ref'];
	else ref = document.referrer;


	var refhostname = hostname(ref);

	if(refhostname != hostname()) ref = 'http://' + hostname();
	f.page_url.value = ref;

	var ref_short = ref;
	var maxlen = 75;
	if(ref_short.length > maxlen) ref_short = ref_short.substr(0, maxlen) + '...';

	var page_title_short = page_title;
	var maxlen = 50;
	if(page_title_short.length > maxlen) page_title_short = page_title_short.substr(0, maxlen) + '...';


	var spn = document.getElementById('span_page_href');
	if(spn) {
		spn.innerHTML = '<br><b>'+page_title_short+'</b><br><a href="'+ref+'" target="_blank">'+ref_short+'</a>';
	}

	var backbtn = f.back;
	if(backbtn) {
		backbtn.onclick = function() {
			document.location = ref;
		}
	}
}


function hostname(href) {
	if(href == undefined) href = document.location.href;
	var m = href.match(/(https?|ftp):\/\/([^\/]*)/);
	if(m) return trim(m[2].toLowerCase());
	else return '';
}

function parse_query_string(href, _trim) {
	var qsparams = new Array();
	var qs = href.substr(href.indexOf('?')+1);
	qs = qs.replace('&amp;', '&');

	var bits = qs.split(/&/);
	for(var i=0; i<bits.length; ++i) {
		var n = bits[i].split(/=/);
		qsparams[n[0]] = unescape(n[1]);
		if(_trim) qsparams[n[0]] = trim(qsparams[n[0]]);
	}

	return qsparams;
}


function validate_forward_to_a_friend(f) {
	var e = new Errors();
	if(!validate_email(f.sender_email.value)) e.add("Your email address is invalid.");
	if(!validate_email(f.recipient_email.value)) e.add("Your friend's email address is invalid.");

	return e.alert() ? false : true;

}







