// ========================================================================
// Copyright 2004, Saul Marine & Co Solicitors
// ========================================================================
// $Id: saulmarine_formUtils.js 498 2005-03-04 17:57:25Z tprice $
// ========================================================================

// globals
var lastSaleIsMortgaged;
var lastSaleMortgager;
var conveyState;

function init(formType) {
    if (document.getElementById) {
        document.getElementById("convey-quote").onclick
            = function () {document.location.href='conveyancing.html'};
        document.getElementById("debt-coll-quote").onclick
            = function () {document.location.href='debt_collection.html'};
    }
    if (formType == 'convey') {
        initConvey();
    } else if (formType == 'debtcoll') {
        initDebtColl();
    }
    loadClientDetails();
    document.getElementById("client-name").focus();
}

function initConvey() {
    if (document.getElementById) {
        document.getElementById("sale").onclick = toggleSalePurchData;
        document.getElementById("purch").onclick = toggleSalePurchData;
        document.getElementById("sale-and-purch").onclick = toggleSalePurchData;
        document.getElementById("sale-mortgaged").onclick = toggleSaleMortgager;
        //document.getElementById("sale-price").onkeypress = numeralsOnly;
        //document.getElementById("purch-price").onkeypress = numeralsOnly;

        document.getElementById("sale-timescale").selectedIndex = 0;
        document.getElementById("purch-timescale").selectedIndex = 0;

        var saleData = document.getElementById("sale-data");
        var purchData = document.getElementById("purch-data");
        if (document.getElementById("sale").checked == true) {
            conveyState = 0;
            saleData.style.display = "block";
            purchData.style.display = "none";
        } else if (document.getElementById("purch").checked == true) {
            conveyState = 1;
            saleData.style.display = "none";
            purchData.style.display = "block";
        } else {
            conveyState = 2;
            saleData.style.display = "block";
            purchData.style.display = "block";
        }

        // if (document.getElementById("sale-mortgaged").checked == true) {
            // document.getElementById("sale-mortgager").disabled = false;
        // } else {
            // document.getElementById("sale-mortgager").disabled = true;
        // }
    }
}

function initDebtColl() {
    if (document.getElementById) {
        document.getElementById("chk-action-len").onclick = checkActionLen;
        //document.getElementById("debt-value").onkeypress = numeralsOnly;
    }
}

// insert or remove conveyancing sale & purch questions as needed
function toggleSalePurchData(evt) {
    // 'equalise' IE and W3C event models
    evt = (evt) ? evt : ((window.event) ? window.event : null);
    evt.cancelBubble = true;
	if (evt.stopPropagation) evt.stopPropagation();

    if (evt) {
        var target = (evt.target) ? evt.target :
                        ((evt.srcElement) ? evt.srcElement : null);
        if (target) {
            // process target element here
            if (target.id != null && target.id.length > 0) {
                var saleData = document.getElementById("sale-data");
                var purchData = document.getElementById("purch-data")
                var saleIsMortgaged = document.getElementById("sale-mortgaged");
                var saleMortgager = document.getElementById("sale-mortgager");
                if (target.id == "sale") {
                    if (conveyState == 1) {
                        saleIsMortgaged.checked = lastSaleIsMortgaged;
                        saleMortgager.value = lastSaleMortgager;
                    }
                    // alert("conveyState=" + conveyState + "\nlastSaleIsMortgaged="
                    //         + lastSaleIsMortgaged + "\nlastSaleMortgager=" + lastSaleMortgager);
                    conveyState = 0;
                    saleData.style.display = "block";
                    purchData.style.display = "none";
                    if (saleMortgager.disabled == true) {
                        document.getElementById("sale-price").focus();
                    } else {
                        saleMortgager.focus();
                    }
                } else if (target.id == "purch") {
                    lastSaleIsMortgaged = saleIsMortgaged.checked;
                    lastSaleMortgager = saleMortgager.value;
                    // alert("conveyState=" + conveyState + "\nlastSaleIsMortgaged="
                    //         + lastSaleIsMortgaged + "\nlastSaleMortgager=" + lastSaleMortgager);
                    conveyState = 1;
                    saleIsMortgaged.checked = false;
                    saleMortgager.value = "";
                    saleData.style.display = "none";
                    purchData.style.display = "block";
                    document.getElementById("purch-mortgager").focus();
                } else if (target.id == "sale-and-purch") {
                    if (conveyState == 1) {
                        saleIsMortgaged.checked = lastSaleIsMortgaged;
                        saleMortgager.value = lastSaleMortgager;
                    }
                    // alert("conveyState=" + conveyState + "\nlastSaleIsMortgaged="
                    //         + lastSaleIsMortgaged + "\nlastSaleMortgager=" + lastSaleMortgager);
                    conveyState = 2;
                    saleData.style.display = "block";
                    purchData.style.display = "block";
                    if (saleMortgager.disabled == true) {
                        document.getElementById("sale-price").focus();
                    } else {
                        saleMortgager.focus();
                    }
                }
            }
        }
    }
}

// insert or remove sale mortgager as needed
function toggleSaleMortgager(evt) {
    // 'equalise' IE and W3C event models
    evt = (evt) ? evt : ((window.event) ? window.event : null);
    evt.cancelBubble = true;
	if (evt.stopPropagation) evt.stopPropagation();

    if (evt) {
        var target = (evt.target) ? evt.target :
                        ((evt.srcElement) ? evt.srcElement : null);
        if (target) {
            // process target element here
            if (target.id != null && target.id == "sale-mortgaged") {
                var saleMortgager = document.getElementById("sale-mortgager");
                if (target.checked == true) {
                    saleMortgager.disabled = false;
                    saleMortgager.style.backgroundColor = "#FFFFFF";
                    saleMortgager.focus();
                } else {
                    saleMortgager.value = "";
                    saleMortgager.disabled = true;
                    saleMortgager.style.backgroundColor = "#DDDDDD";
                    document.getElementById("sale-price").focus();
                }
            }

        }
    }
}

function checkActionLen() {
    showTextLen("debt-action");
}

function loadClientDetails() {
    cookie = getCookie("sm_quo");
    if (cookie == "") {
        document.forms[0].realname.value = "";
        document.forms[0].email.value = "";
        document.forms[0].phone.value = "";
        saveClientDetails();
    } else {
        parsed = cookiePairsAsArray(cookie);
        // alert("parsed['name'] = '" + parsed["name"] + "'");
        // alert("parsed['email'] = '" + parsed["email"] + "'");
        // alert("parsed['phone'] = '" + parsed["phone"] + "'");
        document.forms[0].realname.value = parsed["name"];
        document.forms[0].email.value = parsed["email"];
        document.forms[0].phone.value = parsed["phone"];
    }
    // alert("document.forms[0].realname.value = '" + document.forms[0].realname.value + "'")
    // alert("document.forms[0].email.value = '" + document.forms[0].email.value + "'")
    // alert("document.forms[0].phone.value = '" + document.forms[0].phone.value + "'")
}

function saveClientDetails() {
    cookie = "name=" + document.forms[0].realname.value
        + ";email=" + document.forms[0].email.value
        + ";phone=" + document.forms[0].phone.value;
    setCookie("sm_quo", cookie);
}

function doUnload() {
    saveClientDetails();
}
