function $(element) { if (arguments.length > 1) { for (var i = 0, elements = [], length = arguments.length; i < length; i++) elements.push($(arguments[i])); return elements; } if (typeof element === "string") element = document.getElementById(element); return element; } Function.prototype.createDelegate = function(obj, args) { var method = this; return function() { var callArgs = args || arguments; return method.apply(obj || window, callArgs); }; } window.FSite2 = new Object(); FSite2._imageMaps = new Object(); FSite2._callRef = function(funRef, objectRef) { return (function() { funRef(objectRef); }); } FSite2._removeElement = function(el) { el.parentNode.removeChild(el); } FSite2._simulateClickOnSpace = function(event) { if (!event) var event = window.event; if (event.keyCode == 0x20) { if (this._image._OnClick) this._image._OnClick(event); event.returnValue = false; } } FSite2._simulateClick = function() { if (this._OnClick) this._OnClick(); return false; } FSite2._propagateClick = function(event) { if (!event) var event = window.event if (this._image._OnClick) this._image._OnClick(event); event.returnValue = false; event.cancelBubble = true; return false; } FSite2._updateImageState = function(event) { if (this._hiddenInput.disabled) { this._area.removeAttribute('href'); this._area.style.cursor = 'default'; } else { this._area.setAttribute('href', '#'); this._area.style.cursor = 'pointer'; } var i; if (this._hiddenInput.disabled && this._imageDisabledChecked && this._imageDisabledUnchecked) { if (this._hiddenInput.checked) i = this._imageDisabledChecked; else i = this._imageDisabledUnchecked; } else { if (this._hiddenInput.checked) i = this._imageChecked; else i = this._imageUnchecked; } if (i !== undefined) { this.src = i.src; if (i.height) this.style.height = i.height + 'px'; if (i.width) this.style.width = i.width + 'px'; } } FSite2.debugMessage = function(msg) { if (debugElement = document.getElementById('FSite2_debug')) { debugElement.innerHTML = debugElement.innerHTML + '
' + msg + '
'; } } FSite2.addImageFocus = function(imageElement, mapName) { var imageMap = document.createElement('map'); if (FSite2._imageMaps[mapName] != undefined) { FSite2._imageMaps[mapName]++; mapName = mapName + '_' + FSite2._imageMaps[mapName]; } else FSite2._imageMaps[mapName] = 1; imageMap.name = mapName; imageMap.id = mapName; var imageArea = document.createElement('area'); imageArea.shape = 'rect'; imageArea.coords = '0,0,' + imageElement.width + ',' + imageElement.height; imageMap.appendChild(imageArea); imageArea._image = imageElement; // imageArea.href = '#'; imageElement.onclick = window.FSite2._simulateClick; imageElement._area = imageArea; imageElement.parentNode.insertBefore(imageMap, imageElement); imageElement.onload = function() { this.style.height = this.height + 'px'; this.style.width = this.width + 'px'; this._area.coords = '0,0,' + this.width + ',' + this.height; }; imageElement.style.border = 'none'; imageElement.useMap = '#' + imageMap.name; imageArea.onkeydown = window.FSite2._simulateClickOnSpace; imageArea.onclick = window.FSite2._propagateClick; return imageArea; } FSite2.createElement = function(elementName, attribs) { var newElement = document.createElement(elementName); FSite2.setObjectAttribs(newElement, attribs); return newElement; } FSite2.cloneObject = function (o) { if(typeof(o) != 'object') return o; if(o == null) return o; var newO = new Object(); for(var i in o) newO[i] = FSite2.cloneObject(o[i]); return newO; } FSite2.setObjectAttribs = function(newElement, attribs) { if (typeof attribs != 'object') return; for (attrib in attribs) if (attribs[attrib] != null) { if ((typeof attribs[attrib] == 'object') && (typeof newElement[attrib] == 'object')) FSite2.setObjectAttribs(newElement[attrib], attribs[attrib]); else newElement[attrib] = attribs[attrib]; } } FSite2.setElementClass = function(element, className) { FSite2.unsetElementClass(element, className); element.className += (element.className?' ':'') + className; } FSite2.unsetElementClass = function(element, className) { element.className = element.className.replace(new RegExp('\\s*\\b' + className + '\\b', 'gi'), ''); } FSite2.hasElementClass = function(element, className) { return RegExp('\\b' + className + '\\b', 'gi').test(element.className); } FSite2.recursiveReplace = function(element, pattern, replacement) { for (var i = 0; i < element.childNodes.length; i++) { if (element.childNodes[i].nodeType == 3) element.childNodes[i].nodeValue = element.childNodes[i].nodeValue.replace(pattern, replacement); else if (element.childNodes[i].nodeType == 1) FSite2.recursiveReplace(element.childNodes[i], pattern, replacement); } } FSite2.showElement = function(element) { element.style.display = 'block'; element.style.visibility = 'visible'; if (element.onShow && (typeof element.onShow == 'function')) element.onShow(); } FSite2.hideElement = function(element) { if (element.onHide && (typeof element.onHide == 'function')) element.onHide(); element.style.visibility = 'hidden'; element.style.display = 'none'; // element.style.display = 'block'; } FSite2.toggleElement = function(element) { if (element.style.display == 'none') FSite2.showElement(element); else FSite2.hideElement(element); } FSite2.getElementsByClassName = function(className, node1, node2, node3, node4) { if (!node1) node1=document; var i, a, d; var db = node1.getElementsByTagName('*'); for (i = 0, a = [], d; d = db[i++]; ) if (FSite2.hasElementClass(d, className)) a.push(d); if (node2) { db = node2.getElementsByTagName('*'); for (i = 0; d = db[i++]; ) if (FSite2.hasElementClass(d, className)) a.push(d); } if (node3) { db = node3.getElementsByTagName('*'); for (i = 0; d = db[i++]; ) if (FSite2.hasElementClass(d, className)) a.push(d); } if (node4) { db = node4.getElementsByTagName('*'); for (i = 0;d = db[i++]; ) if (FSite2.hasElementClass(d, className)) a.push(d); } return a; } FSite2.redirectByForm = function(url,formid,onsubmit) { var form = document.createElement('form'); if( $('formid') && $('formid').tagName == 'FORM' ) { form = $('formid'); } else { form = document.createElement('form'); form.method = 'get'; document.body.appendChild(form); } if(typeof onsubmit == 'function') form.onsubmit = onsubmit; form.action = url; form.submit(); if( typeof form.onsubmit == 'function' ) form.onsubmit(); } FSite2.extendForm = function(formElement, params) { var inputArray; var i; var images; if (FSite2.extendImage && params.imagesClass) { if (!params.imagesInterval) params.imagesInterval=1000; if (!params.imagesSep) params.imagesSep='|'; imgs=formElement.getElementsByTagName('img'); for (i=0;i