function trim (str, charlist) {
    // Strips whitespace from the beginning and end of a string  
    // 
    // version: 909.322
    // discuss at: http://phpjs.org/functions/trim
    // +   original by: Kevin van Zonneveld (http://kevin.vanzonneveld.net)
    // +   improved by: mdsjack (http://www.mdsjack.bo.it)
    // +   improved by: Alexander Ermolaev (http://snippets.dzone.com/user/AlexanderErmolaev)
    // +      input by: Erkekjetter
    // +   improved by: Kevin van Zonneveld (http://kevin.vanzonneveld.net)
    // +      input by: DxGx
    // +   improved by: Steven Levithan (http://blog.stevenlevithan.com)
    // +    tweaked by: Jack
    // +   bugfixed by: Onno Marsman
    // *     example 1: trim('    Kevin van Zonneveld    ');
    // *     returns 1: 'Kevin van Zonneveld'
    // *     example 2: trim('Hello World', 'Hdle');
    // *     returns 2: 'o Wor'
    // *     example 3: trim(16, 1);
    // *     returns 3: 6
    var whitespace, l = 0, i = 0;
    str += '';
    
    if (!charlist) {
        // default list
        whitespace = " \n\r\t\f\x0b\xa0\u2000\u2001\u2002\u2003\u2004\u2005\u2006\u2007\u2008\u2009\u200a\u200b\u2028\u2029\u3000";
    } else {
        // preg_quote custom list
        charlist += '';
        whitespace = charlist.replace(/([\[\]\(\)\.\?\/\*\{\}\+\$\^\:])/g, '$1');
    }
    
    l = str.length;
    for (i = 0; i < l; i++) {
        if (whitespace.indexOf(str.charAt(i)) === -1) {
            str = str.substring(i);
            break;
        }
    }
    
    l = str.length;
    for (i = l - 1; i >= 0; i--) {
        if (whitespace.indexOf(str.charAt(i)) === -1) {
            str = str.substring(0, i + 1);
            break;
        }
    }
    
    return whitespace.indexOf(str.charAt(0)) === -1 ? str : '';
}

function validate_referral(form){
	var referral = [];
	
	var ref_name = document.getElementById('ref_name');
	var ref_name_str = ref_name.value;
	var ref_email = document.getElementById('ref_email');
	var ref_email_str = ref_email.value;
	var ref = [ref_name_str, ref_email_str];
	
	var f1_name = document.getElementById('f1_name');
	var f1_name_str = f1_name.value;
	var f1_email = document.getElementById('f1_email');
	var f1_email_str = f1_email.value;
	var f1 = [f1_name_str, f1_email_str];
	
	var f2_name = document.getElementById('f2_name');
	var f2_name_str = f2_name.value;
	var f2_email = document.getElementById('f2_email');
	var f2_email_str = f2_email.value;
	var f2 = [f2_name_str, f2_email_str];
	
//	var f3_name = document.getElementById('f3_name');
//	var f3_name_str = f3_name.value;
//	var f3_email = document.getElementById('f3_email');
//	var f3_email_str = f3_email.value;
//	var f3 = [f3_name_str, f3_email_str];	
	
	referral = [ref, f1, f2];
	
//	alert(referral[1])
	
	var email_regex = /\b[A-Z0-9._%+-]+@(?:[A-Z0-9-]+\.)+[A-Z]{2,4}\b/i;	
	
	for(var i = 0; i <= 2; i++){
		if(trim(referral[i][0]) == ''){
			if(i == 0){
				alert('Your name is required.');
				ref_name.focus();
			}else{
				alert("Your friend #"+ i +"'s name is required.");
				if(i == 1) f1_name.focus();
				else if(i == 2) f2_name.focus();
				else if(i == 3) f3_name.focus();
			}
			return false;	
		}else if(trim(referral[i][1]) == ''){
			if(i == 0){
				alert('Your email is required.');
				ref_email.focus();
			}else{
				alert("Your friend #"+ i +"'s email is required.");
				if(i == 1) f1_email.focus();
				else if(i == 2) f2_email.focus();
//				else if(i == 3) f3_email.focus();
			}
			return false;
		}else if(!referral[i][1].match(email_regex)){
			if(i == 0){
				ref_email.className = 'rf_input_error';
				alert('Your email is invalid.');
				ref_email.focus();
			}else{
				alert("Your friend #"+ i +"'s email is invalid.");
				if(i == 1){
					f1_email.className = 'rf_input_error';
					f1_email.focus();
				}else if(i == 2){
					f2_email.className = 'rf_input_error';
					f2_email.focus();
//				}else if(i == 1){
//					f3_email.className = 'rf_input_error';
//					f3_email.focus();
				}	
			}
			return false;
		}else{
			if(i == 0) ref_email.className = 'rf_input';
			if(i == 1) f1_email.className = 'rf_input';
			if(i == 2) f2_email.className = 'rf_input';
//			if(i == 1) f3_email.className = 'rf_input';
		}
	}	
	//return true;
	
	new Ajax.Request('/sendReferral.php',{
			method:'post',
			parameters: form.serialize(true),
			onSuccess: function(transport){
				var response = transport.responseText;
				if(response){
//					window.location.reload(true);
					alert(response);
				}
			},
			onFailure: function(){}
	});
	
}

