// xmlHTTP function call
var xmlHttp = createXmlHttpRequestObject();
var status = document.getElementById("status");
var name = document.getElementById("name");
var email = document.getElementById("email");
var load = document.getElementById("load");
var message = document.getElementById("message");
		//
function validateFields() {

        // hide the 'thank you email has been sent';

        var status = document.getElementById("status");
        var name = document.getElementById("name");
        var email = document.getElementById("email");
        var load = document.getElementById("load");
        var message = document.getElementById("message");
        status.innerHTML = '';

        var error = new Array();
        var errorCount = 0;

        if(name.value == '') {
                error[errorCount] = "please enter your name\n";
                errorCount += 1;
        }
        if(email.value == '') {
                error[errorCount] = 'please enter your email\n';
                errorCount += 1;
        } else {
                 emailTest = "^[_\\.0-9a-z-]+@([0-9a-z][0-9a-z_-]+\\.)+[a-z]{2,4}$";
                 var regex = new RegExp(emailTest);
                 var em = email.value;
                 if (!regex.test(em)) {
                    error[errorCount] = 'please enter valid email \n';
                    errorCount += 1;
                 }

        }
        if(message.value == '') {
                error[errorCount] = 'please enter message\n';
                errorCount += 1;
        }
        if(errorCount > 0) {
                var errorStr = '';
                for(var i=0; i<error.length; i++) {
                        errorStr += '<p class="error">' + error[i] + '</p>';
                }

                /* output error */
                status.innerHTML = errorStr;
        } else {
                //if no errors
                sendEmail();
                //status.innerHTML = '<p class="success">mail send</p>';
        }

}

function sendEmail() {
        var postString = "name=" + document.getElementById("name").value + "&";
        postString += "email=" + document.getElementById("email").value + "&";
        postString += "message=" + document.getElementById("message").value + "&";
        postString += "submitted=" + document.getElementById("submitted").value;
       // shhowup loading
        load.style.display = 'block';
                // ajax send
                if (xmlHttp.readyState == 4 || xmlHttp.readyState == 0)
                {
                        xmlHttp.open("POST", "js/phpmail/sendMail.php?" + postString, true);
                        xmlHttp.onreadystatechange = showResponse;
                        xmlHttp.send(null);
                        //showResponse();
                }
                else
                        alert('error');
                        //setTimeout('sendEmail()', 1000);
        //new ajax('sendEmail.php', {postBody: postString, onComplete: showResponse});
}

function showResponse() {
        load.style.display = 'none';
        status.innerHTML = '<p class="success">mail send</p>';
        //reset the fields
        name.value = '';
        email.value = '';
        message.value = '';
}



// this function called immideatly
// just when js file attached...
function createXmlHttpRequestObject()
{
        // will store the reference to the XMLHttpRequest object
        var xmlHttp;
        // if running Internet Explorer... intresting ... is bug fixed in the IE7???
        if(window.ActiveXObject)
        {
                try
                {
                        xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");
                }
                catch (e)
                {
                        xmlHttp = false; // if this is not successfull - then mark, and later aslert this ...
                }
        }
        // if running Mozilla or other browsers (Opera like ..)
        else
        {
                try
                {
                        // thus xmlHTTP is created by Opera like brousers
                        xmlHttp = new XMLHttpRequest();
                }
                catch (e)
                {
                    //
                        xmlHttp = false;
                }
        }
        // return the created object or display an error message
        if (!xmlHttp)
                alert("Error creating the XMLHttpRequest object.");
        else
                return xmlHttp;
}
