var CONSOLE=false;var pppDebug=true;var useAJAX=true;var MANAGE_PAGE="manage.php";var HTML_EXTRAS_SCRIPT="extras.php";var POSTS_SCRIPT="posts.php";var IMAGE_DIR="/images/";var POST_CHUNK_SIZE=3;var groupFilter="All";var typeFilter="All";freezeValueFunction=function(a){return function(){return a}};jQuery.fn.center=function(){this.css("position","absolute");this.css("top",($(window).height()-this.height())/3+$(window).scrollTop()+"px");this.css("left",($(window).width()-this.width())/2+$(window).scrollLeft()+"px");return this};function errorNotify(a){if(pppDebug){alertDialog(a,null)}}function decodeAJAXReturn(a){return{success:(a.substring(0,1)=="+"),msg:a.substring(1)}}function removeHoverFilename(a){var b=a.attr("src").replace("-hover.",".");a.attr("src",b)}function setHoverFilename(a){var b=a.attr("src");if(b.indexOf("-hover")==-1){a.attr("src",b.replace(".","-hover."))}}function setButtonHoverHandlers(a){if(!a){a=$(".button.hoversrc")}a.hover(function(){setHoverFilename($(this))},function(){removeHoverFilename($(this))})}function setPagingControls(){if(curPage>0){$("#prev-page").removeClass("hidden")}else{$("#prev-page").addClass("hidden")}if($(".post").length<POST_CHUNK_SIZE){$("#next-page").addClass("hidden")}else{$("#next-page").removeClass("hidden")}}function attachPostButtonHandlers(){$("#posts .post").hover(function(){var d=$(this);var a=$(this).closest(".post");if(a.find(".comment-entry").length>0){return false}var b=d.find(".post-buttons");b.removeClass("hidden");var e=b.find(".edit, .delete");var c=d.find(".byUserid").text();if(c==authUserid){e.removeClass("hidden")}else{e.addClass("hidden")}if(a.hasClass("comment")){b.find(".comment").addClass("hidden")}},function(){var a=$(this).find(".post-buttons");if(!a.hasClass("hidden")){a.addClass("hidden")}});$("#posts .post-buttons .delete").click(function(){var a=$(this).closest(".post");var c=a.find(".postid").text();var b=a.find(".domain").text();confirmDialog("Delete this post?","Yes","No",function(){var d="action=delete&postid="+c+"&domain="+b+"&formUID="+sessionUID;$.post("mod-post.php",d,function(e){doPage()})},function(){});return false});$("#posts .post-buttons .edit").click(function(){var a=$(this).closest(".post");var d=a.find(".postid").text();var c=a.find(".domain").text();var b=a.find(".post-text").html();b=b.replace(/<br\/>/g,"\n");b=b.replace(/<br>/g,"\n");popup.editPopup("Edit Post",b,function(){var e="action=update&postid="+d+"&domain="+c+"&formUID="+sessionUID+"&newText="+popup.editText;$.post("mod-post.php",e,function(f){doPage()})},null);return false});$("#posts .post-buttons .comment").click(function(){var a=$(this).closest(".post");var d=a.find(".postid").text();var c=a.find(".domain").text();var b=c=="group"?1:0;$postCommentContainer=$("#post-comment").clone();$postCommentContainer.appendTo(a).removeAttr("id");$postCommentContainer.find(".button.save").click(function(){var e="postid="+d+"&fGroupPost="+b+"&formUID="+sessionUID+"&comment="+$postCommentContainer.find("textarea").val();$.post("submit-post-comment.php",e,function(f){doPage()});return false});$postCommentContainer.find(".button.cancel").click(function(){$postCommentContainer.slideUp(500,function(){$postCommentContainer.remove()});return false});a.find(".post-buttons").addClass("hidden");$postCommentContainer.slideDown(500);setButtonHoverHandlers($postCommentContainer.find(".button.hoversrc"));return false});setButtonHoverHandlers($("#posts .post-buttons .button.hoversrc"))}function applyFilter(){var d=(groupFilter=="All");var a=(typeFilter=="All");var c="page=0";curPage=0;if(!d){c+="&groupid="+groupFilter}if(!a){c+="&posttype="+typeFilter}if(typeof friendpageUserid!="undefined"){c+="&userid="+friendpageUserid}$("#just-the-posts").load(POSTS_SCRIPT,c,function(){setPagingControls();attachPostButtonHandlers()});var b;$(".thumbs LI").each(function(){b=$(this);var e=d;if(!e){b.find("span.groupid").each(function(){if($(this).text()==groupFilter){e=true;return false}})}if(e){b.show()}else{b.hide()}})}function doPage(){if(pppDebug&&curPage<0){errorNotify("doPage: negative page no")}var a="page="+curPage;if(groupFilter!="All"){a+="&groupid="+groupFilter}if(typeFilter!="All"){a+="&posttype="+typeFilter}if(typeof friendpageUserid!="undefined"){a+="&userid="+friendpageUserid}$("#just-the-posts").load(POSTS_SCRIPT,a,function(){setPagingControls();attachPostButtonHandlers()})}function handleFormSubmission(b,c,a,d,e){inProcessPopup.show();$.post(c,b.serialize(),function(f){inProcessPopup.hide(false);var i=decodeAJAXReturn(f);var h=i.success;var g=i.msg;if(h){popup.displayTimedPopup(g,a,"success center-text",1500);if(e!=null){e()}if(d){b.find("textarea").val("")}}else{alertDialog(g,"failure")}})}function handleSendMsgQuestionClick(a){removeHoverFilename(a);popup.oneButtonPopup("Add Note","Once a month or so, we send each person an email with all the updates for their groups and people they're in touch with.<br><br>When you add a note here, it's included in the update email for that person.  It's low-key, there's no direct way for them to respond.","OK",null,null)}$(document).ready(function(){if(navigator.appName.indexOf("Microsoft")>=0){$("#inner-wrapper").css("height","1%")}setButtonHoverHandlers();$("#extras").load(HTML_EXTRAS_SCRIPT,function(){$(".popup .close").click(function(){popup.hidePopup(null)});$("#backgroundOverlay").click(function(){popup.hidePopup(null)});inProcessPopup.init();backgroundOverlay.init();$groupPostEntryForm=$("#group-post-entry");if($groupPostEntryForm.length!=1){errorNotify($groupPostEntryForm.length+" group post forms found")}else{if(typeof attachGroupPostFormEventHandlers=="function"){$posts=$("#just-the-posts");if($posts.length>0){$groupPostEntryForm.insertBefore("#just-the-posts");attachGroupPostFormEventHandlers()}}}var g=$("#add-note");if(g.length>0){var d=$("#extras").find("#add-note-form");g.append(d.html());var h=g.find("form");h.find(":input[name=toUserid]").val(friendpageUserid);$intro=h.find(".intro");var c=$intro.text().replace("%",friendpageDisplayname);$intro.text(c);var e=h.find(".button.send");setButtonHoverHandlers(e);e.click(function(){removeHoverFilename(e);handleFormSubmission(h,"submit-email-msg.php","Add Note",true,null)});var f=h.find(".button.question");setButtonHoverHandlers(f);f.click(function(){handleSendMsgQuestionClick(f)})}});attachPostButtonHandlers();$("#big-msg .button").click(function(){$("#big-msg-wrapper").hide();return false});$("#big-msg .button").hover(function(){$(this).addClass("hover")},function(){$(this).removeClass("hover")});$("#next-page").click(function(){curPage++;doPage();return false});$("#prev-page").click(function(){curPage--;doPage();return false});$("#post-type-filters li").click(function(){if(!useAJAX){return true}var d=$(this).attr("id");var c=d.length;if(d.charAt(c-1)==" "){d=d.substring(0,c-1);c-=1}typeFilter=d;applyFilter();$("#post-type-filters li").removeClass("selected").removeClass("tall-label");$(this).addClass("selected");if(c>10){$(this).addClass("tall-label")}return false});$("#group-list li").click(function(){var f;$this=$(this);var e=$this.children("a").attr("id");var d=$this.find("span").text();if(!useAJAX){return true}if(!$this.closest("ul").hasClass("post-filters")){return true}var c=e.length;if(e.charAt(c-1)==" "){e=e.substring(0,c-1)}groupFilter=e;applyFilter();$("#group-list.post-filters li").removeClass("selected");$this.addClass("selected");if(userPCIGroupid==e){f="Your One-to-One Newsletter..."}else{f=groupFilter=="All"?"Your Newsletter...":"The "+d+" Newsletter"}$("#posts-heading").html(f);$groupPostEntryForm=$("#group-post-entry");$showForm=groupFilter!="All"&&e!=userPCIGroupid;if($groupPostEntryForm.length>0){if(!$showForm&&!$groupPostEntryForm.hasClass("hidden")){$groupPostEntryForm.slideUp(300);$groupPostEntryForm.addClass("hidden")}else{if($showForm){$groupPostEntryForm.find(":input[name=groupid]").val(e);if($groupPostEntryForm.hasClass("hidden")){$groupPostEntryForm.slideDown(300);$groupPostEntryForm.removeClass("hidden")}}}}return false});var a=new Object();a.init=function(){a.actions={"page-link":false,email:false,"upload-photo":false,remove:false};a.nActionsShowing=0;a.fadeInterval=30;a.opacityIncre=0.1;a.$liObj=null;if(typeof hoverActionsToBeIntialized=="undefined"){hoverActionsToBeIntialized=false}a.popupHTML="<div id='hover-popup' class='hidden'></div>";$(a.popupHTML).appendTo("body");a.$popupObj=$("#hover-popup");a.$popupObj.css("opacity",0);a.linkHTML="<div class='hover-link'></div>";a.linkInnerHTML={"page-link":"<a href='friend.php?userid=%'>View $ page</a>","upload-photo":"<a>Replace troll with photo</a>",email:"Add a note to $ monthly update:<br/><form><textarea name='msg' wrap='virtual'/></textarea>&nbsp;<img class='button hover add' src='"+IMAGE_DIR+"add-small.gif'/><img class='button hover question' src='"+IMAGE_DIR+"question-small.gif'/><input type='hidden' name='formUID' value='"+sessionUID+"'><input type='hidden' name='toUserid'></form>",remove:"<a>Remove $ from the group</a>"};a.link$Objs=new Object()};a.init();a.initLinks=function(){var e=hoverActionsToShow.length;for(var c=0;c<e;c++){var d=hoverActionsToShow[c];a.actions[d]=true;a.nActionsShowing++;$(a.linkHTML).html(a.linkInnerHTML[d]).attr("id",d).appendTo(a.$popupObj);a.link$Objs[d]=$("#"+d)}hoverActionsToBeIntialized=false;a.width=a.$popupObj.width();a.height=a.$popupObj.height()};a.setPos=function(d){var h=d.offset();var f=d.width();var c=d.height();var g=-1;var e=-(210-f)/2;a.top=h.top+c+g;a.left=h.left+e;a.$popupObj.css({left:a.left+"px",top:a.top+"px"})};a.fade=function(e){var d=parseFloat(a.$popupObj.css("opacity"),10);var g=a.targetOpacity-d;var c=Math.abs(g);if(c<0.05){a.$popupObj.css("opacity",a.targetOpacity);if(a.targetOpacity===0){a.$popupObj.hide()}return}if(d===0){a.$popupObj.show()}var f=Math.min(a.opacityIncre,c);f=(g>0)?f:-f;a.$popupObj.css("opacity",d+f);setTimeout(a.fade,a.fadeInterval)};a.show=function(){a.targetOpacity=1;a.fade()};a.hide=function(){a.$popupObj.find(".hover-link").unbind("click");a.$popupObj.removeClass("editing");a.targetOpacity=0;a.fade()};a.hasMouse=function(c,d){return(c>=a.left)&&(c<=a.left+a.$popupObj.width())&&(d>=a.top)&&(d<=a.top+a.$popupObj.height())};a.$popupObj.bind("mouseleave",function(c){if(!a.$popupObj.hasClass("editing")){a.hide()}});function b(e,f,d){var c=decodeAJAXReturn(e);if(!c.success){alertDialog(c.msg,"failure");return}$(f).fadeOut(1000,function(){$(this).remove()});if(d){$(window.location).attr("href",MANAGE_PAGE)}}$(".thumbs").bind("mouseover",function(e){var h;if(hoverActionsToBeIntialized){a.initLinks()}if(a.$popupObj.hasClass("editing")||a.nActionsShowing===0){return true}$eventTarget=$(e.target);if(!$eventTarget.is("LI")){$eventTarget=$eventTarget.closest("LI")}if(!$eventTarget.is("LI")){return true}a.$liObj=$eventTarget;if(a.$liObj.hasClass("hover")||a.$liObj.hasClass("removed")){return true}a.$liObj.addClass("hover");var c=a.$liObj.find("a");var g=c.attr("href");var d=g.substr(g.indexOf("=")+1);for(h in a.actions){if(!a.actions[h]){continue}var f;if(d==authUserid){switch(h){case"page-link":f="your own";break;case"upload-photo":case"remove":f="yourself";break;case"email":f="your";break}}else{f=c.find(".name").text();var k=a.$liObj.hasClass("female");switch(h){case"page-link":f+="'s";break;case"email":f=k?"her":"his";break;case"upload-photo":f=k?"her":"him";break}}if(h=="upload-photo"){if(!a.$liObj.hasClass("uploadAllowed")){a.link$Objs["upload-photo"].hide();continue}else{a.link$Objs["upload-photo"].show()}}var i=a.linkInnerHTML[h];i=i.replace("%",d).replace("$",f);a.link$Objs[h].html(i).show();switch(h){case"upload-photo":a.link$Objs["upload-photo"].click(function(){uploader.showPopup(d,"self","",a.$liObj,true);return false});break;case"remove":var l=a.$liObj[0];a.link$Objs.remove.click(function(){confirmDialog("Are you sure you want to remove "+f+" from the group?","Yes","No",function(){var m="userid="+d+"&groupid="+phpGroupID+"&formUID="+sessionUID;$.post("remove-member.php",m,function(n){b(n,l,d==authUserid)})},function(){});return false});break;case"email":var j=a.link$Objs.email.find("form");j.find(":input[name=toUserid]").val(d);$emailSendButton=j.find(".button.add");setButtonHoverHandlers($emailSendButton);$emailQuestionButton=j.find(".button.question");setButtonHoverHandlers($emailQuestionButton);j.find(":input[name=msg]").focus(function(){a.$popupObj.addClass("editing")});$emailSendButton.click(function(){removeHoverFilename($emailSendButton);a.$popupObj.removeClass("editing");handleFormSubmission(j,"submit-email-msg.php","Add Note",true,null)});$emailQuestionButton.click(function(){handleSendMsgQuestionClick($emailQuestionButton)});break}}a.setPos(a.$liObj);a.show();a.$liObj.bind("mouseleave",function(m){a.$liObj.unbind("mouseleave");a.$liObj.removeClass("hover");if(!a.$popupObj.hasClass("editing")&&!a.hasMouse(m.pageX,m.pageY)){a.hide()}});return false});$(document).keypress(function(c){if(c.keyCode==27){popup.hidePopup(null)}if(a.$popupObj.hasClass("editing")&&c.keyCode==27){a.hide()}if(pppDebug&&CONSOLE&&c.keyCode==97){console.clear()}return true});$(document).mousedown(function(c){if(a.$popupObj.hasClass("editing")&&!a.hasMouse(c.pageX,c.pageY)){a.hide()}return true})});var popup=new Object();popup.init=function(){popup.popups=new Array()};popup.init();popup.hidePopup=function(c){var b=popup.popups.length;if(b==0){return}if(c==null){c=popup.popups[b-1]}for(var a=0;a<b;a++){if(popup.popups[a]==c){break}}if(a==b){errorNotify("hidePopup: $popup not found");return}popup.popups.splice(a,1);if(popup.popups.length==0){$("#backgroundOverlay").fadeOut("500")}c.fadeOut(500,function(){c.remove()})};popup.displayPopup=function(c,b,f,a){var e=$("#popup").clone(true).removeAttr("id").appendTo("#extras");e.find(".content").html(c);if(b!=null){e.find(".buttons").html(b)}e.find("h1").html(f);if(a!=null){e.find(".content").addClass(a)}e.center();var d=$("#backgroundOverlay");d.css("height",document.documentElement.clientHeight);d.css("opacity","0.4");if(popup.popups.length==0){d.fadeIn("700")}e.fadeIn("700");popup.popups.push(e);return e};popup.buttonPopup=function(h,j,g,b){var e=j;var k="";var d=g.length;for(var c=0;c<d;c++){var f=g[c][2]==null?"":(" "+g[c][2]);k+="<div class='button"+f+"'>"+g[c][0]+"</div>"}var a=popup.displayPopup(e,k,h,b);for(var c=0;c<d;c++){a.find(".button:eq("+c+")").attr("id",c).click(function(){popup.hidePopup(a);var i=g[parseInt($(this).attr("id"))][1];if(i!=null){i()}}).hover(function(){$(this).addClass("hover")},function(){$(this).removeClass("hover")})}};popup.editPopup=function(e,d,f,a){var c=[["Save",function(){popup.editText=$("#popupEditText").val();f()},"left"],["Cancel",null,"right"]];var b="<form><textarea id='popupEditText' style='height: 100px; width: 400px; border: 1px solid;'>"+d+"</textarea></form>";popup.buttonPopup(e,b,c,a)};popup.twoButtonPopup=function(g,f,h,e,b,a,c){var d=[[h,b,"left"],[e,a,"right"]];popup.buttonPopup(g,f,d,c)};popup.oneButtonPopup=function(f,e,a,d,c){var b=[[a,d,"center"]];popup.buttonPopup(f,e,b,c)};popup.displayTimedPopup=function(e,d,a,c){var b=popup.displayPopup(e,null,d,a);setTimeout(function(){popup.hidePopup(b)},c)};function confirmDialog(e,d,c,a,b){popup.twoButtonPopup("Confirm",e,d,c,a,b,null)}function alertDialog(b,a){a=(a==null)?"center-text":a+=" center-text";popup.oneButtonPopup("Alert",b,"OK",null,a)}var inProcessPopup=new Object();inProcessPopup.init=function(){inProcessPopup.$popup=$("#in-process-popup");inProcessPopup.$popup.hide();inProcessPopup.$popup.removeClass("hidden")};inProcessPopup.show=function(){backgroundOverlay.show();inProcessPopup.$popup.center();inProcessPopup.$popup.fadeIn(300)};inProcessPopup.hide=function(a){backgroundOverlay.hide(a);inProcessPopup.$popup.fadeOut(300)};var backgroundOverlay=new Object();backgroundOverlay.init=function(){backgroundOverlay.$overlay=$("#backgroundOverlay");backgroundOverlay.showing=0;backgroundOverlay.$overlay.hide();backgroundOverlay.$overlay.removeClass("hidden")};backgroundOverlay.show=function(){if(backgroundOverlay.showing++==0){backgroundOverlay.$overlay.css("opacity","0.4");backgroundOverlay.$overlay.fadeIn(500)}};backgroundOverlay.hide=function(a){if(--backgroundOverlay.showing==0&&a){backgroundOverlay.$overlay.fadeOut(500)}};var uploader=new Object();uploader.init=function(){};uploader.init();uploader.showPopup=function(h,i,g,f,m){uploader.userid=h;uploader.relationship=i;uploader.displayname=g;uploader.$photoContainer=f;uploader.$photoUploadiframe=$("#photo-upload-iframe");var k=uploader.$photoUploadiframe;uploader.$photoUploadForm=k.contents().find("form");var n=uploader.$photoUploadForm;n.find(":hidden[name=targetUserid]").attr("value",h);n.find(":hidden[name=relationship]").attr("value",i);n.find(":hidden[name=displayname]").attr("value",g);n.find(":hidden[name=thumb]").attr("value",m?1:0);var d=f.find(".photo").attr("src");k.contents().find(".photo").attr("src",d);k.contents().find(".cancel.button").click(function(){removeHoverFilename($(this));uploader.hidePopups(5,500);uploader.resetUploadIframe()});k.contents().find(".upload.button").click(function(){removeHoverFilename($(this));uploader.handleSubmitClick()});k.contents().find(".button").hover(function(){setHoverFilename($(this))},function(){removeHoverFilename($(this))});k.load(function(){uploader.handleResponse()});k.center();var c=$("#backgroundOverlay");c.css("opacity","0.4");c.fadeIn(500);k.fadeIn(700);uploader.$inProcessPopup=$("#in-process-popup");var a=uploader.$inProcessPopup;var e=k.css("top");var j=k.css("left");var l=k.width();var b=a.width();a.css("top",e);a.css("left",parseInt(j)+(l-b)/2)};uploader.hidePopups=function(b,a){if(b&1){uploader.$photoUploadiframe.fadeOut(a,function(){uploader.$photoUploadiframe.css("left",-1000);uploader.$photoUploadiframe.css("top",-1000)})}if(b&2){uploader.$inProcessPopup.fadeOut(a)}if(b&4){$("#backgroundOverlay").fadeOut(a)}};uploader.handleSubmitClick=function(){uploader.hidePopups(1,200);uploader.$inProcessPopup.fadeIn(500);uploader.$photoUploadForm.submit()};uploader.resetUploadIframe=function(){uploader.$photoUploadiframe.unbind();uploader.$photoUploadiframe.attr("src","photo-upload-form.php");uploader.$photoUploadiframe.contents().find(".button").unbind()};uploader.handleResponse=function(){var b=uploader.$photoUploadiframe.contents().find("body");var a=b.find(".success");if(a.length>0){$thumbElement=uploader.$photoContainer.find(".photo-slot");$thumbElement.html(a.html());uploader.$photoContainer.find(":input[name=deletedPhoto]").val("false");uploader.$photoContainer.find(".photo-wrapper .command.remove").show();uploader.$photoContainer.find(".photo-wrapper .command.switch").hide();uploader.resetUploadIframe();uploader.hidePopups(6,500);return}a=b.find(".error");if(a.length==0){if(pppDebug){alert(b.html())}errorNotify("unknown response from submit-photo.php: "+a.text());uploader.resetUploadIframe();uploader.hidePopups(6,500);return}uploader.$inProcessPopup.fadeOut(500);alertDialog(a.text(),"failure");uploader.resetUploadIframe()};
