var bupdatedlookingfor = false;

function updatelookingforpostcode() {
    if (!bupdatedlookingfor) {
        document.userform.lookingfor_post_code.value = document.userform.area_code.value;
        checkpostcode();
    } else {
        document.userform.lookingfor_post_code.value = document.userform.area_code.value;
    }
}

function manualupdatelookingforpostcode() {
    bupdatedlookingfor = true;
}


function alertPostCode(pc) {
    if (document.userform.area_code.className.indexOf("quickregerr") < 0) {
        // error class doesn't already exist.
        document.userform.area_code.className = 'quickregerr';
    }

    if (document.userform.area_code.value.indexOf("is not a valid post code") < 0) {
        document.userform.area_code.maxLength = '100';
        // error message doesn't already eist so add it
        document.userform.area_code.value = pc + ' is not a valid post code.';
    }

    // reset the max length
    if (document.getElementById('defaultPostcodeLength') != null) {
        document.userform.area_code.maxLength = document.getElementById('defaultPostcodeLength').value;
    }
    else {
        document.userform.area_code.maxLength = 4;
    }

    var lbl = document.getElementsByTagName('label');
    for (j = 0; j < lbl.length; j++) {
        forval = lbl[j].getAttribute('for') ? lbl[j].getAttribute('for') : lbl[j].getAttribute('htmlFor');
        if (forval == 'area_code') {
            labelword = lbl[j].childNodes[0].nodeValue;
            lbl[j].className = 'labelerr';
            break;
        }
        //lbl[j].style.color="black";
    }
}

function CheckTownLocationRefresh(item) {
    var acode = document.userform.area_code.value;
    var ckey = document.userform.country_key.value;
    if (item.value == 'refresh') refreshcodes(acode, acode, ckey, bupdatedlookingfor)
}

function checkpostcode() {
    var oldareacode = document.userform.area_code_hidden.value;
    var newareacode = document.userform.area_code.value;
    var parts = newareacode.split(" ");
    if (parts.length > 1) {
        newareacode = parts[0];
    }
    else {
        if (newareacode.length == 6) {
            newareacode = newareacode.substring(0, 3);
        }
        else {
            if (newareacode.length == 5 && (newareacode.indexOf(" ") < 0)) {
                newareacode = newareacode.substring(0, 2);
            }
        }
    }
    
    var countrykey = document.userform.country_key.value;
    if (newareacode != oldareacode && newareacode != '') {
        refreshcodes(newareacode, oldareacode, countrykey, bupdatedlookingfor);
        updatehiddenpostcode(newareacode);
    }
}

function refreshcodes(ncode, ocode, ckey, bUlf) {
    if (canexecuteRequest()) {
        executeRequest('wce=RegPostCodeSwap,area_code=' + ncode + ',old_code=' + ocode + ',country_key=' + ckey + ',bUlf=' + bUlf, 7);
    } else {
        swappostcode();
    }
}

function updatehiddenpostcode(pc) {
    document.userform.area_code_hidden.value = pc;
}

function displayregions(obj, prefix) {

    var countrycode = eval(document.userform[obj].value);
    var lay_183 = document.getElementById(prefix + '_183');
    var lay_125 = document.getElementById(prefix + '_125');
    var lay_160 = document.getElementById(prefix + '_160');

    switch (countrycode) {
        case 183:
            layerdisplayon(lay_183);
            layerdisplayoff(lay_125);
            layerdisplayoff(lay_160);
            break;
        case 125:
            layerdisplayoff(lay_183);
            layerdisplayon(lay_125);
            layerdisplayoff(lay_160);
            break;
        case 160:
            layerdisplayoff(lay_183);
            layerdisplayoff(lay_125);
            layerdisplayon(lay_160);
            break;
        default:
            layerdisplayoff(lay_183);
            layerdisplayoff(lay_125);
            layerdisplayoff(lay_160);
    }
    return;
}

function gocountry() {

    var f = document.country;
    var v = f.countryselect.value;

    alert(v);
    alert(f);
    if (v == 'UK') {
        alert('please select a country');
    } else {
        f.submit();
    }

}

function switchcountries() {

    var countrycode = eval(document.userform.country.value);

    switch (countrycode) {
        case 183:
            subregionon(1, 183);
            subregionon(2, 183);
            subregionoff(1, 125);
            subregionoff(2, 125);
            subregionoff(1, 160);
            subregionoff(2, 160);
            break;
        case 125:
            subregionoff(1, 183);
            subregionoff(2, 183);
            subregionon(1, 125);
            subregionon(2, 125);
            subregionoff(1, 160);
            subregionoff(2, 160);
            break;
        case 160:
            subregionoff(1, 183);
            subregionoff(2, 183);
            subregionoff(1, 125);
            subregionoff(2, 125);
            subregionon(1, 160);
            subregionon(2, 160);
            break;
        default:
            subregionoff(1, 183);
            subregionoff(2, 183);
            subregionoff(1, 125);
            subregionoff(2, 125);
            subregionoff(1, 160);
            subregionoff(2, 160);
            break;
    }
    return;

}

function switchcountrieslooking() {

    var countrycode = eval(document.userform.lookingfor_country.value);

    switch (countrycode) {
        case 183:
            subregionon(3, 183);
            subregionoff(3, 125);
            subregionoff(3, 160);
            break;
        case 125:
            subregionoff(3, 183);
            subregionon(3, 125);
            subregionoff(3, 160);
            break;
        case 160:
            subregionoff(3, 183);
            subregionoff(3, 125);
            subregionon(3, 160);
            break;

        default:
            subregionoff(3, 183);
            subregionoff(3, 125);
            subregionoff(3, 160);
            break;
    }
    return;

}


function subregionon(i, c) {
    layerdisplayon(document.getElementById('region' + i + '_' + c));
}

function subregionoff(i, c) {
    layerdisplayoff(document.getElementById('region' + i + '_' + c));
}


/* functions for version  3.0.0 onwards */

function regstage2swapcountry(el, doexecute) {
    var thiscountry = parseInt(el.value);
    switch (thiscountry) {
        case 183:
            elementdisplayon('trpostcode1_holder');
            document.getElementById('trpostcode1_holder').style.display = "block";
            elementdisplayoff('trregion');
            elementdisplayon('trtownlocation_holder');
            document.getElementById('trtownlocation_holder').style.display = "block";
            elementdisplayoff('trtown');
            //UpdateInnerHTML('pcexamplelabel', '<b>Post code (first part only)</b><br><small>We just need the first 3 or 4 characters</small>');
            UpdateInnerHTML('pcexample', 'First part only (e.g. LA1, CR8) to protect your privacy');
            addClass(document.getElementById('town_location_key'), 'required');
            addClass(document.getElementById('area_code'), 'required');
            removeClass(document.getElementById('county_key'), 'required');
            removeClass(document.getElementById('town'), 'required');
            break;

        case 9:
            elementdisplayon('trpostcode1_holder');
            document.getElementById('trpostcode1_holder').style.display = "block";
            elementdisplayoff('trregion');
            elementdisplayon('trtownlocation_holder');
            document.getElementById('trtownlocation_holder').style.display = "block";
            elementdisplayoff('trtown');
            //UpdateInnerHTML('pcexamplelabel', '<b>Post code</b><br>');//<small>e.g. 6151, 3052</small>');
            UpdateInnerHTML('pcexample', 'e.g. 3052, 6151');
            addClass(document.getElementById('town_location_key'), 'required');
            addClass(document.getElementById('area_code'), 'required');
            removeClass(document.getElementById('county_key'), 'required');
            removeClass(document.getElementById('town'), 'required');
            break;

        case 125:
            elementdisplayoff('trpostcode1_holder');
            elementdisplayon('trregion');
            document.getElementById('trregion').style.display = "block";
            elementdisplayoff('trtownlocation_holder');
            elementdisplayon('trtown');
            document.getElementById('trtown').style.display = "block";
            removeClass(document.getElementById('town_location_key'), 'required');
            removeClass(document.getElementById('area_code'), 'required');
            addClass(document.getElementById('county_key'), 'required');
            addClass(document.getElementById('town'), 'required');
            if (doexecute) executeRequest('wci=register,wce=fillregions,country_key=' + thiscountry, 6);
            break;

        default:
            elementdisplayoff('trpostcode1_holder');
            elementdisplayoff('trregion');
            elementdisplayoff('trtownlocation_holder');
            elementdisplayon('trtown');
            document.getElementById('trtown').style.display = "block";
            removeClass(document.getElementById('town_location_key'), 'required');
            removeClass(document.getElementById('area_code'), 'required');
            removeClass(document.getElementById('county_key'), 'required');
            addClass(document.getElementById('town'), 'required');
            break;
    }
}


function regstage2swapcountrylookingfor(el, doexecute) {
    var thiscountry = parseInt(el.value);
    switch (thiscountry) {
        case 183:
            elementdisplayon('trlookingfordistance_holder');
            document.getElementById('trlookingfordistance_holder').style.display = "block";
            elementdisplayoff('trlookingforregion');
            UpdateInnerHTML('pcexample_looking', 'first part of my postcode e.g. KT3');
            UpdateInnerHTML('distancelabel_looking', 'miles of ');
            break;
        case 9:
            elementdisplayon('trlookingfordistance_holder');
            document.getElementById('trlookingfordistance_holder').style.display = "block";
            elementdisplayoff('trlookingforregion');
            UpdateInnerHTML('pcexample_looking', 'my postcode e.g. 3052, 6151');
            UpdateInnerHTML('distancelabel_looking', 'kms of ');
            break;

        case 125:
            //elementdisplayoff('trlookingforpostcode');
            elementdisplayoff('trlookingfordistance_holder');
            elementdisplayon('trlookingforregion');
            document.getElementById('trlookingforregion').style.display = "block";
            if (doexecute) executeRequest('wci=register,wce=fillregionslookingfor,lookingfor_country=' + thiscountry, 6);
            break;
        default:
            //elementdisplayoff('trlookingforpostcode');
            elementdisplayoff('trlookingfordistance_holder');
            elementdisplayoff('trlookingforregion');
            break;
    }
}


function searchresultscountryswitch(el, doexecute) {
    var thiscountry = parseInt(el.value);
    switch (thiscountry) {
        case 183:
            elementdisplayon('areacode');
            elementdisplayoff('countydiv');
            UpdateInnerHTML('pcexample_looking', 'your postcode eg W3, SE10, TN8');
            UpdateInnerHTML('distancelabel_looking', 'miles');
            break;

        case 9:
            elementdisplayon('areacode');
            elementdisplayoff('countydiv');
            UpdateInnerHTML('pcexample_looking', 'your postcode eg 2060, 3052, 6151');
            UpdateInnerHTML('distancelabel_looking', 'kms');
            break;

        case 125:
            elementdisplayoff('areacode');
            elementdisplayon('countydiv');
            if (doexecute) executeRequest('wce=SearchResultsCountrySwap,country_key=' + thiscountry, 7);
            break;
        default:
            elementdisplayoff('areacode');
            elementdisplayoff('countydiv');
            break;
    }
}

function setCountry(path) {
    if (!path) { path = ''; }
    try {
        switch (request('loc').toUpperCase()) {
            case 'AU':
                document.forms[0].action = 'http://www.friendsreuniteddating.com.au/' + path;
                if (document.forms[0].lookingfor_country) {
                    document.forms[0].lookingfor_country.value = 9;
                }
                if (document.forms[0].country_key) {
                    document.forms[0].country_key.value = 9;
                }
                document.getElementById('postcode').style.visibility = "visible";
                document.forms[0].lookingfor_post_code.value = 'eg. 4352';
                break;
            case 'NZ':
                document.forms[0].action = 'http://www.friendsreuniteddating.co.nz/' + path;
                if (document.forms[0].lookingfor_country) {
                    document.forms[0].lookingfor_country.value = 125;
                }
                if (document.forms[0].country_key) {
                    document.forms[0].country_key.value = 125;
                }
                document.getElementById('postcode').style.visibility = "hidden";
                break;
            default:
                document.forms[0].action = 'http://www.friendsreuniteddating.co.uk/' + path;
                if (document.forms[0].lookingfor_country) {
                    document.forms[0].lookingfor_country.value = 183;
                }
                if (document.forms[0].country_key) {
                    document.forms[0].country_key.value = 183;
                }
                document.getElementById('postcode').style.visibility = "visible";
                document.forms[0].lookingfor_post_code.value = 'eg. SW10';
                break;
        }
    }
    catch (err) { }
}

function changeCountry(countryKey, path) {
    if (!path) { path = ''; }
    try {
        switch (countryKey) {
            case '183':
                document.forms[0].action = 'http://www.friendsreuniteddating.co.uk/' + path;
                document.getElementById('postcode').style.visibility = "visible";
                document.forms[0].lookingfor_post_code.value = 'eg. SW10';
                break;
            case '125':
                document.forms[0].action = 'http://www.friendsreuniteddating.co.nz/' + path;
                document.getElementById('postcode').style.visibility = "hidden";
                document.forms[0].lookingfor_post_code.value = '';
                break;
            case '9':
                document.forms[0].action = 'http://www.friendsreuniteddating.com.au/' + path;
                document.getElementById('postcode').style.visibility = "visible";
                document.forms[0].lookingfor_post_code.value = 'eg. 4352';
                break;
            default:
                document.forms[0].action = 'http://www.friendsreuniteddating.co.uk/' + path;
                document.getElementById('postcode').style.visibility = "hidden";
                document.forms[0].lookingfor_post_code.value = '';
                break;
        }
    }
    catch (err) { }

}