﻿var MapUse = "Register";
var currentPage = 0;
var locataMember = false;

function ValidateLocataMember()
{
    if(req==null)
    {
        var url = "Ajax/ValidateMember.aspx?partnerId=" + document.getElementById("ctl00_ContentPlaceHolder1_PartnerCode").value +
            "&uai=" + document.getElementById("ctl00_ContentPlaceHolder1_LINNumber").value + 
            "&dob=" + document.getElementById("ctl00_ContentPlaceHolder1_DOB").value;
        sendRequest(url)
        var img = document.getElementById("progress");
        img.style.display="block";
    }
    else
    {
        requestWaiting = true;
    }
}

function onReadyStateChange()
{
    var ready = req.readyState;
    if(ready==READY_STATE_COMPLETE)
    {
        var img = document.getElementById("progress");
        img.style.display="none";
        if(req.responseText=="1")
        {
            locataMember = true;
            document.getElementById("LinNumberError").innerText = "";
            NextPage(true);
        }
        else
        {
            locataMember = false;
            document.getElementById("LinNumberError").innerText = "Either your LIN Number or your Date of Birth are incorrect";
        }
        req = null;
    }
}   

function NextPage(toValidate)
{
    if(ValidatePage(toValidate))
    {
        switch(currentPage)
        {
            case 1:
                if(document.getElementById("ctl00_ContentPlaceHolder1_LocataMember_1").checked)
                {
                    if(locataMember)
                    {
                        currentPage++;
                    }
                    else
                    {
                        ValidateLocataMember();
                        return;
                    }
                }
                else 
                {
                    currentPage++;
                }
                break;
            case 2:
                if(locataMember)
                {
                    currentPage = 4;
                }
                else
                {
                    currentPage++;
                }
                break;
            default:
                currentPage++;
                break;
        }
        DisplayPage();
    }    
}

function PreviousPage()
{
    switch(currentPage)
    {
        case 4:
            if(locataMember)
            {
                currentPage = 2;
            }
            else
            {
                currentPage--;
            }
            break;
        default:
            currentPage--;
            break;
    }
    DisplayPage();
}

function DisplayPage()
{
    //browsers without javascript will show complete form as single page
    
    //this code hides all pages except the currentPage
    var i = 0
    var page = document.getElementById("RegPage" + i);
    var lastPageDisplayed = false;

    while(page)
    {
        if(i==currentPage)
        {
            page.style.display = "block";
            lastPageDisplayed = true;
        }
        else
        {
            page.style.display = "none";
            lastPageDisplayed = false;
        }
        i++;
        page = document.getElementById("RegPage" + i);
    }

    //display back button
    if(currentPage==0)
    {
        document.getElementById("RegNavBack").style.display = "none";
    }
    else
    {
        document.getElementById("RegNavBack").style.display = "inline";
    }

    //display next button
    if(lastPageDisplayed)
    {
        document.getElementById("RegNavNext").style.display = "none";
        document.getElementById("ctl00_ContentPlaceHolder1_RegisterButton").style.display = "inline";
    }
    else
    {
        document.getElementById("RegNavNext").style.display = "inline";
        document.getElementById("ctl00_ContentPlaceHolder1_RegisterButton").style.display = "none";
    }

    //set focus
    switch(currentPage)
    {
        case 1:
            document.getElementById("ctl00_ContentPlaceHolder1_DOB").focus();
            break;
        case 2:
            document.getElementById("ctl00_ContentPlaceHolder1_Title").focus();
            break;
        case 3:
            document.getElementById("ctl00_ContentPlaceHolder1_Address1").focus();
            break;
        case 4:
            document.getElementById("ctl00_ContentPlaceHolder1_BEDC").focus();
            break;
        case 5:
            document.getElementById("ctl00_ContentPlaceHolder1_MXHHEAT_0").focus();
            break;
        case 6:
            document.getElementById("ctl00_ContentPlaceHolder1_MXHLL").focus();
            break;
        case 7:
            document.getElementById("SelectAll").focus();
            break;
        case 8:
            document.getElementById("ctl00_ContentPlaceHolder1_MXWBED").focus();
            break;
        case 9:
            document.getElementById("ctl00_ContentPlaceHolder1_MXWHEAT_0").focus();
            break;
        case 10:
            document.getElementById("ctl00_ContentPlaceHolder1_MXWRENT").focus();
            break;
        case 11:
            document.getElementById("ctl00_ContentPlaceHolder1_RegisterButton").focus();
            break;
    }

 }
 
 //checks page for validation errors.
 function ValidatePage(toValidate)
 {
    var result = true;
    var ctl;
    switch(currentPage)
    {
        case 0:
            result=true;
            break;
        case 1:
            result = TextBoxRequired("DOB");
            result = (document.getElementById("ctl00_ContentPlaceHolder1_DOBValidator").style.display=="none") && result;
            result = ListRequiredValidation("LocataMember", 2) && result;
            break;
        case 2:
            result = TextBoxRequired("LastName");
            //result = TextBoxRequired("Email") && result;
            //result = (document.getElementById("ctl00_ContentPlaceHolder1_EmailValidator").style.display=="none") && result;
            break;
        case 3:
            result = TextBoxRequired("Address1");
            result = TextBoxRequired("Postcode");
            result = (document.getElementById("ctl00_ContentPlaceHolder1_PostcodeValidator").style.display=="none") && result;
            break;
        case 4:
            result = TextBoxRequired("BEDC");
            result = (document.getElementById("ctl00_ContentPlaceHolder1_BEDCValidator").style.display=="none") && result;
            result = ListRequiredValidation("MXHTYPE", 4) && result;
            break;
        case 5:
            result = ListRequiredValidation("MXHHEAT", 3);
            result = ListRequiredValidation("MXHCOOK", 4) && result;
            result = ListRequiredValidation("MXHGARD1", 3) && result;
            break;
        case 6:
            result = TextBoxRequired("MXHRENT");
            result = (document.getElementById("ctl00_ContentPlaceHolder1_MXHRENTValidator").style.display=="none") && result;
            break;
        case 8:
            result = (document.getElementById("ctl00_ContentPlaceHolder1_MXWBEDValidator").style.display=="none");
            break;
        case 10:
            result = (document.getElementById("ctl00_ContentPlaceHolder1_MXWRENTValidator").style.display=="none");
            break;
    }
    return result;
 }

function TextBoxRequired(textBoxName)
{
    var result = false;
    var ctl = document.getElementById("ctl00_ContentPlaceHolder1_" + textBoxName);
    if(ctl) result = (ctl.value!="");
    if(!result)
    {
        ctl = document.getElementById("ctl00_ContentPlaceHolder1_" + textBoxName + "Required");
        if(ctl) ctl.style.display = "inline";
    }
    return result;
}

function ListRequiredValidation(listName, entries)
{
    var result = false;
    var ctl;
    
    for(var i=0; i<entries; i++)
    {
        ctl = document.getElementById("ctl00_ContentPlaceHolder1_" + listName + "_" + i);
        if(ctl)
        {
            if(ctl.checked)
            {
                result = true;
                break;
            }
        }
    }
    if(!result)
    {
        ctl = document.getElementById("ctl00_ContentPlaceHolder1_" + listName + "Required");
        if(ctl) ctl.style.display = "inline";
    }
    return result;
}

function ShowIneligiblePage()
{
    //this code hides all pages
    var i = 0
    var page = document.getElementById("RegPage" + i);
    
    while(page)
    {
        page.style.display = "none";
        i++;
        page = document.getElementById("RegPage" + i);
    }
    
    document.getElementById("RegNavBack").style.display = "none";
    document.getElementById("RegNavNext").style.display = "none";
    
    document.getElementById("regPageNotEligible").style.display = "block";
}
      
function LocataMember_Changed(sender)
{
   //fired when the customer enters whether LocataMember or not
   var target = document.getElementById("LinNumberRow");
   if(target)
   {
        var testElement = document.getElementById(sender.id + "_1");
        if(testElement.checked)
        {
            target.style.display = "block";
        }
        else
        {
            target.style.display = "none";
            //lah 3/8/2007
            //added to prevent existing members from logging in and then 
            //going back and deselecting existing and then blank details being saved
            locataMember=false;
        }
    }
}

function MXHTYPE_Changed(sender)
{
   //fired when the customer enters whether LocataMember or not
   var target = document.getElementById("FloorRow");
   if(target)
   {
        if(document.getElementById(sender.id + "_1").checked||document.getElementById(sender.id + "_2").checked)
        {
            target.style.display = "block";
        }
        else
        {
            target.style.display = "none";
            document.getElementById("LiftRow").style.display = "none";
        }
   }
}

function MXHFLR_Changed(sender)
{
   //fired when the customer enters whether LocataMember or not
   var target = document.getElementById("LiftRow");
   if(target)
   {
        if(document.getElementById(sender.id + "_1").checked)
        {
            target.style.display = "none";
        }
        else
        {
            target.style.display = "block";
        }
   }
}

function MXWTYPE_Changed(sender)
{
   //fired when the customer enters whether LocataMember or not
   var target = document.getElementById("FloorRow2");
   if(target)
   {
        if(document.getElementById(sender.id + "_1").checked||document.getElementById(sender.id + "_2").checked)
        {
            target.style.display = "block";
        }
        else
        {
            target.style.display = "none";
            document.getElementById("LiftRow2").style.display = "none";
        }
   }
}

function MXWFLR_Changed(sender)
{
   //fired when the customer enters whether LocataMember or not
   var target = document.getElementById("LiftRow2");
   if(target)
   {
        if(document.getElementById(sender.id + "_0").checked||document.getElementById(sender.id + "_2").checked||
            document.getElementById(sender.id + "_3").checked||document.getElementById(sender.id + "_4").checked)
        {
            target.style.display = "block";
        }
        else
        {
            target.style.display = "none";
        }
   }
}

function MXHGARD1_Changed(sender)
{
   //fired when the customer enters whether LocataMember or not
   var target = document.getElementById("GardenRow");
   if(target)
   {
        if(document.getElementById(sender.id + "_0").checked)
        {
            target.style.display = "none";
        }
        else
        {
            target.style.display = "block";
        }
   }
}

function DOB_OnValidate(sender, args)
{
    date = ValidateDate(args.Value);
    if(isNaN(date))
    {
        args.IsValid = false;
    }
    else
    {
        args.IsValid = true;
    }
}