function validateEmail(email) {
	// E-mail Validation by Henrik Petersen / NetKontoret
	// Explained at www.echoecho.com/jsforms.htm
	// Please do not remove this line and the two lines above.
	apos=email.indexOf("@"); 
	dotpos=email.lastIndexOf(".");
	lastpos=email.length-1;
	if (apos<1 || dotpos-apos<2 || lastpos-dotpos>3 || lastpos-dotpos<2) {
		return false;
	} else {
		return true;
	}
}

function isNumeric(strString) {
	var strValidChars = "0123456789";
	var strChar;
	var blnResult = true;

	if (strString.length == 0) return false;
	//  test strString consists of valid characters listed above
	for (i = 0; i < strString.length && blnResult == true; i++) {
		strChar = strString.charAt(i);
		if (strValidChars.indexOf(strChar) == -1) {
			blnResult = false;
		}
	}
	return blnResult;
}

function isPhone(strString) {
	var strValidChars = "0123456789()+- ";
	var strChar;
	var blnResult = true;

	if (strString.length == 0) return false;
	//  test strString consists of valid characters listed above
	for (i = 0; i < strString.length && blnResult == true; i++) {
		strChar = strString.charAt(i);
		if (strValidChars.indexOf(strChar) == -1) {
			blnResult = false;
		}
	}
	return blnResult;
}

function addNewsletterSubscriber() 
{
	
	var email = document.getElementById('newsletter_email');
	
	if (email.value == "") {
		alert("You must enter a valid email address.");
		email.focus();
		return false;
	}
	if (email.value != "") {
		if (!validateEmail(email.value)) {
    		alert("You must enter a valid email address");
    	    email.focus();
    		return false;
    	}
	}	
	
	new Ajax.Updater('newsletter_signup_div', baseUrl+'/home/ajax_add_newsletter_subscriber', 
		{ 
    		method:'post', 
    		postBody:'newsletter_email='+$F('newsletter_email'),
    		onComplete: function() {document.getElementById('newsletter_email').value = "";}
    	}
    );	
}

function showVatNumberField(){
	var vatRegisteredSelection = document.getElementById('vat_registered').selectedIndex;
	var vatRegisteredValue = document.getElementById('vat_registered').options[vatRegisteredSelection].value;	
	
	if(vatRegisteredValue == 1){
		document.getElementById('vat_number_div').style.display = 'inline';
	}
	else {
		document.getElementById('vat_number_div').style.display = 'none';
	}
}

function showReferralCodeField(){
    
	var referral_box = $('referral_box');
    if (Element.visible(referral_box))
		Effect.BlindUp(referral_box);
    else {
      Effect.BlindDown(referral_box);
	  //$('affiliate_code').focus();
    }
}


function checkValidSubdomain() 
{
	var subdomain = document.getElementById('instance_prefix');
	
	if (subdomain.value != "") {
		new Ajax.Updater('check_valid_account_result_div', baseUrl+'/home/ajax_check_valid_subdomain', 
			{ 
	    		method:'post', 
	    		postBody:'subdomain='+$F('instance_prefix')
	    	}
	    );	
	}
}

function suggestSubdomain()
{
	subdomain = document.getElementById('agency_name').value;
	
	str1 = subdomain.replace(/[^a-zA-Z0-9]+/g,'').toLowerCase();
	str2 = str1.substring(0,24);
	document.getElementById('instance_prefix').value = str2;
}

function populateTrialForm()
{     
	document.getElementById('instance_owner').value = "Adrian Walls";
	document.getElementById('instance_owner_email').value = "adrian@rentpro.co.uk";
	document.getElementById('instance_owner_phone').value = "028 41754844";
	document.getElementById('address1').value = "8 Osborne Promenade";
	document.getElementById('address2').value = "KPoint Internet Solutions";
	document.getElementById('town').value = "Warrenpoint";
	document.getElementById('postcode').value = "BT34 3NQ";
	document.getElementById('county').value = "County Down";
	document.getElementById('country_id').selectedIndex = 1;
	document.getElementById('agency_name').value = "Warrenpoint Lettings";	
	document.getElementById('vat_registered').selectedIndex = 1;
	document.getElementById('vat_number').value = "GB-123456";
	document.getElementById('plan_id').selectedIndex = 2;
	document.getElementById('instance_prefix').value = "warrenpointlettings";
	document.getElementById('agree').checked = true;
}