function xoops$() {
var elements = new Array();
for (var i = 0; i < arguments.length; i++) {
var element = arguments[i];
if (typeof element == 'string') {
element = document.getElementById(element);
}
if (arguments.length == 1) {
return element;
}
elements.push(element);
}
return elements;
}
function xoopsGetElementById(id) {
return xoops$(id);
}
function xoopsSetElementProp(name, prop, val) {
var elt = xoopsGetElementById(name);
if (elt) {
elt[prop] = val;
}
}
function xoopsSetElementStyle(name, prop, val) {
var elt = xoopsGetElementById(name);
if (elt && elt.style) {
elt.style[prop] = val;
}
}
function xoopsGetFormElement(fname, ctlname) {
var frm = document.forms[fname];
return frm ? frm.elements[ctlname] : null;
}
function justReturn() {
//return;
}
function openWithSelfMain(url, name, width, height, returnwindow) {
var options = "width=" + width + ",height=" + height + ",toolbar=no,location=no,directories=no,status=no,menubar=no,scrollbars=yes,resizable=yes,copyhistory=no";
var new_window = window.open(url, name, options);
window.self.name = "main";
new_window.focus();
return (returnwindow != null ? new_window : void(0));
}
function setElementColor(id, color) {
xoopsGetElementById(id).style.color = "#" + color;
}
function setElementFont(id, font) {
xoopsGetElementById(id).style.fontFamily = font;
}
function setElementSize(id, size) {
xoopsGetElementById(id).style.fontSize = size;
}
function changeDisplay(id) {
var elestyle = xoopsGetElementById(id).style;
if (elestyle.display == "") {
elestyle.display = "none";
} else {
elestyle.display = "block";
}
}
function setVisible(id) {
xoopsGetElementById(id).style.visibility = "visible";
}
function setHidden(id) {
xoopsGetElementById(id).style.visibility = "hidden";
}
function appendSelectOption(selectMenuId, optionName, optionValue) {
var selectMenu = xoopsGetElementById(selectMenuId);
var newoption = new Option(optionName, optionValue);
newoption.selected = true;
selectMenu.options[selectMenu.options.length] = newoption;
}
function disableElement(target) {
var targetDom = xoopsGetElementById(target);
targetDom.disabled = targetDom.disabled != true;
}
function xoopsCheckAll(form, switchId) {
var eltForm = xoops$(form);
var eltSwitch = xoops$(switchId);
// You MUST NOT specify names, it's just kept for BC with the old lame crappy code
if (!eltForm && document.forms[form]) {
eltForm = document.forms[form];
}
if (!eltSwitch && eltForm.elements[switchId]) {
eltSwitch = eltForm.elements[switchId];
}
var i;
for (i = 0; i != eltForm.elements.length; i++) {
if (eltForm.elements[i] != eltSwitch && eltForm.elements[i].type == 'checkbox') {
eltForm.elements[i].checked = eltSwitch.checked;
}
}
}
function xoopsCheckGroup(form, switchId, groupName) {
var eltForm = xoops$(form);
var eltSwitch = xoops$(switchId);
// You MUST NOT specify names, it's just kept for BC with the old lame crappy code
if (!eltForm && document.forms[form]) {
eltForm = document.forms[form];
}
if (!eltSwitch && eltForm.elements[switchId]) {
eltSwitch = eltForm.elements[switchId];
}
var i;
for (i = 0; i != eltForm.elements.length; i++) {
var e = eltForm.elements[i];
if ((e.type == 'checkbox') && ( e.name == groupName )) {
e.checked = eltSwitch.checked;
e.click();
e.click(); // Click to activate subgroups twice so we don't reverse effect
}
}
}
function xoopsCheckAllElements(elementIds, switchId) {
var switch_cbox = xoopsGetElementById(switchId);
for (var i = 0; i < elementIds.length; i++) {
var e = xoopsGetElementById(elementIds[i]);
if ((e.name != switch_cbox.name) && (e.type == 'checkbox')) {
e.checked = switch_cbox.checked;
}
}
}
function xoopsSavePosition(id) {
var textareaDom = xoopsGetElementById(id);
if (textareaDom.createTextRange) {
textareaDom.caretPos = document.selection.createRange().duplicate();
}
}
function xoopsInsertText(domobj, text) {
if (domobj.selectionEnd) {
//firefox
var start = domobj.selectionStart;
var end = domobj.selectionEnd;
domobj.value = domobj.value.substr(0, start) + text + domobj.value.substr(end, domobj.value.length);
domobj.focus();
var pos = start + text.length;
domobj.setSelectionRange(pos, pos);
domobj.blur();
} else if (domobj.createTextRange && domobj.caretPos) {
//IE
var caretPos = domobj.caretPos;
caretPos.text = caretPos.text.charAt(caretPos.text.length - 1) == ' ' ? text + ' ' : text;
} else if (domobj.getSelection && domobj.caretPos) {
var caretPos = domobj.caretPos;
caretPos.text = caretPos.text.charat(caretPos.text.length - 1) == ' ' ? text + ' ' : text;
} else {
domobj.value = domobj.value + text;
}
}
function xoopsCodeSmilie(id, smilieCode) {
var revisedMessage;
var textareaDom = xoopsGetElementById(id);
xoopsInsertText(textareaDom, smilieCode);
textareaDom.focus();
//return;
}
function showImgSelected(imgId, selectId, imgDir, extra, xoopsUrl) {
if (xoopsUrl == null) {
xoopsUrl = "./";
}
imgDom = xoopsGetElementById(imgId);
selectDom = xoopsGetElementById(selectId);
if (selectDom.options[selectDom.selectedIndex].value != "") {
imgDom.src = xoopsUrl + "/" + imgDir + "/" + selectDom.options[selectDom.selectedIndex].value + extra;
} else {
imgDom.src = xoopsUrl + "/images/blank.gif";
}
}
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
var $pattern = new RegExp("external", "i");
if ($pattern.test(anchor.getAttribute("rel"))) {
/*anchor.onclick = function() {
window.open(this.href);
return false;
}*/
anchor.target = "_blank";
}
}
}
}
function xoopsOnloadEvent(func) {
if (window.onload) {
xoopsAddEvent(window, 'load', window.onload);
}
xoopsAddEvent(window, 'load', func);
}
function xoopsAddEvent(obj, evType, fn) {
if (obj.addEventListener) {
obj.addEventListener(evType, fn, true);
return true;
} else {
if (obj.attachEvent) {
var r = obj.attachEvent("on" + evType, fn);
return r;
} else {
return false;
}
}
}
xoopsOnloadEvent(xoopsExternalLinks);
|