/* OnlineOpinion v5.1.6 */ /* Released: 11/16/2010 */ /* Components: Full /* The following code is Copyright 1998-2010 Opinionlab, Inc. All rights reserved. Unauthorized use is prohibited. This product and other products of OpinionLab, Inc. are protected by U.S. Patent No. 6606581, 6421724, 6785717 B1 and other patents pending. http://www.opinionlab.com */ var OOo = { Browser: (function(){ var ua = navigator.userAgent, isOpera = Object.prototype.toString.call(window.opera) == '[object Opera]', browser = { IE: !!window.attachEvent && !isOpera, Opera: isOpera, WebKit: ua.indexOf('AppleWebKit/') > -1, Chrome: ua.indexOf('Chrome') > -1, Gecko: ua.indexOf('Gecko') > -1 && ua.indexOf('KHTML') === -1, MobileSafari: /Apple.*Mobile.*Safari/.test(ua), PalmPre: ua.indexOf('Pre/') > -1, BlackBerry: ua.indexOf('BlackBerry') > -1, Fennec: ua.indexOf('Fennec') > -1, IEMobile: ua.indexOf('IEMobile') > -1, OperaMobile: ua.search(/Opera (?:Mobi|Mini)/) > -1 }, version = 0, regex, unknown = false; if (browser.IE) { regex = /msie.(\d\.\d+)/i; version = ua.match(regex)[1]; } else if (browser.Gecko) { regex = /gecko.(\d+)/i; version = ua.match(regex)[1]; } else if (browser.WebKit) { regex = /applewebkit\/(\d+)/i; version = ua.match(regex)[1]; } else if (browser.Opera) { regex = /opera.(\d\.\d+)/i; version = ua.match(regex)[1]; } else { unknown = true; } browser.isMobile = (browser.MobileSafari || browser.PalmPre || browser.BlackBerry || browser.Fennec || browser.IEMobile || browser.OperaMobile); browser.Version = parseFloat(version); browser.isModern = (!(unknown || (browser.IE && browser.Version < 6) || // Pre IE 6.0 (browser.Opera && browser.Version < 8 ) || // Pre 7.0 Opera (browser.Gecko == 'gecko' && browser.Version < 20041107))); return browser; })() }; OOo.Cache = {}; OOo.instanceCount = 0; if (!OnlineOpinion) var OnlineOpinion = OOo; (function(){ function $(id) { return document.getElementById(id); } function _extend(destination, source) { for (var property in source) destination[property] = source[property]; return destination; } function _addEventListener(target,type,callback,captures) { if (target.addEventListener) target.addEventListener(type,callback,captures); else if (target.attachEvent) target.attachEvent('on'+type,callback); } function removeEventListener(target,type,callback,captures) { if (target.removeEventListener) target.removeEventListener(type, callback, captures); else if (target.detachEvent) target.detachEvent('on'+type,callback); }; function _toQueryString(object) { var str_out = []; for (prop in object) str_out.push(prop + '=' + (encodeURIComponent(object[prop]) || '')); return str_out.join('&'); } function _getFormParams(opt) { var params = _toQueryString(opt.metrics); params += '&custom_var=' + opt.tealeafId + '|' + opt.clickTalePID + '/' + opt.clickTaleUID + '/' + opt.clickTaleSID; params += '&_'+"rev=2"; if (opt.customVariables) params += '&customVars=' + encodeURIComponent(OOo.serialize(opt.customVariables)); return params; } function _appendOOForm(opt, frameName) { var d = document, form = d.createElement('form'), input = d.createElement('input'); form.style.display = 'none'; form.method = 'post'; form.target = frameName || 'OnlineOpinion'; form.action = opt.onPageCard ? 'https://secure.opinionlab.com/ccc01/comment_card_json_4_0_b.asp?r=' + location.href : 'https://secure.opinionlab.com/ccc01/comment_card_d.asp'; input.name = 'params'; input.value = _getFormParams(opt); form.appendChild(input); d.body.appendChild(form); return form; } function _createMetrics() { return { width: screen.width, height: screen.height, referer: location.href, prev: document.referrer, time1: (new Date()).getTime(), time2: null, currentURL: location.href, ocodeVersion: '5.1.6' }; } _extend(OOo, { extend: _extend, toQueryString: _toQueryString, addEventListener: _addEventListener, $: $, appendOOForm: _appendOOForm, removeEventListener: removeEventListener, createMetrics: _createMetrics }); })(); (function(){ function _serialize(_obj) { if (!_obj) return null; switch (typeof _obj) { case 'number': case 'boolean': case 'function': return _obj; break; case 'string': return '\'' + _obj + '\''; break; case 'object': var str; if (_obj.constructor === Array || typeof _obj.callee !== 'undefined') { str = '['; var i, len = _obj.length; for (i = 0; i < len-1; i++) { str += _serialize(_obj[i]) + ','; } str += _serialize(_obj[i]) + ']'; } else { str = '{'; var key; for (key in _obj) { str += key + ':' + _serialize(_obj[key]) + ','; } str = str.replace(/\,$/, '') + '}'; } return str; break; default: return null; } } OOo.extend(OOo, {serialize: _serialize}); })(); (function(){ function _checkTunnel(tunnel, cookieName) { var path = location.pathname, previousStep; if (path.search(tunnel[0]) != -1) { OOo.createCookie(cookieName, 0); return false; } else if (OOo.readCookie(cookieName)) { previousStep = parseInt(OOo.readCookie(cookieName)); if ( (path.search(tunnel[previousStep + 1]) != -1) && (previousStep + 1 != tunnel.length - 1) ) { OOo.createCookie(cookieName, previousStep + 1); return false; } else if (path.search(tunnel[previousStep]) != -1) return false; else if (previousStep + 1 == tunnel.length - 1) return true; else { OOo.eraseCookie(cookieName); return false; } } else return false; } OOo.extend(OOo, { checkTunnel: _checkTunnel }); })(); (function(){ function hex(num) { var str = ""; for(var j = 7; j >= 0; j--) str += '0123456789abcdef'.charAt((num >> (j * 4)) & 0x0F); return str; } function str2blks_SHA1(str) { var nblk = ((str.length + 8) >> 6) + 1, blks = new Array(nblk * 16); for(var i = 0; i < nblk * 16; i++) blks[i] = 0; for(var i = 0; i < str.length; i++) blks[i >> 2] |= str.charCodeAt(i) << (24 - (i % 4) * 8); blks[i >> 2] |= 0x80 << (24 - (i % 4) * 8); blks[nblk * 16 - 1] = str.length * 8; return blks; } function safe_add(x, y) { var lsw = (x & 0xFFFF) + (y & 0xFFFF), msw = (x >> 16) + (y >> 16) + (lsw >> 16); return (msw << 16) | (lsw & 0xFFFF); } function rol(num, cnt) { return (num << cnt) | (num >>> (32 - cnt)); } function ft(t, b, c, d) { if(t < 20) return (b & c) | ((~b) & d); if(t < 40) return b ^ c ^ d; if(t < 60) return (b & c) | (b & d) | (c & d); return b ^ c ^ d; } function kt(t) { return (t < 20) ? 1518500249 : (t < 40) ? 1859775393 : (t < 60) ? -1894007588 : -899497514; } function calcSHA1(str) { var x = str2blks_SHA1(str), w = new Array(80), a = 1732584193, b = -271733879, c = -1732584194, d = 271733878, e = -1009589776, olda, oldb, oldc, oldd, olde, t; for(var i = 0; i < x.length; i += 16) { olda = a, oldb = b, oldc = c, oldd = d, olde = e; for(var j = 0; j < 80; j++) { if(j < 16) w[j] = x[i + j]; else w[j] = rol(w[j-3] ^ w[j-8] ^ w[j-14] ^ w[j-16], 1); t = safe_add(safe_add(rol(a, 5), ft(j, b, c, d)), safe_add(safe_add(e, w[j]), kt(j))); e = d; d = c; c = rol(b, 30); b = a; a = t; } a = safe_add(a, olda); b = safe_add(b, oldb); c = safe_add(c, oldc); d = safe_add(d, oldd); e = safe_add(e, olde); } return hex(a) + hex(b) + hex(c) + hex(d) + hex(e); } OOo.extend(OOo, {sha1: calcSHA1}); })(); (function(){ function _checkAbandonment(abandonmentObject) { var cookieName = abandonmentObject.cookieName || 'oo_abandon', cookie = OOo.readCookie(cookieName), startPage = abandonmentObject.startPage, endPage = abandonmentObject.endPage, middle = abandonmentObject.middle; if (!cookie) { if (location.pathname.indexOf(startPage) != -1) OOo.createCookie(cookieName); return false; } else if (location.pathname.indexOf(endPage) != -1) { OOo.eraseCookie(cookieName); return false; } else if (location.pathname.search(middle) != -1) return false; else { OOo.eraseCookie(cookieName); return true; } } OOo.extend(OOo, { checkAbandonment: _checkAbandonment }); })(); (function(){ function _checkThirdPartyCookies(cArray) { for (var i = cArray.length - 1; i >= 0; i--) { if (cArray[i].read) { if (!!(cookieValue = OOo.readCookie(cArray[i].name)) && cookieValue == cArray[i].value) return true; else if(typeof cArray[i].value == 'undefined' && !!OOo.readCookie(cArray[i].name)) return true; } } return false; } function _setThirdPartyCookies(cArray) { for (var i = cArray.length - 1; i >= 0; i--) { if (cArray[i].set) OOo.createCookie(cArray[i].name, cArray[i].value, cArray[i].expiration); } } OOo.extend(OOo, { checkThirdPartyCookies: _checkThirdPartyCookies, setThirdPartyCookies: _setThirdPartyCookies }); })(); OOo.extend(Function.prototype, (function(){ if (typeof(Prototype) != "undefined") return; var slice = Array.prototype.slice; function _update(array, args) { var arrayLength = array.length, length = args.length; while (length--) array[arrayLength + length] = args[length]; return array; } function _merge(array, args) { array = slice.call(array, 0); return _update(array, args); } function _bind(context) { if (arguments.length < 2 && typeof arguments[0] === "undefined") return this; var __method = this, args = slice.call(arguments, 1); return function() { var a = _merge(args, arguments); return __method.apply(context, a); }; } return { bind: _bind }; })()); (function(){ var domain = location.host.split('.').reverse(); domain = '.' + domain[1] + '.' + domain[0]; function _createCookie(name,value,seconds) { var date = '', expires = ''; if (seconds) { date = new Date(); date.setTime(date.getTime()+(seconds*1000)); expires = "; expires="+date.toGMTString(); } document.cookie = name+"="+value+expires+"; path=/; domain="+domain+";"; } function _readCookie(name) { var nameEQ = name + "=", ca = document.cookie.split(';'), c; for(var i=0;i < ca.length;i++) { c = ca[i]; while (c.charAt(0)==' ') c = c.substring(1,c.length); if (c.indexOf(nameEQ) === 0) return c.substring(nameEQ.length,c.length); } return null; } function _eraseCookie(name) { _createCookie(name,"",-1); } OOo.extend(OOo, { createCookie: _createCookie, readCookie: _readCookie, eraseCookie: _eraseCookie }); })(); OOo.Ocode = function(options) { if (!OOo.Browser.isModern || (options.disableMobile && OOo.Browser.isMobile)) return; OOo.instanceCount++; this.options = { tealeafCookieName: 'TLTSID' }; OOo.extend(this.options, options); var opt = this.options, rewrite = opt.referrerRewrite; if (opt.cookie && this.matchUrl()) return; if (opt.thirdPartyCookies && OOo.checkThirdPartyCookies(opt.thirdPartyCookies)) return; if (opt.abandonment && !OOo.checkAbandonment(opt.abandonment)) return; if (opt.tunnel && !OOo.checkTunnel(opt.tunnel.path, opt.tunnel.cookieName)) return; if (opt.events && opt.events.onSingleClick) this.singProbability = Math.random() < 1 - opt.events.onSingleClick/100; opt.tealeafId = OOo.readCookie(opt.tealeafCookieName); this.frameName = opt.onPageCard ? 'OnlineOpinion' + OOo.instanceCount : 'OnlineOpinion'; opt.metrics = OOo.createMetrics(); if (rewrite) opt.metrics.referer = rewrite.searchPattern ? window.location.href.replace(rewrite.searchPattern, rewrite.replacePattern) : rewrite.replacePattern; if (opt.events) { this.setupEvents(); if (opt.events.disableLinks || opt.events.disableFormElements) this.setupDisableElements(); } if (opt.floating) this.floating(); else if (opt.bar) this.bar(); else if (opt.tab) this.tab(); }; OOo.Ocode.prototype = { show: function() { var opt = this.options; if (this.interruptShow) return; if (!opt.floating && opt.events && this.singProbability) return; if (opt.cookie) this.tagUrl(); if (opt.thirdPartyCookies) { if (OOo.checkThirdPartyCookies(opt.thirdPartyCookies)) return; OOo.setThirdPartyCookies(opt.thirdPartyCookies); } if (this.floatingLogo && opt.disappearOnClick) this.floatingLogo.style.display = 'none'; if (typeof arguments[0] == 'string') opt.metrics.trigger = arguments[0]; if (opt.clickTalePID && typeof ClickTale == 'function') { opt.clickTaleUID = ClickTaleGetUID(); opt.clickTaleSID = ClickTaleGetSID(); } if (opt.onPageCard) this.setupOnPageCC(); else this.launchOOPopup(); }, tagUrl: function() { if (this.matchUrl()) return; var cookie = this.options.cookie, url = cookie.type == 'page' ? location.href : location.hostname, prevValue = OOo.readCookie(cookie.name || 'oo_r') || ''; OOo.createCookie(cookie.name || 'oo_r', prevValue + OOo.sha1(url), cookie.expiration); }, matchUrl: function() { var url = this.options.cookie.type == 'page' ? location.href : location.hostname, cookie_val = OOo.readCookie(this.options.cookie.name || 'oo_r'); if (!cookie_val) return false; return cookie_val.search(OOo.sha1(url)) != -1; } }; (function(){ function _launchOOPopup() { var opt = this.options, popup_dimensions = opt.newWindowSize || [545,325], popup_coordinates = [ parseInt((opt.metrics.height-popup_dimensions[1])/2), parseInt((opt.metrics.width-popup_dimensions[0])/2) ], opt = this.options, form, win; opt.metrics.time2 = (new Date()).getTime(); opt.metrics.type = 'Popup'; form = OOo.appendOOForm(opt); win = window.open( '', 'OnlineOpinion', 'location=no,status=no,width='+popup_dimensions[0]+',height='+popup_dimensions[1]+',top='+popup_coordinates[0]+',left='+popup_coordinates[1] ); if (win) form.submit(); } OOo.extend(OOo.Ocode.prototype, { launchOOPopup: _launchOOPopup }); })(); (function(){ function _setupEvents() { var events = this.options.events, addEvent = [false, false], eventTypes = ['onExit', 'onEntry'], exitEvent = OOo.Browser.Opera ? 'unload' : 'beforeunload', eventType, interval; for (var j = eventTypes.length - 1; j >= 0; j--) { eventType = eventTypes[j]; if (events[eventType] instanceof Array) { var eventObj = events[eventType], i = eventObj.length; while(i-- && !addEvent[j]) { if (window.location.href.search(eventObj[i].url) != -1 && Math.random() >= 1 - eventObj[i].p/100) addEvent[j] = true; } } else if (events[eventType] && Math.random() >= 1 - events[eventType]/100) addEvent[j] = true; } if (addEvent[0]) OOo.addEventListener(window, exitEvent, this.show.bind(this, 'onExit'), false); if (addEvent[1]) { if (events.delayEntry) { window.setTimeout(function(){ this.show() }.bind(this, 'onEntry'), events.delayEntry * 1000); } else { this.show('onEntry'); } } } function _setupDisableElements() { OOo.addEventListener(document.body, 'mousedown', _disableElements.bind(this)); if (!this.options.events.disableFormElements) return; var forms = document.getElementsByTagName('form'); for (var i = forms.length - 1; i >= 0; i--) OOo.addEventListener(forms[i], 'submit', _disableForms.bind(this)); } function _disableElements(e) { var evt = e || window.event, tar = e.target || e.srcElement, events = this.options.events, parent = tar.parentNode, MAX_DEPTH = 5, depth = 0; while(parent && (tar.nodeName != 'A' || tar.nodeName != 'INPUT') && depth != MAX_DEPTH) { if (parent.nodeName == 'A') tar = parent; parent = parent.parentNode; depth++; } if (events.disableFormElements && tar.tagName == "INPUT" && (tar.type == 'submit' || tar.type == 'image')) this.interruptShow = true; if (tar.nodeName == 'A' && tar.href.substr(0,4) == 'http' && tar.href.search(events.disableLinks) != -1) this.interruptShow = true; } function _disableForms(e) { this.interruptShow = true; } OOo.extend(OOo.Ocode.prototype, { setupEvents: _setupEvents, setupDisableElements: _setupDisableElements }); })(); OOo.extend(OOo.Ocode.prototype, { floating: function() { var d = document, wrapper = this.floatingLogo = document.createElement('div'), up = d.createElement('div'), floatingBg = d.createElement('div'), hover = d.createElement('div'), hoverText = d.createElement('span'), opt = this.options.floating, //options for rendering floating logo contentEl = OOo.$(opt.contentId), logoOffset = '10px', ie6 = false, wrapperId = opt.id; if (wrapperId) wrapper.id = wrapperId; wrapper.className = 'oo_feedback_float'; floatingBg.className = 'oo_transparent'; up.className = 'olUp'; hover.className = 'olOver'; up.tabIndex = 0; up.onkeyup = function(e) { var event = e || window.event; if (event.keyCode != 13) return; this.show(); }.bind(this); up.innerHTML = opt.caption || 'Feedback'; wrapper.appendChild(up); hoverText.innerHTML = opt.hoverCaption || 'Click here to
rate this page'; hover.appendChild(hoverText); wrapper.appendChild(hover); wrapper.appendChild(floatingBg); if (OOo.Browser.IE && OOo.Browser.Version < 7) { wrapper.style.position = 'absolute'; wrapper.style.bottom = ''; OOo.addEventListener(window, 'scroll', _ieLogo, false); OOo.addEventListener(window, 'resize', _ieLogo, false); function _ieLogo(e) { wrapper.style.top = (d.documentElement.scrollTop + document.documentElement.clientHeight - wrapper.clientHeight) + 'px'; }; ie6 = true; } else if (OOo.Browser.MobileSafari) { var initialHeight = window.innerHeight, amount; wrapper.style.bottom = null; wrapper.style.top = (pageYOffset + window.innerHeight - 60)+'px'; OOo.addEventListener(window, 'scroll', function(e){ amount = pageYOffset - (initialHeight - window.innerHeight); wrapper.style.webkitTransform = 'translateY('+amount+'px)'; }, false); } /*attach any special floating behavior to floating icon*/ if (opt.position && opt.position.search(/Content/) && contentEl) { var spacer = this.spacer = d.createElement('div'), scrollEl = OOo.Browser.WebKit ? d.body : d.documentElement, adjustLogo; spacer.id = 'oo_feedback_fl_spacer'; spacer.style.left = _getRightOfContent(contentEl) + 'px'; d.body.appendChild(spacer); switch(opt.position) { case 'rightOfContent' : adjustLogo = function(e) { wrapper.style.left = (_getRightOfContent(contentEl) - scrollEl.scrollLeft) + 'px'; if(ie6) adjustLogo = null; }; break; case 'fixedPreserveContent' : adjustLogo = function(e) { var winWidth = OOo.Browser.IE ? d.body.clientWidth : window.innerWidth, scroll = !ie6 ? scrollEl.scrollLeft : 0; if (winWidth <= _getRightOfContent(contentEl) + wrapper.offsetWidth + parseInt(logoOffset)) wrapper.style.left = (_getRightOfContent(contentEl) - scroll) + 'px'; else { wrapper.style.left = ''; wrapper.style.right = logoOffset; } }; break; case 'fixedContentMax' : adjustLogo = function(e) { var winWidth = OOo.Browser.IE ? d.body.clientWidth : window.innerWidth; if (winWidth <= _getRightOfContent(contentEl) + wrapper.offsetWidth + parseInt(logoOffset)) { wrapper.style.left = ''; wrapper.style.right = logoOffset; if (e && e.type == 'scroll' && ie6) wrapper.style.left = (d.documentElement.clientWidth + scrollEl.scrollLeft - 105) + 'px'; } else { wrapper.style.left = (_getRightOfContent(contentEl) - scrollEl.scrollLeft) + 'px'; wrapper.style.right = ''; } }; break; } adjustLogo(); OOo.addEventListener(window, 'scroll', adjustLogo, false); OOo.addEventListener(window, 'resize', adjustLogo, false); function _adjustSpacer(e) { spacer.style.left = _getRightOfContent(contentEl) + 'px'; }; OOo.addEventListener(window, 'resize', _adjustSpacer, false); } else { wrapper.style.right = logoOffset; } OOo.addEventListener(wrapper, 'click', this.show.bind(this, 'Floating'), false); OOo.addEventListener(wrapper, 'touchstart', this.show.bind(this, 'Floating'), false); d.body.appendChild(wrapper); if (OOo.Browser.IE && OOo.Browser.Version < 7) { wrapper.style.top = (d.documentElement.clientHeight - wrapper.clientHeight) + 'px'; floatingBg.style.height = wrapper.clientHeight + 'px'; } function _getRightOfContent(el) { return el.offsetLeft + el.offsetWidth; }; }, removeFloatingLogo: function() { document.body.removeChild(this.floatingLogo); if (this.spacer) document.body.removeChild(this.spacer); } }); OOo.extend(OOo.Ocode.prototype, { bar: function() { var d = document, wrapper = this.floatingLogo = d.createElement('div'), feedback = d.createElement('span'); wrapper.id = 'oo_bar'; feedback.innerHTML = this.options.bar.caption || 'Feedback'; wrapper.appendChild(feedback); wrapper.tabIndex = 0; wrapper.onkeyup = function(e) { var event = e || window.event; if (event.keyCode != 13) return; this.show(); }.bind(this); OOo.addEventListener(wrapper, 'click', this.show.bind(this, 'Bar')); document.body.className += document.body.className < 1 ? 'oo_bar' : ' oo_bar'; document.body.appendChild(wrapper); if (OOo.Browser.IE) { var _adjustBar; if (d.compatMode == 'CSS1Compat') { _adjustBar = function(e) { wrapper.style.top = (d.documentElement.scrollTop + document.documentElement.clientHeight - wrapper.clientHeight - 1) + 'px'; wrapper.style.width = (Math.max(d.documentElement.clientWidth, d.body.offsetWidth)) + 'px'; } } else { _adjustBar = function(e) { wrapper.style.top = (d.body.scrollTop + document.body.clientHeight - wrapper.clientHeight - 1) + 'px'; wrapper.style.width = (Math.max(d.documentElement.clientWidth, d.body.offsetWidth) - 22) + 'px'; } } wrapper.style.position = 'absolute'; OOo.addEventListener(window, 'scroll', _adjustBar, false); OOo.addEventListener(window, 'resize', _adjustBar, false); _adjustBar(); } else if (OOo.Browser.MobileSafari) { var initialHeight = window.innerHeight, amount; wrapper.style.bottom = null; wrapper.style.top = (pageYOffset + window.innerHeight - 22)+'px'; OOo.addEventListener(window, 'scroll', function(e){ amount = pageYOffset - (initialHeight - window.innerHeight); wrapper.style.webkitTransform = 'translateY('+amount+'px)'; }, false); } } }); OOo.extend(OOo.Ocode.prototype, { tab: function() { var d = document, wrapper = this.floatingLogo = d.createElement('div'), anchor = d.createElement('a'), span = d.createElement('span'), opt = this.options.tab; wrapper.id = 'oo_tab'; wrapper.className = 'oo_tab_' + (opt.position || 'right'); if (OOo.Browser.IE && OOo.Browser.Version < 7) { wrapper.style.position = 'absolute'; if (opt.position == 'right') wrapper.className += ' oo_tab_ie_right'; } else if (OOo.Browser.MobileSafari) { wrapper.style.top = (pageYOffset + window.innerHeight/2)+'px'; OOo.addEventListener(window, 'scroll', function(e){ wrapper.style.top = (pageYOffset + window.innerHeight/2)+'px'; }, false); } anchor.href = "javascript:void(0)"; anchor.title = opt.title || 'Feedback'; wrapper.tabIndex = 0; wrapper.onkeyup = function(e) { var event = e || window.event; if (event.keyCode != 13) return; this.show(); }.bind(this); anchor.appendChild(span); wrapper.appendChild(anchor); OOo.addEventListener(wrapper, 'click', this.show.bind(this, 'Tab'), false); d.body.appendChild(wrapper); } }); OOo.extend(OOo.Ocode.prototype, { setupOnPageCC: function() { var d = document, overlay = OOo.Cache.overlay || d.createElement('div'), wrapper = this.wrapper = d.createElement('div'), close = d.createElement('a'), iwrapper = d.createElement('div'), iclose = d.createElement('span'), frameName = this.frameName, frame = d.createElement(OOo.Browser.IE ? '