var PASSWORDMANAGER_LoadContentIDP = {
OriginPopHost: "*",
ActionSuffixAddon: "idp",
};
function get_hostname(url) {
var a = document.createElement('a');
a.href = url;
return a.hostname;
}
$(document).ready(function () {
$('[data-toggle="tooltip"]').tooltip();
if (window.addEventListener) {
window.addEventListener('message', LoadMessaging, false);
} else if (window.attachEvent) {
window.attachEvent('onmessage', LoadMessaging);
}
$(document).mousedown(function (e) {
if (e.button == 2) {
return false;
}
if (e.button == 1 && e.buttons == 4) {
e.preventDefault();
var element = e.target;
alert($("#hdnMouseMsg").val());
if (!e) e = window.event;
e.returnValue = false;
if (e.preventDefault)
e.preventDefault();
return false;
} else {
return true;
}
});
$("#lnkSaveSite").click(function (e) {
e.preventDefault();
if ($("#saveSite").is(':visible')) {
$("#saveSite").hide();
$("#lnkSaveSite").removeClass("active");
$("#currentPaswords").show();
} else {
$("#saveSite").show();
$("#lnkSaveSite").addClass("active");
$("#currentPaswords").hide();
}
$("#savedPassword").hide(); $("#lnkSavePassword").removeClass("active");
$("#saveProfile").hide(); $("#lnkSaveProfile").removeClass("active");
$("#generatePass").hide(); $("#lnkGeneratePass").removeClass("active");
window.parent.postMessage(JSON.stringify({ Action: "GET_SAVESITE_DATA", Result: "" }), PASSWORDMANAGER_LoadContentIDP.OriginPopHost);
});
$("#lnkSavePassword").click(function (e) {
e.preventDefault();
if ($("#savedPassword").is(':visible')) {
$("#savedPassword").hide();
$("#lnkSavePassword").removeClass("active");
$("#currentPaswords").show();
} else {
$("#savedPassword").show();
$("#lnkSaveSite").addClass("active");
$("#currentPaswords").hide();
}
$("#saveSite").hide(); $("#lnkSaveSite").removeClass("active");
$("#saveProfile").hide(); $("#lnkSaveProfile").removeClass("active");
$("#generatePass").hide(); $("#lnkGeneratePass").removeClass("active");
//adjustHeight(500);
});
$("#lnkSaveProfile").click(function (e) {
e.preventDefault();
if ($("#saveProfile").is(':visible')) {
$("#saveProfile").hide();
$("#lnkSaveProfile").removeClass("active");
$("#currentPaswords").show();
} else {
$("#saveProfile").show();
$("#lnkSaveProfile").addClass("active");
$("#currentPaswords").hide();
}
$("#saveSite").hide(); $("#lnkSaveSite").removeClass("active");
$("#generatePass").hide(); $("#lnkSavePassword").removeClass("active");
$("#savedPassword").hide(); $("#lnkGeneratePass").removeClass("active");
//adjustHeight(200);
});
//////lnkGeneratePass ----------------------------------------Start
//DONE
$("#lnkGeneratePass").click(function (e) {
e.preventDefault();
if ($("#generatePass").is(':visible')) {
$("#generatePass").hide();
$("#lnkGeneratePass").removeClass("active");
$("#currentPaswords").show();
} else {
$("#generatePass").show();
$("#lnkGeneratePass").addClass("active");
$("#currentPaswords").hide();
}
$("#saveSite").hide(); $("#lnkSaveSite").removeClass("active");
$("#savedPassword").hide(); $("#lnkSavePassword").removeClass("active");
$("#saveProfile").hide(); $("#lnkSaveProfile").removeClass("active");
securePassword();
});
$('body').on({
click: function (e) {
if ($("#txtSpecialPassword").val() != '') {
window.parent.postMessage(JSON.stringify({ Action: "COPY_TEXT", Result: $("#txtSpecialPassword").val() }), PASSWORDMANAGER_LoadContentIDP.OriginPopHost);
}
else {
$("#genPassError1").text('');
$("#genPassError1").text(globalLangResult == '' ? "Please select at least one password character type." : globalLangResult.IDS_SELECT_ONE_PASS_CHARACTER);
}
}
}, '#lnkCopyPass');
$('body').on({
change: function () {
if ($("#chkAllChar").is(":checked")) {
$("#chkNumeric").prop("disabled", false);
$("#chkSpecial").prop("disabled", false);
$("#chkCapital").prop("disabled", false);
$("#chSmall").prop("disabled", false);
$("#chkNumeric").prop("checked", true);
$("#chkSpecial").prop("checked", true);
$("#chkCapital").prop("checked", true);
$("#chSmall").prop("checked", true);
$("#advOptions").show();
}
}
}, '#chkAllChar');
$('body').on({
change: function () {
if ($("#chkPronouncable").is(":checked")) {
$("#chkNumeric").removeAttr("checked");
$("#chkSpecial").removeAttr("checked");
$("#chkCapital").prop("checked", true);
$("#chSmall").prop("checked", true);
$("#chkNumeric").prop("disabled", true);
$("#chkSpecial").prop("disabled", true);
$("#chkCapital").prop("disabled", true);
$("#chSmall").prop("disabled", true);
$("#advOptions").hide();
}
}
}, '#chkPronouncable');
$("#btnGeneratePassword").click(function () {
securePassword();
});
//USE this password
$("#btnUsePassword").click(function () {
window.parent.postMessage(JSON.stringify({ Action: "FILL_USER_GENERATED_PASSWORD", Result: $.trim($("#txtSpecialPassword").val()) }), PASSWORDMANAGER_LoadContentIDP.OriginPopHost);
});
//---------------------------------------------------------------------END
$("#lnkCloseTab").click(function (e) {
window.parent.postMessage(JSON.stringify({ Action: "CLOSE_FRAME", Result: "0" }), PASSWORDMANAGER_LoadContentIDP.OriginPopHost);
});
$("#lnkAddNewProfile").click(function (e) {
window.parent.postMessage(JSON.stringify({ Action: "OPEN_USER_PROFILE", Result: "0" }), PASSWORDMANAGER_LoadContentIDP.OriginPopHost);
IDPExtension.AddUserProfile('0');
});
$("#lnkAddNewCreditCard").click(function (e) {
window.parent.postMessage(JSON.stringify({ Action: "OPEN_CREDIT_CARD", Result: "0" }), PASSWORDMANAGER_LoadContentIDP.OriginPopHost);
IDPExtension.AddCreditCard('0');
})
$("#btnSavePassword").click(function () {
try {
if ($("#txtUrl").val() == '') {
$("#txtUrl").css({ "border-color": "red" });
}
else {
$("#txtUrl").css({ "border-color": "#b8b8b8" });
}
if ($.trim($("#txtUN").val()) == '' && $.trim($("#txtPassword").val()) == '') {
$("#txtUN").css({ "border-color": "red" });
$("#txtPassword").css({ "border-color": "red" });
}
else {
$("#txtUN").css({ "border-color": "#b8b8b8" });
$("#txtPassword").css({ "border-color": "#b8b8b8" });
}
if (!isValidUrl($.trim($("#txtUrl").val()))) {
$("#txtUrl").css({ "border-color": "red" });
return;
}
if ($("#txtUrl").val() != '' && ($("#txtUN").val() != '' || $("#txtPassword").val() != '')) {
callSavePassword();
}
} catch (e) {
// alert(e.stack);
}
});
//*********************************************
});
function LoadMessaging(event) {
var eventData;
if (event.data != "") {
if (typeof event.data === 'string') {
try {
eventData = JSON.parse(event.data);
} catch (e) {
return;
// console("eventData = JSON.parse : " + e.stack);
}
}
else {
eventData = event.data;
}
}
else {
return;
}
//console.log(event);
if (eventData.Action == "GET_INITIAL_ACTION") {
if (eventData.Result == "PASSWORD") {
if ($("#generatePass").is(':visible')) {
$("#generatePass").hide();
$("#lnkGeneratePass").removeClass("active");
$("#currentPaswords").show();
} else {
$("#generatePass").show();
$("#lnkGeneratePass").addClass("active");
$("#currentPaswords").hide();
}
$("#saveSite").hide(); $("#lnkSaveSite").removeClass("active");
$("#savedPassword").hide(); $("#lnkSavePassword").removeClass("active");
$("#saveProfile").hide(); $("#lnkSaveProfile").removeClass("active");
setTimeout(function () {
securePassword();
}, 500);
}
else if (eventData.Result == "FIRSTNAME") {
if ($("#saveProfile").is(':visible')) {
$("#saveProfile").hide();
$("#lnkSaveProfile").removeClass("active");
$("#currentPaswords").show();
} else {
$("#saveProfile").show();
$("#lnkSaveProfile").addClass("active");
$("#currentPaswords").hide();
}
$("#saveSite").hide(); $("#lnkSaveSite").removeClass("active");
$("#generatePass").hide(); $("#lnkSavePassword").removeClass("active");
$("#savedPassword").hide(); $("#lnkGeneratePass").removeClass("active");
}
}
if (eventData.Action == "URL_USERS") {
var siteHtml = "";
eventData.Result = JSON.parse(eventData.Result);
try {
for (var i = 0; i < eventData.Result.length; i++) {
var value = eventData.Result[i];
var usr = value.UserName == '' ? '[Blank]' : value.UserName;
siteHtml += '
' + usr + '
' + get_hostname(value.Url) + '';
}
} catch (e) {
//alert(e.stack);
}
if (siteHtml == '') {
siteHtml += '' + (globalLangResult == '' ? 'Add new site' : globalLangResult.IDS_ADD_SITE) + '
';
$("#userPasswords").html(siteHtml);
$("#spnRegisterNewSite").click(function () {
$('#lnkSaveSite').trigger('click');
});
}
else {
$("#userPasswords").html(siteHtml);
$("#userPasswords a").click(function () {
var selectedUser = {
"UserName": $(this).data('user'),
"Pw": $(this).data('pass')
};
window.parent.postMessage(JSON.stringify({ Action: "FILL_USER_PASSWORD", Result: selectedUser }), PASSWORDMANAGER_LoadContentIDP.OriginPopHost);
});
}
}
else if (eventData.Action == "SET_USER_ID") {
if (document.getElementById("hiddenUserId") != null) {
document.getElementById("hiddenUserId").value = eventData.Result;
}
}
else if (eventData.Action == "SET_USER_PROFILES") {
var htmldata = "";
var importedCC = "";
eventData.Result = JSON.parse(eventData.Result);
$(eventData.Result).each(function (index, value) {
if (value.ProfileType == 'Profile') {
var profileName = value.ProfileName;
var ptitle = profileName;
if (profileName.length > 22) {
profileName = profileName.substring(0, 22) + "...";
}
var profileType = value.ProfileType == 'Credit Card' ? '' : '';
htmldata += "" + profileName + "" + profileType + "";
}
else {
if (value.IsImportedProfile == true || value.IsImportedProfile == 1) {
var profileName = value.ProfileName;
var ptitle = profileName;
if (profileName.length > 22) {
profileName = profileName.substring(0, 22) + "...";
}
var profileType = value.ProfileType == 'Credit Card' ? '' : '';
importedCC += "" + profileName + "" + profileType + "";
}
else {
var profileName = value.ProfileName
var ptitle = profileName;
if (profileName.length > 22) {
profileName = profileName.substring(0, 22) + "...";
}
//var profileType = value.ProfileType == 'Credit Card' ? value.ProfileType : 'User Profile';
var profileType = value.ProfileType == 'Credit Card' ? '' : '';
htmldata += "" + profileName + "" + profileType + "";
}
}
});
$("#profileCollection").html(htmldata);
$("#importedProfileCollection").append(importedCC);
$("#profileCollection a, #importedProfileCollection a").click(function () {
var selectedProfile = {
"ProfileId": $(this).data('profileid'),
"ProfileName": $(this).data('profilename'),
"ProfileType": $(this).data('profiletype')
}
window.parent.postMessage(JSON.stringify({ Action: "FILL_USER_PROFILE", Result: selectedProfile }), PASSWORDMANAGER_LoadContentIDP.OriginPopHost);
});
$("#showImportedCards").click(function () {
$("#importedProfileCollection").slideToggle("slow", function () {
if ($("#importedProfileCollection").is(":visible")) {
// $("#arrow").attr("src", "Images/toparrow.png");
$("#showImportedCards").html(globalLangResult == '' ? "Hide Imported Credit Cards " : globalLangResult.IDS_HIDE_IMPORTED_CARD + " ");
}
else {
//$("#arrow").attr("src", "Images/downarrow.png");
$("#showImportedCards").html(globalLangResult == '' ? "Show Imported Credit Cards " : globalLangResult.IDS_SHOW_IMPORTED_CARD + " ");
}
});
});
$(".PopUpcenter").attr("style", "max-height:316px; overflow:auto;");
$('[data-toggle="tooltip"]').tooltip();
}
else if (eventData.Action == "SET_SAVESITE_DATA") {
document.getElementById("hiddenUserId").value = eventData.Result.UserId;
$("#txtUrl").val(eventData.Result.Url);
$("#txtUN").val(eventData.Result.UserName);
$("#txtPassword").val(eventData.Result.Pw);
}
else if (eventData.Action == "SET_HARD_CODED_STRINGS") {
var result = eventData.Result = JSON.parse(eventData.Result);
if (typeof result != 'undefined' && result != null && result != '') {
globalLangResult = result;
try {
$(".popTitleText").text(typeof result.IDS_FORM_FILLS != 'undefined' ? result.IDS_FORM_FILLS : $('.popTitleText').text());
$("#lnkSaveSite").attr('data-original-title', typeof result.IDS_ADD_SITE != 'undefined' ? result.IDS_ADD_SITE : $('#lnkSaveSite').attr('data-original-title'));
$("#lnkSaveProfile").attr('data-original-title', typeof result.IDS_PROFILE != 'undefined' ? result.IDS_PROFILE : $('#lnkSaveProfile').attr('data-original-title'));
$("#lnkGeneratePass").attr('data-original-title', typeof result.IDS_GENERATE_PASSWORD != 'undefined' ? result.IDS_GENERATE_PASSWORD : $('#lnkGeneratePass').attr('data-original-title'));
$("#lnkCloseTab").attr('data-original-title', typeof result.IDS_CLOSE != 'undefined' ? result.IDS_CLOSE : $('#lnkCloseTab').attr('data-original-title'));
$('#lnkAddNewProfile').find('span:first').text(typeof result.IDS_ADD_USER_PROFILE != 'undefined' ? result.IDS_ADD_USER_PROFILE : $('#lnkAddNewProfile').find('span:first').text());
$('#lnkAddNewCreditCard').find('span:first').text(typeof result.IDS_ADD_CREDIT_CARD != 'undefined' ? result.IDS_ADD_CREDIT_CARD : $('#lnkAddNewCreditCard').find('span:first').text());
$('#lblUrl').text(typeof result.IDS_URL != 'undefined' ? result.IDS_URL : $('#lblUrl').text());
$('#lblUserName').text(typeof result.IDS_PRO_HEAD_ATTR_005 != 'undefined' ? result.IDS_PRO_HEAD_ATTR_005 : $('#lblUserName').text());
$('#lblPassword').text(typeof result.IDS_PASSWORD != 'undefined' ? result.IDS_PASSWORD : $('#lblPassword').text());
$('#btnSavePassword').text(typeof result.IDS_SUBMIT != 'undefined' ? result.IDS_SUBMIT : $('#btnSavePassword').text());
$("#lnkCopyPass").text(typeof result.IDS_COPY_PASSWORD_FULL != 'undefined' ? result.IDS_COPY_PASSWORD_FULL : $('#lnkCopyPass').text());
$(".CmdpassworLengthbox").find('label').text(typeof result.IDS_PASSWORD_LENGTH != 'undefined' ? result.IDS_PASSWORD_LENGTH : $('.CmdpassworLengthbox').find('label').text());
$("#lblCharType").text(typeof result.IDS_CHARACTER_TYPE != 'undefined' ? result.IDS_CHARACTER_TYPE : $('#lblCharType').text());
$("#lblCapital").text(typeof result.IDS_A_Z_CAPITAL != 'undefined' ? result.IDS_A_Z_CAPITAL : $('#lblCapital').text());
$("#lblSmall").text(typeof result.IDS_A_Z_SMALL != 'undefined' ? result.IDS_A_Z_SMALL : $('#lblSmall').text());
$("#lblNumber").text(typeof result.IDS_0_9_NUMERIC != 'undefined' ? result.IDS_0_9_NUMERIC : $('#lblNumber').text());
$("#lblSpecial").text(typeof result.IDS_SPECIAL_CHAR != 'undefined' ? result.IDS_SPECIAL_CHAR : $('#lblSpecial').text());
$("#lblPronouceable").text(typeof result.IDS_MAKE_PRONOUNCEABLE != 'undefined' ? result.IDS_MAKE_PRONOUNCEABLE : $('#lblPronouceable').text());
$("#btnGeneratePassword").text(typeof result.IDS_GENERATE_PASSWORD != 'undefined' ? result.IDS_GENERATE_PASSWORD : $('#btnGeneratePassword').text());
$("#btnUsePassword").text(typeof result.IDS_USE_PASSWORD != 'undefined' ? result.IDS_USE_PASSWORD : $('#btnUsePassword').text());
$("#showImportedCards").html(typeof result.IDS_SHOW_IMPORTED_CARD != 'undefined' ? result.IDS_SHOW_IMPORTED_CARD + ' ' : 'Show Imported Credit Cards ');
$("#hdnMouseMsg").val(typeof result.IDS_MOUSE_WHEEL_DISABLED != 'undefined' ? result.IDS_MOUSE_WHEEL_DISABLED : "Mouse wheel button click disabled.");
} catch (e) {
alert(e.stack);
}
}
}
};
var globalLangResult = "";
function securePassword() {
setTimeout(function () {
$("#genPassError1").text("");
if (!$("#chSmall").is(":checked") && !$("#chkCapital").is(":checked") && !$("#chkNumeric").is(":checked") && !$("#chkSpecial").is(":checked")) {
$("#txtSpecialPassword").val("");
$("#genPassError1").text(globalLangResult == '' ? "Please select at least one password character type." : globalLangResult.IDS_SELECT_ONE_PASS_CHARACTER);
//$("#genPassError1").text("Please select at least one password charactor type.")
return;
}
Array.prototype.insert = function (index, item) {
this.splice(index, 0, item);
};
var len = parseInt($("#cmbPasswordLength").val());
var lowers = "abcdefghijklmnopqrstuvwxyz";
var uppers = "ABCDEFGHIJKLMNOPQRSTUVWXYZ";
var number = "01234567890123456789";
var special = "!@#$%&_+=!@#$%&_+=";
var generated = new Array(parseInt(len));
var dividedBy = 0;
if ($("#chSmall").is(":checked"))
dividedBy++;
if ($("#chkCapital").is(":checked"))
dividedBy++;
if ($("#chkNumeric").is(":checked"))
dividedBy++;
if ($("#chkSpecial").is(":checked"))
dividedBy++;
var eachLen = Math.floor(len / dividedBy);
var iteration = 0;
if ($("#chSmall").is(":checked")) //'small'
for (var i = 1; i <= eachLen; i++) {
iteration++;
var at = Math.floor(Math.random() * (len - 1) + 1);
var value = lowers[Math.floor(Math.random() * (25 - i) + i)];
generated.insert(at, value)
}
if ($("#chkCapital").is(":checked"))//'capital'
for (var i = 1; i <= eachLen; i++) {
iteration++;
at = Math.floor(Math.random() * (len - 1) + 1);
var value = uppers[Math.floor(Math.random() * (25 - i) + 1)];
generated.insert(at, value)
}
if ($("#chkNumeric").is(":checked"))// 'numeric'
for (var i = 1; i <= eachLen; i++) {
iteration++;
at = Math.floor(Math.random() * (len - 1) + 1);
var value = number[Math.floor(Math.random() * (10 - i) + i)];
generated.insert(at, value)
}
if ($("#chkSpecial").is(":checked"))//'special'
for (var i = 1; i <= eachLen; i++) {
iteration++;
at = Math.floor(Math.random() * (len - 1) + 1);
var value = special[Math.floor(Math.random() * (9 - i) + i)];
generated.insert(at, value)
}
var last = len - iteration;
if (last > 0) {
for (var i = 1; i <= last; i++) {
iteration++;
at = Math.floor(Math.random() * (len - 1) + 1);
var value = 0;
if ($("#chSmall").is(":checked"))
value = lowers[Math.floor(Math.random() * (9 - i) + i)];
if ($("#chkCapital").is(":checked"))
value = uppers[Math.floor(Math.random() * (9 - i) + i)];
if ($("#chkNumeric").is(":checked"))
value = number[Math.floor(Math.random() * (9 - i) + i)];
if ($("#chkSpecial").is(":checked"))
value = special[Math.floor(Math.random() * (9 - i) + i)];
generated.insert(at, value)
}
}
var str = '';
for (var i = 0; i <= generated.length - 1; i++) {
var x = generated[i]
if (typeof x != 'undefined')
str = str + '' + x;
}
$("#txtSpecialPassword").val(str);
}, 800);
};
function isValidUrl(url) {
var rg = /^(http|https|ftp):\/\/(([a-zA-Z0-9$\-_.+!*'(),;:&=]|%[0-9a-fA-F]{2})+@)?(((25[0-5]|2[0-4][0-9]|[0-1][0-9][0-9]|[1-9][0-9]|[0-9])(\.(25[0-5]|2[0-4][0-9]|[0-1][0-9][0-9]|[1-9][0-9]|[0-9])){3})|localhost|([a-zA-Z0-9\-\u00C0-\u017F]+\.)+([a-zA-Z]{2,}))(:[0-9]+)?(\/(([a-zA-Z0-9$\-_.+!*'(),;:@&=]|%[0-9a-fA-F]{2})*(\/([a-zA-Z0-9$\-_.+!*'(),;:@&=]|%[0-9a-fA-F]{2})*)*)?(\?([a-zA-Z0-9$\-_.+!*'(),;:@&=\/?]|%[0-9a-fA-F]{2})*)?(\#([a-zA-Z0-9$\-_.+!*'(),;:@&=\/?]|%[0-9a-fA-F]{2})*)?)?$/;
return rg.test(url);
}
function callSavePassword() {
var url = $("#txtUrl").val();
var username = $("#txtUN").val();
var password = $("#txtPassword").val();
var userId = document.getElementById("hiddenUserId").value;
if ($.trim(url) == '' && ($.trim(username) == '' || $.trim(password) == '')) {
alert("Please provide mandatory information.");
return;
}
//if (!isValidUrl($.trim(url))) {
// alert("Please provide valid url.");
// return;
//}
if (typeof userId != 'undefined' && userId != null && userId != '') {
var selectedUser = {
"Url": url,
"Username": username,
"Pw": password,
"UserId": userId,
"UrlId": 0,
"Id": 0
};
window.parent.postMessage(JSON.stringify({ Action: "SAVE_USER_PASSWORD" + PASSWORDMANAGER_LoadContentIDP.ActionSuffixAddon, Result: JSON.stringify(selectedUser) }), PASSWORDMANAGER_LoadContentIDP.OriginPopHost);
document.getElementById("hiddenUserId").value = null;
$("#txtUrl").val('');
$("#txtUN").val('');
$("#txtPassword").val('');
}
else {
alert("User not found. Please login again.");
return;
}
}