function sendContactForm(form) {
    
    data = Form.serialize(form);

	$('fb_spinner').style.display = 'inline';
    
    remote_function('store.feedback', data, 
		function(req, json) {
			// hide the spinner
			$('fb_spinner').className = 'done';
			$('fb_spinner').innerHTML = req.responseText;
			
			window.setTimeout(
			    function() {
			        $('fb_spinner').style.display = 'none';
			    }, 5000);
		}, 

		function(req, json) {
			alert("Error: " + req.responseText);
		}
	);
    
}

function sendCatelogForm(form, thisform) {
    
    data = Form.serialize(form);

	$('fb_spinner').style.display = 'inline';
    
    remote_function('store.feedback', data, 
		function(req, json) {
			// hide the spinner
			$('fb_spinner').className = 'done';
			$('fb_spinner').innerHTML = 'catalogue request sent!';
			
			window.setTimeout(
			    function() {
			        $('fb_spinner').style.display = 'none';
			    }, 5000);
		}, 

		function(req, json) {
			alert("Error: " + req.responseText);
		}
	);
    
    
}

function validate_required(field,alerttxt)
{
    with (field)
    {
        if (value==null||value=="")
              {alert(alerttxt);return false}
        else {return true}
    }
}

function validateForm(thisform) {

    with (thisform)
    {
        if (validate_required(first_name,"First Name must be filled out!")==false)
              {first_name.focus();return false}
        if (validate_required(surname,"Surname must be filled out!")==false)
              {surname.focus();return false}
        
        if (validate_required(email_address,"Email must be filled out!")==false)
              {email_address.focus();return false}
        
        if (validate_required(street_address,"Street Address must be filled out!")==false)
              {street_address.focus();return false}
        
        if (validate_required(suburb,"Suburb must be filled out!")==false)
              {suburb.focus();return false}
        
        if (validate_required(postcode,"Postcode must be filled out!")==false)
              {postcode.focus();return false}
        
	if (validate_required(state,"State must be filled out!")==false)
              {state.focus();return false}
        
        if (validate_required(country,"Country must be filled out!")==false)
              {country.focus();return false}
	
	if (validate_required(source,"Please select where you heard about us")==false)
              {source.focus();return false}
    }
}

function validateFormContact(thisform) {

    with (thisform)
    {
        if (validate_required(first_name,"First Name must be filled out!")==false)
              {first_name.focus();return false}
        
        if (validate_required(surname,"Surname must be filled out!")==false)
              {surname.focus();return false}
        
        if (validate_required(email_address,"Email must be filled out!")==false)
              {email_address.focus();return false}
    }
}

function subscribe(_form) {
    
    rxp = /^([0-9a-zA-Z]([-.\w]*[0-9a-zA-Z])*@([0-9a-zA-Z][-\w]*[0-9a-zA-Z]\.)+[a-zA-Z]{2,9})$/;
    
    if(rxp.test(_form.email_address.value))
    {
        data = Form.serialize(_form);

        // console.log(data);

        remote_function('myaccount.subscribe_to_newsletter', data, 
            function(req, json) {
                $('subscribe').style.display = 'none';
                
                $('subscribe_result').innerHTML = req.responseText;
                $('subscribe_result').style.display = 'block';

                Effect.Highlight('subscribe_result');
            }, 

            function(req, json) {
                alert('There was a problem adding ' + _form.email_address.value + ' to the subscriber list. Please check that you haven\'t already subscribed using this email address.');

            }
        );
        
    } else {
        alert('Please use a valid email address.');
    }
    
}

function validate(_form) {
        rxp = /^([0-9a-zA-Z]([-.\w]*[0-9a-zA-Z])*@([0-9a-zA-Z][-\w]*[0-9a-zA-Z]\.)+[a-zA-Z]{2,9})$/;
        if(!rxp.test(_form.email_address.value)) {
                alert('Please use a valid email address.');
                return false;
        }
}
