﻿// SHVOONG - PICAPHONE
//****************************************************************************************
// Company : SHVOONG
// Date : 10/02/2009
// Description : User Management functions
// Author : Soussan Mikael
//****************************************************************************************


//***************************************** Variables ************************************
var _emailID;
var _newEmail;
var _newEmailRequestedID;
var _pnlNotificationID;
var _oldPasswordID;
var _newPasswordID;
var _confimNewPasswordID;
var _wantsNewletterInitialValue;
var _notifyMeOnMessageInitialValue;
var _whoCanContactMeInitialValue;
var _pnlPasswordChangedID;
var _notifyOnRecommendationRequestID;
var _notifyOnReplyToMyPostID;
var _notifyMeOnAddsMeAsContactID;
var _captchaLabelValidationID;
var _contactLatinNameID;
var _contactNameID;
var _lblContactPersonFullNameInLatinID;
var _lblContactPersonFullNameID;
var _notifyOnAddContact;
//***************************************** Methods **************************************
function ChangeEmail(emailID, newEmailID, newEmailRequestedID) {
    var newEmail;
    var needValidationOnPage = false;
    var childElemets = $get('trChangeEmail').getElementsByTagName('INPUT');
    for (var j = 0; j < childElemets.length; j++) {
        if (childElemets[j].type.toUpperCase() == "RADIO") {
            if (childElemets[j].checked == true) {
                newEmail = childElemets[j].value;
                if (newEmail != "") {
                    break;
                }
                else {
                    needValidationOnPage = true;
                    newEmail = $get(emailID).value;
                    break;
                }
            }
        }
    }
    _newEmail = newEmail;
    _newEmailID = newEmailID;
    _newEmailRequestedID = newEmailRequestedID;
    if (needValidationOnPage) {
        if (Page_ClientValidate("firstDetailsGroup")) {
            UserManagement.ChangeEmailRequested(newEmail, ChangeEmail_Callback);
        }
    }
    else {
        UserManagement.ChangeEmailRequested(newEmail, ChangeEmail_Callback);
    }
}
function ChangeEmail_Callback(result, response, context) {
    $get('pnlPasswordChanged').style.visibility = "hidden";
    if (result == null) {
        $get(_newEmailRequestedID).style.visibility = "visible";
        $get(_newEmailID).style.visibility = "visible";
        $get(_newEmailID).innerHTML = _newEmail;
        $get('aChangeEmail').style.visibility = "visible";
        $get('trChangeEmail').style.display = "none";
    }
    else {
        alert(result);
    }
}
function SavePreferences(wantNewsletterID, notifyOnRecommendationRequestID, notifyOnReplyToMyPostID, notifyMeOnMessageID, whoCanContactMeID, pnlNotificationID, notifyMeOnAddsMeAsContact) {
    _pnlNotificationID = pnlNotificationID;
    var notifyOnRecommendationRequest = false;
    var notifyOnReplyToMyPost = false;
    var notifyOnAddContact = false;

    if ($get(notifyOnRecommendationRequestID) != null)
        notifyOnRecommendationRequest = $get(notifyOnRecommendationRequestID).checked;
    if ($get(notifyOnReplyToMyPostID) != null)
        notifyOnReplyToMyPost = $get(notifyOnReplyToMyPostID).checked;
    if ($get(notifyMeOnAddsMeAsContact) != null)
        notifyOnAddContact = $get(notifyMeOnAddsMeAsContact).checked;

    UserManagement.SavePreferences($get(wantNewsletterID).checked, notifyOnRecommendationRequest, notifyOnReplyToMyPost, $get(notifyMeOnMessageID).checked, $get(whoCanContactMeID).value, notifyOnAddContact, SavePreferences_Callback);
    _wantsNewletterInitialValue = $get(wantNewsletterID).checked;

    if ($get(notifyOnRecommendationRequestID) != null)
        _notifyOnRecommendationRequestID = $get(notifyOnRecommendationRequestID).checked;
    else _notifyOnRecommendationRequestID = false;

    if ($get(notifyOnReplyToMyPostID) != null)
        _notifyOnReplyToMyPostID = $get(notifyOnReplyToMyPostID).checked;
    else
        _notifyOnReplyToMyPostID = false;

    if ($get(notifyMeOnAddsMeAsContact) != null)
        _notifyMeOnAddsMeAsContactID = $get(notifyMeOnAddsMeAsContact).checked;
    else
        _notifyMeOnAddsMeAsContactID = false;

    _notifyMeOnMessageInitialValue = $get(notifyMeOnMessageID).checked;
    _whoCanContactMeInitialValue = $get(whoCanContactMeID).value;
}
function SavePreferences_Callback(result, response, context) {
    if (result) {
        $get(_pnlNotificationID).style.visibility = "visible";
    }
}
function CancelSavePreferences(wantNewsletterID, notifyOnRecommendationRequestID, notifyOnReplyToMyPostID, notifyMeOnMessageID, whoCanContactMeID, pnlNotificationID, notifyMeOnAddsMeAsContactID) {
    _pnlNotificationID = pnlNotificationID;
    $get(_pnlNotificationID).style.visibility = "hidden";
    $get(wantNewsletterID).checked = _wantsNewletterInitialValue;

    if ($get(notifyOnRecommendationRequestID) != null && $get(notifyOnReplyToMyPostID) != null && $get(notifyMeOnAddsMeAsContactID) != null) {
        $get(notifyOnRecommendationRequestID).checked = _notifyOnRecommendationRequestID;
        $get(notifyOnReplyToMyPostID).checked = _notifyOnReplyToMyPostID;
        $get(notifyMeOnAddsMeAsContactID).checked = _notifyMeOnAddsMeAsContactID;
    }

    $get(notifyMeOnMessageID).checked = _notifyMeOnMessageInitialValue;
    $get(whoCanContactMeID).value = _whoCanContactMeInitialValue;
}
function ChangePassword(oldPasswordID, newPasswordID, confimNewPasswordID, pnlPasswordChangedID) {
    if (Page_ClientValidate("changePasswordGroup")) {
        _oldPasswordID = oldPasswordID;
        _newPasswordID = newPasswordID;
        _confimNewPasswordID = confimNewPasswordID;
        _pnlPasswordChangedID = pnlPasswordChangedID;
        UserManagement.ChangePassword($get(oldPasswordID).value, $get(newPasswordID).value, ChangePassword_Callback);
    }
}
function ChangePassword_Callback(result, response, context) {
    if (result) {
        $get(_pnlPasswordChangedID).style.visibility = "visible";
        CloseChangePasswordPanel(_oldPasswordID, _newPasswordID, _confimNewPasswordID);
    }
    else {
        alert("error during password change");
    }
}
function TryDeactivate(captchaLabelValidationID) {
    _captchaLabelValidationID = captchaLabelValidationID;
    var challenge = Recaptcha.get_challenge();
    var userResponse = Recaptcha.get_response();
    UserManagement.AjaxCaptchaValidation("6Ld3CwUAAAAAADbtRw62ewmAsXocVID4IAC0xPPC", challenge, userResponse, OnAjaxCaptchaValidationComplete2);
}
function OnAjaxCaptchaValidationComplete2(result, userContext, methodName) {
    if ("false" == result.toString()) {
        document.getElementById(_captchaLabelValidationID).style.display = 'block';
        Recaptcha.reload();
    }
    else {
        document.getElementById(_captchaLabelValidationID).style.display = 'none';
        SuspendUser();
    }
}
function SuspendUser() {
    $get('pnlPasswordChanged').style.visibility = "hidden";
    var obj = $get("txtReason");
    if (obj != null) {
        UserManagement.SuspendUser(obj.value, SuspendUser_Callback);
    }
}
function SuspendUserRequested() {
    var obj = $get("txtReason");
    if (obj != null) {
        obj.value = "";
    }
    $get("hlnkDeactivate").style.display = "none";
    $get("pSuspendUser").style.display = "block";
    $get("trAfterSuspend").style.display = "";
}
function SuspendUserCancelRequested() {
    var obj = $get("txtReason");
    if (obj != null) {
        obj.value = "";
    }
    $get("hlnkDeactivate").style.display = "";
    $get("pSuspendUser").style.display = "none";
    $get("trAfterSuspend").style.display = "none";
}
function SuspendUser_Callback(result, response, context) {
    if (result) {
        SuspendUserCancelRequested();
        $get("trDeactivation").style.display = "none";
        alert("suspend success");
    }
    else {
        alert("error during suspend process");
    }
}
function OpenChangePasswordPanel() {
    $get("tdChangePassword").style.visibility = "hidden";
    $get("trChange1").style.display = "";
    $get("trChange2").style.display = "";
    $get("trChange3").style.display = "";
    $get("hlnkChangePassword").style.visibility = "hidden";
}
function CloseChangePasswordPanel(oldPasswordID, newPasswordID, confimNewPasswordID) {
    _oldPasswordID = oldPasswordID;
    _newPasswordID = newPasswordID;
    _confimNewPasswordID = confimNewPasswordID;
    $get(_oldPasswordID).value = "";
    $get(_newPasswordID).value = "";
    $get(_confimNewPasswordID).value = "";
    $get("tdChangePassword").style.visibility = "visible";
    $get("trChange1").style.display = "none";
    $get("trChange2").style.display = "none";
    $get("trChange3").style.display = "none";
    $get("hlnkChangePassword").style.visibility = "visible";
}
function ResetPassword(userEmailID, lblInvalidEmailID) {
    var obj = $get(userEmailID);
    if (obj != null && obj.value != "") {
        $get(lblInvalidEmailID).style.visibility = "hidden";
        UserManagement.SendResetPasswordMail(obj.value, ResetPassword_Callback);
    }
    else {
        $get(lblInvalidEmailID).style.visibility = "visible";
    }
}
function ResetPassword_Callback(result, response, context) {
    if (result == "true") {
        alert("Mail sent successfully!");
    }
    else {
        if (result == "false") {
            return false;
        } else {
            alert(result);
        }
    }
}
function ChangeContactPersonName(contactLatinNameID, contactNameID, lblContactPersonFullNameInLatinID, lblContactPersonFullNameID) {
    if (Page_ClientValidate('contactNameValidationGroup')) {
        _contactLatinNameID = contactLatinNameID;
        _contactNameID = contactNameID;
        _lblContactPersonFullNameInLatinID = lblContactPersonFullNameInLatinID;
        _lblContactPersonFullNameID = lblContactPersonFullNameID;
        if (!userInNonLatinLanguage) {//english
            UserManagement.ChangeContactPersonName($get(_contactNameID).value, null, ChangeContactPersonName_Callback);
        }
        else {
            UserManagement.ChangeContactPersonName($get(_contactLatinNameID).value, $get(_contactNameID).value, ChangeContactPersonName_Callback);
        }
    }
}
function ChangeContactPersonName_Callback(result, response, context) {
    if (result) {
        ResetChangeContactPersonForm(_contactLatinNameID, _contactNameID);
    }
    else {
    }
}
function ResetChangeContactPersonForm(contactLatinNameID, contactNameID) {
    $get('trChangeContactPersonBefore').style.display = '';
    $get('trChangeContactPerson').style.display = 'none';
    $get('aChange').style.visibility = 'visible';
    if (_lblContactPersonFullNameID != null && _lblContactPersonFullNameInLatinID != null) {
        if (!userInNonLatinLanguage) {//english
            $get(_lblContactPersonFullNameID).innerHTML = $get(contactNameID).value;
        }
        else {
            $get(_lblContactPersonFullNameInLatinID).innerHTML = $get(contactLatinNameID).value;
            $get(_lblContactPersonFullNameID).innerHTML = $get(contactNameID).value;
            $get(contactLatinNameID).value = "";
        }
        $get(contactNameID).value = "";
    }
}
function DisableDropDowns(ddlFromId, ddlToId, disable) {
    $get(ddlFromId).disabled = disable;
    $get(ddlToId).disabled = disable;
}