SnaplogHeader={};SnaplogHeader.drawSettingsHTML=function(){if(SnaplogPost.settingsElement){$(SnaplogPost.settingsElement).toggle();return}$.ajax({type:"GET",url:"/ajax/html_settings",data:{},success:function(a){SnaplogPost.settingsElement=$(a)[0];document.body.insertBefore(SnaplogPost.settingsElement,document.body.firstChild);$(".close",SnaplogPost.settingsElement).click(function(){$(SnaplogPost.settingsElement).hide()});SnaplogUtil.setPopupPosition($("#header .settings"),$(SnaplogPost.settingsElement));$("#form_settings .submit",SnaplogPost.addLoginElement).click(function(){var b={};b.timerId=setTimeout(function(){SnaplogUtil.animateDots(b,$("#form_create .anim"),3)},500);$("#form_settings .loading").show();var c={};if($("#form_settings .old_password").val()!==""){c.old_password=$("#form_settings .old_password").val()}if($("#form_settings .new_password").val()!==""){c.new_password=$("#form_settings .new_password").val()}if($("#form_settings .new_re_password").val()!==""){c.new_re_password=$("#form_settings .new_re_password").val()}if($("#form_settings .url").val()!==""){c.url=$("#form_settings .url").val()}$.post("/ajax/edit_user",c,function(f,d){clearTimeout(b.timerId);$("#form_settings .loading").hide();if(f.success){var g=SnaplogUtil.parseUri(location.href);var e="";if(g.port!==""){e=":"+g.port}if(f.redirect){location.href="http://"+f.url+e}$("#settings").remove();delete SnaplogPost.settingsElement}else{if(f.reason=="password too short"){$("#form_settings .err",SnaplogPost.addLoginElement).html("Password must be &gt; than 5 characters.");$("#form_settings .new_password",SnaplogPost.addLoginElement).focus()}else{if(f.reason=="bad current password"){$("#form_settings .err",SnaplogPost.addLoginElement).html("Incorrent current password.");$("#form_settings .old_password",SnaplogPost.addLoginElement).focus()}else{if(f.reason=="password too short"){$("#form_settings .err",SnaplogPost.addLoginElement).html("New password is too short Must be &gt; than 5 characters.");$("#form_settings .old_password",SnaplogPost.addLoginElement).focus()}else{if(f.reason=="new password mismatch"){$("#form_settings .err",SnaplogPost.addLoginElement).html("Retyped password doesn't match. Please retype.");$("#form_settings .old_password",SnaplogPost.addLoginElement).focus()}else{if(f.reason=="url exists"){$("#form_settings .err",SnaplogPost.addLoginElement).html("Sorry, this url is already taken. Please pick a different one.");$("#form_settings .url",SnaplogPost.addLoginElement).focus()}else{if(f.reason=="bad url"){$("#form_settings .err",SnaplogPost.addLoginElement).html("Sorry, this url is not valid.");$("#form_settings .url",SnaplogPost.addLoginElement).focus()}else{if(f.reason=="misconfigured url"){$("#form_settings .err",SnaplogPost.addLoginElement).html("Sorry, the DNS settings for this domain are not configured correctly.");$("#form_settings .url",SnaplogPost.addLoginElement).focus()}else{$("#form_settings .err",SnaplogPost.addLoginElement).html("Error. Please try again in a bit.");$("#form_settings .old_password",SnaplogPost.addLoginElement).focus()}}}}}}}$("#form_settings .err",SnaplogPost.addLoginElement).css("visibility","visible");setTimeout(function(){$("#form_settings .err",SnaplogPost.addLoginElement).css("visibility","hidden");$("#form_settings .err",SnaplogPost.addLoginElement).html("&nbsp;")},5000)}},"json")});$(SnaplogPost.settingsElement).show()}})};SnaplogHeader.drawAddLoginHTML=function(a){if(SnaplogPost.addLoginElement){$(SnaplogPost.addLoginElement).toggle();return}$.ajax({type:"GET",url:"/ajax/html_login",data:{},success:function(b){SnaplogPost.addLoginElement=$(b)[0];document.body.insertBefore(SnaplogPost.addLoginElement,document.body.firstChild);SnaplogUtil.setPopupPosition(a,$("#login"));$("#form_login .submit",SnaplogPost.addLoginElement).click(function(){var c={};c.timerId=setTimeout(function(){SnaplogUtil.animateDots(c,$("#form_create .anim"),3)},500);$("#form_login .loading").show();$.post("/ajax/login_user",{username:$("#form_login .username").val(),password:$("#form_login .password").val()},function(f,d){clearTimeout(c.timerId);$("#form_login .loading").hide();if(f.success){var g=SnaplogUtil.parseUri(location.href);var g=SnaplogUtil.parseUri(location.href);var e="";if(g.port!==""){e=":"+g.port}if(SnaplogUtil.isOnTempPage()){location.href="http://"+SnaplogUtil.readCookie("uid").split("!")[1]+e}else{$("#login").remove();SnaplogMain.bind()}}else{$("#form_login .info").hide();if(f.reason=="bad username"){$("#form_login .err",SnaplogPost.addLoginElement).html("Bad username. Try again.");$("#form_login .username",SnaplogPost.addLoginElement).focus()}else{if(f.reason=="bad password"){$("#form_login .err",SnaplogPost.addLoginElement).html("Bad password. Try again.");$("#form_login .password",SnaplogPost.addLoginElement).focus()}else{$("#form_login .err",SnaplogPost.addLoginElement).html("Try again.")}}$("#form_login .err",SnaplogPost.addLoginElement).css("visibility","visible");setTimeout(function(){$("#form_login .err",SnaplogPost.addLoginElement).css("visibility","hidden");$("#form_login .info").show()},4000)}},"json");return false});$("#form_login").submit(function(){$("#form_login .submit",SnaplogPost.addLoginElement).click();return false});$("#form_create .submit",SnaplogPost.addLoginElement).click(function(){var c={};c.timerId=setTimeout(function(){SnaplogUtil.animateDots(c,$("#form_create .anim"),3)},500);$("#form_create .loading").show();$.post("/ajax/create_user",{username:$("#form_create .username").val(),password:$("#form_create .password").val(),url:$("#form_create .url").val()},function(f,d){clearTimeout(c.timerId);$("#form_create .loading").hide();if(f.success){var g=SnaplogUtil.parseUri(location.href);var e="";if(g.port!==""){e=":"+g.port}if(SnaplogUtil.isOnTempPage()){location.href="http://"+SnaplogUtil.readCookie("uid").split("!")[1]+e}else{$("#login").remove();SnaplogMain.bind()}}else{if(f.reason=="username too short"){$("#form_create .err",SnaplogPost.addLoginElement).html("Username must be &gt; than 5 characters.");$("#form_create .username",SnaplogPost.addLoginElement).focus()}else{if(f.reason=="password too short"){$("#form_create .err",SnaplogPost.addLoginElement).html("Password must be &gt; than 5 characters.");$("#form_create .password",SnaplogPost.addLoginElement).focus()}else{if(f.reason=="username exists"){$("#form_create .err",SnaplogPost.addLoginElement).html("Sorry, this username is already taken. Please pick a different one.");$("#form_create .username",SnaplogPost.addLoginElement).focus()}else{if(f.reason=="url exists"){$("#form_create .err",SnaplogPost.addLoginElement).html("Sorry, this url is already taken. Please pick a different one.");$("#form_create .url",SnaplogPost.addLoginElement).focus()}else{if(f.reason=="bad url"){$("#form_create .err",SnaplogPost.addLoginElement).html("Sorry, this url is not valid.");$("#form_create .url",SnaplogPost.addLoginElement).focus()}else{if(f.reason=="misconfigured url"){$("#form_create .err",SnaplogPost.addLoginElement).html("Sorry, the DNS settings for this domain are not configured correctly.");$("#form_create .url",SnaplogPost.addLoginElement).focus()}}}}}}$("#form_create .err",SnaplogPost.addLoginElement).css("visibility","visible");setTimeout(function(){$("#form_create .err",SnaplogPost.addLoginElement).css("visibility","hidden");$("#form_create .err",SnaplogPost.addLoginElement).html("&nbsp;")},5000)}},"json");return false});$("#form_create").submit(function(){$("#form_create .submit",SnaplogPost.addLoginElement).click();return false});if(a.hasClass("create")){$("#form_create .username",SnaplogPost.addLoginElement).focus()}else{$("#form_login .username",SnaplogPost.addLoginElement).focus()}SnaplogPost.createUserOrigBaseURL=$("#form_create .url").val();$("#form_create .username").keyup(function(){if($("#form_create .url").val().match(SnaplogPost.createUserOrigBaseURL+"$")==SnaplogPost.createUserOrigBaseURL){var e=$("#form_create .username").val();var d="";for(var c=0;c<e.length;c++){if(e[c]=="@"){break}if(SnaplogUtil.onURLEditRegEx.test(e.charAt(c))){d+=e.charAt(c)}}$("#form_create .url").val(d+SnaplogPost.createUserOrigBaseURL)}});$("#form_create .username").keypress(function(c){return SnaplogUtil.onEmailEdit(c)});$("#form_create .url").keypress(function(c){return SnaplogUtil.onURLEdit(c)});$("#form_login .username").keypress(function(c){return SnaplogUtil.onEmailEdit(c)});$(".close",SnaplogPost.addLoginElement).click(function(){$(SnaplogPost.addLoginElement).hide()});$(SnaplogPost.addLoginElement).show()}})};SnaplogHeader.drawAddPhotoHTML=function(){if(SnaplogPost.newPostElement){if($(SnaplogPost.newPostElement).css("display")=="block"){return}$(".item.text",SnaplogPost.newPostElement).html(SnaplogSettings.staticNewTextNodeCopy);$(SnaplogPost.newPostElement).show();SnaplogPost.drawAddPhotoToolbars();SnaplogPost.newElementShowing=true;return}$.ajax({type:"GET",url:"/ajax/html_add_entry",data:{},success:function(b){SnaplogPost.newPostElement=$(b)[0];$(".item.text",SnaplogPost.newPostElement).html(SnaplogSettings.staticNewTextNodeCopy);SnaplogPost.newPostElement.snaplog_post=new SnaplogPost(SnaplogPost.newPostElement);var a=$("#main .entry")[0];if(typeof a=="undefined"){a=$("#main")[0].appendChild(SnaplogPost.newPostElement)}else{a.parentNode.insertBefore(SnaplogPost.newPostElement,a)}$("#loading_status").hide();$(SnaplogPost.newPostElement).show();SnaplogPost.drawAddPhotoToolbars();SnaplogPost.newElementShowing=true},error:function(a){alert("drawAddPhotoHTML error: "+a)}})};SnaplogHeader.drawHeader=function(){$("#header").remove();var c=SnaplogUtil.parseUri(location.href);var a="";if(c.port!==""){a=":"+c.port}var b="";if(c.domain==SnaplogSettings.tempUrl){b=$('<div id="header" class="temp"><div class="expl"><h3><a href="http://snaplog.com'+a+'">&laquo; back</a> &nbsp; Hi! These photos are only viewable from this browser. They can\'t be shared or seen elsewhere until you setup a free account.</h3></div><div class="links"><div class="left"></div><div class="main"></div></div></div>')}else{b=$('<div id="header"><div class="links"><div class="left"></div><div class="main"></div></div></div>')}if(SnaplogUtil.isLoggedIn()){if(c.domain!=SnaplogUtil.getLoggedInDomain()){$(".main",b).append($('<div><h2 class="add-photo">+ photo</h2>&nbsp;|&nbsp;<h2><a href="http://'+SnaplogUtil.getLoggedInDomain()+a+'/">'+SnaplogUtil.getLoggedInDomain()+'</a></h2>&nbsp;|&nbsp;<h2 class="logout">logout</h2></div>'))}else{$(".main",b).append($('<div><h2 class="add-photo">+ photo</h2>&nbsp;|&nbsp;<h2><a href="http://snaplog.com'+a+'/">snaplog.com</a></h2>&nbsp;|&nbsp;<h2 class="settings">settings</h2>&nbsp;|&nbsp;<h2 class="logout">logout</h2></div>'))}}else{if(c.domain==SnaplogSettings.tempUrl){$(".main",b).append($('<div><h2 class="add-photo">+ photo</h2>&nbsp;|&nbsp;<h2><a href="http://snaplog.com'+a+'/">snaplog.com</a></h2>&nbsp;|&nbsp;<h2 class="create">create an account</h2></div>'))}else{$(".main",b).append($('<div><h2 class="add-photo">+ photo</h2>&nbsp;|&nbsp;<h2><a href="http://snaplog.com'+a+'/">snaplog.com</a></h2>&nbsp;|&nbsp;<h2 class="login">sign in</h2></div>'))}}document.body.insertBefore(b[0],document.body.firstChild);$(".add-photo",b).click(function(){if(SnaplogUtil.isOnTempPage()){if(c.path=="/"){SnaplogHeader.drawAddPhotoHTML()}else{location.href="http://"+c.domain+a+"/#add-photo"}}else{if(SnaplogUtil.isLoggedIn()){var e=SnaplogUtil.getLoggedInDomain();if(e==c.domain&&c.path=="/"){SnaplogHeader.drawAddPhotoHTML()}else{location.href="http://"+e+a+"/#add-photo"}}else{location.href="http://"+SnaplogSettings.tempUrl+a}}});if(location.href.indexOf("#add-photo")!=-1){$(".add-photo",b).click();location.href=location.href.substring(0,location.href.indexOf("#add-photo")+1)}else{if(SnaplogUtil.isOnTempPage()&&c.path=="/"){$(".add-photo",b).click()}}$(".login, .create",b).click(function(){SnaplogHeader.drawAddLoginHTML($(this))});$(".settings",b).click(function(){SnaplogHeader.drawSettingsHTML()});$(".logout",b).click(function(){$.post("/ajax/logout_user",{},function(e,d){location.href="/"},"json")})};SnaplogHeader.drawFooter=function(){$("#footer").remove();var a=$('<div id="footer"><div class="left"></div><div class="main"></div></div>');$(".main",a).append($("<div><h2>loading next page ...</h2></div>"));document.body.insertBefore(a[0],document.body.firstChild);$("#footer").hide()};SnaplogHeader.draw=function(){var a=SnaplogUtil.parseUri(location.href);if(a.domain==SnaplogSettings.tempUrl){$(document.body).css("paddingTop",(parseInt($("body").css("paddingTop").replace(/px/,""),10)+50)+"px")}SnaplogHeader.drawHeader();SnaplogHeader.drawFooter()};function SnaplogImageEditor(b){SnaplogImageEditor.mouseDown=false;this.imageElement=$(b);this.photo_height=this.imageElement.attr("photo_height");this.photo_width=this.imageElement.attr("photo_width");this.aspect_ratio=this.photo_width/this.photo_height;var a=this;b.mouseover(function(c){if(!SnaplogImageEditor.mouseDown){return}$(this).mouseup()});b.mouseup(function(c){$(this).mousemove();SnaplogImageEditor.mouseDown=false});b.mousedown(function(g){SnaplogImageEditor.mouseDown=true;var c=SnaplogImageEditor.event_get(g);SnaplogImageEditor.startPosition=SnaplogImageEditor.getEventPosition(c);var f=parseInt(a.imageElement.css("left"),10);if(!isNaN(f)){SnaplogImageEditor.startPosition[0]=SnaplogImageEditor.startPosition[0]-f}var d=parseInt(a.imageElement.css("top"),10);if(!isNaN(d)){SnaplogImageEditor.startPosition[1]=SnaplogImageEditor.startPosition[1]-d}return false});b.mousemove(function(h){if(!SnaplogImageEditor.mouseDown){return}var d=SnaplogImageEditor.event_get(h);var c=SnaplogImageEditor.getEventPosition(d);if(a.aspect_ratio<1){var g=c[1]-SnaplogImageEditor.startPosition[1];if(g<0&&g>=-1*(parseInt($(a.imageElement).attr("photo_height"),10)-$(this).height())){a.imageElement.css("top",g+"px")}}else{if(a.aspect_ratio>1){var f=c[0]-SnaplogImageEditor.startPosition[0];if(f<0&&f>=-1*(parseInt($(a.imageElement).attr("photo_width"),10)-$(this).width())){a.imageElement.css("left",f+"px")}}}return false});return this}SnaplogImageEditor.prototype.close=function(b){var a=0;if(this.aspect_ratio<1){a=parseFloat(this.imageElement.css("top"))/this.photo_height}else{if(this.aspect_ratio>1){a=parseFloat(this.imageElement.css("left"))/this.photo_width}}if(!isNaN(a)){b.callback(Math.abs(a))}};SnaplogImageEditor.event_get=function(a){return a||window.event};SnaplogImageEditor.getEventPosition=function(c,b){b=b||"document";c=SnaplogImageEditor.event_get(c);var a=c.pageX||(c.clientX+(document.documentElement.scrollLeft||document.body.scrollLeft));var d=c.pageY||(c.clientY+(document.documentElement.scrollTop||document.body.scrollTop));return[a,d]};SnaplogMain={};SnaplogMain.scrollPoll=function(){var h=SnaplogUtil.parseUri(location.href);if(!SnaplogUtil.isOnNormalPaginationPage(h)&&!SnaplogUtil.isOnGeoPaginationPage(h)){return false}if(SnaplogUtil.getCurrentScrollPos()==0){if(location.href.indexOf("#p:")!=-1){location.href=location.href.split("#")[0]+"#"}}if(SnaplogUtil.getCurrentScrollPos()>0&&SnaplogUtil.getRemainingScroll()<=0&&!SnaplogMain.scrollDownloadingReachedEnd){if(!SnaplogMain.scrollDownloadinProgress){SnaplogMain.scrollDownloadinProgress=true;var a=$(".entry:last");var g=a.attr("entry_id");if(typeof g=="undefined"){return true}var c=SnaplogUtil.getPageType();var h=SnaplogUtil.parseUri(location.href);var e=/\/([\d]{1,}\.[\d]{2,}),(-?[\d]{1,}\.[\d]{2,})\/?.*/.exec(h.path);SnaplogSettings.currentPage=SnaplogSettings.currentPage+1;if(c=="main"){var b=SnaplogSettings.mainPageSize;var d="/ajax/html_view_main_page";var f={entry_id:g,page_size:b,direction:"down"}}else{if(c=="sheet"){var b=SnaplogSettings.sheetPageSize;var d="/ajax/html_view_sheet_page";var f={entry_id:g,page_size:b,direction:"down"}}}if(c=="main_geo"){var b=SnaplogSettings.mainPageSize;var d="/ajax/html_view_main_geo_page";var f={page_id:SnaplogSettings.currentPage,page_size:b,lat:e[1],lon:e[2]}}else{if(c=="sheet_geo"){var b=SnaplogSettings.sheetPageSize;var d="/ajax/html_view_sheet_geo_page";var f={page_id:SnaplogSettings.currentPage,page_size:b,lat:e[1],lon:e[2]}}}$("#footer").show();$.ajax({type:"GET",url:d,data:f,success:function(l){if(l!==""){var j=$(l);a.after(j);if(j.size()<b){SnaplogMain.scrollDownloadingReachedEnd=true}if(c=="main"||c=="sheet"){var i=g}else{var i=SnaplogSettings.currentPage}if(SnaplogSettings.currentPage>2){location.href=location.href.split("#")[0]+"#p:"+i}if(c=="main"||c=="main_geo"){var k=SnaplogUtil.getLoggedInDomain();if((k==h.domain&&SnaplogUtil.isLoggedIn())||SnaplogUtil.isOnTempPage()&&!SnaplogUtil.isOnPublicPage()){j.each(function(n){$(this).show();var m=this;SnaplogMain.bindOne(m)})}else{j.each(function(n){$(this).show();var m=this;SnaplogMain.bindOneAnon(m)})}}}else{SnaplogMain.scrollDownloadingReachedEnd=true}setTimeout(function(){$("#footer").hide();delete SnaplogMain.scrollDownloadinProgress},750)},error:function(i){alert("scrollPoll error: "+i)}})}}return true};SnaplogMain.bind=function(){SnaplogHeader.draw();var c=SnaplogUtil.getLoggedInDomain();var e=SnaplogUtil.parseUri(location.href);if((c==e.domain&&SnaplogUtil.isLoggedIn())||SnaplogUtil.isOnTempPage()&&!SnaplogUtil.isOnPublicPage()){SnaplogMain.bindPageTitle()}SnaplogPost.setupTextToolbarNeeded=true;SnaplogPost.setupSettingsToolbarNeeded=true;SnaplogPost.needSetupHoverToolbarIfNeeded=true;SnaplogPost.setupPhotoToolbarNeeded=true;var b=SnaplogUtil.getPageType();if(b=="entry"){var a=$(".entry").attr("entry_id");setTimeout(function(){$.ajax({type:"POST",url:"/ajax/mark_view",data:{entry_id:a},success:function(d){},error:function(d){}})},2000)}if(b=="main"||b=="main_geo"||b=="entry"){if(SnaplogUtil.hasPageId()){SnaplogMain.buildMainPageByPageId()}else{$("#main .entry").each(function(f){if($(this).hasClass("new")){return}var d=this;$(d).show();if(!(SnaplogUtil.isLoggedIn()&&c==e.domain)&&!SnaplogUtil.isOnTempPage()||SnaplogUtil.isOnPublicPage()){SnaplogMain.bindOneAnon(d)}else{SnaplogMain.bindOne(d)}})}}else{if(b=="sheet"||b=="sheet_geo"){if(SnaplogUtil.hasPageId()){SnaplogMain.buildSheetPageByPageId()}else{SnaplogMain.makeSureSheetPageIsFull();$(window).resize(SnaplogMain.makeSureSheetPageIsFull)}}}};SnaplogMain.buildSheetPageByPageId=function(){$("#sheet .entry").each(function(h){$(this).hide()});var f=SnaplogUtil.getPageIdFromAName();var a=$("#sheet > .entry:last");$("#titles .back").css("display","inline");var b=SnaplogUtil.getPageType();var g=SnaplogUtil.parseUri(location.href);var e=/([\d]{1,}\.[\d]{2,}),(-?[\d]{1,}\.[\d]{2,})\/?$/.exec(g.path);SnaplogSettings.currentPage=f;if(b=="sheet"){var c="/ajax/html_view_sheet_page";var d={entry_id:f,page_size:SnaplogSettings.mainPageSize,direction:"down"}}else{if(b=="sheet_geo"){var c="/ajax/html_view_sheet_geo_page";var d={page_id:SnaplogSettings.currentPage,page_size:SnaplogSettings.mainPageSize,lon:e[1],lat:e[2]}}}$.ajax({type:"GET",url:c,data:d,success:function(i){if(i!==""){var h=$(i);a.after(h);if(!SnaplogUtil.isLoggedIn()){return}h.each(function(j){$(this).show()})}else{}},error:function(h){alert("buildSheetPageByPageId error: "+h)}})};SnaplogMain.makeSureSheetPageIsFull=function(){var a=$("#sheet > .entry:last");var h=a.attr("entry_id");if(typeof h=="undefined"){return true}if(!SnaplogMain.scrollDownloadinProgress&&SnaplogUtil.getRemainingScroll()<=154){SnaplogMain.scrollDownloadinProgress=true;SnaplogSettings.currentPage=SnaplogSettings.currentPage+1;var c=SnaplogUtil.getPageType();var g=SnaplogUtil.parseUri(location.href);var e=/\/([\d]{1,}\.[\d]{2,}),(-?[\d]{1,}\.[\d]{2,})/.exec(g.path);if(c=="sheet"){var b=SnaplogSettings.sheetPageSize;var d="/ajax/html_view_sheet_page";var f={entry_id:h,page_size:b,direction:"down"}}else{if(c=="sheet_geo"){var b=SnaplogSettings.sheetPageSize;var d="/ajax/html_view_sheet_geo_page";var f={page_id:SnaplogSettings.currentPage,page_size:b,lat:e[1],lon:e[2]}}}$.ajax({type:"GET",url:d,data:f,success:function(j){if(j!==""){var i=$(j);a.after(i);if(i.size()<b){SnaplogMain.scrollDownloadingReachedEnd=true}else{SnaplogMain.scrollDownloadinProgress=false;SnaplogMain.makeSureSheetPageIsFull()}}else{SnaplogUtil.scrollDownloadinReachedEnd=true}SnaplogMain.scrollDownloadinProgress=false},error:function(i){alert("makeSureSheetPageIsFull error: "+i)}})}};SnaplogMain.buildMainPageByPageId=function(){$("#main .entry").each(function(c){$(this).hide()});var b=SnaplogUtil.getPageIdFromAName();var a=$("#main > .entry:last");$("#titles .back").css("display","inline");$.ajax({type:"GET",url:"/ajax/html_view_main_page",data:{entry_id:b,page_size:SnaplogSettings.mainPageSize,direction:"down"},success:function(d){if(d!==""){var c=$(d);a.after(c);if(!SnaplogUtil.isLoggedIn()){return}c.each(function(f){$(this).show();var e=this;SnaplogMain.bindOne(e)})}else{}},error:function(c){alert("buildMainPageByPageId error: "+c)}})};SnaplogMain.bindPageTitle=function(){$("#page_title").click(function(){var a=$(this);var c=$('<input class="page_title" type="text" orig_value="'+a.text()+'" value="'+a.text()+'">');a.before(c);var b=a.width();c.width(b);a.hide();c.focus().keydown(function(d){switch(d.keyCode){case 13:c.blur();break;default:break}});c.focus();c.blur(function(){if(c.val()!=c.attr("orig_value")){$.post("/ajax/edit_user",{page_title:c.val()},function(d,e){a.text(c.val());a.show();c.remove()})}else{a.text(c.val());a.show();c.remove()}})})};SnaplogMain.bindOneAnon=function(a){a.snaplog_post=new SnaplogPost(a);$(".maplink",a).click(function(){a.snaplog_post.showMap();return false})};SnaplogMain.bindOne=function(a){a.snaplog_post=new SnaplogPost(a);$(a).mouseover(function(){a.snaplog_post.showHover()});$(a).mouseout(function(){a.snaplog_post.hideHover()});$(".text",a).click(function(){a.snaplog_post.showTextEditor()});$(".photo",a).click(function(){a.snaplog_post.showPhotoEditor()});$(".maplink",a).click(function(){a.snaplog_post.showMap();return false})};$(document).ready(function(){if(!SnaplogMain.readyCalled){SnaplogMain.bind();setInterval(SnaplogMain.scrollPoll,500)}SnaplogMain.readyCalled=true});function SnaplogPost(a){var b=this;this.updateToolbarListener=function(c){b.updateToolbarButtonStates()};this.windowResizeListener=function(c){b.windowResize()};this.frameResizeListener=function(c){b.frameResize()};this.hideToolbarListener=function(c){b.hideTextEditor()};this.postElement=a;this.isIframe=!SnaplogPost.browserSupportsContentEditable();this.entry_id=$(a).attr("entry_id");this.photo_type=$(a).attr("photo_type");return this}SnaplogPost.prototype.getEditAreaValue=function(){var a="";if(this.isIframe&&this.editAreaDoc){a=$(this.editAreaDoc.body).html()}else{if(this.editAreaDoc){a=$(this.editArea).html()}}if(a!=SnaplogSettings.staticNewTextNodeCopy){if(a.trim()=="<br>"){a=""}return a}else{return""}};SnaplogPost.prototype.saveText=function(){var a=this;var c="";if(typeof a.entry_id!="undefined"){c="&entry_id="+a.entry_id}else{return}var b=a.getEditAreaValue();if(typeof SnaplogPost.updateProgressTimeoutId!="undefined"){return}$.ajax({type:"POST",url:"/ajax/write",data:"text="+encodeURIComponent(b)+c,success:function(d){},error:function(d){alert("saveText error: "+d)}})};SnaplogPost.prototype.savePhoto=function(f){var d=$("#upload_photo_item").val();if(!d.match(/\.jpg$|\.jpeg$/i)){$("#upload_photo_item").val("");return false}$("#loading_status").height($("#loading_form").height());$("#loading_status").show();$("#loading_form").hide();var c={};c.timerId=setTimeout(function(){SnaplogUtil.animateDots(c,$("#loading_status_dots"),3)},500);var b=this;var e=1000;function a(){if(SnaplogPost.updateProgressTimeoutId){$.post("/ajax/write_progress",{"SnaplogPost.updateProgressTimeoutId":SnaplogPost.updateProgressTimeoutId},function(h,g){if(h){$("#loading_status_prcnt").text(h.percent+"%")}if(SnaplogPost.updateProgressTimeoutId){SnaplogPost.updateProgressTimeoutId=setTimeout(a,e)}},"json")}}SnaplogPost.updateProgressTimeoutId=setTimeout(a,e);$.ajaxFileUpload({url:"/ajax/write",params:{utc_offset:-1*new Date().getTimezoneOffset()},secureuri:false,fileElementId:"upload_photo_item",dataType:"json",success:function(i,g){clearTimeout(SnaplogPost.updateProgressTimeoutId);clearTimeout(c.timerId);delete SnaplogPost.updateProgressTimeoutId;if(typeof i.success=="undefined"){var h=SnaplogUtil.getlargestURL(i,f);b.editablePhotoNode.innerHTML="";$(b.editablePhotoNode).css("background","url("+h.url+") #"+i.photos.mean_color);$(b.editablePhotoNode).css("background-repeat","no-repeat");$(b.editablePhotoNode).css("position","relative");$(b.editablePhotoNode).width(f);$(b.editablePhotoNode).height(h.h);$(b.editablePhotoNode).attr("photo_height",h.h);$(b.editablePhotoNode).attr("photo_width",h.w);b.entry_id=i.id;b.setupNewPostHoverToolbarButtons();if(typeof b.photoImageEditor=="undefined"){b.photoImageEditor=new SnaplogImageEditor($(b.editablePhotoNode))}b.windowResize();b.saveText();$.ajax({type:"POST",url:"/ajax/lookup_neighborhood",data:"entry_id="+b.entry_id,success:function(j){},error:function(j){alert("fileUpload error, lookup_neighborhood: "+j)}})}else{$("#loading_status").hide();$("#loading_form").show();SnaplogPost.drawAddPhotoToolbars();alert("fileUpload error: "+i.reason)}},error:function(h,g,i){clearTimeout(c.timerId);clearTimeout(SnaplogPost.updateProgressTimeoutId);delete SnaplogPost.updateProgressTimeoutId;alert("savePhoto error. Please try again in a few.")}});return false};SnaplogPost.drawAddPhotoToolbars=function(){var a=SnaplogPost.newPostElement;setTimeout(function(){SnaplogMain.bindOne(SnaplogPost.newPostElement);SnaplogPost.newPostElement.snaplog_post.showTextEditor();SnaplogPost.newPostElement.snaplog_post.showPhotoEditor();SnaplogPost.newPostElement.snaplog_post.showHover();setTimeout(function(){$(SnaplogPost.photoTypeToggle).hide()},0)},0);$("#upload_photo_item").change(function(){var b=$(".photo",SnaplogPost.newPostElement).width();a.snaplog_post.savePhoto(b);return false})};SnaplogPost.browserSupportsContentEditable=function(){try{document.execCommand("LiveResize",true,true);return true}catch(a){return false}};SnaplogPost.prototype.isNew=function(){return $(this.postElement).hasClass("new")};SnaplogPost.prototype.isPost=function(){return $(this.postElement).hasClass("post")};SnaplogPost.prototype.isQuote=function(){return $(this.postElement).hasClass("quote")};SnaplogPost.prototype.getStyle=function(b,a){if(b.currentStyle){var c=b.currentStyle[a]}else{if(window.getComputedStyle){var c=document.defaultView.getComputedStyle(b,null).getPropertyValue(a)}}return c};SnaplogPost.prototype.createIFrame=function(){var a=document.createElement("iframe");a.className="editor";return a};SnaplogPost.prototype.setupHoverToolbarIfNeeded=function(){if(!SnaplogPost.needSetupHoverToolbarIfNeeded){this.setupHoverToolbarButtons();return}delete SnaplogPost.needSetupHoverToolbarIfNeeded;SnaplogPost.hoverElement=$("<div/>");SnaplogPost.hoverElement.mouseover(function(){if(SnaplogPost.hideHoverTimeoutId!==null){clearTimeout(SnaplogPost.hideHoverTimeoutId)}});SnaplogPost.hoverElement.mouseout(function(){SnaplogPost.activeSnaplogPost.hideHover()});SnaplogPost.hoverPartElements={};SnaplogPost.hoverPartElements.top=$('<div class="tb-h-bezel-top"/>');SnaplogPost.hoverElement.append(SnaplogPost.hoverPartElements.top);SnaplogPost.hoverPartElements.bottom=$('<div class="tb-h-bezel-bottom"/>');SnaplogPost.hoverElement.append(SnaplogPost.hoverPartElements.bottom);SnaplogPost.hoverPartElements.left=$('<div class="tb-h-bezel-left"/>');SnaplogPost.hoverElement.append(SnaplogPost.hoverPartElements.left);SnaplogPost.hoverPartElements.right=$('<div class="tb-h-bezel-right"/>');SnaplogPost.hoverElement.append(SnaplogPost.hoverPartElements.right);SnaplogPost.hoverPartElements.topRight=$('<div class="tb-h-bezel-top-right"/>');SnaplogPost.hoverElement.append(SnaplogPost.hoverPartElements.topRight);SnaplogPost.hoverPartElements.topLeft=$('<div class="tb-h-bezel-top-left"/>');SnaplogPost.hoverElement.append(SnaplogPost.hoverPartElements.topLeft);SnaplogPost.hoverPartElements.bottomRight=$('<div class="tb-h-bezel-bottom-right"/>');SnaplogPost.hoverElement.append(SnaplogPost.hoverPartElements.bottomRight);SnaplogPost.hoverPartElements.bottomLeft=$('<div class="tb-h-bezel-bottom-left"/>');SnaplogPost.hoverElement.append(SnaplogPost.hoverPartElements.bottomLeft);SnaplogPost.hoverPartElements.middle=$('<div class="tb-h-bezel-middle"/>');SnaplogPost.hoverElement.append(SnaplogPost.hoverPartElements.middle);this.setupHoverToolbarButtons();SnaplogPost.hoverElement[0].className="tb-h-bezel";document.body.insertBefore(SnaplogPost.hoverElement[0],document.body.firstChild)};SnaplogPost.prototype.setupHoverToolbarButtons=function(){if(this.isNew()){if(this.isPost()){this.setupNewPostHoverToolbarButtons()}else{if(this.isQuote()){}}}else{this.setupEditPostHoverToolbarButtons()}};SnaplogPost.prototype.cancelNewPhotoAdd=function(){this.hidePhotoEditor();this.hideTextEditor();this.hideHover(true);$(SnaplogPost.newPostElement).hide();if(this.entry_id){this.deletePost()}delete SnaplogPost.newElementShowing};SnaplogPost.prototype.publishPost=function(){var a=this;if(this.entry_id){$.ajax({type:"POST",url:"/ajax/publish",data:"entry_id="+a.entry_id,success:function(b){},error:function(b){alert("publishPost error: "+b)}})}};SnaplogPost.prototype.deletePost=function(){if(!confirm("Are you sure you want to delete this entry?")){return}this.hidePhotoEditor();this.hideTextEditor();this.hideHover(true);$(this.postElement).remove();delete this.postElement;if(typeof SnaplogPost.newPostElement!="undefined"){$(SnaplogPost.newPostElement).remove();delete SnaplogPost.newPostElement}var a=this;if(this.entry_id){$.ajax({type:"POST",url:"/ajax/delete",data:"entry_id="+a.entry_id,success:function(b){},error:function(b){alert("deletePost error: "+b)}})}};SnaplogPost.prototype.setupNewPostHoverToolbarButtons=function(){if(typeof SnaplogPost.toolbarNavigationAreaH!="undefined"){$(SnaplogPost.toolbarNavigationAreaH).remove()}SnaplogPost.toolbarNavigationAreaH=$('<div class="tb-navigation-h">');var c=this;if(this.entry_id){var b=$('<div class="tb-button-wide2">done</div>');b.click(function(d){c.showPreview()});SnaplogPost.toolbarNavigationAreaH.append(b);var a=$('<div class="tb-button-wide2">delete</div>');a.click(function(d){c.cancelNewPhotoAdd()});SnaplogPost.toolbarNavigationAreaH.append(a)}else{var b=$('<div class="tb-button-wide2 preview-disabled">done</div>');b.click(function(d){c.showPreview()});SnaplogPost.toolbarNavigationAreaH.append(b);var a=$('<div class="tb-button-wide2">cancel</div>');a.click(function(d){c.cancelNewPhotoAdd()});SnaplogPost.toolbarNavigationAreaH.append(a)}SnaplogPost.hoverElement.append(SnaplogPost.toolbarNavigationAreaH)};SnaplogPost.prototype.setupEditPostHoverToolbarButtons=function(){if(typeof SnaplogPost.toolbarNavigationAreaH!="undefined"){$(SnaplogPost.toolbarNavigationAreaH).remove()}SnaplogPost.toolbarNavigationAreaH=$('<div class="tb-navigation-h">');var b=this;if(this.hasPhoto()){var c=$('<div class="tb-button-wide2 save">edit photo</div>');c.click(function(d){b.editPhoto()});SnaplogPost.toolbarNavigationAreaH.append(c)}else{var c=$('<div class="tb-button-wide2 save">add photo</div>');c.click(function(d){b.addPhoto()});SnaplogPost.toolbarNavigationAreaH.append(c)}if(this.hasText()){var c=$('<div class="tb-button-wide2">edit text</div>');c.click(function(d){b.editText()});SnaplogPost.toolbarNavigationAreaH.append(c)}else{var c=$('<div class="tb-button-wide2">add text</div>');c.click(function(d){b.addText()});SnaplogPost.toolbarNavigationAreaH.append(c)}if(this.isPublic()){var a=$('<div class="tb-button-wide2">make private</div>');a.click(function(d){b.clickedMakePrivate()});SnaplogPost.toolbarNavigationAreaH.append(a)}else{var a=$('<div class="tb-button-wide2">make public</div>');a.click(function(d){b.clickedMakePublic()});SnaplogPost.toolbarNavigationAreaH.append(a)}var a=$('<div class="tb-button-wide2 delete">delete</div>');a.click(function(d){b.deletePost()});SnaplogPost.toolbarNavigationAreaH.append(a);SnaplogPost.hoverElement.append(SnaplogPost.toolbarNavigationAreaH)};SnaplogPost.prototype.setupPhotoToolbarIfNeeded=function(){if(!SnaplogPost.setupPhotoToolbarNeeded){return}delete SnaplogPost.setupPhotoToolbarNeeded;SnaplogPost.photoElement=$("<div/>");SnaplogPost.photoToolbarPartElements={};SnaplogPost.photoToolbarPartElements.top=$('<div class="tb-bezel-top"/>');SnaplogPost.photoElement.append(SnaplogPost.photoToolbarPartElements.top);SnaplogPost.photoToolbarPartElements.bottom=$('<div class="tb-bezel-bottom"/>');SnaplogPost.photoElement.append(SnaplogPost.photoToolbarPartElements.bottom);SnaplogPost.photoToolbarPartElements.left=$('<div class="tb-bezel-left"/>');SnaplogPost.photoElement.append(SnaplogPost.photoToolbarPartElements.left);SnaplogPost.photoToolbarPartElements.right=$('<div class="tb-bezel-right"/>');SnaplogPost.photoElement.append(SnaplogPost.photoToolbarPartElements.right);SnaplogPost.photoToolbarPartElements.topRight=$('<div class="tb-bezel-top-right"/>');SnaplogPost.photoElement.append(SnaplogPost.photoToolbarPartElements.topRight);SnaplogPost.photoToolbarPartElements.topLeft=$('<div class="tb-bezel-top-left"/>');SnaplogPost.photoElement.append(SnaplogPost.photoToolbarPartElements.topLeft);SnaplogPost.photoToolbarPartElements.bottomRight=$('<div class="tb-bezel-bottom-right"/>');SnaplogPost.photoElement.append(SnaplogPost.photoToolbarPartElements.bottomRight);SnaplogPost.photoToolbarPartElements.bottomLeft=$('<div class="tb-bezel-bottom-left"/>');SnaplogPost.photoElement.append(SnaplogPost.photoToolbarPartElements.bottomLeft);SnaplogPost.photoElement.mousedown(function(a){SnaplogPost.activeSnaplogPost.toolbarMouseDown(a)});SnaplogPost.photoElement.mouseup(function(a){SnaplogPost.activeSnaplogPost.toolbarMouseUp(a)});SnaplogPost.photoArea=$('<div class="tb-area">');SnaplogPost.photoTypeToggle=$('<div class="tb-button-2"></div>');SnaplogPost.photoTypeToggle.click(function(a){SnaplogPost.activeSnaplogPost.clickedPhotoTypeToggle(a)});SnaplogPost.photoArea.append(SnaplogPost.photoTypeToggle);SnaplogPost.photoNavigationArea=$('<div class="tb-navigation">');SnaplogPost.photoCloseButton=$('<input type="button" class="tb-button left close" value="X" />');SnaplogPost.photoCloseButton.click(function(a){SnaplogPost.activeSnaplogPost.closePhotoEditor(a)});SnaplogPost.photoNavigationArea.append(SnaplogPost.photoCloseButton);SnaplogPost.photoElement.append(SnaplogPost.photoArea);SnaplogPost.photoElement.append(SnaplogPost.photoNavigationArea);SnaplogPost.photoElement[0].className="tb-bezel";document.body.insertBefore(SnaplogPost.photoElement[0],document.body.firstChild)};SnaplogPost.prototype.setupTextToolbarIfNeeded=function(){if(!SnaplogPost.setupTextToolbarNeeded){return}delete SnaplogPost.setupTextToolbarNeeded;var a=this;SnaplogPost.toolbarElement=$("<div/>");SnaplogPost.textToolbarPartElements={};SnaplogPost.textToolbarPartElements.top=$('<div class="tb-bezel-top"/>');SnaplogPost.toolbarElement.append(SnaplogPost.textToolbarPartElements.top);SnaplogPost.textToolbarPartElements.bottom=$('<div class="tb-bezel-bottom"/>');SnaplogPost.toolbarElement.append(SnaplogPost.textToolbarPartElements.bottom);SnaplogPost.textToolbarPartElements.left=$('<div class="tb-bezel-left"/>');SnaplogPost.toolbarElement.append(SnaplogPost.textToolbarPartElements.left);SnaplogPost.textToolbarPartElements.right=$('<div class="tb-bezel-right"/>');SnaplogPost.toolbarElement.append(SnaplogPost.textToolbarPartElements.right);SnaplogPost.textToolbarPartElements.topRight=$('<div class="tb-bezel-top-right"/>');SnaplogPost.toolbarElement.append(SnaplogPost.textToolbarPartElements.topRight);SnaplogPost.textToolbarPartElements.topLeft=$('<div class="tb-bezel-top-left"/>');SnaplogPost.toolbarElement.append(SnaplogPost.textToolbarPartElements.topLeft);SnaplogPost.textToolbarPartElements.bottomRight=$('<div class="tb-bezel-bottom-right"/>');SnaplogPost.toolbarElement.append(SnaplogPost.textToolbarPartElements.bottomRight);SnaplogPost.textToolbarPartElements.bottomLeft=$('<div class="tb-bezel-bottom-left"/>');SnaplogPost.toolbarElement.append(SnaplogPost.textToolbarPartElements.bottomLeft);SnaplogPost.toolbarElement.mousedown(function(b){SnaplogPost.activeSnaplogPost.toolbarMouseDown(b)});SnaplogPost.toolbarElement.mouseup(function(b){SnaplogPost.activeSnaplogPost.toolbarMouseUp(b)});SnaplogPost.toolbarArea=$('<div class="tb-area">');SnaplogPost.toolbarBoldButton=$('<input type="button" class="tb-button right tb-button-bold" value="B"/>');SnaplogPost.toolbarBoldButton.click(function(b){SnaplogPost.activeSnaplogPost.boldSelection(b)});SnaplogPost.toolbarArea.append(SnaplogPost.toolbarBoldButton);SnaplogPost.toolbarUnderlineButton=$('<input type="button" class="tb-button right tb-button-underline" value="U"/>');SnaplogPost.toolbarUnderlineButton.click(function(b){SnaplogPost.activeSnaplogPost.underlineSelection(b)});SnaplogPost.toolbarArea.append(SnaplogPost.toolbarUnderlineButton);SnaplogPost.toolbarItalicButton=$('<input type="button" class="tb-button right tb-button-italic" value="I"/>');SnaplogPost.toolbarItalicButton.click(function(b){SnaplogPost.activeSnaplogPost.italicSelection(b)});SnaplogPost.toolbarArea.append(SnaplogPost.toolbarItalicButton);SnaplogPost.toolbarLinkButton=$('<input type="button" class="tb-button-wide" value="www" />');SnaplogPost.toolbarLinkButton.click(function(b){SnaplogPost.activeSnaplogPost.linkSelection(b)});SnaplogPost.toolbarArea.append(SnaplogPost.toolbarLinkButton);SnaplogPost.toolbarNavigationArea=$('<div class="tb-navigation">');SnaplogPost.toolbarCloseButton=$('<input type="button" class="tb-button left close" value="X" />');SnaplogPost.toolbarCloseButton.click(function(b){SnaplogPost.activeSnaplogPost.closeTextEditor(b)});SnaplogPost.toolbarNavigationArea.append(SnaplogPost.toolbarCloseButton);SnaplogPost.toolbarElement.append(SnaplogPost.toolbarArea);SnaplogPost.toolbarElement.append(SnaplogPost.toolbarNavigationArea);SnaplogPost.toolbarElement[0].className="tb-bezel";document.body.insertBefore(SnaplogPost.toolbarElement[0],document.body.firstChild);$(SnaplogPost.toolbarElement).mouseover(function(){if(typeof SnaplogPost.shownTextEditorSnaplogPost!="undefined"){SnaplogPost.shownTextEditorSnaplogPost.showHover()}})};SnaplogPost.prototype.windowResize=function(){var a=this;setTimeout(function(){a.adjustSize()},0)};SnaplogPost.prototype.adjustSize=function(){this.adjustTextToolbarSize();this.adjustPhotoToolbarSize();this.adjustHoverSize()};SnaplogPost.prototype.adjustPhotoToolbarSize=function(){if(!this.photoToolbarShowing||typeof SnaplogPost.photoElement=="undefined"||typeof this.editablePhotoNode=="undefined"){return}var d=this;var g=42;var e=20;var f=20;var b=$(this.editablePhotoNode).offset();var a=$(this.editablePhotoNode).width();var h=$(this.editablePhotoNode).height();var i=parseInt($(this.editablePhotoNode).css("paddingTop").replace(/px/,""),10);var j=$(this.editablePhotoNode).parent(".cropbox");if(j.length!==0){b=j.offset();a=j.width();h=j.height();i=0}SnaplogPost.photoElement.css("top",(b.top+i-g)+"px");SnaplogPost.photoElement.css("left",(b.left-e)+"px");SnaplogPost.photoElement.width((a+(e+f))+"px");SnaplogPost.photoToolbarPartElements.left.css("height",h+"px");SnaplogPost.photoToolbarPartElements.right.css("height",h+"px");var c=(h+g)+"px";SnaplogPost.photoToolbarPartElements.bottom.css("top",c);SnaplogPost.photoToolbarPartElements.bottomLeft.css("top",c);SnaplogPost.photoToolbarPartElements.bottomRight.css("top",c);SnaplogPost.photoToolbarPartElements.top.width(SnaplogPost.photoElement.width()-(e+f)+"px");SnaplogPost.photoToolbarPartElements.bottom.width(SnaplogPost.photoElement.width()-(e+f)+"px");SnaplogPost.photoElement.css("visibility","visible");if(this.isNew()){this.hidePhotoToolbarLinks()}else{this.setupPhotoToolbarLinks()}};SnaplogPost.prototype.firstEditField=function(){return $(".item",this.postElement).get(0)};SnaplogPost.prototype.adjustTextToolbarSize=function(){if(!this.textToolbarShowing||typeof SnaplogPost.toolbarElement=="undefined"||SnaplogPost.toolbarElement.css("display")=="none"||typeof this.editArea=="undefined"){return}var d=this;var g=42;var e=20;var f=20;var b=$(this.editArea).offset();var a=$(this.editArea).width();var h=$(this.editArea).height();var i=parseInt($(this.editableTextNode).css("paddingTop").replace(/px/,""),10);SnaplogPost.toolbarElement.css("top",(b.top+i-g)+"px");SnaplogPost.toolbarElement.css("left",(b.left-e)+"px");SnaplogPost.toolbarElement.width((a+(e+f))+"px");SnaplogPost.textToolbarPartElements.left.css("height",h+"px");SnaplogPost.textToolbarPartElements.right.css("height",h+"px");var c=(h+g)+"px";SnaplogPost.textToolbarPartElements.bottom.css("top",c);SnaplogPost.textToolbarPartElements.bottomLeft.css("top",c);SnaplogPost.textToolbarPartElements.bottomRight.css("top",c);SnaplogPost.textToolbarPartElements.top.width(SnaplogPost.toolbarElement.width()-(e+f)+"px");SnaplogPost.textToolbarPartElements.bottom.width(SnaplogPost.toolbarElement.width()-(e+f)+"px");if(this.isIframe){$(d.editAreaDoc.body).css({background:d.getStyle(this.parentElement,"background-color"),marginLeft:"0px",marginTop:"0px",marginBottom:"0px",maringRight:"0px"})}SnaplogPost.toolbarElement.css("visibility","visible");if(this.isNew()){this.hideTextToolbarLinks()}else{this.setupTextToolbarLinks()}this.setupTextToolbarEvents()};SnaplogPost.prototype.adjustSettingsSize=function(){var d=this;var g=13;var e=20;var f=20;var b=$(this.postElement).offset();var a=$(this.postElement).outerWidth();var h=$(this.postElement).outerHeight();var i=parseInt($(this.editArea).css("paddingTop").replace(/px/,""),10);SnaplogPost.settingsElement.css("top",(b.top+i-g)+"px");SnaplogPost.settingsElement.css("left",(b.left-e)+"px");SnaplogPost.settingsElement.width((a+(e+f))+"px");SnaplogPost.settingsPartElements.left.css("height",h+"px");SnaplogPost.settingsPartElements.right.css("height",h+"px");var c=(h+g)+"px";SnaplogPost.settingsPartElements.bottom.css("top",c);SnaplogPost.settingsPartElements.bottomLeft.css("top",c);SnaplogPost.settingsPartElements.bottomRight.css("top",c);SnaplogPost.settingsPartElements.top.width(SnaplogPost.settingsElement.width()-(e+f)+"px");SnaplogPost.settingsPartElements.bottom.width(SnaplogPost.settingsElement.width()-(e+f)+"px");SnaplogPost.settingsPartElements.middle.height(h)};SnaplogPost.prototype.adjustHoverSize=function(){var h=this;var g=13;var d=20;var c=20;if(typeof this.postElement=="undefined"){return}var f=$(this.postElement).offset();if(typeof SnaplogPost.toolbarNavigationAreaH=="undefined"){return}var e=SnaplogPost.toolbarNavigationAreaH[0].scrollWidth+24;var a=SnaplogPost.toolbarNavigationAreaH.height()-6;SnaplogPost.hoverElement.css("top",f.top+"px");SnaplogPost.hoverElement.css("left",f.left+16+$(this.postElement).outerWidth()+"px");SnaplogPost.hoverElement.width(e);SnaplogPost.hoverPartElements.left.css("height",a+"px");SnaplogPost.hoverPartElements.right.css("height",a+"px");var b=(a+g)+"px";SnaplogPost.hoverPartElements.bottom.css("top",b);SnaplogPost.hoverPartElements.bottomLeft.css("top",b);SnaplogPost.hoverPartElements.bottomRight.css("top",b);SnaplogPost.hoverPartElements.top.width(e-(d+c));SnaplogPost.hoverPartElements.bottom.width(e-(d+c));SnaplogPost.hoverPartElements.middle.height(a);SnaplogPost.hoverElement.css("visibility","visible")};SnaplogPost.prototype.updateToolbarButtonStates=function(){var a=this.editAreaDoc;if(typeof a.innerHTM!="undefined"&&a.queryCommandState("bold")){SnaplogPost.toolbarBoldButton.addClass("tb-button-selected")}else{SnaplogPost.toolbarBoldButton.removeClass("tb-button-selected")}if(a.queryCommandState("underline")){SnaplogPost.toolbarUnderlineButton.addClass("tb-button-selected")}else{SnaplogPost.toolbarUnderlineButton.removeClass("tb-button-selected")}if(a.queryCommandState("italic")){SnaplogPost.toolbarItalicButton.addClass("tb-button-selected")}else{SnaplogPost.toolbarItalicButton.removeClass("tb-button-selected")}if(a.queryCommandState("italic")){SnaplogPost.toolbarItalicButton.addClass("tb-button-selected")}else{SnaplogPost.toolbarItalicButton.removeClass("tb-button-selected")}};SnaplogPost.prototype.toolbarMouseDown=function(a){this.clickingToolbar=true};SnaplogPost.prototype.toolbarMouseUp=function(a){this.clickingToolbar=false};SnaplogPost.prototype.linkSelection=function(d){this.clickingToolbar=true;var c="http://www.snaplog.com";var a="";if(window.getSelection){a=window.getSelection();if(a.anchorNode.nodeType!=3){var b=$("a",a.anchorNode);if(b.length>0){c=b.attr("href")}}}else{if(document.selection){a=document.selection.createRange()}}var e=prompt("Enter link URL or press cancel to remove link:",c);this.clickingToolbar=false;if(e){this.editAreaDoc.execCommand("createLink",false,e)}else{this.editAreaDoc.execCommand("unlink",false,null)}if(this.isIframe){$(this.parentElement).html($(this.editAreaDoc.body).html())}};SnaplogPost.prototype.boldSelection=function(a){this.editAreaDoc.execCommand("bold",false,null);this.updateToolbarButtonStates()};SnaplogPost.prototype.underlineSelection=function(a){this.editAreaDoc.execCommand("underline",false,null);this.updateToolbarButtonStates()};SnaplogPost.prototype.italicSelection=function(a){this.editAreaDoc.execCommand("italic",false,null);this.updateToolbarButtonStates()};SnaplogPost.prototype.setupTextToolbarEvents=function(){if(!this.isNew()){$(this.evtListener).blur(this.hideToolbarListener)}$(this.evtListener).keyup(this.windowResizeListener);$(this.editAreaDoc).mouseup(this.updateToolbarListener);$(this.editAreaDoc).keyup(this.updateToolbarListener);var a=this;$(this.editAreaDoc).keyup(function(){if(typeof a.saveTextTimeoutThreadId!="undefined"){clearTimeout(a.saveTextTimeoutThreadId);delete a.saveTextTimeoutThreadId}a.saveTextTimeoutThreadId=setTimeout(function(){a.saveText()},1000)});$(window).resize(this.windowResizeListener);if(!this.isIframe){this.parentElement.contentEditable="true"}else{$(this.editAreaDoc).keypress(this.frameResizeListener)}};SnaplogPost.prototype.frameResize=function(b){var a=$(this.editAreaDoc.body).height();if(this.isIframe){$(this.editArea).height(a+30)}};SnaplogPost.prototype.setIFrameTextContextNode=function(a){this.parentElement=a;if(this.isIframe){if(!SnaplogPost.iframe){SnaplogPost.iframe=this.createIFrame(a);a.parentNode.insertBefore(SnaplogPost.iframe,a)}else{if(SnaplogPost.iframe.parentNode){SnaplogPost.iframe.parentNode.removeChild(SnaplogPost.iframe);a.parentNode.insertBefore(SnaplogPost.iframe,a)}}SnaplogPost.iframe.doc=SnaplogPost.iframe.contentDocument;if(SnaplogPost.iframe.doc===null){throw"Snaplog error: Document not found, append the parent element to the DOM before creating the IFrame"}this.editArea=SnaplogPost.iframe;this.editAreaDoc=SnaplogPost.iframe.doc;this.evtListener=SnaplogPost.iframe.doc;SnaplogPost.iframe.doc.open();SnaplogPost.iframe.doc.close();this.editAreaDoc.body.innerHTML=this.parentElement.innerHTML;$(this.editArea).width($(this.parentElement).width());$(this.editArea).height($(this.parentElement).height());$(this.editArea).css("paddingTop",$(this.parentElement).css("paddingTop"));$(this.editArea).css("paddingBottom",$(this.parentElement).css("paddingBottom"));$(this.editArea).css("paddingLeft",$(this.parentElement).css("paddingLeft"));$(this.editArea).css("paddingRight",$(this.parentElement).css("paddingRight"));$(this.editArea).css("marginTop",$(this.parentElement).css("marginTop"));$(this.editArea).css("marginBottom",$(this.parentElement).css("marginBottom"));$(this.editArea).css("marginLeft",$(this.parentElement).css("marginLeft"));$(this.editArea).css("marginRight",$(this.parentElement).css("marginRight"))}else{this.evtListener=a;this.editArea=a;this.editAreaDoc=document}};SnaplogPost.prototype.isPublic=function(){return $(this.postElement).attr("public")==1};SnaplogPost.prototype.hasText=function(){var a=$(".text",this.postElement);return a.html().length>0};SnaplogPost.prototype.hasPhoto=function(){var a=$(".photo",this.postElement);return typeof a!="undefined"&&a.css("display")!="none"};SnaplogPost.prototype.hasTags=function(){var a=$(".tags",this.postElement);return a.css("display")!="none"&&a.html().length>0};SnaplogPost.prototype.hideTextToolbarLinks=function(){SnaplogPost.toolbarNavigationArea.hide()};SnaplogPost.prototype.hidePhotoToolbarLinks=function(){SnaplogPost.photoNavigationArea.hide()};SnaplogPost.prototype.setupPhotoToolbarLinks=function(){SnaplogPost.photoNavigationArea.show()};SnaplogPost.prototype.setupTextToolbarLinks=function(){SnaplogPost.toolbarNavigationArea.show()};SnaplogPost.prototype.showHover=function(){if(this.postElement!=SnaplogPost.newPostElement&&SnaplogPost.newElementShowing){return}SnaplogPost.activeSnaplogPost=this;var a=this;if(SnaplogPost.hideHoverTimeoutId!==null){clearTimeout(SnaplogPost.hideHoverTimeoutId);SnaplogPost.hideHoverTimeoutId=null}if(this.hoverShowing){return}this.setupHoverToolbarIfNeeded();this.setupHoverToolbarButtons();this.hoverShowing=true;$(SnaplogPost.hoverElement).show();this.adjustHoverSize();this.adjustHoverSize();if(SnaplogPost.hoverElement.last_post){SnaplogPost.hoverElement.last_post.hoverShowing=false}SnaplogPost.hoverElement.last_post=this};SnaplogPost.prototype.showSettings=function(){this.setupSettingsToolbarIfNeeded();this.adjustSettingsSize();this.hideEditor();$(SnaplogPost.settingsElement).show()};SnaplogPost.prototype.showTagsEditor=function(a){alert("showTagsEditor not implemented")};SnaplogPost.prototype.showTextEditor=function(){if(this.postElement!=SnaplogPost.newPostElement&&SnaplogPost.newElementShowing){return}if(this.textToolbarShowing){return}var a=$(".text",this.postElement)[0];this.hideAllOtherEditorToolbars();this.textToolbarShowing=true;this.setupTextToolbarIfNeeded();SnaplogPost.activeSnaplogPost=this;this.editableTextNode=a;this.setIFrameTextContextNode(a);if(this.isIframe){$(this.parentElement).hide();$(this.editArea).show();if(this.editArea.contentDocument&&this.editArea.doc.designMode!="on"){this.editArea.doc.designMode="on"}}else{}$(SnaplogPost.toolbarElement).show();this.windowResizeListener()};SnaplogPost.prototype.showMap=function(){var e=$(".map",this.postElement);var c=e.get(0);e.toggle();var d=new CM.Map(c,{key:"2d9c51b9677e51d7949d99e15aac68b6"});var b=new CM.Icon();b.image="http://s.snaplog.com/sl_1230110142_map_icon.png";b.iconSize=new CM.Size(54,50);b.iconAnchor=new CM.Point(11,47);var f=new CM.LatLng(parseFloat(e.attr("lat")),parseFloat(e.attr("lon")));var a=new CM.Marker(f,{title:"Where this photo was taken",icon:b});d.setCenter(f,15);d.addOverlay(a);d.addControl(new CM.SmallMapControl());return false};SnaplogPost.prototype.showPhotoEditor=function(a){if(this.postElement!=SnaplogPost.newPostElement&&SnaplogPost.newElementShowing){return}if(this.photoToolbarShowing){return}var a=$(".photo",this.postElement)[0];this.hideAllOtherEditorToolbars();this.photoToolbarShowing=true;this.setupPhotoToolbarIfNeeded();if(this.photo_type==1){$(SnaplogPost.photoTypeToggle).html("change to full frame")}else{if(this.photo_type==0){$(SnaplogPost.photoTypeToggle).html("change to square!")}}$(SnaplogPost.photoTypeToggle).show();this.editablePhotoNode=$(".photo",this.postElement).parent();$(SnaplogPost.photoElement).show();if(SnaplogPost.settingsElement){$(SnaplogPost.settingsElement).hide()}if(this.hasPhoto()&&this.photo_type==1){this.photoImageEditor=new SnaplogImageEditor($(a))}this.windowResizeListener();SnaplogPost.shownPhotoEditorSnaplogPost=this};SnaplogPost.prototype.unbindEvents=function(){$(this.evtListener).unbind("focus",this.showToolbarListener);$(this.evtListener).unbind("blur",this.hideToolbarListener);$(this.evtListener).unbind("keypress",this.windowResizeListener);$(this.parentElement).unbind("keypress",this.windowResizeListener);$(window).unbind("resize",this.windowResizeListener);if(this.isIframe){$(this.editAreaDoc).unbind("keypress",this.frameResizeListener)}};SnaplogPost.prototype.hideHover=function(b){if(this.postElement!=SnaplogPost.newPostElement&&SnaplogPost.newElementShowing){return}if(this.isNew()&&typeof b=="undefined"){return}var a=this;if(typeof b!="undefined"){a.hoverShowing=false;$(SnaplogPost.hoverElement).hide()}else{SnaplogPost.hideHoverTimeoutId=setTimeout(function(){if(SnaplogPost.hoverElement){a.hoverShowing=false;$(SnaplogPost.hoverElement).hide()}SnaplogPost.hideHoverTimeoutId=null},250)}};SnaplogPost.prototype.editText=function(){this.showTextEditor();this.setupHoverToolbarButtons()};SnaplogPost.prototype.addText=function(){if(!this.hasText()){$(".text",this.postElement).html(SnaplogSettings.staticNewTextNodeCopy)}this.showTextEditor();this.setupHoverToolbarButtons()};SnaplogPost.prototype.hideTextEditor=function(){if(this.clickingToolbar){return}if(SnaplogPost.toolbarElement){$(SnaplogPost.toolbarElement).css("visibility","hidden");$(SnaplogPost.toolbarElement).hide()}if(this.parentElement){$(this.parentElement).html(this.getEditAreaValue())}if(this.isIframe&&this.editArea&&this.parentElement){$(this.editArea).hide();$(this.parentElement).show()}else{if(this.parentElement){this.parentElement.contentEditable="false"}}this.textToolbarShowing=false};SnaplogPost.prototype.editPhoto=function(){this.showPhotoEditor()};SnaplogPost.prototype.addPhoto=function(){};SnaplogPost.prototype.hideAllOtherEditorToolbars=function(){if(this.isNew()){return}if(typeof SnaplogPost.shownTextEditorSnaplogPost!="undefined"){SnaplogPost.shownTextEditorSnaplogPost.hideTextEditor();delete SnaplogPost.shownTextEditorSnaplogPost}if(typeof SnaplogPost.shownPhotoEditorSnaplogPost!="undefined"){SnaplogPost.shownPhotoEditorSnaplogPost.hidePhotoEditor();delete SnaplogPost.shownPhotoEditorSnaplogPost}};SnaplogPost.prototype.hidePhotoEditor=function(){if(SnaplogPost.photoElement){$(SnaplogPost.photoElement).css("visibility","hidden");$(SnaplogPost.photoElement).hide()}var a=this;if(typeof this.photoImageEditor!="undefined"){this.photoImageEditor.close({callback:function(b){$.ajax({type:"POST",url:"/ajax/write",data:"entry_id="+a.entry_id+"&photo_offset_percent="+b,success:function(c){},error:function(c){alert("hidePhotoEditor error: "+c)}})}})}this.photoToolbarShowing=false};SnaplogPost.prototype.closeTextEditor=function(a){this.saveText();this.hideTextEditor()};SnaplogPost.prototype.clickedMakePrivate=function(b){var a=this;$.ajax({type:"POST",url:"/ajax/write",data:{entry_id:a.entry_id,"public":"0"},success:function(c){$(a.postElement).attr("public","0");a.setupEditPostHoverToolbarButtons();a.adjustHoverSize()},error:function(c){alert("clickedPhotoTypeToggle error: "+c)}})};SnaplogPost.prototype.clickedMakePublic=function(b){var a=this;$.ajax({type:"POST",url:"/ajax/write",data:{entry_id:a.entry_id,"public":"1"},success:function(c){$(a.postElement).attr("public","1");a.setupEditPostHoverToolbarButtons();a.adjustHoverSize()},error:function(c){alert("clickedPhotoTypeToggle error: "+c)}})};SnaplogPost.prototype.clickedPhotoTypeToggle=function(b){if(parseInt(this.photo_type)===1){this.photo_type=0}else{if(parseInt(this.photo_type)===0){this.photo_type=1}}var a=this;$.ajax({type:"POST",url:"/ajax/write",data:{entry_id:a.entry_id,photo_type:a.photo_type,return_type:"html_entry"},success:function(d){$(a.postElement).unbind();var c=$(d);$(a.postElement).before(c);$(a.postElement).remove();delete a.postElement;c.show();SnaplogMain.bindOne(c);$(SnaplogPost.photoElement).hide();a.windowResize()},error:function(c){alert("clickedPhotoTypeToggle error: "+c)}})};SnaplogPost.prototype.closePhotoEditor=function(a){this.hidePhotoEditor()};SnaplogPost.prototype.nextSelection=function(a){alert("nextSelection")};SnaplogPost.prototype.previousSelection=function(a){alert("previousSelection")};SnaplogPost.prototype.showPreview=function(b){if(this.isPost()&&!this.hasPhoto()){return}$(this.postElement).removeClass("new");delete SnaplogPost.newPostElement;delete SnaplogPost.newElementShowing;this.hideTextEditor();this.hidePhotoEditor();this.hideHover();var a=this;$.ajax({type:"GET",url:"/ajax/html_view_entry",data:"entry_id="+a.entry_id,success:function(d){$(a.postElement).unbind();var c=$(d);$(a.postElement).before(c);$(a.postElement).remove();delete a.postElement;c.show();SnaplogMain.bindOne(c);a.windowResize()},error:function(c){alert("showPreview error: "+c)}})};SnaplogSettings={};SnaplogSettings.tempUrl="temp.snaplog.com";SnaplogSettings.staticNewTextNodeCopy="Enter Optional Caption Here...";SnaplogSettings.currentPage=0;SnaplogSettings.mainPageSize=10;SnaplogSettings.sheetPageSize=20;SnaplogUtil={};SnaplogUtil.isOnNormalPaginationPage=function(a){if(typeof a=="undefined"){var a=SnaplogUtil.parseUri(location.href)}return(a.path=="/")||(a.path.substring(0,6)=="/sheet")||(a.path.substring(0,7)=="/recent")};SnaplogUtil.isOnGeoPaginationPage=function(a){if(typeof a=="undefined"){var a=SnaplogUtil.parseUri(location.href)}return/^\/([\d]{1,}\.[\d]{2,}),-?([\d]{1,}\.[\d]{2,})/.exec(a.path)};SnaplogUtil.isOnTempPage=function(){var a=SnaplogUtil.parseUri(location.href);return a.domain==SnaplogSettings.tempUrl};SnaplogUtil.isOnPublicPage=function(){var a=SnaplogUtil.parseUri(location.href);return(a.path.substring(0,7)=="/recent")};SnaplogUtil.isLoggedIn=function(){var a=SnaplogUtil.readCookie("uid");if(a!==null){var b=a.split("!");if(b.length==3&&b[2].length>=4){return true}}return false};SnaplogUtil.getLoggedInDomain=function(){var a=SnaplogUtil.readCookie("uid");if(a!==null){var b=a.split("!");if(b.length==3&&b[2].length>=4){return b[1]}}return false};SnaplogUtil.readCookie=function(b){var e=b+"=";var a=document.cookie.split(";");for(var d=0;d<a.length;d++){var f=a[d];while(f.charAt(0)==" "){f=f.substring(1,f.length)}if(f.indexOf(e)===0){return f.substring(e.length,f.length)}}return null};SnaplogUtil.setPopupPosition=function(b,a){var c=b.offset();a.css({left:(c.left+(b.width()/2)-(a.width()-36))+"px",top:(c.top+30)+"px"})};SnaplogUtil.animateDots=function(b,c,a){if(c.text().length>=a){c.text("")}else{c.text(c.text()+".")}b.timerId=setTimeout(function(){SnaplogUtil.animateDots(b,c,a)},500)};SnaplogUtil.getRemainingScroll=function(){var e=window.innerHeight?window.innerHeight:document.documentElement.clientHeight;var c=document.documentElement.scrollHeight;var d=c-e;var b=SnaplogUtil.getCurrentScrollPos();var a=d-b;return a};SnaplogUtil.getCurrentScrollPos=function(){return document.documentElement.scrollTop?document.documentElement.scrollTop:document.body.scrollTop};SnaplogUtil.getlargestURL=function(c){if(typeof c.photos.ma!="undefined"){return c.photos.ma}var a;for(var b in c.photos){if(typeof a=="undefined"&&typeof c.photos[b].url!="undefined"){a=c.photos[b]}if(typeof c.photos[b].url!="undefined"&&c.photos[b].w>a.h){a=c.photos[b]}}return a};SnaplogUtil.baseURL=function(){var a=location.href.lastIndexOf("/");return location.href.substr(0,a)};SnaplogUtil.isInMain=function(){var a=location.href.lastIndexOf("/");if(a==-1||(a==(location.href.length-1)&&a>5)){return true}else{return false}};SnaplogUtil.onURLEditRegEx=/[\w\d-\.]/;SnaplogUtil.onURLEdit=function(c){var b=SnaplogUtil.getKeyChar(c);var a=SnaplogUtil.isControlCharacter(b[0],c)||SnaplogUtil.onURLEditRegEx.test(b[1]);return a};SnaplogUtil.onEmailEditRegEx=/[\w\d\.@+]/;SnaplogUtil.onEmailEdit=function(c){var b=SnaplogUtil.getKeyChar(c);var a=SnaplogUtil.isControlCharacter(b[0],c)||SnaplogUtil.onEmailEditRegEx.test(b[1]);return a};SnaplogUtil.onAlphanumericEditRegEx=/\w/;SnaplogUtil.onAlphanumericEdit=function(b){var a=SnaplogUtil.getKeyChar(b);returnVal=SnaplogUtil.isControlCharacter(a[0],b)||SnaplogUtil.onAlphanumericEditRegEx.test(a[1]);return returnVal};SnaplogUtil.getKeyChar=function(b){var a=!b||(!b.which&&b.which!==0)?window.event.keyCode:b.which;return[a,String.fromCharCode(a)]};SnaplogUtil.isControlCharacter=function(a,b){return b.metaKey||b.ctrlKey||a==63234||a==63235||a==63272||a==9||a==8||a===0};SnaplogUtil.parseUri=function(e){var a=["source","protocol","authority","domain","port","path","directoryPath","fileName","query","anchor"];var b=new RegExp("^(?:([^:/?#.]+):)?(?://)?(([^:/?#]*)(?::(\\d*))?)?((/(?:[^?#](?![^?#/]*\\.[^?#/.]+(?:[\\?#]|$)))*/?)?([^?#/]*))?(?:\\?([^#]*))?(?:#(.*))?").exec(e);var d={};for(var c=0;c<10;c++){d[a[c]]=(b[c]?b[c]:"")}if(d.directoryPath.length>0){d.directoryPath=d.directoryPath.replace(/\/?$/,"/")}return d};SnaplogUtil.getPageType=function(){var a=SnaplogUtil.parseUri(location.href);if(a.path.substring(0,2)=="/:"){return"entry"}else{if(a.path=="/sheet"||a.path=="/recent/sheet"){return"sheet"}else{if(a.path=="/"||a.path=="/recent"){return"main"}else{if(/\/([\d]{1,}\.[\d]{2,}),-?([\d]{1,}\.[\d]{2,})\/sheet\/?$/.exec(a.path)){return"sheet_geo"}else{if(/\/([\d]{1,}\.[\d]{2,}),-?([\d]{1,}\.[\d]{2,})\/?$/.exec(a.path)){return"main_geo"}}}}}};SnaplogUtil.hasPageId=function(){return location.href.indexOf("#p:")!=-1};SnaplogUtil.getPageIdFromAName=function(){var a=location.href.indexOf("#p:");return location.href.substring(a+3)};String.prototype.trim=function(){return this.replace(/^\s+|\s+$/g,"")};jQuery.extend({createUploadIframe:function(d,b){var a="jUploadFrame"+d;if(window.ActiveXObject){var c=document.createElement('<iframe id="'+a+'" name="'+a+'" />');if(typeof b=="boolean"){c.src="javascript:false"}else{if(typeof b=="string"){c.src=b}}}else{var c=document.createElement("iframe");c.id=a;c.name=a}c.style.position="absolute";c.style.top="-1000px";c.style.left="-1000px";document.body.appendChild(c);return c},createUploadForm:function(h,c){fileElementId=c.fileElementId;var f="jUploadForm"+h;var a="jUploadFile"+h;var d=$('<form  action="" method="POST" name="'+f+'" id="'+f+'" enctype="multipart/form-data"></form>');for(var e in c.params){d.append($('<input type="text" name="'+e+'" value="'+c.params[e]+'"/>'))}var b=$("#"+fileElementId);var g=$(b).clone();$(b).attr("id",a);$(b).before(g);$(b).appendTo(d);$(d).css("position","absolute");$(d).css("top","-1200px");$(d).css("left","-1200px");$(d).appendTo("body");return d},ajaxFileUpload:function(k){k=jQuery.extend({},jQuery.ajaxSettings,k);var a=new Date().getTime();var b=jQuery.createUploadForm(a,k);var i=jQuery.createUploadIframe(a,k.secureuri);var h="jUploadFrame"+a;var j="jUploadForm"+a;if(k.global&&!jQuery.active++){jQuery.event.trigger("ajaxStart")}var c=false;var f={};if(k.global){jQuery.event.trigger("ajaxSend",[f,k])}var d=function(l){var p=document.getElementById(h);try{if(p.contentWindow){f.responseText=p.contentWindow.document.body?p.contentWindow.document.body.innerHTML:null;f.responseXML=p.contentWindow.document.XMLDocument?p.contentWindow.document.XMLDocument:p.contentWindow.document}else{if(p.contentDocument){f.responseText=p.contentDocument.document.body?p.contentDocument.document.body.innerHTML:null;f.responseXML=p.contentDocument.document.XMLDocument?p.contentDocument.document.XMLDocument:p.contentDocument.document}}}catch(o){jQuery.handleError(k,f,null,o)}if(f||l=="timeout"){c=true;var m;try{m=l!="timeout"?"success":"error";if(m!="error"){var n=jQuery.uploadHttpData(f,k.dataType);if(k.success){k.success(n,m)}if(k.global){jQuery.event.trigger("ajaxSuccess",[f,k])}}else{jQuery.handleError(k,f,m)}}catch(o){m="error";jQuery.handleError(k,f,m,o)}if(k.global){jQuery.event.trigger("ajaxComplete",[f,k])}if(k.global&&!--jQuery.active){jQuery.event.trigger("ajaxStop")}if(k.complete){k.complete(f,m)}jQuery(p).unbind();setTimeout(function(){try{$(p).remove();$(b).remove()}catch(q){jQuery.handleError(k,f,null,q)}},100);f=null}};if(k.timeout>0){setTimeout(function(){if(!c){d("timeout")}},k.timeout)}try{var b=$("#"+j);$(b).attr("action",k.url);$(b).attr("method","POST");$(b).attr("target",h);if(b.encoding){b.encoding="multipart/form-data"}else{b.enctype="multipart/form-data"}$(b).submit()}catch(g){jQuery.handleError(k,f,null,g)}if(window.attachEvent){document.getElementById(h).attachEvent("onload",d)}else{document.getElementById(h).addEventListener("load",d,false)}return{abort:function(){}}},uploadHttpData:function(r,type){var data=!type;data=type=="xml"||data?r.responseXML:r.responseText;if(type=="script"){jQuery.globalEval(data)}if(type=="json"){eval("data = "+data)}if(type=="html"){jQuery("<div>").html(data).evalScripts()}return data}});