(function(b){function s(){b(".sb_tags").each(function(){var c=b(this),e=b(this).find(".sb_id").val(),d=b(this).find(".sb_pre_tags").val();b.getJSON(k+"/tags/get?m=g&callback=?",{identifier:e,pre_tags:d},function(f){t(c,e,f)})})}function y(){b.getJSON(k+"/auth/logout?callback=?",function(c){if(c.status==="success"){b(".sb_logout").remove();b(".sb_edit_link span:first").remove();s()}})}function u(c){c.hasClass("sb_edit")&&c.find(".sb_tag_vote_frame").each(function(){if(b(this).attr("src")=="about:blank"){b(this).attr("src",
b(this).attr("longdesc"));b(this).load(function(){b(this).addClass("sb_on")})}})}function v(){sb_show_login()}function t(c,e,d){var f="";f="";if(d.ratings.rating==1)f=" sb_on";if(d.ratings.rating==-1)f=" sb_on";f=b(c).find(".sb_pre_tags").val();var h=b(c).find(".sb_show_fullsize").val();b(c).html('<input type="hidden" class="sb_id" value="'+e+'" />');b(c).append('<input type="hidden" class="sb_pre_tags" value="'+f+'" />');b(c).append('<input type="hidden" class="sb_show_fullsize" value="'+h+'" />');
l='<div class="sb_top">';l+='\t<iframe class="sb_rate_vote_frame sb_frame_load_once" allowtransparency="true" frameborder="0" height="31" width="232" scrolling="no" src="'+k+"/ratings/voting?identifier="+e+'" /></iframe>';l+="</div>";b(c).append(l);b(c).append('<div class="sb_instructions">Thumbs up if tag is relevant, thumbs down if not. Use form to add your own tags.');var i="";b.each(d.tags,function(g){frame_class=" sb_frame_load_twice";if(b(c).hasClass("sb_edit"))frame_class=" sb_frame_load_once";
i="";if(g>=15)i=" sb_more_tags";output='<span class="sb_tag'+i+'">';output+='\t<iframe class="sb_tag_vote_frame'+frame_class+'" allowtransparency="true" frameborder="0" height="24" width="41" scrolling="no" src="about:blank" longdesc="'+k+"/tags/voting?tag="+d.tags[g].tag+"&identifier="+e+'"></iframe>';output+='    <a href="#" class="sb_main">';output+='    \t<span class="sb_left"></span>';output+='     <span class="sb_middle">'+d.tags[g].tag+"</span>";output+='     <span class="sb_right"></span>';
output+="    </a>";output+="</span>";b(c).append(output);b(".sb_tag_down.off").css({opacity:0.4})});if(i!=""){output='<span class="sb_tag">';output+='    <a href="#" class="sb_main sb_view_more_button">';output+='    \t<span class="sb_left"></span>';output+='     <span class="sb_middle">view more tags</span>';output+='     <span class="sb_right"></span>';output+="    </a>";output+="</span>";b(c).append(output)}tag_form='<iframe class="sb_tag_form_frame sb_frame_load_once" allowtransparency="true" frameborder="0" height="24" width="242" scrolling="no" src="'+
k+"/tags/form?identifier="+e+"&pre_tags="+f+'"></iframe>';c.append(tag_form);b(c).find(".sb_tag_form_frame, .sb_tag_vote_frame, .sb_rate_vote_frame").load(function(){b(this).hasClass("sb_rate_vote_frame")&&b(this).addClass("sb_on");if(b(this).hasClass("sb_frame_load_twice")){b(this).removeClass("sb_frame_load_twice");b(this).addClass("sb_frame_load_once")}else b(this).hasClass("sb_frame_load_once")?b(this).removeClass("sb_frame_load_once"):s()});w=d.authenticated?'<a href="#" class="sb_logout">logout</span>':
"";edit_link='<a class="sb_learn_more" href="#">what is this?</a>'+w+'<a class="sb_edit_tags" href="#">edit tags</a>';c.find(".sb_top").after(edit_link);u(c)}function q(c){if(!c){b("#sb_style").remove();style_id="sb_tyle";c=k+"/static/css/sb_style.css"}b("head").append('<link id="'+style_id+'" rel="stylesheet" href="'+c+'" type="text/css" />')}function z(c,e,d){var f,h,i,g,j;j=c.closest(".sb_popup_wrapper");f="";h=j.height();c.addClass("sb_loading");b.getJSON(k+"/tags/related?tag="+e+"&identifier="+
d+"&callback=?",function(n){c.removeClass("sb_loading");n.length||(f="No content was found tagged: <strong>"+e+"</strong>.");b.each(n,function(m,r){favicon="http://getfavicon.appspot.com/"+r.url;f+='<a href="'+r.url+'" target="_blank"><img src="'+favicon+'" alt="'+r.url+'" width="16" height="16" />'+r.title+"</a><br />"});b(c).html(f);if(!b(".sb_popup_wrapper").hasClass("sb_fullsize_popup")){i=j.css("top").replace(/px/,"");g=i-(j.height()-h);j.css({top:g})}})}function A(c,e){var d,f,h,i,g;g=c.closest(".sb_popup_wrapper");
d="";f=g.height();c.addClass("sb_loading");b.getJSON(k+"/tags/personal?tag="+e+"&callback=?",function(j){c.removeClass("sb_loading");j.length||(d="We couldn't find anything you've tagged with: <strong>"+e+"</strong>.");b.each(j,function(n,m){favicon="http://getfavicon.appspot.com/"+m.url;d+='<a href="'+m.url+'" target="_blank"><img src="'+favicon+'" alt="'+m.url+'" width="16" height="16" />'+m.title+"</a><br />"});b(c).html(d);if(!b(".sb_popup_wrapper").hasClass("sb_fullsize_popup")){h=g.css("top").replace(/px/,
"");i=h-(g.height()-f);g.css({top:i})}})}function B(c,e){var d,f,h,i,g;g=c.closest(".sb_popup_wrapper");d="";f=g.height();c.addClass("sb_loading");local_url=window.location.href.split("#")[0];b.getJSON(k+"/tags/local?tag="+e+"&identifier="+local_url+"&callback=?",function(j){c.removeClass("sb_loading");j.length||(d="No content was found locally on this site tagged: <strong>"+e+"</strong>.");b.each(j,function(n,m){favicon="http://getfavicon.appspot.com/"+m.url;d+='<a href="'+m.url+'" target="_blank"><img src="'+
favicon+'" alt="'+m.url+'" width="16" height="16" />'+m.title+"</a><br />"});b(c).html(d);if(!b(".sb_popup_wrapper").hasClass("sb_fullsize_popup")){h=g.css("top").replace(/px/,"");i=h-(g.height()-f);g.css({top:i})}})}var k="http://api.sonicblink.com",o=null,w="",l="",p,x=true;window.sb_show_login=function(){window.open("/login","sonicblink_login","status=no, toolbar=0, location=0, menubar=0, scrollbars=0, height=180, width=470")};b(".sb_tags a").live("click",function(c){if(!b(this).hasClass("sb_down")&&
b(this).hasClass("sb_main")&&!b(this).hasClass("sb_view_more_button")&&!b(this).hasClass("sb_view_less_button")){identifier=b(this).closest(".sb_tags").find(".sb_id").val();b(".sb_popup_wrapper").remove();popup='<div class="sb_popup_wrapper">';popup+='\t<input type="hidden" class="sb_tag_value" value="'+b.trim(b(this).text())+'" />';popup+='\t<input type="hidden" class="sb_id" value="'+identifier+'" />';popup+='\t<div class="sb_popup">';popup+='\t\t<div class="sb_close"></div>';popup+='\t\t<div class="sb_tab_wrapper">';
if(x)popup+='<a href="#" class="sb_tab sb_on_the_web sb_on">On the web</a>';popup+='\t\t\t<a href="#" class="sb_tab sb_on_this_site">On this site</a><a href="#" class="sb_tab sb_stuff_you_tagged">Stuff you tagged</a>';popup+="\t\t</div>";popup+='\t\t<div class="sb_popup_content">Loading</div>';popup+='\t\t<div class="sb_popup_arrow"></div>';popup+="\t</div>";popup+="</div>";b("body").append(popup);b(".sb_popup_wrapper").find(".sb_tab:first").click();if(b(this).closest(".sb_tags").find(".sb_show_fullsize").val()==
"yes"){b(".sb_popup_arrow, .sb_close").remove();b(".sb_popup").before('<div class="sb_tag_top"><a href="#" class="sb_return sb_close">Return to SonicBlink</a> Viewing Tag: test</div>');b(".sb_popup_wrapper").addClass("sb_fullsize_popup").addClass("sb_popup_persistant");b(".sb_popup_wrapper").css({top:"0px",left:"0px",width:"100%",height:"100%",border:"0px",padding:"0px"})}else{b(".sb_popup_wrapper").css({top:c.pageY-115+"px",left:c.pageX-110+"px"});var e=parseInt(b(".sb_popup_wrapper").css("left").replace(/px/));
if(e<0){b(".sb_popup_wrapper").css({left:"0px"});e=0}c=c.pageX-e-12;if(c<4)c=4;b(".sb_popup_arrow").css({left:c+"px"})}clearTimeout(p);b(".sb_popup_wrapper").fadeIn();return false}}).live("mouseout",function(){clearTimeout(p);b(".sb_popup_wrapper:first").hasClass("sb_popup_persistant")||(p=setTimeout(function(){b(".sb_popup_wrapper").fadeOut()},5E3))});b(".sb_popup_wrapper").live("mouseover",function(){clearTimeout(p)}).live("mouseout",function(){clearTimeout(p);b(".sb_popup_wrapper:first").hasClass("sb_popup_persistant")||
(p=setTimeout(function(){b(".sb_popup_wrapper").fadeOut()},5E3))});b("a.sb_edit_tags").live("click",function(){var c=b(this).closest(".sb_tags");c.toggleClass("sb_edit");c.find(".sb_tag").focus();u(c);return false});b.fn.sonicblink_tagform=function(c,e){q();holder=b(this);var d='<span class="sb_edit sb_tags">';d+='\t<input type="hidden" name="id" class="sb_id" value="'+c+'" />';d+='\t<input type="hidden" name="pre_tags" class="sb_pre_tags" value="'+e+'" />';d+='\t<span class="sb_tag_add">';d+='\t\t<form action="" class="submit_tag">';
d+='\t\t\t<span class="sb_tag_add_left"></span>';d+='\t\t\t<span class="sb_tag_add_middle"><input type="text" name="tag" class="sb_tag" /></span>';d+='\t\t\t<a href="#" class="sb_tag_add_main">';d+='\t\t\t\t<span class="sb_tag_add_button_left"></span>';d+='\t\t\t\t<span class="sb_tag_add_button_middle">tag</span>';d+='\t\t\t\t<span class="sb_tag_add_button_right"></span>';d+="\t\t\t</a>";d+="\t\t</form>";d+="\t</span>";d+="</span>";holder.html(d);holder.find(".sb_tag_add_main").live("click",function(){o=
b(this).closest(".sb_tag_add").find(".sb_tag_add_middle input[type=text]").val();id=b(this).closest(".sb_tags").find(".sb_id").val();e=b(this).closest(".sb_tags").find(".sb_pre_tags").val();holder=b(this).closest(".sb_tags");if(o.replace(/^\s+|\s+$/g,"")==="")return false;var f=b("input[name=_xsrf]").val();b.getJSON(k+"/tags/add?callback=?",{identifier:id,tags:o,_xsrf:f,pre_tags:e},function(h){h.status!="not-authenticated"&&window.location.reload(true)});return false});holder.find(".submit_tag").live("submit",
function(){b(this).parent().find(".sb_tag_add_main").click();return false})};b.fn.sonicblink_ratingvote=function(c,e){q();disliked_class=liked_class="";holder=b(this);if(e=="up")liked_class=" sb_on";else if(e=="down")disliked_class=" sb_on";l='\t<a href="#" class="sb_like'+liked_class+'">';l+='\t\t<span class="sb_like_left">Liked It!</span>';l+='\t    <span class="sb_like_right"></span>';l+="\t</a>";l+='\t<a href="#" class="sb_dislike'+disliked_class+'">';l+='\t\t<span class="sb_dislike_left"></span>';
l+='\t    <span class="sb_dislike_right"></span>';l+="\t</a>";l+='\t<span class="sb_like_help">Did you enjoy this?</span>';holder.html(l);b(".sb_like, .sb_dislike").hover(function(){b(".sb_like_help").show()},function(){b(".sb_like_help").hide()});b(".sb_like, .sb_dislike").live("click",function(){holder.find(".sb_like, .sb_dislike").removeClass("sb_on");var d=b(this).hasClass("sb_like")?1:-1,f=b(this);f.addClass("sb_on");var h=b("input[name=_xsrf]").val();b.getJSON(k+"/ratings/add?callback=?",{identifier:c,
rating:d,_xsrf:h},function(i){i.status!="not-authenticated"&&f.addClass("sb_on")});return false})};b.fn.sonicblink_tagvote=function(c,e,d){q();var f=b(this),h="",i="";if(d){h=" sb_on";i=" sb_off"}d='\t<span class="sb_edit">';d+='\t\t<span class="sb_tag">';d+=' \t\t<a href="#" class="sb_up'+h+'"></a>';d+=' \t\t<a href="#" class="sb_down'+i+'"></a>';d+="\t\t</span>";d+="\t</span>";f.html(d);var g=b("input[name=_xsrf]").val();f.find("a.sb_down").live("click",function(){var j=b(this);if(b(this).hasClass("sb_on"))return false;
b.getJSON("/tags/remove?callback=?",{identifier:e,tag:c,_xsrf:g},function(n){if(n.status!="not-authenticated"){j.siblings(".sb_up").removeClass("sb_on").css({opacity:0.7});j.addClass("sb_on").css({opacity:1})}});return false});f.find("a.sb_up").live("click",function(){var j=b(this);if(b(this).hasClass("sb_on"))return false;b.getJSON("/tags/add?callback=?",{identifier:e,tags:'"'+c+'"',_xsrf:g},function(n){if(n.status!="not-authenticated"){j.siblings(".sb_down").removeClass("sb_on").css({opacity:0.7});
j.addClass("sb_on").css({opacity:1})}});return false})};b.fn.sonicblink=function(c){o=b(this);style_id="custom";q(c);o.addClass("sb_tags");o.each(function(){var e=b(this),d=b(this).find("input.sb_url").val(),f=b(this).find("input.sb_pre_tags").val();if(b(this).find("input.sb_show_on_the_web").val()=="no")x=false;b.getJSON(k+"/tags/get?callback=?",{identifier:d,pre_tags:f},function(h){t(e,d,h)})});o.find("a.sb_down").live("click",function(){tag=b(this).closest(".sb_tag").find(".sb_middle").text();
id=b(this).closest(".sb_tags").find(".sb_id").val();link=b(this).closest(".sb_tag");holder=b(this).closest(".sb_tags");b.getJSON(k+"/tags/remove?callback=?",{identifier:id,tag:tag},function(e){e.status=="not-authenticated"&&v()});link.fadeOut("fast",function(){b(this).remove()});return false});o.find("a.sb_up").live("click",function(){if(b(this).hasClass("sb_on"))return false;tag=b(this).closest(".sb_tag").find(".sb_middle").text();id=b(this).closest(".sb_tags").find(".sb_id").val();link=b(this).closest(".sb_tag");
holder=b(this).closest(".sb_tags");a=b(this);link.animate({opacity:1});b.getJSON(k+"/tags/add?callback=?",{identifier:id,tags:'"'+tag+'"'},function(e){if(e.status=="not-authenticated")v();else{a.siblings(".sb_down").css({opacity:0.7});a.addClass("sb_on")}});return false})};b(".sb_tab").live("click",function(){b(this).siblings(".sb_tab").removeClass("sb_on");b(this).addClass("sb_on")});b(".sb_on_the_web").live("click",function(){var c=b(this).closest(".sb_popup_wrapper").find(".sb_tag_value").val(),
e=b(this).closest(".sb_popup_wrapper").find(".sb_id").val();z(b(".sb_popup_content"),c,e);return false});b(".sb_stuff_you_tagged").live("click",function(){var c=b(this).closest(".sb_popup_wrapper").find(".sb_tag_value").val();A(b(".sb_popup_content"),c);return false});b(".sb_on_this_site").live("click",function(){var c=b(this).closest(".sb_popup_wrapper").find(".sb_tag_value").val();B(b(".sb_popup_content"),c);return false});b(".sb_close").live("click",function(){b(this).parent().parent().fadeOut("fast",
function(){b(this).remove()});return false});b(".sb_logout").live("click",function(){y();return false});b("#stream input").live("click",function(){var c=b(this).val();b(".sb_auth a").each(function(){b(this).attr("href",b(this).attr("href").replace(/share=yes/,"share="+c).replace(/share=no/,"share="+c))})});b(".sb_view_more_button").live("click",function(){b(this).closest(".sb_tags").find(".sb_more_tags").show();b(this).addClass("sb_view_less_button").removeClass("sb_view_more_button");b(this).find(".sb_middle").text("view less tags");
return false});b(".sb_view_less_button").live("click",function(){b(this).closest(".sb_tags").find(".sb_more_tags").hide();b(this).addClass("sb_view_more_button").removeClass("sb_view_less_button");b(this).find(".sb_middle").text("view more tags");return false});b(".sb_learn_more").live("click",function(c){b(".sb_popup_wrapper").remove();popup='<div class="sb_popup_wrapper sb_popup_persistant">';popup+='\t<div class="sb_popup">';popup+='\t\t<div class="sb_close"></div>';popup+='<iframe src="http://www.sonicblink.com/video.html" width="500" height="400" margin="0" frameborder="0"></iframe>';
popup+='\t\t<div class="sb_popup_arrow"></div>';popup+="\t</div>";popup+="</div>";b("body").append(popup);b(".sb_close").css({left:"510px"});b(".sb_popup_wrapper").css({top:c.pageY-455+"px",left:c.pageX-110+"px",width:"516px",height:"420px"});var e=parseInt(b(".sb_popup_wrapper").css("left").replace(/px/));if(e<0){b(".sb_popup_wrapper").css({left:"0px"});e=0}if(parseInt(b(".sb_popup_wrapper").css("top").replace(/px/))<5){b(".sb_popup_wrapper").css({top:"5px"});b(".sb_popup_arrow").remove()}c=c.pageX-
e-12;if(c<4)c=4;b(".sb_popup_arrow").css({left:c+"px"});b(".sb_popup_wrapper").fadeIn();clearTimeout(p);return false});b("body").live("click",function(c){b(c.target).closest(".sb_popup_wrapper").length||b(".sb_popup_wrapper").fadeOut("normal",function(){b(".sb_popup_wrapper").remove()})});b(".sb_google, .sb_facebook, .sb_yahoo").live("click",function(){window.resizeTo(790,500)})})(jQuery);
