// AJAX Email, Keith Tsang 26/03/2010

var sending = false;

// Cross Browser Ajax - KT tested in IE 6, IE 7, Firefox 3.5, Chrome 4.1 and Safari 4
function ajaxPost() {

    var activexmodes = ["Msxml2.XMLHTTP", "Microsoft.XMLHTTP"];
    if (window.ActiveXObject) {
        for (var i = 0; i < activexmodes.length; i++) {
            try {
                return new ActiveXObject(activexmodes[i]);
            }
            catch (e) {
            }
        }
    }
    else if (window.XMLHttpRequest) {
        return new XMLHttpRequest();
    }
    else {
        return false;
    }
}

function ajaxSendEmail() {
 
    if (!sending) {
        sending = true;
        var mypostrequest = new ajaxPost();
        mypostrequest.onreadystatechange = function() {
            if (mypostrequest.readyState == 4) {
                sending = false;
                if (mypostrequest.status == 200 || window.location.href.indexOf("http") == -1) {
                    document.getElementById("callBackResult").innerHTML = mypostrequest.responseText;
                    alert("Your callback request has been received");
                    document.getElementById("TxtName").value = "";
                    document.getElementById("TxtTelephone").value = "";
                }
                else {
                    document.getElementById("callBackResult").innerHTML = "An unexpected error occured, please telephone 0800 783 9019";
                    
                }
            }
        }
        var ddl = document.getElementById("DDLTime");
        var clientName = encodeURIComponent(document.getElementById("TxtName").value);
        var telephone = encodeURIComponent(document.getElementById("TxtTelephone").value);
        var bestTime = encodeURIComponent(ddl[ddl.selectedIndex].text);
        var subject = "CAL callback request";
        var parameters = "clientName=" + clientName + "&telephone=" + telephone + "&bestTime=" + bestTime +
	                             "&subject=" + subject;
        mypostrequest.open("POST", "CallBack.aspx", true);
        mypostrequest.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
        mypostrequest.send(parameters);
    }
}

function validate() {
    if (validateName(document.getElementById("TxtName").value) && validateNumber(document.getElementById("TxtTelephone").value)) {
        ajaxSendEmail();
    }
  
}


function validateNumber(str) 
{
    var nameRegEx = /^([0-9 ]+)$/;
    if (str.match(nameRegEx)) {
        if (str.length > 0) {
            return true;
        }       
    }
 
    alert("Please enter a telephone number - numbers and spaces only");
    return false;
}

function validateName(str) 
{
    if (str.indexOf("<") >= 0 || str.indexOf(">") >= 0) {
        alert("Please make sure that your name does not contain '<' and '>' characters");
        return false;
    }
    else {
        if (str.length > 0) {
            return true;
        }
        alert("Please enter your name");
        return false;
    }
}
 
	    