/***************************************************************************
/*
/* msearch.js
/*  (c) fluidr.com 2009-2010 All Rights Reserved
/*
/***************************************************************************/
var gMsearchIndex=0;var gMresultMax=50;var gMsearchComplete=false;var gMsearchVisible=false;function clearChildren(a){if(a.hasChildNodes()){while(a.childNodes.length>=1){a.removeChild(a.firstChild)}}gMsearchComplete=false}function checkMultiSearchClick(e){var t=Event.element(e);if(!($("header-left")==t)&&!t.descendantOf($("header-left"))&&!($("msearch-results")==t)&&!t.descendantOf($("msearch-results"))){Event.stopObserving(document,"click",checkMultiSearchClick);$("msearch-results").hide();gMsearchVisible=false}}function handleMultiSeachButtonClick(){performMultiSearch()}function handleMultiSearchFocus(){var a=$("msearch");if(a.value=="Search"){a.value=""}if((false==gMsearchVisible)&&gMsearchComplete){Event.observe(document,"click",checkMultiSearchClick);$("msearch-results").show();gMsearchVisible=true}}function handleMultiSearchBlur(){var a=$("msearch");if(a.value==""){a.value="Search"}}function handleMultiSearch(a){if(!a){a=window.event}if(!a){return}var b=typeof (a.srcElement)!="undefined"?a.srcElement:a.target;if(!b){return}if((a.which&&(a.which==13))||(a.keyCode&&(a.keyCode==13))){performMultiSearch()}else{if((a.which&&(a.which==27))||(a.keyCode&&(a.keyCode==27))){setTimeout(function(){$("msearch").blur()},50);$("msearch-results").hide();gMsearchVisible=false}}}function performMultiSearch(){var a=$("msearch").value;if(""==a){return}clearChildren($("msearch-results"));Event.observe(document,"click",checkMultiSearchClick);createMsearchBox();$("msearch-results").show();gMsearchVisible=true;msearchUser(a);msearchGroup(a);msearchPlace(a);msearchGeneral(a);msearchTags(a);gMsearchComplete=true}function createMsearchBox(){var a=document.createElement("div");a.id="msearch-left";var b=document.createElement("div");b.id="msearch-right";var c=document.createElement("div");c.id="msearch-general";c.className="general msearch-result-box";var d=document.createElement("span");d.className="prefix";d.innerHTML="Global text search";var e=document.createElement("span");e.id="msearch-results-general";c.appendChild(d);c.appendChild(e);var f=document.createElement("div");f.id="msearch-user";f.className="user msearch-result-box  msearch-result-ajax";var g=document.createElement("span");g.className="prefix";g.innerHTML="Users";var h=document.createElement("div");h.id="msearch-progress-indicator-us";h.className="msearch-progress-indicator";f.appendChild(g);f.appendChild(h);var i=document.createElement("div");i.id="msearch-tags";i.className="tags msearch-result-box";var j=document.createElement("span");j.className="prefix";j.innerHTML="Global tags";i.appendChild(j);var k=document.createElement("div");k.id="msearch-groups";k.className="groups msearch-result-box msearch-result-ajax";var l=document.createElement("span");l.className="prefix";l.innerHTML="Groups";var m=document.createElement("div");m.id="msearch-progress-indicator-gr";m.className="msearch-progress-indicator";k.appendChild(l);k.appendChild(m);var n=document.createElement("div");n.id="msearch-places";n.className="places msearch-result-box  msearch-result-ajax";var o=document.createElement("span");o.className="prefix";o.innerHTML="Places";var p=document.createElement("div");p.id="msearch-progress-indicator-pl";p.className="msearch-progress-indicator";n.appendChild(o);n.appendChild(p);b.appendChild(f);b.appendChild(n);a.appendChild(c);a.appendChild(i);a.appendChild(k);$("msearch-results").appendChild(a);$("msearch-results").appendChild(b)}function msearchGeneral(a){var b=a.split(" ").join("+");var c=document.createElement("ul");var d=document.createElement("a");d.href="http://www.fluidr.com/search/all/"+b;d.innerHTML='<span class="desc">Search for all items matching:</span> \''+a+"'";var e=document.createElement("li");e.appendChild(d);var f=document.createElement("a");f.href="http://www.fluidr.com/search/all/"+b+"/only-photos";f.innerHTML='<span class="desc">Search for photos matching:</span> \''+a+"'";var g=document.createElement("li");g.appendChild(f);var h=document.createElement("a");h.href="http://www.fluidr.com/search/all/"+b+"/only-videos";h.innerHTML='<span class="desc">Search for videos matching:</span> \''+a+"'";var i=document.createElement("li");i.appendChild(h);c.appendChild(e);c.appendChild(g);c.appendChild(i);$("msearch-results-general").appendChild(c)}function msearchTags(a){var b=a.split(" ").join("+");if(-1==a.indexOf(",",0)){var c=document.createElement("ul");c.id="msearch-results-tag";var d=a.strip();var e=d.split(" ").join("+");var f=document.createElement("a");f.className="tagname";f.href="http://www.fluidr.com/photos/tags/"+e;f.innerHTML='<span class="desc">Search for all items tagged with:</span> '+d;var g=document.createElement("li");g.appendChild(f);c.appendChild(g);$("msearch-tags").appendChild(c)}else{var c=document.createElement("ul");c.id="msearch-results-tag";var h=a.split(",",8).invoke("strip");var i=a.split(",",8).invoke("strip").join(",").split(" ").join("+");var j=document.createElement("a");j.href="http://www.fluidr.com/photos/tags/"+i;var k=document.createElement("span");k.className="tagname";k.innerHTML='<span class="desc">Search for all items tagged with:</span> '+h[0];j.appendChild(k);for(var l=1;l<h.length;l++){var m=document.createElement("span");m.className="tag-connector";m.innerHTML="and";var k=document.createElement("span");k.className="tagname";k.innerHTML=h[l];j.appendChild(m);j.appendChild(k)}var n=document.createElement("li");n.appendChild(j);var o=document.createElement("a");o.href="http://www.fluidr.com/photos/tags/"+i+"&tagModeOr";var k=document.createElement("span");k.className="tagname";k.innerHTML='<span class="desc">Search for all items tagged with:</span> '+h[0];o.appendChild(k);for(var l=1;l<h.length;l++){var p=document.createElement("span");p.className="tag-connector";p.innerHTML="or";var k=document.createElement("span");k.className="tagname";k.innerHTML=h[l];o.appendChild(p);o.appendChild(k)}var q=document.createElement("li");q.appendChild(o);c.appendChild(n);c.appendChild(q);$("msearch-tags").appendChild(c)}}function msearchUser(a){$("msearch-user").addClassName("msearch-inprogress");var b=new Object();b["method"]="flickr.people.findByUsername";b["username"]=a;flickrRequest(b,"ajaj_handleIncomingMsearchUser",("_req-msearch-user"))}function ajaj_handleIncomingMsearchUser(a){handleIncomingMsearchUser(a)}function handleIncomingMsearchUser(a){if("fail"==a.stat){var b=document.createElement("ul");var c=document.createElement("li");c.innerHTML="No users found";b.appendChild(c);$("msearch-user").appendChild(b);$("msearch-user").removeClassName("msearch-inprogress")}else{var d=new Object();d["method"]="flickr.people.getInfo";d["user_id"]=a.user.id;flickrRequest(d,"ajaj_handleIncomingMsearchUserInfo",("_req-msearch-user-info"))}}function ajaj_handleIncomingMsearchUserInfo(a){handleIncomingMsearchUserInfo(a.person)}function handleIncomingMsearchUserInfo(a){var b=a.username._content;var c=((null==a.path_alias)?(a.id):(a.path_alias));var d=document.createElement("a");d.href="http://www.fluidr.com/photos/"+c;var e=document.createElement("div");var f=document.createElement("img");f.src="http://www.flickr.com/buddyicons/"+a.id+".jpg";e.appendChild(f);var g=document.createElement("div");g.id="msearch-user-info";var h=document.createElement("span");h.className="msearch-user-name";h.innerHTML=b;g.appendChild(h);if(a.realname._content){var i=document.createElement("span");i.className="msearch-user-fullname";i.innerHTML=" / "+a.realname._content;g.appendChild(i)}g.appendChild(document.createElement("br"));if(a.location._content){var j=document.createElement("span");j.innerHTML=a.location._content+" / ";g.appendChild(j)}var k=document.createElement("span");k.innerHTML=a.photos.count._content+" items";g.appendChild(k);e.appendChild(g);d.appendChild(e);var l=document.createElement("ul");var m=document.createElement("a");m.href="http://www.fluidr.com/photos/"+c;m.innerHTML="view all of "+b+"'s uploads";var n=document.createElement("li");n.appendChild(m);l.appendChild(n);var o=document.createElement("a");o.href="http://www.fluidr.com/photos/"+c+"/interesting";o.innerHTML="view "+b+"'s most Interesting uploads";var p=document.createElement("li");p.appendChild(o);l.appendChild(p);var q=document.createElement("a");q.href="http://www.fluidr.com/photos/"+c+"/photos-only";q.innerHTML="view "+b+"'s photo uploads";var r=document.createElement("li");r.appendChild(q);l.appendChild(r);var s=document.createElement("a");s.href="http://www.fluidr.com/photos/"+c+"/videos-only";s.innerHTML="view "+b+"'s video uploads";var t=document.createElement("li");t.appendChild(s);l.appendChild(t);var u=document.createElement("a");u.href="http://www.fluidr.com/photos/"+c+"/sets";u.innerHTML="view "+b+"'s sets";var v=document.createElement("li");v.appendChild(u);l.appendChild(v);var w=document.createElement("a");w.href="http://www.fluidr.com/photos/"+c+"/tags";w.innerHTML="view "+b+"'s tags";var x=document.createElement("li");x.appendChild(w);l.appendChild(x);var y=document.createElement("a");y.href="http://www.fluidr.com/photos/"+c+"/favorites";y.innerHTML="view "+b+"'s favorites";var z=document.createElement("li");z.appendChild(y);l.appendChild(z);var A=document.createElement("a");A.href="http://www.fluidr.com/photos/"+c+"/friends";A.innerHTML="view uploads from "+b+"'s contacts";var B=document.createElement("li");B.appendChild(A);l.appendChild(B);$("msearch-user").appendChild(d);$("msearch-user").appendChild(l);$("msearch-user").removeClassName("msearch-inprogress")}function msearchGroup(a){$("msearch-groups").addClassName("msearch-inprogress");var b=new Object();b["method"]="flickr.groups.search";b["text"]=a;b["per_page"]=50;flickrRequest(b,"ajaj_handleIncomingMsearchGroup",("_req-msearch-group"))}function ajaj_handleIncomingMsearchGroup(a){handleIncomingMsearchGroup(a)}function handleIncomingMsearchGroup(a){var b=document.createElement("ul");if(("fail"==a.stat)||(0==a.groups.total)){var c=document.createElement("li");c.innerHTML="No groups found";b.appendChild(c)}else{var g=a.groups;for(var i=0;i<g.group.length;i++){var d=document.createElement("a");d.href="http://www.fluidr.com/groups/"+g.group[i].nsid;var e=document.createElement("span");e.innerHTML=g.group[i].name;d.appendChild(e);var f=document.createElement("li");f.appendChild(d);b.appendChild(f)}}$("msearch-groups").appendChild(b);$("msearch-groups").removeClassName("msearch-inprogress")}function msearchPlace(a){$("msearch-places").addClassName("msearch-inprogress");var b=new Object();b["method"]="flickr.places.find";b["query"]=a;flickrRequest(b,"ajaj_handleIncomingMsearchPlace",("_req-msearch-place"))}function ajaj_handleIncomingMsearchPlace(a){handleIncomingMsearchPlace(a)}function handleIncomingMsearchPlace(a){var b=document.createElement("ul");if(("fail"==a.stat)||(0==a.places.total)){var c=document.createElement("li");c.innerHTML="No places found";b.appendChild(c)}else{var g=a.places;var d=Math.min(gMresultMax,g.place.length);for(var i=0;i<d;i++){var e=document.createElement("a");e.href="http://www.fluidr.com/places"+g.place[i].place_url;var f=document.createElement("span");f.innerHTML=g.place[i]._content;e.appendChild(f);var h=document.createElement("li");h.appendChild(e);b.appendChild(h)}}$("msearch-places").appendChild(b);$("msearch-places").removeClassName("msearch-inprogress")}