function Ajax(file,target){
    this.file=file;
	this.target=target;
    this.xmlobj=null;
    try{
        // instantiate object for Mozilla, Nestcape, etc.
        this.xmlobj=new XMLHttpRequest();
    }
    catch(e){
        try{
            // instantiate object for Internet Explorer
            this.xmlobj=new ActiveXObject('Microsoft.XMLHTTP');
        }
        catch(e){
            // Ajax is not supported by the browser
            this.xmlobj=null;
        }
    }
    // define 'getData()" method
    this.getData=function(){
        // if request is completed
        if(this.xmlobj.readyState==4){
         // if status == 200 return file data
         if(this.xmlobj.status==200){
                // get data
                this.target.innerHTML=this.xmlobj.responseText;
         }
         else{
                alert('Failed to get response :'+ this.xmlobj.statusText);
         }
        }
    }
    // assign state handler
    this.xmlobj.onreadystatechange=function(){this.getData};
    // open socket connection
    this.xmlobj.open('GET',this.file,false);
    // send request
    this.xmlobj.send(null);
}

function referred(form){
	for (count = 0; count < 7; count++){
		if(form.hearabout[count].checked)
			break;
	}
	form.hidref.value = form.hearabout[count].value;
}

function contactSubmit() {
var result = document.getElementById('result');
var file = "mail.php?name=" + document.getElementById('name').value + "&phone=" + 
			document.getElementById('phone').value + "&email=" + 
			document.getElementById('email').value + "&message=" +
			document.getElementById('message').value + "&hearabout_other=" +
			document.getElementById('hearabout_other').value + "&frompage=" +
			document.getElementById('frompage').value + "&hidref=" +
			document.getElementById('hidref').value;

var sendData = new Ajax(file,result);
sendData.getData();
document.forms[0].reset();
}

function referSubmit() {
var result = document.getElementById('result');
var file = "refermail.php?sendername=" + document.getElementById('sendername').value + "&senderemail=" + 
			document.getElementById('senderemail').value + "&friendname=" + 
			document.getElementById('friendname').value + "&friendemail=" + 
			document.getElementById('friendemail').value + "&subj=" +
			document.getElementById('subj').value + "&message=" +
			document.getElementById('message').value + "&hearabout_other=" +
			document.getElementById('hearabout_other').value + "&frompage=" +
			document.getElementById('frompage').value + "&hidref=" +
			document.getElementById('hidref').value;

var sendData = new Ajax(file,result);
sendData.getData();
}

function validate(contactform) {
	var validName = false;
	var validEmail = false;
	var validMessage = false;
	var name = document.getElementById('name');
	var nameError = document.getElementById('nameError');
	var email = document.getElementById('email');
	var emailError = document.getElementById('emailError');
	var message = document.getElementById('message');
	var messageError = document.getElementById('messageError');
	
	
	if(contactform.name.value === '') {
		name.style.border = '1px solid red';
		nameError.style.color = 'red';
		nameError.innerHTML = 'Please fill in your name';
	}
	else {
		name.removeAttribute('style');
		nameError.innerHTML = '';
		validName = true;
	}
	
	if(contactform.email.value === '') {
		email.style.border = '1px solid red';
		emailError.style.color = 'red';
		emailError.innerHTML = 'Please fill in your email address';
	}
	else {
		email.removeAttribute('style');
		emailError.innerHTML = '';
		validEmail = true;
	}
	
	if(contactform.message.value === '') {
		message.style.border = '1px solid red';
		messageError.style.color = 'red';
		messageError.innerHTML = 'Please fill in a message';		
	}
	else {
		message.removeAttribute('style');
		message.style.height = '80px';
		message.style.width = '400px';
		messageError.innerHTML = '';
		validMessage = true;
	}
	
	if(validName && (validEmail && validMessage)) {
		return true;
	}
	else {
		return false;
	}
}
