(function(T_LOADER){if("smartlinks" in window.frames){return}function TIME(msg,prefix){var t0=TIME.t0=+(TIME.t0||top.X)||(function getHashTime(){var js=document.getElementsByTagName("script"),re=/\.com\/(?:\w+-)?loader(?:\.min)?\.js[^#]*#(\d+)/,no=js.length,me,got;while((me=js[--no])){if((got=re.exec(me.src||""))){return parseInt(got[1],10)}}return 0})();msg=(prefix||"L")+": "+(new Date-t0)+(msg?" "+msg:"")+"\n";if(!navigator.vendor&&"function"==typeof dump){dump(msg)}else{if("object"==typeof console&&console.log){console.log(msg)}}}var T_WAIT,DEV_MODE=false,L=DEV_MODE?TIME: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 client=navigator.userAgent,IS_IE=/MSIE/.test(client)&&!/opera/i.test(client),page=parseURL(window.location.href),b_list=SITE_BLACKLIST[page.scheme],b_rule=b_list&&b_list[page.hostname],body=document.body,T_RUN,iframe,init_options,whenReady;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=[],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 bindReady(){function bindW3C(){remEvent(document,"DOMContentLoaded",bindW3C);domReady()}function bindIE(){if("complete"==document.readyState){remEvent(document,"readystatechange",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("addEventListener" in document){addEvent(document,"DOMContentLoaded",bindW3C)}else{if(document.attachEvent){addEvent(document,"readystatechange",bindIE);if(document.documentElement.doScroll&&window==window.top){pollIE()}}}addEvent(window,"load",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}L("loader done")}function getVisible(){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("getVisible: tab is frontmost; proceeding");setupFrame()}else{L("getVisible: tab not frontmost; waiting...");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");remEvent(iframe,"load",injectScripts);try{var win=iframe.contentWindow,doc=win.document;iframe.finishLoading=finishLoading;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:document.write('"+fix_dd+"');void 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",strict_doctype='<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">',doc_head=strict_doctype+"<html><head>"+fix_dd+'<base target="_blank" /><script>var VER_LOAD=35, code, T_LOADER='+T_LOADER+", T_RUN=",doc_tail=", PARSEURL = "+parseURL+", IS_IE = "+IS_IE+", addEvent = "+addEvent+", remEvent = "+remEvent+", TIMED = "+L+"; TIMED.t0 = "+L.t0+';\nfunction C(m) { TIMED(m, "C"); }\nfunction D(m) { TIMED(m, "D"); }\ntry { 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'+(IS_IE?"code.onreadystatechange = go_ie;\n":'addEvent(code, "load", codeLoaded);\n')+'  code.src = "'+code_url+'?v_loader=35#"+ (+new Date);\n  document.getElementsByTagName("head")[0].appendChild(code);\n}\nfunction go_ie() {\n  var done = { loaded: 1, interactive: 1, complete: 1 };\n  if (!this || !done[this.readyState]) return;\n  code.onreadystatechange = null; codeLoaded();\n}\nfunction codeLoaded() { D("Code fetched!");\n'+(IS_IE?"":'  remEvent(code, "load", codeLoaded);\n')+"  frameElement.finishLoading();\n}<\/script></head><body></body></html>";if(IS_IE){var scripts=document.getElementsByTagName("script"),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}}}addEvent(iframe,"load",injectScripts);document.body.appendChild(iframe)}function whenVisible(callback){if(whenVisible.already||false===document.hidden||false===document.webkitHidden||document.hasFocus&&document.hasFocus()){whenVisible.already=whenVisible.already||1;callback();return}var events=["MozBeforePaint","focus","mousemove","keyup","keydown"];if(!whenVisible.registered){var t0=window.mozAnimationStartTime;if(IS_IE){addEvent(window,"focus",visible)}else{for(var i=0;i<events.length;i++){addEvent(window,events[i],visible)}}whenVisible.registered=true}function visible(e){if("MozBeforePaint"===e.type&&(e.timeStamp-t0)>=1000){remEvent(window,events.shift(),visible);return}if(!whenVisible.unregistered){if(IS_IE){remEvent(window,"focus",visible)}else{for(var i=0;i<events.length;i++){remEvent(window,events[i],visible)}}whenVisible.unregistered=true}whenVisible.already=true;callback()}}function addEvent(elem,name,fn,use_capture){if(!elem){throw new Error('addEvent(*, "'+name+'"...) missing node')}if("addEventListener" in elem){elem.addEventListener(name,fn,!!use_capture);return true}else{if(elem.attachEvent){return elem.attachEvent("on"+name,fn)}}return false}function remEvent(elem,name,fn,use_capture){if(!elem){throw new Error('remEvent(*, "'+name+'"...) missing node')}if("removeEventListener" in elem){elem.removeEventListener(name,fn,!!use_capture);return true}else{if(elem.detachEvent){return elem.detachEvent("on"+name,fn)}}return false}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]||""}}})(+new Date);
