
/* header.js */
if("undefined"==typeof TGN){TGN={}}if("undefined"==typeof TGN.Header){TGN.Header={}}if("undefined"==typeof TGN.Header.Drawer){TGN.Header.Drawer={}}if("undefined"==typeof TGN.Header.Navigation){TGN.Header.Navigation={}}if("undefined"==typeof _HDrwr){_HDrwr=TGN.Header.Drawer}if("undefined"==typeof _HNav){_HNav=TGN.Header.Navigation}if("undefined"==typeof _YDom){_YDom=YAHOO.util.Dom}if("undefined"==typeof _YConn){_YConn=YAHOO.util.Connect}if("undefined"==typeof _YDDM){_YDDM=YAHOO.util.DragDropMgr}if("undefined"==typeof _YEvent){_YEvent=YAHOO.util.Event}if("undefined"==typeof _YAnim){_YAnim=YAHOO.util.Anim}var _drawerObjs;var _addQlDialog;var _showTodosView=true;var _favsDrwr;var _todoDrwr;var _myAcctHovering=false;var _lameChomeCounter=0;var _HNavTreeMoreString;var _HNavTreeError;var _HNavAddQlErrorMessage;var _HNavAddQlSuccess;var _HNavGetQlSuccess;var _HNavTodoSuccess;var _HNavCompletedTodos;var _HNavCompletedCount=0;var _HNavSubZIndex=99;var _HNavTrees=[];var treesMnu;var searchMnu;var communityMnu;var learningMnu;_HNav.callLoader=function(e,d,f,b){var a=new YAHOO.util.YUILoader({onSuccess:f});var c;if(d!=null){c=_HNavServicePath+"?f="+e+d}else{c=_HNavServicePath+"?f="+e}a.addModule({name:e,type:"js",fullpath:c});a.require(e);a.insert()};_HNav.AncMenu=function(f,e,d,b,a){this.headerObj=_YDom.get(f);this.mnuContainerObj=_YDom.get(e);this.mnuContentObj=_YDom.get(d);var c=_YDom.get(f).offsetWidth+1;if(c<185){c=185}this.mnuContainerObj.style.width=c+"px";this.mnuContentObj.style.width=c+"px";this.recentHover=false;this.isHovering=false;this.isOpen=false;this.dynamicContentLoaded=true;this.height=_HNav.getElementHeight(e);this.callbackFn=b;this.callbackPm=a};_HNav.toggleSitesBox=function(a){if(_YDom.get("ftrSitesContainer").style.display=="block"){_YDom.get("ftrSitesContainer").style.display="none"}else{_YDom.get("ftrSitesContainer").style.display="block"}};_YEvent.addListener("ftrNavDD","click",_HNav.toggleSitesBox);_YEvent.addListener("closeFtrSitesX","click",_HNav.toggleSitesBox);_HNav.dynamicCallBack=function(a){this.func=a};_HNav.animColorMouseOver=function(c){var b={backgroundColor:{from:"#fcfff3",to:"#e8eebb"}};var a=new YAHOO.util.ColorAnim(this.id,b,0.3);a.animate()};_HNav.animColorMouseOut=function(c){var b={backgroundColor:{from:"#e8eebb",to:"#fcfff3"}};var a=new YAHOO.util.ColorAnim(this.id,b,0.3);a.animate()};_HNav.open=function(b,a){a.isHovering=true;a.recentHover=true;a.mnuContainerObj.style.zIndex=_HNavSubZIndex++;setTimeout(function(){_HNav.getDynamicContent(a)},250)};_HNav.close=function(b,a){a.headerObj.style.backgroundColor="";a.isHovering=false;setTimeout(function(){_HNav.animClose(a)},500)};_HNav.getDynamicContent=function(c){if(c.isHovering==true&&c.isOpen==false){if(_HNavUserLoggedIn=="True"&&c.callbackFn!=null){try{c.dynamicContentLoaded=false;setTimeout(function(){_HNav.startSpinner(c)},1000);var b=new _HNav.dynamicCallBack(c.callbackFn);b.func()}catch(a){}}else{_HNav.animOpen(c)}}};_HNav.startSpinner=function(a){if(!a.dynamicContentLoaded){a.headerObj.className+=" G-NavItemLoading";setTimeout(function(){_HNav.stopSpinnerOpenMenu(a)},2000)}};_HNav.stopSpinnerOpenMenu=function(a){a.dynamicContentLoaded=true;a.headerObj.className=a.headerObj.className.replace("G-NavItemLoading","");_HNav.animOpen(a)};_HNav.animOpen=function(d){if(d.isHovering==true&&d.isOpen==false){d.mnuContainerObj.style.height="1px";var a=_HNav.getElementHeight(d.mnuContentObj.id);d.mnuContainerObj.style.display="block";var b={height:{from:0,to:a}};var c=new _YAnim(d.mnuContainerObj.id,b,0.4,YAHOO.util.Easing.easeOut);c.animate();d.isOpen=true}};_HNav.animClose=function(d){if(d.recentHover==true){setTimeout(function(){_HNav.animClose(d)},1000);d.recentHover=false}else{if(d.isHovering==false&&d.isOpen==true){d.isOpen=false;var a=_HNav.getElementHeight(d.mnuContainerObj.id);var b={height:{from:a,to:0}};var c=new _YAnim(d.mnuContainerObj.id,b,0.3,YAHOO.util.Easing.easeIn);c.animate()}}};_HNav.getTrees=function(){_HNav.callLoader("GetTrees",null,_HNav.getTreesSuccess,null)};_HNav.getTreesSuccess=function(){if(!_HNavTreeError){var b=_HNavTrees;try{var a=_HNavTreeTotalCount;var g=_HNavTreesDomain;if(b!=undefined&&b.length>0){var f="";for(var c=0;c<b.length;c++){f+='<li id="'+b[c].tid+'">';f+='<a href="http://'+g+"/pt/pedigree.aspx?tid="+b[c].tid+'">'+b[c].name+"</a>";f+="</li>"}if(a!=undefined&&a>b.length){f+='<li id="moreTrees">';f+='<a href="http://'+g+'/pt/treelist.aspx">'+_HNavTreeMoreString+"...</a>";f+="</li>"}document.getElementById("loadTrees").innerHTML=f}_HNav.stopSpinnerOpenMenu(treesMnu)}catch(d){_HNav.stopSpinnerOpenMenu(treesMnu)}}else{_HNav.stopSpinnerOpenMenu(treesMnu)}};_HNav.getTreesFail=function(){_HNav.stopSpinnerOpenMenu(treesMnu)};_HNav.MouseOverMyAcctDD=function(){_myAcctHovering=true;setTimeout("_HNav.OpenMyAcctDD()",300)};_HNav.MouseOutMyAcctDD=function(){_myAcctHovering=false;setTimeout("_HNav.CloseMyAcctDD()",600)};_HNav.OpenMyAcctDD=function(){if(_myAcctHovering==true){var a=document.getElementById("acctDD");a.style.display=""}};_HNav.CloseMyAcctDD=function(){if(_myAcctHovering!=true){var a=document.getElementById("acctDD");a.style.display="none"}};_HNav.getElementHeight=function(a){var b;if(document.getElementById){b=document.getElementById(a);b.style.overflow="scroll"}else{if(document.all){b=document.all[a]}}b.style.overflow="hidden";return b.scrollHeight-8};_HNav.subMenuHover=function(b){var c=document.getElementById(b);c.style.backgroundColor="#fcfff3";var a=c.style.backgroundColor};_HNav.initMenus=function(){try{treesMnu=new _HNav.AncMenu("treesNav","treesSubNav","treesContent",_HNav.getTrees);_YEvent.on("treesNav","mouseover",_HNav.open,treesMnu);_YEvent.on("treesNav","mouseout",_HNav.close,treesMnu);_YEvent.on("treesSubNav","mouseover",function(){_HNav.subMenuHover("treesNav")})}catch(b){}try{searchMnu=new _HNav.AncMenu("searchNav","searchSubNav","searchContentNav",null);_YEvent.on("searchNav","mouseover",_HNav.open,searchMnu);_YEvent.on("searchNav","mouseout",_HNav.close,searchMnu);_YEvent.on("searchSubNav","mouseover",function(){_HNav.subMenuHover("searchNav")})}catch(d){}try{communityMnu=new _HNav.AncMenu("communityNav","communitySubNav","communityContentNav",null);_YEvent.on("communityNav","mouseover",_HNav.open,communityMnu);_YEvent.on("communityNav","mouseout",_HNav.close,communityMnu);_YEvent.on("communitySubNav","mouseover",function(){_HNav.subMenuHover("communityNav")})}catch(c){}try{learningMnu=new _HNav.AncMenu("learningNav","learningSubNav","learningContentNav",null);_YEvent.on("learningNav","mouseover",_HNav.open,learningMnu);_YEvent.on("learningNav","mouseout",_HNav.close,learningMnu);_YEvent.on("learningSubNav","mouseover",function(){_HNav.subMenuHover("learningNav")})}catch(a){}};_YEvent.onDOMReady(_HNav.initMenus);_HDrwr.Drawer=function(o,c,e,f,n,k,d,h,a,b,g,m,j,l){this.isOpen=false;this.li=_YDom.get(o);this.left=_YDom.get(c);this.right=_YDom.get(e);this.container=_YDom.get(f);this.link=_YDom.get(n);this.em=_YDom.get(k);this.span=_YDom.get(d);this.top=_YDom.get(h);this.content=_YDom.get(a);this.noContent=_YDom.get(b);this.altContent=null;if(g!=null){this.altContent=_YDom.get(g)}this.noAltContent=null;if(m!=null){this.noAltContent=_YDom.get(m)}this.callbackFn=l;this.spinner=_YDom.get(j);this.openTab=function(){_YDom.get(o).style.marginTop="-4px";_YDom.get(c).className="DrwSelectL";_YDom.get(e).className="DrwSelectR";_YDom.get(f).className="DrwSelect";_YDom.get(n).className="CalloutActive";_YDom.get(k).className="CallbublActv";_YDom.get(d).className="CallBublLeftActv";_YDom.get(h).style.display="block";_YDom.get(a).style.display="block"};this.close=function(){_YDom.get(o).style.marginTop="0px";_YDom.get(c).className="";_YDom.get(e).className="";_YDom.get(f).className="";_YDom.get(n).className="Callout";_YDom.get(k).className="Callbubl";_YDom.get(d).className="";_YDom.get(b).style.display="none";_YDom.get(j).style.display="none";if(g!=null){_YDom.get(g).style.display="none"}if(m!=null){_YDom.get(m).style.display="none"}this.isOpen=false}};_HDrwr.closeDrwrTop=function(a){a.top.style.display="none";a.content.style.display="none"};_HDrwr.openDrawerTab=function(b,a){_HDrwr.closeAllDrawerTabs();a.openTab();_HDrwr.getDynamicContent(a)};_HDrwr.animOpenDrawer=function(b){b.top.style.display="block";b.content.style.display="block";var a=_HNav.getElementHeight("DrwWrapper")+11;if(b.isOpen==false){var c=new YAHOO.util.Anim("DrwSlider",{height:{to:a}},0.5,YAHOO.util.Easing.easeOut);c.animate();setTimeout(function(){b.spinner.style.display="none"},500)}else{_YDom.get("DrwSlider").style.height=a+"px"}b.isOpen=true};_HDrwr.closeAllDrawerTabs=function(){if(_drawerObjs){for(var a=0;a<_drawerObjs.length;a++){_drawerObjs[a].close()}}};_HDrwr.animClose=function(){_HDrwr.closeAllDrawerTabs();var a=_HNav.getElementHeight("DrwWrapper")+11;var b=new YAHOO.util.Anim("DrwSlider",{height:{from:a,to:0}},0.5,YAHOO.util.Easing.easeIn);b.animate()};_HDrwr.dynamicCallBack=function(a){this.func=a};_HDrwr.getDynamicContent=function(c){if(c.callbackFn!=null){try{var b=new _HDrwr.dynamicCallBack(c.callbackFn);b.func()}catch(a){}}};_HDrwr.DragDrop={initHdrTodo:function(){var d=new YAHOO.util.DDTarget("hdrTodos","hdrTdList");var c=document.getElementById("hdrTodos");d.unlock();if(c){var a=c.getElementsByTagName("li");for(var b=0;b<a.length;b=b+1){var e=new _HDrwr.DDList(a[b].id,"hdrTdList")}}},initHdrQuickLinks:function(){var e=new YAHOO.util.DDTarget("hdrFavs","hdrFavList");var d=document.getElementById("hdrFavs");e.unlock();if(d){var b=d.getElementsByTagName("li");for(var c=0;c<b.length;c=c+1){var a=new _HDrwr.DDList(b[c].id,"hdrQLList")}}}};_HDrwr.DDList=function(d,a,b){_HDrwr.DDList.superclass.constructor.call(this,d,a,b);this.logger=this.logger||YAHOO;var c=this.getDragEl();_YDom.setStyle(c,"opacity",0.67);this.goingUp=false;this.lastY=0};YAHOO.extend(_HDrwr.DDList,YAHOO.util.DDProxy,{startDrag:function(b,d){this.logger.log(this.id+" startDrag");var a=this.getDragEl();var c=this.getEl();_YDom.setStyle(c,"visibility","hidden");a.innerHTML=c.innerHTML;_YDom.setStyle(a,"color",_YDom.getStyle(c,"color"));_YDom.setStyle(a,"backgroundColor",_YDom.getStyle(c,"backgroundColor"));_YDom.setStyle(a,"border","2px solid gray")},endDrag:function(h){var d=this.getEl();var f=this.getDragEl();_YDom.setStyle(f,"visibility","");var b=new YAHOO.util.Motion(f,{points:{to:_YDom.getXY(d)}},0.2,YAHOO.util.Easing.easeOut);var c=f.id;var j=this.id;b.onComplete.subscribe(function(){_YDom.setStyle(c,"visibility","hidden");_YDom.setStyle(j,"visibility","")});b.animate();var g=d.parentNode;if(g.id=="hdrTodos"||g.id=="hdrFavs"){_HDrwr.reorderDrwrItems(g.id)}},onDragDrop:function(f,g){if(_YDDM.interactionInfo.drop.length===1){var d=_YDDM.interactionInfo.point;var c=_YDDM.interactionInfo.sourceRegion;if(!c.intersect(d)){var a=_YDom.get(g);var b=_YDDM.getDDById(g);a.appendChild(this.getEl());b.isEmpty=false;_YDDM.refreshCache()}}},onDrag:function(a){var b=_YEvent.getPageY(a);if(b<this.lastY){this.goingUp=true}else{if(b>this.lastY){this.goingUp=false}}this.lastY=b},onDragOver:function(f,g){var c=this.getEl();var b=_YDom.get(g);if(b.nodeName.toLowerCase()=="li"){var a=c.parentNode;var d=b.parentNode;if(this.goingUp){d.insertBefore(c,b)}else{d.insertBefore(c,b.nextSibling)}_YDDM.refreshCache()}}});_HDrwr.reorderDrwrItems=function(a){try{var e=_YDom.get(a);var d=e.getElementsByTagName("li");var f="";for(i=0;i<d.length;i++){f+=d[i].id+","}var b="&orderedStr="+f;_HNav.callLoader("ReorderDrawerItems",b,_HDrwr.reorder_Success,null)}catch(c){this.dump(c)}};_HDrwr.reorder_Success=function(){var a=_HNavReorderSuccess};_HDrwr.QuickLink=function(c,b,a){this.id=c;this.linkName=b;this.linkUrl=a;this.draw=function(){var d;var e=_YDom.get("favs_template");d=e.innerHTML;d=d.replace("__favId__",this.id);d=d.replace("__favId2__",this.id);d=d.replace("__favName__",unescape(this.linkName));d=d.replace("__favName2__",this.linkName);d=d.replace("__favURL__",this.linkUrl);return d}};_HDrwr.getQuickLinks=function(){setTimeout(function(){if(!_favsDrwr.isOpen){_favsDrwr.spinner.style.display="block"}},500);var a="&partnerId="+_HNavPartnerId+"&subType="+_HNavSubType+"&lameChrome="+_lameChomeCounter++;_HNav.callLoader("GetQuickLinks",a,_HDrwr.getQuickLinks_Success,null)};_HDrwr.getQuickLinks_Success=function(){if(_HNavGetQlSuccess){_YDom.get("drwrError").style.display="none";_HDrwr.drawQuickLinks(_HNavGetQlSuccess,_HNavQuickLinks,_HNavQlTotalCount)}else{_YDom.get("drwrError").style.display="block"}_HDrwr.closeDrwrTop(_todoDrwr);_HDrwr.animOpenDrawer(_favsDrwr);_favsDrwr.spinner.style.display="none"};_HDrwr.drawQuickLinks=function(g,f,d){var c=_YDom.get("hdrFavs");c.innerHTML="";if(g){_YDom.get("favCount").innerHTML="("+d+")";if(f.length>0){_YDom.get("noQuickLinks").style.display="none";var b;var a;for(var e=0;e<f.length;e++){b=f[e];a=new _HDrwr.QuickLink(b.id,b.linkName,b.linkUrl);c.innerHTML+=a.draw()}_HDrwr.DragDrop.initHdrQuickLinks()}else{_YDom.get("noQuickLinks").style.display="block"}}};_HDrwr.addNewQuickLink=function(){var d=_YDom.get("ql_urlTxt");var c=_YDom.get("ql_nameTxt");if(d.value!=""&&c.value!=""){if(d.value.indexOf("http://")!=0&&d.value.indexOf("https://")!=0){d.value="http://"+d.value}var a=encodeURIComponent(d.value);var b="&linkName="+c.value+"&partnerId="+_HNavPartnerId+"&subType="+_HNavSubType+"&linkUrl="+a;_HNav.callLoader("AddQuickLink",b,_HDrwr.addQuickLink_Success,null)}else{_YDom.get("addHdrQuickLink_needInfo").style.display="inline"}};_HDrwr.addQuickLink_Success=function(){if(_HNavAddQlSuccess!=null&&_HNavAddQlSuccess=="true"){_YDom.get("ql_urlTxt").value="http://";_YDom.get("ql_nameTxt").value="";_HDrwr.toggleAddQuickLink();_HDrwr.getQuickLinks()}};_HDrwr.deleteQuickLink=function(d,c){var a=_HNavDeleteItemConf;if(confirm(a+"\n\n"+unescape(c))){var b="&linkId="+d;_HNav.callLoader("DeleteQuickLink",b,_HDrwr.deleteQuickLink_Success,null)}};_HDrwr.deleteQuickLink_Success=function(){_HDrwr.getQuickLinks()};_HDrwr.toggleAddQuickLink=function(b){var a=_YDom.get("addHdrQuickLink");if(b){var e=location.href;var c=document.title;a.style.display="block";_YDom.get("ql_urlTxt").value=e;_YDom.get("ql_nameTxt").value=c;_YDom.get("addHdrQuickLink_needInfo").style.display="none"}else{if(a.style.display=="none"){a.style.display="block";var f=_YDom.get("ql_urlTxt");f.focus();if(f.createTextRange){var d=f.createTextRange();d.moveStart("character",f.value.length);d.collapse();d.select()}_YDom.get("addHdrQuickLink_needInfo").style.display="none"}else{a.style.display="none"}}return false};_HNav.QuickLink={};_HNav.QuickLink.isFireFox=function(){return navigator.userAgent.indexOf("Firefox")!=-1};_HNav.QuickLink.ancestryDomain="www.ancestry.com";_HNav.QuickLink.show=function(n){if(n!="undefined"&&n.length>0){_HNav.QuickLink.ancestryDomain=n}var e;var p;var h=document.createElement("div");h.setAttribute("id","ql_dropSheet");if(_HNav.QuickLink.isFireFox()){e=document.body.scrollWidth;p=document.body.scrollHeight}else{e=document.body.clientWidth;p=document.body.clientHeight}h.style.width=e+"px";h.style.height=p+"px";var g="370px";var m="180px";var j=document.createElement("div");j.setAttribute("id","ql_dialog");var o=document.getElementById("ql_dialogTemplate");j.innerHTML=o.innerHTML;j.style.display="none";j.style.width=g;j.style.height=m;var c=document.getElementsByTagName("body")[0];c.insertBefore(j,c.firstChild);c.insertBefore(h,j);var d;var b;var a=370;var f=180;if(_HNav.QuickLink.isFireFox()){d=window.innerWidth;b=window.innerHeight}else{if(document.documentElement.clientHeight>0){b=document.documentElement.clientHeight}else{b=document.body.clientHeight}if(document.documentElement.clientWidth>0){d=document.documentElement.clientWidth}else{d=document.body.clientWidth}}j.style.display="block";j.style.left=((d-a)/2)+"px";j.style.top=((b-f)/2)+"px";var l=document.getElementsByTagName("title")[0];var k=document.getElementById("ql_name");if(typeof TGN.KeyWatcher!="undefined"){TGN.KeyWatcher.addListener(k)}k.value=l.innerHTML};_HNav.QuickLink.addQuickLink=function(){_YDom.get("ql_content").style.display="none";_YDom.get("ql_buttons").style.display="none";_YDom.get("ql_result").style.display="block";_YDom.get("ql_image").style.display="none";var c=document.location;var b=document.getElementById("ql_name");if(c!=""&&b.value!=""){var a="&linkName="+b.value+"&partnerId="+_HNavPartnerId+"&subType="+_HNavSubType+"&linkUrl="+encodeURIComponent(c.href);_HNav.callLoader("AddQuickLink",a,_HNav.QuickLink.addQuickLink_Success,null)}};_HNav.QuickLink.addQuickLink_Success=function(){if(_HNavAddQlErrorMessage==null){if(_HNavAddQlSuccess=="true"){_YDom.get("ql_AddSuccess").style.display="block";_YDom.get("ql_AddFail").style.display="none"}else{_YDom.get("ql_AddSuccess").style.display="none";_YDom.get("ql_AddFail").style.display="block"}}else{_YDom.get("ql_AddSuccess").style.display="none";_YDom.get("ql_AddFail").style.display="block"}};_HNav.QuickLink.closeDialog=function(){var a=document.getElementsByTagName("body")[0];a.removeChild(document.getElementById("ql_dropSheet"));a.removeChild(document.getElementById("ql_dialog"))};_HDrwr.Todo=function(c,a,b){this.todoName=a;this.id=c;this.draw=function(){var d;var e=_YDom.get("todo_template");d=e.innerHTML;d=d.replace("__todoItemId__",this.id);d=d.replace("__todoItemTxt__",unescape(this.todoName));d=d.replace("__todoItemId2__",this.id);d=d.replace("__todoItemTxt2__",this.todoName);d=d.replace("__todoChBId__","chB_"+this.id);d=d.replace("__todoId__",this.id);if(b){d=d.replace("__checked__",'checked="checked"');d=d.replace("__callbackFn__","_HDrwr.retaskTodo")}else{d=d.replace("__checked__","");d=d.replace("__callbackFn__","_HDrwr.completeTodo")}return d}};_HDrwr.getTodos=function(){setTimeout(function(){if(!_todoDrwr.isOpen){_todoDrwr.spinner.style.display="block"}},500);var a="&lameChrome="+_lameChomeCounter++;_HNav.callLoader("GetTodos",a,_HDrwr.getTodos_Success,null)};_HDrwr.getTodos_Success=function(){if(_HNavTodoSuccess){_YDom.get("drwrError").style.display="none";_HDrwr.drawTodos(_HNavTodoSuccess,_HNavTodos,_HNavTodoCount,_HNavCompletedTodos,_HNavCompletedCount)}else{_YDom.get("drwrError").style.display="block"}_HDrwr.closeDrwrTop(_favsDrwr);_HDrwr.changeTodoView();_todoDrwr.spinner.style.display="none"};_HDrwr.drawTodos=function(n,a,p,c,m){if(n){var e=_YDom.get("hdrTodos");e.innerHTML="";if(_YDom.get("todoViewDD").value=="todos"){if(p==0){_YDom.get("noTodos").style.display="block"}else{_YDom.get("noTodos").style.display="none"}}else{if(m==0){_YDom.get("noCompletedItems").style.display="block"}else{try{_YDom.get("noCompletedItems").style.display="none"}catch(o){}}}var f;var d;for(var h=0;h<a.length;h++){f=a[h];d=new _HDrwr.Todo(f.id,f.todoName,false);e.innerHTML+=d.draw()}_HDrwr.DragDrop.initHdrTodo();var k=_YDom.get("hdrCompletedItems");k.innerHTML="";var b;var l;for(var g=0;g<m;g++){b=c[g];l=new _HDrwr.Todo(b.id,b.todoName,true);k.innerHTML+=l.draw()}_YDom.get("todoCount").innerHTML="("+p+")";_YDom.get("completedCount").innerHTML="("+m+")";if(_showTodosView){e.style.display="block";k.style.display="none"}else{e.style.display="none";k.style.display="block"}}};_HDrwr.saveNewTodo=function(){var a=_YDom.get("addTodoTxt");if(a.value!=""){var c=encodeURIComponent(a.value);var b="&subject="+c+"&partnerId="+_HNavPartnerId+"&subType="+_HNavSubType;_HNav.callLoader("AddTodo",b,_HDrwr.getTodos,null);_YDom.get("addTodoTxt").value=""}_HDrwr.toggleAddTodo();_HDrwr.getTodos()};_HDrwr.completeTodo=function(b){var a="&todoId="+b;_HNav.callLoader("CompleteTodo",a,_HDrwr.getTodos,null)};_HDrwr.completeTodo_success=function(){_HDrwr.getTodos()};_HDrwr.deleteTodo=function(d,b){var a=_HNavDeleteItemConf;if(confirm(a+"\n\n"+unescape(b))){var c="&todoId="+d;_HNav.callLoader("DeleteTodo",c,_HDrwr.deleteTodo_Success,null)}};_HDrwr.deleteTodo_Success=function(){_HDrwr.getTodos()};_HDrwr.retaskTodo=function(b){var a="&todoId="+b;_HNav.callLoader("ReTaskTodo",a,_HDrwr.retaskTodo_success,null)};_HDrwr.retaskTodo_success=function(){_HDrwr.getTodos()};_HDrwr.toggleAddTodo=function(){var a=_YDom.get("addTodoBox");if(a.style.display=="none"){a.style.display="block";_YDom.get("addTodoTxt").focus()}else{a.style.display="none"}return false};_HDrwr.changeTodoView=function(){if(_YDom.get("todoViewDD").value=="todos"){_YDom.get("hdrTodos").style.display="block";_YDom.get("hdrCompletedItems").style.display="none";_YDom.get("addTodoBtn").style.display="block";_YDom.get("todoCount").style.display="inline";_YDom.get("completedCount").style.display="none";_YDom.get("noCompletedItems").style.display="none";_YDom.get("todoInstruction").style.display="block";if(_HNavTodoCount==0){_YDom.get("noTodos").style.display="block"}_HDrwr.animOpenDrawer(_todoDrwr)}else{_YDom.get("hdrCompletedItems").style.display="block";_YDom.get("hdrTodos").style.display="none";_YDom.get("addTodoBtn").style.display="none";_YDom.get("todoCount").style.display="none";_YDom.get("completedCount").style.display="inline";_YDom.get("noTodos").style.display="none";_YDom.get("todoInstruction").style.display="none";if(_HNavCompletedCount==0){_YDom.get("noCompletedItems").style.display="block"}var a=_HNav.getElementHeight("DrwWrapper")+11;_YDom.get("DrwSlider").style.height=a+"px";setTimeout(function(){_todoDrwr.spinner.style.display="none"},500)}};_HDrwr.initDrawers=function(){_todoDrwr=new _HDrwr.Drawer("todosLi","todosLeft","todosRight","todosContainer","todosLink","todosEm","todosSpan","todoTop","hdrTodos","noTodos","hdrCompletedItems","noCompletedItems","todoSpinner",_HDrwr.getTodos);_YEvent.on("todosLi","click",_HDrwr.openDrawerTab,_todoDrwr);_favsDrwr=new _HDrwr.Drawer("favsLi","favsLeft","favsRight","favsContainer","favsLink","favsEm","favsSpan","favTop","hdrFavs","noQuickLinks",null,null,"favsSpinner",_HDrwr.getQuickLinks);_YEvent.on("favsLi","click",_HDrwr.openDrawerTab,_favsDrwr);_YEvent.on("todoCloser","click",_HDrwr.animClose);_YEvent.on("favCloser","click",_HDrwr.animClose);_drawerObjs=[_todoDrwr,_favsDrwr]};_YEvent.onDOMReady(_HDrwr.initDrawers);function g_createTab(c,b,f,e){var a=_YDom.get("_HdrNav");if(a!=null&&f==true){a.innerHTML+='<li class="G-NavItem"><a href="'+b+'">'+c+"</a></li>"}else{if(!f){var d=document.getElementById("_HdrReturnBtn");d.style.display="block";d.innerHTML='<div style="position:absolute; left:0; top:0; height:30px; width:auto;"><a href="'+b+'" class="gbtn med-green"><em><span class="flat_icon arrow1left_white"></span>'+c+"</em></a></div><br>"}}}if(typeof(document.getElementsByClassName)=="undefined"){document.getElementsByClassName=function(f,d){var g=[];if(d==null){d="*"}var h=document.getElementsByTagName(d);for(var e=0;e<h.length;e++){if(h[e].className){classesList=h[e].className.split(" ");for(var c=0;c<classesList.length;c++){if(classesList[c]==f){g.push(h[e]);break}}}}return(g)}}function setButtonStates(c){if(c&&c.length>0){for(var b=0;b<c.length;b++){c[b].onmouseover=function(){this.style.backgroundPosition="left center";for(var a=0;a<this.childNodes.length;a++){if(this.childNodes[a].nodeName.toLowerCase()=="em"){this.childNodes[a].style.backgroundPosition="right center";break}}};c[b].onmousedown=function(){this.style.backgroundPosition="left bottom";for(var a=0;a<this.childNodes.length;a++){if(this.childNodes[a].nodeName.toLowerCase()=="em"){this.childNodes[a].style.backgroundPosition="right bottom";break}}};c[b].onmouseup=function(){this.style.backgroundPosition="left center";for(var a=0;a<this.childNodes.length;a++){if(this.childNodes[a].nodeName.toLowerCase()=="em"){this.childNodes[a].style.backgroundPosition="right center";break}}};c[b].onmouseout=function(){this.style.backgroundPosition="left top";for(var a=0;a<this.childNodes.length;a++){if(this.childNodes[a].nodeName.toLowerCase()=="em"){this.childNodes[a].style.backgroundPosition="right top";break}}}}}}function setTranBtnStates(c){if(c&&c.length>0){for(var b=0;b<c.length;b++){c[b].onmouseover=function(){for(var a=0;a<this.childNodes.length;a++){if(this.childNodes[a].nodeName.toLowerCase()=="span"){this.childNodes[a].style.backgroundPosition="left center"}if(this.childNodes[a].nodeName.toLowerCase()=="em"){this.childNodes[a].style.backgroundPosition="right center"}}};c[b].onmousedown=function(){for(var a=0;a<this.childNodes.length;a++){if(this.childNodes[a].nodeName.toLowerCase()=="span"){this.childNodes[a].style.backgroundPosition="left bottom"}if(this.childNodes[a].nodeName.toLowerCase()=="em"){this.childNodes[a].style.backgroundPosition="right bottom"}}};c[b].onmouseup=function(){for(var a=0;a<this.childNodes.length;a++){if(this.childNodes[a].nodeName.toLowerCase()=="span"){this.childNodes[a].style.backgroundPosition="left center"}if(this.childNodes[a].nodeName.toLowerCase()=="em"){this.childNodes[a].style.backgroundPosition="right center"}}};c[b].onmouseout=function(){for(var a=0;a<this.childNodes.length;a++){if(this.childNodes[a].nodeName.toLowerCase()=="span"){this.childNodes[a].style.backgroundPosition="left top"}if(this.childNodes[a].nodeName.toLowerCase()=="em"){this.childNodes[a].style.backgroundPosition="right top"}}}}}}_YEvent.onDOMReady(function(){var a=document.getElementsByClassName("gbtn","a");setButtonStates(a);a=document.getElementsByClassName("gbtn_in","a");setButtonStates(a);a=document.getElementsByClassName("gtbtn","a");setTranBtnStates(a)});function GetCommunicationBanner(){if(typeof clientId!="undefined"){var a=document.getElementById(clientId+"_hdnStackName").value;if(_HNavUserLoggedIn=="True"&&bannerOff.toLowerCase()=="true"&&(a=="c_lihp"||a=="c_home"||a=="c_trees"||a=="c_boards"||a=="c_search"||a=="c_learn")){var b="&stack="+a;_HNav.callLoader("GetCommunicationBanner",b,GetBannerSucc,null)}}}function GetBannerSucc(){var j=document.getElementById(clientId+"_hdnStackName").value;var a,e;var f=new String();try{if(isJewishGenCookie()&&j=="c_lihp"&&_HNavPriority!=0){a=document.getElementById(clientId+"_banComMessage");a.innerHTML="";e=document.createElement("div");e.id="wrpDiv";f="<h2>"+document.getElementById(clientId+"_lblJewishBanner").innerHTML+"&nbsp;<a href=\"javascript:TGN.Lihp.enableEdit('lihpContent','move_banner_error');\">"+document.getElementById(clientId+"_lblJewishBanner2").innerHTML+'</a></h2><a class="close" href="javascript:void(0)" onclick="CloseBannerClick();">'+closeStr+"</a>";e.className="bluWrp";f=f.concat('<div class="tl"></div><div class="tr"></div>');f=f.concat('<div class="bl"></div><div class="br"></div>');e.innerHTML=f;a.appendChild(e);document.getElementById(clientId+"_bannerCommunication").style.display="block";document.getElementById("fbanner").style.display="block"}else{if(!_HNavBannertext==""){a=document.getElementById(clientId+"_banComMessage");a.innerHTML="";var h,g;var d=new String();e=document.createElement("div");e.id="wrpDiv";f=_HNavBannertext;if(_HNavBannertext.indexOf("<LANG")>-1){f=CanadaLanguageBanner(_HNavBannertext)}if(!f==""){f=f.concat('<a class="close" href="javascript:void(0)" onclick="CloseBannerClick();">'+closeStr+"</a>");switch(_HNavColor){case"green":h="grnWrp";g="grnBtm";break;case"yellow":h="yloWrp";g="yloBtm";break;case"red":h="redWrp";g="redBtm";break;case"orange":h="orangeWrp";g="orangeBtm";break;case"blue":h="bluWrp";g="bluBtm";break;default:h="bluWrp";g="bluBtm";break}e.className=h+" gHeaderAlert";f=f.concat('<div class="tl"></div><div class="tr"></div>');document.getElementById(clientId+"_hdnbannerID").value=_HNavBannerid;if(_HNavAddtext==""){f=f.concat('<div class="bl"></div><div class="br"></div>');e.innerHTML=f;a.appendChild(e)}else{e.innerHTML=f;a.appendChild(e);var b=document.createElement("div");d=_HNavAddtext;b.ID="addDiv";b.className=g;d=d.concat('<div class="bl"></div><div class="br"></div>');b.innerHTML=d;a.appendChild(b)}document.getElementById(clientId+"_bannerCommunication").style.display="block";document.getElementById("fbanner").style.display="block"}}else{document.getElementById(clientId+"_bannerCommunication").style.display="none";document.getElementById("fbanner").style.display="none"}}}catch(c){document.getElementById(clientId+"_bannerCommunication").style.display="none";document.getElementById("fbanner").style.display="none"}}_YEvent.onDOMReady(function(){GetBannerSucc()});function isJewishGenCookie(){if(document.cookie.length>0){if((document.cookie.indexOf("JFH=")>-1)&&(document.cookie.indexOf("JFHrec=")==-1)){return true}}return false}function expireJewishGenCookie(){if(document.cookie.length>0){if(document.cookie.indexOf("JFH=")>-1){var a=new Date();a.setTime(a.getTime()+(1700*24*60*60*1000));document.cookie="JFHrec=0; expires="+a.toGMTString()}}}function CloseBannerClick(){if(isJewishGenCookie()){document.getElementById(clientId+"_bannerCommunication").style.display="none";document.getElementById("fbanner").style.display="none";expireJewishGenCookie();GetCommunicationBanner()}else{var c=document.getElementById(clientId+"_hdnbannerID").value;var b=document.getElementById(clientId+"_hdnStackName").value;document.getElementById(clientId+"_bannerCommunication").style.display="none";document.getElementById("fbanner").style.display="none";var a="&bannerId="+c+"&stack="+b;_HNav.callLoader("CommunicationBanner",a,GetBannerSucc,null)}}function CanadaLanguageBanner(f){var c=-1;var b=-1;var a="";try{var d=cultureName;c=f.indexOf("<LANG"+d+">");b=f.indexOf("</LANG"+d+">");if(c>-1&&b>-1&&b>c){a=f.substring(c+11,b)}}catch(e){}return a}if(typeof(document.getElementsByClassName)=="undefined"){document.getElementsByClassName=function(k,j,q){var p=[],o=[],n=0,m=0,l=[];if(typeof(q)=="undefined"){q=document}else{if(typeof(q)==typeof("string")){q=document.getElementById(q)}}if(typeof(j)=="undefined"){j="*"}o=q.getElementsByTagName(j);for(n=0;n<o.length;n++){if(o[n].className){l=o[n].className.split(" ");for(m=0;m<l.length;m++){if(l[m]==k){p.push(o[n]);break}}}}return(p)}}function hasClassName(d,c){return d.className.match(new RegExp("(\\s|^)"+c+"(\\s|$)"))}function addClassName(d,c){if(!hasClassName(d,c)){d.className+=" "+c;return true}return false}function removeClassName(e,d){if(hasClassName(e,d)){var f=new RegExp("(\\s|^)"+d+"(\\s|$)");e.className=e.className.replace(f,"");return true}return false};
/* trees.js */
function expandCollapse() {
    for (var i = 0; i < expandCollapse.arguments.length; i++) {
        var element = document.getElementById(expandCollapse.arguments[i]);
        if (element != null)
            element.style.display = (element.style.display == "none") ? "" : "none";
    }
    document.getElementsByTagName('body')[0].style.position = 'static';
}
function expandElement() {
    for (var i = 0; i < expandElement.arguments.length; i++) {
        var element = document.getElementById(expandElement.arguments[i]);
        if (element != null)
            element.style.display = "";
    }
    document.getElementsByTagName('body')[0].style.position = 'static';
}
function collapseElement() {
    for (var i = 0; i < collapseElement.arguments.length; i++) {
        var element = document.getElementById(collapseElement.arguments[i]);
        if (element != null)
            element.style.display = "none";
    }
    document.getElementsByTagName('body')[0].style.position = 'static';
}
function addClass(elId, className) {
    YAHOO.util.Dom.addClass(elId, className);
}
function removeClass(elId, className) {
    YAHOO.util.Dom.removeClass(elId, className); 
} 
var ToClearMenu, ToClearDisplay, ToClearTreeMenu, ToClearTreeDisplay, ToClearMediaMenu, ToClearMediaDisplay;
var treeMenuHeight = 180;
function initMenues(isOwner) {
//	if (isOwner == 'False') treeMenuHeight = 128;
//	var anim = new YAHOO.util.Anim('treeMenuContent', { height: { to: treeMenuHeight} }, 1, YAHOO.util.Easing.easeOut);
//	anim.animate();
//    anim = new YAHOO.util.Anim('treeMenuContent', { height: { to: 0} }, 1, YAHOO.util.Easing.easeIn);
//    anim.animate();
//    anim = new YAHOO.util.Anim('moreOptContent', { height: { to: 98} }, 1, YAHOO.util.Easing.easeOut);
//    anim.animate();
//    anim = new YAHOO.util.Anim('moreOptContent', { height: { to: 0} }, 1, YAHOO.util.Easing.easeIn);
//    anim.animate();
}
//function initGalleryMenu() {
//    var anim = new YAHOO.util.Anim('mediaMenuContent', { height: { to: 98} }, 1, YAHOO.util.Easing.easeOut);
//    anim.animate();
//    anim = new YAHOO.util.Anim('mediaMenuContent', { height: { to: 0} }, 1, YAHOO.util.Easing.easeIn);
//    anim.animate();
//}
function clearhideMenu(e) {
    if (ToClearMenu != -1) { window.clearTimeout(ToClearMenu); ToClearMenu = 0; }
    if (ToClearDisplay != -1) { window.clearTimeout(ToClearDisplay); ToClearDisplay = 0; }
}
function hidemoreOptMenu(e) {
    ToClearMenu = setTimeout(function() {
//        var anim = new YAHOO.util.Anim('moreOptContent', { height: { to: 0} }, 1, YAHOO.util.Easing.easeIn);
//        anim.duration = 0.4;
//        anim.animate();

        ToClearDisplay = setTimeout(function() {
            document.getElementById('moreOptMenu').style.display = "none";
        }, 500);
    }, 250);
}
function showmoreOptMenu(e) {
    document.getElementById('moreOptMenu').style.display = "";
//    var hght = 98;
//    if (v_menuCnt < 3)
//        hght = 70;
//    var anim = new YAHOO.util.Anim('moreOptContent', { height: { to: hght} }, 1, YAHOO.util.Easing.easeOut);
//    anim.duration = 0.4;
//    anim.animate();
}
function clearhideTreeMenu(e) {
    if (ToClearTreeMenu != -1) { window.clearTimeout(ToClearTreeMenu); ToClearTreeMenu = 0; }
    if (ToClearTreeDisplay != -1) { window.clearTimeout(ToClearTreeDisplay); ToClearTreeDisplay = 0; }
}
function hidetreeMenu(e) {
    ToClearTreeMenu = setTimeout(function() {
//        var anim = new YAHOO.util.Anim('treeMenuContent', { height: { to: 0} }, 1, YAHOO.util.Easing.easeIn);
//        anim.duration = 0.4;
//        anim.animate();

        ToClearTreeDisplay = setTimeout(function() {
            document.getElementById('treeMenu').style.display = "none";
        }, 500);
    }, 250);
}
function showtreeMenu(e) {
	document.getElementById('treeMenu').style.display = "";
//    var anim = new YAHOO.util.Anim('treeMenuContent', { height: { to: treeMenuHeight} }, 1, YAHOO.util.Easing.easeOut);
//    anim.duration = 0.4;
//    anim.animate();
}
function showhidemediaMenu(e) {
    var element = document.getElementById('mediaMenu');
//    var anim = null;
    if (element.style.display == "none") {
        element.style.display = "";
//        anim = new YAHOO.util.Anim('mediaMenuContent', { height: { to: 105} }, 1, YAHOO.util.Easing.easeOut);

//        anim.duration = 0.4;
//        anim.animate();

        if (ToClearMediaMenu != -1) { window.clearTimeout(ToClearMediaMenu); ToClearMediaMenu = 0; }
        if (ToClearMediaDisplay != -1) { window.clearTimeout(ToClearMediaDisplay); ToClearMediaDisplay = 0; }
    }
    else {
        ToClearMediaMenu = setTimeout(function() {
//            anim = new YAHOO.util.Anim('mediaMenuContent', { height: { to: 0} }, 1, YAHOO.util.Easing.easeIn);

//            anim.duration = 0.4;
//            anim.animate();

            ToClearMediaDisplay = setTimeout(function() {
                element.style.display = "none";
            }, 100);
        }, 100);
    }
}
function showmediaMenu() {
    if (ToClearMediaMenu != -1) { window.clearTimeout(ToClearMediaMenu); ToClearMediaMenu = 0; }
    if (ToClearMediaDisplay != -1) { window.clearTimeout(ToClearMediaDisplay); ToClearMediaDisplay = 0; }
}
function hidemediaMenu() {
    var element = document.getElementById('mediaMenu');
    ToClearMediaMenu = setTimeout(function() {
        ToClearMediaDisplay = setTimeout(function() {
            element.style.display = "none";
        }, 700);
    }, 700);
}
function immediatehidemediaMenu() {
    var element = document.getElementById('mediaMenu');
    ToClearMediaMenu = setTimeout(function() {
        ToClearMediaDisplay = setTimeout(function() {
            element.style.display = "none";
        }, 0);
    }, 0);
}

var ToClear, ToShow, currentDiv, oldDiv;
function showHover() {
    //close other card menues
    var treeMenu = null;
    var printPubMenu = null;
    var moreOptMenu = null;
    if (showHover.arguments[0] == 'moreOptMenu') {
        treeMenu = document.getElementById("treeMenu");
        if(treeMenu != null)
            treeMenu.style.display = "none";
        printPubMenu = document.getElementById("printPubMenu");
        if (printPubMenu != null)
            printPubMenu.style.display = "none";
    }
    else if (showHover.arguments[0] == 'treeMenu') {
        moreOptMenu = document.getElementById("moreOptMenu");
        if (moreOptMenu != null)
            moreOptMenu.style.display = "none";
        printPubMenu = document.getElementById("printPubMenu");
        if (printPubMenu != null)
            printPubMenu.style.display = "none";
    }
    else if (showHover.arguments[0] == 'printPubMenu') {
        treeMenu = document.getElementById("treeMenu");
        if (treeMenu != null)
            treeMenu.style.display = "none";
        moreOptMenu = document.getElementById("moreOptMenu");
        if (moreOptMenu != null)
            moreOptMenu.style.display = "none";
    }

    if (oldDiv != 'undefined' && oldDiv != null)
        closeHover("'" + oldDiv + "'");
    currentDiv = showHover.arguments[0];
    oldDiv = currentDiv;
    var element = document.getElementById(currentDiv);
    ToShow = setTimeout(function() {
        if (element != null)
            element.style.display = "";
    }, 500);
}
function closeHover() {
    var element = document.getElementById(closeHover.arguments[0]);
    
    if (element != null)
        element.style.display = "none";

    hoverTimeoutClear();
}
function onHoverInit() {//Initialize when showing
    hoverTimeoutClear();
}
function hoverTimeout() {//Set Timout for Hoverbox if off of it
    hoverTimeoutClear();
    currentDiv = hoverTimeout.arguments[0];
    if (currentDiv != 'undefined' && currentDiv != null)
        ToClear = setTimeout("closeHover('" + currentDiv + "')", 250, "JAVASCRIPT");
}
function hoverTimeoutClear() {//Clear Timeout if over Hoverbox
    if (ToShow != -1) { window.clearTimeout(ToShow); ToShow = 0; }
    if (ToClear != -1) { window.clearTimeout(ToClear); ToClear = 0; }
}

//Fix for aligning images correctly in FF2 and FF3
//function ffImageCheck() {

//    if (navigator.appName == "Netscape") {
//        for (var i = 0; i < parseInt(v_resultCount); i++) {
//            var idstring = "";

//            if (i < 10)
//                idstring = "rpt_photos_ctl0" + i + "_myImage";
//            else if (i < 100 && i > 9)
//                idstring = "rpt_photos_ctl" + i + "_myImage";
//            else
//                idstring = "rpt_photos_ct" + i + "_myImage";

//            var image = document.getElementById(idstring);

//            if (image != null && typeof image != "undefined")
//                image.style.marginTop = (116 - image.offsetHeight) / 2 + "px";

//        }
//    }
//}

function swapClass(row, oldClass) {
    document.getElementById(row).className = oldClass;
    if (oldClass == 'tblrowOver') {
        document.getElementById(row + 'control').className = 'resultsInfo';
    } else {
        document.getElementById(row + 'control').className = 'resultsHidden';
    }
}
function guidelines() {
    window.open('http://' + v_communityPartner + '/guidelines.aspx', '', 'toolbar=no,scrollbars=1,resizable=1,menubar=no,location=no,height=425,width=575');
}
function onclickBrowse() {
    onclickOpenBrowseWindow();
}

function onclickOpenBrowseWindow() {
    window.open(v_browseURL, '', 'toolbar=no,resizable=yes,scrollbars=yes,menubar=no,status=no,location=no,height=550,width=800', true);
}

function ReplaceText(sentence) {
    if (sentence.indexOf('\\') != -1) {
        var textboxhold = sentence.replace(/\\/gi, "");
        return textboxhold;
    }
    else
        return sentence;
}

//Firefox Word Wrapping - since Firefox doesn't have a css property to properly handle word wraps in divs
function WordWrapping(sentence, subval, isRightNav) {
    if (navigator.appName == "Netscape") {
        var textboxhold = sentence.replace(/- /gi, "");
        var temp = new Array();
        temp = textboxhold.split(' ');

        var wcnt = 0;
        for (var m = 0; m < subval; m++) {
            if (sentence.charAt(m) == 'w') {
                wcnt = wcnt + 1;
            }
        }

        var subvalint = parseInt(subval);

        if (wcnt >= 25 && isRightNav == false) {
            subvalint = 45;
        }
        else if (wcnt < 25 && isRightNav == false) {
            subvalint = 60;
        }
        else if (wcnt >= 11 && isRightNav == true) {
            subvalint = 14;
        }
        else if (wcnt < 11 && isRightNav == true) {
            subvalint = 17;
        }

        var subvalplus = subvalint + 1;
        var subvalminus = subvalint - 1;

        for (var i = 0; i < temp.length; i++) {
            if (temp[i].length > subval) {
                var temp2 = new Array();

                if (temp[i].substring(subvalint, temp[i].length) < subvalplus) {
                    temp[i] = temp[i].substring(0, subvalminus) + "- " + temp[i].substring(subvalint, temp[i].length);
                }
                else {
                    var wordlength = temp[i].length;

                    var tempwordlength = 0;
                    var k = 0;
                    while (wordlength > 0) {
                        var maxlength = tempwordlength + subvalint;
                        temp2[k] = temp[i].substring(tempwordlength, maxlength);

                        tempwordlength = tempwordlength + subvalint + 1;

                        wordlength = wordlength - subvalint;

                        k++;

                        if (wordlength < 0) {
                            break;
                        }
                    }

                    var tempwordhold = "";
                    for (var j = 0; j < temp2.length; j++) {
                        if (temp2[j] != "" && temp2[j] != null) {
                            if (j == 0)
                                tempwordhold = temp2[j];
                            else
                                tempwordhold = tempwordhold + "- " + temp2[j];
                        }
                    }

                    temp[i] = tempwordhold;

                }
            }
        }

        var returnsentence = "";

        for (var i2 = 0; i2 < temp.length; i2++) {
            if (i2 == 0) {
                returnsentence = temp[i2];
            }
            else {
                returnsentence = returnsentence + " " + temp[i2];
            }
        }
    }
    return returnsentence;
}
//End Firefox Word Wrapping



//***************************************************
// Positioning
//***************************************************
// for dynamic positioning
// Some Javascript that is used by IndivRank.aspx and IndivBoolean.aspx, mostly to support the AJAX stuff
function showPop(src) {
    if (document.getElementById) {
        var srcEl = document.getElementById(src);
        if (srcEl) {
            srcEl.style.visibility = "visible";
        }
    }
}
function hidePop(src) {
    if (document.getElementById) {
        var srcEl = document.getElementById(src);
        if (srcEl) {
            srcEl.style.visibility = "hidden";
        }
    }
}
function showBlock(src) {
    showBlock(src, "");
}
/*jsl:ignore*/
function showBlock(src, inText) {
    /*jsl:end*/
    if (document.getElementById) {
        var srcEl = document.getElementById(src);
        if (srcEl) {
            srcEl.style.display = "";
            if (inText && inText.length > 0) {
                srcEl.innerHTML = inText;
            }
        }
    }
}
function hideBlock(src) {
    if (document.getElementById) {
        var srcEl = document.getElementById(src);
        if (srcEl) {
            srcEl.style.display = "none";
        }
    }
}
function displayAjaxCtlHtml(doc, xmlTag, ctlName, enclosingCtl) {
    var obj = doc.getElementsByTagName(xmlTag)[0];
    if (obj) {
        obj = obj.firstChild;
        if (obj) {
            if (enclosingCtl && enclosingCtl.length > 0) {
                showBlock(enclosingCtl);
            }
            showBlock(ctlName, obj.data);
        }
    }
}

function findPosX(obj) {
    var curleft = 0;
    if (obj.offsetParent) {
        while (obj.offsetParent) {
            curleft += obj.offsetLeft;
            obj = obj.offsetParent;
        }
    }
    else if (obj.x) {
        curleft += obj.x;
    }
    return curleft;
}

function findPosY(obj) {
    var curtop = 0;
    if (obj.offsetParent) {
        while (obj.offsetParent) {
            curtop += obj.offsetTop;
            obj = obj.offsetParent;
        }
    }
    else if (obj.y) {
        curtop += obj.y;
    }
    return curtop;
}

function showPopRelative(obj, elem) {
    showPopRelativeAbove(obj, elem);
}
function showPopRelativeAbove(obj, elem) {
    showPopRelativeAboveOffset(obj, elem, 0, 0);
}
function showPopRelativeBelow(obj, elem) {
    showPopRelativeBelowOffset(obj, elem, 0, 0);
}
function showPopRelativeAboveOffset(obj, elem, xOffset, yOffset) {
    // Show ELEM element relative to (above) OBJ object
    if (xOffset == null) {
        xOffset = 0;
    }
    if (yOffset == null) {
        yOffset = 0;
    }
    var elemObj = document.getElementById(elem);
    if (elemObj) {
        var newX = findPosX(obj) - 15 + xOffset;
        var height = (elemObj.clientHeight) ? elemObj.clientHeight : elemObj.offsetHeight;
        var objHeight = (obj.clientHeight) ? obj.clientHeight : obj.offsetHeight;
        var newY = findPosY(obj) - height + objHeight + yOffset;
        elemObj.style.top = newY + "px";
        elemObj.style.left = newX + "px";
    }
    showPop(elem);
}

function showPopRelativeBelowOffset(obj, elem, xOffset, yOffset) {
    // Show ELEM element relative to (below) OBJ object
    if (xOffset == null) {
        xOffset = 0;
    }
    if (yOffset == null) {
        yOffset = 0;
    }
    // Show ELEM element relative to (above) OBJ object
    var elemObj = document.getElementById(elem);
    if (elemObj) {
        var newX = findPosX(obj) - 15 + xOffset;
        var newY = findPosY(obj) + yOffset;
        elemObj.style.top = newY + "px";
        elemObj.style.left = newX + "px";
    }
    showPop(elem);
}

// **********************************************
// Siblings AJAX request from Person card
// **********************************************
// Response Success - Siblings
var parentPid = new Array();
var ppCnt = 0;
var getSiblingsOnce = true;
var responseSuccessShSib = function(o) {
    var siblingData = eval("(" + o.responseText + ")");

    var fullSiblings = siblingData.siblings.full;
    var halfSiblings = siblingData.siblings.half;
    var fullSibCount = (typeof fullSiblings != "undefined") ? fullSiblings.length : 0;
    var halfSibCount = (typeof halfSiblings != "undefined") ? halfSiblings.length : 0;

    // show the Siblings header
    showSiblingsHeader();
    // add sibling names
    var sibDataDL = document.getElementById("sibData");
    var sibDD;
    var sib;
    var click;
    var sibNodeDiv = null;
    var sibNodeDivUL = null;
    var sibNodeDivLI = null;
    var sibNodeDivLIImgDiv = null;
    var sibNodeDivLIImgDivSpan = null;
    var sibNodeDivLISpan = null;
    var imgClass = null;
    var clearDiv = null;

    if (fullSibCount > 0) {
        for (var iFull = 0; iFull < fullSibCount; iFull++) {
            sib = fullSiblings[iFull];
            sibDD = document.createElement("dd");
            sibDD.className = "name";

            sibNodeDiv = document.createElement("div");
            sibNodeDiv.className = "siblingChildNode siblingNode";

            sibNodeDivUL = document.createElement("ul");
            sibNodeDivLI = document.createElement("li");

            //Image list item
            imgClass = "pImg dunknown";
            if (sib.gender == "M") imgClass = "pImg dmale";
            if (sib.gender == "F") imgClass = "pImg dfemale";
            sibNodeDivLI.className = imgClass;
            sibNodeDivLIImgDiv = document.createElement("div");
            sibNodeDivLIImgDivSpan = document.createElement("span");
            if (sib.image32Url && sib.image32Url.length > 0) {
                sibNodeDivLIImgDiv.className = "actImage x-smallImg";
                sibNodeDivLIImgDivSpan.style.backgroundImage = "url(" + sib.image32Url + ")";
            } else {
                sibNodeDivLIImgDiv.className = "defaultImg x-smallImg";
            }
            sibNodeDivLIImgDivSpan.innerHTML = " ";
            sibNodeDivLIImgDiv.appendChild(sibNodeDivLIImgDivSpan);
            sibNodeDivLI.appendChild(sibNodeDivLIImgDiv);
            sibNodeDivUL.appendChild(sibNodeDivLI);

            //Sibling Data list item
            sibNodeDivLI = document.createElement("li");
            sibNodeDivLI.className = "namePlusCC";
            sibNodeDivLISpan = document.createElement("span");
            sibNodeDivLISpan.className = "nameYearDetails";

            click = "<a class=\"flat_icon clickCardIcon\" onclick=\"javascript:$trees.clickCard.show(this, '" + v_tid + "', '" + sib.pid + "');\" href=\"javascript:;\">&nbsp;</a>";
            sibNodeDivLISpan.innerHTML = "<div class='nameandyears'><a href='javascript:$trees.util.gotoPerson(" + v_tid + "," + sib.pid + ");'><b>" + sib.name + "</b></a>" + " <span class='years'>(" + sib.birthYear + "-" + sib.deathYear + ")</span></div>" + click;

            //Append everything back out
            sibNodeDivLI.appendChild(sibNodeDivLISpan);
            sibNodeDivUL.appendChild(sibNodeDivLI);
            sibNodeDiv.appendChild(sibNodeDivUL);
            clearDiv = document.createElement("div");
            clearDiv.className = "clearDiv";
            sibNodeDiv.appendChild(clearDiv);
            sibDD.appendChild(sibNodeDiv);
            sibDataDL.appendChild(sibDD);
        }
    }
    if (halfSibCount > 0) {
        var sibDT = document.createElement("dd");
        sibDT.className = "halfSiblings";
        sibDT.innerHTML = "<div class='halfSibSpacer'></div>" + v_halfSiblings + "<div class='halfSibSpacer'></div>";
        sibDataDL.appendChild(sibDT);
        for (var iHalf = 0; iHalf < halfSibCount; iHalf++) {
            sib = halfSiblings[iHalf];
            sibDD = document.createElement("dd");
            sibDD.className = "name";

            sibNodeDiv = document.createElement("div");
            sibNodeDiv.className = "siblingChildNode siblingNode";

            sibNodeDivUL = document.createElement("ul");
            sibNodeDivLI = document.createElement("li");

            //Image list item
            imgClass = "pImg dunknown";
            if (sib.gender == "M") imgClass = "pImg dmale";
            if (sib.gender == "F") imgClass = "pImg dfemale";
            sibNodeDivLI.className = imgClass;
            sibNodeDivLIImgDiv = document.createElement("div");
            sibNodeDivLIImgDivSpan = document.createElement("span");
            if (sib.image32Url && sib.image32Url.length > 0) {
                sibNodeDivLIImgDiv.className = "actImage x-smallImg";
                sibNodeDivLIImgDivSpan.style.backgroundImage = "url(" + sib.image32Url + ")";
            } else {
                sibNodeDivLIImgDiv.className = "defaultImg x-smallImg";
            }
            sibNodeDivLIImgDiv.appendChild(sibNodeDivLIImgDivSpan);
            sibNodeDivLI.appendChild(sibNodeDivLIImgDiv);
            sibNodeDivUL.appendChild(sibNodeDivLI);

            //Sibling Data list item
            sibNodeDivLI = document.createElement("li");
            sibNodeDivLI.className = "namePlusCC";
            sibNodeDivLISpan = document.createElement("span");
            sibNodeDivLISpan.className = "nameYearDetails";

            click = "<a class=\"flat_icon clickCardIcon\" onclick=\"javascript:$trees.clickCard.show(this, '" + v_tid + "', '" + sib.pid + "');\" href=\"javascript:;\">&nbsp;</a>";
            sibNodeDivLISpan.innerHTML = "<div class='nameandyears'><a href='javascript:$trees.util.gotoPerson(" + v_tid + "," + sib.pid + ");'><b>" + sib.name + "</b></a>" + " <span class='years'>(" + sib.birthYear + "-" + sib.deathYear + ")</span></div>" + click;

            //Append everything back out
            sibNodeDivLI.appendChild(sibNodeDivLISpan);
            sibNodeDivUL.appendChild(sibNodeDivLI);
            sibNodeDiv.appendChild(sibNodeDivUL);
            clearDiv = document.createElement("div");
            clearDiv.className = "clearDiv";
            sibNodeDiv.appendChild(clearDiv);
            sibDD.appendChild(sibNodeDiv);
            sibDataDL.appendChild(sibDD);
        }
    }
    if (fullSibCount == 0 && halfSibCount == 0) {
        sibDD = document.createElement("dd");
        sibDD.className = "noSiblings";
        sibDiv1 = document.createElement("div");
        sibDiv1.className = "siblingChildNode siblingNode";
        sibDiv2 = document.createElement("div");
        sibDiv2.style.margin = "5px";
        sibDiv2.innerHTML = v_noSiblings;
        sibDiv1.appendChild(sibDiv2);
        sibDD.appendChild(sibDiv1);
        sibDataDL.appendChild(sibDD);
    }

    sibNodeDiv = document.createElement("div");
    sibNodeDiv.className = "famMembDetBottom2";
    sibDataDL.appendChild(sibNodeDiv);

    getSiblingsOnce = false;
};
var responseFailureShSib = function(o) {
};
var callbackShSib =
{
	success: responseSuccessShSib,
	failure: responseFailureShSib
};
function showSiblingsCard() {
	// show the Siblings header
	showSiblingsHeader();
	// show the "loading" icon
	var sibData = document.getElementById("sibData");
	var sibDD = document.createElement("dd");
	sibDD.innerHTML = "<center><img src='" + v_cache + "/trees/fz/css/i/process.gif' /></center>";
	sibData.appendChild(sibDD);
	// go get the siblings data
	var requestString = "/PTgetsiblings.ashx?pid=" + v_pid + "&tid=" + v_tid + "&idHalf=true";
	YAHOO.util.Connect.asyncRequest("GET", requestString, callbackShSib);
}
function showSiblingsHeader() {
	var sibSectionDiv = document.getElementById("sibSection");
	sibSectionDiv.innerHTML = "";
	var sibDataDL = document.createElement("dl");
	sibDataDL.id = "sibData";
	var sibDT = document.createElement("dt");
	sibDT.className = "sibBlankDt";
//	sibDT.className = "category";
//	sibDT.innerHTML = v_siblings;
	sibDT.innerHTML = "";
	sibDataDL.appendChild(sibDT);
//	var sibDD = document.createElement("dd");
//	sibDD.className = "separator";
//	sibDD.innerHTML = "<hr />";
//	sibDataDL.appendChild(sibDD);
	sibSectionDiv.appendChild(sibDataDL);
}



var $SNH = ('undefined' !== typeof TGN) ? TGN.namespace('TGN.Ancestry.Trees.subnavHover') : YAHOO.namespace('subnavHover');
function onSubNavHover(divId, elementId)
{
	var div = document.getElementById(divId);
	if (div != null)
	{
		div.style.display = "";
	}
	$SNH.hoverBox = new YAHOO.widget.Overlay(divId, {
		visible: false,
		width: "325px",
		zIndex:9999,
		//effect:{effect:YAHOO.widget.ContainerEffect.FADE,duration:0.5},
		//constraintoviewport:true,
		iframe: false,
		monitorresize: false
	});
	var el = document.getElementById(elementId);
	if (el != null)
	{
		var hoverLeft = YAHOO.util.Dom.getX(el); // + (el.offsetWidth/2);
		var hoverTop = YAHOO.util.Dom.getY(el) + el.offsetHeight + 5;

		$SNH.hoverBox.cfg.setProperty("xy", [hoverLeft, hoverTop]);
		$SNH.hoverBox.render();
		$SNH.hoverBox.cfg.setProperty("visible", true);
	}
}
function onSubNavOut(divId)
{
	if ($SNH.hoverBox != undefined)
	{
		$SNH.hoverBox.cfg.setProperty("visible", false);
	}
}
var $TCTH = ('undefined' !== typeof TGN) ? TGN.namespace('TGN.Ancestry.Trees.treecardTTHover') : YAHOO.namespace('treecardTTHover');
function onTCTTHover(divId, elementId) {
    var div = document.getElementById(divId);
    if (div != null) {
        div.style.display = "";
    }
    $TCTH.hoverBox = new YAHOO.widget.Overlay(divId, {
        visible: false,
        width: "200px",
        zIndex: 9999,
        //effect:{effect:YAHOO.widget.ContainerEffect.FADE,duration:0.5},
        //constraintoviewport:true,
        iframe: false,
        monitorresize: false
    });
    var el = document.getElementById(elementId);
    if (el != null) {
        var hoverLeft = YAHOO.util.Dom.getX(el); // + (el.offsetWidth/2);
        var hoverTop = YAHOO.util.Dom.getY(el) + el.offsetHeight + 5;

        $TCTH.hoverBox.cfg.setProperty("xy", [hoverLeft, hoverTop]);
        $TCTH.hoverBox.render();
        $TCTH.hoverBox.cfg.setProperty("visible", true);
    }
}
function onTCTTOut(divId) {
    if ($TCTH.hoverBox != undefined) {
        $TCTH.hoverBox.cfg.setProperty("visible", false);
    }
}
//***************************************************
// Utilities
//***************************************************
function getElementByTagAndId(tagname, id) {
	var els = document.getElementsByTagName(tagname);
	for (var i = 0; i < els.length; i++) {
		if (els[i].id.indexOf(id) >= 0) {
			return els[i];
		}
	}
	return null;
}

/* autosuggest.js */
//***************************************************
// AUTOSUGGEST
//***************************************************
var asresultCh = null;
function checkEmptyInput(element){
    if (asresultCh != null) {
        closeMEDivs('autoSuggestMessageDiv' + element.charAt(element.length - 1));
        asresultCh = null;
    }
}
function checkASMStatus() {
    var tapcItem = document.getElementById('typeAheadPersonText');
    if (tapcItem != null) {
        if (tapcItem.value.length <= 3) {
            turnOnMEDivs('autoSuggestMessageDiv');
            var asmdItem = document.getElementById('autoSuggestMessageDiv');
            if (asmdItem != null)
                asmdItem.style.visibility = "visible";
        }
    }
}
function closeMEDivs() {
    for (var i = 0; i < closeMEDivs.arguments.length; i++) {
        var element = document.getElementById(closeMEDivs.arguments[i]);
        if (element != null)
            element.style.display = (element.style.display == "none") ? "none" : "none";
    }
}
function turnOnMEDivs() {
    for (var i = 0; i < turnOnMEDivs.arguments.length; i++) {
        var element = document.getElementById(turnOnMEDivs.arguments[i]);
        if (element != null)
            element.style.display = (element.style.display == "none") ? "" : "";
    }
}
function hideMDiv() {
    var asmdItem = document.getElementById('autoSuggestMessageDiv');
    if (asmdItem != null)
        asmdItem.style.visibility = "hidden";
}
function showMDiv() {
    var asmdItem = document.getElementById('autoSuggestMessageDiv');
    if (asmdItem != null)
        asmdItem.style.visibility = "visible";
}
function onblurTypeAheadPerson() {
    var oControl = document.getElementById('typeAheadPersonText');
    if (oControl != null && oControl.value == '') {
        var instructionText = document.getElementById("typeAheadPersonInstructionText");
        oControl.value = instructionText.value;
        oControl.className = 'typeAheadPersonStart';
    }
}

function onfocusTypeAheadPerson() {
    var oControl = document.getElementById('typeAheadPersonText');
    var instructionText = document.getElementById("typeAheadPersonInstructionText");
    if (oControl.value == instructionText.value) {
        oControl.value = '';
        oControl.className = 'typeAheadPersonNew';
    }
}

function onclickGoTypeAheadPerson() {
    var obj = document.getElementById("typeAheadPersonHidden");
    if (obj != null) {
        var hiddenPid = obj.value;
        if (hiddenPid != null && hiddenPid.length > 0) {
            return true;
        }
    }
    return false;
}

// Autosuggest textbox control
// Param1: oTextbox	- HTMLInputElement
// Param2: oContainer - 
function AutoSuggestControl(oTextbox, oContainer, oUid, oTid, oType, oHidden, fOnblur, fOnfocus, instructionText, startClass, typeClass, newClass, maxResults, fOnSelect, minQueryLen, oHidden2) {
    if (oTextbox == null)
        return;

    this.textbox = oTextbox; // which textbox we are suggesting for
    this.uid = oUid; 		// holds the id of the current user
    this.tid = oTid; 		// holds the id of the tree we need to get place suggestions from
    this.type = oType; 		// holds the type of request (e.g., "place", "name")
    this.hiddenField = oHidden; // holds the hidden input field into which we will place the value of the selected item
    this.hiddenField2 = oHidden2; // holds the 2nd hidden input field (used for the date string in personas list)
    this.myOnblur = fOnblur; // holds the method to be invoked when focus from this control is lost
    this.myOnfocus = fOnfocus; // holds the method to be invoked when focus is set to this control

    var sURL = "/pt/ajax/AutoSuggestionsHandler.ashx";
    var resultSet = ["suggestion", "name", "pid", "date", "sep"];
    if (oType != "name") {
        resultSet = ["suggestion", "place", "sep"];
    }

    var myDataSource = new YAHOO.widget.DS_XHR(sURL, resultSet);
    myDataSource.scriptQueryParam = "inp";
    myDataSource.scriptQueryAppend = "NoUcdmRedir=1&ver=" + new Date().getTime() + "&uid=" + oUid + "&tid=" + oTid + "&type=" + oType;
    myDataSource.responseType = YAHOO.widget.DS_XHR.TYPE_XML;
    myDataSource.maxCacheEntries = 0; // turn off cache while we're testing
    this.myAutoComp = new YAHOO.widget.AutoComplete(oTextbox.id, oContainer.id, myDataSource);
    this.myAutoComp.maxResultsDisplayed = 20;
    this.myAutoComp.queryDelay = 0.5;
    this.myAutoComp.useShadow = true;
    this.myAutoComp.forceSelection = (oType == "name");
    this.myAutoComp.asType = oType;
    this.myAutoComp.typeAhead = false;
    if (minQueryLen == null) // handles undefined or null
        minQueryLen = 3;
    else if (typeof minQueryLen == 'string') {
        minQueryLen = parseInt(minQueryLen, 10);
        if (isNaN(minQueryLen)) // handles empty string
            minQueryLen = 3;
    }
    this.myAutoComp.minQueryLength = minQueryLen;
    this.myAutoComp.animHoriz = false;
    this.myAutoComp.animVert = false;
    this.myAutoComp.autoHighlight = false;
    this.myAutoComp.formatResult = function(aResultItem, sQuery) {
        var x = aResultItem[0];
        var s;

        if (x != null && x != "") {
            closeMEDivs('autoSuggestErrorMessageDiv', 'autoSuggestMessageDiv');
            turnOnMEDivs('asMessageText');
            turnOnMEDivs('typeAheadPersonContainer');
            hideMDiv();
            var element = document.getElementById(oContainer.id);
            if (element != null)
                element.style.display = (element.style.display == "none") ? "" : "";

            if (this.asType == "name") {
                x = x.replace(new RegExp("\\$\\[;", "gi"), "<span class=\"autoSuggestHighlight\">"); // for hit highlighting
                x = x.replace(new RegExp("\\$\\];", "gi"), "</span>");

                var d = aResultItem[2];

                if (d == null || d.length == 0) {
                    d = "&nbsp;";
                }

                x = "<dl><dt class='autoSuggestPersonName'>" + x + "</dt>" + " <dd class='autoSuggestPersonDate'><em>" + d + "</em></dd></dl><div class='clearDiv'></div>";

                s = aResultItem[3];

                asresultCh = aResultItem[1];
            }
            else {
                s = aResultItem[1];
            }

            if (s == "1") {
                x = "<div class=\"autoSuggestSeparator\"></div>" + x;
            }

        }
        else {
            closeMEDivs('typeAheadPersonContainer');
            showMDiv();
            var elementerr = null;
            if (oContainer.id == "typeAheadPersonContainer") {
                elementerr = document.getElementById('autoSuggestErrorMessageDiv');
                if (elementerr != null)
                    elementerr.style.display = (elementerr.style.display == "none") ? "" : "";

//                closeMEDivs('autoSuggestMessageDiv');
                closeMEDivs('asMessageText');
            }
            else {
                elementerr = document.getElementById('autoSuggestErrorMessageDiv' + oContainer.id.charAt(oContainer.id.length - 1));
                if (elementerr != null)
                    elementerr.style.display = (elementerr.style.display == "none") ? "" : "";

//                closeMEDivs('autoSuggestMessageDiv' + oContainer.id.charAt(oContainer.id.length - 1));
                closeMEDivs('asMessageText');

            }

            closeMEDivs(oContainer.id);
        }
        return x;
    };

    this.myAutoComp.originalForceSelection = this.myAutoComp.forceSelection;
    this.myAutoComp.hiddenField = oHidden;
    this.myAutoComp.hiddenField2 = oHidden2;
    this.myAutoComp.textbox = oTextbox;

    this.myAutoComp.setFooter('&nbsp;'); //Need to set the footer for bottom rounded corners

    this.myAutoComp.startClass = "autoSuggestStart";
    this.myAutoComp.typeClass = "autoSuggestType";
    this.myAutoComp.newClass = "autoSuggestNew";
    if (typeof maxResults != "undefined" && maxResults != null) {
        this.myAutoComp.maxResultsDisplayed = maxResults;
    }
    if (typeof startClass != "undefined" && startClass != null) {
        this.myAutoComp.startClass = startClass;
    }
    if (typeof typeClass != "undefined" && typeClass != null) {
        this.myAutoComp.typeClass = typeClass;
    }
    if (typeof newClass != "undefined" && newClass != null) {
        this.myAutoComp.newClass = newClass;
    }
    if (typeof instructionText == "string") {
        this.myAutoComp.instructionText = instructionText;
    }
    if (oTextbox.value.length > 0) {
        if (typeof this.myAutoComp.instructionText == "undefined" || oTextbox.value != this.myAutoComp.instructionText) {
            this.myAutoComp.forceSelection = false;
            this.textbox.className = this.myAutoComp.newClass;
        }
    }
    this.myTextboxKeyEvent = function(sType, aArgs) {
        if (this.forceSelection == false) {
            this.forceSelection = this.originalForceSelection;
        }
    };
    if (typeof fOnSelect != "undefined" && fOnSelect != null) {
        this.myAutoComp.myOnSelect = fOnSelect;
    }
    this.myItemSelectEvent = function(sType, aArgs) {
		// Note: in IE if you select via the mouse wheel, sometimes YUI calls this with a corrupted event and
		// no valid selection is passed to aArgs, so check to be sure we have a valid selection
    	if (aArgs.length > 2 && typeof aArgs[2] != 'undefined') {
    		var x;
    		if (aArgs[2].length > 1 && this.hiddenField != null) {
    			this.hiddenField.value = aArgs[2][1];
    			x = aArgs[2][0];
    			if (this.asType == "name") {
    				x = x.replace(new RegExp("\\$\\[;", "gi"), ""); // for hit highlighting
    				x = x.replace(new RegExp("\\$\\];", "gi"), "");
    				if (this.hiddenField2 != null) {
    					this.hiddenField2.value = aArgs[2][2]; // the date field
    				}
    			}
    			this.textbox.value = HtmlDecode(x);
    			if (this.myOnSelect != null)
    				this.myOnSelect(aArgs[2][1]);
    		}
    		else {
    			x = aArgs[2][0];
    			this.textbox.value = HtmlDecode(x);
    		}
    	}
    	else {
    		this.textbox.value = "";
    	}
    };
    function HtmlDecode(s) {
        var div = document.createElement('div');
        div.innerHTML = s.replace(/<\/?[^>]+>/gi, '');
        return div.childNodes[0] ? div.childNodes[0].nodeValue : '';
    }
    this.mySelectionEnforceEvent = function(sType, aArgs) {
        if (this.hiddenField != null) {
            this.hiddenField.value = "";
        }
        if (this.hiddenField2 != null) {
            this.hiddenField2.value = "";
        }
    };
    this.autoSuggestOnblur = function() {
        if (this.textbox.value == '') {
            if (typeof this.instructionText != "undefined") {
                this.textbox.value = this.instructionText;
            }
            this.textbox.className = this.startClass;
            if (this.hiddenField != null) {
                this.hiddenField.value = "";
            }
            if (this.hiddenField2 != null) {
                this.hiddenField2.value = "";
            }
        }
    };

    this.autoSuggestOnfocus = function() {
        if (typeof this.instructionText != "undefined" && this.textbox.value == this.instructionText) {
            this.textbox.value = '';
            this.textbox.className = this.newClass;
        }
        else {
            this.textbox.select();
        }
    };
    this.autoSuggestDataRequestEvent = function() {
        this.textbox.className = this.typeClass;
    };
    this.autoSuggestDataReturnEvent = function() {
        this.textbox.className = this.newClass;
    };
    this.autoSuggestTreeUpdate = function(tid) {
        this.tid = tid;
        this.myAutoComp.dataSource.scriptQueryAppend = "NoUcdmRedir=1&ver=" + new Date().getTime() + "&uid=" + this.uid + "&tid=" + this.tid + "&type=" + this.type;
    };

    this.myAutoComp.textboxKeyEvent.subscribe(this.myTextboxKeyEvent);
    this.myAutoComp.itemSelectEvent.subscribe(this.myItemSelectEvent);
    this.myAutoComp.selectionEnforceEvent.subscribe(this.mySelectionEnforceEvent);
    this.myAutoComp.textboxBlurEvent.subscribe(this.autoSuggestOnblur);
    this.myAutoComp.textboxFocusEvent.subscribe(this.autoSuggestOnfocus);
    this.myAutoComp.dataRequestEvent.subscribe(this.autoSuggestDataRequestEvent);
    this.myAutoComp.dataReturnEvent.subscribe(this.autoSuggestDataReturnEvent);
    this.myAutoComp.dataErrorEvent.subscribe(this.autoSuggestDataReturnEvent);
    this.myAutoComp.unmatchedItemSelectEvent.subscribe(this.autoSuggestDataReturnEvent);
    if (this.myOnblur != null) {
        this.myAutoComp.textboxBlurEvent.subscribe(this.myOnblur);
    }
    if (this.myOnfocus != null) {
        this.myAutoComp.textboxFocusEvent.subscribe(this.myOnfocus);
    }
}
/* dialogmanagerall.js */
YAHOO.namespace("YAHOO.Ancestry.tv.lib.ancestry.dialog_manager");YAHOO.Ancestry.tv.lib.ancestry.dialog_manager.AddNodeDialog=function(a,e,d){var c=YAHOO.Ancestry.tv.tags.lib.dialog_manager.Dialog(a,e,d);var b=d;var g=e;var f=function(h){var i=YAHOO.util.Event.getTarget(h);if(i.className==="close"){c.oParent.close(c)}};YAHOO.util.Event.addListener(g,"click",f);return c};YAHOO.namespace("YAHOO.Ancestry.tv.lib.ancestry.dialog_manager");YAHOO.Ancestry.tv.lib.ancestry.dialog_manager.ClickCardDialog=function(a,e,d){var c=YAHOO.Ancestry.tv.tags.lib.dialog_manager.Dialog(a,e,d);var f=new YAHOO.util.CustomEvent("moreInfoEvent");var b=new YAHOO.util.CustomEvent("dataUpdatedEvent");c.getMoreInfoEvent=function(){return f};c.getDataUpdatedEvent=function(){return b};return c};YAHOO.namespace("YAHOO.Ancestry.tv.lib.ancestry.dialog_manager");YAHOO.Ancestry.tv.lib.ancestry.dialog_manager.Config=function(){return{sClickCardUrl:"",s_TID_TOKEN:"##tid##",s_PID_TOKEN:"##pid##"}};YAHOO.namespace("YAHOO.Ancestry.tv.tags.lib.ancestry.dialog_manager");YAHOO.Ancestry.tv.tags.lib.ancestry.dialog_manager.UrlBuilder=new function(){return{getClickCardUrl:function(c,e,d,b){var a=c.replace(e.s_TID_TOKEN,d);a=a.replace(e.s_PID_TOKEN,b);return a},getAddParentUrl:function(g,d,e){var f=g;var a=f.oAddParentConfig;var b=a.sAddParentUrl.replace(f.s_PID_TOKEN,d).replace(a.sParentTypeToken,e);return b}}};YAHOO.namespace("YAHOO.Ancestry.tv.framework.type_extensions");YAHOO.Ancestry.tv.framework.type_extensions.Object=new function(){return{equals:function(b,a){for(var c in b){if(b.hasOwnProperty(c)){if(b[c]!==a[c]){return false}}}return true}}};String.prototype.has=function(a){return this.indexOf(a)!==-1};String.prototype.hasAny=function(){var a=arguments.length,b;for(b=0;b<a;b++){if(this.has(arguments[b])){return true}}return false};String.prototype.hasAll=function(){var a=arguments.length,b,c=true;for(b=0;c&&b<a;b++){c=this.has(arguments[b])}return c};String.prototype.startsWith=function(a){return this.indexOf(a)===0};String.prototype.endsWith=function(a){return this.lastIndexOf(a)===(this.length-a.length)};String.prototype.trim=function(){return this.replace(/^\s+|\s+$/g,"")};String.prototype.replaceTokens=function(){var b=arguments,a=b.length,e="{#",f="#}",c,d=this;for(c=0;c<a;c++){d=d.replace(new RegExp(e+(c+1)+f,"g"),b[c])}return d};String.prototype.make2DigitNumber=function(){return(parseInt(this,10)<10)?("0"+this):this};YAHOO.namespace("YAHOO.Ancestry.tv.framework");YAHOO.Ancestry.tv.framework.Base=function(b){var c={};var a=-1;var e=function(j,h,l){var g=[],f=j.length,k;for(k=h;k<f;k++){g.push(l[k])}return g};var d={oParent:(typeof(b)==="string")?YAHOO.Ancestry.tv.framework.Runtime.getObject(b):b,override:function(g,h){if(!c[g]){c[g]=[]}var f=c[g].length,i=g+f;c[g][f]=i;d[i]=d[g];d[g]=h},superMethod:function(f){if(a===-1){a=c[f].length-1}var g=d[c[f][a--]].apply(d,e(arguments,1,"arguments"));a=-1;return g}};return d};YAHOO.namespace("YAHOO.Ancestry.tv.framework.ajax");YAHOO.Ancestry.tv.framework.ajax.Request=function(c,g,i,d,n,b,w){var u=YAHOO.Ancestry.tv.framework.Base(c||YAHOO.Ancestry.tv.framework.ajax.Manager);var p=g;var q=i;var t=d;var k=n||"GET";var o=b||[];var e;var h;var r=w;var m=function(){var y="";for(var x in q){if(q.hasOwnProperty(x)){if(q[x]===null){continue}if(y.length!==0){y+="&"}y+=encodeURIComponent(x)+"="+encodeURIComponent(q[x])}}return y};var s=function(){for(var x in o){if(o.hasOwnProperty(x)){e.setRequestHeader(x,o[x])}}};var f=function(){h();e=null};var l=function(x){r(x);f()};var j=function(){if(t){t(e,u)}};var a=function(x){var y={connection:x};y.toString=function(){var z=this.connection;return z.status+": "+z.statusText};return y};var v=function(){if(e&&(e.readyState===4)){if(e.status===404){l(a(e))}else{j()}}};u.send=function(z){h=z;try{var x=null;if(typeof(window.XMLHttpRequest)!=="undefined"){x=e=new XMLHttpRequest()}else{if(typeof(ActiveXObject)!=="undefined"){x=e=new ActiveXObject("Microsoft.XMLHTTP")}}if(x){x.open(k,p,true);s();x.onreadystatechange=v;x.send(m())}}catch(y){l(y)}};(function(){o["Content-Type"]="application/x-www-form-urlencoded";u.oParent.addRequest(u)})();return u};YAHOO.namespace("YAHOO.Ancestry.tv.framework.ajax");YAHOO.Ancestry.tv.framework.ajax.Manager=new function(){var c=YAHOO.Ancestry.tv.framework.Base();var a=[];var e;var b;var d=function(){b=false;f()};var f=function(){if(!b){var g=a.shift();if(g){e=g;g.send(d)}}};c.addRequest=function(g){a.push(g);f()};return c};YAHOO.namespace("YAHOO.Ancestry.tv.framework");YAHOO.Ancestry.tv.framework.Ancestry=new function(){return{isProductionSite:function(){var a=YAHOO.Ancestry.tv.framework.document.Location.getHost().split(".");if(a[0]&&"www"===a[0]){return true}return false}}};YAHOO.namespace("YAHOO.Ancestry.tv.framework");YAHOO.Ancestry.tv.framework.Html=function(g,b,c){var f=YAHOO.Ancestry.tv.framework.Base(b);var h=c||document;var e=function(){f.dElem=(typeof(g)==="string")?h.getElementById(g):g};var d=function(i){var j=i.toString();return !j.has("%","px")?(j+"px"):j};var a=function(j,i){if(i){f.style(j,d(i))}};f.left=function(i){a("left",i);var j=parseInt(f.dElem.offsetLeft,10);return !isNaN(j)?j:parseInt(f.dElem.style.left,10)};f.getAbsoluteLeft=function(){var i=f.left();var j=f.dElem.offsetParent;while(j){i+=j.offsetLeft;j=j.offsetParent}return i};f.top=function(j){a("top",j);var i=parseInt(f.dElem.offsetTop,10);return !isNaN(i)?i:parseInt(f.dElem.style.top,10)};f.getAbsoluteTop=function(){var i=f.top();var j=f.dElem.offsetParent;while(j){i+=j.offsetTop;j=j.offsetParent}return i};f.width=function(i){a("width",i);var j=parseInt(f.dElem.offsetWidth,10);return !isNaN(j)?j:parseInt(f.dElem.style.posWidth,10)};f.height=function(j){a("height",j);var i=parseInt(f.dElem.offsetHeight,10);return !isNaN(i)?i:parseInt(f.dElem.style.posHeight,10)};f.getFullWidth=function(){return parseInt(f.dElem.scrollWidth,10)};f.getFullHeight=function(){return parseInt(f.dElem.scrollHeight,10)};f.display=function(i){f.style("display",i?"block":"none")};f.show=function(i){f.style("visibility",i?"visible":"hidden")};f.isVisible=function(){return"none"!==f.style("display")&&"hidden"!==f.style("visibility")};f.style=function(i,j){if(j){YAHOO.util.Dom.setStyle(f.dElem,i,j)}return YAHOO.util.Dom.getStyle(f.dElem,i)};f.innerHTML=function(i){if(i){f.dElem.innerHTML=i}return f.dElem.innerHTML};f.value=function(i){if(typeof f.dElem.value==="undefined"){return f.innerHTML(i)}else{if(i){f.dElem.value=i}return f.dElem.value}};f.className=function(i){if(i){f.dElem.className=i}return f.dElem.className};f.addClass=function(i){YAHOO.util.Dom.addClass(f.dElem,i)};f.removeClass=function(i){YAHOO.util.Dom.removeClass(f.dElem,i)};f.appendChild=function(i,j){var k=j?(j.dElem||j):h.createElement(i);return f.dElem.appendChild(k)};f.removeChild=function(i){if(!i){return null}var j=i.dElem||i;return f.dElem.removeChild(j)};f.firstChild=function(){if(!f.dElem||!f.dElem.firstChild){return null}return YAHOO.Ancestry.tv.framework.Html(f.dElem.firstChild,f,h)};f.hitTest=function(m,k){var j=f.getAbsoluteLeft(),n=f.getAbsoluteTop(),i=f.width(),o=f.height();return(m>=j)&&(m<=(j+i))&&(k>=n)&&(k<=(n+o))};(function(){e();if(!f.dElem){YAHOO.util.Event.onAvailable(g,e)}})();return f};YAHOO.namespace("YAHOO.Ancestry.tv.framework");YAHOO.Ancestry.tv.framework.Browser=new function(){var b;var a;var c={ie:function(){return a},ie7:function(){return(c.ie()&&(b===7))}};(function(){var d=navigator;var f=d.userAgent.toLowerCase();if(f.has("msie")){var e=f.indexOf("msie")+4;b=parseInt(f.substring(e),10);a=true}})();return c};YAHOO.namespace("YAHOO.Ancestry.tv.framework");YAHOO.Ancestry.tv.framework.Runtime=new function(){var a={};return{addObject:function(b,c){if(a[b]){alert("Attempted to create duplicate runtime object with name: "+b)}else{a[b]=c}return c},setObject:function(b,c){a[b]=c},getObject:function(b){return a[b]},removeObject:function(b,d){var c=a[b];if(c&&c.destroy){c.destroy()}a[b]=null;return c}}};YAHOO.namespace("YAHOO.Ancestry.tv.framework.document");YAHOO.Ancestry.tv.framework.document.Mouse=new function(){var h=null;var f=null;var j;var m=[];var k=[];var l="mouseMove";var i="mouseDown";var c=function(o){h=o.pageX?o.pageX:o.clientX+(document.documentElement.scrollLeft?document.documentElement.scrollLeft:document.body.scrollLeft)};var b=function(o){f=o.pageY?o.pageY:o.clientY+(document.documentElement.scrollTop?document.documentElement.scrollTop:document.body.scrollTop)};var d=function(o){j.setMouseCoordinates(o)};var n=function(p){j.setMouseCoordinates(p);var o=k[i];if(o){for(var q in o){if(o.hasOwnProperty(q)){o[q](j)}}}};var a=function(r,t,q){if(!m[r]){m[r]=[]}var p=m[r];for(var s=0,o=p.length;s<o;s++){if(p[s]===t){return}}p[o]=t;if(q){if(!k[r]){k[r]=[]}k[r][t]=q}};var g=function(p,s){var r=m[p];var q,o;if(r){m[p]=[];for(q=0,o=r.length;q<o;q++){if(r[q]!==s){m[p][m.length]=r[q]}}}r=k[p];if(r){k[p]=[];for(q=0,o=r.length;q<o;q++){if(r[q]!==s){k[p][k.length]=r[q]}}}};var e=function(o){return m[o]?m[o].length:false};j={isLeftClick:function(o){return !(o.metaKey||o.which>1||o.button>1)},getMouseX:function(){return h},getMouseY:function(){return f},setMouseCoordinates:function(o){c(o);b(o)},captureMouseMove:function(p,o){if(!e(l)){YAHOO.util.Event.addListener(document,"mousemove",d)}a(l,p);if(o){j.setMouseCoordinates(o)}},endCaptureMouseMove:function(o){g(l,o);if(!e(l)){YAHOO.util.Event.removeListener(document,"mousemove",d)}},captureMouseDown:function(p,o){if(!e(i)){YAHOO.util.Event.addListener(document,"mousedown",n)}a(i,p,o)},endCaptureMouseDown:function(o){g(i,o);if(!e(i)){YAHOO.util.Event.removeListener(document,"mouseDown",n)}}};return j};YAHOO.namespace("YAHOO.Ancestry.tv.framework.document");YAHOO.Ancestry.tv.framework.document.Utils=new function(){var d;var b=YAHOO.Ancestry.tv.framework.document.Dimensions;var e=false;var f=function(){var g=document.body.appendChild(document.createElement("div"));d=YAHOO.Ancestry.tv.framework.Html(g);d.show(false);d.className("tv_ui_layer_canvas_overlay_opaque_div");d.style("z-index","999")};var a=function(g,j,i){var h=g.indexOf(i,j);if(-1===h){h=g.length}return g.substring(j,h)};var c=YAHOO.Ancestry.tv.framework.Base();c.disableDoc=function(){if(!d){f()}var j=YAHOO.util.Dom;var g=j.getDocumentWidth();var i=j.getDocumentHeight();this.enableScrolling(false);d.width(g);d.height(i);d.show(true);e=true};c.enableDoc=function(){d.show(false);this.enableScrolling(true);e=false};c.enableScrolling=function(g){document.body.style.overflow=(g)?"":"hidden";document.body.scroll=(g)?"":"no"};c.docDisabled=function(){return e};c.getCookie=function(o){var k=document.cookie;var h=o.toLowerCase()+"=";var n=h.length;var g=k.length;var m=0;while(m<g){var l=m+n;if(k.substring(m,l).toLowerCase()===h){return a(k,l,";")}m=k.indexOf(" ",m)+1;if(0===m){break}}return null};c.setSessionCookie=function(h,g){if(!h||0>=h.length){return}document.cookie=h+"="+g+"; path=/;"};return c};YAHOO.namespace("YAHOO.Ancestry.tv.framework.util");YAHOO.Ancestry.tv.framework.util.Id=new function(){return{generateUniqueId:function(){return(new Date()).getTime().toString()}}};YAHOO.namespace("YAHOO.Ancestry.tv.framework.html.effects");YAHOO.Ancestry.tv.framework.html.effects.Fade=function(k,c,d,h){var m=k;var a=c;var n=d;var e=100;var g=h||500;var j=parseInt(g/e,10);var l=function(o){var p=document.all?"filter":"MozOpacity";var q=document.all?("Alpha(Opacity="+parseInt(o*100,10)+")"):o;m.style(p,q);m.style("opacity",o)};var b=function(){if(document.all){m.style("filter","")}else{m.style("MozOpacity","1")}m.style("opacity","1")};var i=function(o){m.show(o);if(!document.all){b()}if(n){n()}};var f=function(){if(a){l(0)}else{l(1)}m.show(true);var p=a?0:j;var o=function(){if((p===0)&&!a){i()}else{if((p===j)&&a){i(true)}else{if(a){p++}else{p--}l(p/j);setTimeout(o,e)}}};setTimeout(o,e)};(function(){if(document.all){i(a)}else{f()}})()};YAHOO.namespace("YAHOO.Ancestry.tv.tags.lib.dialog_manager");YAHOO.Ancestry.tv.tags.lib.dialog_manager.Dialog=function(a,e,d){var c=YAHOO.Ancestry.tv.framework.Html(e,a);var b=d;c.getId=function(){return b};(function(){c.style("position","absolute");c.style("z-index",1000);c.show(false)}());return c};YAHOO.namespace("YAHOO.Ancestry.tv.tags.lib.dialog_manager");YAHOO.Ancestry.tv.tags.lib.dialog_manager.Request=function(f,i,a,b,c,g){var e=function(j){alert("Dialog manager AJAX exception: "+j.toString())};var d=YAHOO.Ancestry.tv.framework.ajax.Request(null,i,a,b,c,g,e);var h=f;d.getId=function(){return h}};YAHOO.namespace("YAHOO.Ancestry.tv.tags.lib.dialog_manager.dialog");YAHOO.Ancestry.tv.tags.lib.dialog_manager.dialog.Config=function(){return{sUrl:"",fClass:YAHOO.Ancestry.tv.tags.lib.dialog_manager.Dialog,iLeft:0,iTop:0,iWidth:640,iHeight:480,iBuffer:25,iBufferLayerSize:0,oCallingElement:null,oBoundingElement:null,bScrollDialogIntoView:true,fScrollIntoView:null,eCloseType:null,ePosition:null,iPositionBuffer:null,fPosition:null,eRenderEffect:null,sHTML:null,iZIndex:null}};YAHOO.namespace("YAHOO.Ancestry.tv.tags.lib.dialog_manager");YAHOO.Ancestry.tv.tags.lib.dialog_manager.CLOSE_TYPE_ENUM=new function(){this.NONE=0;this.MOUSEOUT=1;this.MOUSEOUT_BUFFER=2;this.EXTERNAL=3;this.CLICK=4};YAHOO.namespace("YAHOO.Ancestry.tv.tags.lib.dialog_manager");YAHOO.Ancestry.tv.tags.lib.dialog_manager.POSITION_ENUM=new function(){this.TOP_LEFT=1;this.ABOVE=2;this.BELOW=3;this.CENTERED=4;this.FUNCTION=5;this.TOP_LEFT_FIT_OR_TOP_RIGHT=6};YAHOO.namespace("YAHOO.Ancestry.tv.tags.lib.dialog_manager");YAHOO.Ancestry.tv.tags.lib.dialog_manager.DIALOG_TYPE_ENUM=new function(){this.DEFAULT=1;this.MODAL=2};YAHOO.namespace("YAHOO.Ancestry.tv.tags.lib.dialog_manager");YAHOO.Ancestry.tv.tags.lib.dialog_manager.RENDER_EFFECT_ENUM=new function(){this.NONE=1;this.FADE=2};YAHOO.namespace("YAHOO.Ancestry.tv.tags.ui");YAHOO.Ancestry.tv.tags.ui.Coords=function(f,e,h,i){var c=parseInt(f,10);var b=parseInt(e,10);var g=parseInt(h,10);var a=parseInt(i,10);var d={left:function(j){if(j){c=parseInt(j,10)}return c},top:function(j){if(j){b=parseInt(j,10)}return b},right:function(j){if(j){g=parseInt(j,10)}return g},bottom:function(j){if(j){a=parseInt(j,10)}return a},getRect:function(){return"rect("+b+"px,"+g+"px,"+a+"px,"+c+"px)"},getWidth:function(){return g-c},getHeight:function(){return a-b},fromRect:function(l){var m=l.substr(l.indexOf("(")+1);m=m.substring(0,m.lastIndexOf(")"));m=m.split(",");for(var k=0,j=m.length;k<j;k++){m[k]=(m[k].substring(0,m[k].lastIndexOf("px"))).trim()}b=parseInt(m[0],10);g=parseInt(m[1],10);a=parseInt(m[2],10);c=parseInt(m[3],10);return d}};return d};YAHOO.namespace("YAHOO.Ancestry.tv.tags.ui");YAHOO.Ancestry.tv.tags.ui.Clip=function(b,d,e,c){var a=YAHOO.Ancestry.tv.tags.ui.Coords(b,d,e,c);a.move=function(g,f){a.left(a.left()-g);a.top(a.top()-f);a.right(a.right()+g);a.bottom(a.bottom()+f)};a.expand=function(g,f){a.left(a.left()+g);a.top(a.top()+f);a.right(a.right()+g);a.bottom(a.bottom()+f)};a.isVisible=function(f){return((f.left()>=a.left())&&(f.right()<=a.right())&&(f.top()>=a.top())&&(f.bottom()<=a.bottom()))};return a};YAHOO.namespace("YAHOO.Ancestry.tv.lib");YAHOO.Ancestry.tv.lib.DialogManager=function(){var y=YAHOO.Ancestry.tv.framework.Base();var g={};var p={};var s={};var j=YAHOO.Ancestry.tv.framework.document.Mouse;var e=YAHOO.Ancestry.tv.tags.lib.dialog_manager.CLOSE_TYPE_ENUM;var i=YAHOO.Ancestry.tv.tags.lib.dialog_manager.RENDER_EFFECT_ENUM;var t=YAHOO.Ancestry.tv.tags.lib.dialog_manager.DIALOG_TYPE_ENUM;var u=YAHOO.Ancestry.tv.tags.lib.dialog_manager.POSITION_ENUM;var k=YAHOO.Ancestry.tv.framework.document.Utils;var b=new YAHOO.util.CustomEvent("dialogClosed");var r=function(C){var B=C.oCallingElement;if(B&&!B.dElem){C.oCallingElement=YAHOO.Ancestry.tv.framework.Html(B)}var A=C.oBoundingElement;if(A&&!A.dElem){C.oBoundingElement=YAHOO.Ancestry.tv.framework.Html(A)}};var l=function(K){var I=p[K];var H=g[K];var G=I.oCallingElement;var F=I.oBoundingElement;var A=I.ePosition;var J=I.iPositionBuffer||0;var C=F?G.left():G?G.getAbsoluteLeft():0;var L=F?G.top():G?G.getAbsoluteTop():0;switch(A){case u.TOP_LEFT:break;case u.ABOVE:L-=H.height()+J;break;case u.BELOW:L+=G.height()+H.height()+J;break;case u.CENTERED:if(!F&&!G){var E=YAHOO.Ancestry.tv.framework.document.Dimensions;var D=YAHOO.util.Dom;C=D.getViewportWidth()/2+E.getScrollLeft();L=D.getViewportHeight()/2+E.getScrollTop()}C-=H.width()/2;L-=H.height()/2;break;case u.FUNCTION:return I.fPosition(I);case u.TOP_LEFT_FIT_OR_TOP_RIGHT:var B=YAHOO.util.Dom.getViewportWidth()+YAHOO.util.Dom.getDocumentScrollLeft();var M=C+H.width();if(M>B){C-=(H.width()-(G?G.getFullWidth():0))}break;default:break}return{left:C,top:L}};var m=function(C,B){var D=g[C];D.innerHTML(B);var A=l(C);D.left(A.left);D.top(A.top)};var z=function(A){var B=g[A];var C=p[A];if(C.eDialogType===t.MODAL){k.disableDoc()}if(C.eRenderEffect===i.FADE){YAHOO.Ancestry.tv.framework.html.effects.Fade(B,true)}else{B.show(true)}};var a=function(H){var F=p[H];var E=g[H];var K=F.iBufferLayerSize;var A=F.oCallingElement;var C=A.getAbsoluteLeft()-K,J=A.getAbsoluteTop()-K,G=E.width()+2*K,D=E.height()+2*K;var B=YAHOO.Ancestry.tv.tags.ui.Clip(C,J,C+G,J+D);j.captureMouseMove(E);var I=function(){if(c(j.getMouseX(),j.getMouseY(),B)){s[H]=setTimeout(I,100)}else{j.endCaptureMouseMove(y);y.close(E)}};setTimeout(I,100)};var q=function(C){var B=C.getId();var A=p[B];switch(A.eCloseType){case e.NONE:break;case e.EXTERNAL:break;case e.MOUSEOUT:break;case e.MOUSEOUT_BUFFER:a(B);break;case e.CLICK:YAHOO.Ancestry.tv.framework.document.Mouse.captureMouseDown(g[B],o);break;default:break}};var f=function(B){var F=p[B];var E=g[B];var D=function(){q(E)};if(F.fScrollIntoView){var A=E.left();var C=E.top();F.fScrollIntoView(YAHOO.Ancestry.tv.tags.ui.Coords(A,C,A+E.width(),C+E.height()),D)}else{if(F.bScrollDialogIntoView){E.dElem.scrollIntoView();D()}else{D()}}};var h=function(A,B){var C=B.getId();m(C,A.responseText);z(C);f(C)};var n=function(E){var D=YAHOO.Ancestry.tv.framework.util.Id.generateUniqueId();var C=p[D]=E;var B=C.oBoundingElement;var A=B?B.appendChild("div"):document.body.appendChild(document.createElement("div"));g[D]=C.fClass(y,A,D);return g[D]};var x=function(A){var C=g[A];var D=p[A];b.fire(C);var B=function(){v(A)};if(D.eDialogType===t.MODAL){k.enableDoc()}if(D.eRenderEffect===i.FADE){YAHOO.Ancestry.tv.framework.html.effects.Fade(C,false,B)}else{C.show();B()}};var o=function(B){for(var A in g){if(g.hasOwnProperty(A)){if(g[A]&&g[A].isVisible()){if(p[A].eCloseType===e.CLICK){if(!g[A].hitTest(B.getMouseX(),B.getMouseY())){x(A)}}}}}};var v=function(A){var C=g[A];var D=p[A];if(!C||!D){return}var B=D.oBoundingElement;if(B){B.removeChild(C)}else{document.body.removeChild(C.dElem)}if(D.eCloseType===e.CLICK){YAHOO.Ancestry.tv.framework.document.Mouse.endCaptureMouseDown(C,o)}g[A]=p[A]=null};var c=function(D,C,F){var B=F.left(),E=F.top(),G=F.right(),A=F.bottom();return(D>=B)&&(D<=G)&&(C>=E)&&(C<=A)};var d=function(A){clearTimeout(s[A.getId()])};var w=function(A,C){var B=C;if(B.iWidth){A.width(B.iWidth)}if(B.iHeight){A.height(B.iHeight)}m(A.getId(),B.sHTML);q(A);z(A.getId())};y.getDialogClosedEvent=function(){return b};y.display=function(C){r(C);var A=n(C);var B=C;if(B.iZIndex){A.style("z-index",B.iZIndex)}if(B.sHTML){w(A,B)}else{YAHOO.Ancestry.tv.tags.lib.dialog_manager.Request(A.getId(),B.sUrl,{},h)}return A};y.dialogResized=function(A){d(A);q(A)};y.close=function(A){x(A.getId())};return y};YAHOO.namespace("YAHOO.Ancestry.tv.lib.ancestry");YAHOO.Ancestry.tv.lib.ancestry.DialogManager=function(){return YAHOO.Ancestry.tv.lib.ancestry.DialogManager.singleton};YAHOO.Ancestry.tv.lib.ancestry.DialogManager.singleton=new function(){var d=YAHOO.Ancestry.tv.lib.DialogManager();var c;var f;var b;var a=YAHOO.Ancestry.tv.tags.lib.dialog_manager.POSITION_ENUM;var i={personDeleted:null,personRelationshipCreated:null,personUpdated:null};var g=function(){};var h=function(){};var e=function(j,k){if(b&&(k[0]===f)){b()}};d.setConfig=function(j){c=j};d.getConfig=function(){return c};d.displayClickCardDialog=function(k,m,s,n,o,p,l,r){d.closeClickCardDialog();b=r;var q=c.oClickCardConfig;var j=q.sUrl;q.sUrl=YAHOO.Ancestry.tv.tags.lib.ancestry.dialog_manager.UrlBuilder.getClickCardUrl(q.sUrl,c,k,m);q.fClass=YAHOO.Ancestry.tv.lib.ancestry.dialog_manager.ClickCardDialog;q.oCallingElement=s;q.oBoundingElement=n;q.fScrollIntoView=o;q.ePosition=(p===null)?a.TOP_LEFT_FIT_OR_TOP_RIGHT:p;q.fPosition=l;f=d.display(q);q.sUrl=j;f.getMoreInfoEvent().subscribe(g);f.getDataUpdatedEvent().subscribe(h)};d.displayAddNodeDialog=function(k){var j=k;j.fClass=YAHOO.Ancestry.tv.lib.ancestry.dialog_manager.AddNodeDialog;j.ePosition=a.CENTERED;j.eRenderEffect=YAHOO.Ancestry.tv.tags.lib.dialog_manager.RENDER_EFFECT_ENUM.FADE;j.eDialogType=YAHOO.Ancestry.tv.tags.lib.dialog_manager.DIALOG_TYPE_ENUM.MODAL;d.display(j)};d.clickCardDialogResized=function(){d.dialogResized(f)};d.closeClickCardDialog=function(){if(f){try{d.close(f)}catch(j){}finally{f=null}}};d.events={getPersonDeletedEvent:function(){return i.personDeleted||(i.personDeleted=new YAHOO.util.CustomEvent("personDeleted",d,true,YAHOO.util.CustomEvent.FLAT))},getPersonRelationshipCreatedEvent:function(){return i.personRelationshipCreated||(i.personRelationshipCreated=new YAHOO.util.CustomEvent("personRelationshipCreated",d,true,YAHOO.util.CustomEvent.FLAT))},getPersonUpdatedEvent:function(){return i.personUpdated||(i.personUpdated=new YAHOO.util.CustomEvent("personUpdated",d,true,YAHOO.util.CustomEvent.FLAT))}};(function(){d.getDialogClosedEvent().subscribe(e)})();return d};
/* treedialogs.js */
if("undefined"===typeof($trees.dialogManager)){$trees.dialogMask=new function(){var d=YAHOO.util.Dom;var c={zIndex:1100};var b=null;var a=false;var e=function(){b=document.createElement("div");d.addClass(b,"genericDialog_mask");d.setStyle(b,"display","none");d.setStyle(b,"opacity",0.7);document.body.appendChild(b);c.zIndex=d.getStyle(b,"z-index");if("number"!=typeof(c.zIndex)){c.zIndex=1100;d.setStyle(b,"z-index",c.zIndex)}};c.close=function(){d.setStyle(b,"display","none");c.enableScrolling(true);a=false};c.isOpen=function(){return a};c.open=function(){if(!b){e()}c.enableScrolling(false);d.setStyle(b,"width",(d.getDocumentWidth()+d.getDocumentScrollLeft())+"px");d.setStyle(b,"height",(d.getDocumentHeight()+d.getDocumentScrollTop())+"px");d.setStyle(b,"display","block");a=true};c.enableScrolling=function(f){};return c};$trees.dialogManager=new function(){var b=YAHOO.Ancestry.tv.lib.ancestry.DialogManager();var c=function(d){d.argument.success(d.responseText)};var a=function(d){d.argument.failure(d)};b.dialogMask=$trees.dialogMask;b.reloadPage=function(){window.location.replace(window.location.pathname+(window.location.search||""))};b.requestDialogHtml=function(d,f,e){var g={success:c,failure:a,timeout:3000,argument:{success:f,failure:e}};YAHOO.util.Connect.asyncRequest("get",d,g)};(function(){if(b.events&&b.events.getPersonRelationshipCreatedEvent){b.events.getPersonRelationshipCreatedEvent().subscribe(function(d){var e=b.events.getPersonRelationshipCreatedEvent();if(e&&e.subscribers&&1===e.subscribers.length){b.reloadPage()}})}if(b.events&&b.events.getPersonDeletedEvent){b.events.getPersonDeletedEvent().subscribe(function(d){var e=b.events.getPersonDeletedEvent();if(e&&e.subscribers&&1===e.subscribers.length){b.reloadPage()}})}if(b.events&&b.events.getPersonUpdatedEvent){b.events.getPersonUpdatedEvent().subscribe(function(e){var d=b.events.getPersonUpdatedEvent();if(d&&d.subscribers&&1===d.subscribers.length){b.reloadPage()}})}})();return b}}$trees.preview={featureNotImplemented:function(){alert($trees.res.getString("g.previewFeatureNotImplemented"))}};
/* addfamilydialog.js */
if("undefined"===typeof($trees.dialogManager.addFamilyDialog)){$trees.dialogManager.addFamilyDialog=new function(){var g={};var i=YAHOO.util.Dom;var l=YAHOO.util.Event;var c=null;var d=null;var j=false;var e=function(n,m){var o=i.get(n);if(o){o.innerHTML=m}};var b=function(o){var n=$trees.dialogManager;n.dialogMask.open();d=new YAHOO.widget.Overlay(o,{constraintoviewport:true,close:false,modal:true,underlay:"none",zIndex:n.dialogMask.zIndex+1});var m=d.render(document.body);d.center();a();return m};var a=function(){if(!d){return}if("function"===typeof(AutoSuggestControl)){return}};var k=function(n){var m=document.createElement("div");e(m,n);b(m);j=false};var h=function(m){j=false};var f=function(m){if(j||!m){return}g.hide(true);$trees.legacyAddDialog.addPerson(m.tid||"",m.pid||"",m.sid||"",m.rel||"",m.msg||"","",m.ret||"",m.pg||"",m.gender||null)};g.addBrother=function(m){if(m){m.gender="M";this.addSibling(m)}};g.addChild=function(m){if(m){m.rel="c";f(m)}};g.addFather=function(m){if(m){m.rel="f";f(m)}};g.addHusband=function(m){if(m){m.rel="h";f(m)}};g.addMother=function(m){if(m){m.rel="m";f(m)}};g.addRelation=function(m){if(m&&m.rel){f(m)}};g.addSibling=function(m){if(m){m.rel="s";f(m)}};g.addSister=function(m){if(m){m.gender="F";this.addSibling(m)}};g.addWife=function(m){if(m){m.rel="w";f(m)}};g.choose=function(n){if(j||!n){return}j=true;g.hide(true);var m=c?("http://"+c):"/fz/command.ashx?op=dialog&dialog=addfamily&tid="+encodeURIComponent(n.tid||"")+"&pid="+encodeURIComponent(n.pid||"")+"&sid="+encodeURIComponent(n.sid||"");$trees.dialogManager.requestDialogHtml(m,k,h)};g.hide=function(m){$trees.legacyAddDialog.hide(m);if(d){d.destroy();d=null;if(!m){$trees.dialogMask.close()}}};return g};$trees.dialogManager.addFamilyDialog.RelationType={FATHER:1,MOTHER:2,BROTHER:3,SISTER:4,SPOUSE:5,CHILD:6};$trees.addFamilyDialog=$trees.dialogManager.addFamilyDialog;$trees.legacyAddDialog=new function(){var oThis={};var yDom=YAHOO.util.Dom;var yEvent=YAHOO.util.Event;var m_dialogManager=$trees.dialogManager;var m_relationshipChangeEvent=(m_dialogManager.events&&m_dialogManager.events.getPersonRelationshipCreatedEvent)?m_dialogManager.events.getPersonRelationshipCreatedEvent():null;var formObj=null;var bdControl=null;var ddControl=null;var bpControl=null;var dpControl=null;var ValidateAddPerson=function(formId){var firstname;var lastname;var nameMsg;var badChar;var xmlData;var isoData;if(!formId){formId="FormAddPerson"}formObj=yDom.get(formId);var fname=(formObj.fname!=null?formObj.fname:formObj.fname_cn);var lname=(formObj.lname!=null?formObj.lname:formObj.lname_cn);if(fname.value!=null&&typeof fname.value!="undefined"){fname.value=fname.value.replace(/^\s+|\s+$/gi,"")}if(lname.value!=null&&typeof lname.value!="undefined"){lname.value=lname.value.replace(/^\s+|\s+$/gi,"")}if(fname.value==""&&lname.value==""){alert(rs_enterName);return false}if(fname.value.length>0){firstname=fname.value.toLowerCase();badChar=checkForInvalidChar(firstname);if(badChar.length>0){alert(errorNameInvalidChar+" "+badChar);fname.focus();return false}}if(lname.value.length>0){lastname=lname.value.toLowerCase();badChar=checkForInvalidChar(lastname);if(badChar.length>0){alert(errorNameInvalidChar+" "+badChar);lname.focus();return false}if(typeof(v_isJiapuCNSite)=="undefined"){nameMsg=validateSurname(lastname,"",v_husbandSurname)}else{nameMsg=""}if(nameMsg.length>0){if(addPersonBasePage==null||addPersonBasePage=="undefined"||addPersonBasePage!="PersonJiapu"){if(!confirm(warnLastName+"\n\n"+nameMsg+"\n\n"+warnStillUseIt)){lname.focus();return false}}}}if(formObj.genderRadio!=null){if(!formObj.genderRadio[0].checked&&!formObj.genderRadio[1].checked&&!formObj.genderRadio[2].checked){alert(rs_pleaseSelectGender);return false}}if(bdControl!=null){xmlData=null;isoData=null;bdControl.validate();xmlData=bdControl.getXMLData();isoData=bdControl.getISOData();if(bdControl.validationPass){formObj.bdate.value=isoData}else{formObj.bdate.value="";if(!confirm(badBirthDate+"\n\n"+isoData+"\n\n"+warnStillUseIt)){return false}}}if(ddControl!=null){xmlData=null;isoData=null;ddControl.validate();xmlData=ddControl.getXMLData();isoData=ddControl.getISOData();if(ddControl.validationPass){formObj.ddate.value=isoData}else{formObj.ddate.value="";if(!confirm(badDeathDate+"\n\n"+isoData+"\n\n"+warnStillUseIt)){return false}}}badBirthDate=false;var ddateValue=(formObj.ddate!=null)?formObj.ddate.value:"";var results=validDate(formObj.bdate.value,"birth","",ddateValue,v_motherBirth,v_motherDeath,v_fatherBirth,v_fatherDeath,true);var resultsD=new Array(2);if(results[0]!=108){if(formObj.ddate!=null){resultsD=validDate(formObj.ddate.value,"death",formObj.bdate.value,"",v_motherBirth,v_motherDeath,v_fatherBirth,v_fatherDeath,true)}else{resultsD[0]=0;resultsD[1]=""}}else{resultsD[0]=107;resultsD[1]=warnDateBeforeBirth;results[0]=0;results[1]=""}if(resultsD[0]!=0||results[0]!=0){if(resultsD[0]!=0){if(results[0]!=0){badBirthDate=true;results[1]=results[1]+"\n\n"+resultsD[1]}else{results[1]=resultsD[1]}}if(!confirm(warnDateMayBeWrong+"\n\n"+results[1]+"\n\n"+warnStillUseIt)){if(badBirthDate){if(formObj.bdate!=null&&(!yDom.get("bdatecontainer"))){formObj.bdate.focus()}}else{if(formObj.ddate!=null&&(!yDom.get("ddatecontainer"))){formObj.ddate.focus()}}return false}}if(bdControl!=null){formObj.bdate.value=bdControl.xmlEncode(bdControl.getXMLData())}if(ddControl!=null){formObj.ddate.value=ddControl.xmlEncode(ddControl.getXMLData())}if(bpControl!=null&&yDom.get("bplaceControlContainer")){formObj.bplace.value=bpControl.xmlEncode(bpControl.getXMLData())}if(dpControl!=null&&yDom.get("dplaceControlContainer")){formObj.dplace.value=dpControl.xmlEncode(dpControl.getXMLData())}if(formObj.invite!=null&&formObj.emailAddress!=null&&formObj.invite.checked&&formObj.emailAddress.value!=""){if(!isEmailFormatOkay(formObj.emailAddress.value)){alert(rs_msgErrInvalidEmail);return false}}return true};var v_husbandSurname="";var v_motherBirth="";var v_motherDeath="";var v_fatherBirth="";var v_fatherDeath="";var initVariables=function(husbandSurname,motherBirth,motherDeath,fatherBirth,fatherDeath){v_husbandSurname=husbandSurname;v_motherBirth=motherBirth;v_motherDeath=motherDeath;v_fatherBirth=fatherBirth;v_fatherDeath=fatherDeath};var isEmailFormatOkay=function(email){if(email.length>5){if(email.indexOf("@")>0){if(email.indexOf("@")==email.lastIndexOf("@")){if(email.indexOf(".")>0){if(email.lastIndexOf(".")<email.length-2){if(email.indexOf("@")<email.lastIndexOf(".")-1){if(email.indexOf(" ")==-1){return true}}}}}}}return false};var isSaveClicked=false;var SaveClicked=function(){isSaveClicked=true};var showInviteEmail=function(){if(isSaveClicked==false){var attributes={height:{from:0,to:5,unit:"em"}};var anim1=new YAHOO.util.Anim("emailArea",attributes,0.75,YAHOO.util.Easing.easeBoth);var attributes2={height:{from:5,to:0,unit:"em"}};var anim2=new YAHOO.util.Anim("emailArea",attributes2,0.75,YAHOO.util.Easing.easeBoth);var bdateTB=yDom.get("bdate");var birthYear="";var validYear=new Array();validYear=validDateSimple(bdateTB.value);if(validYear[0]==0){birthYear=validYear[1]}var ddateTB=yDom.get("ddate");var emailArea=yDom.get("emailArea");var today=new Date();var ageVal=today.getFullYear()-parseInt(birthYear);if(emailArea!=null&&typeof emailArea!="undefined"){if(ageVal<=100&&ddateTB.value==""&&emailArea.style.display=="none"){emailArea.style.display="block";anim1.animate()}else{if(ageVal>100||bdateTB.value==""||ddateTB.value!=""){anim2.animate();setTimeout(function(){emailArea.style.display="none"},775)}}}}else{isSaveClicked=false}};var checkEmail=function(){showInviteEmail();var el=yDom.get("emailAddress");var inviteBox=yDom.get("invite");if(el!=null&&inviteBox!=null){formObj=yDom.get("FormAddPerson");if(formObj.ddate.value!=null&&formObj.ddate.value!=""){inviteBox.disabled=true}else{inviteBox.disabled=false;if((inviteBox.checked)&&(formObj.ddate.value==null||formObj.ddate.value=="")){el.style.backgroundColor="";el.disabled=false}else{el.style.backgroundColor="#CCCCCC";el.disabled=true}}}};var initCheckBox=function(){var el=yDom.get("emailAddress");if(typeof el!="undefined"&&el!=null){el.style.backgroundColor="#CCCCCC";el.disabled=true}};yEvent.addListener(window,"load",initCheckBox);var emailAddressDisplay=function(){var elEmail=yDom.get("emailAddress");var elInvite=yDom.get("invite");if(elEmail!=null&&elInvite!=null){if(yDom.get("ddate").value.length>0||yDom.get("dplace").value.length>0){elEmail.disabled=true;elEmail.style.backgroundColor="#CCCCCC";yDom.get("emailAddressDiv").style.color="#999999";elInvite.disabled=true;elInvite.checked=false}else{elEmail.disabled=false;elEmail.style.backgroundColor="";yDom.get("emailAddressDiv").style.color="";elInvite.disabled=false;elInvite.checked=true}}};var onAddPersonLoad=function(canEdit,uid,tid,autoSuggestPlace,setFocus){typeAheadSetup(uid,tid,autoSuggestPlace);if(yDom.get("bdatecontainer")){yDom.get("bdate").style.display="none";bdControl=new DateXmlControl();bdControl.defaultvalue=bdControl.xmlDecode(yDom.get("bdate").getAttribute("value"));bdControl.container="bdatecontainer";bdControl.init()}if(yDom.get("ddatecontainer")){yDom.get("ddate").style.display="none";ddControl=new DateXmlControl();ddControl.defaultvalue=ddControl.xmlDecode(yDom.get("ddate").getAttribute("value"));ddControl.container="ddatecontainer";ddControl.init()}if(yDom.get("bplaceControlContainer")){yDom.get("bplace").style.display="none";bpControl=new PlaceXmlControl();bpControl.defaultvalue=bpControl.xmlDecode(yDom.get("bplace").getAttribute("value"));bpControl.container="bplaceControlContainer";bpControl.init()}if(yDom.get("dplaceControlContainer")){yDom.get("dplace").style.display="none";dpControl=new PlaceXmlControl();dpControl.defaultvalue=dpControl.xmlDecode(yDom.get("dplace").getAttribute("value"));dpControl.container="dplaceControlContainer";dpControl.init()}yEvent.addListener("invite","onclick",emailAddressDisplay);if(setFocus){if(yDom.get("fname")!=null){if(formObj==undefined){formObj=yDom.get("FormAddPerson")}formObj.fname.focus()}if(yDom.get("fname_cn")!=null){if(formObj==undefined){formObj=yDom.get("FormAddPerson")}formObj.fname_cn.focus()}}};var typeAheadSetup=function(uid,tid,autoSuggestPlace){var oTextbox;if(yDom.get("bplace")!=null){oTextbox=new AutoSuggestControl(yDom.get("bplace"),yDom.get("bplaceContainer"),uid,tid,autoSuggestPlace,null,null,null,"","","","")}if(yDom.get("dplace")!=null){oTextbox=new AutoSuggestControl(yDom.get("dplace"),yDom.get("dplaceContainer"),uid,tid,autoSuggestPlace,null,null,null,"","","","")}};var inAddPersonDlgSetup=false;var addPersonBasePage=null;var m_personaInfo={tid:"",pid:"",sid:"",rel:""};var addPerson=function(tid,pid,sid,rel,msg,basePage,ret,pg,gender){if(!inAddPersonDlgSetup){m_personaInfo={tid:tid,pid:pid,sid:sid,rel:rel};inAddPersonDlgSetup=true;addPersonBasePage=basePage?basePage:null;var genderParm=gender?("&gender="+encodeURIComponent(gender)):"";var apUrl="/pt/AddPerson.aspx?tid="+encodeURIComponent(tid)+"&pid="+encodeURIComponent(pid)+"&sid="+encodeURIComponent(sid?sid:"")+"&rel="+encodeURIComponent(rel?rel:"")+"&msg="+encodeURIComponent(msg?msg:"")+"&dlg=1"+genderParm;if(typeof ret!="undefined"&&ret!=null){apUrl+="&ret="+ret}if(typeof pg!="undefined"&&pg!=null){apUrl+="&pg="+pg}YAHOO.util.Connect.asyncRequest("GET",apUrl,callback);if(yDom.get("panel1")!=null){yDom.get("panel1").style.display="none"}s=s_gi(s_account);s.pageName="PT:AddPersonModal:"+rel;s_pageName="PT:AddPersonModal:"+rel;s.t()}};var callback={success:function(o){inAddPersonDlgSetup=false;var apd1=o.responseText.indexOf('<div id="modalAdd">');var apd2=o.responseText.indexOf('</div id="endModalAdd">');var apDlg=o.responseText.substring(apd1,apd2+23);var initVariablesLoc=o.responseText.indexOf("initVariables(");var initVariablesEnd=o.responseText.indexOf(")",initVariablesLoc);var vars=splitArgs(o.responseText.substring(initVariablesLoc+14,initVariablesEnd));initVariables(vars[0],vars[1],vars[2],vars[3],vars[4]);var addPersonDiv=document.createElement("div");addPersonDiv.setAttribute("id","addPersonDlg");addPersonDiv.setAttribute("style","display:none;");yDom.addClass(addPersonDiv,"addperson-panel");var contentDiv=document.createElement("div");contentDiv.setAttribute("id","addPersonContent");contentDiv.innerHTML=apDlg;addPersonDiv.appendChild(contentDiv);document.getElementsByTagName("body")[0].appendChild(addPersonDiv);initAddPersonDlg();yDom.get("addPersonDlg").style.display="";$NS.addPersonDlg.cfg.setProperty("visible",true);yDom.setStyle("register","top","-372px");yDom.removeClass("save","dim");var cntr=yDom.get("addPersonDlg_c");if(cntr){cntr.style.zIndex="1199"}var mask=yDom.get("addPersonDlg_mask");if(mask){mask.style.zIndex="1199"}},failure:function(o){inAddPersonDlgSetup=false;if($NS&&$NS.addPersonDlg){$NS.addPersonDlg.setHeader('<div class="tl"></div><h3>An Error Occurred</h3><div class="tr"></div>');$NS.addPersonDlg.setBody(o.responseText);$NS.addPersonDlg.setFooter(' <div class="bl"></div><div class="br"></div>')}else{alert("An Error Occurred")}if($trees.dialogMask&&$trees.dialogMask.isOpen()){$trees.dialogMask.close()}},timeout:20000};var splitArgs=function(sVars){var vars=new Array();var inArg=false;var currArg="";var argCnt=0;for(var i=0;i<sVars.length;i++){var currChar=sVars.charAt(i);if(currChar=="'"){if(inArg){vars[argCnt++]=currArg;currArg="";inArg=false}else{inArg=true}}else{if(inArg){currArg=currArg+currChar}}}return vars};var buildAddModalLink=function(rel){return'javascript:addPersonOnDemand("", "", "", "'+rel+'", "nm", "StartTree");'};var initAddPersonDlg=function(){var dlgXpos=(yDom.getViewportWidth()/2+yDom.getDocumentScrollLeft())-265;if(dlgXpos<10){dlgXpos=10}var dlgYpos=(yDom.getViewportHeight()/2+yDom.getDocumentScrollTop())-200;if(dlgYpos<10){dlgYpos=10}if(typeof $NS.addPersonDlg!="undefined"){YAHOO.widget.Dialog.superclass.destroy.call($NS.addPersonDlg);$NS.addPersonDlg=null}if($trees.dialogMask){$trees.dialogMask.open()}$NS.addPersonDlg=new YAHOO.widget.Dialog("addPersonDlg",{width:"500px",fixedcenter:false,x:dlgXpos,y:dlgYpos,close:false,modal:!($trees.dialogMask&&$trees.dialogMask.isOpen()),underlay:($trees.dialogMask&&$trees.dialogMask.isOpen())?"none":"matte",draggable:false,visible:false,constraintoviewport:true});var dlgDestroy=$NS.addPersonDlg.destroy;$NS.addPersonDlg.destroy=function(){dlgDestroy.call(this);delete $NS.addPersonDlg;if($trees.dialogMask&&$trees.dialogMask.isOpen()){$trees.dialogMask.close()}};$NS.addPersonDlg.hide=function(){this.destroy()};$NS.addPersonDlg.callback={success:function(o){try{if(m_relationshipChangeEvent){var resultLoc=o.responseText.indexOf('{"rel":');var resultEnd=o.responseText.indexOf("}",resultLoc);var json=o.responseText.substring(resultLoc,resultEnd+1);var result=eval("("+json+")");m_relationshipChangeEvent.fire({tid:result.tid||m_personaInfo.tid,pid:m_personaInfo.pid,sid:result.sid,rel:result.rel||m_personaInfo.rel,relPid:result.pid,relInfo:result})}else{$trees.dialogManager.reloadPage()}}catch(e){$trees.dialogManager.reloadPage()}finally{$NS.addPersonDlg.hide()}},failure:function(o){alert("Submission failed: "+o.status)}};$NS.addPersonDlg.render();var checkPedRoot=yDom.get("root");if(checkPedRoot!=null&&typeof checkPedRoot!="undefined"){checkPedRoot.style.zIndex="1"}yEvent.addListener("save","click",modalSave);yEvent.addListener("FormAddPerson","keypress",enterSave);$NS.regPanel=new YAHOO.widget.Overlay("register",{width:"512px",height:"372px",visible:false,iframe:false});$NS.regPanel.render();onAddPersonLoad(v_hasTreeEditRights,v_uid,v_treeId,"Place",false);initCheckBox()};var enterSave=function(e){var charCode=yEvent.getCharCode(e);if(charCode==13){modalSave(e)}};var enterReg=function(e){var charCode=yEvent.getCharCode(e);if(charCode==13){yEvent.preventDefault(e);saveTree(e)}};var modalSave=function(e){SaveClicked();yEvent.preventDefault(e);if(ValidateAddPerson()){yEvent.removeListener("save","click",modalSave);yEvent.removeListener("addPerson","keypress",enterSave);if(window.location.href.indexOf("/tree/")!=-1){var form=yDom.get("FormAddPerson");if(form!=null){var action=form.action;if(action!=null){var offset=action.indexOf("AddPerson.aspx");if(offset!=-1){var rest=action.substring(offset);form.action="/pt/"+rest}}}}$NS.addPersonDlg.doSubmit()}else{isSaveClicked=false;showInviteEmail()}};var modalReg=function(e){yEvent.removeListener("save","click",modalSave);yEvent.removeListener("addPerson","keypress",enterSave);yDom.addClass("save","dim");if(yDom.get("cancel")!=null){yDom.get("cancel").removeAttribute("href")}$NS.regPanel.show();if(!$NS.addPersonDlg.regAnim){$NS.addPersonDlg.regAnim=new YAHOO.util.Motion("register")}$NS.addPersonDlg.regAnim.attributes.points={by:[0,372]};$NS.addPersonDlg.regAnim.duration=0.6;$NS.addPersonDlg.regAnim.method=YAHOO.util.Easing.backOut;$NS.addPersonDlg.regAnim.animate();var inputs=yDom.getElementsByClassName("inputTxt");yEvent.addListener(inputs,"focus",setFieldStyle);yEvent.addListener(inputs,"blur",setFieldStyle);yEvent.addListener("register","keypress",enterReg);yEvent.addListener("save_tree","click",saveTree);if(yDom.get("treeNameReg")!=null){yDom.get("treeNameReg").value=v_tnm;if(yDom.get("fnameReg")!=null){yDom.get("fnameReg").value=v_fnm;yDom.get("lnameReg").value=v_lnm}if(yDom.get("fnameReg_cn")!=null){yDom.get("fnameReg_cn").value=v_fnm;yDom.get("lnameReg_cn").value=v_lnm}}$NS.regPanel.visible=true;yDom.get("register").style.display="";var el=yDom.get("emailAddressReg");if(el!=null){el.focus()}else{el=yDom.get("treeNameReg");if(el!=null){el.focus()}}s=s_gi(s_account);s.pageName="PT:AddPersonModal:Register";s_pageName="PT:AddPersonModal:Register";s.t();yEvent.preventDefault(e)};var hideReg=function(e){yEvent.addListener("save","click",modalSave);yEvent.addListener("addPerson","keypress",enterSave);yEvent.removeListener("save_tree","click",saveTree);yEvent.removeListener("register","keypress",enterReg);yDom.removeClass("save","dim");if(yDom.get("cancel")!=null){yDom.get("cancel").setAttribute("href","javascript:$NS.addPersonDlg.hide()")}$NS.addPersonDlg.regAnim.attributes.points={by:[0,-372]};$NS.addPersonDlg.regAnim.duration=0.6;$NS.addPersonDlg.regAnim.method=YAHOO.util.Easing.easeOut;$NS.addPersonDlg.regAnim.animate();$NS.regPanel.hide();var name=formObj.fname;if(name!=null){name.focus()}};var setFieldStyle=function(e){var target=yEvent.getTarget(e);if(target.value==""){yDom.addClass(target,"blankInput")}else{yDom.removeClass(target,"blankInput")}};var whyShare=function(){yDom.get("why_share").style.display="block";if(!$NS.addPersonDlg.share){$NS.addPersonDlg.share=new YAHOO.util.Anim("why_share")}$NS.addPersonDlg.share.attributes.opacity={from:0,to:0.94};$NS.addPersonDlg.share.duration=0.25;$NS.addPersonDlg.share.method=YAHOO.util.Easing.easeIn;$NS.addPersonDlg.share.onComplete.unsubscribe();$NS.addPersonDlg.share.animate()};var hideShare=function(){$NS.addPersonDlg.share.attributes.opacity={from:0.94,to:0};$NS.addPersonDlg.share.animate();$NS.addPersonDlg.share.onComplete.subscribe(function(){yDom.get("why_share").style.display="none"})};var saveTree=function(e){yEvent.preventDefault(e);var el=yDom.get("registerForm");var tnm=el.treeNameReg.value;var kurl="";var rtyp=17;if(v_pageName!=null&&v_pageName=="StartFamily"){kurl="http://"+v_treesDomain+"/pt/StartFamily.aspx?tnm="+encodeURIComponent(tnm)+"&pub="+encodeURIComponent(el.publicTree.checked)}else{if(v_pageName!=null&&v_pageName=="StartCDV"){kurl="http://"+v_treesDomain+"/pt/StartCDV.aspx?tnm="+encodeURIComponent(tnm)+"&pub="+encodeURIComponent(el.publicTree.checked)}else{kurl="http://"+v_treesDomain+"/pt/StartPed.aspx?tnm="+encodeURIComponent(tnm)+"&pub="+encodeURIComponent(el.publicTree.checked)}}if(el.fnameReg!=null||el.fnameReg_cn!=null){var fnm="";var lnm="";var eml=el.emailAddressReg.value;var news="1";if(v_pageName!=null&&v_pageName=="StartCDV"){fnm=el.fnameReg_cn.value;lnm=el.lnameReg_cn.value}else{fnm=el.fnameReg.value;lnm=el.lnameReg.value}if(el.offers!=null&&!el.offers.checked){news="0"}if(ValidateReg(tnm,fnm,lnm,eml)){s=s_gi(s_account);s.pageName="PT:AddPersonModal:Save";s_pageName="PT:AddPersonModal:Save";s.t();var guestRegUrl="http://"+v_ancestryDomain+"/register/GuestRegistration.aspx?rfname="+encodeURIComponent(fnm)+"&rlname="+encodeURIComponent(lnm)+"&remail="+encodeURIComponent(eml)+"&rnews="+news+"&rtype="+rtyp;var rand=Math.floor(Math.random()*20);if(rand==1&&typeof v_allowPPV!="undefined"&&v_allowPPV==true){kurl=kurl+"&ppv=true";guestRegUrl=guestRegUrl+"&ppv=true&kurl="+encodeURIComponent(kurl);window.location.href="http://"+v_ancestryDomain+"/s37322/key/rd.ashx?key=U"+encodeURIComponent(guestRegUrl)}else{window.location.href=guestRegUrl+"&kurl="+encodeURIComponent(kurl)}}}else{if(v_oldStyleReg){window.location.href="http://"+v_ancestryDomain+"/register/GuestRegistration.aspx?rtype="+rtyp+"&kurl="+escape(kurl)}else{if(tnm.length>0){window.location.href=kurl}else{alert(rs_msgErrMissingTreeName)}}}};var ValidateReg=function(treeName,firstName,lastName,emailAddr){if(treeName.length==0){alert(rs_msgErrMissingTreeName);return false}if(firstName.length==0||lastName.length==0){alert(rs_enterName);return false}var badCharF=checkForInvalidChar(firstName);var badCharL=checkForInvalidChar(lastName);if(badCharF.length>0||badCharL.length>0){alert(errorNameInvalidChar+" "+badCharF+" "+badCharL);return false}if(emailAddr.length==0||!isEmailFormatOkay(emailAddr)){alert(rs_msgErrInvalidEmail);return false}return true};oThis.addPerson=addPerson;oThis.checkEmail=checkEmail;oThis.hide=function(){if("undefined"!==typeof($NS.addPersonDlg)&&$NS.addPersonDlg){$NS.addPersonDlg.destroy()}};oThis.hideReg=hideReg;oThis.initVariables=initVariables;oThis.SaveClicked=SaveClicked;oThis.showInviteEmail=showInviteEmail;oThis.ValidateAddPerson=ValidateAddPerson;oThis.ValidateReg=ValidateReg;oThis.whyShare=whyShare;return oThis};if("undefined"===typeof($NS)){$NS=YAHOO.namespace("pops")}checkEmail=$trees.legacyAddDialog.checkEmail;hideReg=$trees.legacyAddDialog.checkEmail;initVariables=$trees.legacyAddDialog.initVariables;SaveClicked=$trees.legacyAddDialog.SaveClicked;showInviteEmail=$trees.legacyAddDialog.showInviteEmail;ValidateAddPerson=$trees.legacyAddDialog.ValidateAddPerson;ValidateReg=$trees.legacyAddDialog.ValidateReg;whyShare=$trees.legacyAddDialog.whyShare};
/* clickcard.js */
if("undefined"===typeof($trees.dialogManager.clickCard)){$trees.dialogManager.clickCard=new function(){var c={};var f=null;var a=null;var e=null;var d=null;var b=function(j,g,k){var i="tid="+encodeURIComponent(j)+"&pid="+encodeURIComponent(g)+(k?"&sid="+encodeURIComponent(k):"")+"&ret="+encodeURIComponent(e||"")+"&pg="+encodeURIComponent(d||"");if(f){i+="&focus=true"}var h=a?"http://"+a:"";return h+"/fz/command.ashx?op=dialog&dialog=clickcard&"+i};c.init=function(h,j,g,i){a=h;f=("function"!==typeof j)?null:j;e=g||null;d=i||null};c.hide=function(){try{$trees.dialogManager.closeClickCardDialog();return true}catch(g){return false}};c.show=function(n,i,g,k){try{this.hide();var h=$trees.dialogManager;var m=YAHOO.Ancestry.tv.lib.ancestry.dialog_manager.Config();var l=m.oClickCardConfig=YAHOO.Ancestry.tv.tags.lib.dialog_manager.dialog.Config();l.sUrl=b(i,g,k);l.bScrollDialogIntoView=false;h.setConfig(m);h.displayClickCardDialog(i,g,YAHOO.Ancestry.tv.framework.Html(n))}catch(j){}};c.setFocusPerson=function(h,g){try{if(f){f(h,g)}}catch(i){}};c.toggleImmediateFamily=function(g){try{expandCollapse(g);$trees.dialogManager.clickCardDialogResized()}catch(h){}};return c};$trees.clickCard=$trees.dialogManager.clickCard};
/* editdialog.js */
if("undefined"===typeof($trees.dialogManager.editDialog)){$trees.dialogManager.editDialog=new function(){var oThis={};var yDom=YAHOO.util.Dom;var yEvent=YAHOO.util.Event;var m_dialogManager=$trees.dialogManager;var m_personDeletedEvent=(m_dialogManager.events&&m_dialogManager.events.getPersonDeletedEvent)?m_dialogManager.events.getPersonDeletedEvent():null;var m_personUpdatedEvent=(m_dialogManager.events&&m_dialogManager.events.getPersonUpdatedEvent)?m_dialogManager.events.getPersonUpdatedEvent():null;var m_treesDomain=null;var m_currentDialog=null;var m_requestInProgress=false;var m_personaInfo=null;var m_resStrings=null;var m_isValidatedSuccess=false;var m_returnFlag=false;var m_isSaving=false;var m_validationcnt=0;var m_isRemoved=false;var m_clickedSave=0;var getDeleteButtonEl=function(){return(!m_currentDialog)?null:yDom.get("ed_removePersonLink")};var getSaveButtonEl=function(){return(!m_currentDialog)?null:yDom.get("ed_saveButton")};var setInnerHtml=function(el,html){var objEl=yDom.get(el);if(objEl){objEl.innerHTML=html}};var setSaveButtonText=function(text){setInnerHtml(getSaveButtonEl(),"<em><span>"+text+"</span></em>")};var createPersonaInfo=function(){try{var jsonInfo=yDom.get("ed_pinfo").value;m_personaInfo=eval("("+jsonInfo+")")}catch(e){m_personaInfo=null}};var createResStrings=function(){try{var jsonInfo=yDom.get("ed_res").value;m_resStrings=eval("("+jsonInfo+")")}catch(e){m_resStrings=null}};var getResString=function(key){var value=(m_resStrings)?m_resStrings[key]:null;return(value)?value:"$$"+key};var displayEl=function(dialogEl){var dm=$trees.dialogManager;dm.dialogMask.open();m_currentDialog=new YAHOO.widget.Overlay(dialogEl,{constraintoviewport:true,modal:true,underlay:"none",zIndex:dm.dialogMask.zIndex+1});var status=m_currentDialog.render(document.body);m_currentDialog.center();prepareDialog();return status};var prepareDialog=function(){if(!m_currentDialog){return}createPersonaInfo();createResStrings();m_isValidatedSuccess=false;m_returnFlag=false;m_isSaving=false;m_validationcnt=0;m_isRemoved=false;m_clickedSave=0;var validationFields=["ed_fmnameField","ed_surnameField","ed_birthDateField","ed_deathDateField"];yEvent.addListener(validationFields,"blur",function(){setTimeout(function(){validatePersonDataI()},100)});yEvent.addListener(getDeleteButtonEl(),"click",removePerson);yEvent.addListener(getSaveButtonEl(),"click",function(){m_isSaving=true;m_returnFlag=false;validatePersonDataI();m_clickedSave++});if("function"===typeof(AutoSuggestControl)){new AutoSuggestControl(yDom.get("ed_birthPlaceField"),yDom.get("ed_birthPlaceContainer"),m_personaInfo.uid,m_personaInfo.tid,"Place",null,null,null,"","","","");new AutoSuggestControl(yDom.get("ed_deathPlaceField"),yDom.get("ed_deathPlaceContainer"),m_personaInfo.uid,m_personaInfo.tid,"Place",null,null,null,"","","","")}};var receiveDialogHtml=function(dialogHtml){var el=document.createElement("div");setInnerHtml(el,dialogHtml);displayEl(el);m_requestInProgress=false};var receiveDialogHtmlErr=function(response){m_requestInProgress=false};var checkWarningStyle=function(){m_returnFlag=false;yDom.removeClass("nameRow","g_errorWO");setInnerHtml("nameRowWrn","");yDom.removeClass("genderRow","g_errorWO");setInnerHtml("genderRowWrn","");yDom.removeClass("birthRow","g_errorWO");setInnerHtml("birthRowWrn","");yDom.removeClass("deathRow","g_errorWO");setInnerHtml("deathRowWrn","");setSaveButtonText(getResString("g.saveChanges"))};var getFieldValues=function(){var gType="unknown";if(yDom.get("ed_genderRadio0").checked){gType="M"}else{if(yDom.get("ed_genderRadio1").checked){gType="F"}}return{gname:yDom.get("ed_fmnameField").value,sname:yDom.get("ed_surnameField").value,genderType:gType,birthDate:yDom.get("ed_birthDateField").value,birthPlace:yDom.get("ed_birthPlaceField").value,deathDate:yDom.get("ed_deathDateField").value,deathPlace:yDom.get("ed_deathPlaceField").value}};var removePerson=function(){if(!m_isRemoved){if(confirm(getResString("g.removeThis"))){var url=(m_treesDomain?"http://"+m_treesDomain:"")+"/pt/AJAX/SetPersonNodeHandler.ashx?command=removeperson&uid="+encodeURIComponent(m_personaInfo.uid)+"&tid="+encodeURIComponent(m_personaInfo.tid)+"&pid="+encodeURIComponent(m_personaInfo.pid)+"&canViewLiving="+encodeURIComponent(m_personaInfo.cvl);var callback={success:responseRemovePerson,failure:responseRemovePersonErr};YAHOO.util.Connect.asyncRequest("GET",url,callback)}else{return}}};var savePersonData=function(){if(!m_currentDialog){return}var fv=getFieldValues();if(m_isValidatedSuccess){var url=(m_treesDomain?"http://"+m_treesDomain:"")+"/api/tree/"+m_personaInfo.tid+"/person/"+m_personaInfo.pid+"/family.json";var postData="gname="+encodeURIComponent(fv.gname)+"&sname="+encodeURIComponent(fv.sname)+"&gender="+encodeURIComponent(fv.genderType)+"&birthDate="+encodeURIComponent(fv.birthDate)+"&birthPlace="+encodeURIComponent(fv.birthPlace)+"&deathDate="+encodeURIComponent(fv.deathDate)+"&deathPlace="+encodeURIComponent(fv.deathPlace);var callback={success:responseSavePersData,failure:responseSavePersDataErr};YAHOO.util.Connect.asyncRequest("POST",url,callback,postData)}};var validatePersonDataI=function(){if(!m_currentDialog){return}m_returnFlag=false;var fv=getFieldValues();if((fv.gname.indexOf("&")!=-1)||(fv.sname.indexOf("&")!=-1)){alert("Contains invalid characters")}else{var url=(m_treesDomain?"http://"+m_treesDomain:"")+"/pt/AJAX/SetPersonNodeHandler.ashx?command=validatepersonnode&uid="+encodeURIComponent(m_personaInfo.uid)+"&tid="+encodeURIComponent(m_personaInfo.tid)+"&pid="+encodeURIComponent(m_personaInfo.pid)+"&canViewLiving="+encodeURIComponent(m_personaInfo.cvl)+"&returnFlag="+encodeURIComponent(m_returnFlag)+"&isJiapu=false&gname="+encodeURIComponent(fv.gname)+"&sname="+encodeURIComponent(fv.sname)+"&genderType="+encodeURIComponent(fv.genderType)+"&birthDate="+encodeURIComponent(fv.birthDate)+"&birthPlace="+encodeURIComponent(fv.birthPlace)+"&deathDate="+encodeURIComponent(fv.deathDate)+"&deathPlace="+encodeURIComponent(fv.deathPlace);var callback={success:responseValidatePersData,failure:responseValidatePersDataErr};YAHOO.util.Connect.asyncRequest("GET",url,callback)}};var responseRemovePerson=function(o){m_isRemoved=true;checkWarningStyle();if(m_personDeletedEvent){try{var result=eval("("+o.responseText+")");m_personDeletedEvent.fire({tid:m_personaInfo.tid,pid:(result&&result.objectPid)?result.objectPid:m_personaInfo.pid})}catch(e){$trees.dialogManager.reloadPage()}}else{$trees.dialogManager.reloadPage()}oThis.hide()};var responseRemovePersonErr=function(o){m_isRemoved=false};var responseSavePersData=function(o){m_returnFlag=false;m_isValidatedSuccess=false;checkWarningStyle();if(m_personUpdatedEvent){try{var result=eval("("+o.responseText+")");m_personUpdatedEvent.fire({tid:m_personaInfo.tid,pid:m_personaInfo.pid,persons:(result&&result.persons)?result.persons:null})}catch(e){$trees.dialogManager.reloadPage()}}else{$trees.dialogManager.reloadPage()}oThis.hide()};var responseSavePersDataErr=function(o){};var responseValidatePersData=function(o){if(!m_currentDialog){return}m_returnFlag=false;checkWarningStyle();var messagesItem=o.responseText;var res=eval("("+messagesItem+")");m_isValidatedSuccess=true;if(m_isSaving){m_isValidatedSuccess=true;m_isSaving=false;m_clickedSave=0;m_validationcnt=0;savePersonData()}};var responseValidatePersDataErr=function(o){if(!m_currentDialog){return}var HtmlDecode=$trees.util.htmlDecode;m_returnFlag=true;m_validationcnt++;if(!m_isSaving){checkWarningStyle()}var messagesItem=o.responseText.substring(o.responseText.indexOf("{'objectValidateNode'"));var res=eval("("+messagesItem+")");var initialcnt=parseInt(res.objectValidateNode.warningCount);var isBirthData=res.objectValidateNode.isBirthData;if(initialcnt>0){setSaveButtonText(getResString("g.saveAnyway"))}for(var i=0;i<initialcnt;i++){var warningmsg="";var wcod="";if(i==0){warningmsg=res.objectValidateNode.wrnMessage0;wcod=res.objectValidateNode.wrnArgsWcod0;if((m_clickedSave==1)&&(m_validationcnt<2)&&m_isSaving){m_clickedSave=0;m_validationcnt=0}if(!m_isSaving){m_clickedSave=0}if((m_validationcnt>1)&&m_isSaving){m_clickedSave++}}if(i==1){warningmsg=res.objectValidateNode.wrnMessage1;wcod=res.objectValidateNode.wrnArgsWcod1;if(!m_isSaving){m_clickedSave++}}if(i==2){warningmsg=res.objectValidateNode.wrnMessage2;wcod=res.objectValidateNode.wrnArgsWcod2;if(!m_isSaving){m_clickedSave++}}if(i==3){warningmsg=res.objectValidateNode.wrnMessage3;wcod=res.objectValidateNode.wrnArgsWcod3;if(!m_isSaving){m_clickedSave++}}switch(wcod){case"201":case"202":case"203":case"204":case"205":case"206":m_isValidatedSuccess=true;var nameRowWrnEl=yDom.get("nameRowWrn");if(res.objectValidateNode.isGNameData=="true"){yDom.addClass("nameRow","g_errorWO");setInnerHtml(nameRowWrnEl,"<p><b>"+getResString("g.warning")+"</b><br />"+warningmsg+" ("+getResString("g.warnPreviousValue")+" "+HtmlDecode(res.objectValidateNode.oldValueGName)+") <br /><br /> <i>"+getResString("g.warnClickSaveChanges")+"</i></p>")}else{yDom.addClass("nameRow","g_errorWO");setInnerHtml(nameRowWrnEl,"<p><b>"+getResString("g.warning")+"</b><br />"+warningmsg+" ("+getResString("g.warnPreviousValue")+" "+HtmlDecode(res.objectValidateNode.oldValueSName)+") <br /><br /> <i>"+getResString("g.warnClickSaveChanges")+"</i></p>")}break;case"1":case"2":case"3":case"4":case"5":case"6":case"7":case"8":case"9":m_isValidatedSuccess=false;if(isBirthData=="true"){yDom.addClass("birthRow","g_errorWO");setInnerHtml("birthRowWrn","<p><b>"+getResString("g.error")+"</b><br />"+warningmsg+" ("+getResString("g.warnPreviousValue")+" "+HtmlDecode(res.objectValidateNode.oldValueBDate)+") <br /><br /> <i>"+getResString("g.warnErrorCorrect")+"</i></p>");yDom.get("ed_birthDateField").value="";isBirthData="false"}else{yDom.addClass("deathRow","g_errorWO");setInnerHtml("deathRowWrn","<p><b>"+getResString("g.error")+"</b><br />"+warningmsg+" ("+getResString("g.warnPreviousValue")+" "+HtmlDecode(res.objectValidateNode.oldValueDDate)+") <br /><br /> <i>"+getResString("g.warnErrorCorrect")+"</i></p>");yDom.get("ed_deathDateField").value=""}break;case"101":case"102":case"103":case"104":case"105":case"108":case"110":m_isValidatedSuccess=true;yDom.addClass("birthRow","g_errorWO");setInnerHtml("birthRowWrn","<p><b>"+getResString("g.warning")+"</b><br />"+warningmsg+" ("+getResString("g.warnPreviousValue")+" "+HtmlDecode(res.objectValidateNode.oldValueBDate)+") <br /><br /> <i>"+getResString("g.warnClickSaveChanges")+"</i></p>");isBirthData="false";break;case"106":case"107":case"109":m_isValidatedSuccess=true;yDom.addClass("deathRow","g_errorWO");setInnerHtml("deathRowWrn","<p><b>"+getResString("g.warning")+"</b><br />"+warningmsg+" ("+getResString("g.warnPreviousValue")+" "+HtmlDecode(res.objectValidateNode.oldValueDDate)+") <br /><br /> <i>"+getResString("g.warnClickSaveChanges")+"</i></p>");break}}if(m_isSaving&&(m_clickedSave>1)){m_isSaving=false;m_clickedSave=0;m_validationcnt=0;savePersonData()}};oThis.hide=function(leaveMask){if(m_currentDialog){m_currentDialog.destroy();m_currentDialog=null;if(!leaveMask){$trees.dialogMask.close()}}};oThis.show=function(treeId,personaId,focusPid,embeddingPage){if(m_requestInProgress){return}m_requestInProgress=true;oThis.hide(true);var parms="tid="+encodeURIComponent(treeId)+"&pid="+encodeURIComponent(personaId)+"&ret="+encodeURIComponent(focusPid||"")+"&pg="+encodeURIComponent(embeddingPage||"");var url=m_treesDomain?"http://"+m_treesDomain:"";url+="/fz/command.ashx?op=dialog&dialog=edit&"+parms;$trees.dialogManager.requestDialogHtml(url,receiveDialogHtml,receiveDialogHtmlErr)};return oThis};$trees.editDialog=$trees.dialogManager.editDialog};
/* community.js */
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();
/* miniprofile.js */
if($MP==undefined){var $MP=TGN.namespace("TGN.Ancestry.Community.MiniProfile");if("undefined"==typeof _YDom){_YDom=YAHOO.util.Dom}$MP.miniProfile=null;$MP.miniProfileContainer=null;$MP.miniProfileBody=null;$MP.knub=null;$MP.Init=function(){this.isFireFox=false;this.height=280;this.width=370;if(navigator.userAgent.indexOf("Firefox")!=-1){this.isFireFox=true;this.height=260}};$MP.profiles=null;$MP.Profile=function(a,b){this.ucdmid=a;this.miniProfile=b};$MP.miniProfileLoaded=new YAHOO.util.CustomEvent("miniProfileLoaded");$MP.miniProfileClosed=new YAHOO.util.CustomEvent("miniProfileClosed");$MP.currentRequest=null;$MP.currentRequestId;$MP.showMiniProfile=function(e){var a="";var h=0;var g=true;if(undefined!=e.contextType){h=e.contextType}if(undefined!=e.contextValue){a=e.contextValue}if(undefined!=e.showContactModal){g=e.showContactModal}$MP.currentRequestId=e.id;if($MP.miniProfile==null){$MP.miniProfile=new $MP.Init();if($MP.profiles==null){$MP.profiles=new Array()}}YAHOO.util.Event.addListener(document,"click",$MP.close);var c='<div class="un_content" style="background:white;height:50px;padding:25px 30px 25px 100px;"><img src="http://c.mfcreative.com/lib/TGN/Ancestry/Community/i/loading.gif"/></div>';$MP.showPanel(c);for(i=0;i<$MP.profiles.length;i++){if($MP.profiles[i].ucdmid==e.ucdmid){$MP.showPanel($MP.profiles[i].miniProfile,e.id);return}}var d=function(l,k){this.ucdmid=l;this.id=k};var f=$MP.getContextValue(a,"o_ufc");var b=$MP.getContextValue(a,"o_cvc");if(f!=null||b!=null){var j=s_gi(s_account,1);if(f!=null){j.prop20=f}if(b!=null){j.prop21=b}j.tl()}$MP.currentRequest=new TGN.Util.AjaxRequest("POST","/community.ashx","",{success:$MP.success,failure:$MP.failure,scope:new d(e.ucdmid,e.id),timeout:20000},"f=GetMiniProfile&rurl="+escape(window.location)+"&uid="+e.ucdmid+"&ctxT="+h+"&ctxV="+escape(a)+"&showContactModal="+g);$MP.currentRequest.invoke()};$MP.getContextValue=function(a,c){var d=new RegExp("(^|[&])"+c+"=([^&]*)","i");var b=d.exec(a);if(b==null){return null}return unescape(b[2])};$MP.cacheDomain="http://c.mfcreative.com";$MP.userDocDomain="http://userdoc.ancestry.com";$MP.GetUserLink=function(f){var e="";var j="";if(f.ucdmid!=undefined){j=f.ucdmid}var g="";if(f.displayName!=undefined){g=f.displayName}var c="";if(f.id!=undefined){c=f.id}var a="";if(f.photoId!=undefined){a=f.photoId}var k="";if(f.macId!=undefined){k=f.macId}var h=true;if(f.showAvatar!=undefined){h=f.showAvatar}if(f.userDocDomain!=undefined){$MP.userDocDomain=f.userDocDomain}var b="";if(f.contextType!=undefined){b+=",contextType:"+f.contextType}if(f.contextValue!=undefined){b+=",contextValue:'"+f.contextValue+"'"}if(j.length>0&&g.length>0&&c.length>0){var d="{type:'miniprofile',onSuccess:function(config){$MP.showMiniProfile(config);},ucdmid:'"+j+"',id:'"+c+"'"+b+"}";e='<a id="ul_'+c+'" class="uLink" href="javascript:$Anc.load('+d+');">';if(h){if(a.length>0&&k.length>0){e+='<img height="20" width="15" src="'+$MP.userDocDomain+"/userdocstore/download.ashx?fileid="+a+"&mac="+k+'"/>'}else{e+='<img height="20" width="15" src="'+$MP.cacheDomain+'/lib/TGN/shared/assets/images/usericon_small.gif"/>'}e+="&nbsp;"}e+="<span>"+g+"</span>";e+="</a>"}return e};$MP.showPanel=function(a){if(null==$MP.miniProfileContainer){$MP.loadMiniProfileInDOM()}$MP.miniProfileContainer.style.display="block";$MP.miniProfileBody.innerHTML=a;$MP.SetPosition();$MP.miniProfileLoaded.fire()};$MP.loadMiniProfileInDOM=function(){$MP.miniProfileContainer=document.createElement("div");$MP.miniProfileContainer.id="miniProfile";_YDom.setStyle($MP.miniProfileContainer,"width",$MP.miniProfile.width+"px");_YDom.setStyle($MP.miniProfileContainer,"height","auto");_YDom.setStyle($MP.miniProfileContainer,"position","absolute");var c=document.createElement("div");c.id="mp_knub";$MP.miniProfileContainer.appendChild(c);c=document.createElement("div");c.id="mp_knub_r";$MP.miniProfileContainer.appendChild(c);var b=document.createElement("a");b.id="un_close";_YDom.setAttribute(b,"href","javascript:$MP.captureClick();");var a=document.createElement("img");a.id="close_button";_YDom.setAttribute(a,"src","http://c.mfcreative.com/lib/TGN/Ancestry/Community/i/close.gif");b.appendChild(a);$MP.miniProfileContainer.appendChild(b);$MP.miniProfileBody=document.createElement("div");$MP.miniProfileContainer.appendChild($MP.miniProfileBody);document.body.appendChild($MP.miniProfileContainer)};$MP.success=function(d,b){$MP.currentRequest=null;var a;var c=false;for(a=0;a<$MP.profiles.length;a++){if($MP.profiles[a].ucdmid==b.ucdmid){c=true}}if(!c){$MP.profiles[$MP.profiles.length]=new $MP.Profile(b.ucdmid,d.responseText)}if(b.id==$MP.currentRequestId){$MP.showPanel(d.responseText)}};$MP.failure=function(d,c){$MP.currentRequest=null;if(c.id!=$MP.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 class="un_content" style="background:white;height:50px;padding:25px 10px 25px 10px;width:300px">'+a+"</div>";$MP.showPanel(b)};$MP.SetPosition=function(){var b=_YDom.get("ul_"+$MP.currentRequestId);var l=_YDom.getXY(b);var k=_YDom.getViewportHeight();var h=_YDom.getViewportWidth();var a=_YDom.getDocumentScrollTop(document);var e=l[1]-a;var g=k-e;var c=l[0];var f=h-(c+b.clientWidth);var j=20;if(e>g){_YDom.setY($MP.miniProfileContainer,l[1]-($MP.miniProfileContainer.clientHeight-40))}else{_YDom.setY($MP.miniProfileContainer,l[1]-30)}var d=false;if(f>$MP.miniProfile.width){d=true}else{if(c>$MP.miniProfile.width){_YDom.setStyle(_YDom.get("mp_knub"),"display","none");$MP.knub=_YDom.get("mp_knub_r");_YDom.setStyle($MP.knub,"display","block");_YDom.setX($MP.miniProfileContainer,l[0]-($MP.miniProfile.width+j+3));_YDom.setX($MP.knub,_YDom.getX($MP.miniProfileContainer)+$MP.miniProfile.width+3);_YDom.setStyle($MP.knub,"top","20px")}else{d=true}}if(d){_YDom.setStyle(_YDom.get("mp_knub_r"),"display","none");$MP.knub=_YDom.get("mp_knub");_YDom.setStyle($MP.knub,"display","block");_YDom.setX($MP.miniProfileContainer,l[0]+b.offsetWidth+(j-5));_YDom.setX($MP.knub,l[0]+b.offsetWidth)}_YDom.setY($MP.knub,l[1]-5)};$MP.captureClick=function(a){};$MP.close=function(c){var g=navigator.userAgent;var k=_YDom.getXY($MP.miniProfileContainer);var f=k[0];var b=k[0]+$MP.miniProfileContainer.clientWidth;var d=k[1];var a=k[1]+$MP.miniProfileContainer.clientHeight;var j;var h;if($MP.miniProfile.isFireFox){j=c.pageX;h=c.pageY}else{j=c.clientX;h=c.clientY}var e=false;var l;if($MP.miniProfile.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"){$MP.miniProfileContainer.style.display="none";YAHOO.util.Event.removeListener(document,"click",$MP.close);$MP.miniProfileClosed.fire();if(null!=$MP.currentRequest){$MP.currentRequest.abort(false)}}}};$MP.hideContainer=function(){$MP.miniProfileContainer.style.display="none"};$MP.flushProfile=function(c){try{if($MP.profiles!=null){var a;var b;for(a=0;a<$MP.profiles.length;a++){b=$MP.profiles[a];if(b.ucdmid==c){b.ucdmid="";b.miniProfile=""}}}}catch(d){}};$MP.onBlockUser=new YAHOO.util.CustomEvent("onBlockUser");$MP.onUnBlockUser=new YAHOO.util.CustomEvent("onBlockUser");$MP.blockUser=function(d){var c;if(d.block){c="BlockUser"}else{c="UnBlockUser"}var a={block:d.block,blockLinkContainerId:d.blockLinkContainerId,contactLinkContainerId:d.contactLinkContainerId};var b=new TGN.Util.AjaxRequest("GET","/community.ashx","f="+c+"&bId="+d.bid+"&bcId="+d.blockLinkContainerId+"&ccId="+d.contactLinkContainerId+"&view="+d.view+"&uid="+d.ucdmid,{success:$MP.BlockUser_Success,failure:$MP.fail,scope:a},"");b.invoke()};$MP.BlockUser_Success=function(o,scope){var json;try{json=eval("("+o.responseText+")");if(json.success){var otherText="";if(json.otherText!=undefined){otherText=json.otherText+" "}_YDom.get(scope.blockLinkContainerId).innerHTML=otherText+'<a href="'+json.linkUrl+'">'+json.linkText+"</a>";if(json.hideContactLink){_YDom.setStyle(scope.contactLinkContainerId,"display","none")}else{_YDom.setStyle(scope.contactLinkContainerId,"display","block")}$MP.flushProfile(json.blockedId);if(scope.block){$MP.onBlockUser.fire({})}else{$MP.onUnBlockUser.fire({})}}}catch(e){alert(e)}};$MP.Callback_BlockUser={success:$MP.BlockUser_Success,failure:$MP.fail}};
/* ajaxrequest.js */
var $UTIL=TGN.namespace("TGN.Util");if("undefined"==typeof _YDom){_YDom=YAHOO.util.Dom}$UTIL.AjaxRequest=function(c,b,d,a,e){this.HTTPmethod=c;this.path=b;this.params=d;this.callerCallback=a;this.postParams=e;this.connectionObject;this.mycallback={success:this.handleSuccess,failure:this.handleFailure,scope:this};if(typeof a.timeout=="undefined"){this.mycallback.timeout=5000}else{this.mycallback.timeout=a.timeout}};$UTIL.AjaxRequest.prototype={invoke:function(){if(null==this.params||this.params.length<1){this.params="requestType=async"}else{this.params+="&requestType=async"}if(typeof requestId!="undefined"&&requestId.length>0){this.params+="&pageRequestId="+requestId}this.path=this.path+"?"+this.params;if(typeof $DD!="undefined"){$DD.updateIconStatus("wait")}this.connectionObject=YAHOO.util.Connect.asyncRequest(this.HTTPmethod,this.path,this.mycallback,this.postParams)},handleSuccess:function(a){if(typeof $DD!="undefined"){$DD.refresh()}this.callerCallback.success(a,this.callerCallback.scope)},handleFailure:function(a){if(typeof $DD!="undefined"){$DD.refresh()}this.callerCallback.failure(a,this.callerCallback.scope)},abort:function(a){if(typeof $DD!="undefined"){$DD.refresh()}return YAHOO.util.Connect.abort(this.connectionObject,this.myCallBack,a)}};
/* jquery.js */
/*
 * jQuery 1.2.4 - New Wave Javascript
 *
 * Copyright (c) 2008 John Resig (jquery.com)
 * Dual licensed under the MIT (MIT-LICENSE.txt)
 * and GPL (GPL-LICENSE.txt) licenses.
 *
 * $Date: 2008-05-18 23:05:38 -0400 (Sun, 18 May 2008) $
 * $Rev: 5631 $
 */
(function(){if(window.jQuery)var _jQuery=window.jQuery;var jQuery=window.jQuery=function(selector,context){return new jQuery.prototype.init(selector,context);};if(window.$)var _$=window.$;window.$=jQuery;var quickExpr=/^[^<]*(<(.|\s)+>)[^>]*$|^#(\w+)$/;var isSimple=/^.[^:#\[\.]*$/;jQuery.fn=jQuery.prototype={init:function(selector,context){selector=selector||document;if(selector.nodeType){this[0]=selector;this.length=1;return this;}else if(typeof selector=="string"){var match=quickExpr.exec(selector);if(match&&(match[1]||!context)){if(match[1])selector=jQuery.clean([match[1]],context);else{var elem=document.getElementById(match[3]);if(elem)if(elem.id!=match[3])return jQuery().find(selector);else{this[0]=elem;this.length=1;return this;}else
selector=[];}}else
return new jQuery(context).find(selector);}else if(jQuery.isFunction(selector))return new jQuery(document)[jQuery.fn.ready?"ready":"load"](selector);return this.setArray(selector.constructor==Array&&selector||(selector.jquery||selector.length&&selector!=window&&!selector.nodeType&&selector[0]!=undefined&&selector[0].nodeType)&&jQuery.makeArray(selector)||[selector]);},jquery:"1.2.4",size:function(){return this.length;},length:0,get:function(num){return num==undefined?jQuery.makeArray(this):this[num];},pushStack:function(elems){var ret=jQuery(elems);ret.prevObject=this;return ret;},setArray:function(elems){this.length=0;Array.prototype.push.apply(this,elems);return this;},each:function(callback,args){return jQuery.each(this,callback,args);},index:function(elem){var ret=-1;this.each(function(i){if(this==elem)ret=i;});return ret;},attr:function(name,value,type){var options=name;if(name.constructor==String)if(value==undefined)return this.length&&jQuery[type||"attr"](this[0],name)||undefined;else{options={};options[name]=value;}return this.each(function(i){for(name in options)jQuery.attr(type?this.style:this,name,jQuery.prop(this,options[name],type,i,name));});},css:function(key,value){if((key=='width'||key=='height')&&parseFloat(value)<0)value=undefined;return this.attr(key,value,"curCSS");},text:function(text){if(typeof text!="object"&&text!=null)return this.empty().append((this[0]&&this[0].ownerDocument||document).createTextNode(text));var ret="";jQuery.each(text||this,function(){jQuery.each(this.childNodes,function(){if(this.nodeType!=8)ret+=this.nodeType!=1?this.nodeValue:jQuery.fn.text([this]);});});return ret;},wrapAll:function(html){if(this[0])jQuery(html,this[0].ownerDocument).clone().insertBefore(this[0]).map(function(){var elem=this;while(elem.firstChild)elem=elem.firstChild;return elem;}).append(this);return this;},wrapInner:function(html){return this.each(function(){jQuery(this).contents().wrapAll(html);});},wrap:function(html){return this.each(function(){jQuery(this).wrapAll(html);});},append:function(){return this.domManip(arguments,true,false,function(elem){if(this.nodeType==1)this.appendChild(elem);});},prepend:function(){return this.domManip(arguments,true,true,function(elem){if(this.nodeType==1)this.insertBefore(elem,this.firstChild);});},before:function(){return this.domManip(arguments,false,false,function(elem){this.parentNode.insertBefore(elem,this);});},after:function(){return this.domManip(arguments,false,true,function(elem){this.parentNode.insertBefore(elem,this.nextSibling);});},end:function(){return this.prevObject||jQuery([]);},find:function(selector){var elems=jQuery.map(this,function(elem){return jQuery.find(selector,elem);});return this.pushStack(/[^+>] [^+>]/.test(selector)||selector.indexOf("..")>-1?jQuery.unique(elems):elems);},clone:function(events){var ret=this.map(function(){if(jQuery.browser.msie&&!jQuery.isXMLDoc(this)){var clone=this.cloneNode(true),container=document.createElement("div");container.appendChild(clone);return jQuery.clean([container.innerHTML])[0];}else
return this.cloneNode(true);});var clone=ret.find("*").andSelf().each(function(){if(this[expando]!=undefined)this[expando]=null;});if(events===true)this.find("*").andSelf().each(function(i){if(this.nodeType==3)return;var events=jQuery.data(this,"events");for(var type in events)for(var handler in events[type])jQuery.event.add(clone[i],type,events[type][handler],events[type][handler].data);});return ret;},filter:function(selector){return this.pushStack(jQuery.isFunction(selector)&&jQuery.grep(this,function(elem,i){return selector.call(elem,i);})||jQuery.multiFilter(selector,this));},not:function(selector){if(selector.constructor==String)if(isSimple.test(selector))return this.pushStack(jQuery.multiFilter(selector,this,true));else
selector=jQuery.multiFilter(selector,this);var isArrayLike=selector.length&&selector[selector.length-1]!==undefined&&!selector.nodeType;return this.filter(function(){return isArrayLike?jQuery.inArray(this,selector)<0:this!=selector;});},add:function(selector){return!selector?this:this.pushStack(jQuery.merge(this.get(),selector.constructor==String?jQuery(selector).get():selector.length!=undefined&&(!selector.nodeName||jQuery.nodeName(selector,"form"))?selector:[selector]));},is:function(selector){return selector?jQuery.multiFilter(selector,this).length>0:false;},hasClass:function(selector){return this.is("."+selector);},val:function(value){if(value==undefined){if(this.length){var elem=this[0];if(jQuery.nodeName(elem,"select")){var index=elem.selectedIndex,values=[],options=elem.options,one=elem.type=="select-one";if(index<0)return null;for(var i=one?index:0,max=one?index+1:options.length;i<max;i++){var option=options[i];if(option.selected){value=jQuery.browser.msie&&!option.attributes.value.specified?option.text:option.value;if(one)return value;values.push(value);}}return values;}else
return(this[0].value||"").replace(/\r/g,"");}return undefined;}return this.each(function(){if(this.nodeType!=1)return;if(value.constructor==Array&&/radio|checkbox/.test(this.type))this.checked=(jQuery.inArray(this.value,value)>=0||jQuery.inArray(this.name,value)>=0);else if(jQuery.nodeName(this,"select")){var values=value.constructor==Array?value:[value];jQuery("option",this).each(function(){this.selected=(jQuery.inArray(this.value,values)>=0||jQuery.inArray(this.text,values)>=0);});if(!values.length)this.selectedIndex=-1;}else
this.value=value;});},html:function(value){return value==undefined?(this.length?this[0].innerHTML:null):this.empty().append(value);},replaceWith:function(value){return this.after(value).remove();},eq:function(i){return this.slice(i,i+1);},slice:function(){return this.pushStack(Array.prototype.slice.apply(this,arguments));},map:function(callback){return this.pushStack(jQuery.map(this,function(elem,i){return callback.call(elem,i,elem);}));},andSelf:function(){return this.add(this.prevObject);},data:function(key,value){var parts=key.split(".");parts[1]=parts[1]?"."+parts[1]:"";if(value==null){var data=this.triggerHandler("getData"+parts[1]+"!",[parts[0]]);if(data==undefined&&this.length)data=jQuery.data(this[0],key);return data==null&&parts[1]?this.data(parts[0]):data;}else
return this.trigger("setData"+parts[1]+"!",[parts[0],value]).each(function(){jQuery.data(this,key,value);});},removeData:function(key){return this.each(function(){jQuery.removeData(this,key);});},domManip:function(args,table,reverse,callback){var clone=this.length>1,elems;return this.each(function(){if(!elems){elems=jQuery.clean(args,this.ownerDocument);if(reverse)elems.reverse();}var obj=this;if(table&&jQuery.nodeName(this,"table")&&jQuery.nodeName(elems[0],"tr"))obj=this.getElementsByTagName("tbody")[0]||this.appendChild(this.ownerDocument.createElement("tbody"));var scripts=jQuery([]);jQuery.each(elems,function(){var elem=clone?jQuery(this).clone(true)[0]:this;if(jQuery.nodeName(elem,"script")){scripts=scripts.add(elem);}else{if(elem.nodeType==1)scripts=scripts.add(jQuery("script",elem).remove());callback.call(obj,elem);}});scripts.each(evalScript);});}};jQuery.prototype.init.prototype=jQuery.prototype;function evalScript(i,elem){if(elem.src)jQuery.ajax({url:elem.src,async:false,dataType:"script"});else
jQuery.globalEval(elem.text||elem.textContent||elem.innerHTML||"");if(elem.parentNode)elem.parentNode.removeChild(elem);}jQuery.extend=jQuery.fn.extend=function(){var target=arguments[0]||{},i=1,length=arguments.length,deep=false,options;if(target.constructor==Boolean){deep=target;target=arguments[1]||{};i=2;}if(typeof target!="object"&&typeof target!="function")target={};if(length==1){target=this;i=0;}for(;i<length;i++)if((options=arguments[i])!=null)for(var name in options){if(target===options[name])continue;if(deep&&options[name]&&typeof options[name]=="object"&&target[name]&&!options[name].nodeType)target[name]=jQuery.extend(deep,target[name],options[name]);else if(options[name]!=undefined)target[name]=options[name];}return target;};var expando="jQuery"+(new Date()).getTime(),uuid=0,windowData={};var exclude=/z-?index|font-?weight|opacity|zoom|line-?height/i;jQuery.extend({noConflict:function(deep){window.$=_$;if(deep)window.jQuery=_jQuery;return jQuery;},isFunction:function(fn){return!!fn&&typeof fn!="string"&&!fn.nodeName&&fn.constructor!=Array&&/function/i.test(fn+"");},isXMLDoc:function(elem){return elem.documentElement&&!elem.body||elem.tagName&&elem.ownerDocument&&!elem.ownerDocument.body;},globalEval:function(data){data=jQuery.trim(data);if(data){var head=document.getElementsByTagName("head")[0]||document.documentElement,script=document.createElement("script");script.type="text/javascript";if(jQuery.browser.msie)script.text=data;else
script.appendChild(document.createTextNode(data));head.appendChild(script);head.removeChild(script);}},nodeName:function(elem,name){return elem.nodeName&&elem.nodeName.toUpperCase()==name.toUpperCase();},cache:{},data:function(elem,name,data){elem=elem==window?windowData:elem;var id=elem[expando];if(!id)id=elem[expando]=++uuid;if(name&&!jQuery.cache[id])jQuery.cache[id]={};if(data!=undefined)jQuery.cache[id][name]=data;return name?jQuery.cache[id][name]:id;},removeData:function(elem,name){elem=elem==window?windowData:elem;var id=elem[expando];if(name){if(jQuery.cache[id]){delete jQuery.cache[id][name];name="";for(name in jQuery.cache[id])break;if(!name)jQuery.removeData(elem);}}else{try{delete elem[expando];}catch(e){if(elem.removeAttribute)elem.removeAttribute(expando);}delete jQuery.cache[id];}},each:function(object,callback,args){if(args){if(object.length==undefined){for(var name in object)if(callback.apply(object[name],args)===false)break;}else
for(var i=0,length=object.length;i<length;i++)if(callback.apply(object[i],args)===false)break;}else{if(object.length==undefined){for(var name in object)if(callback.call(object[name],name,object[name])===false)break;}else
for(var i=0,length=object.length,value=object[0];i<length&&callback.call(value,i,value)!==false;value=object[++i]){}}return object;},prop:function(elem,value,type,i,name){if(jQuery.isFunction(value))value=value.call(elem,i);return value&&value.constructor==Number&&type=="curCSS"&&!exclude.test(name)?value+"px":value;},className:{add:function(elem,classNames){jQuery.each((classNames||"").split(/\s+/),function(i,className){if(elem.nodeType==1&&!jQuery.className.has(elem.className,className))elem.className+=(elem.className?" ":"")+className;});},remove:function(elem,classNames){if(elem.nodeType==1)elem.className=classNames!=undefined?jQuery.grep(elem.className.split(/\s+/),function(className){return!jQuery.className.has(classNames,className);}).join(" "):"";},has:function(elem,className){return jQuery.inArray(className,(elem.className||elem).toString().split(/\s+/))>-1;}},swap:function(elem,options,callback){var old={};for(var name in options){old[name]=elem.style[name];elem.style[name]=options[name];}callback.call(elem);for(var name in options)elem.style[name]=old[name];},css:function(elem,name,force){if(name=="width"||name=="height"){var val,props={position:"absolute",visibility:"hidden",display:"block"},which=name=="width"?["Left","Right"]:["Top","Bottom"];function getWH(){val=name=="width"?elem.offsetWidth:elem.offsetHeight;var padding=0,border=0;jQuery.each(which,function(){padding+=parseFloat(jQuery.curCSS(elem,"padding"+this,true))||0;border+=parseFloat(jQuery.curCSS(elem,"border"+this+"Width",true))||0;});val-=Math.round(padding+border);}if(jQuery(elem).is(":visible"))getWH();else
jQuery.swap(elem,props,getWH);return Math.max(0,val);}return jQuery.curCSS(elem,name,force);},curCSS:function(elem,name,force){var ret;function color(elem){if(!jQuery.browser.safari)return false;var ret=document.defaultView.getComputedStyle(elem,null);return!ret||ret.getPropertyValue("color")=="";}if(name=="opacity"&&jQuery.browser.msie){ret=jQuery.attr(elem.style,"opacity");return ret==""?"1":ret;}if(jQuery.browser.opera&&name=="display"){var save=elem.style.outline;elem.style.outline="0 solid black";elem.style.outline=save;}if(name.match(/float/i))name=styleFloat;if(!force&&elem.style&&elem.style[name])ret=elem.style[name];else if(document.defaultView&&document.defaultView.getComputedStyle){if(name.match(/float/i))name="float";name=name.replace(/([A-Z])/g,"-$1").toLowerCase();var getComputedStyle=document.defaultView.getComputedStyle(elem,null);if(getComputedStyle&&!color(elem))ret=getComputedStyle.getPropertyValue(name);else{var swap=[],stack=[];for(var a=elem;a&&color(a);a=a.parentNode)stack.unshift(a);for(var i=0;i<stack.length;i++)if(color(stack[i])){swap[i]=stack[i].style.display;stack[i].style.display="block";}ret=name=="display"&&swap[stack.length-1]!=null?"none":(getComputedStyle&&getComputedStyle.getPropertyValue(name))||"";for(var i=0;i<swap.length;i++)if(swap[i]!=null)stack[i].style.display=swap[i];}if(name=="opacity"&&ret=="")ret="1";}else if(elem.currentStyle){var camelCase=name.replace(/\-(\w)/g,function(all,letter){return letter.toUpperCase();});ret=elem.currentStyle[name]||elem.currentStyle[camelCase];if(!/^\d+(px)?$/i.test(ret)&&/^\d/.test(ret)){var style=elem.style.left,runtimeStyle=elem.runtimeStyle.left;elem.runtimeStyle.left=elem.currentStyle.left;elem.style.left=ret||0;ret=elem.style.pixelLeft+"px";elem.style.left=style;elem.runtimeStyle.left=runtimeStyle;}}return ret;},clean:function(elems,context){var ret=[];context=context||document;if(typeof context.createElement=='undefined')context=context.ownerDocument||context[0]&&context[0].ownerDocument||document;jQuery.each(elems,function(i,elem){if(!elem)return;if(elem.constructor==Number)elem=elem.toString();if(typeof elem=="string"){elem=elem.replace(/(<(\w+)[^>]*?)\/>/g,function(all,front,tag){return tag.match(/^(abbr|br|col|img|input|link|meta|param|hr|area|embed)$/i)?all:front+"></"+tag+">";});var tags=jQuery.trim(elem).toLowerCase(),div=context.createElement("div");var wrap=!tags.indexOf("<opt")&&[1,"<select multiple='multiple'>","</select>"]||!tags.indexOf("<leg")&&[1,"<fieldset>","</fieldset>"]||tags.match(/^<(thead|tbody|tfoot|colg|cap)/)&&[1,"<table>","</table>"]||!tags.indexOf("<tr")&&[2,"<table><tbody>","</tbody></table>"]||(!tags.indexOf("<td")||!tags.indexOf("<th"))&&[3,"<table><tbody><tr>","</tr></tbody></table>"]||!tags.indexOf("<col")&&[2,"<table><tbody></tbody><colgroup>","</colgroup></table>"]||jQuery.browser.msie&&[1,"div<div>","</div>"]||[0,"",""];div.innerHTML=wrap[1]+elem+wrap[2];while(wrap[0]--)div=div.lastChild;if(jQuery.browser.msie){var tbody=!tags.indexOf("<table")&&tags.indexOf("<tbody")<0?div.firstChild&&div.firstChild.childNodes:wrap[1]=="<table>"&&tags.indexOf("<tbody")<0?div.childNodes:[];for(var j=tbody.length-1;j>=0;--j)if(jQuery.nodeName(tbody[j],"tbody")&&!tbody[j].childNodes.length)tbody[j].parentNode.removeChild(tbody[j]);if(/^\s/.test(elem))div.insertBefore(context.createTextNode(elem.match(/^\s*/)[0]),div.firstChild);}elem=jQuery.makeArray(div.childNodes);}if(elem.length===0&&(!jQuery.nodeName(elem,"form")&&!jQuery.nodeName(elem,"select")))return;if(elem[0]==undefined||jQuery.nodeName(elem,"form")||elem.options)ret.push(elem);else
ret=jQuery.merge(ret,elem);});return ret;},attr:function(elem,name,value){if(!elem||elem.nodeType==3||elem.nodeType==8)return undefined;var fix=jQuery.isXMLDoc(elem)?{}:jQuery.props;if(name=="selected"&&jQuery.browser.safari)elem.parentNode.selectedIndex;if(fix[name]){if(value!=undefined)elem[fix[name]]=value;return elem[fix[name]];}else if(jQuery.browser.msie&&name=="style")return jQuery.attr(elem.style,"cssText",value);else if(value==undefined&&jQuery.browser.msie&&jQuery.nodeName(elem,"form")&&(name=="action"||name=="method"))return elem.getAttributeNode(name).nodeValue;else if(elem.tagName){if(value!=undefined){if(name=="type"&&jQuery.nodeName(elem,"input")&&elem.parentNode)throw"type property can't be changed";elem.setAttribute(name,""+value);}if(jQuery.browser.msie&&/href|src/.test(name)&&!jQuery.isXMLDoc(elem))return elem.getAttribute(name,2);return elem.getAttribute(name);}else{if(name=="opacity"&&jQuery.browser.msie){if(value!=undefined){elem.zoom=1;elem.filter=(elem.filter||"").replace(/alpha\([^)]*\)/,"")+(parseFloat(value).toString()=="NaN"?"":"alpha(opacity="+value*100+")");}return elem.filter&&elem.filter.indexOf("opacity=")>=0?(parseFloat(elem.filter.match(/opacity=([^)]*)/)[1])/100).toString():"";}name=name.replace(/-([a-z])/ig,function(all,letter){return letter.toUpperCase();});if(value!=undefined)elem[name]=value;return elem[name];}},trim:function(text){return(text||"").replace(/^\s+|\s+$/g,"");},makeArray:function(array){var ret=[];if(array.constructor!=Array)for(var i=0,length=array.length;i<length;i++)ret.push(array[i]);else
ret=array.slice(0);return ret;},inArray:function(elem,array){for(var i=0,length=array.length;i<length;i++)if(array[i]==elem)return i;return-1;},merge:function(first,second){if(jQuery.browser.msie){for(var i=0;second[i];i++)if(second[i].nodeType!=8)first.push(second[i]);}else
for(var i=0;second[i];i++)first.push(second[i]);return first;},unique:function(array){var ret=[],done={};try{for(var i=0,length=array.length;i<length;i++){var id=jQuery.data(array[i]);if(!done[id]){done[id]=true;ret.push(array[i]);}}}catch(e){ret=array;}return ret;},grep:function(elems,callback,inv){var ret=[];for(var i=0,length=elems.length;i<length;i++)if(!inv&&callback(elems[i],i)||inv&&!callback(elems[i],i))ret.push(elems[i]);return ret;},map:function(elems,callback){var ret=[];for(var i=0,length=elems.length;i<length;i++){var value=callback(elems[i],i);if(value!==null&&value!=undefined){if(value.constructor!=Array)value=[value];ret=ret.concat(value);}}return ret;}});var userAgent=navigator.userAgent.toLowerCase();jQuery.browser={version:(userAgent.match(/.+(?:rv|it|ra|ie)[\/: ]([\d.]+)/)||[])[1],safari:/webkit/.test(userAgent),opera:/opera/.test(userAgent),msie:/msie/.test(userAgent)&&!/opera/.test(userAgent),mozilla:/mozilla/.test(userAgent)&&!/(compatible|webkit)/.test(userAgent)};var styleFloat=jQuery.browser.msie?"styleFloat":"cssFloat";jQuery.extend({boxModel:!jQuery.browser.msie||document.compatMode=="CSS1Compat",props:{"for":"htmlFor","class":"className","float":styleFloat,cssFloat:styleFloat,styleFloat:styleFloat,innerHTML:"innerHTML",className:"className",value:"value",disabled:"disabled",checked:"checked",readonly:"readOnly",selected:"selected",maxlength:"maxLength",selectedIndex:"selectedIndex",defaultValue:"defaultValue",tagName:"tagName",nodeName:"nodeName"}});jQuery.each({parent:function(elem){return elem.parentNode;},parents:function(elem){return jQuery.dir(elem,"parentNode");},next:function(elem){return jQuery.nth(elem,2,"nextSibling");},prev:function(elem){return jQuery.nth(elem,2,"previousSibling");},nextAll:function(elem){return jQuery.dir(elem,"nextSibling");},prevAll:function(elem){return jQuery.dir(elem,"previousSibling");},siblings:function(elem){return jQuery.sibling(elem.parentNode.firstChild,elem);},children:function(elem){return jQuery.sibling(elem.firstChild);},contents:function(elem){return jQuery.nodeName(elem,"iframe")?elem.contentDocument||elem.contentWindow.document:jQuery.makeArray(elem.childNodes);}},function(name,fn){jQuery.fn[name]=function(selector){var ret=jQuery.map(this,fn);if(selector&&typeof selector=="string")ret=jQuery.multiFilter(selector,ret);return this.pushStack(jQuery.unique(ret));};});jQuery.each({appendTo:"append",prependTo:"prepend",insertBefore:"before",insertAfter:"after",replaceAll:"replaceWith"},function(name,original){jQuery.fn[name]=function(){var args=arguments;return this.each(function(){for(var i=0,length=args.length;i<length;i++)jQuery(args[i])[original](this);});};});jQuery.each({removeAttr:function(name){jQuery.attr(this,name,"");if(this.nodeType==1)this.removeAttribute(name);},addClass:function(classNames){jQuery.className.add(this,classNames);},removeClass:function(classNames){jQuery.className.remove(this,classNames);},toggleClass:function(classNames){jQuery.className[jQuery.className.has(this,classNames)?"remove":"add"](this,classNames);},remove:function(selector){if(!selector||jQuery.filter(selector,[this]).r.length){jQuery("*",this).add(this).each(function(){jQuery.event.remove(this);jQuery.removeData(this);});if(this.parentNode)this.parentNode.removeChild(this);}},empty:function(){jQuery(">*",this).remove();while(this.firstChild)this.removeChild(this.firstChild);}},function(name,fn){jQuery.fn[name]=function(){return this.each(fn,arguments);};});jQuery.each(["Height","Width"],function(i,name){var type=name.toLowerCase();jQuery.fn[type]=function(size){return this[0]==window?jQuery.browser.opera&&document.body["client"+name]||jQuery.browser.safari&&window["inner"+name]||document.compatMode=="CSS1Compat"&&document.documentElement["client"+name]||document.body["client"+name]:this[0]==document?Math.max(Math.max(document.body["scroll"+name],document.documentElement["scroll"+name]),Math.max(document.body["offset"+name],document.documentElement["offset"+name])):size==undefined?(this.length?jQuery.css(this[0],type):null):this.css(type,size.constructor==String?size:size+"px");};});var chars=jQuery.browser.safari&&parseInt(jQuery.browser.version)<417?"(?:[\\w*_-]|\\\\.)":"(?:[\\w\u0128-\uFFFF*_-]|\\\\.)",quickChild=new RegExp("^>\\s*("+chars+"+)"),quickID=new RegExp("^("+chars+"+)(#)("+chars+"+)"),quickClass=new RegExp("^([#.]?)("+chars+"*)");jQuery.extend({expr:{"":function(a,i,m){return m[2]=="*"||jQuery.nodeName(a,m[2]);},"#":function(a,i,m){return a.getAttribute("id")==m[2];},":":{lt:function(a,i,m){return i<m[3]-0;},gt:function(a,i,m){return i>m[3]-0;},nth:function(a,i,m){return m[3]-0==i;},eq:function(a,i,m){return m[3]-0==i;},first:function(a,i){return i==0;},last:function(a,i,m,r){return i==r.length-1;},even:function(a,i){return i%2==0;},odd:function(a,i){return i%2;},"first-child":function(a){return a.parentNode.getElementsByTagName("*")[0]==a;},"last-child":function(a){return jQuery.nth(a.parentNode.lastChild,1,"previousSibling")==a;},"only-child":function(a){return!jQuery.nth(a.parentNode.lastChild,2,"previousSibling");},parent:function(a){return a.firstChild;},empty:function(a){return!a.firstChild;},contains:function(a,i,m){return(a.textContent||a.innerText||jQuery(a).text()||"").indexOf(m[3])>=0;},visible:function(a){return"hidden"!=a.type&&jQuery.css(a,"display")!="none"&&jQuery.css(a,"visibility")!="hidden";},hidden:function(a){return"hidden"==a.type||jQuery.css(a,"display")=="none"||jQuery.css(a,"visibility")=="hidden";},enabled:function(a){return!a.disabled;},disabled:function(a){return a.disabled;},checked:function(a){return a.checked;},selected:function(a){return a.selected||jQuery.attr(a,"selected");},text:function(a){return"text"==a.type;},radio:function(a){return"radio"==a.type;},checkbox:function(a){return"checkbox"==a.type;},file:function(a){return"file"==a.type;},password:function(a){return"password"==a.type;},submit:function(a){return"submit"==a.type;},image:function(a){return"image"==a.type;},reset:function(a){return"reset"==a.type;},button:function(a){return"button"==a.type||jQuery.nodeName(a,"button");},input:function(a){return/input|select|textarea|button/i.test(a.nodeName);},has:function(a,i,m){return jQuery.find(m[3],a).length;},header:function(a){return/h\d/i.test(a.nodeName);},animated:function(a){return jQuery.grep(jQuery.timers,function(fn){return a==fn.elem;}).length;}}},parse:[/^(\[) *@?([\w-]+) *([!*$^~=]*) *('?"?)(.*?)\4 *\]/,/^(:)([\w-]+)\("?'?(.*?(\(.*?\))?[^(]*?)"?'?\)/,new RegExp("^([:.#]*)("+chars+"+)")],multiFilter:function(expr,elems,not){var old,cur=[];while(expr&&expr!=old){old=expr;var f=jQuery.filter(expr,elems,not);expr=f.t.replace(/^\s*,\s*/,"");cur=not?elems=f.r:jQuery.merge(cur,f.r);}return cur;},find:function(t,context){if(typeof t!="string")return[t];if(context&&context.nodeType!=1&&context.nodeType!=9)return[];context=context||document;var ret=[context],done=[],last,nodeName;while(t&&last!=t){var r=[];last=t;t=jQuery.trim(t);var foundToken=false;var re=quickChild;var m=re.exec(t);if(m){nodeName=m[1].toUpperCase();for(var i=0;ret[i];i++)for(var c=ret[i].firstChild;c;c=c.nextSibling)if(c.nodeType==1&&(nodeName=="*"||c.nodeName.toUpperCase()==nodeName))r.push(c);ret=r;t=t.replace(re,"");if(t.indexOf(" ")==0)continue;foundToken=true;}else{re=/^([>+~])\s*(\w*)/i;if((m=re.exec(t))!=null){r=[];var merge={};nodeName=m[2].toUpperCase();m=m[1];for(var j=0,rl=ret.length;j<rl;j++){var n=m=="~"||m=="+"?ret[j].nextSibling:ret[j].firstChild;for(;n;n=n.nextSibling)if(n.nodeType==1){var id=jQuery.data(n);if(m=="~"&&merge[id])break;if(!nodeName||n.nodeName.toUpperCase()==nodeName){if(m=="~")merge[id]=true;r.push(n);}if(m=="+")break;}}ret=r;t=jQuery.trim(t.replace(re,""));foundToken=true;}}if(t&&!foundToken){if(!t.indexOf(",")){if(context==ret[0])ret.shift();done=jQuery.merge(done,ret);r=ret=[context];t=" "+t.substr(1,t.length);}else{var re2=quickID;var m=re2.exec(t);if(m){m=[0,m[2],m[3],m[1]];}else{re2=quickClass;m=re2.exec(t);}m[2]=m[2].replace(/\\/g,"");var elem=ret[ret.length-1];if(m[1]=="#"&&elem&&elem.getElementById&&!jQuery.isXMLDoc(elem)){var oid=elem.getElementById(m[2]);if((jQuery.browser.msie||jQuery.browser.opera)&&oid&&typeof oid.id=="string"&&oid.id!=m[2])oid=jQuery('[@id="'+m[2]+'"]',elem)[0];ret=r=oid&&(!m[3]||jQuery.nodeName(oid,m[3]))?[oid]:[];}else{for(var i=0;ret[i];i++){var tag=m[1]=="#"&&m[3]?m[3]:m[1]!=""||m[0]==""?"*":m[2];if(tag=="*"&&ret[i].nodeName.toLowerCase()=="object")tag="param";r=jQuery.merge(r,ret[i].getElementsByTagName(tag));}if(m[1]==".")r=jQuery.classFilter(r,m[2]);if(m[1]=="#"){var tmp=[];for(var i=0;r[i];i++)if(r[i].getAttribute("id")==m[2]){tmp=[r[i]];break;}r=tmp;}ret=r;}t=t.replace(re2,"");}}if(t){var val=jQuery.filter(t,r);ret=r=val.r;t=jQuery.trim(val.t);}}if(t)ret=[];if(ret&&context==ret[0])ret.shift();done=jQuery.merge(done,ret);return done;},classFilter:function(r,m,not){m=" "+m+" ";var tmp=[];for(var i=0;r[i];i++){var pass=(" "+r[i].className+" ").indexOf(m)>=0;if(!not&&pass||not&&!pass)tmp.push(r[i]);}return tmp;},filter:function(t,r,not){var last;while(t&&t!=last){last=t;var p=jQuery.parse,m;for(var i=0;p[i];i++){m=p[i].exec(t);if(m){t=t.substring(m[0].length);m[2]=m[2].replace(/\\/g,"");break;}}if(!m)break;if(m[1]==":"&&m[2]=="not")r=isSimple.test(m[3])?jQuery.filter(m[3],r,true).r:jQuery(r).not(m[3]);else if(m[1]==".")r=jQuery.classFilter(r,m[2],not);else if(m[1]=="["){var tmp=[],type=m[3];for(var i=0,rl=r.length;i<rl;i++){var a=r[i],z=a[jQuery.props[m[2]]||m[2]];if(z==null||/href|src|selected/.test(m[2]))z=jQuery.attr(a,m[2])||'';if((type==""&&!!z||type=="="&&z==m[5]||type=="!="&&z!=m[5]||type=="^="&&z&&!z.indexOf(m[5])||type=="$="&&z.substr(z.length-m[5].length)==m[5]||(type=="*="||type=="~=")&&z.indexOf(m[5])>=0)^not)tmp.push(a);}r=tmp;}else if(m[1]==":"&&m[2]=="nth-child"){var merge={},tmp=[],test=/(-?)(\d*)n((?:\+|-)?\d*)/.exec(m[3]=="even"&&"2n"||m[3]=="odd"&&"2n+1"||!/\D/.test(m[3])&&"0n+"+m[3]||m[3]),first=(test[1]+(test[2]||1))-0,last=test[3]-0;for(var i=0,rl=r.length;i<rl;i++){var node=r[i],parentNode=node.parentNode,id=jQuery.data(parentNode);if(!merge[id]){var c=1;for(var n=parentNode.firstChild;n;n=n.nextSibling)if(n.nodeType==1)n.nodeIndex=c++;merge[id]=true;}var add=false;if(first==0){if(node.nodeIndex==last)add=true;}else if((node.nodeIndex-last)%first==0&&(node.nodeIndex-last)/first>=0)add=true;if(add^not)tmp.push(node);}r=tmp;}else{var fn=jQuery.expr[m[1]];if(typeof fn=="object")fn=fn[m[2]];if(typeof fn=="string")fn=eval("false||function(a,i){return "+fn+";}");r=jQuery.grep(r,function(elem,i){return fn(elem,i,m,r);},not);}}return{r:r,t:t};},dir:function(elem,dir){var matched=[];var cur=elem[dir];while(cur&&cur!=document){if(cur.nodeType==1)matched.push(cur);cur=cur[dir];}return matched;},nth:function(cur,result,dir,elem){result=result||1;var num=0;for(;cur;cur=cur[dir])if(cur.nodeType==1&&++num==result)break;return cur;},sibling:function(n,elem){var r=[];for(;n;n=n.nextSibling){if(n.nodeType==1&&(!elem||n!=elem))r.push(n);}return r;}});jQuery.event={add:function(elem,types,handler,data){if(elem.nodeType==3||elem.nodeType==8)return;if(jQuery.browser.msie&&elem.setInterval!=undefined)elem=window;if(!handler.guid)handler.guid=this.guid++;if(data!=undefined){var fn=handler;handler=function(){return fn.apply(this,arguments);};handler.data=data;handler.guid=fn.guid;}var events=jQuery.data(elem,"events")||jQuery.data(elem,"events",{}),handle=jQuery.data(elem,"handle")||jQuery.data(elem,"handle",function(){var val;if(typeof jQuery=="undefined"||jQuery.event.triggered)return val;val=jQuery.event.handle.apply(arguments.callee.elem,arguments);return val;});handle.elem=elem;jQuery.each(types.split(/\s+/),function(index,type){var parts=type.split(".");type=parts[0];handler.type=parts[1];var handlers=events[type];if(!handlers){handlers=events[type]={};if(!jQuery.event.special[type]||jQuery.event.special[type].setup.call(elem)===false){if(elem.addEventListener)elem.addEventListener(type,handle,false);else if(elem.attachEvent)elem.attachEvent("on"+type,handle);}}handlers[handler.guid]=handler;jQuery.event.global[type]=true;});elem=null;},guid:1,global:{},remove:function(elem,types,handler){if(elem.nodeType==3||elem.nodeType==8)return;var events=jQuery.data(elem,"events"),ret,index;if(events){if(types==undefined||(typeof types=="string"&&types.charAt(0)=="."))for(var type in events)this.remove(elem,type+(types||""));else{if(types.type){handler=types.handler;types=types.type;}jQuery.each(types.split(/\s+/),function(index,type){var parts=type.split(".");type=parts[0];if(events[type]){if(handler)delete events[type][handler.guid];else
for(handler in events[type])if(!parts[1]||events[type][handler].type==parts[1])delete events[type][handler];for(ret in events[type])break;if(!ret){if(!jQuery.event.special[type]||jQuery.event.special[type].teardown.call(elem)===false){if(elem.removeEventListener)elem.removeEventListener(type,jQuery.data(elem,"handle"),false);else if(elem.detachEvent)elem.detachEvent("on"+type,jQuery.data(elem,"handle"));}ret=null;delete events[type];}}});}for(ret in events)break;if(!ret){var handle=jQuery.data(elem,"handle");if(handle)handle.elem=null;jQuery.removeData(elem,"events");jQuery.removeData(elem,"handle");}}},trigger:function(type,data,elem,donative,extra){data=jQuery.makeArray(data||[]);if(type.indexOf("!")>=0){type=type.slice(0,-1);var exclusive=true;}if(!elem){if(this.global[type])jQuery("*").add([window,document]).trigger(type,data);}else{if(elem.nodeType==3||elem.nodeType==8)return undefined;var val,ret,fn=jQuery.isFunction(elem[type]||null),event=!data[0]||!data[0].preventDefault;if(event)data.unshift(this.fix({type:type,target:elem}));data[0].type=type;if(exclusive)data[0].exclusive=true;if(jQuery.isFunction(jQuery.data(elem,"handle")))val=jQuery.data(elem,"handle").apply(elem,data);if(!fn&&elem["on"+type]&&elem["on"+type].apply(elem,data)===false)val=false;if(event)data.shift();if(extra&&jQuery.isFunction(extra)){ret=extra.apply(elem,val==null?data:data.concat(val));if(ret!==undefined)val=ret;}if(fn&&donative!==false&&val!==false&&!(jQuery.nodeName(elem,'a')&&type=="click")){this.triggered=true;try{elem[type]();}catch(e){}}this.triggered=false;}return val;},handle:function(event){var val;event=jQuery.event.fix(event||window.event||{});var parts=event.type.split(".");event.type=parts[0];var handlers=jQuery.data(this,"events")&&jQuery.data(this,"events")[event.type],args=Array.prototype.slice.call(arguments,1);args.unshift(event);for(var j in handlers){var handler=handlers[j];args[0].handler=handler;args[0].data=handler.data;if(!parts[1]&&!event.exclusive||handler.type==parts[1]){var ret=handler.apply(this,args);if(val!==false)val=ret;if(ret===false){event.preventDefault();event.stopPropagation();}}}if(jQuery.browser.msie)event.target=event.preventDefault=event.stopPropagation=event.handler=event.data=null;return val;},fix:function(event){var originalEvent=event;event=jQuery.extend({},originalEvent);event.preventDefault=function(){if(originalEvent.preventDefault)originalEvent.preventDefault();originalEvent.returnValue=false;};event.stopPropagation=function(){if(originalEvent.stopPropagation)originalEvent.stopPropagation();originalEvent.cancelBubble=true;};if(!event.target)event.target=event.srcElement||document;if(event.target.nodeType==3)event.target=originalEvent.target.parentNode;if(!event.relatedTarget&&event.fromElement)event.relatedTarget=event.fromElement==event.target?event.toElement:event.fromElement;if(event.pageX==null&&event.clientX!=null){var doc=document.documentElement,body=document.body;event.pageX=event.clientX+(doc&&doc.scrollLeft||body&&body.scrollLeft||0)-(doc.clientLeft||0);event.pageY=event.clientY+(doc&&doc.scrollTop||body&&body.scrollTop||0)-(doc.clientTop||0);}if(!event.which&&((event.charCode||event.charCode===0)?event.charCode:event.keyCode))event.which=event.charCode||event.keyCode;if(!event.metaKey&&event.ctrlKey)event.metaKey=event.ctrlKey;if(!event.which&&event.button)event.which=(event.button&1?1:(event.button&2?3:(event.button&4?2:0)));return event;},special:{ready:{setup:function(){bindReady();return;},teardown:function(){return;}},mouseenter:{setup:function(){if(jQuery.browser.msie)return false;jQuery(this).bind("mouseover",jQuery.event.special.mouseenter.handler);return true;},teardown:function(){if(jQuery.browser.msie)return false;jQuery(this).unbind("mouseover",jQuery.event.special.mouseenter.handler);return true;},handler:function(event){if(withinElement(event,this))return true;arguments[0].type="mouseenter";return jQuery.event.handle.apply(this,arguments);}},mouseleave:{setup:function(){if(jQuery.browser.msie)return false;jQuery(this).bind("mouseout",jQuery.event.special.mouseleave.handler);return true;},teardown:function(){if(jQuery.browser.msie)return false;jQuery(this).unbind("mouseout",jQuery.event.special.mouseleave.handler);return true;},handler:function(event){if(withinElement(event,this))return true;arguments[0].type="mouseleave";return jQuery.event.handle.apply(this,arguments);}}}};jQuery.fn.extend({bind:function(type,data,fn){return type=="unload"?this.one(type,data,fn):this.each(function(){jQuery.event.add(this,type,fn||data,fn&&data);});},one:function(type,data,fn){return this.each(function(){jQuery.event.add(this,type,function(event){jQuery(this).unbind(event);return(fn||data).apply(this,arguments);},fn&&data);});},unbind:function(type,fn){return this.each(function(){jQuery.event.remove(this,type,fn);});},trigger:function(type,data,fn){return this.each(function(){jQuery.event.trigger(type,data,this,true,fn);});},triggerHandler:function(type,data,fn){if(this[0])return jQuery.event.trigger(type,data,this[0],false,fn);return undefined;},toggle:function(){var args=arguments;return this.click(function(event){this.lastToggle=0==this.lastToggle?1:0;event.preventDefault();return args[this.lastToggle].apply(this,arguments)||false;});},hover:function(fnOver,fnOut){return this.bind('mouseenter',fnOver).bind('mouseleave',fnOut);},ready:function(fn){bindReady();if(jQuery.isReady)fn.call(document,jQuery);else
jQuery.readyList.push(function(){return fn.call(this,jQuery);});return this;}});jQuery.extend({isReady:false,readyList:[],ready:function(){if(!jQuery.isReady){jQuery.isReady=true;if(jQuery.readyList){jQuery.each(jQuery.readyList,function(){this.apply(document);});jQuery.readyList=null;}jQuery(document).triggerHandler("ready");}}});var readyBound=false;function bindReady(){if(readyBound)return;readyBound=true;if(document.addEventListener&&!jQuery.browser.opera)document.addEventListener("DOMContentLoaded",jQuery.ready,false);if(jQuery.browser.msie&&window==top)(function(){if(jQuery.isReady)return;try{document.documentElement.doScroll("left");}catch(error){setTimeout(arguments.callee,0);return;}jQuery.ready();})();if(jQuery.browser.opera)document.addEventListener("DOMContentLoaded",function(){if(jQuery.isReady)return;for(var i=0;i<document.styleSheets.length;i++)if(document.styleSheets[i].disabled){setTimeout(arguments.callee,0);return;}jQuery.ready();},false);if(jQuery.browser.safari){var numStyles;(function(){if(jQuery.isReady)return;if(document.readyState!="loaded"&&document.readyState!="complete"){setTimeout(arguments.callee,0);return;}if(numStyles===undefined)numStyles=jQuery("style, link[rel=stylesheet]").length;if(document.styleSheets.length!=numStyles){setTimeout(arguments.callee,0);return;}jQuery.ready();})();}jQuery.event.add(window,"load",jQuery.ready);}jQuery.each(("blur,focus,load,resize,scroll,unload,click,dblclick,"+"mousedown,mouseup,mousemove,mouseover,mouseout,change,select,"+"submit,keydown,keypress,keyup,error").split(","),function(i,name){jQuery.fn[name]=function(fn){return fn?this.bind(name,fn):this.trigger(name);};});var withinElement=function(event,elem){var parent=event.relatedTarget;while(parent&&parent!=elem)try{parent=parent.parentNode;}catch(error){parent=elem;}return parent==elem;};jQuery(window).bind("unload",function(){jQuery("*").add(document).unbind();});jQuery.fn.extend({load:function(url,params,callback){if(jQuery.isFunction(url))return this.bind("load",url);var off=url.indexOf(" ");if(off>=0){var selector=url.slice(off,url.length);url=url.slice(0,off);}callback=callback||function(){};var type="GET";if(params)if(jQuery.isFunction(params)){callback=params;params=null;}else{params=jQuery.param(params);type="POST";}var self=this;jQuery.ajax({url:url,type:type,dataType:"html",data:params,complete:function(res,status){if(status=="success"||status=="notmodified")self.html(selector?jQuery("<div/>").append(res.responseText.replace(/<script(.|\s)*?\/script>/g,"")).find(selector):res.responseText);self.each(callback,[res.responseText,status,res]);}});return this;},serialize:function(){return jQuery.param(this.serializeArray());},serializeArray:function(){return this.map(function(){return jQuery.nodeName(this,"form")?jQuery.makeArray(this.elements):this;}).filter(function(){return this.name&&!this.disabled&&(this.checked||/select|textarea/i.test(this.nodeName)||/text|hidden|password/i.test(this.type));}).map(function(i,elem){var val=jQuery(this).val();return val==null?null:val.constructor==Array?jQuery.map(val,function(val,i){return{name:elem.name,value:val};}):{name:elem.name,value:val};}).get();}});jQuery.each("ajaxStart,ajaxStop,ajaxComplete,ajaxError,ajaxSuccess,ajaxSend".split(","),function(i,o){jQuery.fn[o]=function(f){return this.bind(o,f);};});var jsc=(new Date).getTime();jQuery.extend({get:function(url,data,callback,type){if(jQuery.isFunction(data)){callback=data;data=null;}return jQuery.ajax({type:"GET",url:url,data:data,success:callback,dataType:type});},getScript:function(url,callback){return jQuery.get(url,null,callback,"script");},getJSON:function(url,data,callback){return jQuery.get(url,data,callback,"json");},post:function(url,data,callback,type){if(jQuery.isFunction(data)){callback=data;data={};}return jQuery.ajax({type:"POST",url:url,data:data,success:callback,dataType:type});},ajaxSetup:function(settings){jQuery.extend(jQuery.ajaxSettings,settings);},ajaxSettings:{global:true,type:"GET",timeout:0,contentType:"application/x-www-form-urlencoded",processData:true,async:true,data:null,username:null,password:null,accepts:{xml:"application/xml, text/xml",html:"text/html",script:"text/javascript, application/javascript",json:"application/json, text/javascript",text:"text/plain",_default:"*/*"}},lastModified:{},ajax:function(s){var jsonp,jsre=/=\?(&|$)/g,status,data;s=jQuery.extend(true,s,jQuery.extend(true,{},jQuery.ajaxSettings,s));if(s.data&&s.processData&&typeof s.data!="string")s.data=jQuery.param(s.data);if(s.dataType=="jsonp"){if(s.type.toLowerCase()=="get"){if(!s.url.match(jsre))s.url+=(s.url.match(/\?/)?"&":"?")+(s.jsonp||"callback")+"=?";}else if(!s.data||!s.data.match(jsre))s.data=(s.data?s.data+"&":"")+(s.jsonp||"callback")+"=?";s.dataType="json";}if(s.dataType=="json"&&(s.data&&s.data.match(jsre)||s.url.match(jsre))){jsonp="jsonp"+jsc++;if(s.data)s.data=(s.data+"").replace(jsre,"="+jsonp+"$1");s.url=s.url.replace(jsre,"="+jsonp+"$1");s.dataType="script";window[jsonp]=function(tmp){data=tmp;success();complete();window[jsonp]=undefined;try{delete window[jsonp];}catch(e){}if(head)head.removeChild(script);};}if(s.dataType=="script"&&s.cache==null)s.cache=false;if(s.cache===false&&s.type.toLowerCase()=="get"){var ts=(new Date()).getTime();var ret=s.url.replace(/(\?|&)_=.*?(&|$)/,"$1_="+ts+"$2");s.url=ret+((ret==s.url)?(s.url.match(/\?/)?"&":"?")+"_="+ts:"");}if(s.data&&s.type.toLowerCase()=="get"){s.url+=(s.url.match(/\?/)?"&":"?")+s.data;s.data=null;}if(s.global&&!jQuery.active++)jQuery.event.trigger("ajaxStart");if((!s.url.indexOf("http")||!s.url.indexOf("//"))&&s.dataType=="script"&&s.type.toLowerCase()=="get"){var head=document.getElementsByTagName("head")[0];var script=document.createElement("script");script.src=s.url;if(s.scriptCharset)script.charset=s.scriptCharset;if(!jsonp){var done=false;script.onload=script.onreadystatechange=function(){if(!done&&(!this.readyState||this.readyState=="loaded"||this.readyState=="complete")){done=true;success();complete();head.removeChild(script);}};}head.appendChild(script);return undefined;}var requestDone=false;var xml=window.ActiveXObject?new ActiveXObject("Microsoft.XMLHTTP"):new XMLHttpRequest();xml.open(s.type,s.url,s.async,s.username,s.password);try{if(s.data)xml.setRequestHeader("Content-Type",s.contentType);if(s.ifModified)xml.setRequestHeader("If-Modified-Since",jQuery.lastModified[s.url]||"Thu, 01 Jan 1970 00:00:00 GMT");xml.setRequestHeader("X-Requested-With","XMLHttpRequest");xml.setRequestHeader("Accept",s.dataType&&s.accepts[s.dataType]?s.accepts[s.dataType]+", */*":s.accepts._default);}catch(e){}if(s.beforeSend)s.beforeSend(xml);if(s.global)jQuery.event.trigger("ajaxSend",[xml,s]);var onreadystatechange=function(isTimeout){if(!requestDone&&xml&&(xml.readyState==4||isTimeout=="timeout")){requestDone=true;if(ival){clearInterval(ival);ival=null;}status=isTimeout=="timeout"&&"timeout"||!jQuery.httpSuccess(xml)&&"error"||s.ifModified&&jQuery.httpNotModified(xml,s.url)&&"notmodified"||"success";if(status=="success"){try{data=jQuery.httpData(xml,s.dataType);}catch(e){status="parsererror";}}if(status=="success"){var modRes;try{modRes=xml.getResponseHeader("Last-Modified");}catch(e){}if(s.ifModified&&modRes)jQuery.lastModified[s.url]=modRes;if(!jsonp)success();}else
jQuery.handleError(s,xml,status);complete();if(s.async)xml=null;}};if(s.async){var ival=setInterval(onreadystatechange,13);if(s.timeout>0)setTimeout(function(){if(xml){xml.abort();if(!requestDone)onreadystatechange("timeout");}},s.timeout);}try{xml.send(s.data);}catch(e){jQuery.handleError(s,xml,null,e);}if(!s.async)onreadystatechange();function success(){if(s.success)s.success(data,status);if(s.global)jQuery.event.trigger("ajaxSuccess",[xml,s]);}function complete(){if(s.complete)s.complete(xml,status);if(s.global)jQuery.event.trigger("ajaxComplete",[xml,s]);if(s.global&&!--jQuery.active)jQuery.event.trigger("ajaxStop");}return xml;},handleError:function(s,xml,status,e){if(s.error)s.error(xml,status,e);if(s.global)jQuery.event.trigger("ajaxError",[xml,s,e]);},active:0,httpSuccess:function(r){try{return!r.status&&location.protocol=="file:"||(r.status>=200&&r.status<300)||r.status==304||r.status==1223||jQuery.browser.safari&&r.status==undefined;}catch(e){}return false;},httpNotModified:function(xml,url){try{var xmlRes=xml.getResponseHeader("Last-Modified");return xml.status==304||xmlRes==jQuery.lastModified[url]||jQuery.browser.safari&&xml.status==undefined;}catch(e){}return false;},httpData:function(r,type){var ct=r.getResponseHeader("content-type");var xml=type=="xml"||!type&&ct&&ct.indexOf("xml")>=0;var data=xml?r.responseXML:r.responseText;if(xml&&data.documentElement.tagName=="parsererror")throw"parsererror";if(type=="script")jQuery.globalEval(data);if(type=="json")data=eval("("+data+")");return data;},param:function(a){var s=[];if(a.constructor==Array||a.jquery)jQuery.each(a,function(){s.push(encodeURIComponent(this.name)+"="+encodeURIComponent(this.value));});else
for(var j in a)if(a[j]&&a[j].constructor==Array)jQuery.each(a[j],function(){s.push(encodeURIComponent(j)+"="+encodeURIComponent(this));});else
s.push(encodeURIComponent(j)+"="+encodeURIComponent(a[j]));return s.join("&").replace(/%20/g,"+");}});jQuery.fn.extend({show:function(speed,callback){return speed?this.animate({height:"show",width:"show",opacity:"show"},speed,callback):this.filter(":hidden").each(function(){this.style.display=this.oldblock||"";if(jQuery.css(this,"display")=="none"){var elem=jQuery("<"+this.tagName+" />").appendTo("body");this.style.display=elem.css("display");if(this.style.display=="none")this.style.display="block";elem.remove();}}).end();},hide:function(speed,callback){return speed?this.animate({height:"hide",width:"hide",opacity:"hide"},speed,callback):this.filter(":visible").each(function(){this.oldblock=this.oldblock||jQuery.css(this,"display");this.style.display="none";}).end();},_toggle:jQuery.fn.toggle,toggle:function(fn,fn2){return jQuery.isFunction(fn)&&jQuery.isFunction(fn2)?this._toggle(fn,fn2):fn?this.animate({height:"toggle",width:"toggle",opacity:"toggle"},fn,fn2):this.each(function(){jQuery(this)[jQuery(this).is(":hidden")?"show":"hide"]();});},slideDown:function(speed,callback){return this.animate({height:"show"},speed,callback);},slideUp:function(speed,callback){return this.animate({height:"hide"},speed,callback);},slideToggle:function(speed,callback){return this.animate({height:"toggle"},speed,callback);},fadeIn:function(speed,callback){return this.animate({opacity:"show"},speed,callback);},fadeOut:function(speed,callback){return this.animate({opacity:"hide"},speed,callback);},fadeTo:function(speed,to,callback){return this.animate({opacity:to},speed,callback);},animate:function(prop,speed,easing,callback){var optall=jQuery.speed(speed,easing,callback);return this[optall.queue===false?"each":"queue"](function(){if(this.nodeType!=1)return false;var opt=jQuery.extend({},optall);var hidden=jQuery(this).is(":hidden"),self=this;for(var p in prop){if(prop[p]=="hide"&&hidden||prop[p]=="show"&&!hidden)return jQuery.isFunction(opt.complete)&&opt.complete.apply(this);if(p=="height"||p=="width"){opt.display=jQuery.css(this,"display");opt.overflow=this.style.overflow;}}if(opt.overflow!=null)this.style.overflow="hidden";opt.curAnim=jQuery.extend({},prop);jQuery.each(prop,function(name,val){var e=new jQuery.fx(self,opt,name);if(/toggle|show|hide/.test(val))e[val=="toggle"?hidden?"show":"hide":val](prop);else{var parts=val.toString().match(/^([+-]=)?([\d+-.]+)(.*)$/),start=e.cur(true)||0;if(parts){var end=parseFloat(parts[2]),unit=parts[3]||"px";if(unit!="px"){self.style[name]=(end||1)+unit;start=((end||1)/e.cur(true))*start;self.style[name]=start+unit;}if(parts[1])end=((parts[1]=="-="?-1:1)*end)+start;e.custom(start,end,unit);}else
e.custom(start,val,"");}});return true;});},queue:function(type,fn){if(jQuery.isFunction(type)||(type&&type.constructor==Array)){fn=type;type="fx";}if(!type||(typeof type=="string"&&!fn))return queue(this[0],type);return this.each(function(){if(fn.constructor==Array)queue(this,type,fn);else{queue(this,type).push(fn);if(queue(this,type).length==1)fn.apply(this);}});},stop:function(clearQueue,gotoEnd){var timers=jQuery.timers;if(clearQueue)this.queue([]);this.each(function(){for(var i=timers.length-1;i>=0;i--)if(timers[i].elem==this){if(gotoEnd)timers[i](true);timers.splice(i,1);}});if(!gotoEnd)this.dequeue();return this;}});var queue=function(elem,type,array){if(!elem)return undefined;type=type||"fx";var q=jQuery.data(elem,type+"queue");if(!q||array)q=jQuery.data(elem,type+"queue",array?jQuery.makeArray(array):[]);return q;};jQuery.fn.dequeue=function(type){type=type||"fx";return this.each(function(){var q=queue(this,type);q.shift();if(q.length)q[0].apply(this);});};jQuery.extend({speed:function(speed,easing,fn){var opt=speed&&speed.constructor==Object?speed:{complete:fn||!fn&&easing||jQuery.isFunction(speed)&&speed,duration:speed,easing:fn&&easing||easing&&easing.constructor!=Function&&easing};opt.duration=(opt.duration&&opt.duration.constructor==Number?opt.duration:{slow:600,fast:200}[opt.duration])||400;opt.old=opt.complete;opt.complete=function(){if(opt.queue!==false)jQuery(this).dequeue();if(jQuery.isFunction(opt.old))opt.old.apply(this);};return opt;},easing:{linear:function(p,n,firstNum,diff){return firstNum+diff*p;},swing:function(p,n,firstNum,diff){return((-Math.cos(p*Math.PI)/2)+0.5)*diff+firstNum;}},timers:[],timerId:null,fx:function(elem,options,prop){this.options=options;this.elem=elem;this.prop=prop;if(!options.orig)options.orig={};}});jQuery.fx.prototype={update:function(){if(this.options.step)this.options.step.apply(this.elem,[this.now,this]);(jQuery.fx.step[this.prop]||jQuery.fx.step._default)(this);if(this.prop=="height"||this.prop=="width")this.elem.style.display="block";},cur:function(force){if(this.elem[this.prop]!=null&&this.elem.style[this.prop]==null)return this.elem[this.prop];var r=parseFloat(jQuery.css(this.elem,this.prop,force));return r&&r>-10000?r:parseFloat(jQuery.curCSS(this.elem,this.prop))||0;},custom:function(from,to,unit){this.startTime=(new Date()).getTime();this.start=from;this.end=to;this.unit=unit||this.unit||"px";this.now=this.start;this.pos=this.state=0;this.update();var self=this;function t(gotoEnd){return self.step(gotoEnd);}t.elem=this.elem;jQuery.timers.push(t);if(jQuery.timerId==null){jQuery.timerId=setInterval(function(){var timers=jQuery.timers;for(var i=0;i<timers.length;i++)if(!timers[i]())timers.splice(i--,1);if(!timers.length){clearInterval(jQuery.timerId);jQuery.timerId=null;}},13);}},show:function(){this.options.orig[this.prop]=jQuery.attr(this.elem.style,this.prop);this.options.show=true;this.custom(0,this.cur());if(this.prop=="width"||this.prop=="height")this.elem.style[this.prop]="1px";jQuery(this.elem).show();},hide:function(){this.options.orig[this.prop]=jQuery.attr(this.elem.style,this.prop);this.options.hide=true;this.custom(this.cur(),0);},step:function(gotoEnd){var t=(new Date()).getTime();if(gotoEnd||t>this.options.duration+this.startTime){this.now=this.end;this.pos=this.state=1;this.update();this.options.curAnim[this.prop]=true;var done=true;for(var i in this.options.curAnim)if(this.options.curAnim[i]!==true)done=false;if(done){if(this.options.display!=null){this.elem.style.overflow=this.options.overflow;this.elem.style.display=this.options.display;if(jQuery.css(this.elem,"display")=="none")this.elem.style.display="block";}if(this.options.hide)this.elem.style.display="none";if(this.options.hide||this.options.show)for(var p in this.options.curAnim)jQuery.attr(this.elem.style,p,this.options.orig[p]);}if(done&&jQuery.isFunction(this.options.complete))this.options.complete.apply(this.elem);return false;}else{var n=t-this.startTime;this.state=n/this.options.duration;this.pos=jQuery.easing[this.options.easing||(jQuery.easing.swing?"swing":"linear")](this.state,n,0,1,this.options.duration);this.now=this.start+((this.end-this.start)*this.pos);this.update();}return true;}};jQuery.fx.step={scrollLeft:function(fx){fx.elem.scrollLeft=fx.now;},scrollTop:function(fx){fx.elem.scrollTop=fx.now;},opacity:function(fx){jQuery.attr(fx.elem.style,"opacity",fx.now);},_default:function(fx){fx.elem.style[fx.prop]=fx.now+fx.unit;}};jQuery.fn.offset=function(){var left=0,top=0,elem=this[0],results;if(elem)with(jQuery.browser){var parent=elem.parentNode,offsetChild=elem,offsetParent=elem.offsetParent,doc=elem.ownerDocument,safari2=safari&&parseInt(version)<522&&!/adobeair/i.test(userAgent),fixed=jQuery.css(elem,"position")=="fixed";if(elem.getBoundingClientRect){var box=elem.getBoundingClientRect();add(box.left+Math.max(doc.documentElement.scrollLeft,doc.body.scrollLeft),box.top+Math.max(doc.documentElement.scrollTop,doc.body.scrollTop));add(-doc.documentElement.clientLeft,-doc.documentElement.clientTop);}else{add(elem.offsetLeft,elem.offsetTop);while(offsetParent){add(offsetParent.offsetLeft,offsetParent.offsetTop);if(mozilla&&!/^t(able|d|h)$/i.test(offsetParent.tagName)||safari&&!safari2)border(offsetParent);if(!fixed&&jQuery.css(offsetParent,"position")=="fixed")fixed=true;offsetChild=/^body$/i.test(offsetParent.tagName)?offsetChild:offsetParent;offsetParent=offsetParent.offsetParent;}while(parent&&parent.tagName&&!/^body|html$/i.test(parent.tagName)){if(!/^inline|table.*$/i.test(jQuery.css(parent,"display")))add(-parent.scrollLeft,-parent.scrollTop);if(mozilla&&jQuery.css(parent,"overflow")!="visible")border(parent);parent=parent.parentNode;}if((safari2&&(fixed||jQuery.css(offsetChild,"position")=="absolute"))||(mozilla&&jQuery.css(offsetChild,"position")!="absolute"))add(-doc.body.offsetLeft,-doc.body.offsetTop);if(fixed)add(Math.max(doc.documentElement.scrollLeft,doc.body.scrollLeft),Math.max(doc.documentElement.scrollTop,doc.body.scrollTop));}results={top:top,left:left};}function border(elem){add(jQuery.curCSS(elem,"borderLeftWidth",true),jQuery.curCSS(elem,"borderTopWidth",true));}function add(l,t){left+=parseInt(l)||0;top+=parseInt(t)||0;}return results;};jQuery.each(["Height","Width"],function(i,name){var tl=name=="Height"?"Top":"Left",br=name=="Height"?"Bottom":"Right";jQuery.fn["inner"+name]=function(){return this[name.toLowerCase()]()+num(this,"padding"+tl)+num(this,"padding"+br);};jQuery.fn["outer"+name]=function(margin){return this["inner"+name]()+num(this,"border"+tl+"Width")+num(this,"border"+br+"Width")+(!!margin?num(this,"margin"+tl)+num(this,"margin"+br):0);};});function num(elem,prop){elem=elem.jquery?elem[0]:elem;return elem&&parseInt(jQuery.curCSS(elem,prop,true))||0;}})();
/* jquery.simplemodal.js */
/*
 * SimpleModal 1.1.1 - jQuery Plugin
 * http://www.ericmmartin.com/projects/simplemodal/
 * http://plugins.jquery.com/project/SimpleModal
 * http://code.google.com/p/simplemodal/
 *
 * Copyright (c) 2007 Eric Martin - http://ericmmartin.com
 *
 * Dual licensed under the MIT (MIT-LICENSE.txt)
 * and GPL (GPL-LICENSE.txt) licenses.
 *
 * Revision: $Id: jquery.simplemodal.js 93 2008-01-15 16:14:20Z emartin24 $
 *
 */
(function($){$.modal=function(data,options){return $.modal.impl.init(data,options);};$.modal.close=function(){$.modal.impl.close(true);};$.fn.modal=function(options){return $.modal.impl.init(this,options);};$.modal.defaults={overlay:50,overlayId:'modalOverlay',overlayCss:{},containerId:'modalContainer',containerCss:{},close:true,closeTitle:'Close',closeClass:'modalClose',persist:false,onOpen:null,onShow:null,onClose:null};$.modal.impl={opts:null,dialog:{},init:function(data,options){if(this.dialog.data){return false;}this.opts=$.extend({},$.modal.defaults,options);if(typeof data=='object'){data=data instanceof jQuery?data:$(data);if(data.parent().parent().size()>0){this.dialog.parentNode=data.parent();if(!this.opts.persist){this.dialog.original=data.clone(true);}}}else if(typeof data=='string'||typeof data=='number'){data=$('<div>').html(data);}else{if(console){console.log('SimpleModal Error: Unsupported data type: '+typeof data);}return false;}this.dialog.data=data.addClass('modalData');data=null;this.create();this.open();if($.isFunction(this.opts.onShow)){this.opts.onShow.apply(this,[this.dialog]);}return this;},create:function(){this.dialog.overlay=$('<div>').attr('id',this.opts.overlayId).addClass('modalOverlay').css($.extend(this.opts.overlayCss,{opacity:this.opts.overlay/100,height:'100%',width:'100%',position:'fixed',left:0,top:0,zIndex:3000})).hide().appendTo('body');this.dialog.container=$('<div>').attr('id',this.opts.containerId).addClass('modalContainer').css($.extend(this.opts.containerCss,{position:'fixed',zIndex:3100})).append(this.opts.close?'<a class="modalCloseImg '+this.opts.closeClass
+'" title="'+this.opts.closeTitle+'"></a>':'').hide().appendTo('body');if($.browser.msie&&($.browser.version<7)){this.fixIE();}this.dialog.container.append(this.dialog.data.hide());},bindEvents:function(){var modal=this;$('.'+this.opts.closeClass).click(function(e){e.preventDefault();modal.close();});},unbindEvents:function(){$('.'+this.opts.closeClass).unbind('click');},fixIE:function(){var wHeight=$(document.body).height()+'px';var wWidth=$(document.body).width()+'px';this.dialog.overlay.css({position:'absolute',height:wHeight,width:wWidth});this.dialog.container.css({position:'absolute'});this.dialog.iframe=$('<iframe src="javascript:false;">').css($.extend(this.opts.iframeCss,{opacity:0,position:'absolute',height:wHeight,width:wWidth,zIndex:1000,width:'100%',top:0,left:0})).hide().appendTo('body');},open:function(){if(this.dialog.iframe){this.dialog.iframe.show();}if($.isFunction(this.opts.onOpen)){this.opts.onOpen.apply(this,[this.dialog]);}else{this.dialog.overlay.show();this.dialog.container.show();this.dialog.data.show();}this.bindEvents();},close:function(external){if(!this.dialog.data){return false;}if($.isFunction(this.opts.onClose)&&!external){this.opts.onClose.apply(this,[this.dialog]);}else{if(this.dialog.parentNode){if(this.opts.persist){this.dialog.data.hide().appendTo(this.dialog.parentNode);}else{this.dialog.data.remove();this.dialog.original.appendTo(this.dialog.parentNode);}}else{this.dialog.data.remove();}this.dialog.container.remove();this.dialog.overlay.remove();if(this.dialog.iframe){this.dialog.iframe.remove();}this.dialog={};}this.unbindEvents();}};})(jQuery);
/* treeviewerall.js */
YAHOO.namespace("YAHOO.Ancestry.tv.framework.document");YAHOO.Ancestry.tv.framework.document.Dimensions=new function(){var c=document.documentElement;var a=document.body;var b={getWidth:function(){var d=window.innerWidth;if(typeof(d)!=="number"){if(c){d=c.clientWidth}else{if(a){d=a.clientWidth}}}return d},getHeight:function(){var d=window.innerHeight;if(typeof(d)!=="number"){if(c){d=c.clientHeight}else{if(a){d=a.clientHeight}}}return d},getScrollLeft:function(){var d=window.pageXOffset;if(typeof(d)!=="number"){if(c){d=c.scrollLeft}else{if(a){d=a.scrollLeft}}}return d},getScrollTop:function(){var d=window.pageYOffset;if(typeof(d)!=="number"){if(c){d=c.scrollTop}else{if(a){d=a.scrollTop}}}return d}};return b};YAHOO.namespace("YAHOO.Ancestry.tv.tags.lib.tree_viewer.breadcrumb");YAHOO.Ancestry.tv.tags.lib.tree_viewer.breadcrumb.Template=new function(){var c;var e;var f;var g;var b;var h="{##name##}";var a="{##id##}";var d={init:function(j,m,k,l,n,i){c=YAHOO.Ancestry.tv.framework.Html(j).innerHTML();e=YAHOO.Ancestry.tv.framework.Html(m).innerHTML();f=YAHOO.Ancestry.tv.framework.Html(k).innerHTML();g=l;h=n;a=i},templatize:function(i){var l=i.getData();var k=e.replace(a,l.getName().getText());var m=i.getParent();b={};while(m){l=m.getData();var j=c.replace(a,l.getName().getText()).replace(h,m.getId());b[m.getId()]=g+m.getId();k=j+f+k;m=m.getParent()}return k},getCurrentParentIds:function(){return b}};return d};YAHOO.namespace("YAHOO.Ancestry.tv.tags.lib.tree_viewer");YAHOO.Ancestry.tv.tags.lib.tree_viewer.Breadcrumb=function(g,h){var e=YAHOO.Ancestry.tv.framework.Html(h,g);var c;var f;var d=function(j,k){f.selectNodeById(k)};var i=function(){for(var j in c){if(c.hasOwnProperty(j)){YAHOO.util.Event.removeListener(c[j],"mousedown")}}};var b=function(j){i();e.innerHTML(j);c=YAHOO.Ancestry.tv.tags.lib.tree_viewer.breadcrumb.Template.getCurrentParentIds();for(var k in c){if(c.hasOwnProperty(k)){YAHOO.util.Event.addListener(c[k],"mousedown",d,k)}}};var a=function(){b(f.getBreadcrumb())};e.setTree=function(j){f=j;f.getNodeSelectedEvent().subscribe(a);f.getCanvas().getUpdateEvent().subscribe(a)};(function(){e.oParent.setBreadcrumb(e)})();return e};YAHOO.namespace("YAHOO.Ancestry.tv.tags.ui");YAHOO.Ancestry.tv.tags.ui.Button=function(c,a){var b=YAHOO.Ancestry.tv.framework.Html(c);var d=YAHOO.Ancestry.tv.framework.Html(b.dElem.parentNode);b.className=function(e){return d.className(e)};(function(){YAHOO.util.Event.addListener(b.dElem,"click",a)})();return b};YAHOO.namespace("YAHOO.Ancestry.tv.tags.lib.tree_viewer.buttons");YAHOO.Ancestry.tv.tags.lib.tree_viewer.buttons.Functional=function(b,f,e,a,c){var d=YAHOO.Ancestry.tv.framework.Base(b);var g=function(){d.oParent.updateGenerations(document.getElementById(f).value)};(function(){if(f){YAHOO.util.Event.addListener(f,"change",g)}if(e){YAHOO.Ancestry.tv.tags.ui.Button(e,d.oParent.zoomOut)}if(a){YAHOO.Ancestry.tv.tags.ui.Button(a,d.oParent.zoomIn)}if(c){YAHOO.Ancestry.tv.tags.ui.Button(c,d.oParent.fullScreen)}})();return d};YAHOO.namespace("YAHOO.Ancestry.tv.tags.lib.tree_viewer.buttons");YAHOO.Ancestry.tv.tags.lib.tree_viewer.buttons.Navigation=function(d,a,q,i,t,b,u,l,r){var o=YAHOO.Ancestry.tv.framework.Base(d);var c=l;var s=r;var p;var k=q;var h;var e=t;var n;var m=u;var g=function(){if(k){document.location.href=k}else{o.oParent.switchToFamilyView();p.className(s);h.className(c);n.className(c)}};var f=function(){};var j=function(){if(m){document.location.href=m}else{o.oParent.switchToFamilyGroupSheetView();p.className(c);h.className(c);n.className(s)}};(function(){p=YAHOO.Ancestry.tv.tags.ui.Button(a,g);h=YAHOO.Ancestry.tv.tags.ui.Button(i,f);n=YAHOO.Ancestry.tv.tags.ui.Button(b,j)})();return o};YAHOO.namespace("YAHOO.Ancestry.tv.tags.lib.tree_viewer");YAHOO.Ancestry.tv.tags.lib.tree_viewer.Buttons=function(a,d){var c=YAHOO.Ancestry.tv.framework.Base(a);var b=YAHOO.Ancestry.tv.framework.Html(d);c.height=function(){return b.height()};c.switchToFamilyView=function(){c.oParent.switchToFamilyView()};c.switchToPedigreeView=function(){c.oParent.switchToPedigreeView()};c.switchToFamilyGroupSheetView=function(){};c.updateGenerations=function(e){c.oParent.updateGenerations(e)};c.zoomOut=function(){c.oParent.zoomOut()};c.zoomIn=function(){c.oParent.zoomIn()};c.fullScreen=function(){c.oParent.fullScreen()};c.restoreRootPosition=function(){c.oParent.restoreRootPosition()};c.moveBy=function(f,e){c.oParent.moveBy(f,e)};(function(){c.oParent.setButtons(c)})();return c};YAHOO.namespace("YAHOO.Ancestry.tv.framework.html.effects");YAHOO.Ancestry.tv.framework.html.effects.Dim=function(a,d,c){var e="dimmed";var b="half_dimmed";if(!a){return}(function(){if(d){a.addClass(c?b:e)}else{a.removeClass(e);a.removeClass(b)}})()};YAHOO.namespace("YAHOO.Ancestry.tv.framework.html.effects");YAHOO.Ancestry.tv.framework.html.effects.Move=function(m,l,h,d,b){var g=YAHOO.Ancestry.tv.framework.Base();var o=m;var c=l;var j=h;var q=b;var f=m.left();var n=m.top();var a=100;var i=parseInt(d/a,10);var k=parseInt((c-f)/i,10);var p=parseInt((j-n)/i,10);var e=0;g.nextStep=function(){if(++e<i){f+=k;n+=p;o.left(f);o.top(n);return true}else{if(e===i){o.left(c);o.top(j)}}return false};(function(){})();return g};YAHOO.namespace("YAHOO.Ancestry.tv.tags.lib");YAHOO.Ancestry.tv.tags.lib.Performance=function(a){var c=YAHOO.Ancestry.tv.framework.Base(a);var d={};var b={};c.startTimer=function(e){d[e]=new Date()};c.endTimer=function(e){b[e]=new Date()};c.getTimerResults=function(){var e="";for(var f in d){if(d.hasOwnProperty(f)){if(e){e+="\n"}e+=f+": ";if(b[f]){e+=((b[f]-d[f])/1000)+"s"}else{e+="(no end set)"}}}return e};return c};YAHOO.namespace("YAHOO.Ancestry.tv.tags.lib.tree_viewer.tree");YAHOO.Ancestry.tv.tags.lib.tree_viewer.tree.AddParentLink=function(r,i,a,l,j){var p=YAHOO.Ancestry.tv.tags.lib.tree_viewer.tree.node.Template;var o=YAHOO.Ancestry.tv.tags.lib.tree_viewer.tree.node.Div(r,i,a,p.getAddParentTemplate(l),l);var q=i;var h=r;var c=a.getParent();var d=c.getDomElements()[l];var g=h.getConfig();var b;var m=j;var e=l;var n=YAHOO.Ancestry.tv.tags.lib.tree_viewer.tree.enums.ROOT_ORIENTATION_ENUM;var f=function(){if("undefined"!==typeof($trees)){var s=YAHOO.Ancestry.tv.framework.Runtime.getObject("oTreeViewer.oGlobals");var u={tid:s.sTreeId,pid:c.getId()};if(m){$trees.addFamilyDialog.addFather(u)}else{$trees.addFamilyDialog.addMother(u)}}else{var t=YAHOO.Ancestry.tv.framework.Runtime.getObject("oTreeViewer.oDialogManger").getConfig();var v=YAHOO.Ancestry.tv.tags.lib.dialog_manager.dialog.Config();v.sUrl=YAHOO.Ancestry.tv.tags.lib.ancestry.dialog_manager.UrlBuilder.getAddParentUrl(t,c.getId(),m?"father":"mother");h.fireAddNode(v)}};var k=function(){o.style("position","absolute");o.top(o.getYPos());o.left(o.getXPos());o.innerHTML(p.getAddParentLinkHTML(m,e));YAHOO.util.Event.addListener(o.dElem,"click",f)};o.dim=function(s){YAHOO.Ancestry.tv.framework.html.effects.Dim(o,s)};o.destroy=function(){q.removeChild(o)};o.createUI=function(){k()};return o};YAHOO.namespace("YAHOO.Ancestry.tv.tags.lib.tree_viewer.tree");YAHOO.Ancestry.tv.tags.lib.tree_viewer.tree.Algorithm=function(r,k){var p=YAHOO.Ancestry.tv.framework.Base(r);var c=k;var h=[];var b=[];var g=[];var f;var m;var o=YAHOO.Ancestry.tv.tags.lib.tree_viewer.tree.enums.ROOT_ORIENTATION_ENUM;var i=function(x){var v=p.oParent.getCanvas().getViewportCoords();var w=c.oInitialOffsets;if(a()){f=v.top()+parseInt(v.getHeight()/2,10)-parseInt(x.getHeight()/2,10);m=v.left()+5}else{m=v.top()+parseInt(v.getHeight()/2,10)-parseInt(x.getHeight()/2,10);f=v.left()+5}};var u=function(z,A){var D=0,C=0,F=false,E,w=z.getLevel()===0;if(!w){E=z.getParent().getDomElements()[A];D=E.getXPos()+c.iDefaultGenerations+E.getWidth();C=E.getYPos();if(A===0){z.destroy()}F=true}s(z,z.getLevel(),A,F);if(w){i(z.getDomElements()[A])}else{E=z.getDomElements()[A];var v=(c.iSiblingSeparation+E.getSize())/2;var B=E.getChildrenCenter();B-=E.getSize()/2;if(z.getParent().getFirstChild()===z){E.setPrelim(-v)}else{E.setPrelim(v)}E.setModifier(E.getPrelim()-B)}l(z,z.getLevel(),A,C,D,!w)};var s=function(G,v,B,E){if(!G){return}var F=p.oParent.getNodeRenderingEngine().createNodeOrLinkDiv(G,B);if(p.oParent.getCanvas().getZoom().getCurrentZoomLevel()===B){G.setDomElement(F)}if(!E){G.setLevel(v);G.setLeftNeighbor(null);G.setRightNeighbor(null);t(G,v)}var z;var C;var x;if(G.getChildrenCount()===0||v===c.iMaxDepth){z=G.getLeftSibling();C=z?z.getDomElements()[B]:null;x=z?C.getPrelim()+C.getSize()+c.iSiblingSeparation:0;if(z&&v%c.iDefaultGenerations!==0){var w=C.getSize()+c.iSubtreeSeparation;x+=w;F.setModifier(x);if(z.getChildrenCount()>0&&v%c.iDefaultGenerations!==(c.iDefaultGenerations-1)){C.setPrelim(C.getPrelim()-w);C.setModifier(C.getModifier()-w)}}F.setPrelim(x)}else{for(var y=0,A=G.getChildrenCount();y<A;y++){s(G.getChildAt(y),v+1,B)}var D=F.getChildrenCenter();D-=F.getSize()/2;z=G.getLeftSibling();C=z?z.getDomElements()[B]:null;if(z){if(z.getChildrenCount()===0&&A===2){x=D;if(z.isParentLink()){x=C.getSize()+c.iSiblingSeparation;C.setPrelim(-x)}else{C.setPrelim(-(C.getSize()+(c.iSiblingSeparation*3)))}F.setPrelim(x);F.setModifier(F.getPrelim()-D)}else{F.setPrelim(C.getPrelim()+C.getSize()+c.iSiblingSeparation);F.setModifier(F.getPrelim()-D);if(!e(v)){j(G,v,B)}}}else{F.setPrelim(D);F.setModifier(F.getPrelim()-D)}}};var j=function(v,w,F){var x=v.getFirstChild();var Q=x.getLeftNeighbor();var G=n(v,w);var y=G&&(Q&&((Q.getChildrenCount()===0&&x.getChildrenCount()!==0)||(Q.getChildrenCount()!==0&&x.getChildrenCount()===0)));for(var K=1,J=c.iMaxDepth-w;x&&Q&&K<=J;){var O=0;var A=0;var N=x;var P=Q;for(var I=0;I<K;I++){N=N.getParent();P=P.getParent();if(e(N.getLevel())){break}O+=N.getDomElements()[F].getModifier();A+=P.getDomElements()[F].getModifier()}var C=Q.getDomElements()[F];var H=C.getSize();H+=y?C.getSize()+c.iSubtreeSeparation:0;var M=(C.getPrelim()+A+H+c.iSubtreeSeparation)-(x.getDomElements()[F].getPrelim()+O);if(M>0){var B=v;var z=0;for(;B&&B!==P;B=B.getLeftSibling()){z++}if(B){var D=v;var L=M/z;for(;D!==P;D=D.getLeftSibling()){var E=D.getDomElements()[F];E.setPrelim(E.getPrelim()+M);E.setModifier(E.getModifier()+M);M-=L}}}K++;if(x.getChildrenCount()===0){x=d(v,0,K)}else{x=x.getFirstChild()}if(x){Q=x.getLeftNeighbor()}}};var l=function(H,y,D,z,x,B){if(!H){return}var G=H.getDomElements()[D];if(y<=c.iMaxDepth){var w=(B?0:f)+G.getPrelim()+z;var I=(B?0:f)+x;var A=0;var v=0;switch(c.eRootOrientation){case o.TOP:case o.BOTTOM:A=v=G.getHeight();break;case o.RIGHT:case o.LEFT:A=v=G.getWidth();break;default:break}if(q(H)){I+=(A*2/5)+c.iExpandSeperation}switch(c.eNodeAlignment){case YAHOO.Ancestry.tv.tags.lib.tree_viewer.tree.enums.NODE_ALIGNMENT_ENUM.TOP:G.setXPos(w);G.setYPos(I);break;case YAHOO.Ancestry.tv.tags.lib.tree_viewer.tree.enums.NODE_ALIGNMENT_ENUM.CENTER:G.setXPos(w);G.setYPos(I+(A-v)/2);break;case YAHOO.Ancestry.tv.tags.lib.tree_viewer.tree.enums.NODE_ALIGNMENT_ENUM.BOTTOM:G.setXPos(w);G.setYPos((I+A)-v);break;default:break}if(a()){var F=G.getXPos();G.setXPos(G.getYPos());G.setYPos(F)}switch(c.eRootOrientation){case o.BOTTOM:G.setYPos(-G.getYPos()-v);break;case o.RIGHT:G.setXPos(-G.getXPos()-v);break;default:break}if(H.getChildrenCount()!==0){var E=x+A+((n(H,y))?-A*2/5:c.iDefaultGenerations);if(p.oParent.getExpandCollapse().hasBeenExpanded(H.getId())){E=x+A+c.iExpandSeperation}l(H.getFirstChild(),y+1,D,z+G.getModifier(),E,B)}var C=H.getRightSibling();if(C){l(C,y,D,z,x,B)}}};var q=function(w){var x=w.getLeftSibling()||w.getRightSibling();var v=x&&x.getChildrenCount()===0;return w.isParentLink()&&(w.getLevel()%c.iDefaultGenerations!==1||v)&&p.oParent.getResponses()[w.getParent().getId()]};var a=function(){return(c.eRootOrientation===o.LEFT)};var e=function(v){return v%c.iDefaultGenerations===0};var n=function(v,w){return((c.eRootOrientation===o.LEFT)&&(w%c.iDefaultGenerations!==c.iDefaultGenerations-1)&&(w!==0))};var t=function(v,w){v.setLeftNeighbor(g[w]);if(v.getLeftNeighbor()){v.getLeftNeighbor().setRightNeighbor(v)}g[w]=v};var d=function(x,z,y){if(z>=y){return x}if(x.getChildrenCount()===0){return null}var A=x.getChildrenCount();for(var w=0;w<A;w++){var v=d(x.getChildAt(w),z+1,y);if(v){return v}}return null};p.positionTree=function(w,v){h=[];b=[];g=[];u(w,v)};return p};YAHOO.namespace("YAHOO.Ancestry.tv.tags.lib.tree_viewer.tree");YAHOO.Ancestry.tv.tags.lib.tree_viewer.tree.Canvas=function(d,i,c,e,a,h){var g=d;var k=i;var b=YAHOO.Ancestry.tv.framework.Runtime.getObject(e);var m=YAHOO.Ancestry.tv.framework.Html(g.getInnerDiv().dElem);var j=YAHOO.Ancestry.tv.tags.lib.tree_viewer.tree.Zoom(k,c,e,g,m,a,h);var f=function(o,n){YAHOO.Ancestry.tv.tags.lib.tree_viewer.tree.Mouse(g);k.getNodeRenderingEngine().createZoomLevelUIs(n);j.fadeInCurrentZoomLevel(!!n)};var l=function(){m.removeChild(j.getZoomLevelDiv());var p=i.getNodes();for(var o in p){if(p.hasOwnProperty(o)){p[o].destroyDOM()}}};g.create=function(p,n){var o;if(!n){o=YAHOO.Ancestry.tv.framework.Html(document.createElement("div"));o.innerHTML(j.getZoomLevelDiv().innerHTML());m.appendChild(null,o);m.removeChild(m.firstChild())}f(!n,p);if(n){g.update()}else{g.updateInnerDiv();m.removeChild(o);o=null}};g.getZoom=function(){return j};g.destroy=function(){l()};g.getOverlay=function(){return YAHOO.Ancestry.tv.framework.Runtime.getObject("oTreeViewer.oCanvas.oOverlayControls")};return g};YAHOO.namespace("YAHOO.Ancestry.tv.tags.lib.tree_viewer.tree");YAHOO.Ancestry.tv.tags.lib.tree_viewer.tree.Config=function(){return{iMaxDepth:100,iLevelSeparation:15,iSiblingSeparation:8,iSubtreeSeparation:11,eRootOrientation:YAHOO.Ancestry.tv.tags.lib.tree_viewer.tree.enums.ROOT_ORIENTATION_ENUM.LEFT,eNodeAlignment:YAHOO.Ancestry.tv.tags.lib.tree_viewer.tree.enums.NODE_ALIGNMENT_ENUM.TOP,sLinkColor:"#BBB0A3",eSelectMode:YAHOO.Ancestry.tv.tags.lib.tree_viewer.tree.enums.SELECTION_MODE_ENUM.MULTIPLE,iDefaultZoomLevel:1,iDefaultGenerations:4,iCollapseOffset:-2,iExpandSeperation:50,iExpandTimeout:250,oInitialOffsets:{x:0,y:0},sSpacerImage:"",sDataUrl:"",sDataSiblingsUrl:"",sHighlightedNodeClass:"",sThumbnailIconMaleClass:"",sThumbnailIconFemaleClass:"",sExpandLinkExpandClass:"tv_lib_tree_viewer_tree_node_icons_expand_img",sExpandLinkExpandAMFClass:"tv_lib_tree_viewer_tree_node_icons_expand_amf_img",sExpandLinkLoadingClass:"tv_lib_tree_viewer_tree_node_icons_loading_img",sExpandLinkCollapseClass:"tv_lib_tree_viewer_tree_node_icons_collapse_img",sExpandToken:"{##expand_class##}",s_TID_TOKEN:"##tid##",s_PID_TOKEN:"##pid##",s_UID_TOKEN:"##uid##",s_GEN_TOKEN:"##gen##",s_SEARCH_PERSONAS_TOKEN:"##srchPersonas##",s_SEARCH_RECORDS_TOKEN:"##srchRecords##"}};YAHOO.namespace("YAHOO.Ancestry.tv.tags.lib.tree_viewer.tree.enums");YAHOO.Ancestry.tv.tags.lib.tree_viewer.tree.enums.NODE_ALIGNMENT_ENUM=new function(){this.TOP=1;this.CENTER=2;this.BOTTOM=3};YAHOO.namespace("YAHOO.Ancestry.tv.tags.lib.tree_viewer.tree.enums");YAHOO.Ancestry.tv.tags.lib.tree_viewer.tree.enums.NODE_TYPE_ENUM=new function(){this.DEFAULT=1;this.EXPAND_LINK=2;this.ADD_PARENT_LINK=3;this.EMPTY_NODE=4};YAHOO.namespace("YAHOO.Ancestry.tv.tags.lib.tree_viewer.tree.enums");YAHOO.Ancestry.tv.tags.lib.tree_viewer.tree.enums.ROOT_ORIENTATION_ENUM=new function(){this.TOP=1;this.BOTTOM=2;this.RIGHT=3;this.LEFT=4};YAHOO.namespace("YAHOO.Ancestry.tv.tags.lib.tree_viewer.tree.enums");YAHOO.Ancestry.tv.tags.lib.tree_viewer.tree.enums.SELECTION_MODE_ENUM=new function(){this.MULTIPLE=1;this.SINGLE=2;this.NONE=3};YAHOO.namespace("YAHOO.Ancestry.tv.tags.lib.tree_viewer.tree");YAHOO.Ancestry.tv.tags.lib.tree_viewer.tree.ExpandCollapse=function(C,w){var B=YAHOO.Ancestry.tv.framework.Base(C);var p=C;var g={};var z=[];var A;var e;var c=0;var k="tmpPid_";var b=w.iDefaultGenerations;var y=0;var i=w.iDefaultGenerations;var u=[];var t=[];var f=YAHOO.Ancestry.tv.framework.Runtime.getObject("oTreeViewer.oGlobals");var m=YAHOO.Ancestry.tv.tags.lib.tree_viewer.tree.enums.NODE_TYPE_ENUM;var a=function(F,D,E,G){var H=p.getNodes();H[F]=YAHOO.Ancestry.tv.tags.lib.tree_viewer.tree.Node(D,p,null,F,E);H[F].setParent(D);if(G){D.getChildren().unshift(H[F])}else{D.setChild(H[F])}};var v=function(F){if(!F){return}var G=F.getChildren();F.showChildLinks(false);for(var E=0,D=G.length;E<D;E++){v(G[E]);G[E].destroyDOM();if(p.getNodes()[G[E].getId()]){delete p.getNodes()[G[E].getId()]}}F.setChildren([])};var j=function(D){var E=p.getNodes();if(E[D]){v(E[D]);E[D].destroyDOM();delete E[D]}};var o=function(D){if(!D){return}v(D);D.collapse();p.forEachZoomLevel(function(F){B.createPlaceHolderNode(D);var E=D.getFirstChild();if("undefined"!==typeof(E)){E.setLevel(D.getLevel()+1);var G=p.getNodeRenderingEngine().createNodeOrLinkDiv(E,F);G.createUI()}})};var l=function(D){var E=g[D];for(var F in E){if(E.hasOwnProperty(F)){o(p.getNodes()[F])}}};var d=function(G,E){if(A){v(A)}for(var H in G){if(G.hasOwnProperty(H)){var F=G[H];if(F&&F.length===0){var D=p.getNodes()[H];if(H!==E&&D&&!D.hasChildExpandLink()){o(D)}}}}};var s=function(D){if(!e){return false}var E=D;while(E){if(E===e){return false}E=E.getParent()}return true};var h=function(D){t=[];t[0]=D};var n=function(D){t=[]};var r=function(){var F=e.getFirstChild().getDomElement();var E=F.getYPos()-15;var D=F.getXPos()+parseInt(F.getWidth()/2,10);p.getCanvas().scrollIntoView(YAHOO.Ancestry.tv.tags.ui.Coords(F.getXPos(),E,D,E+F.getHeight()));p.getTreeDataReadyEvent().unsubscribe(r)};B.getExpandedIds=function(){var D=[];for(var E=0;E<t.length;E++){if(t[E]){D[D.length]=t[E]}}return D};B.getPlaceholderNodes=function(){if(!g[y]){g[y]={}}return g[y]};B.hasBeenExpanded=function(E){for(var D in g){if(g.hasOwnProperty(D)){var F=g[D];if(F[E]){return true}}}return false};B.getPreviousLevelExpand=function(){var D=u.length;if(D>1){return u[D-2]}else{return null}};B.addNode=function(D){if(!z[y]){z[y]=[]}z[y].push(D)};var x=function(F){var H=F.getId();var G=F.getLevel()+p.getGenerations().getVisibleGenerations();if(G<=b){var D=b-G;u.pop();if(D>0){D=D/w.iDefaultGenerations;for(var E=0;E<D;E++){u.pop()}}}u.push(H);b=G;i=(b>i)?b:i;e=F;y=F.getLevel()};B.expandNode=function(D){var G=D.getId();var F=p.getResponses();var E=F[G];x(D);p.getTreeDataReadyEvent().subscribe(r);if(E){if(E.length===0){v(p.getNodes()[G])}d(F,G);if(E.length===0){A=p.getNodes()[G]}else{A=null}p.handleBackendData(E,G,true)}else{if(!g[y]){g[y]={}}g[y][G]=true;p.requestNodeData(G,true);d(F,G)}h(G)};B.collapseNode=function(D){u.pop();b=D.getLevel();v(D);D.collapse();setTimeout(function(){a(k+(c++),D,m.EXPAND_LINK);var F=D.getFirstChild();var E=p;F.setLevel(D.getLevel()+1);E.forEachZoomLevel(function(G){var H=E.getNodeRenderingEngine().createNodeOrLinkDiv(F,G);H.createUI()})},10);n(D.getId())};var q=function(E){if(!z[E]){return}l(E);for(var F=0,D=z[E].length;F<D;F++){j(z[E][F].pid)}z[E]=[]};B.clearPrevious=function(D){if(!p.isFirstData()&&z[y]){var E=y;while(E<i){q(E);E+=w.iDefaultGenerations}}};B.createPlaceHolderNode=function(L){var E=p.getNodes();var H=L;if(!H.isLink()&&!H.isEmptyNode()){var I=H.getData().getRoles();var F=I.getRoleByName("father");var D=I.getRoleByName("mother");var K=false;var M=null;if(F){M=F.getPid();if((M)&&!E[M]){a(M,H,m.EXPAND_LINK);K=true}}else{if(D){M=D.getPid();if((M)&&!E[M]){a(M,H,m.EXPAND_LINK);K=true}}}var G=!f.bHasTreeEditRights;if(!K){var J=H.getChildren().length;if(!F&&!D&&J===0&&!G){if(H.getLevel()>=b||s(H)){a(k+(c++),H,m.EXPAND_LINK);p.getResponses()[H.getId()]=[]}else{a(k+(c++),H,m.ADD_PARENT_LINK);a(k+(c++),H,m.ADD_PARENT_LINK)}}else{if((!F||!D)&&J===1&&!H.hasChildExpandLink()){a(k+(c++),H,(G)?m.EMPTY_NODE:m.ADD_PARENT_LINK,!!D)}}}}};B.createPlaceholderNodes=function(){var D=p.getNodes();for(var E in D){if(D.hasOwnProperty(E)){B.createPlaceHolderNode(D[E])}}};return B};YAHOO.namespace("YAHOO.Ancestry.tv.tags.lib.tree_viewer.tree");YAHOO.Ancestry.tv.tags.lib.tree_viewer.tree.ExpandLink=function(t,i,a,k){var r=YAHOO.Ancestry.tv.tags.lib.tree_viewer.tree.node.Div(t,i,a,t.getExpandIconDiv(),k);var s=i;var h=t;var f=h.getConfig();var o=h.getExpandCollapse().expandNode;var b=a.getParent();var q=b.getDomElements()[k];var j=a;var u;var d;var c;var g;var p=YAHOO.Ancestry.tv.tags.lib.tree_viewer.tree.enums.ROOT_ORIENTATION_ENUM;var n=function(){if(f.eRootOrientation===p.TOP){u=q.getXPos()+parseInt(q.getWidth()/2,10);d=q.getYPos()+q.getHeight();c=1;g=parseInt(f.iSubtreeSeparation/2,10)}else{if(f.eRootOrientation===p.LEFT){u=q.getXPos()+q.getWidth();d=q.getYPos()+parseInt(q.getHeight()/2,10);c=parseInt(f.iSubtreeSeparation/2,10);g=1}}};var m=function(){return a.getLevel()>=t.getGenerations().getVisibleGenerations()&&!a.getParent().getData().hasMotherOrFather()};var e=function(){var v=r.getTree().getExpandIconDiv();var x=(m())?f.sExpandLinkExpandAMFClass:f.sExpandLinkExpandClass;var w=r;w.style("position","absolute");w.innerHTML(v.innerHTML().replace(f.sExpandToken,x));if(document.all){v=v.firstChild()}if(f.eRootOrientation===p.TOP){w.top(d+g);w.left(u-(v.width()/2))}else{if(f.eRootOrientation===p.LEFT){w.top(d-(v.height()/2));w.left(u+c)}}YAHOO.util.Event.addListener(w.dElem,"click",l)};var l=function(){var v=h.getExpandIconDiv();r.innerHTML(v.innerHTML().replace(f.sExpandToken,f.sExpandLinkLoadingClass));r.left(r.left()+f.iCollapseOffset);setTimeout(function(){o(b)},f.iExpandTimeout)};r.show=function(v){r.show(v)};r.dim=function(v){YAHOO.Ancestry.tv.framework.html.effects.Dim(r,v)};r.destroy=function(){s.removeChild(r)};r.createUI=function(){r.top(r.getYPos());r.left(r.getXPos());n();e()};return r};YAHOO.namespace("YAHOO.Ancestry.tv.tags.lib.tree_viewer.tree");YAHOO.Ancestry.tv.tags.lib.tree_viewer.tree.Generations=function(e,a){var c=YAHOO.Ancestry.tv.framework.Base(e);var d=a;var b=a;c.getVisibleGenerations=function(){return d};c.update=function(m,j){var k=parseInt(j,10);var g=c.oParent.getCanvas();for(var h in m){if(m.hasOwnProperty(h)){var f=m[h].getLevel()+1;if(k<b){if((f>k)&&(f<=b)){YAHOO.Ancestry.tv.framework.html.effects.Fade(m[h].getDomElement());m[h].fadeChildLinks(false,g.getCurrentZoomLevel())}if((f>=k)&&(f<b)){m[h].fadeChildLinks(false,g.getCurrentZoomLevel())}}else{if(k>b){if((f>=b)&&(f<k)){m[h].fadeChildLinks(true,g.getCurrentZoomLevel())}if((f>b)&&(f<=k)){YAHOO.Ancestry.tv.framework.html.effects.Fade(m[h].getDomElement(),true);m[h].fadeChildLinks(true,g.getCurrentZoomLevel())}}}}}b=k};return c};YAHOO.namespace("YAHOO.Ancestry.tv.tags.lib.tree_viewer.tree.requests");YAHOO.Ancestry.tv.tags.lib.tree_viewer.tree.requests.Hints=function(a,e){var b=[];var d=function(g){var h=false;for(var f=0;f<b.length;f++){if(g===b[f]){h=true}}if(!h){b[b.length]=g}return h};var c={send:function(g){e.info("Requesting hints data...");var h=YAHOO.Ancestry.tv.tags.lib.tree_viewer.tree.UrlBuilder.getHintsUrl(g.data.ajax);if(d(h)){return}g.node.getHint().setRequestingIcon();var f=function(i){g.node.getHint().clearRequestingIcon();e.error("Hints JSON Data Exception: "+i.toString())};YAHOO.Ancestry.tv.framework.ajax.Request(null,h,{},a,"GET",null,f)}};return c};YAHOO.namespace("YAHOO.Ancestry.tv.tags.lib.tree_viewer.tree");YAHOO.Ancestry.tv.tags.lib.tree_viewer.tree.Hints=function(i){var b=i;var c;var h=[];var j;var k=YAHOO.Ancestry.tv.framework.Runtime.getObject("oTreeViewer.oGlobals");var d=function(l){var o={nodes:[]};try{o=YAHOO.lang.JSON.parse(l.responseText)}catch(n){var m="Bad hints data: "+n.toString();if(l&&l.responseText&&(-1===l.responseText.indexOf("HintsThrottled"))){if(l&&l.responseText){m+=" - responseText: "+l.responseText}b.error(m)}}return o};var e=function(){if(k.bHasTreeEditRights){var l=true;for(var m=0;m<h.length;m++){if(!h[m].isSent){h[m].isSent=true;c.send(h[m]);l=false;break}}if(l){h=[]}}};var g=function(l){b.info("Hints data received.");var n=d(l);if(n){var m=n.hints;if(m&&j[m.pid]){j[m.pid].getHint().updateLink(m)}}else{b.info("Invalid hints data. ")}e()};var a=function(m){for(var l=0;l<h.length;l++){if(h[l].node.getId()===m){return true}}return false};var f={init:function(){h=[]},process:function(m){if(k.bHasTreeEditRights){j=m;h=[];for(var o in j){if(j.hasOwnProperty(o)){if(a(o)){continue}var n=j[o];if(!n){continue}var l=n.getHint().process();if(l&&l.ajax){h[h.length]={data:l,isSent:false,node:n,order:n.getLevel()*1000+h.length}}}}h.sort(function(p,q){return p.order-q.order});e()}}};(function(){c=YAHOO.Ancestry.tv.tags.lib.tree_viewer.tree.requests.Hints(g,b)})();return f};YAHOO.namespace("YAHOO.Ancestry.tv.tags.lib.tree_viewer.tree");YAHOO.Ancestry.tv.tags.lib.tree_viewer.tree.Logger=function(f){var d=YAHOO.Ancestry.tv.framework.Html(f);var c=YAHOO.Ancestry.tv.framework.Runtime.getObject("oTreeViewer.oGlobals");var b=null;var a=YAHOO.Ancestry.tv.framework.Html(d.dElem.getElementsByTagName("ul")[0],d);var e=function(k,j,i){var h=a.appendChild("li");h.style.color=k;h.innerHTML=j+": "+i;h.scrollIntoView()};var g=function(i){var h=YAHOO.Ancestry.tv.tags.lib.tree_viewer.tree.UrlBuilder.getDataUrl(b.getConfig(),c.sPersonId)+"&log=true";YAHOO.Ancestry.tv.framework.ajax.Request(null,h,{logData:i},null,"GET")};d.setTree=function(h){b=h};d.debug=function(h){e("gray","DEBUG",h)};d.info=function(h){e("black","INFO",h)};d.warn=function(h){e("blue","WARN",h)};d.error=function(h){e("red","ERROR",h);g(h)};(function(){if("true"===YAHOO.Ancestry.tv.framework.document.Location.getQueryValue("showLog")){d.display(true)}})();return d};YAHOO.namespace("YAHOO.Ancestry.tv.tags.lib.tree_viewer.tree");YAHOO.Ancestry.tv.tags.lib.tree_viewer.tree.Mouse=function(e){var f=YAHOO.Ancestry.tv.framework.Base(e);var d=function(g){a(g.wheelDelta,g)};var c=function(g){a(-g.detail,g)};var b=function(){YAHOO.util.Event.addListener(document,"mousewheel",d);YAHOO.util.Event.addListener(window,"DOMMouseScroll",c)};var a=function(h,g){var i=f.oParent;if(g.ctrlKey&&i.hitTest(g)){if(h>0){i.zoomIn()}else{i.zoomOut()}}};(function(){b()})();return f};YAHOO.namespace("YAHOO.Ancestry.tv.tags.lib.tree_viewer.tree.node");YAHOO.Ancestry.tv.tags.lib.tree_viewer.tree.node.ChildLinksCoords=function(i,d,g,c,f,b,e,a){var q=parseInt(i,10);var l=parseInt(d,10);var p=parseInt(g,10);var k=parseInt(c,10);var o=parseInt(f,10);var j=parseInt(b,10);var n=parseInt(e,10);var h=parseInt(a,10);var m=(isNaN(q)||isNaN(l)||isNaN(p)||isNaN(k)||isNaN(o)||isNaN(j)||isNaN(n)||isNaN(h));return m?null:{xa:q,ya:l,xb:p,yb:k,xc:o,yc:j,xd:n,yd:h}};YAHOO.namespace("YAHOO.Ancestry.tv.tags.lib.tree_viewer.tree.node.data._lib");YAHOO.Ancestry.tv.tags.lib.tree_viewer.tree.node.data._lib.Date=function(b){var c=b.year;var a=b.text;return{getYear:function(){return c},getText:function(){return a},serialize:function(){}}};YAHOO.namespace("YAHOO.Ancestry.tv.tags.lib.tree_viewer.tree.node.data._lib");YAHOO.Ancestry.tv.tags.lib.tree_viewer.tree.node.data._lib.Place=function(b){var a=b.text;return{getText:function(){return a},serialize:function(){}}};YAHOO.namespace("YAHOO.Ancestry.tv.tags.lib.tree_viewer.tree.node.data._lib");YAHOO.Ancestry.tv.tags.lib.tree_viewer.tree.node.data._lib.Assertion=function(b){var c=YAHOO.Ancestry.tv.tags.lib.tree_viewer.tree.node.data._lib.Date(b.date);var d=YAHOO.Ancestry.tv.tags.lib.tree_viewer.tree.node.data._lib.Place(b.place);var a={getDate:function(){return c},getPlace:function(){return d},serialize:function(){}};return a};YAHOO.namespace("YAHOO.Ancestry.tv.tags.lib.tree_viewer.tree.node");YAHOO.Ancestry.tv.tags.lib.tree_viewer.tree.node.data.Birth=function(a){return YAHOO.Ancestry.tv.tags.lib.tree_viewer.tree.node.data._lib.Assertion(a)};YAHOO.namespace("YAHOO.Ancestry.tv.tags.lib.tree_viewer.tree.node");YAHOO.Ancestry.tv.tags.lib.tree_viewer.tree.node.data.Death=function(a){return YAHOO.Ancestry.tv.tags.lib.tree_viewer.tree.node.data._lib.Assertion(a)};YAHOO.namespace("YAHOO.Ancestry.tv.tags.lib.tree_viewer.tree.node.data");YAHOO.Ancestry.tv.tags.lib.tree_viewer.tree.node.data.Name=function(d){var a=d.given;var c=d.surname;var b=d.text;return{getGiven:function(){return a},getSurname:function(){return c},getText:function(){return b},serialize:function(){}}};YAHOO.namespace("YAHOO.Ancestry.tv.tags.lib.tree_viewer.tree.node.data");YAHOO.Ancestry.tv.tags.lib.tree_viewer.tree.node.data.Photo=function(b){var c=b?b.tiny:null;var a=b?b.thumb:null;return{getTiny:function(){return c},getThumb:function(){return a},serialize:function(){}}};YAHOO.namespace("YAHOO.Ancestry.tv.tags.lib.tree_viewer.tree.node.data.roles._lib");YAHOO.Ancestry.tv.tags.lib.tree_viewer.tree.node.data.roles._lib.Group=function(c){var a=c?c.role:null;var b=c?c.pid:null;var d=[];(function(){if(c){for(var f=0,e=c.length;f<e;f++){d[f]=c[f].pid}}})();return{getPids:function(){return d},getRole:function(){return a},getPid:function(){return b},serialize:function(){}}};YAHOO.namespace("YAHOO.Ancestry.tv.tags.lib.tree_viewer.tree.node.data.roles._lib");YAHOO.Ancestry.tv.tags.lib.tree_viewer.tree.node.data.roles._lib.Individual=function(c){var a=c.role;var b=c.pid;return{getRole:function(){return a},getPid:function(){return b},serialize:function(){}}};YAHOO.namespace("YAHOO.Ancestry.tv.tags.lib.tree_viewer.tree.node.data.roles");YAHOO.Ancestry.tv.tags.lib.tree_viewer.tree.node.data.roles.Children=function(b){var a=YAHOO.Ancestry.tv.tags.lib.tree_viewer.tree.node.data.roles._lib.Group(b);return a};YAHOO.namespace("YAHOO.Ancestry.tv.tags.lib.tree_viewer.tree.node.data.roles");YAHOO.Ancestry.tv.tags.lib.tree_viewer.tree.node.data.roles.Father=function(a){return YAHOO.Ancestry.tv.tags.lib.tree_viewer.tree.node.data.roles._lib.Individual(a)};YAHOO.namespace("YAHOO.Ancestry.tv.tags.lib.tree_viewer.tree.node.data.roles");YAHOO.Ancestry.tv.tags.lib.tree_viewer.tree.node.data.roles.Mother=function(a){return YAHOO.Ancestry.tv.tags.lib.tree_viewer.tree.node.data.roles._lib.Individual(a)};YAHOO.namespace("YAHOO.Ancestry.tv.tags.lib.tree_viewer.tree.node.data.roles");YAHOO.Ancestry.tv.tags.lib.tree_viewer.tree.node.data.roles.Sibling=function(b){var a=YAHOO.Ancestry.tv.tags.lib.tree_viewer.tree.node.data.roles._lib.Individual(b);return a};YAHOO.namespace("YAHOO.Ancestry.tv.tags.lib.tree_viewer.tree.node.data.roles");YAHOO.Ancestry.tv.tags.lib.tree_viewer.tree.node.data.roles.Spouse=function(b){var a=YAHOO.Ancestry.tv.tags.lib.tree_viewer.tree.node.data.roles._lib.Individual(b);var c=YAHOO.Ancestry.tv.tags.lib.tree_viewer.tree.node.data.roles.Children(b.children);a.getChildren=function(){return c};a.serialize=function(){};return a};YAHOO.namespace("YAHOO.Ancestry.tv.tags.lib.tree_viewer.tree.node.data");YAHOO.Ancestry.tv.tags.lib.tree_viewer.tree.node.data.Roles=function(d){var c=[];var a=function(h,e){var f;var g=YAHOO.Ancestry.tv.tags.lib.tree_viewer.tree.node.data.roles;switch(e.role){case"father":f=new g.Father(e);break;case"mother":f=new g.Mother(e);break;case"spouse":f=new g.Spouse(e);break;case"sibling":f=new g.Sibling(e);break;default:break}c[h]=f};var b={getRoles:function(){return c},getRoleByName:function(f){for(var g=0,e=c.length;g<e;g++){var h=c[g];if(h&&h.getRole()===f){return h}}return null},getRolesByName:function(f){var g=[];for(var h=0,e=c.length;h<e;h++){var j=c[h];if(j&&j.getRole()===f){g.push(j)}}return g},getRoleByType:function(e){},serialize:function(){}};(function(){for(var f=0,e=d.length;f<e;f++){a(f,d[f])}})();return b};YAHOO.namespace("YAHOO.Ancestry.tv.tags.lib.tree_viewer.tree.node");YAHOO.Ancestry.tv.tags.lib.tree_viewer.tree.node.Data=function(a){var e=a.pid;var g=YAHOO.Ancestry.tv.tags.lib.tree_viewer.tree.node.data.Name(a.name);var c=a.gender;var f=a.living;var j=a.hints;var i=YAHOO.Ancestry.tv.tags.lib.tree_viewer.tree.node.data.Photo(a.photo);var h=YAHOO.Ancestry.tv.tags.lib.tree_viewer.tree.node.data.Birth(a.birth);var k=YAHOO.Ancestry.tv.tags.lib.tree_viewer.tree.node.data.Death(a.death);var b=YAHOO.Ancestry.tv.tags.lib.tree_viewer.tree.node.data.Roles(a.roles);var d={getPid:function(){return e},getName:function(){return g},getGender:function(){return c},isLiving:function(){return f},getPhoto:function(){return i},getBirth:function(){return h},getDeath:function(){return k},getRoles:function(){return b},hasHints:function(){return j&&j.total>0},hasMotherOrFather:function(){return !!(b.getRoleByName("father")||b.getRoleByName("mother"))},needToRequestHints:function(){return j&&j.ajax},getHints:function(){return j},isMotherOrFather:function(l){return this.isMother(l)||this.isFather(l)},isMother:function(n){var l=d.getRoles().getRoleByName("mother");return(l&&l.getPid()===n)},isFather:function(l){var m=d.getRoles().getRoleByName("father");return(m&&m.getPid()===l)},serialize:function(){}};return d};YAHOO.namespace("YAHOO.Ancestry.tv.tags.lib.tree_viewer.tree.node");YAHOO.Ancestry.tv.tags.lib.tree_viewer.tree.node.Div=function(x,L,E,H,A,F){var w=YAHOO.Ancestry.tv.framework.Html(L.appendChild("div"));var K=YAHOO.Ancestry.tv.tags.lib.tree_viewer.tree.node.Template;var I=x;var t=I.getConfig();var y=L;var c=E;var n=H;var j=A;var l=I.getConfig().iDefaultGenerations;var D=F;var i;var B=false;var z=0;var e=0;var J=0;var u=0;var g=[];var r=false;var p=false;var M=YAHOO.Ancestry.tv.tags.lib.tree_viewer.tree.enums.ROOT_ORIENTATION_ENUM;var a=YAHOO.Ancestry.tv.tags.lib.tree_viewer.tree.enums.NODE_ALIGNMENT_ENUM;var C=function(){var P=w.dElem.getElementsByTagName("div");var Q=w.getTemplate().getConfig().sPhotoNameContainerClass;for(var O=0,N=P.length;O<N;O++){if(P[O].className===Q){return P[O]}}return null};var s=function(){I.nodeClicked(c)};var q=function(){r=true};var m=function(){w.jumpToProfileHref()};var b=function(){r=false};var v=function(){if(r){p=true;I.dimIndirectRelatives(c)}};var h=function(){if(p){I.unDimIndirectRelatives(c);p=false}};var f=function(){var O=w.getChildLinksCoords();for(var Q=0,N=O.length;Q<N;Q++){g[Q]=YAHOO.Ancestry.tv.tags.lib.tree_viewer.tree.NodeLink(c,y,I.getConfig(),O[Q],o(),c.getChildAt(Q).isEmptyNode())}if(k()&&O.length>0){var S=YAHOO.Ancestry.tv.framework.Html(y.appendChild("div"),w);i=S;var P,R;P=R=w.getTree().getExpandIconDiv();if(document.all){R=R.firstChild()}S.style("position","absolute");S.innerHTML(P.innerHTML().replace(t.sExpandToken,t.sExpandLinkCollapseClass));S.left(O[0].xa+parseInt(t.iSubtreeSeparation/2,10)+t.iCollapseOffset);S.top(O[0].ya-R.height()/2)}};var G=function(){I.getExpandCollapse().collapseNode(c)};var k=function(){return c.getLevel()!==0&&c.getLevel()%l===0&&!c.hasChildExpandLink()};var o=function(){return !B&&(c.getLevel()===0||c.getLevel()%l===(l-1)||D||c.hasChildLink())};w.getXPos=function(){return z};w.setXPos=function(N){z=parseInt(N,10)};w.getYPos=function(){return e};w.setYPos=function(N){e=parseInt(N,10)};w.getWidth=function(){return n.width()};w.getHeight=function(){return n.height()};w.getPrelim=function(){return J};w.setPrelim=function(N){J=N};w.getModifier=function(){return u};w.setModifier=function(N){u=N};w.getChildLinks=function(){return g};w.setTemplate=function(N){K=N};w.getTemplate=function(){return K};w.getNode=function(){return c};w.getTree=function(){return I};w.registerDomEvents=function(){YAHOO.util.Event.addListener(C(),"click",s);YAHOO.util.Event.addListener(w.dElem,"mouseover",q);YAHOO.util.Event.addListener(w.dElem,"mouseout",b);YAHOO.util.Dom.getElementsByClassName(K.getProfileIconClass(),"div",w.dElem,function(N){YAHOO.util.Event.addListener(N,"click",m)});if(i){YAHOO.util.Event.addListener(i.dElem,"click",G)}};w.jumpToProfileHref=function(N){window.location="/tree/"+c.getTree().getId()+"/person/"+(typeof(N)!=="undefined"?N:c.getId())+"?pg=TODO"};w.getChildrenCenter=function(){var O=c.getFirstChild().getDomElements()[j];var N=c.getLastChild().getDomElements()[j];return O.getPrelim()+((N.getPrelim()-O.getPrelim())+N.getSize())/2};w.getSize=function(){switch(I.getConfig().eRootOrientation){case M.TOP:case M.BOTTOM:return w.getWidth();case M.RIGHT:case M.LEFT:return w.getHeight();default:break}return 0};w.getChildLinkCoords=function(N){var O=this.getChildLinksCoords(true);return(c.getChildAt(0)===N)?O[0]:O[1]};var d=function(U,T,aa){var ae,S,ac,R,Z,Q,Y,P;var ab=[];var X=w.getWidth();var ad=w.getHeight();var af=I.getConfig();var V=c.getChildren();var W=YAHOO.Ancestry.tv.tags.lib.tree_viewer.tree.node.ChildLinksCoords;var O=V[0].getDomElements()[j];var N=V[1].getDomElements()[j];ae=U;S=T;if(aa||o()){ac=Z=Y=O.getXPos()+af.iLevelSeparation;R=S;Q=O.getYPos()+O.getHeight();P=S;ab[0]=W(ae,S,ac,R,Z,Q,Y,S);ab[1]=W(ae,S,ac,R,Z,S,Y,N.getYPos())}else{ae=ac=Z=Y=z+(X*3/5)+af.iLevelSeparation;S=O.getYPos()+O.getHeight();R=e;Q=e+ad;P=N.getYPos();ab[0]=W(0,0,0,0,ae,S,ac,R);ab[1]=W(0,0,0,0,ae,Q,ac,P)}return ab};w.getChildLinksCoords=function(Y){var O=[];var N,X,ad,U,ac,S,aa,R;var W=I.getConfig();var Z=w.getWidth();var Q=w.getHeight();var ab=null;switch(W.eRootOrientation){case M.TOP:N=z+(Z/2);X=e+Q;break;case M.BOTTOM:N=z+(Z/2);X=e;break;case M.RIGHT:N=z;X=e+(Q/2);break;case M.LEFT:N=z+Z;X=e+(Q/2);break;default:break}var V=c.getChildrenCount();if(V===2&&W.eRootOrientation===M.LEFT){return d(N,X,Y)}for(var P=0;P<V;P++){var T=c.getChildAt(P);if(!T.isExpandLink()){ab=T.getDomElements()[j];switch(W.eRootOrientation){case M.TOP:aa=ac=ab.getXPos()+(ab.getWidth()/2);R=ab.getYPos();ad=N;switch(W.eNodeAlignment){case a.TOP:U=S=R-W.iLevelSeparation/2;break;case a.BOTTOM:U=S=X+W.iLevelSeparation/2;break;case a.CENTER:U=S=X+(R-X)/2;break;default:break}break;case M.BOTTOM:aa=ac=ab.getXPos()+(ab.getWidth()/2);R=ab.getYPos()+ab.getHeight();ad=N;switch(W.eNodeAlignment){case a.TOP:U=S=R+W.iLevelSeparation/2;break;case a.BOTTOM:U=S=X-W.iLevelSeparation/2;break;case a.CENTER:U=S=R+(X-R)/2;break;default:break}break;case M.RIGHT:aa=ab.getXPos()+ab.getWidth();R=S=ab.getYPos()+(ab.getHeight()/2);U=X;switch(W.eNodeAlignment){case a.TOP:ad=ac=aa+W.iLevelSeparation/2;break;case a.BOTTOM:ad=ac=N-W.iLevelSeparation/2;break;case a.CENTER:ad=ac=aa+(N-aa)/2;break;default:break}break;case M.LEFT:aa=ab.getXPos();R=S=ab.getYPos()+(ab.getHeight()/2);U=X;switch(W.eNodeAlignment){case a.TOP:ad=ac=aa-W.iLevelSeparation/2;break;case a.BOTTOM:ad=ac=N+W.iLevelSeparation/2;break;case a.CENTER:ad=ac=N+(aa-N)/2;break;default:break}break;default:break}O[P]=YAHOO.Ancestry.tv.tags.lib.tree_viewer.tree.node.ChildLinksCoords(N,X,ad,U,ac,S,aa,R)}}return O};w.dim=function(P){YAHOO.Ancestry.tv.framework.html.effects.Dim(w,P,true);for(var O=0,N=g.length;O<N;O++){g[O].dim(P)}if(i){YAHOO.Ancestry.tv.framework.html.effects.Dim(i,P,true)}};w.fadeChildLinks=function(Q,O){var N=g.length;if(O&&!N){O()}else{var R=0;var S=function(){if(++R===N){O()}};for(var P=0;P<N;P++){g[P].fade(Q,O?S:null)}}};w.showChildLinks=function(P){for(var O=0,N=g.length;O<N;O++){g[O].show(P)}};w.destroy=function(){y.removeChild(w);this.collapse()};w.collapse=function(){if(i){y.removeChild(i);i=null}for(var O=0,N=g.length;O<N;O++){g[O].destroy()}g=[];B=true};w.createUI=function(){w.top(w.getYPos());w.left(w.getXPos());K.render(w,n,c);f();w.registerDomEvents()};return w};YAHOO.namespace("YAHOO.Ancestry.tv.framework.document");YAHOO.Ancestry.tv.framework.document.Location=new function(){var c=[];var d=false;var a=function(){var j=document.location.search;if(j.length>0){j=unescape(j.substr(1));var h=j.split("&"),f=h.length;for(var e=0;e<f;e++){var g=h[e].split("=");c[g[0]]="";if(g[1]){c[g[0]]=g[1].replace(/'/g,"\\'").replace(/\+/g," ")}}}d=true};var b={getProtocol:function(){return document.location.protocol},getHost:function(){return document.location.hostname},getPort:function(){return document.location.port},getFullDomain:function(){return b.getProtocol()+"//"+b.getHost()+":"+b.getPort()+"/"},getQueryValue:function(e){if(!d){a()}return c[e]?c[e]:""},redirect:function(f,e){if(e){document.location.replace(f)}else{document.location.href=f}}};return b};YAHOO.namespace("YAHOO.Ancestry.tv.tags.lib.tree_viewer.tree.node");YAHOO.Ancestry.tv.tags.lib.tree_viewer.tree.node.Hint=function(e,g){var d=YAHOO.Ancestry.tv.framework.Base(e);var b=g;var c=YAHOO.Ancestry.tv.framework.Runtime.getObject("oTreeViewer.oGlobals");var f=function(i,j){YAHOO.Ancestry.tv.framework.document.Location.redirect(YAHOO.Ancestry.tv.tags.lib.tree_viewer.tree.UrlBuilder.getHintsTargetUrl(b.getConfig(),j))};var a=function(j,k){var n=b.getConfig(),p=n.sHintsElemId||"";var t=p.replace(c.sZoomLevelToken,k).replace(n.sNodeIdToken,j.pid);var q=YAHOO.Ancestry.tv.framework.Html(t);if(!q.dElem){var m=d.oParent.getDomElements();if(m[k]&&m[k].dElem){var s=m[k].dElem.getElementsByTagName("div");for(var o=0;o<s.length;o++){if(s[o].id&&s[o].id===t){q.dElem=s[o];break}}}}if(q.dElem){var l=(q.dElem.parentElement)?q.dElem.parentElement:q.dElem.parentNode;var r=n.sHintsHoverZoomClass.replace(c.sZoomLevelToken,d.oParent.getLevel());if(c.bHasTreeEditRights&&j.total&&j.total>0){YAHOO.util.Event.addListener(q.dElem,"click",f,j.pid);q.dElem.title=n.sHintsCountText.replace("{##total##}",j.total);q.dElem.style.backgroundImage="url("+n.sHintsHoverImage+")";if(l){YAHOO.util.Dom.addClass(l,r);YAHOO.util.Dom.addClass(l,n.sHintsHoverClass)}}else{q.dElem.style.backgroundImage="url("+n.sSpacerImage+")";if(l){YAHOO.util.Dom.removeClass(l,r);YAHOO.util.Dom.removeClass(l,n.sHintsHoverClass)}}}};d.process=function(){var l=b.getConfig();var q=l.sHintsElemId||"";var n=d.oParent.getData();var k=(c.bHasTreeEditRights&&n&&n.hasHints())?n.getHints():null;if(n){var v;var s=d.oParent.getDomElements();for(var o=0,r=s.length;o<r;o++){var u=q.replace(c.sZoomLevelToken,o);v=u.replace(l.sNodeIdToken,n.getPid());var t=s[o].dElem.getElementsByTagName("div");var p;for(var m=0;m<t.length;m++){if(t[m].id===u){t[m].id=v;p=t[m];break}}if(v&&p){a({pid:n.getPid(),total:k?k.total:0},o)}}}return k};d.updateLink=function(l){if(c.bHasTreeEditRights){var k=d.oParent.getDomElements();for(var j in k){if(k.hasOwnProperty(j)){a(l,j)}}}};var h=function(q){var k=b.getConfig(),n=k.sHintsElemId||"";var l=k.sNodeIdToken;var o=c.sZoomLevelToken;var j=d.oParent.getDomElements();for(var m in j){if(j.hasOwnProperty(m)){var r=n.replace(o,m).replace(l,d.oParent.getId());var p=YAHOO.Ancestry.tv.framework.Html(r);if(p.dElem){p.dElem.style.backgroundImage=q}}}};d.setRequestingIcon=function(){var i=b.getConfig();h("url("+i.sRequestingHintsImage+")")};d.clearRequestingIcon=function(){h("")};return d};YAHOO.namespace("YAHOO.Ancestry.tv.tags.lib.tree_viewer.tree.requests");YAHOO.Ancestry.tv.tags.lib.tree_viewer.tree.requests.Siblings=function(e,a,c,d){var b={send:function(i,g){d.info("Requesting siblings data...");var h=YAHOO.Ancestry.tv.tags.lib.tree_viewer.tree.UrlBuilder.getSiblingsUrl(e,i);var f=function(j){c.showError(0);d.error("Siblings JSON Data Exception: "+j.toString()+" pid: "+i+" url: "+h)};YAHOO.Ancestry.tv.framework.ajax.Request(null,h,{},function(j){a(j,i,g,h)},"GET",null,b.onException)}};return b};YAHOO.namespace("YAHOO.Ancestry.tv.tags.lib.tree_viewer.tree.node");YAHOO.Ancestry.tv.tags.lib.tree_viewer.tree.node.RootDiv=function(A,l,b,c,q,t,s,o,w){var y=YAHOO.Ancestry.tv.tags.lib.tree_viewer.tree.node.Div(A,l,b,c,q,t);var h=s;var p=o;var m=w;var u;var e;var k=A;var f=YAHOO.Ancestry.tv.framework.Runtime.getObject("oTreeViewer.oGlobals");y.setTemplate(YAHOO.Ancestry.tv.tags.lib.tree_viewer.tree.node.RootTemplate);y.override("registerDomEvents",function(){y.superMethod("registerDomEvents");YAHOO.util.Dom.getElementsByClassName(y.getTemplate().getFamilyMemberLinkClass(),"a",y.dElem,function(B){YAHOO.util.Event.removeListener(B,"click",a);YAHOO.util.Event.addListener(B,"click",a)});YAHOO.util.Dom.getElementsByClassName(y.getTemplate().getFamilyMemberProfileClass(),"div",y.dElem,function(B){YAHOO.util.Event.removeListener(B,"click",r,B);YAHOO.util.Event.addListener(B,"click",r,B)});YAHOO.util.Dom.getElementsByClassName(y.getTemplate().getFamilyMemberTargetClass(),"div",y.dElem,function(B){YAHOO.util.Event.removeListener(B,"click",z,B);YAHOO.util.Event.addListener(B,"click",z,B)});YAHOO.util.Dom.getElementsByClassName(y.getTemplate().getShowSiblingLinkClass(),"a",y.dElem,function(B){YAHOO.util.Event.removeListener(B,"click",g);YAHOO.util.Event.addListener(B,"click",g)});if(f.bHasTreeEditRights){YAHOO.util.Dom.getElementsByClassName(y.getTemplate().getAddRelativeLinkClass(),"a",y.dElem,function(B){YAHOO.util.Event.removeListener(B,"click",x);YAHOO.util.Event.addListener(B,"click",x)});YAHOO.util.Dom.getElementsByClassName(y.getTemplate().getAddRelativeWrapperClass(),"div",y.dElem,function(B){YAHOO.Ancestry.tv.framework.Html(B).removeClass("invisible")})}});y.override("getFullHeight",function(){var B=y.superMethod("getFullHeight");if(YAHOO.env.ua.ie===0){YAHOO.util.Dom.getElementsByClassName(y.getTemplate().getRootNodeInfoClass(),"div",y.dElem,function(C){B+=YAHOO.Ancestry.tv.framework.Html(C).height()})}return B});var a=function(B){var E=B.srcElement;var D=function(){return{left:y.left(),top:y.top()}};var C=YAHOO.Ancestry.tv.framework.Runtime.getObject("oTreeViewer.oDialogManger");C.displayClickCardDialog(f.sTreeId,E.pid,E,YAHOO.Ancestry.tv.framework.Runtime.getObject("oTreeViewer.oContent").getCanvas().getInnerDiv(),null,YAHOO.Ancestry.tv.tags.lib.dialog_manager.POSITION_ENUM.FUNCTION,D);YAHOO.util.Event.preventDefault(B);YAHOO.util.Event.stopPropagation(B)};var r=function(B,C){y.jumpToProfileHref(C.getAttribute("pid"))};var z=function(B,C){y.getTree().loadTree(y.getTree().getId(),C.getAttribute("pid"))};var d=function(C,B){var F={nodes:[]};try{if(C&&C.responseText){F=YAHOO.lang.JSON.parse(C.responseText)}else{m.error("No response data from siblings request: "+B)}}catch(E){p.showError(0,E.toString());var D="Bad siblings data: "+E.toString();if(C&&C.responseText){D+=" responseText: "+C.responseText}m.error(D)}return F};var i=function(C){var D=C.pid;var B=k.getNodes();if(B&&B[D]&&!B[D].isLink()){return}B[D]=YAHOO.Ancestry.tv.tags.lib.tree_viewer.tree.Node(null,k,C)};var n=function(F,G,J,L){m.info("Siblings data received.");e=F;var C=d(F,L);if(!C||!C.persons){p.showError(2)}else{if(C.error){v(C.error)}else{var H=C.persons;var I=k.getRootNode();var K=I.getId();for(var B=0,E=H.length;B<E;B++){if(H[B].pid===K){I.setData(H[B])}i(H[B])}var D=YAHOO.Ancestry.tv.tags.lib.tree_viewer.tree.node.root_node.Siblings.render(I);YAHOO.util.Dom.getElementsByClassName("tv_lib_tree_viewer_tree_root_node_family_list_show_siblings_link","a",y.dElem,function(N){YAHOO.util.Dom.addClass(N,"invisible");var M=document.createElement("div");M.innerHTML=D;YAHOO.util.Dom.getAncestorByTagName(N,"div").appendChild(M)});y.registerDomEvents()}}};var v=function(C){var D=C.id;var B=C.text;if(B){p.begin(B,true)}else{p.showError(D)}};var g=function(B,C){u=YAHOO.Ancestry.tv.tags.lib.tree_viewer.tree.requests.Siblings(h,n,p,m);u.send(f.sPersonId)};var x=function(B){var D={tid:f.sTreeId,pid:f.sPersonId};if("undefined"!==typeof($trees)){$trees.addFamilyDialog.choose(D)}else{var C=y.getTemplate().getAddRelativeDlgTemplate();var E=YAHOO.Ancestry.tv.tags.lib.dialog_manager.dialog.Config();E.sHTML=y.getTemplate().getAddRelativeDlgHTML(y.getNode().getData().getName().getText());E.iWidth=C.width();E.iHeight=C.height();y.getTree().fireAddNode(E);YAHOO.util.Event.preventDefault(B)}YAHOO.util.Event.stopPropagation(B)};var j=function(F){var D=YAHOO.util.Dom.getElementsByClassName(F);for(var C=0,B=D.length;C<B;C++){if(YAHOO.Ancestry.tv.framework.Browser.ie()){var E=YAHOO.Ancestry.tv.framework.Html(D[C]);E.addClass(F+"_ie");if(YAHOO.Ancestry.tv.framework.Browser.ie7()){E.addClass(F+"_ie7")}}}};(function(){j(y.getTemplate().getFamilyMemberProfileClass());j(y.getTemplate().getFamilyMemberTargetClass())})();return y};YAHOO.namespace("YAHOO.Ancestry.tv.tags.lib.tree_viewer.tree.node");YAHOO.Ancestry.tv.tags.lib.tree_viewer.tree.node.EmptyDiv=function(g,e,d,f,b,a){var c=YAHOO.Ancestry.tv.tags.lib.tree_viewer.tree.node.Div(g,e,d,f,b,a);c.override("destroy",function(){});c.override("createUI",function(){});return c};YAHOO.namespace("YAHOO.Ancestry.tv.tags.lib.tree_viewer.tree.node.template");YAHOO.Ancestry.tv.tags.lib.tree_viewer.tree.node.template.Name=new function(){var c={};var d=[];var b;var a=function(e){d.push(e)};a(function(h,g,f){var e=h.split(" ");return(e.length===2&&e[1])?e[0]+" "+e[1].charAt(0)+" "+g:h+" "+g});a(function(h,g,f){var e=h.split(" ");return(e.length===2&&e[1])?e[0]+" "+g:h+" "+g});a(function(h,g,f){var e=h.indexOf("-");if(e!==-1){return h.charAt(0)+h.charAt(e+1)+" "+g}return h.charAt(0)+" "+g});a(function(g,f,e){return f});a(function(g,f,e){return f.substring(0,e)});c.getDisplayText=function(e){return function(n,j){if(!b){b=YAHOO.Ancestry.tv.framework.Runtime.getObject("oTreeViewer.oGlobals").aNameCharMax}var h=e.getText(),g=d.length;if(!j){return h}var f=b[parseInt(j,10)]||22,m=e.getGiven(),l=e.getSurname();for(var k=0;k<g&&h.length>f;k++){h=d[k](m,l,f)}return h}};return c};YAHOO.namespace("YAHOO.Ancestry.tv.tags.lib.tree_viewer.tree.node");YAHOO.Ancestry.tv.tags.lib.tree_viewer.tree.node.Template=new function(){var a=YAHOO.Ancestry.tv.framework.Base();var d=[];var f;var c;var e=function(h,g){h.className(g.className())};var b=function(){if(d.length>0){return}var k=YAHOO.Ancestry.tv.framework.Html(c.sAddParentTemplateDiv);var h=k.dElem.getElementsByTagName("ol")[0];var g=h.getElementsByTagName("li");for(var j=0;j<g.length;j++){d[j]=YAHOO.Ancestry.tv.framework.Html(g[j].getElementsByTagName("div")[0])}};a.init=function(g){c=g;f=c.sProfileIconClass};a.getConfig=function(){return c};a.replaceTokens=function(m,p){var k=m.innerHTML();var l=p.getData();var q=p.getTree();var j=q.getConfig();var g=l.getPhoto().getTiny();var n;if("M"===l.getGender()){n="male"}else{if("F"===l.getGender()){n="female"}else{n="unknown"}}if(g){k=k.replace(c.sPhotoToken,"url("+g+"); background-position: center 20%;")}k=k.replace(c.sNameToken,YAHOO.Ancestry.tv.tags.lib.tree_viewer.tree.node.template.Name.getDisplayText(l.getName()));var o=l.getBirth().getDate().getYear();var i=l.getDeath().getDate().getYear();k=k.replace(c.sBirthToken,(o)?o:"");k=k.replace(c.sDeathToken,(i)?i:"");k=k.replace(c.sGenderToken,n);return k};a.getProfileIconClass=function(){return f};a.getAddParentTemplate=function(g){b();return d[g]};a.getAddParentLinkHTML=function(i,h){var g=a.getAddParentTemplate(h).innerHTML().replace(c.sParentToken,(i)?c.sFatherText:c.sMotherText);g=g.replace(c.sParentClassToken,(i)?c.sFatherClass:c.sMotherClass);return g};a.render=function(j,i,h,g){e(j,i);j.innerHTML(g?g:a.replaceTokens(i,h))};return a};YAHOO.namespace("YAHOO.Ancestry.tv.tags.lib.tree_viewer.tree.node.root_node");YAHOO.Ancestry.tv.tags.lib.tree_viewer.tree.node.root_node.FamilyMember=new function(){var j={};var i;var e;var f;var c;var l;var b;var d;var a;var k;var h;var g;j.init=function(m){i=m;e=YAHOO.Ancestry.tv.framework.Html(i.sFamilyMemberTemplateId);f=i.sFamilyMemberDivExtraClassToken;c=i.sFamilyMemberChildClass;l=i.sFamilyMemberTargetClass;b=i.sFamilyMemberProfileClass;d=i.sFamilyMemberLinkClass;a=i.sFamilyMemberLinkPidAttribute;k=i.sFamilyMemberNameToken;h=i.sFamilyMemberPidToken;g=i.sProfileIconClass};j.render=function(n){var p="";if(n.length){var m=e.dElem.innerHTML;for(var o=0;o<n.length;o++){var r=n[o].node;var t=n[o].familyMemberDivExtraClass;if(r){var s=r.getData();var q=m.replace(k,YAHOO.Ancestry.tv.tags.lib.tree_viewer.tree.node.template.Name.getDisplayText(s.getName()));q=q.replace(h,s.getPid());q=q.replace(f,(t?t:""));p+=q}}}return p};j.getProfileIconClass=function(){return g};j.getFamilyMemberDivClass=function(){return b};j.getFamilyMemberDivExtraClassToken=function(){return f};j.getFamilyMemberNameToken=function(){return k};j.getFamilyMemberPidToken=function(){return h};j.getFamilyMemberChildClass=function(){return c};j.getFamilyMemberLinkClass=function(){return d};j.getFamilyMemberProfileClass=function(){return b};j.getFamilyMemberTargetClass=function(){return l};return j};YAHOO.namespace("YAHOO.Ancestry.tv.tags.lib.tree_viewer.tree.node.root_node");YAHOO.Ancestry.tv.tags.lib.tree_viewer.tree.node.root_node.Siblings=new function(){var d={};var f;var c;var b=YAHOO.Ancestry.tv.tags.lib.tree_viewer.tree.node.root_node.FamilyMember;var e;var h;var a;var g;d.init=function(i){f=i;c=YAHOO.Ancestry.tv.framework.Runtime.getObject("oTreeViewer.oGlobals");e=YAHOO.Ancestry.tv.framework.Html(f.sSiblingsTemplateId);h=f.sSiblingsHeaderClass;a=f.sNoSiblingsHeaderClass;g=f.sSiblingMembersToken};d.render=function(q){var o=q.getData();var r=q.getTree();var j=r.getNodes();var p=e.dElem.innerHTML;var n=[];var i=o.getRoles().getRolesByName("sibling");var m=i.length?h:a;p=p.replace(m+" invisible",m);if(i.length){for(var l=0;l<i.length;l++){n.push({node:j[i[l].getPid()]})}}p=p.replace(g,b.render(n));p=p.replace(c.sZoomLevelToken,q.getLevel());return p};return d};YAHOO.namespace("YAHOO.Ancestry.tv.tags.lib.tree_viewer.tree.node.root_node");YAHOO.Ancestry.tv.tags.lib.tree_viewer.tree.node.root_node.SpouseChildren=new function(){var d={};var e;var c=YAHOO.Ancestry.tv.tags.lib.tree_viewer.tree.node.root_node.FamilyMember;var b;var f;var g;var a;d.init=function(h){e=h;b=YAHOO.Ancestry.tv.framework.Html(e.sSpouseChildrenTemplateId);f=e.sSpouseChildrenHeaderClass;g=e.sNoSpouseChildrenHeaderClass;a=e.sFamilyMembersToken};d.render=function(l,v,w){var p=b.dElem.innerHTML;var u=w.getData();var x=w.getTree();var k=x.getNodes();var s=[];var o=u.getRoles().getRolesByName("spouse");var h=o.length?f:g;p=p.replace(h+" invisible",h);for(var m=0;m<o.length;m++){var r=o[m];s.push({node:k[r.getPid()]});if(r.getChildren()){var q=r.getChildren().getPids();for(var n=0;n<q.length;n++){s.push({node:k[q[n]],familyMemberDivExtraClass:c.getFamilyMemberChildClass()})}}}p=p.replace(a,c.render(s));return p};return d};YAHOO.namespace("YAHOO.Ancestry.tv.tags.lib.tree_viewer.tree.node.root_node");YAHOO.Ancestry.tv.tags.lib.tree_viewer.tree.node.root_node.FamilyList=new function(){var d={};var g;var a;var c;var f;var e=YAHOO.Ancestry.tv.tags.lib.tree_viewer.tree.node.root_node.SpouseChildren;var b=YAHOO.Ancestry.tv.tags.lib.tree_viewer.tree.node.root_node.FamilyMember;d.init=function(h){g=h;a=YAHOO.Ancestry.tv.framework.Html(g.sFamilyListTemplateId);c=g.sSpouseChildrenToken;f=g.sShowSiblingLinkClass};d.render=function(l,k,i){var j=a.dElem.innerHTML;j=j.replace(c,e.render(l,k,i));return j};d.getConfig=function(){return g};d.getShowSiblingLinkClass=function(){return f};d.getProfileIconClass=function(){return b.getProfileIconClass()};d.getFamilyMemberDivClass=function(){return b.getFamilyMemberDivClass()};d.getFamilyMemberLinkClass=function(){return b.getFamilyMemberLinkClass()};d.getFamilyMemberProfileClass=function(){return b.getFamilyMemberProfileClass()};d.getFamilyMemberTargetClass=function(){return b.getFamilyMemberTargetClass()};d.getFamilyMemberLinkPidAttribute=function(){return b.getFamilyMemberLinkPidAttribute()};return d};YAHOO.namespace("YAHOO.Ancestry.tv.tags.lib.tree_viewer.tree.node");YAHOO.Ancestry.tv.tags.lib.tree_viewer.tree.node.RootTemplate=new function(){var f=YAHOO.Ancestry.tv.tags.lib.tree_viewer.tree.node.Template;var h={};var g;var k;var c;var b;var d;var e;var a;var i;var j;h.init=function(l){g=l;k=YAHOO.Ancestry.tv.framework.Runtime.getObject("oTreeViewer.oGlobals");b=g.sAddRelativeWrapperClass;d=g.sAddRelativeLinkClass;c=g.sRootNodeInfoClass;e=g.sRootNodeInfoToken;a=YAHOO.Ancestry.tv.framework.Html(g.sAddRelativeTemplateDlgDiv);i=YAHOO.Ancestry.tv.tags.lib.tree_viewer.tree.node.root_node.FamilyList;j=YAHOO.Ancestry.tv.tags.lib.tree_viewer.tree.node.root_node.FamilyMember};h.render=function(o,n,l){var m=f.replaceTokens(n,l);m=m.replace(e,i.render(o,n,l));m=m.replace(k.sZoomLevelToken,l.getLevel());f.render(o,n,l,m)};h.getProfileIconClass=function(){return f.getProfileIconClass()};h.getConfig=function(){return g};h.getFamilyMemberDivClass=function(){return j.getFamilyMemberDivClass()};h.getFamilyMemberLinkClass=function(){return j.getFamilyMemberLinkClass()};h.getFamilyMemberProfileClass=function(){return j.getFamilyMemberProfileClass()};h.getFamilyMemberTargetClass=function(){return j.getFamilyMemberTargetClass()};h.getShowSiblingLinkClass=function(){return i.getShowSiblingLinkClass()};h.getFamilyMemberLinkPidAttribute=function(){return j.getFamilyMemberLinkPidAttribute()};h.getAddRelativeWrapperClass=function(){return b};h.getAddRelativeLinkClass=function(){return d};h.getAddRelativeDlgTemplate=function(){return a};h.getRootNodeInfoClass=function(){return c};h.getAddRelativeDlgHTML=function(l){var m=a.innerHTML();m=m.replace(g.sNameToken,l);return m};return h};YAHOO.namespace("YAHOO.Ancestry.tv.tags.lib.tree_viewer.tree");YAHOO.Ancestry.tv.tags.lib.tree_viewer.tree.Node=function(n,u,t,k,j){var q=YAHOO.Ancestry.tv.framework.Base(n);var g=u;var m=t?YAHOO.Ancestry.tv.tags.lib.tree_viewer.tree.node.Data(t):null;var h=m?m.getPid():k;var l=null;var i=[];var f=YAHOO.Ancestry.tv.tags.lib.tree_viewer.tree.node.Hint(q,u);var c=YAHOO.Ancestry.tv.framework.Runtime.getObject("oTreeViewer.oGlobals");var p=0;var a=0;var e=null;var r=null;var s=[];var o=j;var d=YAHOO.Ancestry.tv.tags.lib.tree_viewer.tree.enums.NODE_TYPE_ENUM;var b="";q.getTree=function(){return g};q.setData=function(v){m=v?YAHOO.Ancestry.tv.tags.lib.tree_viewer.tree.node.Data(v):null};q.getData=function(){return m};q.getId=function(){return h};q.getParent=function(){return q.oParent};q.setParent=function(v){q.oParent=v};q.setDomElement=function(v){l=v;b=v?v.className():""};q.getDomElement=function(){return l};q.getDomElements=function(){return i};q.getHint=function(){return f};q.setSiblingIndex=function(v){p=v};q.setLevel=function(v){a=v};q.getLevel=function(){return a};q.getLeftNeighbor=function(){return e};q.setLeftNeighbor=function(v){e=v};q.getRightNeighbor=function(){return r};q.setRightNeighbor=function(v){r=v};q.getChildren=function(){return s};q.setChild=function(x){for(var w=0,v=s.length;w<v;w++){if(s[w].getId()===x.getId()){s[w]=x;x.setSiblingIndex(w);return}}s[w]=x;x.setSiblingIndex(w)};q.setChildren=function(v){return s=v};q.getChildrenCount=function(){return s.length};q.getLeftSibling=function(){return(e&&(e.getParent()===q.oParent))?e:null};q.getRightSibling=function(){return(r&&(r.getParent()===q.oParent))?r:null};q.getChildAt=function(v){return s[v]};q.getFirstChild=function(){return q.getChildAt(0)};q.getLastChild=function(){return q.getChildAt(q.getChildrenCount()-1)};q.getBreadcrumb=function(){return YAHOO.Ancestry.tv.tags.lib.tree_viewer.breadcrumb.Template.templatize(q)};q.hasData=function(){return m===null};q.isParentLink=function(){return d.ADD_PARENT_LINK===o};q.isExpandLink=function(){return d.EXPAND_LINK===o};q.isEmptyNode=function(){return d.EMPTY_NODE===o};q.isLink=function(){return q.isParentLink()||q.isExpandLink()};q.hasChildLink=function(){var v=q.getFirstChild();return(v&&v.isLink())};q.hasChildExpandLink=function(){var v=q.getFirstChild();return(v&&v.isExpandLink())};q.dimExcludedChildLinks=function(y){if(l){var w=l.getChildLinks();for(var x=0,v=w.length;x<v;x++){w[x].dim(!y[s[x].getId()])}}};q.dim=function(v){if(l){l.dim(v)}};q.highlight=function(x){var w=g.getConfig(),v=w.sHighlightedNodeClass,z=g.getCanvas().getZoom().getCurrentZoomLevel(),y=i[z];v=v.replace(c.sZoomLevelToken,z);if(x){y.addClass(v)}else{y.removeClass(v)}};q.fadeChildLinks=function(v){if(l){l.fadeChildLinks(v)}};q.showChildLinks=function(v){if(l){l.showChildLinks(v)}};q.expand=function(){g.expandNode(q)};q.destroy=function(){q.destroyDOM()};q.destroyDOM=function(){for(var w=0,v=i.length;w<v;w++){i[w].destroy()}i=[];l=null};q.collapse=function(){for(var w=0,v=i.length;w<v;w++){i[w].collapse()}};return q};YAHOO.namespace("YAHOO.Ancestry.tv.tags.lib.tree_viewer.tree");YAHOO.Ancestry.tv.tags.lib.tree_viewer.tree.NodeRenderingEngine=function(h,a,c,k){var f={};var i=h;var l=c;var b=k;var e=a;var d=function(p,n){if(p.isExpandLink()){p.getDomElements()[n]=YAHOO.Ancestry.tv.tags.lib.tree_viewer.tree.ExpandLink(i,i.getCanvas().getZoom().getZoomLevelDiv(n),p,n);return p.getDomElements()[n]}else{if(p.isParentLink()){var r=p.getParent();var s=r.getChildren();var m;if(p===s[0]&&s[1]&&s[1].isParentLink()){m=true}else{if(p===s[1]&&s[0].isParentLink()){m=false}else{var q=r.getData().getRoles();var o=q.getRoleByName("father");m=!o}}p.getDomElements()[n]=YAHOO.Ancestry.tv.tags.lib.tree_viewer.tree.AddParentLink(i,i.getCanvas().getZoom().getZoomLevelDiv(n),p,n,m);return p.getDomElements()[n]}}};var j=function(o,n){var m=(o===i.getRootNode())?YAHOO.Ancestry.tv.tags.lib.tree_viewer.tree.node.RootDiv:(o.isEmptyNode())?YAHOO.Ancestry.tv.tags.lib.tree_viewer.tree.node.EmptyDiv:YAHOO.Ancestry.tv.tags.lib.tree_viewer.tree.node.Div;o.getDomElements()[n]=m(i,i.getCanvas().getZoom().getZoomLevelDiv(n),o,i.getCanvas().getZoom().getProperTemplateDiv(o,n),n,!!i.getExpandCollapse().hasBeenExpanded(o.getId()),e,l,b);return o.getDomElements()[n]};var g=function(o,q,m){if(!o){return}var r=o.getDomElements();if(r[m]){r[m].createUI()}var p=o.getChildren();for(var n=0;n<p.length;n++){g(p[n],q+1,m)}};f.createNodeOrLinkDiv=function(n,m){return n.isLink()?d(n,m):j(n,m)};f.createZoomLevelUIs=function(o){for(var n=0,m=i.getCanvas().getZoom().getNumberOfZoomLevels();n<m;n++){b.info("Creating zoom level "+n+" UI.");i.positionTree(n,o||i.getRootNode());o=o||i.getRootNode();g(o,o.getLevel(),n)}b.info("All zoom level UIs created.")};return f};YAHOO.namespace("YAHOO.Ancestry.tv.tags.lib.tree_viewer.tree");YAHOO.Ancestry.tv.tags.lib.tree_viewer.tree.NodeLink=function(o,k,d,c,m,n){var i=YAHOO.Ancestry.tv.framework.Base(o);var b=k;var h=d;var e=c;var p=m;var j=[];var f=YAHOO.Ancestry.tv.tags.lib.tree_viewer.tree.enums.ROOT_ORIENTATION_ENUM;var a=h.eRootOrientation===f.LEFT;var g=n;var l=function(B,A,t,s){var q=YAHOO.Ancestry.tv.framework.Html(b.appendChild("div"),i);q.style("position","absolute");q.style("backgroundColor",h.sLinkColor);var v=(A>B)?B:A;var u=(s>t)?t:s;q.top(u);q.left(v);var z=A-B;if(z<0){z=-z}else{if(z===0){z=1}}var r=s-t;if(r<0){r=-r}else{if(r===0){r=1}}q.width(z);q.height(r);j[j.length]=q};i.show=function(s){for(var r=0,q=j.length;r<q;r++){j[r].show(s)}};i.dim=function(s){for(var r=0,q=j.length;r<q;r++){YAHOO.Ancestry.tv.framework.html.effects.Dim(j[r],s)}};i.fade=function(t,r){var q=j.length;var u=0;var v=function(){if(++u===q){r()}};for(var s=0;s<q;s++){YAHOO.Ancestry.tv.framework.html.effects.Fade(j[s],t,r?v:null)}};i.destroy=function(){for(var r=0,q=j.length;r<q;r++){b.removeChild(j[r])}j=[]};(function(){var q=e;if(!g&&q){if(m||!a){l(q.xa,q.xb,q.ya,q.yb)}if(!a){l(q.xb,q.xc,q.yb,q.yc)}l(q.xc,q.xd,q.yc,q.yd)}})();return i};YAHOO.namespace("YAHOO.Ancestry.tv.tags.lib.tree_viewer.tree.requests");YAHOO.Ancestry.tv.tags.lib.tree_viewer.tree.requests.Data=function(e,a,c,d){var b={send:function(i,g){if(!g){c.begin()}d.info("Requesting tree data...");var h=YAHOO.Ancestry.tv.tags.lib.tree_viewer.tree.UrlBuilder.getDataUrl(e,i);var f=function(j){c.showError(0);d.error("JSON Data Exception: "+j.toString()+" pid: "+i+" url: "+h)};YAHOO.Ancestry.tv.framework.ajax.Request(null,h,{},function(j){a(j,i,g,h)},"GET",null,b.onException)}};return b};YAHOO.namespace("YAHOO.Ancestry.tv.tags.lib.tree_viewer.tree");YAHOO.Ancestry.tv.tags.lib.tree_viewer.tree.Status=function(b,i,v,E,C,c){var y=YAHOO.Ancestry.tv.framework.Base();var f=YAHOO.Ancestry.tv.framework.Html(b);var B=YAHOO.Ancestry.tv.framework.Html(i);var o=YAHOO.Ancestry.tv.framework.Html(v);var a=YAHOO.Ancestry.tv.framework.Html(E);var q=YAHOO.Ancestry.tv.framework.Html(C);var z=YAHOO.Ancestry.tv.framework.Html(c);var k=o.innerHTML();var l=q.innerHTML();var A=k;var p=l;var x="DONE";var w=null;var n=250;var F=null;var t=5;var m;var s;var r;var j=false;var D=false;var d=[];var h=function(){k=x};var e=function(){if(x===k){clearInterval(w);o.innerHTML("");q.innerHTML("");z.innerHTML("");f.show(false)}};var u=function(){if(j){r="";s=k.length;m=0;F=setInterval(g,t)}else{o.innerHTML(k);q.innerHTML(l);z.innerHTML(k)}};var g=function(){r+=k.charAt(m++);o.innerHTML(r);q.innerHTML(r);z.innerHTML(r);if(r===k){clearInterval(F)}};y.setCurrentStatus=function(G){k=G};y.begin=function(I,H,G){D=H;k=I||A;l=G||p;B.display(!H);a.display(H);f.show(true);w=setInterval(e,n);u()};y.end=function(){h()};y.addErrorDiv=function(J,H,G){var I=null;if(G){I=YAHOO.Ancestry.tv.framework.Html(G)}d[J]={title:I,message:YAHOO.Ancestry.tv.framework.Html(H)}};y.showError=function(J,G){var I=null;if(null!==d[J].title){I=d[J].title.innerHTML()}var H=d[J].message.innerHTML();if(G){H=H.replaceTokens(G)}y.begin(H,true,I)};(function(){o.innerHTML("")})();return y};YAHOO.namespace("YAHOO.Ancestry.tv.tags.lib.tree_viewer.tree");YAHOO.Ancestry.tv.tags.lib.tree_viewer.tree.UrlBuilder=new function(){var a=function(){var c=YAHOO.Ancestry.tv.framework.Runtime.getObject("oTreeViewer.oGlobals");if(c){return c}else{alert("Globals requested at load time.  It is not available until runtime. ")}return null};var b=function(h,g,e){var f=g;var d=h.replace(f.s_TID_TOKEN,a().sTreeId);d=d.replace(f.s_PID_TOKEN,e);return d};return{getDataUrl:function(g,e){var f=g;var d=b(f.sDataUrl,f,e);d=d.replace(f.s_GEN_TOKEN,f.iDefaultGenerations);return d},getHintsUrl:function(c){return a().sDomain+c},getSiblingsUrl:function(g,e){var f=g;var d=b(f.sDataSiblingsUrl,f,e);d=d.replace(f.s_GEN_TOKEN,f.iDefaultGenerations);return d},getHintsTargetUrl:function(g,e){var f=g;var d=b(f.sHintsTargetUrl,f,e);d=d+"&pg="+(f.returnPage?f.returnPage:"")+"&ret="+a().sPersonId;return d}}};YAHOO.namespace("YAHOO.Ancestry.tv.tags.lib.tree_viewer.tree");YAHOO.Ancestry.tv.tags.lib.tree_viewer.tree.Zoom=function(x,r,k,v,s,w,c){var u={};var g=x;var d=r;var i=YAHOO.Ancestry.tv.framework.Runtime.getObject(k);var n=v;var m=d.iDefaultZoomLevel;var h=false;var o=YAHOO.Ancestry.tv.framework.Html(w);var j=YAHOO.Ancestry.tv.framework.Html(c);var f=s;var a=[];var t=!document.all;var l=!document.all;var z=0;var b=z;var p=function(A){A=parseInt(A,10);if(!A||z>A){return z}else{if(b<A){return b}}return A};var e=function(){var B=o.dElem.getElementsByTagName("ol")[0];var A=B.getElementsByTagName("li");var D=j.dElem.getElementsByTagName("ol")[0];var E=D.getElementsByTagName("li");for(var C=0;C<A.length&&C<E.length;C++){i.info("Creating zoom level "+C);a[C]=YAHOO.Ancestry.tv.tags.lib.tree_viewer.tree.ZoomLevel(YAHOO.Ancestry.tv.framework.Html(A[C].getElementsByTagName("div")[0]),YAHOO.Ancestry.tv.framework.Html(E[C].getElementsByTagName("div")[0]))}b=(0<a.length)?a.length-1:z;m=p(m);i.info("All zoom level UIs created.")};var y=function(C){i.info("Hiding child links...");var D=g.getNodes();for(var A in D){if(D.hasOwnProperty(A)){var B=D[A].getDomElements();if(B.length){B[C].showChildLinks()}}}i.info("All links removed.")};var q=function(A){return a[typeof(A)!=="undefined"?A:m]};u.fadeInCurrentZoomLevel=function(B,A){if(t){f.show()}f.appendChild(null,u.getZoomLevelDiv());if(t){if(A){f.show(true)}else{YAHOO.Ancestry.tv.framework.html.effects.Fade(f,true)}}};u.getNumberOfZoomLevels=function(){return a.length};u.getZoomLevelDiv=function(A){return q(A).getZoomLevelDiv()};u.getRootNodeTemplateDiv=function(A){return q(A).getRootNodeTemplateDiv()};u.getNodeTemplateDiv=function(A){return q(A).getNodeTemplateDiv()};u.getProperTemplateDiv=function(B,A){return(B===g.getRootNode())?u.getRootNodeTemplateDiv(A):u.getNodeTemplateDiv(A)};u.setCurrentZoomLevel=function(A){m=p(A)};u.getCurrentZoomLevel=function(){return m};u.canZoomIn=function(){return(m<b)};u.canZoomOut=function(){return(m>z)};u.zoomOut=function(){u.zoomLevelChange(null,p(m-1))};u.zoomIn=function(){u.zoomLevelChange(null,p(m+1))};u.forEachZoomLevel=function(A){for(var B=z;B<=b;B++){A(B)}};u.zoomToLevel=function(A){u.zoomLevelChange(null,p(A))};u.zoomLevelChange=function(E,D){if(!h&&u.getNodeTemplateDiv(D)){if(E==null){E=m}if(D==null){D=m}if(E==D){return}m=D;var A=u.getZoomLevelDiv(E);var C=u.getZoomLevelDiv(D);if(l){h=true;C.show();var B=function(){i.info("All nodes moved.");f.appendChild(null,C);var F=function(){n.updateFromDrag(-C.left(),-C.top());C.left(0);C.top(0)};var G=function(){i.info("Layers swapped.");f.removeChild(A);var J=g.getNodes();for(var H in J){if(J.hasOwnProperty(H)){var I=J[H].getDomElements()[E];if(I){I.showChildLinks(true);J[H].setDomElement(J[H].getDomElements()[D])}}}i.info("Hidden node links restored.");F();h=false};i.info("Fading in/out layers...");YAHOO.Ancestry.tv.framework.html.effects.Fade(C,true);YAHOO.Ancestry.tv.framework.html.effects.Fade(A,false,G)};y(E);B()}else{f.removeChild(A);f.appendChild(null,C)}}};(function(){e()})();return u};YAHOO.namespace("YAHOO.Ancestry.tv.tags.lib.tree_viewer.tree");YAHOO.Ancestry.tv.tags.lib.tree_viewer.tree.ZoomLevel=function(d,a){var c={};var f=a;var e=d;var g=null;var b=function(){g=YAHOO.Ancestry.tv.framework.Html(document.createElement("div"));g.style("position","absolute");g.left(0);g.top(0)};c.getZoomLevelDiv=function(){return g};c.getRootNodeTemplateDiv=function(){return f};c.getNodeTemplateDiv=function(){return e};(function(){b()})();return c};YAHOO.namespace("YAHOO.Ancestry.tv.tags.lib.tree_viewer");YAHOO.Ancestry.tv.tags.lib.tree_viewer.Tree=function(t,z,H,j,A,K,E){var C=YAHOO.Ancestry.tv.framework.Base(t);var ab=YAHOO.Ancestry.tv.framework.Runtime;var m=ab.getObject(E);var L=ab.getObject("oTreeViewer");var J=ab.getObject("oTreeViewer.oGlobals");var w=z;var U=YAHOO.Ancestry.tv.tags.lib.tree_viewer.tree.Canvas(C.oParent.getCanvas(),C,w,E,j,A);var g=YAHOO.Ancestry.tv.tags.lib.tree_viewer.tree.Algorithm(C,w);var r=ab.getObject(H);var s=YAHOO.Ancestry.tv.framework.Html(K);var k=YAHOO.Ancestry.tv.tags.lib.tree_viewer.tree.Generations(C,w.iDefaultGenerations);var v=YAHOO.Ancestry.tv.tags.lib.tree_viewer.tree.ExpandCollapse(C,z);var Q=YAHOO.Ancestry.tv.tags.lib.tree_viewer.tree.Hints(m);var Z=YAHOO.Ancestry.tv.tags.lib.tree_viewer.tree.NodeRenderingEngine(C,w,r,m);var p=J.sTreeId;var S;var n;var I;var aa;var q;var x;var i=[];var f=false;var X=false;var D=[];var Y=YAHOO.Ancestry.tv.tags.lib.tree_viewer.tree.enums.ROOT_ORIENTATION_ENUM;var d=new YAHOO.util.CustomEvent("treeDataReady");var h=new YAHOO.util.CustomEvent("nodeSelected");var l=new YAHOO.util.CustomEvent("nodeClicked");var o=new YAHOO.util.CustomEvent("addNode");var M=function(){try{var ad=L.getState();if(ad&&!isNaN(ad.getZoomLevel(true))){U.getZoom().setCurrentZoomLevel(ad.getZoomLevel(true))}var af;if(ad&&(af=ad.getClipRect(true,true))){U.updateFromRect(af)}var ac=ad.getExpandedIds(true);if(ac.length>0&&ac[0]){D[D.length]=ac[0]}}catch(ae){m.error("Error restoring state: "+ae.toString())}};var c=function(){S=YAHOO.Ancestry.tv.tags.lib.tree_viewer.tree.requests.Data(w,F,r,m)};var b=function(){S.send(J.sPersonId)};var W=function(ad,ac){var ag={nodes:[]};try{if(ad&&ad.responseText){ag=YAHOO.lang.JSON.parse(ad.responseText)}else{m.error("No responseText from request: "+ac)}}catch(af){r.showError(0,af.toString());var ae="Bad tree data: "+af.toString();if(ad&&ad.responseText){ae+=" responseText: "+ad.responseText}m.error(ae)}return ag};var F=function(af,ae,ac,ad){m.info("Tree data received.");n=af;f=!I;var ag=i[ae]||W(af,ad).persons;if(!ag){r.showError(2)}else{if(ag.error){T(ag.error)}else{C.handleBackendData(ag,ae,ac)}}};C.handleBackendData=function(ag,af,ad){v.clearPrevious(af);i[af]=ag;for(var ae=0,ac=ag.length;ae<ac;ae++){if(!f&&!I[ag[ae].pid]){v.addNode(ag[ae])}R(ag[ae])}v.createPlaceholderNodes();m.info("Node data created.");C.createUI(ad?I[af]:null);f=false;e();C.getCanvas().getOverlay().disableAndEnableZoomButtons();if(X){if(J.bHasTreeEditRights){Q.process(I);X=false}}};var e=function(){for(var ae=0,ac=D.length;ae<ac;ae++){if(!D[ae]){continue}var ad=I[D[ae]];if(ad){D[ae]=null;v.expandNode(ad)}}D=[]};C.createUI=function(ac){if(aa){U.create(ac,f);if(!ac){u(aa)}X=true;if(!D||D.length===0){if(J.bHasTreeEditRights){Q.init();Q.process(I);X=false}}r.end();if(document.all&&YAHOO.env.ua.ie<=7){document.body.className=""+document.body.className}d.fire(ac)}else{m.error("No root node for tree data; abort tree creation.");r.showError(0)}};var T=function(ad){var ae=ad.id;var ac=ad.text;if(ac){r.begin(ac,true)}else{r.showError(ae)}};var O=function(ad){for(var ac in I){if(I.hasOwnProperty(ac)){if(!I[ac].isLink()){var ae=I[ac].getData();if(ae&&ae.isMotherOrFather(ad)){return I[ac]}}}}return null};var R=function(ad){var af=ad.pid;if(I&&I[af]&&!I[af].isLink()){return}if(I&&I[af]){I[af].destroy()}var ac=O(af);var ae=YAHOO.Ancestry.tv.tags.lib.tree_viewer.tree.Node(ac,C,ad);if(!I){I={};aa=q=ae;I[af]=ae;ae.setLevel(0)}else{I[af]=ae;if(ac){ae.setParent(ac);ac.setChild(ae);ae.setLevel(ac.getLevel()+1)}}};var P=function(af,ae,ad){var ah=af.getDomElements()[U.getZoom().getCurrentZoomLevel()];var ac=ah.getXPos()+ah.getWidth()/2;var ag=ah.getYPos()+ah.getFullHeight()/2;U.centerToCoords(ac,ag,ae,ad)};var G=function(ad,ac){P(q,ad,ac)};var u=function(af,ae,ad){var ah=af.getDomElements()[U.getZoom().getCurrentZoomLevel()];var ac=ah.getXPos()-5;var ag=ah.getYPos()+parseInt(ah.getHeight()/2,10);U.leftCenterToCoords(ac,ag,ae,ad)};var V=function(ad,ac){u(q,ad,ac)};var a=function(aj){var ad=[];for(var af=0,ah=aj.getChildren(),ag=ah.length;af<ag;af++){var ac=aj.getChildAt(af);ad[ad.length]=ac;for(var ai=a(ac),ae=0,ak=ai.length;ae<ak;ae++){ad[ad.length]=ai[ae]}}return ad};var N=function(ac){C.selectNodeById(ac)};var B=function(ad,ac){m.error("Javascript error: '"+ad+"', at url: "+ac);r.showError(3,ad)};var y=function(){window.onerror=B};C.getId=function(){return p};C.getConfig=function(){return w};C.getCanvas=function(){return U};C.getNodes=function(){return I};C.getNodeRenderingEngine=function(){return Z};C.getExpandCollapse=function(){return v};C.getClickedNode=function(){return x};C.getExpandIconDiv=function(){return s};C.getGenerations=function(){return k};C.getLogger=function(){return m};C.getTreeDataReadyEvent=function(){return d};C.getNodeSelectedEvent=function(){return h};C.getNodeClickedEvent=function(){return l};C.getAddNodeEvent=function(){return o};C.getBreadcrumb=function(){return q.getBreadcrumb()};C.getResponses=function(){return i};C.isFirstData=function(){return f};C.hitTest=function(ac){return U.hitTest(ac)};C.getRootNode=function(){return aa};C.selectNodeById=function(ac){C.selectNode(I[ac])};C.selectNode=function(ac){q=ac;G(true);I[ac.getId()].highlight(true);setTimeout(function(){I[ac.getId()].highlight()},2500);h.fire()};C.centerNode=function(ac){q=ac;G(true)};C.leftCenterNode=function(ac){q=ac;V(true)};C.fireAddNode=function(ac){o.fire(ac)};C.nodeClicked=function(ac){x=ac;l.fire()};C.loadTree=function(ad,ac){C.destroy();m.info("Loading tree with TID '"+ad+"' and PID '"+ac+"'");J.sTreeId=ad;J.sPersonId=ac;S.send(ac)};C.switchToFamilyView=function(){w.eRootOrientation=Y.TOP;U.create(true)};C.switchToPedigreeView=function(){w.eRootOrientation=Y.LEFT;U.create(true)};C.updateGenerations=function(ac,ad){k.update(I,ac);if(ad){N(ad)}};C.zoomOut=function(){U.getZoom().zoomOut()};C.zoomIn=function(){U.getZoom().zoomIn()};C.canZoomOut=function(){return U.getZoom().canZoomOut()};C.canZoomIn=function(){return U.getZoom().canZoomIn()};C.zoomToLevel=function(ac){U.getZoom().zoomToLevel(ac)};C.forEachZoomLevel=function(ac){U.getZoom().forEachZoomLevel(ac)};C.selectFromSearch=function(ac){if(!I[ac].getDomElement().isVisible()){C.updateGenerations(I[ac].getLevel()+1,ac)}else{N(ac)}};C.dimIndirectRelatives=function(ag){var ad=[];for(var af=a(ag),ae=0,ac=af.length;ae<ac;ae++){ad[af[ae].getId()]=true}var ai=ag;while(ai){ad[ai.getId()]=true;ai=ai.getParent()}for(var ah in I){if(I.hasOwnProperty(ah)){if(!ad[I[ah].getId()]){I[ah].dim(true)}I[ah].dimExcludedChildLinks(ad)}}};C.unDimIndirectRelatives=function(ad){for(var ac in I){if(I.hasOwnProperty(ac)){I[ac].dim()}}};C.positionTree=function(ac,ad){g.positionTree(ad||aa,ac)};C.requestNodeData=function(ad,ac){S.send(ad,ac)};C.getCurrentZoomLevel=function(){return U.getZoom().getCurrentZoomLevel()};C.restoreRootPosition=function(){C.leftCenterNode(aa)};C.destroy=function(){U.destroy();I=null};(function(){if(YAHOO.Ancestry.tv.framework.Ancestry.isProductionSite()){y()}C.oParent.setTree(C);m.setTree(C);M();c();YAHOO.util.Event.onDOMReady(b)})();return C};YAHOO.namespace("YAHOO.Ancestry.tv.tags.ui.layer.canvas.animation");YAHOO.Ancestry.tv.tags.ui.layer.canvas.animation.Props=function(m,n,a,f,i,h){var g=0;var k=m;var j=parseInt(a/k,10);var b=parseInt(f/k,10);var d=parseInt(i/k,10);var o=parseInt(h/k,10);var e=(YAHOO.Ancestry.tv.tags.ui.Clip(n.left()+i,n.top()+h,n.right()+i,n.bottom()+h)).getRect();var c=-(n.left()+i);var l=-(n.top()+h);return{getLeftInc:function(){return j},getTopInc:function(){return b},getXInc:function(){return d},getYInc:function(){return o},getFinalClip:function(){return e},getFinalLeft:function(){return c},getFinalTop:function(){return l},nextStep:function(){return ++g<k}}};YAHOO.namespace("YAHOO.Ancestry.tv.tags.ui.layer.canvas");YAHOO.Ancestry.tv.tags.ui.layer.canvas.Animation=function(){var f={};var b;var a;var j;var g;var c=100;var h=0;var k=0;var e=false;var l;var d=function(){if(g.nextStep()){j.expand(g.getXInc(),g.getYInc());b.style("clip",j.getRect());b.left(b.left()+g.getLeftInc());b.top(b.top()+g.getTopInc());setTimeout(d,c)}else{b.style("clip",g.getFinalClip());b.left(g.getFinalLeft());b.top(g.getFinalTop());if(l){l()}}};var i=function(){var m=a.width();var n=a.height();j.move(parseInt((m-h)/2,10),parseInt((n-k)/2,10));b.style("clip",j.getRect());h=m;k=n;if(e){setTimeout(i,c)}};f.move=function(n,q,s,r,p){b=n;j=q;l=p;var m=-(j.left()+s)-b.left();var o=-(j.top()+r)-b.top();g=YAHOO.Ancestry.tv.tags.ui.layer.canvas.animation.Props(5,j,m,o,s,r);d()};f.beginSizeToParent=function(m,o,n){b=m;j=o;a=n;e=true;h=a.width();k=a.height();i()};f.endSizeToParent=function(){e=false;i()};return f};YAHOO.namespace("YAHOO.Ancestry.tv.tags.ui.layer.canvas");YAHOO.Ancestry.tv.tags.ui.layer.canvas.Mouse=function(r){var q=YAHOO.Ancestry.tv.framework.Base(r);var e=YAHOO.Ancestry.tv.framework.document.Mouse;var i=YAHOO.util.Event;var n=true;var o=false;var g=null;var k=null;var s=null;var d=50;var b=50;q.enableMouseEvents=function(t){n=t};q.getXPos=function(){return g};q.getYPos=function(){return k};var f=function(){i.addListener(document,"mousedown",m);i.addListener(document,"mouseup",h);if(YAHOO.env.ua.ie>0){i.addListener(document,"mouseout",function(t){if(o){i.removeListener(document,"selectstart",p)}})}};var m=function(t){if(o){return}var u=t.srcElement;if(!u||"DIV"===u.tagName){if(n&&e.isLeftClick(t)&&q.oParent.hitTest(t)&&!q.oParent.getOverlay().hitTest(t)){o=true;i.addListener(document,"selectstart",p);e.setMouseCoordinates(t);if(s){clearTimeout(s)}s=setTimeout(c,d)}}};var c=function(){if(o){g=k=null;e.captureMouseMove(q);q.setCoordinates();l()}};var p=function(){return false};var h=function(t){if(e.isLeftClick(t)){j()}};var j=function(){o=false;e.endCaptureMouseMove(q);i.removeListener(document,"selectstart",p)};var a=function(){var u=e.getMouseX();var t=e.getMouseY();if((g!==u)||(k!==t)){q.oParent.updateFromDrag(g-u,k-t)}q.setCoordinates(u,t)};var l=function(){a();if(o){setTimeout(l,b)}else{j()}};q.setCoordinates=function(u,t){g=u||e.getMouseX();k=t||e.getMouseY()};(function(){f()})();return q};YAHOO.namespace("YAHOO.Ancestry.tv.tags.ui.layer.canvas.overlay_controls");YAHOO.Ancestry.tv.tags.ui.layer.canvas.OverlayControls=function(a,I,n,E,t,H,M,K,m,i,d,q,c,f,u,r,o,s,G,C){var A=YAHOO.Ancestry.tv.framework.Base(a);var g=50;var l=function(N){return function(){A.oParent.moveBy(g,N);return false}};var e=YAHOO.Ancestry.tv.framework.Html(H);var J=YAHOO.Ancestry.tv.framework.Html(I);var y=YAHOO.Ancestry.tv.framework.Html(i);var k=d;var b=q;var B=c;var F=YAHOO.Ancestry.tv.framework.Html(G);var L=YAHOO.Ancestry.tv.framework.Html(C);var h=E;var v=t;var D=K;var x=m;var j=function(O,N){YAHOO.Ancestry.tv.tags.ui.Button(O,N)};A.disableAndEnableZoomButtons=function(){if(!A.oParent.getTree().canZoomIn()){e.addClass(M);e.dElem.title=x}else{e.removeClass(M);e.dElem.title=D}if(!A.oParent.getTree().canZoomOut()){J.addClass(n);J.dElem.title=v}else{J.removeClass(n);J.dElem.title=h}};A.setFullscreenButtonIcon=function(){if(!A.oParent.isFullScreen()){y.addClass(k);y.dElem.title=B}else{y.removeClass(k);y.dElem.title=b}};var p=function(){A.oParent.zoomOut();A.disableAndEnableZoomButtons()};var z=function(){A.oParent.zoomIn();A.disableAndEnableZoomButtons()};var w=function(){A.oParent.fullScreen();A.setFullscreenButtonIcon()};(function(){j(I,p);j(H,z);j(i,w);j(f,A.oParent.restoreRootPosition);j(u,l("left"));j(r,l("up"));j(o,l("right"));j(s,l("down"))})();A.hitTest=function(O){var N=YAHOO.Ancestry.tv.framework.document.Mouse;if(O){N.setMouseCoordinates(O)}return(F.hitTest(N.getMouseX(),N.getMouseY())||L.hitTest(N.getMouseX(),N.getMouseY()))};return A};YAHOO.namespace("YAHOO.Ancestry.tv.tags.ui.layer");YAHOO.Ancestry.tv.tags.ui.layer.Canvas=function(a,i,u,x){var t=YAHOO.Ancestry.tv.framework.Base();var e=YAHOO.Ancestry.tv.framework.Html(a);var v=YAHOO.Ancestry.tv.framework.Html(i);var m=YAHOO.Ancestry.tv.tags.ui.layer.canvas.Mouse(t,x);var n=e.dElem.className;var p;var l=YAHOO.Ancestry.tv.tags.ui.layer.canvas.Animation();var r=null;var d=null;var h=null;var o=null;var k=null;var g=null;var f=null;var c=null;var j=new YAHOO.util.CustomEvent("update");t.getInnerDiv=function(){return v};t.getClip=function(){return p};t.getViewportCoords=function(){return YAHOO.Ancestry.tv.tags.ui.Coords(h,o,h+k,o+g)};t.getViewportAbsoluteCoords=function(){return YAHOO.Ancestry.tv.tags.ui.Coords(r,d,r+k,d+g)};t.getFullHeight=function(){return c};t.getFullWidth=function(){return f};t.enableMouseEvents=function(y){m.enableMouseEvents(y)};var q=function(){h=e.left();o=e.top();r=e.getAbsoluteLeft();d=e.getAbsoluteTop();k=e.width();g=e.height();f=v.getFullWidth();c=v.getFullHeight()};var b=function(){v.style("overflow","hidden")};var w=function(){v.style("overflow","visible")};t.resizeClipBy=function(B,A,z,y){if(z){l.move(v,p,B,A,y)}else{p.expand(B,A);t.updateInnerDiv()}};t.updateInnerDiv=function(){v.style("clip",p.getRect());v.left(-p.left());v.top(-p.top())};var s=function(){if(!p||(p.getWidth()!=k)||(p.getHeight()!=g)){var y=p?p.left():0;var z=p?p.top():0;p=YAHOO.Ancestry.tv.tags.ui.Clip(y,z,y+k,z+g)}};t.center=function(){var z=parseInt((f-k)/2,10);var y=parseInt((c-g)/2,10);p=YAHOO.Ancestry.tv.tags.ui.Clip(z,y,z+k,y+g);t.updateInnerDiv()};t.updateFromDrag=function(z,y){if(!YAHOO.Ancestry.tv.framework.document.Utils.docDisabled()){t.resizeClipBy(z,y)}};t.updateFromRect=function(z){var y=YAHOO.Ancestry.tv.tags.ui.Coords(0,0,0,0);y.fromRect(z);y.right(y.left());y.bottom(y.top());p=y;t.update()};t.hitTest=function(z){var y=YAHOO.Ancestry.tv.framework.document.Mouse;if(z){y.setMouseCoordinates(z)}return e.hitTest(y.getMouseX(),y.getMouseY())};t.centerToCoords=function(E,D,C,A){var y=parseInt(p.left()+(p.getWidth()/2),10);var F=parseInt(p.top()+(p.getHeight()/2),10);var B=E-y;var z=D-F;if(!((B===0)&&(z===0))){t.resizeClipBy(B,z,C,A)}};t.leftCenterToCoords=function(E,D,C,A){var y=p.left();var F=parseInt(p.top()+(p.getHeight()/2),10);var B=E-y;var z=D-F;if(!((B===0)&&(z===0))){t.resizeClipBy(B,z,C,A)}};t.animateWithParent=function(){l.beginSizeToParent(v,p,e)};t.animateWithParentComplete=function(){l.endSizeToParent();t.resizeClipBy(0,0,true)};t.scrollIntoView=function(F,A,C){if(!p.isVisible(F)){var H=p.getWidth();var D=p.getHeight();var B=F.getWidth();var z=F.getHeight();if((B>H)||(z>D)){F=YAHOO.Ancestry.tv.tags.ui.Coords(F.left(),F.top(),F.left()+Math.min(B,H),F.top()+Math.min(z,D))}var G=0;if(p.left()>F.left()){G=F.left()-p.left()}else{if(p.right()<F.right()){G=F.right()-p.right()}}var E=0;if(p.top()>F.top()){E=F.top()-p.top()}else{if(p.bottom()<F.bottom()){E=F.bottom()-p.bottom()}}t.resizeClipBy(G,E,!C,A)}return true};t.update=function(){b();q();s();t.updateInnerDiv();w();j.fire()};t.getUpdateEvent=function(){return j};(function(){YAHOO.util.Event.addListener(e.dElem,"mousedown",function(){this.className=n+" "+x});YAHOO.util.Event.addListener(e.dElem,"mouseup",function(){this.className=n});t.update()})();return t};YAHOO.namespace("YAHOO.Ancestry.tv.tags.lib.tree_viewer");YAHOO.Ancestry.tv.tags.lib.tree_viewer.Content=function(a,f,e){var c=YAHOO.Ancestry.tv.framework.Html(f,a);var d=YAHOO.Ancestry.tv.framework.Runtime.getObject(e);var b;var g=new YAHOO.util.CustomEvent("treeReady",c);c.getCanvas=function(){return d};c.getTree=function(){return b};c.getTreeReadyEvent=function(){return g};c.setTree=function(h){b=h;g.fire()};c.switchToFamilyView=function(){b.switchToFamilyView()};c.updateGenerations=function(h){b.updateGenerations(h)};c.zoomOut=function(){b.zoomOut()};c.zoomIn=function(){b.zoomIn()};c.zoomToLevel=function(h){b.zoomToLevel(h)};(function(){c.oParent.setContent(c)})();return c};YAHOO.namespace("YAHOO.Ancestry.tv.framework.document");YAHOO.Ancestry.tv.framework.document.Window=new function(){return{getSize:function(){return{width:window.screen.width,height:window.screen.height}}}};YAHOO.namespace("YAHOO.Ancestry.tv.tags.lib.tree_viewer");YAHOO.Ancestry.tv.tags.lib.tree_viewer.Fullscreen=function(c,u,q,v){var y=YAHOO.Ancestry.tv.framework.Base(c);var m=u;var n=q;var j=v;var x=false;var A=false;var t=false;var o={};var a=50;var r=0.5;var p={};var z;var g=null;var B=null;var l=null;var i=function(){if(!g){treeCardDivItem=document.getElementById("treeCardDivWrapper");g=YAHOO.Ancestry.tv.framework.Html(treeCardDivItem)}if(!B){B=YAHOO.Ancestry.tv.framework.Html("HdrContainer")}if(!l){l=YAHOO.Ancestry.tv.framework.Html("TabGroupLargeDiv")}};var k=function(){o={width:n.width(),height:n.height(),left:0,top:0,absoluteLeft:n.getAbsoluteLeft(),absoluteTop:n.getAbsoluteTop()}};var f=function(){n.removeClass(m.sNormalClass);n.addClass(m.sFullscreenClass);n.top(o.absoluteTop);i();if(g){g.addClass("overrideContainerTreeVwr")}if(B){B.addClass("overrideContainerTreeVwr")}if(l){l.removeClass("TabGroupLarge");l.addClass("overrideContainerTreeVwr")}};var s=function(){n.removeClass(m.sFullscreenClass);n.addClass(m.sNormalClass);n.left(o.left);n.top(o.top);i();if(g){g.removeClass("overrideContainerTreeVwr")}if(B){B.removeClass("overrideContainerTreeVwr")}if(l){l.removeClass("overrideContainerTreeVwr");l.addClass("TabGroupLarge")}};var e=function(){p.size=true};var w=function(){p.points=true};var h=function(){if(p.size&&p.points){y.oParent.updateContentHeight();if(t){A=!A}if(t&&!A){s()}b(A);x=false;t=false}else{setTimeout(h,a)}};var b=function(C){if(C){YAHOO.util.Event.addListener(window,"resize",d)}else{YAHOO.util.Event.removeListener(window,"resize",d)}};var d=function(){var C=YAHOO.Ancestry.tv.framework.document.Window.getSize();if(!YAHOO.Ancestry.tv.framework.type_extensions.Object.equals(z,C)){YAHOO.util.Event.removeListener(window,"resize",d);z=C;y.render(true)}};y.render=function(F){if(!x){x=true;b(false);t=!F;var G=t?!A:A;var D,E,H;p={size:false,points:false};YAHOO.Ancestry.tv.framework.document.Utils.enableScrolling(A);if(!G){D=new YAHOO.util.Anim(n.dElem,{width:{to:o.width},height:{to:o.height}},r);E=new YAHOO.util.Motion(n.dElem,{points:{to:[o.absoluteLeft,o.absoluteTop]}},r);H=new YAHOO.util.Anim(j.dElem,{height:{to:y.oParent.calculateContentHeight(o.height)}},r)}else{if(!F){k()}var C=YAHOO.Ancestry.tv.framework.Runtime.getObject("oTreeViewer.oCanvas.oOverlayControls");if("undefined"!==typeof C){C.setFullscreenButtonIcon()}f();var I=YAHOO.Ancestry.tv.framework.document.Dimensions;D=new YAHOO.util.Anim(n.dElem,{width:{to:I.getWidth()-20},height:{to:I.getHeight()-40}},r);E=new YAHOO.util.Motion(n.dElem,{points:{to:[I.getScrollLeft(),I.getScrollTop()]}},r);H=new YAHOO.util.Anim(j.dElem,{height:{to:y.oParent.calculateContentHeight(I.getHeight()-40)}},r)}D.onComplete.subscribe(e);E.onComplete.subscribe(w);D.animate();E.animate();H.animate();setTimeout(h,a)}};y.isFullScreen=function(){return A};(function(){z=YAHOO.Ancestry.tv.framework.document.Window.getSize()})();return y};YAHOO.namespace("YAHOO.Ancestry.tv.tags.lib.tree_viewer.tree");YAHOO.Ancestry.tv.tags.lib.tree_viewer.tree.Globals=function(e,g,a,c,f,h,d){var b=YAHOO.Ancestry.tv.framework.document.Location;return{sTreeId:b.getQueryValue("tid")||e,sPersonId:b.getQueryValue("pid")||g,sUserId:b.getQueryValue("uid")||a,bHasTreeEditRights:c,sDomain:b.getFullDomain()||d||"http://trees.ancestry.com/",sZoomLevelToken:f,aNameCharMax:h}};YAHOO.namespace("YAHOO.Ancestry.tv.tags.lib.tree_viewer");YAHOO.Ancestry.tv.tags.lib.tree_viewer.Search=function(m,v){var u=YAHOO.Ancestry.tv.framework.Base();var e=YAHOO.Ancestry.tv.framework.Html(m,u);var f=YAHOO.Ancestry.tv.framework.Html(v,u);var a=YAHOO.Ancestry.tv.framework.Html(f.dElem.getElementsByTagName("ul")[0],u);var w;var t;var c=350;var p={};var s={};var d;var o=function(){var y=d.getNodes();p={};for(var x in y){if(y.hasOwnProperty(x)){if(y[x].getData()){p[x]=y[x].getData().getName().getText()}}}};var g=function(){f.display(r());t=setInterval(b,c)};var n=function(){clearInterval(t);f.display()};var b=function(){var x=e.value();if(x!==w){j();w=x}setTimeout(b,c)};var q=function(y,x){return y.toLowerCase().has(x)};var l=function(){for(var x in s){if(s.hasOwnProperty(x)){k(x)}}s={};e.value("");f.display()};var r=function(){for(var x in s){if(s.hasOwnProperty(x)){if(s[x]){return true}}}return false};var i=function(y){var x=YAHOO.Ancestry.tv.framework.Html(a.appendChild("li"),a);x.dElem.id=y;x.innerHTML(p[y]);YAHOO.util.Event.addListener(x.dElem,"mousedown",h,x);s[y]=x};var k=function(x){if(s[x]){a.removeChild(s[x])}s[x]=null};var h=function(x,y){d.selectFromSearch(y.dElem.id);l()};var j=function(){var y=e.value();if(y){for(var x in p){if(p.hasOwnProperty(x)){if(q(p[x],y)){if(!s[x]){i(x)}}else{if(s[x]){k(x)}}}f.display(r())}}else{l()}};u.setTree=function(x){d=x;d.getTreeDataReadyEvent().subscribe(o)};(function(){w=e.value();YAHOO.util.Event.addListener(e.dElem,"focus",g);YAHOO.util.Event.addListener(e.dElem,"blur",n)})();return u};YAHOO.namespace("YAHOO.Ancestry.tv.tags.lib.tree_viewer");YAHOO.Ancestry.tv.tags.lib.tree_viewer.State=function(g){var b=g;var i=YAHOO.Ancestry.tv.framework.Runtime.getObject("oTreeViewer.oGlobals");var a;var c="NTVST";var f=function(){var k=b.getTree();var j=b.getFullscreen();var l=b.getContent();return{fpid:(k&&k.getRootNode())?k.getRootNode().getId():null,fs:(j?(j.isFullScreen()?1:0):null),clip:(l?l.getCanvas().getClip().getRect():null),zl:(k?k.getCanvas().getZoom().getCurrentZoomLevel():null),en:(k&&k.getExpandCollapse()&&k.getExpandCollapse().getExpandedIds())?k.getExpandCollapse().getExpandedIds().toString():null}};var h=function(){var j=YAHOO.Ancestry.tv.framework.document.Utils.getCookie(c);return j?YAHOO.lang.JSON.parse(j):null};var d=function(){YAHOO.Ancestry.tv.framework.document.Utils.setSessionCookie(c,YAHOO.lang.JSON.stringify(f()))};var e={getClipRect:function(j,k){return j?e.getSavedState(k).clip:f().clip},getFullscreen:function(j,k){return j?e.getSavedState(k).fs:f().fs},getRootNodeId:function(j){return j?e.getSavedState(null).fpid:f().fpid},getZoomLevel:function(j,k){return j?e.getSavedState(k).zl:f().zl},getExpandedIds:function(k,l){if(!k){return f().en}var j=e.getSavedState(l).en;if(j){return j.split(",")}return[]},getSavedState:function(){try{if(!a){a=(h()||{})}return(a.fpid===i.sPersonId)?a:{}}catch(j){a={};return{}}}};(function(){YAHOO.util.Event.on(window,"unload",function(){d()})})();return e};YAHOO.namespace("YAHOO.Ancestry.tv.tags.lib");YAHOO.Ancestry.tv.tags.lib.TreeViewer=function(j,h,i){var p=YAHOO.Ancestry.tv.framework.Base();var b=YAHOO.Ancestry.tv.framework.Runtime.getObject("oTreeViewer.oGlobals");var k=YAHOO.Ancestry.tv.framework.Html(j);var l;var d=YAHOO.Ancestry.tv.framework.Runtime.getObject(h);var r;var q;var e;var n;var g;var a=YAHOO.Ancestry.tv.tags.lib.tree_viewer.State(p);var o=function(){g=e.getTree();d.setTree(g);if(q){q.setTree(g)}g.getNodeClickedEvent().subscribe(c);g.getAddNodeEvent().subscribe(s);g.getTreeDataReadyEvent().subscribe(m)};var m=function(){g.getTreeDataReadyEvent().unsubscribe(m);var t=a?a.getSavedState():null;if(t&&1===t.fs){p.fullScreen()}};var c=function(){g.getCanvas().enableMouseEvents();var t=g.getClickedNode();l.displayClickCardDialog(b.sTreeId,t.getId(),t.getDomElements()[e.getCanvas().getZoom().getCurrentZoomLevel()],e.getCanvas().getInnerDiv(),e.getCanvas().scrollIntoView,null,null,f)};var f=function(){g.getCanvas().enableMouseEvents(true)};var s=function(u,t){l.displayAddNodeDialog(t[0])};p.getTree=function(){return g};p.getFullscreen=function(){return n};p.getContent=function(){return e};p.getState=function(){return a};p.setDialogManager=function(t){l=t};p.setButtons=function(t){r=t};p.setBreadcrumb=function(t){q=t};p.setContent=function(t){e=t;e.getTreeReadyEvent().subscribe(o);n=YAHOO.Ancestry.tv.tags.lib.tree_viewer.Fullscreen(p,i,k,e)};p.getWidth=function(){return k.width()};p.getHeight=function(){return k.height()};p.loadTree=function(u,t){g.loadTree(u,t)};p.updateGenerations=function(t){e.updateGenerations(t)};p.switchToFamilyView=function(){e.switchToFamilyView()};p.switchToPedigreeView=function(){e.switchToPedigreeView()};p.zoomToLevel=function(t){e.zoomToLevel(t)};p.zoomOut=function(){e.zoomOut()};p.zoomIn=function(){e.zoomIn()};p.fullScreen=function(){if(n){n.render()}};p.isFullScreen=function(){return !n||n.isFullScreen()};p.restoreRootPosition=function(){g.restoreRootPosition()};p.moveBy=function(v,u){var t=0,w=0;switch(u){case"up":w-=v;break;case"right":t+=v;break;case"down":w+=v;break;default:t-=v;break}g.getCanvas().resizeClipBy(t,w)};p.calculateContentHeight=function(t){return(t||k.height())-(r?r.height():0)-(q?q.height():0)-25};p.updateContentHeight=function(){e.height(p.calculateContentHeight())};(function(){YAHOO.util.Event.onDOMReady(p.updateContentHeight)})();return p};