var picFo = { clientId: 108, prcImp: 50, requestURL: "http://pictagg.com/WcfService/adjson.svc", picFoURL: "http://pictagg.com/", images: [], bodyTag: document.getElementsByTagName("body").item(0), headTag: document.getElementsByTagName("head").item(0), responseDiv: document.createElement("div"), responseDivSize: [309, 230, 309, 230], responseObject: null, hideTimerCounter: null, requestUID: "", mouseover: "mouseover", mouseout: "mouseout", init: function() { var f, l = [], n = []; var a = document.getElementsByTagName("img"); var q = new Image(); q.src = picFo.picFoURL + "widget.swf"; if (window.ActiveXObject) { picFo.mouseover = "mouseenter"; picFo.mouseout = "mouseleave" } picFo.responseDiv.id = "picFoResDiv"; picFo.bodyTag.appendChild(picFo.responseDiv); picFo.addEvent(picFo.responseDiv, picFo.mouseout, picFo.hideTip); for (var e = 0; e < a.length; e++) { var k = picFo.getSize(a[e]); if (k[0] * k[1] > 46000 && k[1] > 100) { f = ""; if (a[e].getAttribute("alt")) { f = a[e].getAttribute("alt") } picFo.images.push({ src: a[e].getAttribute("src"), keywords: f, domObj: a[e], overlayDiv: null, ads: [] }); a[e].picFoIx = picFo.images.length - 1; l.push(encodeURIComponent(f.replace(",", " "))); var c = new RegExp(/([^\/\\]+)$/); var b = c.exec(a[e].getAttribute("src").replace(",", " ")); if (b === null) { n.push("") } else { n.push(encodeURIComponent(b[0])) } } } var o = document.createElement("style"); o.setAttribute("type", "text/css"); picFo.headTag.appendChild(o); var g = "#picFoResDiv{position:absolute; z-index:40000; margin-top:-250px;; margin-left:-50px; width:" + picFo.responseDivSize[0] + "px; height:" + picFo.responseDivSize[1] + "px; display:none; outline: none;}#picFoResObj{width:100%; height:100%; background:transparent; outline: none;}"; if (/MSIE 6/i.test(navigator.userAgent)) { g = g + ".picFoOverDiv{position:absolute; z-index:5000; top:0; left:0; width:40px; height:40px; background-image:url(" + picFo.picFoURL + "picfo.gif); background-repeat:no-repeat;}" } else { g = g + ".picFoOverDiv{position:absolute; z-index:5000; top:0; left:0; width:58px; height:26px; background-image:url(" + picFo.picFoURL + "orange-watermark.gif); background-repeat:no-repeat;}" } if (o.styleSheet) { o.styleSheet.cssText = g } else { o.appendChild(document.createTextNode(g)) } var p = "", h = "", r = "", m = 0; for (var d = 0; d < l.length; d++) { m = p.length + l[d].length + h.length + n[d].length + r.length + 2; if (d + 1 == l.length || m > 200) { p = p + "," + l[d]; h = h + "," + n[d]; r = r + "," + d; picFo.JSONscript(picFo.requestURL + "/" + picFo.clientId + "/chan.json?m=picFo.jcallback&k=" + p.substring(1) + "&f=" + h.substring(1) + "&i=" + r.substring(1)); p = ""; h = ""; r = "" } else { p = p + "," + l[d]; h = h + "," + n[d]; r = r + "," + d } } }, JSONscript: function(a) { var b = document.createElement("script"); b.setAttribute("type", "text/javascript"); b.setAttribute("src", a); picFo.headTag.appendChild(b) }, getPos: function(b) { var c = 0, a = 0; if (b.offsetParent) { do { c += b.offsetLeft; a += b.offsetTop } while (b = b.offsetParent); return [c, a] } }, getSize: function(a) { return [a.offsetWidth, a.offsetHeight] }, getViewportSize: function() { var b = 0; var a = 0; var d = 0; var c = 0; if (document.documentElement && document.documentElement.clientWidth) { b = document.documentElement.clientWidth } else { if (document.body && document.body.clientWidth) { b = document.body.clientWidth } else { if (window.innerWidth) { b = window.innerWidth - 18 } } } if (document.documentElement && document.documentElement.clientHeight) { a = document.documentElement.clientHeight } else { if (document.body && document.body.clientHeight) { a = document.body.clientHeight } else { if (window.innerHeight) { a = window.innerHeight - 18 } } } if (document.documentElement && document.documentElement.scrollLeft) { d = document.documentElement.scrollLeft } else { if (document.body && document.body.scrollLeft) { d = document.body.scrollLeft } else { if (window.pageXOffset) { d = window.pageXOffset } else { if (window.scrollX) { d = window.scrollX } } } } if (document.documentElement && document.documentElement.scrollTop) { c = document.documentElement.scrollTop } else { if (document.body && document.body.scrollTop) { c = document.body.scrollTop } else { if (window.pageYOffset) { c = window.pageYOffset } else { if (window.scrollY) { c = window.scrollY } } } } return [b, a, d, c] }, showTip: function(d) { picFo.hideTimer(); var c = picFo.images[this.picFoIx]; var b = d.relatedTarget || d.fromElement; var a = picFo.hideTimerCounter !== null; if (b) { if (a && picFo.responseDiv.picFoIx == this.picFoIx) { } else { if (b.picFoIx == this.picFoIx) { } else { if (c.ads.length) { picFo.clearTip(); picFo.responseDivSize[0] = picFo.responseDivSize[2]; picFo.responseDivSize[1] = picFo.responseDivSize[3]; picFo.responseDiv.style.marginLeft = -50 + "px"; picFo.responseDiv.style.marginTop = -250 + "px"; picFo.responseDiv.picFoIx = this.picFoIx; picFo.responseDiv.innerHTML = '<object id="picFoResObj" type="application/x-shockwave-flash" data="' + picFo.picFoURL + 'widget.swf" wmode="transparent" allowscriptaccess="always" flashvars=\'ads=' + picFo.array2json(c.ads) + "&prcImp=" + picFo.prcImp + '\'><param name="movie" value="' + picFo.picFoURL + 'widget.swf"/><param name="wmode" value="transparent"/><param name="allowScriptAccess" value="always"/><param name="flashvars" value=\'ads=' + picFo.array2json(c.ads) + "&prcImp=" + picFo.prcImp + "'/></object>"; picFo.responseObject = document.getElementById("picFoResObj"); picFo.responseObject.picFoIx = this.picFoIx; picFo.addEvent(picFo.responseObject, picFo.mouseover, picFo.hideTimer); picFo.responseDiv.style.width = "1px"; picFo.responseDiv.style.height = "1px"; picFo.responseDiv.style.display = "block"; picFo.images[picFo.responseDiv.picFoIx].overlayDiv.appendChild(picFo.responseDiv); picFo.layResponseDiv() } } } } }, reveal: function() { picFo.responseDiv.style.width = picFo.responseDivSize[0] + "px"; picFo.responseDiv.style.height = picFo.responseDivSize[1] + "px" }, hideTimer: function(a) { if (a == undefined || isNaN(a)) { clearTimeout(picFo.hideTimerCounter); picFo.hideTimerCounter = null } else { picFo.hideTimerCounter = setTimeout(picFo.clearTip, a) } }, hideTip: function(b) { var a; if (b) { a = b.relatedTarget || b.toElement } if (a && picFo.responseDiv.style.display == "block") { if (a.picFoIx == this.picFoIx) { } else { picFo.hideTimer(700) } } else { setTimeout(picFo.clearTip, 0) } }, clearTip: function() { if (picFo.responseObject != null) { picFo.removeEvent(picFo.responseObject, picFo.mouseover, picFo.hideTimer); picFo.responseObject = null } picFo.responseDiv.style.display = "none"; picFo.responseDiv.innerHTML = "" }, heightTo: function(a) { picFo.responseDiv.style.height = a + "px"; picFo.responseDivSize[1] = a; picFo.responseObject.style.height = a + "px"; picFo.layResponseDiv() }, addEvent: function(c, b, a) { if (c.attachEvent) { c["e" + b + a] = a; c[b + a] = function() { c["e" + b + a](window.event) }; c.attachEvent("on" + b, c[b + a]) } else { c.addEventListener(b, a, false) } }, removeEvent: function(c, b, a) { if (c.detachEvent) { c.detachEvent("on" + b, c[b + a]); c[b + a] = null } else { c.removeEventListener(b, a, false) } }, layOverlayDiv: function(a) { var c = picFo.getPos(picFo.images[a].domObj); var b = picFo.getSize(picFo.images[a].domObj); IE7h = (navigator.appVersion.indexOf("MSIE 7.") == -1) ? 64 : 63; IE7t = (navigator.appVersion.indexOf("MSIE 7.") == -1) ? 30 : 30; picFo.images[a].overlayDiv.style.left = c[0] + b[0] - IE7h + "px"; picFo.images[a].overlayDiv.style.top = c[1] + b[1] - IE7t + "px" }, layResponseDiv: function() { var b = picFo.getPos(picFo.responseDiv); var c = picFo.getPos(picFo.images[picFo.responseDiv.picFoIx].overlayDiv); var a = picFo.getViewportSize(); if (b[0] < a[2]) { picFo.responseDiv.style.marginLeft = (a[2] - c[0]) + "px" } else { if (b[0] + picFo.responseDivSize[0] > a[2] + a[0]) { picFo.responseDiv.style.marginLeft = ((a[2] + a[0]) - c[0] - picFo.responseDivSize[0]) + "px" } } if (b[1] < a[3]) { picFo.responseDiv.style.marginTop = (a[3] - c[1]) + "px" } else { if (b[1] + picFo.responseDivSize[1] > a[3] + a[1]) { picFo.responseDiv.style.marginTop = ((a[3] + a[1]) - c[1] - picFo.responseDivSize[1]) + "px" } } }, resize: function() { for (var b = 0; b < picFo.images.length; b++) { if (picFo.images[b].overlayDiv) { picFo.layOverlayDiv(b) } } if (picFo.responseDiv.style.display == "block") { picFo.layResponseDiv() } var a = picFo.getSize(picFo.responseDiv); picFo.responseDivSize[0] = a[0]; picFo.responseDivSize[1] = a[1] }, scroll: function() { if (picFo.responseDiv.style.display == "block") { picFo.layResponseDiv() } }, jcallback: function(e) { if (e !== null) { var c = e.AdItems; for (var b = 0; b < e.AdItems.length; b++) { var a = c[b].KeyIndex; picFo.requestUID = e.UID; var ResourceEnd; if (c[b].ResourceURL.match("ofid")) { ResourceEnd = "&pubid=" + picFo.clientId + "&uid="; } else { ResourceEnd = "?pubid=" + picFo.clientId + "&uid="; } picFo.images[a].ads.push({ name: c[b].Name, type: c[b].Type, adId: c[b].AdID, shortDescription: c[b].ShortDescription, fullDescription: c[b].FullDescription, landingURL: c[b].LandingURL + "&pid=" + picFo.clientId + "&uid=" + picFo.requestUID, resourceURL: c[b].ResourceURL + ResourceEnd + picFo.requestUID, maxPrice: c[b].MaxPrice, minPrice: c[b].MinPrice, adURL: c[b].AdURL }); picFo.images[a].domObj.alt = ""; picFo.images[a].domObj.title = ""; picFo.addEvent(picFo.images[a].domObj, picFo.mouseover, picFo.showTip); picFo.addEvent(picFo.images[a].domObj, picFo.mouseout, picFo.hideTip); if (picFo.images[a].ads.length == 1) { var d = document.createElement("div"); d.className = "picFoOverDiv"; d.picFoIx = a; picFo.bodyTag.appendChild(d); picFo.images[a].overlayDiv = d; picFo.layOverlayDiv(a) } } } }, array2json: function(a) { var f = []; var b = (Object.prototype.toString.apply(a) === "[object Array]"); for (var d in a) { var e = a[d]; if (typeof e == "object") { if (b) { f.push(picFo.array2json(e)) } else { f[d] = picFo.array2json(e) } } else { var g = ""; if (!b) { g = '"' + d + '":' } if (typeof e == "number") { g += e } else { if (e === false) { g += "false" } else { if (e === true) { g += "true" } else { if (typeof e == "string") { g += '"' + escape(e.replace('"', "&quot;")) + '"' } } } } f.push(g) } } var c = f.join(","); if (b) { return "[" + c + "]" } return "{" + c + "}" }, impression: function(a) { var b = null; if (window.XMLHttpRequest) { b = new XMLHttpRequest() } else { if (window.ActiveXObject) { b = new ActiveXObject("Microsoft.XMLHTTP") } } if (b !== null) { b.open("GET", "http://pictagg.com/WcfService/AdJson.svc/" + picFo.clientId + "/imp.json?adid=" + encodeURIComponent(a) + "&uid=" + encodeURIComponent(picFo.requestUID), true); b.send(null) } } }; picFo.addEvent(window, "load", picFo.init); picFo.addEvent(window, "resize", picFo.resize);