home *** CD-ROM | disk | FTP | other *** search
-
- if ( typeof window.$ != 'function' ) {
- function $() {
- 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 $(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 makeBold(id){
- var eleStyle = xoopsGetElementById(id).style;
- if (eleStyle.fontWeight != "bold" && eleStyle.fontWeight != "700") {
- eleStyle.fontWeight = "bold";
- } else {
- eleStyle.fontWeight = "normal";
- }
- }
-
- function makeItalic(id){
- var eleStyle = xoopsGetElementById(id).style;
- if (eleStyle.fontStyle != "italic") {
- eleStyle.fontStyle = "italic";
- } else {
- eleStyle.fontStyle = "normal";
- }
- }
-
- function makeUnderline(id){
- var eleStyle = xoopsGetElementById(id).style;
- if (eleStyle.textDecoration != "underline") {
- eleStyle.textDecoration = "underline";
- } else {
- eleStyle.textDecoration = "none";
- }
- }
-
- function makeLineThrough(id){
- var eleStyle = xoopsGetElementById(id).style;
- if (eleStyle.textDecoration != "line-through") {
- eleStyle.textDecoration = "line-through";
- } else {
- eleStyle.textDecoration = "none";
- }
- }
-
- function appendSelectOption(selectMenuId, optionName, optionValue){
- var selectMenu = xoopsGetElementById(selectMenuId);
- var newoption = new Option(optionName, optionValue);
- selectMenu.options[selectMenu.length] = newoption;
- selectMenu.options[selectMenu.length].selected = true;
- }
-
- function disableElement(target){
- var targetDom = xoopsGetElementById(target);
- if (targetDom.disabled != true) {
- targetDom.disabled = true;
- } else {
- targetDom.disabled = false;
- }
- }
-
- function xoopsCheckAll( form, switchId ) {
- var eltForm = $(form);
- var eltSwitch = $(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 = $(form);
- var eltSwitch = $(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.createTextRange && domobj.caretPos){
- 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);
- imgDom.src = xoopsUrl + "/"+ imgDir + "/" + selectDom.options[selectDom.selectedIndex].value + extra;
- }
-
- function xoopsCodeUrl(id, enterUrlPhrase, enterWebsitePhrase){
- if (enterUrlPhrase == null) {
- enterUrlPhrase = "Enter the URL of the link you want to add:";
- }
- var text = prompt(enterUrlPhrase, "");
- var domobj = xoopsGetElementById(id);
- if ( text != null && text != "" ) {
- if (enterWebsitePhrase == null) {
- enterWebsitePhrase = "Enter the web site title:";
- }
- var text2 = prompt(enterWebsitePhrase, "");
- if ( text2 != null ) {
- if ( text2 == "" ) {
- var result = "[url=" + text + "]" + text + "[/url]";
- } else {
- var pos = text2.indexOf(unescape('%00'));
- if(0 < pos){
- text2 = text2.substr(0,pos);
- }
- var result = "[url=" + text + "]" + text2 + "[/url]";
- }
- xoopsInsertText(domobj, result);
- }
- }
- domobj.focus();
- }
-
- function xoopsCodeImg(id, enterImgUrlPhrase, enterImgPosPhrase, imgPosRorLPhrase, errorImgPosPhrase){
- if (enterImgUrlPhrase == null) {
- enterImgUrlPhrase = "Enter the URL of the image you want to add:";
- }
- var text = prompt(enterImgUrlPhrase, "");
- var domobj = xoopsGetElementById(id);
- if ( text != null && text != "" ) {
- if (enterImgPosPhrase == null) {
- enterImgPosPhrase = "Now, enter the position of the image.";
- }
- if (imgPosRorLPhrase == null) {
- imgPosRorLPhrase = "'R' or 'r' for right, 'L' or 'l' for left, or leave it blank.";
- }
- if (errorImgPosPhrase == null) {
- errorImgPosPhrase = "ERROR! Enter the position of the image:";
- }
- var text2 = prompt(enterImgPosPhrase + "\n" + imgPosRorLPhrase, "");
- while ( ( text2 != "" ) && ( text2 != "r" ) && ( text2 != "R" ) && ( text2 != "l" ) && ( text2 != "L" ) && ( text2 != null ) ) {
- text2 = prompt(errorImgPosPhrase + "\n" + imgPosRorLPhrase,"");
- }
- if ( text2 == "l" || text2 == "L" ) {
- text2 = " align=left";
- } else if ( text2 == "r" || text2 == "R" ) {
- text2 = " align=right";
- } else {
- text2 = "";
- }
- var result = "[img" + text2 + "]" + text + "[/img]";
- xoopsInsertText(domobj, result);
- }
- domobj.focus();
- }
-
- function xoopsCodeEmail(id, enterEmailPhrase){
- if (enterEmailPhrase == null) {
- enterEmailPhrase = "Enter the email address you want to add:";
- }
- var text = prompt(enterEmailPhrase, "");
- var domobj = xoopsGetElementById(id);
- if ( text != null && text != "" ) {
- var result = "[email]" + text + "[/email]";
- xoopsInsertText(domobj, result);
- }
- domobj.focus();
- }
-
- function xoopsCodeQuote(id, enterQuotePhrase){
- if (enterQuotePhrase == null) {
- enterQuotePhrase = "Enter the text that you want to be quoted:";
- }
- var text = prompt(enterQuotePhrase, "");
- var domobj = xoopsGetElementById(id);
- if ( text != null && text != "" ) {
- var pos = text.indexOf(unescape('%00'));
- if(0 < pos){
- text = text.substr(0,pos);
- }
- var result = "[quote]" + text + "[/quote]";
- xoopsInsertText(domobj, result);
- }
- domobj.focus();
- }
-
- function xoopsCodeCode(id, enterCodePhrase){
- if (enterCodePhrase == null) {
- enterCodePhrase = "Enter the codes that you want to add.";
- }
- var text = prompt(enterCodePhrase, "");
- var domobj = xoopsGetElementById(id);
- if ( text != null && text != "" ) {
- var result = "[code]" + text + "[/code]";
- xoopsInsertText(domobj, result);
- }
- domobj.focus();
- }
-
- function xoopsCodeText(id, hiddentext, enterTextboxPhrase){
- var textareaDom = xoopsGetElementById(id);
- var textDom = xoopsGetElementById(id + "Addtext");
- var fontDom = xoopsGetElementById(id + "Font");
- var colorDom = xoopsGetElementById(id + "Color");
- var sizeDom = xoopsGetElementById(id + "Size");
- var xoopsHiddenTextDomStyle = xoopsGetElementById(hiddentext).style;
- var textDomValue = textDom.value;
- var fontDomValue = fontDom.options[fontDom.options.selectedIndex].value;
- var colorDomValue = colorDom.options[colorDom.options.selectedIndex].value;
- var sizeDomValue = sizeDom.options[sizeDom.options.selectedIndex].value;
- if ( textDomValue == "" ) {
- if (enterTextboxPhrase == null) {
- enterTextboxPhrase = "Please input text into the textbox.";
- }
- alert(enterTextboxPhrase);
- textDom.focus();
- } else {
- if ( fontDomValue != "FONT") {
- textDomValue = "[font=" + fontDomValue + "]" + textDomValue + "[/font]";
- fontDom.options[0].selected = true;
- }
- if ( colorDomValue != "COLOR") {
- textDomValue = "[color=" + colorDomValue + "]" + textDomValue + "[/color]";
- colorDom.options[0].selected = true;
- }
- if ( sizeDomValue != "SIZE") {
- textDomValue = "[size=" + sizeDomValue + "]" + textDomValue + "[/size]";
- sizeDom.options[0].selected = true;
- }
- if (xoopsHiddenTextDomStyle.fontWeight == "bold" || xoopsHiddenTextDomStyle.fontWeight == "700") {
- textDomValue = "[b]" + textDomValue + "[/b]";
- xoopsHiddenTextDomStyle.fontWeight = "normal";
- }
- if (xoopsHiddenTextDomStyle.fontStyle == "italic") {
- textDomValue = "[i]" + textDomValue + "[/i]";
- xoopsHiddenTextDomStyle.fontStyle = "normal";
- }
- if (xoopsHiddenTextDomStyle.textDecoration == "underline") {
- textDomValue = "[u]" + textDomValue + "[/u]";
- xoopsHiddenTextDomStyle.textDecoration = "none";
- }
- if (xoopsHiddenTextDomStyle.textDecoration == "line-through") {
- textDomValue = "[d]" + textDomValue + "[/d]";
- xoopsHiddenTextDomStyle.textDecoration = "none";
- }
- xoopsInsertText(textareaDom, textDomValue);
- textDom.value = "";
- xoopsHiddenTextDomStyle.color = "#000000";
- xoopsHiddenTextDomStyle.fontFamily = "";
- xoopsHiddenTextDomStyle.fontSize = "12px";
- xoopsHiddenTextDomStyle.visibility = "hidden";
- textareaDom.focus();
- }
- }
-
- function xoopsValidate(subjectId, textareaId, submitId, plzCompletePhrase, msgTooLongPhrase, allowedCharPhrase, currCharPhrase) {
- var maxchars = 65535;
- var subjectDom = xoopsGetElementById(subjectId);
- var textareaDom = xoopsGetElementById(textareaId);
- var submitDom = xoopsGetElementById(submitId);
- if (textareaDom.value == "" || subjectDom.value == "") {
- if (plzCompletePhrase == null) {
- plzCompletePhrase = "Please complete the subject and message fields.";
- }
- alert(plzCompletePhrase);
- return false;
- }
- if (maxchars != 0) {
- if (textareaDom.value.length > maxchars) {
- if (msgTooLongPhrase == null) {
- msgTooLongPhrase = "Your message is too long.";
- }
- if (allowedCharPhrase == null) {
- allowedCharPhrase = "Allowed max chars length: ";
- }
- if (currCharPhrase == null) {
- currCharPhrase = "Current chars length: ";
- }
- alert(msgTooLongPhrase + "\n\n" + allowedCharPhrase + maxchars + "\n" + currCharPhrase + textareaDom.value.length + "");
- textareaDom.focus();
- return false;
- } else {
- submitDom.disabled = true;
- return true;
- }
- } else {
- submitDom.disabled = true;
- return true;
- }
- }