﻿function gaTrackerCall() { var pageTracker = _gat._getTracker("UA-2266186-1"); pageTracker._trackPageview(gaTrackerPageName == "" ? "/thankyou.htm" : gaTrackerPageName); }

function isValidEmailAddress(emailAddress) { var pattern = new RegExp(/^(("[\w-\s]+")|([\w-]+(?:\.[\w-]+)*)|("[\w-\s]+")([\w-]+(?:\.[\w-]+)*))(@((?:[\w-]+\.)*\w[\w-]{0,66})\.([a-z]{2,6}(?:\.[a-z]{2})?)$)|(@\[?((25[0-5]\.|2[0-4][0-9]\.|1[0-9]{2}\.|[0-9]{1,2}\.))((25[0-5]|2[0-4][0-9]|1[0-9]{2}|[0-9]{1,2})\.){2}(25[0-5]|2[0-4][0-9]|1[0-9]{2}|[0-9]{1,2})\]?$)/i); return pattern.test(emailAddress); }

var digits = "0123456789";
var phoneNumberDelimiters = "()- ";
var validWorldPhoneChars = phoneNumberDelimiters + "+";
var minDigitsInIPhoneNumber = 8;

function isInteger(s) { var i; for (i = 0; i < s.length; i++) { var c = s.charAt(i); if (((c < "0") || (c > "9"))) return false; } return true; }
function trim(s) { var i; var returnString = ""; for (i = 0; i < s.length; i++) { var c = s.charAt(i); if (c != " ") returnString += c; } return returnString; }
function stripCharsInBag(s, bag) { var i; var returnString = ""; for (i = 0; i < s.length; i++) { var c = s.charAt(i); if (bag.indexOf(c) == -1) returnString += c; } return returnString; }
function isValidPhoneNumber(strPhone) { var bracket = 3; strPhone = trim(strPhone); if (strPhone.indexOf("+") > 1) return false; if (strPhone.indexOf("-") != -1) bracket = bracket + 1; var brchr = strPhone.indexOf("("); var cbrchr = strPhone.indexOf(")"); if (brchr != -1 && brchr > bracket) return false; if (brchr == -1 && cbrchr != -1) return false; if (brchr != -1 && cbrchr != -1 && cbrchr - brchr > 3) return false; s = stripCharsInBag(strPhone, validWorldPhoneChars); return (isInteger(s) && s.length >= minDigitsInIPhoneNumber); }

function validateForm() {
    var isValid = true;
    var obj, obj1;
    $("#validationtext").hide();
    $("#messages").hide();
    $("#extratext").text("").hide();

    obj = clientNameObj;
    if (obj.val() == "") { obj.addClass("invalid"); isValid = false; } else { obj.removeClass("invalid"); }

    obj = clientEmailObj;
    if (obj.val() == "") { obj.addClass("invalid"); isValid = false; } else { obj.removeClass("invalid"); }
    if (obj.val() != "" && !isValidEmailAddress(obj.val())) { obj.addClass("invalid"); isValid = false; $("#extratext").html("Please provide a valid email address.").show(); } else { }
    obj1 = obj;

    obj = enquiryDetailsObj;
    if (obj.val() == "") { obj.addClass("invalid"); isValid = false; } else { obj.removeClass("invalid"); }

    obj = contactNumberObj;
    if (obj.val() == "") { obj.addClass("invalid"); isValid = false; } else { obj.removeClass("invalid"); }
    if (obj.val() != "" && !isValidPhoneNumber(obj.val())) { obj.addClass("invalid"); isValid = false; $("#extratext").html(($("#extratext").html() != "" ? $("#extratext").html() + "<br />" : "") + "Please provide a valid phone number.").show(); } else { }

    if (!isValid) {
        $("#validationtext").show();
        $("#messages").show();
    }

    return isValid;
}

function initialiseForm() {
    setVars();
    $("#warning").hide();
    $("#messages").hide();
    $("#formcontrols").show();
    jQuery.get("/Controls/FormToken.aspx", function(result) { submitCheckerObj.val(result); }, "text");
    submitButtonObj.click(function(event) { if (!validateForm()) { event.preventDefault(); } else { gaTrackerCall(); } });
    clientNameObj.focus();
}

$(document).ready(function() {
    if (autoInitialise) { initialiseForm(); }
});

