assets/js/xo-installer.js
function showHideHelp(butt) {
butt.className = ( butt.className == 'on' ) ? 'off' : 'on';
document.body.className = ( butt.className == 'on' ) ? 'show-help' : '';
}
function xoopsExternalLinks() {
if (!document.getElementsByTagName) return;
var anchors = document.getElementsByTagName("a");
for (var i = 0; i < anchors.length; i++) {
var anchor = anchors[i];
if (anchor.getAttribute("href")) {
// Check rel value with extra rels, like "external noflow". No test for performance yet
$pattern = new RegExp("external", "i");
if ($pattern.test(anchor.getAttribute("rel"))) {
anchor.target = "_blank";
}
}
}
}
function xoopsGetElementById(id) {
return $(id);
}
function selectModule(id, button) {
element = xoopsGetElementById(id);
if (button.value == 1) {
element.style.background = '#E6EFC2';
} else {
element.style.background = 'transparent';
}
}
function showThemeSelected(element) {
if (!document.getElementsByTagName) return;
var divs = document.getElementsByTagName("div");
for (var i = 0; i < divs.length; i++) {
var div = divs[i];
divname = div.getAttribute("id");
if (div.getAttribute("rel")) {
$(divname).hide();
if (divname == element.value) {
$(divname).show();
}
}
}
}
function passwordStrength(password) {
if (password.length == 0) {
var score = 0;
} else {
var score = 1;
//if password bigger than 6 give 1 point
if (password.length > 6) score++;
//if password has both lower and uppercase characters give 1 point
if (( password.match(/[a-z]/) ) && ( password.match(/[A-Z]/) )) score++;
//if password has at least one number give 1 point
if (password.match(/\d+/)) score++;
//if password has at least one special character give 1 point
if (password.match(/.[!,@,#,$,%,^,&,*,?,_,~,-,(,)]/)) score++;
//if password bigger than 12 give another 1 point
if (password.length > 12) score++;
}
document.getElementById("passwordDescription").innerHTML = desc[score];
document.getElementById("passwordStrength").className = "strength" + score;
}
function suggestPassword(passwordlength) {
var pwchars = "abcdefhjmnpqrstuvwxyz23456789ABCDEFGHJKLMNPQRSTUVWYXZ.,:";
var pwchars = "abcdefhjmnpqrstuvwxyz1234567890,?;.:!$=+@_-&|#ABCDEFGHJKLMNPQRSTUVWYXZ";
var passwd = document.getElementById('generated_pw');
passwd.value = '';
for (i = 0; i < passwordlength; i++) {
passwd.value += pwchars.charAt(Math.floor(Math.random() * pwchars.length))
}
return passwd.value;
}
/**
* Copy the generated password (or anything in the field) to the form
*
* @param string the form name
*
* @return boolean always true
*/
function suggestPasswordCopy(id) {
generated_pw = xoopsGetElementById('generated_pw');
adminpass = xoopsGetElementById('adminpass')
adminpass.value = generated_pw.value;
adminpass2 = xoopsGetElementById('adminpass2')
adminpass2.value = generated_pw.value;
passwordStrength(adminpass.value)
return true;
}
function selectAll() {
// alert('You are clicking on me');
var radios = document.getElementsByTagName("input");
var modules = document.getElementsByTagName("input");
for (var i = 0; i < radios.length; i++) {
if (radios[i].type === "radio" && radios[i].id.slice(-1) === "1") {
radios[i].checked = true;
radios[i].parentNode.parentNode.style.background = '#E6EFC2';
} else {
radios[i].checked = false;
}
}
}
function unselectAll() {
// alert('You are clicking on me');
var radios = document.getElementsByTagName("input");
for (var i = 0; i < radios.length; i++) {
if (radios[i].type === "radio" && radios[i].id.slice(-1) === "2") {
radios[i].checked = true;
radios[i].parentNode.parentNode.style.background = 'transparent';
} else {
radios[i].checked = false;
}
}
}
window.onload = xoopsExternalLinks;