$(document).ready(function(){
	initValidation();
});
function initValidation(){
	$("#form1").validate({
		rules: {
			txtFirstName: "required",
			txtLastName: "required",
			txtMobile: {
				required: function(element) {
					return (($("#txtHomePhone").val() == "") && ($("#txtWorkPhone").val() == "") && ($("#txtMobile").val() == ""));
				}
			},
			txtPhone: "required",
			txtPhoneChk: {
				equalTo: "#txtPhone"
			},
			txtEmail: {
				required: true,
				email: true
			},
			txtAddress: "required",
			txtPostcode: "required",
			txtEstimateValue: "required",
			txtPropertyValue: "required",
			txtAmountRequired: "required",
			txtMortgageAmount: "required",
			txtWhatTimeOther: {
				required: function(element) {
					return $("#ddlWhatTime").val() == "Other";
				}
			},
			chkTerms: "required"
		},
		messages: {
			txtFirstName: "Please insert your first name",
			txtLastName: "Please insert your last name",
			txtHomePhone: "Please insert at least one contact number",
			txtWorkPhone: "Please insert at least one contact number",
			txtMobile: "Please insert at least one contact number",
			txtPhone: "Please insert at least one contact number",
			txtPhoneChk: "Phone numbers do not match",
			txtEmail: "Please insert your email address",
			txtAddress: "Please insert your address",
			txtPostcode: "Please insert your postcode",
			txtPropertyValue: "Please enter your property value",
			txtAmountRequired: "Please enter how much you need to borrow",
			txtMortgageAmount: "Please enter your current mortgage balance",
			txtWhatTimeOther: "Please enter a suitable time to call back",
			chkTerms: "Please confirm by ticking checkbox!"
		},
		errorPlacement: function(error, element){
			if(element.attr('id')=="chkTerms"){
				$("#btnSubmit").after(error);
			} else
			element.after(error);
		}
	});
};

function AllowOnlyNumeric()
{
    //var key = window.event.keyCode;
    if ( (window.event.keyCode > 47 && window.event.keyCode < 58) || window.event.keyCode == 46 )
        return;
    else
        window.event.returnValue = null;
}
	
function checkLTV()
{
	if ((document.form1.txtPropertyValue.value != "") && (document.form1.txtAmountRequired.value != ""))
	{
		var propvalue = parseInt(document.form1.txtPropertyValue.value);
		var loanreq = parseInt(document.form1.txtAmountRequired.value);
		var maxloan = Math.round(propvalue * 0.85);
		
		if(maxloan < loanreq)
		{
			document.form1.txtAmountRequired.value = maxloan;
			document.getElementById("lblMaxLTV").innerHTML = "Maximum loan to value currently available is 85%";
		}
		else
		{
			document.getElementById("lblMaxLTV").innerHTML = "";
		}
	}
	else
	{
		document.getElementById("lblMaxLTV").innerHTML = "";
	}
}

function checkLTVcalc()
{
	if ((document.form2.txtPropertyValue.value != "") && (document.form2.txtAmountRequired.value != ""))
	{
		var propvalue = parseInt(document.form2.txtPropertyValue.value);
		var loanreq = parseInt(document.form2.txtAmountRequired.value);
		var maxloan = Math.round(propvalue * 0.85);
		
		if(maxloan < loanreq)
		{
			document.form1.txtAmountRequired.value = maxloan;
			document.getElementById("lblMaxLTV").innerHTML = "Maximum loan to value currently available is 85%";
		}
		else
		{
			document.getElementById("lblMaxLTV").innerHTML = "";
		}
	}
	else
	{
		document.getElementById("lblMaxLTV").innerHTML = "";
	}
}
	
function checkLTV90()
{
	if ((document.form1.txtPurchasePrice.value != "") && (document.form1.txtAmountRequired.value != ""))
	{
		var propvalue = parseInt(document.form1.txtPurchasePrice.value);
		var loanreq = parseInt(document.form1.txtAmountRequired.value);
		var maxloan = Math.round(propvalue * 0.9);
		
		if(maxloan < loanreq)
		{
			document.form1.txtAmountRequired.value = maxloan;
			document.getElementById("lblMaxLTV").innerHTML = "Maximum loan to value currently available is 90%";
		}
		else
		{
			document.getElementById("lblMaxLTV").innerHTML = "";
		}
	}
	else
	{
		document.getElementById("lblMaxLTV").innerHTML = "";
	}
}

function checkLTV80()
{
	if ((document.form1.txtPropertyValue.value != "") && (document.form1.txtAmountRequired.value != ""))
	{
		var propvalue = parseInt(document.form1.txtPropertyValue.value);
		var loanreq = parseInt(document.form1.txtAmountRequired.value);
		var maxloan = Math.round(propvalue * 0.80);
		
		if(maxloan < loanreq)
		{
			document.form1.txtAmountRequired.value = maxloan;
			document.getElementById("lblMaxLTV").innerHTML = "Maximum loan to value currently available is 80%";
		}
		else
		{
			document.getElementById("lblMaxLTV").innerHTML = "";
		}
	}
	else
	{
		document.getElementById("lblMaxLTV").innerHTML = "";
	}
}

function checkLTV75()
{
	if ((document.form1.txtPropertyValue.value != "") && (document.form1.txtAmountRequired.value != ""))
	{
		var propvalue = parseInt(document.form1.txtPropertyValue.value);
		var loanreq = parseInt(document.form1.txtAmountRequired.value);
		var maxloan = Math.round(propvalue * 0.75);
		
		if(maxloan < loanreq)
		{
			document.form1.txtAmountRequired.value = maxloan;
			document.getElementById("lblMaxLTV").innerHTML = "Maximum loan to value currently available is 75%";
		}
		else
		{
			document.getElementById("lblMaxLTV").innerHTML = "";
		}
	}
	else
	{
		document.getElementById("lblMaxLTV").innerHTML = "";
	}
}

function checkLTV70()
{
	if ((document.form1.txtPropertyValue.value != "") && (document.form1.txtAmountRequired.value != ""))
	{
		var propvalue = parseInt(document.form1.txtPropertyValue.value);
		var loanreq = parseInt(document.form1.txtAmountRequired.value);
		var maxloan = Math.round(propvalue * 0.70);
		
		if(maxloan < loanreq)
		{
			document.form1.txtAmountRequired.value = maxloan;
			document.getElementById("lblMaxLTV").innerHTML = "Maximum loan to value currently available is 70%";
		}
		else
		{
			document.getElementById("lblMaxLTV").innerHTML = "";
		}
	}
	else
	{
		document.getElementById("lblMaxLTV").innerHTML = "";
	}
}

function checktime()
{
	if(document.form1.ddlWhatTime.value == "Other")
   	{
    	document.getElementById("txtWhatTimeOther").style.display = "block";
		document.getElementById("TimeOther").style.display = "block";
        document.form1.txtWhatTimeOther.focus();
   	}
    else
	{
		document.getElementById("txtWhatTimeOther").style.display = "none";
		document.getElementById("TimeOther").style.display = "none";
	}
}

function checkservice()
{
	if(document.form1.ddlService.value == "Mortgage")
   	{
    	document.getElementById("mortgage1").style.display = "block";
		document.getElementById("mortgage2").style.display = "block";
		document.getElementById("remortgage1").style.display = "none";
		document.getElementById("remortgage2").style.display = "none";
		document.getElementById("remortgage3").style.display = "none";
		document.getElementById("remortgage4").style.display = "none";
		document.getElementById("remortgage5").style.display = "none";
		document.getElementById("colTestimonialId").style.height = "557px";
        document.form1.ddlFoundProperty.focus();
	}
	else
	{
		document.getElementById("mortgage1").style.display = "none";
		document.getElementById("mortgage2").style.display = "none";
		document.getElementById("remortgage1").style.display = "block";
		document.getElementById("remortgage2").style.display = "block";
		document.getElementById("remortgage3").style.display = "block";
		document.getElementById("remortgage4").style.display = "block";
		document.getElementById("remortgage5").style.display = "block";
		document.getElementById("colTestimonialId").style.height = "665px";
        document.form1.txtPropertyValue.focus();
	}
}

function clearField(thefield) {
	//Usability: onfocus="clearField(this)"
	if (thefield.defaultValue==thefield.value) thefield.value = ""
}

// Register onpaste on inputs and textareas in browsers that don't
// natively support it.
(function (){
    var onload = window.onload;

    window.onload = function () {
        if (typeof onload == "function") {
            onload.apply(this, arguments);
        }

        var fields = [];
        var inputs = document.getElementsByTagName("input");
        var textareas = document.getElementsByTagName("textarea");

        for (var i = 0; i < inputs.length; i++) {
            fields.push(inputs[i]);
        }

        for (var i = 0; i < textareas.length; i++) {
            fields.push(textareas[i]);
        }

        for (var i = 0; i < fields.length; i++) {
            var field = fields[i];

            if (typeof field.onpaste != "function" && !!field.getAttribute("onpaste")) {
                field.onpaste = eval("(function () { " + field.getAttribute("onpaste") + " })");
            }

            if (typeof field.onpaste == "function") {
                var oninput = field.oninput;

                field.oninput = function () {
                    if (typeof oninput == "function") {
                        oninput.apply(this, arguments);
                    }

                    if (typeof this.previousValue == "undefined") {
                        this.previousValue = this.value;
                    }

                    var pasted = (Math.abs(this.previousValue.length - this.value.length) > 1 && this.value != "");

                    if (pasted && !this.onpaste.apply(this, arguments)) {
                        this.value = this.previousValue;
                    }

                    this.previousValue = this.value;
                };

                if (field.addEventListener) {
                    field.addEventListener("input", field.oninput, false);
                } else if (field.attachEvent) {
                    field.attachEvent("oninput", field.oninput);
                }
            }
        }
    }
})();