function showHideFmeSection() {
    var show = document.getElementById('fmeMode').value;
    changeFmeSectionVisibility(show);
}

function changeFmeSectionVisibility(show) {
    var addSection = document.getElementById('addSection');
    var addSection2 = document.getElementById('addSection2');
    var editSection = document.getElementById('editSection');
    var fmeNumbersSection = document.getElementById('fmeNumbersSection');

    editSection.style.display = 'none';
    if(show == 'Never') {
        fmeNumbersSection.style.display = 'none';
    } else {
        fmeNumbersSection.style.display = '';
    }
    if(addSection != null) {
        if(show == 'Never') {
            addSection.style.display = 'none';
        } else {
            addSection.style.display = '';
        }
    }

    if(addSection2 != null) {
        if(show == 'Never') {
            addSection2.style.display = 'none';
        } else {
            addSection2.style.display = '';
        }
    }
}

function validateNumber(formId, numberElementId) {
    var number = document.getElementById(numberElementId+ '').value;

    if(number.length != 11) {
        alert(msg_enter_followme_number);
    } else if(!hasValidFollwMeNumber){
        alert(error_invalid_followme_number);
    } else {
        document.getElementById(formId + '').submit();
    }
}

var xmlhttpFmeNumber;
var isAlreadyChecked = false;
var hasValidFollwMeNumber = true;
function checkNumber(number, infoElementId) {
    if(number == null || number.length < 11) {
        showFmeNumberInfo(error_number_too_short, false, infoElementId);
        isAlreadyChecked = false;
        return;
    }
    if(isAlreadyChecked) {
        return;
    }
    
    xmlhttpFmeNumber = getXmlHttpRequestObject();
    var url = 'checkFollowMeNumber';
    
    if(xmlhttpFmeNumber != null) {
        showFmeNumberInfo(msg_checking_number, true,infoElementId);
        xmlhttpFmeNumber.onreadystatechange = function() {
            showFmeNumberResult(infoElementId);
        };
        xmlhttpFmeNumber.open("POST", url, true);
        xmlhttpFmeNumber.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
        xmlhttpFmeNumber.send('number=' + number);
    } else {
        alert(error_no_ajax_support);
    }
}

var xmlhttpAccountFmeNumber;
var isAccountAlreadyChecked = false;

function checkAccountNumber(number, infoElementId) {
    if(number == null || number.length < 11) {
        showFmeNumberInfo(error_number_too_short, false, infoElementId);
        isAccountAlreadyChecked = false;
        return;
    }
    if(isAccountAlreadyChecked) {
        return;
    }

    xmlhttpAccountFmeNumber = getXmlHttpRequestObject();
    var url = 'checkAccountFollowMeNumber';

    if(xmlhttpAccountFmeNumber != null) {
        showFmeNumberInfo(msg_checking_number, true,infoElementId);
        xmlhttpAccountFmeNumber.onreadystatechange = function() {
            showAccountFmeNumberResult(infoElementId);
        };
        xmlhttpAccountFmeNumber.open("POST", url, true);
        xmlhttpAccountFmeNumber.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
        xmlhttpAccountFmeNumber.send('number=' + number);
    } else {
        alert(error_no_ajax_support);
    }
}

function showAccountFmeNumberResult(infoElementId) {
    if (xmlhttpAccountFmeNumber != null && xmlhttpAccountFmeNumber.readyState == 4 && xmlhttpAccountFmeNumber.status == 200) {
        var infoText;
        var isOk;
        isAlreadyChecked = true;
        if(xmlhttpAccountFmeNumber.responseText == '1') {
            infoText = msg_followme_number_valid;
            isOk = true;
            hasValidFollwMeNumber = true;
        } else if(xmlhttpAccountFmeNumber.responseText == '2') {
            infoText = msg_followme_number_cant_be_yours;
            isOk = false;
            hasValidFollwMeNumber = false;
        } else {
            infoText = msg_followme_number_invalid;
            isOk = false;
            hasValidFollwMeNumber = false;
        }

        showFmeNumberInfo(infoText, isOk, infoElementId);
    }
}

function showFmeNumberResult(infoElementId) {
    if (xmlhttpFmeNumber != null && xmlhttpFmeNumber.readyState == 4 && xmlhttpFmeNumber.status == 200) {
        var infoText;
        var isOk;
        isAlreadyChecked = true;
        if(xmlhttpFmeNumber.responseText == '1') {
            infoText = msg_followme_number_valid;
            isOk = true;
            hasValidFollwMeNumber = true;
        } else if(xmlhttpFmeNumber.responseText == '2') {
            infoText = msg_followme_number_cant_be_yours;
            isOk = false;
            hasValidFollwMeNumber = false;
        } else {
            infoText = msg_followme_number_invalid
            isOk = false;
            hasValidFollwMeNumber = false;
        }

        showFmeNumberInfo(infoText, isOk, infoElementId);
    }
}

function showFmeNumberInfo(infoText, isOk, infoElementId) {
    var fmeNumberInfo = document.getElementById(infoElementId + '');
    fmeNumberInfo.innerHTML = infoText;
    
    if(isOk) {
        fmeNumberInfo.className = 'text11blue';
    } else {
        fmeNumberInfo.className = 'errorMessage';
    }
}

function askRemoveNumber(iFollowMeNumber) {
    var answer = confirm(msg_followme_number_remove_confirm);
    if (answer){
        window.location = 'doRemoveFollowMeNumber?iFollowMeNumber=' + iFollowMeNumber;
    }
}

function askRemoveAccountNumber(iFollowMeNumber, accountId) {
    var answer = confirm(msg_followme_number_remove_confirm);
    if (answer){
        window.location = 'doRemoveAccountFollowMeNumber?iFollowMeNumber=' + iFollowMeNumber + '&accountId=' + accountId;
    }
}

function showEditFmeNumber(redirectNumber,timeout,iFollowMeNumber) {
    hideEditField();
    
    var addSection = document.getElementById("addSection");
    var editSection = document.getElementById("editSection");
    var iFollowMeNumberControl = document.getElementById("iFollowMeNumberEdit");
    var redirectNumberControl = document.getElementById("followmeNumberEdit");
    var timeOutEditControl = document.getElementById("timeOutEdit");
    var editRow = document.getElementById(iFollowMeNumber + '');

    if(addSection != null) {
        addSection.style.display = 'none';
    }

    editSection.style.display = '';

    iFollowMeNumberControl.value = iFollowMeNumber;
    redirectNumberControl.value = redirectNumber;
    timeOutEditControl.value = timeout;
    editRow.style.backgroundColor='#e0ecf4';
    editRow.onmouseout = null;
}

function hideEditField() {
    var addSection = document.getElementById("addSection");
    var editSection = document.getElementById("editSection");
    var iFollowMeNumber = document.getElementById("iFollowMeNumberEdit").value;
    var editRow = document.getElementById(iFollowMeNumber + '');
    if(editRow != null) {
        editRow.style.backgroundColor='#FFFFFF';
        editRow.onmouseout = function () {
            this.style.backgroundColor='#FFFFFF';
        };
    }

    addSection.style.display = '';
    editSection.style.display = 'none';
}
