//Copyright retaggr 2008 if(typeof(retaggr)=='undefined'){window.retaggr={adDomains:['^ad\.doubleclick\.net','^m1\.2mdn\.net','^ad\.doubleclick\.net','^static\.fmpub\.net','^content\.yieldmanager\.edgesuite\.net','^vad\.adbasket\.net','.*/openads/','^oa\.','.*\.googlesyndication.com','^b1.perfb.com'],tagIcon:" Retaggr Profile Card",cardDimensions:{x:360,y:300},initTaggerPreloaded:false,globalEventsAttached:false,AddHandler:function(target,eventName,handlerName){if(target.addEventListener) target.addEventListener(eventName,handlerName,false);else if(target.attachEvent) target.attachEvent("on"+eventName,handlerName);else{target["on"+eventName]=handlerName;}},BindGlobalEvents:function(){this.AddHandler(document,'mousedown',retaggr.MouseDown);this.AddHandler(document,'keydown',retaggr.KeyDown);this.AddHandler(window,'resize',function(){if(window.retaggrresized)clearTimeout(window.retaggrresized);window.retaggr.CloseCard();window.retaggrresized=setTimeout(window.retaggr.RepositionTags,100);});this.globalEventsAttached=true;},InitTagger:function(){if(!window.retaggrOptions||!retaggrOptions.siteID||window.retaggrOptions.siteID.length==0){return;} try{if(document.readyState=='complete'){this.InitTaggerLoaded();}else{this.AddHandler(window,'load',this.InitTaggerLoaded);}}catch(e){}},InitTaggerPreload:function(){if(!document.body){return;} try{if(window.retaggrOptions.enabledComments)this.BindUsers(document);if(window.retaggrOptions.enabledLinks)this.BindLinks(document);}catch(e){} this.initTaggerPreloaded=true;},InitTaggerLoaded:function(){if(window.retaggr.Initted||!window.retaggrOptions||!retaggrOptions.siteID||window.retaggrOptions.siteID.length==0){return;} try{var ret=window.retaggr;if(!ret.globalEventsAttached)ret.BindGlobalEvents();if(!ret.initTaggerPreloaded)ret.InitTaggerPreload();if(window.retaggrOptions.enabledTagging)ret.InitImages(document);ret.CacheResources();}catch(e){} ret.Initted=true;},CacheResources:function(){var img=new Image();img.src="http://script.retaggr.com/Content/Images/tagged.gif";img.src="http://script.retaggr.com/Content/Images/fetchingYellow.gif";img.src="http://script.retaggr.com/Content/Images/close-up.gif";},MouseDown:function(){window.retaggr.CloseCard();},KeyDown:function(event){try{if(!event)var event=window.event;if(event.keyCode==27)window.retaggr.CloseCard();}catch(e){}},ParentIsRetaggr:function(node){var cur=node;while(cur.parentNode!=null){if(cur.attributes&&cur.attributes['class']){var cl=new String(cur.attributes['class'].nodeValue);var cls=cl.split(' ');for(var j=0;j=0){if(this.HasClass(link,'notags'))continue;if(this.HasClass(link,'retaggrLink'))continue;if(this.ParentIsRetaggr(link))continue;link.innerHTML+=this.tagIcon;link.onclick=this.ShowCardForLink;link.className+=' retaggrLink';}}},BindUsers:function(rootNode){this.PotentialUsers=[];var divs=window.retaggr.GetChildren(rootNode,'span');var chunkId=0;for(var i=0;i0)this.InsertScript("http://script.retaggr.com/Script/GetUsers.ashx?cid="+chunkId+"&h="+currentList);},Bind:function(rootNode,callback){if(!this.globalEventsAttached)this.BindGlobalEvents();if(window.retaggrOptions.enabledComments)this.BindUsers(rootNode);if(window.retaggrOptions.enabledLinks)this.BindLinks(rootNode);if(window.retaggrOptions.enabledTagging)this.InitImages(rootNode);this.CacheResources();if(callback)callback.call();},InsertScript:function(src){var ele=document.createElement("script");ele.setAttribute('language','javascript');ele.setAttribute('src',src);document.body.appendChild(ele);},InitUsers:function(chunkId,results){var counter=0;for(var i=0;i';domEle.className+=' retaggrBadged';}}}else{for(var j=0;j';} else{domEle.innerHTML+='';} domEle.className+=' retaggrBadged';}}} results[counter]=null;} counter++;}}},HasClass:function(node,className){if(!node.attributes||!node.attributes['class'])return false;var cl=new String(node.attributes['class'].nodeValue);var cls=cl.split(' ');for(var i=0;i=0)isad=true;if(!isad){for(var j=0;j0){this.SetStyle(btn,{display:''});for(var j=0;j";document.body.appendChild(divWait);this.WaitPanel=divWait;this.AddHandler(ifr,"load",function(){window.retaggr.InfoWindow.style.display="inline";window.retaggr.BtnClose.style.display="inline";window.retaggr.WaitPanel.style.display="none";});var btnClose=document.createElement('img');btnClose.setAttribute('src','http://script.retaggr.com/Content/images/close-up.gif');this.SetStyle(btnClose,{zIndex:"40001",position:"absolute",display:"none",cursor:"pointer",margin:"0px",padding:"0px"});this.AddHandler(btnClose,'mousedown',this.CloseCard);document.body.appendChild(btnClose);this.BtnClose=btnClose;},CloseCard:function(){try{var ret=window.retaggr;if(ret.currentImage)ret.FadeElements(ret.currentImage);else ret.FadeInfoWindow();}catch(e){}},ShowInfoCard:function(username,event,isViewer){if(typeof(isViewer)=='undefined')isViewer=false;var redisplay=false;if(this.InfoWindow==null){this.CreateInfoWindow();}else{if(this.InfoWindow.username==username){redisplay=true;}else{this.InfoWindow.style.display="none";}} this.InfoWindow.username=username;var eventXY=this.getEventXY(event);var xy=this.GetXYForCard(event);var left=xy.x;var top=xy.y;var width=new Number(this.InfoWindow.style.width.replace("px",""));var height=new Number(this.InfoWindow.style.height.replace("px",""));var params={infoWindowLeft:left,infoWindowTop:top,btnCloseLeft:(left+width-28),btnCloseTop:top+9,waitPanelTop:eventXY.y-5,waitPanelLeft:eventXY.x-5};this.PrepareCard(params);if(redisplay){this.InfoWindow.style.display=this.BtnClose.style.display='';return;} this.WaitPanel.style.display="inline";var url="http://script.retaggr.com/Embed/"+username+"/Script/?siteID="+window.retaggrOptions.siteID+'&isV='+isViewer;this.InfoWindow.setAttribute("src",url);},PrepareCard:function(params){this.InfoWindow.style.left=params.infoWindowLeft+"px";this.InfoWindow.style.top=params.infoWindowTop+"px";this.BtnClose.style.left=params.btnCloseLeft+"px";this.BtnClose.style.top=params.btnCloseTop+"px";this.WaitPanel.style.top=params.waitPanelTop+"px";this.WaitPanel.style.left=params.waitPanelLeft+"px";},getViewPort:function(){var viewportwidth;var viewportheight;if(typeof window.innerWidth!='undefined') {viewportwidth=window.innerWidth,viewportheight=window.innerHeight} else if(typeof document.documentElement!='undefined'&&typeof document.documentElement.clientWidth!='undefined'&&document.documentElement.clientWidth!=0) {viewportwidth=document.documentElement.clientWidth,viewportheight=document.documentElement.clientHeight} else {viewportwidth=document.getElementsByTagName('body')[0].clientWidth,viewportheight=document.getElementsByTagName('body')[0].clientHeight} return{w:viewportwidth,h:viewportheight};},getEventXY:function(e){var posx=0;var posy=0;if(e.pageX||e.pageY){posx=e.pageX;posy=e.pageY;} else if(e.clientX||e.clientY){posx=e.clientX+document.body.scrollLeft +document.documentElement.scrollLeft;posy=e.clientY+document.body.scrollTop +document.documentElement.scrollTop;} return{x:posx,y:posy};},ShowInfo:function(tag){clearTimeout(this.InfoWindowTimeout);if(this.InfoWindow==null){this.CreateInfoWindow();}else{this.InfoWindow.style.display="none";} var boxleft=this.getOffset(tag.box).left;var boxtop=this.getOffset(tag.box).top;var left=(boxleft-20);var top=(boxtop-20);var width=new Number(this.InfoWindow.style.width.replace("px",""));var height=new Number(this.InfoWindow.style.height.replace("px",""));var params={infoWindowLeft:left,infoWindowTop:top,btnCloseLeft:(left+width-28),btnCloseTop:top+9,waitPanelTop:boxtop,waitPanelLeft:boxleft};this.PrepareCard(params);this.WaitPanel.style.display="inline";this.InfoWindow.username=Math.random();var url="http://script.retaggr.com/TagInfo/"+tag.id+"?siteID="+window.retaggrOptions.siteID;this.InfoWindow.setAttribute("src",url);this.currentInfoWindowID=tag.id;},EditTags:function(tagger_image){var imgsrc=tagger_image.img.src;var height=600;var width=780;var divWait=document.createElement("div");this.SetStyle(divWait,{background:"white",position:"absolute",zIndex:"50000",width:"20px",height:"20px",border:"none",margin:"0",padding:"0",overflow:"hidden",color:"white"});divWait.innerHTML="";var btn=document.getElementById("tag_"+tagger_image.hash);divWait.style.left=this.getOffset(btn).left+"px";divWait.style.top=this.getOffset(btn).top+"px";btn.style.display="none";document.body.appendChild(divWait);var win=window.open("http://www.retaggr.com/Tag/StartTagging?imgsrc="+encodeURIComponent(imgsrc)+"&hash="+tagger_image.hash+"&siteId="+window.retaggrOptions.siteID+"&context="+encodeURIComponent(window.location.toString()),'_blank','location=no,toolbar=no,menubar=no,directories=no,status=yes,resizable=no,scrollbars=no,height='+height+',width='+width);document.body.removeChild(divWait);btn.style.display="";},GetXYForCard:function(event){var x,y;var vp=this.getViewPort();var eventXY=this.getEventXY(event);var topOffset=document.documentElement.scrollTop?document.documentElement.scrollTop:(document.body.scrollTop?document.body.scrollTop:window.pageYOffset);var distFromViewPortTop=eventXY.y-topOffset;var remainingSpaceBelow=vp.h-distFromViewPortTop;var cardHeight=this.cardDimensions.y;if(remainingSpaceBelow<=cardHeight){x=eventXY.x;y=eventXY.y-cardHeight;}else{x=eventXY.x;y=eventXY.y;} if((vp.w-x)>8)&0xFFFFFF);},Crc32Str:function(str) {var n;var len=str.length;var crc;crc=0xFFFFFFFF;for(n=0;n>>16)&0xFFFF;str2=n.toString(16).toUpperCase();while(str2.length<4) {str2="0"+str2;} return str2+str1;},log:function(str){}}} if(typeof(window.retaggrOptions.autoInit)=='undefined'||window.retaggrOptions.autoInit==true)window.retaggr.InitTagger();