/* automatically generated from prototype/prototype.js, do not edit ! */ @"/* Prototype: an object-oriented Javascript library, version 1.2.0\n" @" * (c) 2005 Sam Stephenson \n" @" *\n" @" * THIS FILE IS AUTOMATICALLY GENERATED. When sending patches, please diff\n" @" * against the source tree, available from the Prototype darcs repository. \n" @" *\n" @" * Prototype is freely distributable under the terms of an MIT-style license.\n" @" *\n" @" * For details, see the Prototype web site: http://prototype.conio.net/\n" @" *\n" @"/*--------------------------------------------------------------------------*/\n" @"var Prototype = {\n" @" Version: '1.2.0'\n" @"}\n" @"var Class = {\n" @" create: function() {\n" @" return function() { \n" @" this.initialize.apply(this, arguments);\n" @" }\n" @" }\n" @"}\n" @"var Abstract = new Object();\n" @"Object.prototype.extend = function(object) {\n" @" for (property in object) {\n" @" this[property] = object[property];\n" @" }\n" @" return this;\n" @"}\n" @"Function.prototype.bind = function(object) {\n" @" var method = this;\n" @" return function() {\n" @" method.apply(object, arguments);\n" @" }\n" @"}\n" @"Function.prototype.bindAsEventListener = function(object) {\n" @" var method = this;\n" @" return function(event) {\n" @" method.call(object, event || window.event);\n" @" }\n" @"}\n" @"Number.prototype.toColorPart = function() {\n" @" var digits = this.toString(16);\n" @" if (this < 16) return '0' + digits;\n" @" return digits;\n" @"}\n" @"var Try = {\n" @" these: function() {\n" @" var returnValue;\n" @" \n" @" for (var i = 0; i < arguments.length; i++) {\n" @" var lambda = arguments[i];\n" @" try {\n" @" returnValue = lambda();\n" @" break;\n" @" } catch (e) {}\n" @" }\n" @" \n" @" return returnValue;\n" @" }\n" @"}\n" @"/*--------------------------------------------------------------------------*/\n" @"var PeriodicalExecuter = Class.create();\n" @"PeriodicalExecuter.prototype = {\n" @" initialize: function(callback, frequency) {\n" @" this.callback = callback;\n" @" this.frequency = frequency;\n" @" this.currentlyExecuting = false;\n" @" \n" @" this.registerCallback();\n" @" },\n" @" \n" @" registerCallback: function() {\n" @" setTimeout(this.onTimerEvent.bind(this), this.frequency * 1000);\n" @" },\n" @" \n" @" onTimerEvent: function() {\n" @" if (!this.currentlyExecuting) {\n" @" try { \n" @" this.currentlyExecuting = true;\n" @" this.callback(); \n" @" } finally { \n" @" this.currentlyExecuting = false;\n" @" }\n" @" }\n" @" \n" @" this.registerCallback();\n" @" }\n" @"}\n" @"/*--------------------------------------------------------------------------*/\n" @"function $() {\n" @" var elements = new Array();\n" @" \n" @" for (var i = 0; i < arguments.length; i++) {\n" @" var element = arguments[i];\n" @" if (typeof element == 'string')\n" @" element = document.getElementById(element);\n" @" if (arguments.length == 1) \n" @" return element;\n" @" \n" @" elements.push(element);\n" @" }\n" @" \n" @" return elements;\n" @"}\n" @"/*--------------------------------------------------------------------------*/\n" @"if (!Array.prototype.push) {\n" @" Array.prototype.push = function() {\n" @" var startLength = this.length;\n" @" for (var i = 0; i < arguments.length; i++)\n" @" this[startLength + i] = arguments[i];\n" @" return this.length;\n" @" }\n" @"}\n" @"if (!Function.prototype.apply) {\n" @" // Based on code from http://www.youngpup.net/\n" @" Function.prototype.apply = function(object, parameters) {\n" @" var parameterStrings = new Array();\n" @" if (!object) object = window;\n" @" if (!parameters) parameters = new Array();\n" @" \n" @" for (var i = 0; i < parameters.length; i++)\n" @" parameterStrings[i] = 'x[' + i + ']';\n" @" \n" @" object.__apply__ = this;\n" @" var result = eval('obj.__apply__(' + \n" @" parameterStrings[i].join(', ') + ')');\n" @" object.__apply__ = null;\n" @" \n" @" return result;\n" @" }\n" @"}\n" @"/*--------------------------------------------------------------------------*/\n" @"var Ajax = {\n" @" getTransport: function() {\n" @" return Try.these(\n" @" function() {return new ActiveXObject('Msxml2.XMLHTTP')},\n" @" function() {return new ActiveXObject('Microsoft.XMLHTTP')},\n" @" function() {return new XMLHttpRequest()}\n" @" ) || false;\n" @" },\n" @" \n" @" emptyFunction: function() {}\n" @"}\n" @"Ajax.Base = function() {};\n" @"Ajax.Base.prototype = {\n" @" setOptions: function(options) {\n" @" this.options = {\n" @" method: 'post',\n" @" asynchronous: true,\n" @" parameters: ''\n" @" }.extend(options || {});\n" @" }\n" @"}\n" @"Ajax.Request = Class.create();\n" @"Ajax.Request.Events = \n" @" ['Uninitialized', 'Loading', 'Loaded', 'Interactive', 'Complete'];\n" @"Ajax.Request.prototype = (new Ajax.Base()).extend({\n" @" initialize: function(url, options) {\n" @" this.transport = Ajax.getTransport();\n" @" this.setOptions(options);\n" @" \n" @" try {\n" @" if (this.options.method == 'get')\n" @" url += '?' + this.options.parameters + '&_=';\n" @" \n" @" this.transport.open(this.options.method, url, true);\n" @" \n" @" if (this.options.asynchronous) {\n" @" this.transport.onreadystatechange = this.onStateChange.bind(this);\n" @" setTimeout((function() {this.respondToReadyState(1)}).bind(this), 10);\n" @" }\n" @" \n" @" this.transport.setRequestHeader('X-Requested-With', 'XMLHttpRequest');\n" @" this.transport.setRequestHeader('X-Prototype-Version', Prototype.Version);\n" @" if (this.options.method == 'post') {\n" @" this.transport.setRequestHeader('Connection', 'close');\n" @" this.transport.setRequestHeader('Content-type',\n" @" 'application/x-www-form-urlencoded');\n" @" }\n" @" \n" @" this.transport.send(this.options.method == 'post' ? \n" @" this.options.parameters + '&_=' : null);\n" @" \n" @" } catch (e) {\n" @" } \n" @" },\n" @" \n" @" onStateChange: function() {\n" @" var readyState = this.transport.readyState;\n" @" if (readyState != 1)\n" @" this.respondToReadyState(this.transport.readyState);\n" @" },\n" @" \n" @" respondToReadyState: function(readyState) {\n" @" var event = Ajax.Request.Events[readyState];\n" @" (this.options['on' + event] || Ajax.emptyFunction)(this.transport);\n" @" }\n" @"});\n" @"Ajax.Updater = Class.create();\n" @"Ajax.Updater.prototype = (new Ajax.Base()).extend({\n" @" initialize: function(container, url, options) {\n" @" this.container = $(container);\n" @" this.setOptions(options);\n" @" \n" @" if (this.options.asynchronous) {\n" @" this.onComplete = this.options.onComplete;\n" @" this.options.onComplete = this.updateContent.bind(this);\n" @" }\n" @" \n" @" this.request = new Ajax.Request(url, this.options);\n" @" \n" @" if (!this.options.asynchronous)\n" @" this.updateContent();\n" @" },\n" @" \n" @" updateContent: function() {\n" @" if (this.options.insertion) {\n" @" new this.options.insertion(this.container,\n" @" this.request.transport.responseText);\n" @" } else {\n" @" this.container.innerHTML = this.request.transport.responseText;\n" @" }\n" @" if (this.onComplete) {\n" @" setTimeout((function() {this.onComplete(this.request)}).bind(this), 10);\n" @" }\n" @" }\n" @"});\n" @"/*--------------------------------------------------------------------------*/\n" @"var Field = {\n" @" clear: function() {\n" @" for (var i = 0; i < arguments.length; i++)\n" @" $(arguments[i]).value = '';\n" @" },\n" @" focus: function(element) {\n" @" $(element).focus();\n" @" },\n" @" \n" @" present: function() {\n" @" for (var i = 0; i < arguments.length; i++)\n" @" if ($(arguments[i]).value == '') return false;\n" @" return true;\n" @" },\n" @" \n" @" select: function(element) {\n" @" $(element).select();\n" @" },\n" @" \n" @" activate: function(element) {\n" @" $(element).focus();\n" @" $(element).select();\n" @" }\n" @"}\n" @"/*--------------------------------------------------------------------------*/\n" @"var Form = {\n" @" serialize: function(form) {\n" @" var elements = Form.getElements($(form));\n" @" var queryComponents = new Array();\n" @" \n" @" for (var i = 0; i < elements.length; i++) {\n" @" var queryComponent = Form.Element.serialize(elements[i]);\n" @" if (queryComponent)\n" @" queryComponents.push(queryComponent);\n" @" }\n" @" \n" @" return queryComponents.join('&');\n" @" },\n" @" \n" @" getElements: function(form) {\n" @" form = $(form);\n" @" var elements = new Array();\n" @" for (tagName in Form.Element.Serializers) {\n" @" var tagElements = form.getElementsByTagName(tagName);\n" @" for (var j = 0; j < tagElements.length; j++)\n" @" elements.push(tagElements[j]);\n" @" }\n" @" return elements;\n" @" },\n" @" \n" @" disable: function(form) {\n" @" var elements = Form.getElements(form);\n" @" for (var i = 0; i < elements.length; i++) {\n" @" var element = elements[i];\n" @" element.blur();\n" @" element.disable = 'true';\n" @" }\n" @" },\n" @" focusFirstElement: function(form) {\n" @" form = $(form);\n" @" var elements = Form.getElements(form);\n" @" for (var i = 0; i < elements.length; i++) {\n" @" var element = elements[i];\n" @" if (element.type != 'hidden' && !element.disabled) {\n" @" Field.activate(element);\n" @" break;\n" @" }\n" @" }\n" @" },\n" @" reset: function(form) {\n" @" $(form).reset();\n" @" }\n" @"}\n" @"Form.Element = {\n" @" serialize: function(element) {\n" @" element = $(element);\n" @" var method = element.tagName.toLowerCase();\n" @" var parameter = Form.Element.Serializers[method](element);\n" @" \n" @" if (parameter)\n" @" return encodeURIComponent(parameter[0]) + '=' + \n" @" encodeURIComponent(parameter[1]); \n" @" },\n" @" \n" @" getValue: function(element) {\n" @" element = $(element);\n" @" var method = element.tagName.toLowerCase();\n" @" var parameter = Form.Element.Serializers[method](element);\n" @" \n" @" if (parameter) \n" @" return parameter[1];\n" @" }\n" @"}\n" @"Form.Element.Serializers = {\n" @" input: function(element) {\n" @" switch (element.type.toLowerCase()) {\n" @" case 'hidden':\n" @" case 'password':\n" @" case 'text':\n" @" return Form.Element.Serializers.textarea(element);\n" @" case 'checkbox': \n" @" case 'radio':\n" @" return Form.Element.Serializers.inputSelector(element);\n" @" }\n" @" return false;\n" @" },\n" @" inputSelector: function(element) {\n" @" if (element.checked)\n" @" return [element.name, element.value];\n" @" },\n" @" textarea: function(element) {\n" @" return [element.name, element.value];\n" @" },\n" @" select: function(element) {\n" @" var index = element.selectedIndex;\n" @" var value = element.options[index].value || element.options[index].text;\n" @" return [element.name, (index >= 0) ? value : ''];\n" @" }\n" @"}\n" @"/*--------------------------------------------------------------------------*/\n" @"var $F = Form.Element.getValue;\n" @"/*--------------------------------------------------------------------------*/\n" @"Abstract.TimedObserver = function() {}\n" @"Abstract.TimedObserver.prototype = {\n" @" initialize: function(element, frequency, callback) {\n" @" this.frequency = frequency;\n" @" this.element = $(element);\n" @" this.callback = callback;\n" @" \n" @" this.lastValue = this.getValue();\n" @" this.registerCallback();\n" @" },\n" @" \n" @" registerCallback: function() {\n" @" setTimeout(this.onTimerEvent.bind(this), this.frequency * 1000);\n" @" },\n" @" \n" @" onTimerEvent: function() {\n" @" var value = this.getValue();\n" @" if (this.lastValue != value) {\n" @" this.callback(this.element, value);\n" @" this.lastValue = value;\n" @" }\n" @" \n" @" this.registerCallback();\n" @" }\n" @"}\n" @"Form.Element.Observer = Class.create();\n" @"Form.Element.Observer.prototype = (new Abstract.TimedObserver()).extend({\n" @" getValue: function() {\n" @" return Form.Element.getValue(this.element);\n" @" }\n" @"});\n" @"Form.Observer = Class.create();\n" @"Form.Observer.prototype = (new Abstract.TimedObserver()).extend({\n" @" getValue: function() {\n" @" return Form.serialize(this.element);\n" @" }\n" @"});\n" @"/*--------------------------------------------------------------------------*/\n" @"document.getElementsByClassName = function(className) {\n" @" var children = document.getElementsByTagName('*') || document.all;\n" @" var elements = new Array();\n" @" \n" @" for (var i = 0; i < children.length; i++) {\n" @" var child = children[i];\n" @" var classNames = child.className.split(' ');\n" @" for (var j = 0; j < classNames.length; j++) {\n" @" if (classNames[j] == className) {\n" @" elements.push(child);\n" @" break;\n" @" }\n" @" }\n" @" }\n" @" \n" @" return elements;\n" @"}\n" @"/*--------------------------------------------------------------------------*/\n" @"var Element = {\n" @" toggle: function() {\n" @" for (var i = 0; i < arguments.length; i++) {\n" @" var element = $(arguments[i]);\n" @" element.style.display = \n" @" (element.style.display == 'none' ? '' : 'none');\n" @" }\n" @" },\n" @" hide: function() {\n" @" for (var i = 0; i < arguments.length; i++) {\n" @" var element = $(arguments[i]);\n" @" element.style.display = 'none';\n" @" }\n" @" },\n" @" show: function() {\n" @" for (var i = 0; i < arguments.length; i++) {\n" @" var element = $(arguments[i]);\n" @" element.style.display = '';\n" @" }\n" @" },\n" @" remove: function(element) {\n" @" element = $(element);\n" @" element.parentNode.removeChild(element);\n" @" },\n" @" \n" @" getHeight: function(element) {\n" @" element = $(element);\n" @" return element.offsetHeight; \n" @" }\n" @"}\n" @"var Toggle = new Object();\n" @"Toggle.display = Element.toggle;\n" @"/*--------------------------------------------------------------------------*/\n" @"Abstract.Insertion = function(adjacency) {\n" @" this.adjacency = adjacency;\n" @"}\n" @"Abstract.Insertion.prototype = {\n" @" initialize: function(element, content) {\n" @" this.element = $(element);\n" @" this.content = content;\n" @" \n" @" if (this.adjacency && this.element.insertAdjacentHTML) {\n" @" this.element.insertAdjacentHTML(this.adjacency, this.content);\n" @" } else {\n" @" this.range = this.element.ownerDocument.createRange();\n" @" if (this.initializeRange) this.initializeRange();\n" @" this.fragment = this.range.createContextualFragment(this.content);\n" @" this.insertContent();\n" @" }\n" @" }\n" @"}\n" @"var Insertion = new Object();\n" @"Insertion.Before = Class.create();\n" @"Insertion.Before.prototype = (new Abstract.Insertion('beforeBegin')).extend({\n" @" initializeRange: function() {\n" @" this.range.setStartBefore(this.element);\n" @" },\n" @" \n" @" insertContent: function() {\n" @" this.element.parentNode.insertBefore(this.fragment, this.element);\n" @" }\n" @"});\n" @"Insertion.Top = Class.create();\n" @"Insertion.Top.prototype = (new Abstract.Insertion('afterBegin')).extend({\n" @" initializeRange: function() {\n" @" this.range.selectNodeContents(this.element);\n" @" this.range.collapse(true);\n" @" },\n" @" \n" @" insertContent: function() { \n" @" this.element.insertBefore(this.fragment, this.element.firstChild);\n" @" }\n" @"});\n" @"Insertion.Bottom = Class.create();\n" @"Insertion.Bottom.prototype = (new Abstract.Insertion('beforeEnd')).extend({\n" @" initializeRange: function() {\n" @" this.range.selectNodeContents(this.element);\n" @" this.range.collapse(this.element);\n" @" },\n" @" \n" @" insertContent: function() {\n" @" this.element.appendChild(this.fragment);\n" @" }\n" @"});\n" @"Insertion.After = Class.create();\n" @"Insertion.After.prototype = (new Abstract.Insertion('afterEnd')).extend({\n" @" initializeRange: function() {\n" @" this.range.setStartAfter(this.element);\n" @" },\n" @" \n" @" insertContent: function() {\n" @" this.element.parentNode.insertBefore(this.fragment, \n" @" this.element.nextSibling);\n" @" }\n" @"});\n" @"/*--------------------------------------------------------------------------*/\n" @"var Effect = new Object();\n" @"Effect.Highlight = Class.create();\n" @"Effect.Highlight.prototype = {\n" @" initialize: function(element) {\n" @" this.element = $(element);\n" @" this.start = 153;\n" @" this.finish = 255;\n" @" this.current = this.start;\n" @" this.fade();\n" @" },\n" @" \n" @" fade: function() {\n" @" if (this.isFinished()) return;\n" @" if (this.timer) clearTimeout(this.timer);\n" @" this.highlight(this.element, this.current);\n" @" this.current += 17;\n" @" this.timer = setTimeout(this.fade.bind(this), 250);\n" @" },\n" @" \n" @" isFinished: function() {\n" @" return this.current > this.finish;\n" @" },\n" @" \n" @" highlight: function(element, current) {\n" @" element.style.backgroundColor = \"#ffff\" + current.toColorPart();\n" @" }\n" @"}\n" @"Effect.Fade = Class.create();\n" @"Effect.Fade.prototype = {\n" @" initialize: function(element) {\n" @" this.element = $(element);\n" @" this.start = 100;\n" @" this.finish = 0;\n" @" this.current = this.start;\n" @" this.fade();\n" @" },\n" @" \n" @" fade: function() {\n" @" if (this.isFinished()) { this.element.style.display = 'none'; return; }\n" @" if (this.timer) clearTimeout(this.timer);\n" @" this.setOpacity(this.element, this.current);\n" @" this.current -= 10;\n" @" this.timer = setTimeout(this.fade.bind(this), 50);\n" @" },\n" @" \n" @" isFinished: function() {\n" @" return this.current <= this.finish;\n" @" },\n" @" \n" @" setOpacity: function(element, opacity) {\n" @" opacity = (opacity == 100) ? 99.999 : opacity;\n" @" element.style.filter = \"alpha(opacity:\"+opacity+\")\";\n" @" element.style.opacity = opacity/100 /*//*/;\n" @" }\n" @"}\n" @"Effect.Scale = Class.create();\n" @"Effect.Scale.prototype = {\n" @" initialize: function(element, percent) {\n" @" this.element = $(element);\n" @" this.startScale = 1.0;\n" @" this.startHeight = this.element.offsetHeight;\n" @" this.startWidth = this.element.offsetWidth;\n" @" this.currentHeight = this.startHeight;\n" @" this.currentWidth = this.startWidth;\n" @" this.finishScale = (percent/100) /*//*/;\n" @" if (this.element.style.fontSize==\"\") this.sizeEm = 1.0;\n" @" if (this.element.style.fontSize.indexOf(\"em\")>0)\n" @" this.sizeEm = parseFloat(this.element.style.fontSize);\n" @" if(this.element.effect_scale) {\n" @" clearTimeout(this.element.effect_scale.timer);\n" @" this.startScale = this.element.effect_scale.currentScale;\n" @" this.startHeight = this.element.effect_scale.startHeight;\n" @" this.startWidth = this.element.effect_scale.startWidth;\n" @" if(this.element.effect_scale.sizeEm) \n" @" this.sizeEm = this.element.effect_scale.sizeEm; \n" @" }\n" @" this.element.effect_scale = this;\n" @" this.currentScale = this.startScale;\n" @" this.factor = this.finishScale - this.startScale;\n" @" this.options = arguments[2] || {}; \n" @" this.scale();\n" @" },\n" @" \n" @" scale: function() {\n" @" if (this.isFinished()) { \n" @" this.setDimensions(this.element, this.startWidth*this.finishScale, this.startHeight*this.finishScale);\n" @" if(this.sizeEm) this.element.style.fontSize = this.sizeEm*this.finishScale + \"em\";\n" @" if(this.options.complete) this.options.complete(this);\n" @" return; \n" @" }\n" @" if (this.timer) clearTimeout(this.timer);\n" @" if (this.options.step) this.options.step(this);\n" @" this.setDimensions(this.element, this.currentWidth, this.currentHeight);\n" @" if(this.sizeEm) this.element.style.fontSize = this.sizeEm*this.currentScale + \"em\";\n" @" this.currentScale += (this.factor/10) /*//*/;\n" @" this.currentWidth = this.startWidth * this.currentScale;\n" @" this.currentHeight = this.startHeight * this.currentScale;\n" @" this.timer = setTimeout(this.scale.bind(this), 50);\n" @" },\n" @" \n" @" isFinished: function() {\n" @" return (this.factor < 0) ? \n" @" this.currentScale <= this.finishScale : this.currentScale >= this.finishScale;\n" @" },\n" @" \n" @" setDimensions: function(element, width, height) {\n" @" element.style.width = width + 'px';\n" @" element.style.height = height + 'px';\n" @" }\n" @"}\n" @"Effect.Squish = Class.create();\n" @"Effect.Squish.prototype = {\n" @" initialize: function(element) {\n" @" this.element = $(element);\n" @" new Effect.Scale(this.element, 1, { complete: this.hide.bind(this) } );\n" @" },\n" @" hide: function() {\n" @" this.element.style.display = 'none';\n" @" } \n" @"}\n" @"Effect.Puff = Class.create();\n" @"Effect.Puff.prototype = {\n" @" initialize: function(element) {\n" @" this.element = $(element);\n" @" this.opacity = 100;\n" @" this.startTop = this.element.top || this.element.offsetTop;\n" @" this.startLeft = this.element.left || this.element.offsetLeft;\n" @" new Effect.Scale(this.element, 200, { step: this.fade.bind(this), complete: this.hide.bind(this) } );\n" @" },\n" @" fade: function(effect) {\n" @" topd = (((effect.currentScale)*effect.startHeight) - effect.startHeight)/2;\n" @" leftd = (((effect.currentScale)*effect.startWidth) - effect.startWidth)/2;\n" @" this.element.style.position='absolute';\n" @" this.element.style.top = this.startTop-topd + \"px\";\n" @" this.element.style.left = this.startLeft-leftd + \"px\";\n" @" this.opacity -= 10;\n" @" this.setOpacity(this.element, this.opacity); \n" @" if(navigator.appVersion.indexOf('AppleWebKit')>0) this.element.innerHTML += ''; //force redraw on safari\n" @" },\n" @" hide: function() {\n" @" this.element.style.display = 'none';\n" @" },\n" @" setOpacity: function(element, opacity) {\n" @" opacity = (opacity == 100) ? 99.999 : opacity;\n" @" element.style.filter = \"alpha(opacity:\"+opacity+\")\";\n" @" element.style.opacity = opacity/100 /*//*/;\n" @" }\n" @"}\n" @"Effect.Appear = Class.create();\n" @"Effect.Appear.prototype = {\n" @" initialize: function(element) {\n" @" this.element = $(element);\n" @" this.start = 0;\n" @" this.finish = 100;\n" @" this.current = this.start;\n" @" this.fade();\n" @" },\n" @" \n" @" fade: function() {\n" @" if (this.isFinished()) return;\n" @" if (this.timer) clearTimeout(this.timer);\n" @" this.setOpacity(this.element, this.current);\n" @" this.current += 10;\n" @" this.timer = setTimeout(this.fade.bind(this), 50);\n" @" },\n" @" \n" @" isFinished: function() {\n" @" return this.current > this.finish;\n" @" },\n" @" \n" @" setOpacity: function(element, opacity) {\n" @" opacity = (opacity == 100) ? 99.999 : opacity;\n" @" element.style.filter = \"alpha(opacity:\"+opacity+\")\";\n" @" element.style.opacity = opacity/100 /*//*/;\n" @" element.style.display = '';\n" @" }\n" @"}\n" @"Effect.ContentZoom = Class.create();\n" @"Effect.ContentZoom.prototype = {\n" @" initialize: function(element, percent) {\n" @" this.element = $(element);\n" @" if (this.element.style.fontSize==\"\") this.sizeEm = 1.0;\n" @" if (this.element.style.fontSize.indexOf(\"em\")>0)\n" @" this.sizeEm = parseFloat(this.element.style.fontSize);\n" @" if(this.element.effect_contentzoom) {\n" @" this.sizeEm = this.element.effect_contentzoom.sizeEm;\n" @" }\n" @" this.element.effect_contentzoom = this;\n" @" this.element.style.fontSize = this.sizeEm*(percent/100) + \"em\" /*//*/;\n" @" if(navigator.appVersion.indexOf('AppleWebKit')>0) { this.element.scrollTop -= 1; };\n" @" }\n" @"}\n"