var $Comm=TGN.namespace("TGN.Ancestry.Community");if("undefined"==typeof _YDom){_YDom=YAHOO.util.Dom}$Comm.TZGetCookie=function(b){var a=document.cookie.indexOf(b+"=");if(a==-1){return null}a=document.cookie.indexOf("=",a)+1;var c=document.cookie.indexOf(";",a);if(c==-1){c=document.cookie.length}return unescape(document.cookie.substring(a,c))};$Comm.TZSetCookie=function(b,c,a){if(a==null){document.cookie=b+"="+escape(c)+"; path=/"}else{document.cookie=b+"="+escape(c)+"; expires="+a.toUTCString()+"; path=/"}};$Comm.SetTimezoneCookie=function(){if($Comm.TZGetCookie("TZ")==null){expiry=new Date();expiry.setTime(expiry.getTime()+1000*60*60*24);expiry.setHours(3);expiry.setMinutes(0);expiry.setSeconds(0);expiry.setMilliseconds(0);$Comm.TZSetCookie("TZ",expiry.getTimezoneOffset(),expiry)}};$Comm.SetTimezoneCookie();$Comm.onBlockUser=new YAHOO.util.CustomEvent("onBlockUser");$uLink=TGN.namespace("TGN.Ancestry.Community.UserLink");$uLink.Init=function(){this.isFireFox=false;this.panelHeight=280;if(navigator.userAgent.indexOf("Firefox")!=-1){this.isFireFox=true;this.panelHeight=260}this.panel=new YAHOO.widget.Panel("div_userLink",{fixedcenter:false,underlay:"none",close:false,modal:false,visible:false,zIndex:1000001,draggable:false});this.panel.setBody("");this.panel.render(document.body);document.getElementById(this.panel.id).className+=" userLink"};$uLink.myLink=null;$uLink.profiles=null;$uLink.Profile=function(a,b){this.ucdmid=a;this.miniProfile=b};$uLink.miniProfileLoaded=new YAHOO.util.CustomEvent("miniProfileLoaded");$uLink.miniProfileClosed=new YAHOO.util.CustomEvent("miniProfileClosed");$uLink.currentRequest=null;$uLink.currentRequestId;$uLink.showMiniProfile=function(d){var e="";var b=0;var a=true;if(undefined!=d.contextType){b=d.contextType}if(undefined!=d.contextValue){e=d.contextValue}if(undefined!=d.showContactModal){a=d.showContactModal}$uLink.currentRequestId=d.id;if($uLink.myLink==null){$uLink.myLink=new $uLink.Init();if($uLink.profiles==null){$uLink.profiles=new Array()}}$uLink.myLink.panel.setBody("");$uLink.myLink.panel.cfg.setProperty("context",["ul_"+d.id,"tl","tr"]);YAHOO.util.Event.addListener(document,"click",$uLink.close);$uLink.myLink.panel.body.className="";var f='<div style="background:white;height:50px;padding:25px 30px 25px 30px;"><img src="http://c.mfcreative.com/lib/TGN/Ancestry/Community/i/loading.gif"/></div>';$uLink.showPanel(f,d.id);for(i=0;i<$uLink.profiles.length;i++){if($uLink.profiles[i].ucdmid==d.ucdmid){$uLink.showPanel($uLink.profiles[i].miniProfile,d.id);return}}var c=function(h,g){this.ucdmid=h;this.id=g};$uLink.currentRequest=new TGN.Util.AjaxRequest("POST","/community.ashx","",{success:$uLink.success,failure:$uLink.failure,scope:new c(d.ucdmid,d.id),timeout:10000},"f=GetMiniProfile&rurl="+escape(window.location)+"&uid="+d.ucdmid+"&ctxT="+b+"&ctxV="+escape(e)+"&showContactModal="+a);$uLink.currentRequest.invoke()};$uLink.cacheDomain="http://c.mfcreative.com";$uLink.userDocDomain="http://userdoc.ancestry.com";$uLink.GetUserLink=function(e){var d="";var j="";if(e.ucdmid!=undefined){j=e.ucdmid}var f="";if(e.displayName!=undefined){f=e.displayName}var b="";if(e.id!=undefined){b=e.id}var a="";if(e.photoId!=undefined){a=e.photoId}var k="";if(e.macId!=undefined){k=e.macId}var g=true;if(e.showContactModal!=undefined){g=e.showContactModal}var h=true;if(e.showAvatar!=undefined){h=e.showAvatar}if(e.userDocDomain!=undefined){$uLink.userDocDomain=e.userDocDomain}var c="http://community.ancestry.com";if(e.communityDomain!=undefined){c=e.communityDomain}if(j.length>0&&f.length>0&&b.length>0){if(e.showMiniProfile){d='<a class="uLink" href="javascript:TGN.Ancestry.Community.UserLink.showMiniProfile(';d+="{ucdmid:'"+j+"',id:'"+b+"',showContactModal:"+g+'});">'}else{d='<a class="uLink" href="'+c+"/profile.aspx?mba="+j+'">'}if(h){if(a.length>0&&k.length>0){d+='<img height="20" width="15" src="'+$uLink.userDocDomain+"/userdocstore/download.ashx?fileid="+a+"&mac="+k+'"/>'}else{d+='<img height="20" width="15" src="'+$uLink.cacheDomain+'/lib/TGN/shared/assets/images/usericon_small.gif"/>'}d+="&nbsp;"}d+='<span id="ul_'+b+'">'+f+"</span>";d+="</a>"}return d};$uLink.showPanel=function(b,c){var a='<div id="mp_knub"></div><div id="mp_knub_r"></div><div class="un_container"><a href="javascript:$uLink.captureClick();" id="un_close"><img id="close_button" src="http://c.mfcreative.com/lib/TGN/Ancestry/Community/i/close.gif"></a>';a+=b;a+="</div>";$uLink.myLink.panel.setBody(a);$uLink.SetPosition(c);$uLink.myLink.panel.show();$uLink.miniProfileLoaded.fire()};$uLink.success=function(d,b){$uLink.currentRequest=null;var a;var c=false;for(a=0;a<$uLink.profiles.length;a++){if($uLink.profiles[a].ucdmid==b.ucdmid){c=true}}if(!c){$uLink.profiles[$uLink.profiles.length]=new $uLink.Profile(b.ucdmid,d.responseText)}if(b.id==$uLink.currentRequestId){$uLink.showPanel(d.responseText,b.id)}};$uLink.failure=function(d,c){$uLink.currentRequest=null;if(c.id!=$uLink.currentRequestId){return}var a="We're sorry. We were unable to retrieve the requested profile.<br>Please click the close button and try again.";var b='<div style="background:white;height:50px;padding:25px 10px 25px 10px;">'+a+"</div>";$uLink.showPanel(b,c.id)};$uLink.SetPosition=function(q){var h=document.getElementById("ul_"+q);var m=document.getElementById($uLink.myLink.panel.id);var n=document.getElementById("mp_knub");var o=document.getElementById("mp_knub_r");var t=54;var v=16;var d=m.clientHeight;var c=m.clientWidth;var g=d-(t+v);n.style.display="none";o.style.display="none";m.style.left="17px";var u;if($uLink.myLink.isFireFox){u=window.innerWidth}else{if(document.documentElement.clientWidth>0){u=document.documentElement.clientWidth}else{u=document.body.clientWidth}}var s=$uLink.GetPos(h,"x");var b=$uLink.GetScrollX();var e=s-b;var f=u-e;if(c>f&&e>c){n=document.getElementById("mp_knub_r");var l=c+h.offsetWidth+20+17;m.style.left="-"+l+"px";document.getElementById("div_userLink_c").style.width="100%"}var r=$uLink.GetPos(h,"y");var a=$uLink.GetScrollY();var p=r-a;var k;if($uLink.myLink.isFireFox){k=window.innerHeight;if(window.scrollMaxX>0){k-=15}}else{if(document.documentElement.clientHeight>0){k=document.documentElement.clientHeight}else{k=document.body.clientHeight}}var j=k-(p+v);if(p<t){if(p>0){t=p-2}m.style.top="-"+t+"px";n.style.top=t*0.8+"px"}else{if(j<g&&p>g){g=g+2;if(j<t){g=g+(t-j)}if(p>g){m.style.top="-"+g+"px";n.style.top=g*0.96+"px"}}else{m.style.top="-"+t+"px";n.style.top=t*0.85+"px"}}n.style.display="block"};$uLink.captureClick=function(a){};$uLink.close=function(c){var g=navigator.userAgent;var k=_YDom.getXY($uLink.myLink.panel.id);var f=k[0];var b=k[0]+document.getElementById($uLink.myLink.panel.id).clientWidth;var d=k[1];var a=k[1]+document.getElementById($uLink.myLink.panel.id).clientHeight;var j;var h;if($uLink.myLink.isFireFox){j=c.pageX;h=c.pageY}else{j=c.clientX;h=c.clientY}var e=false;var l;if($uLink.myLink.isFireFox){l=c.target}else{l=c.srcElement}if(!e){if((h>=a||h<=d)||(j>=b||j<=f)||l.id=="close_button"||l.className=="contactLink"){$uLink.myLink.panel.hide();YAHOO.util.Event.removeListener(document,"click",$uLink.close)}}$uLink.miniProfileClosed.fire();if(null!=$uLink.currentRequest){$uLink.currentRequest.abort(false)}};$uLink.GetPos=function(b,a){if(a=="x"){pos=b.offsetLeft}else{pos=b.offsetTop}temp=b.offsetParent;while(temp!=null){pos+=(a=="x")?temp.offsetLeft:temp.offsetTop;temp=temp.offsetParent}return pos};$uLink.GetScrollX=function(){if(window.pageXOffset!=null){return window.pageXOffset}else{if(document.documentElement.scrollLeft!=null){return document.documentElement.scrollLeft}else{return document.body.scrollLeft}}};$uLink.GetScrollY=function(){if(window.pageYOffset!=null){return window.pageYOffset}else{if(document.documentElement.scrollTop!=null){return document.documentElement.scrollTop}else{return document.body.scrollTop}}};$uLink.flushProfile=function(c){try{if($uLink.profiles!=null){var a;var b;for(a=0;a<$uLink.profiles.length;a++){b=$uLink.profiles[a];if(b.ucdmid==c){b.ucdmid="";b.miniProfile=""}}}}catch(d){}};$uLink.blockLinkContainerId="";$uLink.contactLinkContainerId="";$uLink.blockUser=function(j,c,b,h,a,e){$uLink.blockLinkContainerId=b;$uLink.contactLinkContainerId=h;var g;if(j){g="BlockUser"}else{g="UnBlockUser"}var d=new TGN.Util.AjaxRequest("GET","/community.ashx","f="+g+"&bId="+c+"&bcId="+b+"&ccId="+h+"&view="+a+"&uid="+e,{success:$uLink.BlockUser_Success,failure:$uLink.fail,scope:{blockUser:j}},"");d.invoke()};$uLink.BlockUser_Success=function(o,scope){var blockLinkContainer=_YDom.get($uLink.blockLinkContainerId);var json;try{json=eval("("+o.responseText+")");if(json.success){var otherText="";if(json.otherText!=undefined){otherText=json.otherText+" "}blockLinkContainer.innerHTML=otherText+'<a href="'+json.linkUrl+'">'+json.linkText+"</a>";if(json.hideContactLink){_YDom.setStyle($uLink.contactLinkContainerId,"display","none")}else{_YDom.setStyle($uLink.contactLinkContainerId,"display","block")}$uLink.flushProfile(json.blockedId);if(scope.blockUser){$Comm.onBlockUser.fire({blockUser:true})}else{$Comm.onBlockUser.fire({blockUser:false})}}}catch(e){}$uLink.blockLinkContainerId="";$uLink.contactLinkContainerId=""};$uLink.Callback_BlockUser={success:$uLink.BlockUser_Success,failure:$uLink.fail};var $Contact=TGN.namespace("TGN.Ancestry.Community.Contact");$Contact.Init=function(){var a=navigator.userAgent;if(a.toLowerCase().indexOf("msie 6.0")==-1){_YDom.getElementsByClassName("contactLink","a","",function(b){YAHOO.util.Event.on(b,"click",$Contact.click)})}};YAHOO.util.Event.onDOMReady($Contact.Init);$Contact.click=function(f){var h={f:"GetContactDialog"};var d;if(f.preventDefault){f.preventDefault()}if(f.currentTarget){d=f.currentTarget}else{d=f.srcElement;while(d.className!="contactLink"){d=d.parentElement}}if(navigator.userAgent.toLowerCase().indexOf("msie 6.0")!=-1){document.location.href=d.href}var b=d.href.split("?");if(b.length>1){var c=b[1].split("&");for(var a=0;a<c.length;a++){var g=c[a].split("=");h[g[0]]=g[1]}}$.ajax({type:"GET",url:"/community.ashx",data:h,success:function(j,e){if(j==""){document.location.href=d.href}$(j).modal({close:false,overlayId:"contact-overlay",containerId:"contact-container",onOpen:$ContactDialog.open,onShow:$ContactDialog.show,onClose:$ContactDialog.close})},error:function(k,e,j){document.location.href=d.href}});return false};var $ContactDialog={message:null,strings:null,open:function(a){try{if($.browser.mozilla){$("#contact-container .button").css({"padding-bottom":"2px"})}if($.browser.safari){$("#contact-container .contact-input").css({"font-size":".9em"})}strings=$("#contact-container .contact-title").html().split("|");$("#contact-container .contact-title").html(strings[1]);a.overlay.fadeIn(200,function(){a.container.fadeIn(200,function(){a.data.fadeIn(200,function(){$("#contact-container .contact-content").animate({height:435},function(){$("#contact-container .contact-title").html(strings[0]);$("#contact-container form").fadeIn(200,function(){$("#contact-container #contact-subject").focus();$("#contact-container .contact-content").height("auto")})})})})})}catch(b){alert("catch in $ContactDialog.open: "+b.message)}},show:function(dialog){try{if($("#contact-form").length>0){$("#contact-container .button").click(function(e){e.preventDefault();if($ContactDialog.validate()){$("#contact-message").fadeOut(function(){$("#contact-message").removeClass("contact-error").empty()});$("#contact-container .contact-title").html(strings[2]);$("#contact-container form").fadeOut(200);$("#contact-container .contact-content").animate({height:"80px"},function(){$("#contact-container .contact-loading").fadeIn(200,function(){$.ajax({url:"/community.ashx",data:$("#contact-container form").serialize(),type:"post",cache:false,dataType:"html",complete:function(xhr){var m=eval("("+xhr.responseText+")");$("#contact-container .contact-loading").fadeOut(200,function(){$("#contact-container .contact-title").html(m.response.title);$("#contact-message").html(m.response.message).fadeIn(200);$("#contact-container .contact-content").animate({height:40},function(){dialog.data.fadeTo(3000,1).fadeOut(200,function(){dialog.container.fadeOut(200,function(){dialog.overlay.fadeOut(200,function(){$.modal.close()})})})})})},error:$ContactDialog.error})})})}else{if($("#contact-message:visible").length>0){var msg=$("#contact-message div");msg.fadeOut(200,function(){msg.empty();$ContactDialog.showError();msg.fadeIn(200)})}else{$("#contact-message").animate({height:"30px"},$ContactDialog.showError)}}})}}catch(e){alert("catch in $ContactDialog.show: "+e.message)}},close:function(a){$("#contact-message").fadeOut();$("#contact-container .contact-title").html(strings[3]);$("#contact-container form").fadeOut(200);$("#contact-container .contact-content").animate({height:40},function(){a.data.fadeOut(200,function(){a.container.fadeOut(200,function(){a.overlay.fadeOut(200,function(){$.modal.close()})})})})},error:function(a){alert(a.statusText)},validate:function(){return $Contact.validate()},showError:function(){$("#contact-message").html($('<div class="contact-error">').append($ContactDialog.message)).fadeIn(200)}};$Contact.removeContext=function(){$("#contextlinkContainer").remove()};$Contact.validate=function(){var c=document.getElementById("contact-subject").value;if(c==""){return $Contact.displayValidateError(_YDom.get("div_errorNoSubject").innerHTML)}var a=document.getElementById("contact-body").value;if(a.length==0){return $Contact.displayValidateError(_YDom.get("div_errorNoBody").innerHTML)}if(a.indexOf(">")!=-1||a.indexOf("<")!=-1){return $Contact.displayValidateError(_YDom.get("div_errorInvalid").innerHTML)}return true};$Contact.displayValidateError=function(b){var a=_YDom.get("contact-message");a.innerHTML=b;_YDom.setStyle(a,"display","block");a.className="contact-error";return false};$Contact.sendComplete=function(xhr){var m;try{m=eval("("+xhr.responseText+")")}catch(e){m={response:{sent:false,title:"An error occurred",message:"Your message was not sent. Please try again."}}}contactComplete(m.response)};$Contact.callback={success:function(a){alert("success")},failure:function(a){alert("failure")}};$Contact.send=function(){if($Contact.validate()){$.ajax({url:"/community.ashx",data:$("#contact-form").serialize(),type:"post",cache:false,dataType:"html",complete:$Contact.sendComplete,error:$Contact.sendComplete})}};