﻿//-----------------------------------------------------------------------------

var _ddlPCM, _hdnAddress, _txtFirstName, _txtSurname, _txtHouseNoOrName, _txtPostcode;
var _ddlQasAddress, _txtStreet, _txtLocality, _txtTown, _txtCounty, _txtEmailAddress;
var _txtWorkOrContactPhoneNumber, _txtHomePhoneNumber, _txtMobilePhoneNumber;


function InitialiseUC(ddlPreferredContactMethod, hdnAddress, txtFirstName, txtSurname, txtHouseNoOrName, txtPostcode, 
                      ddlQasAddress, txtStreet, txtLocality, txtTown, txtCounty, txtEmailAddress, txtWorkOrContactPhoneNumber, 
                      txtHomePhoneNumber, txtMobilePhoneNumber)
{
    _ddlPCM = document.getElementById(ddlPreferredContactMethod);
    _hdnAddress = document.getElementById(hdnAddress);
    _txtFirstName = document.getElementById(txtFirstName);
    _txtSurname = document.getElementById(txtSurname);
    _txtHouseNoOrName = document.getElementById(txtHouseNoOrName);
    _txtPostcode = document.getElementById(txtPostcode);
    _ddlQasAddress = document.getElementById(ddlQasAddress);
    _txtStreet = document.getElementById(txtStreet);
    _txtLocality = document.getElementById(txtLocality);
    _txtTown = document.getElementById(txtTown);
    _txtCounty = document.getElementById(txtCounty);
    _txtEmailAddress = document.getElementById(txtEmailAddress);
    _txtWorkOrContactPhoneNumber = document.getElementById(txtWorkOrContactPhoneNumber);
    _txtHomePhoneNumber = document.getElementById(txtHomePhoneNumber);
    _txtMobilePhoneNumber = document.getElementById(txtMobilePhoneNumber);
    
    if(_ddlPCM != null)
        SwitchPreferredContactMethod();
        
     if(_hdnAddress != null)
        InitialiseAddress();
}

function InitialiseAddress()
{
    var spanText = document.getElementById('dcDontKnowPostcode');
    var localityTown = document.getElementById('dphLocalityTown');
    
    var county = document.getElementById('dphCounty');
    var countyCaption = document.getElementById('dcCounty');
    var street = document.getElementById('dphStreet');
    var streetCaption = document.getElementById('dcStreet');
    
    var qasAddressList = document.getElementById('dphQasAddress');
    var qasAddressListCaption = document.getElementById('dcQasAddress');
    var postcode = document.getElementById('dphPostcode');
    var postcodeCaption = document.getElementById('dcPostcode');
    var houseNoNameReqField = document.getElementById('dcHNoNameRF');
    
    if (_hdnAddress.value == 'Y')
    {
        spanText.style.display= 'inline';
        localityTown.style.display = 'none';
        
        street.style.display = 'none';
        streetCaption.style.display = 'none';
        county.style.display = 'none';
        countyCaption.style.display = 'none';
        qasAddressListCaption.style.display = 'block';
        qasAddressList.style.display = 'block';
        postcode.style.display = 'block';
        postcodeCaption.style.display = 'block';
        houseNoNameReqField.style.display = 'none';
    }
    else
    {
        spanText.style.display= 'none';
        localityTown.style.display = 'block';
        
        street.style.display = 'block';
        streetCaption.style.display = 'block';
        county.style.display = 'block';
        countyCaption.style.display = 'block';
        qasAddressList.style.display = 'none';
        qasAddressListCaption.style.display = 'none';
        postcode.style.display = 'none';
        postcodeCaption.style.display = 'none';
        houseNoNameReqField.style.display = 'inline';
    }
}    

function SwitchAddress()
{
    var spanText = document.getElementById('dcDontKnowPostcode');
    var localityTown = document.getElementById('dphLocalityTown');
    
    var county = document.getElementById('dphCounty');
    var countyCaption = document.getElementById('dcCounty');
    var street = document.getElementById('dphStreet');
    var streetCaption = document.getElementById('dcStreet');
    
    var qasAddressList = document.getElementById('dphQasAddress');
    var qasAddressListCaption = document.getElementById('dcQasAddress');
    var postcode = document.getElementById('dphPostcode');
    var postcodeCaption = document.getElementById('dcPostcode');
    var houseNoNameReqField = document.getElementById('dcHNoNameRF');
    
    if (_hdnAddress.value == 'Y')
    {
        _hdnAddress.value = 'N';
        spanText.style.display= 'none';
        localityTown.style.display = 'block';
        
        street.style.display = 'block';
        streetCaption.style.display = 'block';
        county.style.display = 'block';
        countyCaption.style.display = 'block';
        qasAddressList.style.display = 'none';
        qasAddressListCaption.style.display = 'none';
        postcode.style.display = 'none';
        postcodeCaption.style.display = 'none';
        houseNoNameReqField.style.display = 'inline';
    }
    else
    {
        _hdnAddress.value = 'Y';
        spanText.style.display= 'inline';
        localityTown.style.display = 'none';
        
        street.style.display = 'none';
        streetCaption.style.display = 'none';
        county.style.display = 'none';
        countyCaption.style.display = 'none';
        qasAddressListCaption.style.display = 'block';
        qasAddressList.style.display = 'block';
        postcode.style.display = 'block';
        postcodeCaption.style.display = 'block';
        houseNoNameReqField.style.display = 'none';
    }
}    

function SwitchPreferredContactMethod()
{
    var timeSlotsPhone = document.getElementById('dphTimeSlotsPhone');
    var mailFormat = document.getElementById('dphMailFormat');
    
    if (_ddlPCM.selectedIndex == 0)
    {
        timeSlotsPhone.style.display = 'block';
        mailFormat.style.display = 'none';
    }
    else if (_ddlPCM.selectedIndex == 1)
    {
        timeSlotsPhone.style.display = 'none';
        mailFormat.style.display = 'block';
    }
    else
    {
        timeSlotsPhone.style.display = 'none';
        mailFormat.style.display = 'none';
    }
    
	return true;
}

function CheckContactDetails()
{ 
    if (CheckPersonalDetails() == false)
        return(false);

    if (CheckAddressDetails() == false)
        return(false);

    if (CheckEmailAddrs() == false)
        return(false);
        
    if (CheckPhoneDetails() == false)
        return(false);

    return true;
}

function CheckPersonalDetails()
{
    if (isBlank(_txtFirstName.value))
    {
        alert("Please enter your first name.");
        _txtFirstName.focus();
        return false;
    }

    if (isBlank(_txtSurname.value))
    {
        alert("Please enter your surname.");
        _txtSurname.focus();
        return false;
    }

    return true;
}

function CheckAddressDetails()
{
    if (_hdnAddress.value == 'Y')
    {
        if (isBlank(_txtPostcode.value))
        {
            alert("Please enter a postcode.");
            _txtPostcode.focus();
            return false;
        }

        if (_ddlQasAddress.options[_ddlQasAddress.selectedIndex].value == '[No postcode specified]' || _ddlQasAddress.options[_ddlQasAddress.selectedIndex].value == '')
        {
            alert("Please select an address.");
           _ddlQasAddress.focus();
            return false;
        }
    }
    else
    {
        if (isBlank(_txtHouseNoOrName.value))
        {
            alert("Please enter a house number or name.");
            _txtHouseNoOrName.focus();
            return false;
        }
        if (isBlank(_txtStreet.value))
        {
            alert("Please enter a street.");
            _txtStreet.focus();
            return false;
        }
        if (isBlank(_txtTown.value))
        {
            alert("Please enter a town.");
            _txtTown.focus();
            return false;
        }
    }
    return true;
}

function CheckEmailAddrs()
{
    if (isBlank(_txtEmailAddress.value) || (isEmailValid(_txtEmailAddress.value) == false))
    {
        alert("Please enter a valid email address.");
        _txtEmailAddress.select();
        _txtEmailAddress.focus();
        return false;
    }
    return true;
}

function CheckPhoneDetails()
{
    if(_txtMobilePhoneNumber != null)
    {
        if (isBlank(_txtHomePhoneNumber.value) && 
            isBlank(_txtMobilePhoneNumber.value) &&
            isBlank(_txtWorkOrContactPhoneNumber.value))
        {
            alert("Please enter a contact telephone number.");
            _txtHomePhoneNumber.focus();
            return false;
        }
    }
    else
    {
        if (isBlank(_txtWorkOrContactPhoneNumber.value))
        {
            alert("Please enter a contact telephone number.");
            _txtWorkOrContactPhoneNumber.focus();
            return false;
        }
    }
    return true;
}