﻿function msieversion() {
    var ua = window.navigator.userAgent
    var msie = ua.indexOf("MSIE ")

    if (msie > 0)      // If Internet Explorer, return version number
        return parseInt(ua.substring(msie + 5, ua.indexOf(".", msie)))
    else                 // If another browser, return 0
        return 0

}

var isIE = (msieversion() > 0) ? true : false;
var displayString = (isIE) ? '' : 'table-row';

function UsernameSuccessCallback(result) {
    var messageLabel = document.getElementById('AvailableStatus');
    if (result && messageLabel) {
        messageLabel.style.display = "inline";
        messageLabel.style.color = "green";
        messageLabel.innerHTML = availableMessage;
    }
    else if (messageLabel) {
        messageLabel.style.display = "inline";
        messageLabel.style.color = "red";
        messageLabel.innerHTML = unavailableMessage;
        //        if(userNameText)
        //        {
        //            userNameText.focus();
        //            userNameText.select();
        //        }
    }
}

function UsernameFailureCallback(result) {
    var messageLabel = document.getElementById('AvailableStatus');
    if (messageLabel) {
        //messageLabel.innerText = result;
        messageLabel.style.display = "none";
    }
}
function EmailSuccessCallback(result) {
    var messageLabel = document.getElementById('EmailAvailableStatus');
    if (result && messageLabel) {
        messageLabel.style.display = "inline";
        messageLabel.style.color = "green";
        messageLabel.innerHTML = availableMessage;
    }
    else if (messageLabel) {
        messageLabel.style.display = "inline";
        messageLabel.style.color = "red";
        messageLabel.innerHTML = unavailableMessage;
        //        if(emailText)
        //        {
        //            emailText.focus();
        //            emailText.select();
        //        }
    }
}

function EmailFailureCallback(result) {
    var messageLabel = document.getElementById('EmailAvailableStatus');
    if (messageLabel) {
        messageLabel.style.display = "none";
    }
}

function CheckUsername(nameTextBox) {
    var name = nameTextBox.value;

    if (nameTextBox.Validators) {
        for (var i = 0; i < nameTextBox.Validators.length; i++) {
            var val = nameTextBox.Validators[i];
            ValidatorValidate(val);

            if (val.isvalid == false) {
                UsernameFailureCallback(true);
                return;
            }
        }
    }

    if (name != '') Zolve.WebServices.AjaxHelpers.UsernameIsAvailable(name, UsernameSuccessCallback, UsernameFailureCallback);
}

function CheckEmail(emailTextBox) {
    var email = emailTextBox.value;
    FirstEmail = email;

    if (emailTextBox.Validators) {
        for (var i = 0; i < emailTextBox.Validators.length; i++) {
            var val = emailTextBox.Validators[i];

            if (val.id.indexOf("CompareEmail") < 0) {
                ValidatorValidate(val);

                if (val.isvalid == false) {
                    EmailFailureCallback(true);
                    return;
                }
            }
        }
    }


    if (email != '') Zolve.WebServices.AjaxHelpers.EmailIsAvailable(email, EmailSuccessCallback, EmailFailureCallback);
}

var FirstPassword;
var SecondPassword;
var FirstEmail;

function CheckPasswords() {
    var passMatch = document.getElementById('PassMatchLabel');
    if (SecondPassword == FirstPassword && passMatch) {
        passMatch.style.display = "inline";
    }
    else {
        passMatch.style.display = "none";
    }
}

function CheckEmails(email) {
    var emailMatch = document.getElementById('EmailMatchLabel');
    if (email == FirstEmail && emailMatch) {
        emailMatch.style.display = "inline";
    }
    else {
        emailMatch.style.display = "none";
    }
}

function ShowSearchEngineForm() {
    document.getElementById('SearchEngineSelectRow').display = displayString;
}

function SummaryValidator_ClientValidate(source, args) {
    args.IsValid = true;
    for (var i = 0; i < Page_Validators.length; i++)
        if (source != Page_Validators[i]) {
        ValidatorValidate(Page_Validators[i]);

        args.IsValid = (args.IsValid && Page_Validators[i].isvalid);
    }
}

function UsernameInUseValidator_ClientValidate(source, args) {
    var messageLabel = document.getElementById('AvailableStatus');
    if (messageLabel)
        args.IsValid = messageLabel.style.color == "green";
}

function EmailInUseValidator_ClientValidate(source, args) {
    var messageLabel = document.getElementById('EmailAvailableStatus');
    if (messageLabel)
        args.IsValid = messageLabel.style.color == "green";
}

//function ddCountry_Change(source) {
//    resetAutoCompleteVisible();
//    var extender = $find(extenderId);
//    extender.set_contextKey('Market;' + source.value);
//    if (source.value == 'US' || source.value == 'CA') {
//        $get('hideState').style.display = 'block';
//        resetCityExtender(extender, countyList, false);
//    }
//    else {
//        $get('hideCity').style.display = 'block';
//        resetCityExtender(extender, countryList, true);
//     }

//}

//function ddState_Change(source) {
//    resetAutoCompleteVisible();
//    $get('hideState').style.display = 'block';
//    var extender = $find(extenderId);
//    extender.set_contextKey('Market;' + countryList.value + ';' + this.value);
//    resetCityExtender(extender, countyList, false);
//    
//    if (countryList.value == 'US')
//        $get('hideCounty').style.display = 'block';
//    else if (countryList.value == 'CA') {
//        $get('hideCity').style.display = 'block';
//        resetCityExtender(extender, stateList, true);
//    }

//}

//function resetCityExtender(cityExtender, newParent, reload) {
//    cityExtender._parentControlID = newParent.id;
//    if(reload)
//        cityExtender._onParentChange(null, false);
//}

//function resetAutoCompleteVisible() {
//    $get('hideState').style.display = 'none';
//    $get('hideCounty').style.display = 'none';
//    $get('hideCity').style.display = 'none';
//}