/***************************************************************************
/*
/* fluidr.js
/*  (c) fluidr.com 2009-2010 All Rights Reserved
/*
/***************************************************************************/
var gModeExplore=0;var gModeExploreYest=16;var gModeExploreWeek=32;var gModeExploreDay=48;var gModeGlobalTag=512;var gModeUser=1024;var gModeUserTag=1040;var gModeUserSet=1056;var gModeUserContacts=1072;var gModeUserFavs=1088;var gModeGroup=1536;var gModePlace=1792;var sRecent=0;var sInteresting=1;var sRandom=2;var gOutstandingReqs;var gHostname;var gLoaded;var gCurrItemIndex;var gCurrItemId;var gRequestThreshold;var gLastScrollTimeout;var gLoadingNewPage;var gZoomed;var gActionStepping;var gActionSettingSpacers;var gActionResizing;var gActionMetaToggling;var gScrollDamping;var gFXSpacersExtended;var gFXSpacerHeight;var gFXSpacerTop;var gFXSpacerBottom;var gFXDimmerVisible;var gFXDimDuration;var gFXDimmer;var gModeStepping;var gActionURLFind;var gCurrentURLSearch;var gTimeouts;var gRInitialWindowLoaded;var gRWindows;var gRWindowOrder;var gHeaderMapCreated;var gHeaderMapVisible;var gCWindow;var gAuthToken;var gAuthUserId;var gMetaVisible;var gMetaDim;var gImgBorders;var gImgBordersZoom;function _initialize(){var a=document.getElementsByTagName("body")[0];gOutstandingReqs=0;gHostname="";gCurrItemIndex=1;gCurrItemId=1;gLoaded=false;gLoadingNewPage=false;gModeStepping=false;gActionURLFind=false;gCurrentURLSearch=null;gRequestThreshold=1000;gZoomed=false;gActionStepping=false;gActionSettingSpacers=false;gActionResizing=false;gActionMetaToggling=false;gScrollDamping=false;gFXSpacersExtended=false;gFXSpacerHeight=0;gFXSpacerTop=new Element("div",{"class":"spacer"}).setStyle({height:"0px"});gFXSpacerBottom=new Element("div",{"class":"spacer"}).setStyle({height:"0px"});a.insertBefore(gFXSpacerTop,$("photos"));a.insertBefore(gFXSpacerBottom,$("footer"));gFXDimmerVisible=false;gFXDimDuration=300;gFXDimmer=new Element("div",{"class":"dimmer"}).setStyle({position:"absolute",visibility:"visible",display:"none",left:"0px"});a.appendChild(gFXDimmer);gTimeouts=new Object();gTimeouts["scroll"]=0;gRInitialWindowLoaded=false;gRWindows=[];gRWindowOrder=[];gHeaderMapCreated=false;gHeaderMapVisible=false;gCWindow=[];gMetaVisible=true;gMetaDim=false;gImgBorders=true;gImgBordersZoom=false;gAuthToken=readCookie("auth_token");gAuthUserId=readCookie("auth_userid")}function log(a){}function createCookie(a,b,c){if(c){var d=new Date();d.setTime(d.getTime()+(c*24*60*60*1000));var e="; expires="+d.toGMTString()}else{var e=""}document.cookie=a+"="+b+e+"; path=/"}function readCookie(a){var b=a+"=";var c=document.cookie.split(";");for(var i=0;i<c.length;i++){var d=c[i];while(d.charAt(0)==" "){d=d.substring(1,d.length)}if(d.indexOf(b)==0){return decodeURIComponent(d.substring(b.length,d.length))}}return null}function eraseCookie(a){createCookie(a,"",-1);createCookie(encodeURIComponent(a),"",-1)}function decrOutstandingReqs(){if(0==--gOutstandingReqs){Element.hide("progress-indicator");Element.show("progress-text")}}function incrOutstandingReqs(){if(0!=++gOutstandingReqs){Element.show("progress-indicator");Element.hide("progress-text")}}function redirectWithHistory(a){setTimeout(function(){location.href=a},0)}function getItemFlickrURLFromInfo(a){var i;for(i=0;i<a.urls.url.length;i++){if(a.urls.url[i].type=="photopage"){return a.urls.url[i]._content}}}function getItemPageURLFromInfo(a){var i;for(i=0;i<a.urls.url.length;i++){if(a.urls.url[i].type=="photopage"){var b=new RegExp("http://www.flickr.com/(.*)");var m=b.exec(a.urls.url[i]._content);return "http://www.fluidr.com/"+m[1]}}}function getOwnerPhotosURLFromInfo(a){var i;for(i=0;i<a.urls.url.length;i++){if(a.urls.url[i].type=="photopage"){var b=new RegExp("http://www.flickr.com/photos/([^/]+)/[^/]+");var m=b.exec(a.urls.url[i]._content);return "http://www.fluidr.com/photos/"+m[1]}}}function firefoxHack(){if(Element.removeClassName){Element.removeClassName($("photos"),"display-table")}}function fixPhotoDescScrollBars(a){var b=a.select(".meta-elem-desc");for(var i=0;i<b.length;i++){if(b[i].offsetHeight>250){fleXenv.fleXcrollMain(b[i])}}}function updateAllScrollBars(){var a=$("photos").select(".scrollwrapper");for(var i=0;i<a.length;i++){var b=a[i].parentNode;if(b.fleXcroll){b.scrollUpdate()}}}function fixPhotoDescLinks(a){var b=a.select(".photo-desc a");b.invoke("writeAttribute","target","_blank")}function getMonthString(a){switch(a){case 1:return "Jan";case 2:return "Feb";case 3:return "Mar";case 4:return "Apr";case 5:return "May";case 6:return "Jun";case 7:return "Jul";case 8:return "Aug";case 9:return "Sep";case 10:return "Oct";case 11:return "Nov";case 12:return "Dec"}}function getPhotoTakenDate(a){var b=a.replace(/(-|:)/g," ").split(" ");return getMonthString(parseInt(b[1],10))+" "+b[2]+", "+b[0]+" "}function getPhotoUploadedDate(a){var d=new Date();d.setTime(a*1000);return getMonthString(d.getMonth()+1)+" "+d.getDate()+", "+d.getFullYear()}function generateLocationString(a){var b="";var c="";if(a.country){c=a.country._content;b+=(c)}if(a.region&&(a.region._content!=c)){c=a.region._content;b+=(" > "+c)}if(a.county&&(a.county._content!=c)){c=a.county._content;b+=(" > "+c)}if(a.locality&&(a.locality._content!=c)){c=a.locality._content;b+=(" > "+c)}if(a.neighbourhood&&(a.neighbourhood._content!=c)){c=a.neighbourhood._content;b+=(" > "+c)}return b}function generateCopyrightInfo(a){switch(a){case 0:return "&copy; All Rights Reserved";case 1:ret='<a target="_blank" href="http://creativecommons.org/licenses/by-nc-sa/2.0/">';ret+='    <span class="photo-copyright photo-copyright-by"></span>';ret+='    <span class="photo-copyright photo-copyright-nc"></span>';ret+='    <span class="photo-copyright photo-copyright-sa"></span>';ret+="    Some Rights Reserved";ret+="</a>";return ret;case 2:ret='<a target="_blank" href="http://creativecommons.org/licenses/by-nc/2.0/">';ret+='    <span class="photo-copyright photo-copyright-by"></span>';ret+='    <span class="photo-copyright photo-copyright-nc"></span>';ret+="    Some Rights Reserved";ret+="</a>";return ret;case 3:ret='<a target="_blank" href="http://creativecommons.org/licenses/by-nc-nd/2.0/">';ret+='    <span class="photo-copyright photo-copyright-by"></span>';ret+='    <span class="photo-copyright photo-copyright-nc"></span>';ret+='    <span class="photo-copyright photo-copyright-nd"></span>';ret+="    Some Rights Reserved";ret+="</a>";return ret;case 4:ret='<a target="_blank" href="http://creativecommons.org/licenses/by/2.0/">';ret+='    <span class="photo-copyright photo-copyright-by"></span>';ret+="    Some Rights Reserved";ret+="</a>";return ret;case 5:ret='<a target="_blank" href="http://creativecommons.org/licenses/by-sa/2.0/">';ret+='    <span class="photo-copyright photo-copyright-by"></span>';ret+='    <span class="photo-copyright photo-copyright-sa"></span>';ret+="    Some Rights Reserved";ret+="</a>";return ret;case 6:ret='<a target="_blank" href="http://creativecommons.org/licenses/by-nd/2.0/">';ret+='    <span class="photo-copyright photo-copyright-by"></span>';ret+='    <span class="photo-copyright photo-copyright-nd"></span>';ret+="    Some Rights Reserved";ret+="</a>";return ret;case 7:ret='<a target="_blank" href="http://www.flickr.com/commons/usage">';ret+='    <span class="photo-copyright photo-copyright-none"></span>';ret+="    No known copyright restrictions";ret+="</a>";return ret;case 8:ret='<a target="_blank" href="http://www.usa.gov/copyright.shtml">';ret+='    <span class="photo-copyright photo-copyright-none"></span>';ret+="    United States Government Work";ret+="</a>";return ret;default:return "&copy; All Rights Reserved"}}function scrollAndCenterOnElement(a){if(window.scrollBy){var b=window.innerHeight?window.innerHeight:document.documentElement.clientHeight;element=$(a);var c=Position.cumulativeOffset(element);c[1]+=(a.offsetHeight-b)/2}window.scrollTo(c[0],c[1])}function enterSteppingMode(){gModeStepping=true;fxExtendSpacers();if(Element.addClassName){Element.addClassName($("photos"),"always-hide")}fxHideDimmer(false)}function leaveSteppingMode(){if(gModeStepping){gModeStepping=false;fxShowDimmer();emphasizeCurrentPhoto(false);fxContractSpacers();if(Element.removeClassName){Element.removeClassName($("photos"),"always-hide")}fxHideDimmer(false);updateAllScrollBars()}}function hasClassName(a,b){if(a.className){var c=a.className.split(" ");var d=b.toUpperCase();for(var i=0;i<c.length;i++){if(c[i].toUpperCase()==d){return true}}}return false}function getStyleSheet(a){var i;for(i=0;i<document.styleSheets.length;i++){if(document.styleSheets[i].href){if(document.styleSheets[i].href.indexOf(a)!=-1){return document.styleSheets[i]}}}return null}function numberFormat(x){x+="";var a=/(\d+)(\d{3})/;while(a.test(x)){x=x.replace(a,"$1,$2")}return x}function videofy(a){var b=$("a-"+a);var c=b.getAttribute("data-secret");var d=b.getAttribute("data-width_m");var e=b.getAttribute("data-height_m");var f="";f+='<object type="application/x-shockwave-flash" width="'+d+'" height="'+e+'" data="http://www.flickr.com/apps/video/stewart.swf?v=71377" classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000">';f+='   <param name="flashvars" value="intl_lang=en-us&photo_secret='+c+"&photo_id="+a+'&hd_default=false&flickr_noAutoPlay=false&onsite=true"></param>';f+='   <param name="movie" value="http://www.flickr.com/apps/video/stewart.swf?v=71377"></param>';f+='   <param name="bgcolor" value="#000000"></param>';f+='   <param name="allowFullScreen" value="true"></param>';f+='   <embed type="application/x-shockwave-flash"';f+='          src="http://www.flickr.com/apps/video/stewart.swf?v=71377"';f+='          bgcolor="#000000"';f+='          allowfullscreen="true"';f+='          flashvars="intl_lang=en-us&photo_secret='+c+"&photo_id="+a+'&hd_default=false&flickr_noAutoPlay=false&onsite=true"';f+='          height="'+e+'"';f+='          width="'+d+'">';f+="   </embed>";f+="</object>";var g=document.createElement("div");g.className="photo-panel-video";g.id="video-"+a;g.innerHTML=f;b.remove();$("photo-subpanel-"+a).appendChild(g);return false}function fxExtendSpacers(){if(!gFXSpacersExtended){gFXSpacerHeight=(window.innerHeight?window.innerHeight:document.documentElement.clientHeight);var a=gFXSpacerHeight+"px";gActionSettingSpacers=true;gFXSpacerTop.setStyle({height:a,display:"block"});gFXSpacerBottom.setStyle({height:a,display:"block"});gFXSpacersExtended=true;gActionSettingSpacers=false}}function fxContractSpacers(){if(gFXSpacersExtended){gActionSettingSpacers=true;var a=(document.documentElement.scrollTop?document.documentElement.scrollTop:document.body.scrollTop)-gFXSpacerHeight;gFXSpacerTop.setStyle({height:"0px",display:"none"});gFXSpacerBottom.setStyle({height:"0px",display:"none"});gFXSpacerHeight=0;window.scrollTo(0,a);gFXSpacersExtended=false;gActionSettingSpacers=false}}function fxPositionAndSizeDimmer(){if(gFXDimmerVisible){var a=(document.documentElement.scrollTop?document.documentElement.scrollTop:document.body.scrollTop)+"px";var b=(window.innerHeight?window.innerHeight:document.documentElement.clientHeight)+"px";var c=document.body.scrollWidth+"px";gFXDimmer.setStyle({"top":a,"height":b,"width":c})}}function fxShowDimmer(){gFXDimmer.style.display="block";gFXDimmerVisible=true;fxPositionAndSizeDimmer()}function fxHideDimmer(a){if(a){hs.animate(gFXDimmer,{opacity:0},gFXDimDuration,null,function(){hs.setStyles(gFXDimmer,{"display":"none","width":0,"height":0});gFXDimmer.setStyle({"opacity":1})})}else{gFXDimmer.setStyle({"display":"none","width":"0px","height":"0px"});gFXDimmer.setStyle({"opacity":1})}gFXDimmerVisible=false}function loadNextPage(){if((gPageLoaded==gTotalPages)&&(-1!=gTotalPages)){if($("footer")){$("footer").show()}return}gLoadingNewPage=true;if(gMode==gModeUserContacts){fetchNewContactPage()}else{if(gSort==sRandom){fetchNewRandomPage()}else{fetchNewRegularPage()}}}function displayCurrPage(){var i;var a=document.createElement("div");a.className="photos-page";for(i=0;i<gCurrPage.length;i++){gLastImage++;createPhotoHolder(a,gCurrPage[i],gLastImage)}var b=(Math.round(gLastImage/gTotalPhotos*1000)/10);$("progress").setAttribute("title",("Displaying "+gLastImage+" of "+gTotalPhotos+" items ("+b+"%)"));if(0==b){$("progress-text").innerHTML=numberFormat(gLastImage)+" of "+numberFormat(gTotalPhotos)}else{$("progress-text").innerHTML=b+"%"}$("photos").appendChild(a);gLoadingNewPage=false}function ajaj_handleIncomingContactsWindow(a){var a=a.photos;var i;for(i=0;i<gCurrPage.length;i++){a.photo.splice(gCurrPage[i]-i,1)}if(gSort==sRandom){shuffle(a.photo)}gCWindow=a.photo;gLoaded=true}function fetchNewContactPage(){gCurrPage=[];gCurrPage=gCWindow.splice(0,Math.min(gPhotosPerPage,gCWindow.length));gPageLoaded++;displayCurrPage()}function rand(n){return (Math.floor(Math.random()*n+1))}function shuffle(a){var j,b,i;for(i=a.length-1;i>1;i--){j=Math.floor(Math.random()*i);b=a[i];a[i]=a[j];a[j]=b}return a}function getNewRandomWindow(){if(0==gRWindowOrder.length){return}var a=gRWindowOrder.pop();gRWindowsUsed.push(a);gCurrentSearchParams["per_page"]=gRWindowSize;gCurrentSearchParams["page"]=a+1;flickrRequest(gCurrentSearchParams,"ajaj_handleIncomingRandomWindow",("_req-random_window-"+(a+1)))}function ajaj_handleIncomingRandomWindow(a){var a=(gMode==gModeUserSet)?a.photoset:a.photos;if(false==gRInitialWindowLoaded){var i;for(i=0;i<gCurrPage.length;i++){a.photo.splice(gCurrPage[i]-i,1)}}gRWindows.push(shuffle(a.photo));if(false==gRInitialWindowLoaded){gRInitialWindowLoaded=true;initRandom_2()}}function fetchNewRandomPage(){gCurrPage=[];var i;for(i=0;((i<gPhotosPerPage)&&(gTotalPhotos>(gLastImage+i)));i++){var a=rand(gRWindows.length)-1;var b=gRWindows[a];gCurrPage.push(b.pop());if(0==b.length){gRWindows.splice(a,1);getNewRandomWindow()}}gPageLoaded++;displayCurrPage()}function fetchNewRegularPage(){gCurrentSearchParams["page"]=gPageLoaded+1;flickrRequest(gCurrentSearchParams,"ajaj_handleIncomingPhotos",("_req-photo_page-"+(gPageLoaded+1)))}function ajaj_handleIncomingPhotos(a){gPageLoaded++;var a=(gMode==gModeUserSet)?a.photoset:a.photos;handleIncomingPhotos(a);var b=(Math.round(gLastImage/gTotalPhotos*1000)/10);$("progress").setAttribute("title",("Displaying "+gLastImage+" of "+gTotalPhotos+" items ("+b+"%)"));if(0==b){$("progress-text").innerHTML=numberFormat(gLastImage)+" of "+numberFormat(gTotalPhotos)}else{$("progress-text").innerHTML=b+"%"}gLoadingNewPage=false}function handleIncomingPhotos(a){var i;var b=a.photo;for(i=0;i<b.length;i++){if(null!=$("photo-panel-"+b[i].id)){b.splice(i,1);gTotalPhotos--}}if(b.length>0){var c=document.createElement("div");c.className="photos-page";for(i=0;i<b.length;i++){gLastImage++;createPhotoHolder(c,b[i],gLastImage)}$("photos").appendChild(c)}gTotalPages=parseInt(a.pages,10);gPageLoaded=parseInt(a.page,10)}function fetchPhotoMeta(a){var b=new Object();b["method"]="flickr.photos.getInfo";b["photo_id"]=a;flickrRequest(b,"ajaj_handleIncomingPhotoMeta",("_req-photo_meta-"+a))}function ajaj_handleIncomingPhotoMeta(a){handleIncomingPhotoMeta(a.photo.id,a)}function handleIncomingPhotoMeta(a,b){var c=b.photo;var d=(""==c.title._content)?"(untitled)":c.title._content;var e=c.owner.username;var f=document.createElement("span");f.className="photo-title";var g=document.createElement("a");g.href=getItemPageURLFromInfo(c);g.id="a-photopage-"+a;g.target="_blank";g.innerHTML=d;if(gMode<gModeGlobalTag){var h=document.createElement("span");h.className="explore-number";h.innerHTML="&#35;"+$("photo-panel-"+a).getAttribute("data-index")+" ";f.appendChild(h)}f.appendChild(g);f.appendChild(document.createElement("br"));var i=document.createElement("div");i.className="meta-elem-top";i.appendChild(f);var j=document.createElement("span");j.className="photo-owner";j.innerHTML="by ";var k=document.createElement("a");k.id="photo-owner-link-"+a;k.href=getOwnerPhotosURLFromInfo(c);k.innerHTML=e;j.appendChild(k);j.appendChild(document.createTextNode(" "));if((gMode==gModeUser)||(gMode==gModeUserTag)||(gMode==gModeUserSet)){j.style.display="none"}var l=document.createElement("span");l.className="meta-elem meta-elem-copyright";l.innerHTML=generateCopyrightInfo(parseInt(c.license,10));var m=document.createElement("div");m.className="meta-elem-creatorinfo";if(j){m.appendChild(j)}m.appendChild(l);var n=document.createElement("span");n.className="photo-stats photo-stats-views";n.title="This upload has been viewed "+c.views+" times";n.innerHTML=c.views;var o=document.createElement("span");o.className="photo-stats photo-stats-comments";o.title="This upload has  "+c.comments._content+" comments";o.innerHTML=c.comments._content;if(c.dates.taken){var p=document.createElement("span");p.className="photo-stats photo-stats-taken";p.title="Capture date";p.innerHTML=getPhotoTakenDate(c.dates.taken)}if(c.dates.posted){var q=document.createElement("span");q.className="photo-stats photo-stats-uploaded";q.title="Upload date";q.innerHTML=getPhotoUploadedDate(c.dates.posted)}if(c.location){var r=document.createElement("div");r.className="photo-geo";var s=document.createElement("a");s.href="http://www.fluidr.com/places/"+c.location.woeid;s.title="Click to view more items from this location";s.target="_blank";s.innerHTML=generateLocationString(c.location);r.appendChild(s)}var t=document.createElement("div");t.id="meta-elem-"+a;t.className="meta-elem";t.appendChild(n);t.appendChild(o);if(p){t.appendChild(p)}if(q){t.appendChild(q)}if(r){t.appendChild(r)}if(null==gAuthToken||(c.owner.nsid!=gAuthUserId)){var u=document.createElement("span");u.id="photo-fav-"+a;u.className="photo-fav"+((1==c.isfavorite)?(" photo-fav-color"):(" photo-fav-grey"));u.title=((1==c.isfavorite)?("Remove from your favorites"):("Add to your favorites"));u.onclick=function(){photoFav(a)}}if(null==gAuthToken||"1"==c.editability.cancomment){var v=document.createElement("span");v.id="photo-comment-"+a;v.className="photo-comment";v.title="Add a comment";v.onclick=function(){photoComment(a)}}if(c.location){var w=document.createElement("span");w.id="photo-map-"+a;w.className="photo-map photo-map-grey";w.title="View capture location on a map";w.setAttribute("data-lat",c.location.latitude);w.setAttribute("data-lon",c.location.longitude);w.setAttribute("data-acc",c.location.accuracy);w.onclick=function(){photoMap(a)}}if(gAuthUserId!=c.owner.nsid){var x=document.createElement("span");x.className="photo-addcontact";x.title="Add creator to your contacts";x.onclick=function(){addAsContact(c.owner.nsid)}}var y=document.createElement("a");y.id="photo-flickr-"+a;y.className="photo-flickr";y.title="View this item on Flickr";y.href=getItemFlickrURLFromInfo(c);y.target="_blank";var z=document.createElement("div");z.className="meta-elem meta-elem-actions";z.id="photo-actions-"+a;if(u){z.appendChild(u);z.appendChild(document.createTextNode(" "))}if(v){z.appendChild(v);z.appendChild(document.createTextNode(" "))}if(w){z.appendChild(w);z.appendChild(document.createTextNode(" "))}if(x){z.appendChild(x);z.appendChild(document.createTextNode(" "))}z.appendChild(y);var A=c.description._content;var B=c.tags.tag;if((0!=A.length)||(0<B.length)){if(0!=A.length){var C=new Element("p");C.className="photo-desc";A=A.replace(/(<([^a>]+)>)/ig,"");A=A.replace(/\n/g,"<br />");C.innerHTML=A}if(0<B.length){var D=new Element("p");D.className="photo-tags";var E=getOwnerPhotosURLFromInfo(c)+"/tags/";D.innerHTML="Tags:&nbsp;&nbsp;&nbsp;";for(var F=0;F<c.tags.tag.length;F++){D.innerHTML+='<a target="_blank" href="'+E+B[F]._content+'">'+B[F].raw+"</a> "}}var G=document.createElement("div");G.id="meta-elem-desc-"+a;G.className="meta-elem meta-elem-desc";if(C){G.appendChild(C)}if(D){G.appendChild(D)}var H=new Element("div");H.className="meta-elem-border";setTimeout(function(){if($("meta-elem-desc-"+a).offsetHeight>250){fleXenv.fleXcrollMain("meta-elem-desc-"+a)}},50)}var I=$("meta-subpanel-"+a);I.appendChild(i);I.appendChild(m);I.appendChild(t);I.appendChild(z);if(H){I.appendChild(H)}if(G){I.appendChild(G)}fixPhotoDescLinks(I);var J=document.createElement("div");J.className="meta-mini";J.appendChild(f.cloneNode(true));if(j){J.appendChild(j.cloneNode(true))}$("photo-subpanel-align-"+a).appendChild(J);if("photo"==c.media){fetchPhotoExif(a)}}function fetchPhotoExif(a){var b=new Object();b["method"]="flickr.photos.getExif";b["photo_id"]=a;flickrRequest(b,"ajaj_handleIncomingPhotoExif",("_req-photo_exif-"+a))}function ajaj_handleIncomingPhotoExif(a){if("ok"==a.stat&&(undefined!=a.photo.exif)){handleIncomingPhotoExif(a)}}function handleIncomingPhotoExif(a){var b=a.photo.id;var c=a.photo.exif;var d="";var e=reqApe=reqIso=reqFoc=null;var f=4;var i=0;while((i<c.length)&&(0<f)){if(null==e){if("ExposureTime"==c[i].tag){e=c[i].raw._content;f--}if(33434==c[i].tag){var g=c[i].clean._content.indexOf("(")+1;var h=c[i].clean._content.length-g-1;var j=c[i].clean._content.substr(g,h);if(1<j.split("/")[0]){e=eval(j)}else{e=j}f--}}if(null==reqApe){if("FNumber"==c[i].tag){reqApe=c[i].raw._content;f--}if(33437==c[i].tag){reqApe=(c[i].clean._content).split("/")[1];f--}}if(null==reqIso){if("ISO"==c[i].tag){reqIso=c[i].raw._content;f--}if(34855==c[i].tag){reqIso=c[i].raw._content;f--}}if(null==reqFoc){if("FocalLength"==c[i].tag){reqFoc=c[i].raw._content;f--}if(37386==c[i].tag){reqFoc=c[i].clean._content;f--}}i++}if(0==f){var g;d+=e+"s&nbsp;&nbsp;";g=reqApe.indexOf(".0");if(0<g){reqApe=reqApe.substr(0,g)}d+="&#402;/"+reqApe+"&nbsp;&nbsp;";d+="ISO "+reqIso+"&nbsp;&nbsp;";g=reqFoc.indexOf(".0 ");if(0<g){reqFoc=reqFoc.substr(0,g)+" mm"}d+="at "+reqFoc;var k=document.createElement("a");k.title="Click to view more EXIF metadata";k.href=$("a-photopage-"+b).href+"#exif";k.target="_blank";k.innerHTML=d;var l=new Element("div");l.className="photo-exif";l.appendChild(k);$("meta-elem-"+b).insert({top:l})}}function createPhotoHolder(a,b,c){var d=b.id;var e="";if("url_l" in b){e=b.url_l}else{if("url_o" in b){e=b.url_o}else{e=b.url_m}}var f=document.createElement("div");f.className="photo-panel";Element.addClassName(f,"_panel-index-"+c);f.id="photo-panel-"+d;f.setAttribute("data-index",c);var g=document.createElement("div");g.className="photo-subpanel-align";g.id="photo-subpanel-align-"+d;var h=document.createElement("div");h.className="photo-subpanel";h.id="photo-subpanel-"+d;var i=document.createElement("a");i.id="a-"+d;i.setAttribute("data-large_size",e);i.title="Click to zoom";i.target="_blank";if("photo"==b.media){i.className="highslide";i.onclick=function(){gZoomed=true;return hs.expand(this)};var j=document.createElement("div");j.className="photo-panel-img";j.id="photo-"+d;j.style.width=b.width_m+"px";j.style.height=b.height_m+"px";j.style.backgroundImage="url("+b.url_m+")";i.appendChild(j)}else{i.className="videoplay";i.setAttribute("data-secret",b.secret);i.setAttribute("data-width_m",b.width_m);i.setAttribute("data-height_m",b.height_m);i.onclick=function(){return videofy(d)};var j=document.createElement("div");j.className="photo-panel-video";j.id="photo-"+d;j.style.width=b.width_m+"px";j.style.height=b.height_m+"px";j.style.backgroundImage="url("+b.url_m+")";var k=document.createElement("img");k.className="photo-panel-play-icon";k.id="play-"+d;k.src="img/videoplay.png";k.style.top=(b.height_m-9)+"px";j.appendChild(k);i.appendChild(j)}h.appendChild(i);g.appendChild(h);var l=document.createElement("div");l.className="meta-subpanel-align";l.id="meta-subpanel-align-"+d;var m=document.createElement("div");m.className="meta-subpanel";m.id="meta-subpanel-"+d;l.appendChild(m);f.appendChild(g);f.appendChild(l);$(a).appendChild(f);fetchPhotoMeta(d)}function getCurrItemIndex(){if(gModeStepping){return}var a=(document.documentElement.scrollTop?document.documentElement.scrollTop:document.body.scrollTop);var b=new RegExp("([\\d]+)");var c=document.getElementsByClassName("photo-panel",$("photos"));for(var i=0;i<c.length;i++){var d=c[i];var e=b.exec(d.id)[0];var f=($("photo-"+e)||$("video-"+e));if(d.offsetTop+f.offsetHeight>=a){var g=d.getAttribute("class");var m=b.exec(g);var h;if(null==m){h=Math.round((a-50)/580)}else{h=m[0]}var j=e;if(h!=gCurrItemIndex){emphasizeCurrentPhoto(false);gCurrItemIndex=h}if(j!=gCurrItemId){emphasizeCurrentPhoto(false);gCurrItemId=j}break}}}function chkLoadNewPage(){if(!gLoaded||gLoadingNewPage){return}var a=window.innerHeight?window.innerHeight:document.documentElement.clientHeight;var b=document.body.scrollHeight-a-(document.documentElement.scrollTop?document.documentElement.scrollTop:document.body.scrollTop);if(b<(gRequestThreshold+gFXSpacerHeight)){loadNextPage()}}function onResize(){gActionResizing=true;fxPositionAndSizeDimmer();if(gModeStepping){var a=$("photo-"+gCurrItemId)||$("video-"+gCurrItemId);scrollAndCenterOnElement(a)}chkLoadNewPage()}function determineIfLeaveStepping(){if(gActionStepping){gActionStepping=false;return false}if(gActionResizing){gActionResizing=false;return false}if(gActionMetaToggling){gActionMetaToggling=false;return false}if(gModeStepping&&!gActionSettingSpacers&&!gActionStepping&&!gActionResizing&&!gActionMetaToggling){leaveSteppingMode();return true}}function onScroll(a){if(!Prototype.Browser.IE){if(gScrollDamping){return}gScrollDamping=true;setTimeout(function(){gScrollDamping=false},100)}if(determineIfLeaveStepping()){return cancelEvent(a)}if(gZoomed){hs.close();gZoomed=false;return cancelEvent(a)}chkLoadNewPage();clearTimeout(gTimeouts["scroll"]);gTimeouts["scroll"]=setTimeout(getCurrItemIndex,500)}function emphasizeCurrentPhoto(a){var b=document.getElementsByClassName("_panel-index-"+gCurrItemIndex)[0];if(!b){return}if(Element.addClassName){if(a){Element.addClassName(b,"always-show")}else{if(gModeStepping){var c=$("meta-elem-desc-"+gCurrItemId+"_vscrollerbar");if(c){c.style.visibility="hidden"}}Element.removeClassName(b,"always-show")}}}function selectNextItem(a){if(!gModeStepping){var b=document.getElementsByClassName("_panel-index-1")[0];if(b.offsetTop>(document.documentElement.scrollTop?document.documentElement.scrollTop:document.body.scrollTop)){return ((a>=0)?1:-1)}}return parseInt(gCurrItemIndex,10)+a}function stepThroughItems(a){var b=selectNextItem(a);if((b<1)||(b>gTotalPhotos)){leaveSteppingMode();return}if(!gModeStepping){enterSteppingMode()}emphasizeCurrentPhoto(false);var c=document.getElementsByClassName("_panel-index-"+b)[0];if(!c){return}gCurrItemIndex=b;gCurrItemId=(c.getAttribute("id").replace(/photo-panel-/,""))*1;gActionStepping=true;var d=$("photo-"+gCurrItemId)||$("video-"+gCurrItemId);scrollAndCenterOnElement(d);fxShowDimmer();emphasizeCurrentPhoto(true);updateAllScrollBars();fxHideDimmer(true);chkLoadNewPage()}function showText(a){if(a&&$("text-"+a).visible()){$("text-"+a).hide();return}$("text-link").hide();$("text-bookmarklet").hide();$("text-share").hide();$("text-about").hide();$("text-faq").hide();$("text-feedback").hide();$("text-credits").hide();scroll(0,0);if(a){$("text-"+a).show()}}function toggleOptionsFlyout(){var a=getStyleSheet("fluidr.css");var b=new Array();if(a.cssRules){b=a.cssRules}else{if(a.rules){b=a.rules}}for(i=0;i<b.length;i++){if(".options-right"==b[i].selectorText.toLowerCase()){if("inline"==b[i].style.display){b[i].style.display="none"}else{b[i].style.display="inline"}return}}}function onKeyEvent(a){if(!gLoaded){return}var b;if(!a){if(window.event){a=window.event}else{return}}if(a.target){b=a.target}else{if(a.srcElement){b=a.srcElement}else{return}}if(b.tagName.toLowerCase()=="input"||b.tagName.toLowerCase()=="textarea"){return}var c=a.which?a.which:a.keyCode;if(gZoomed){hs.close();gZoomed=false;Event.stop(a);if(c==90){return}}switch(c){case 74:case 32:case 39:stepThroughItems(1);Event.stop(a);break;case 75:case 37:stepThroughItems(-1);Event.stop(a);break;case 90:if(gModeStepping){var d=$("a-"+gCurrItemId);if(!d){return}hs.expand(d);gZoomed=true;Event.stop(a)}break;case 86:if(gModeStepping){var d=$("a-"+gCurrItemId);if(!d||("videoplay"!=d.className)){return}videofy(gCurrItemId);Event.stop(a)}break;case 67:if(gModeStepping){var d=$("photo-comment-"+gCurrItemId);if(!d){return}setMetaDisplay(true);photoComment(gCurrItemId);Event.stop(a)}break;case 70:if(gModeStepping){var d=$("photo-fav-"+gCurrItemId);if(!d){return}setMetaDisplay(true);photoFav(gCurrItemId);Event.stop(a)}break;case 68:if(gModeStepping){setMetaDisplay(!gMetaVisible);Event.stop(a)}break;case 77:if(gModeStepping){photoMap(gCurrItemId);Event.stop(a)}break;case 79:if(gModeStepping){var d=$("photo-flickr-"+gCurrItemId);if(!d){return}window.open(d.href);Event.stop(a)}break;default:if(gModeStepping){leaveSteppingMode()}}}function setFontSize(a,b){if(1==a){$("photos").style.fontSize="1.0em";if(b){createCookie("fluidr-font_size",1)}Element.removeClassName($("font-bigger"),"chosenoption");Element.addClassName($("font-smaller"),"chosenoption")}else{$("photos").style.fontSize="1.3em";if(b){createCookie("fluidr-font_size",1.3)}Element.removeClassName($("font-smaller"),"chosenoption");Element.addClassName($("font-bigger"),"chosenoption")}return false}function setImgBorders(a){if(a==gImgBorders){return false}gImgBorders=a;if(true==gImgBorders){createCookie("fluidr-img_borders","true");Element.removeClassName($("img-borders-off"),"chosenoption");Element.addClassName($("img-borders-on"),"chosenoption")}else{createCookie("fluidr-img_borders","false");Element.removeClassName($("img-borders-on"),"chosenoption");Element.addClassName($("img-borders-off"),"chosenoption")}var b=getStyleSheet("fluidr.css");var c=new Array();if(b.cssRules){c=b.cssRules}else{if(b.rules){c=b.rules}}for(i=0;i<c.length;i++){if(".photo-panel .photo-panel-img"==c[i].selectorText.toLowerCase()){if(a){c[i].style.border="1px solid #333"}else{c[i].style.border="1px solid transparent"}return}}}function setImgBordersZoom(a){if(a==gImgBordersZoom){return false}gImgBordersZoom=a;if(true==gImgBordersZoom){hs.outlineType="rounded-white";createCookie("fluidr-img_borders_zoom","true");Element.removeClassName($("img-borders-zoom-off"),"chosenoption");Element.addClassName($("img-borders-zoom-on"),"chosenoption")}else{hs.outlineType=null;createCookie("fluidr-img_borders_zoom","false");Element.removeClassName($("img-borders-zoom-on"),"chosenoption");Element.addClassName($("img-borders-zoom-off"),"chosenoption")}}function setMetaDim(a,b){if(a==gMetaDim){return false}if(Prototype.Browser.IE){return false}gMetaDim=a;if(true==gMetaDim){if(b){createCookie("fluidr-dim_meta","true")}Element.removeClassName($("meta-nodim"),"chosenoption");Element.addClassName($("meta-dim"),"chosenoption")}else{if(b){createCookie("fluidr-dim_meta","false")}Element.removeClassName($("meta-dim"),"chosenoption");Element.addClassName($("meta-nodim"),"chosenoption")}var c=getStyleSheet("fluidr.css");var d=new Array();if(c.cssRules){d=c.cssRules}else{if(c.rules){d=c.rules}}for(i=0;i<d.length;i++){if(".meta-subpanel-align"==d[i].selectorText.toLowerCase()){if(a){d[i].style.opacity="0.5"}else{d[i].style.opacity="1"}return}}}function setMetaDisplay(a,b){if(a==gMetaVisible){return false}if(Prototype.Browser.IE){return false}var c=$("photo-"+gCurrItemId)||$("video-"+gCurrItemId);gMetaVisible=a;if(true==gMetaVisible){if(b){createCookie("fluidr-show_meta","true")}Element.removeClassName($("meta-hide"),"chosenoption");Element.addClassName($("meta-show"),"chosenoption")}else{if(b){createCookie("fluidr-show_meta","false")}Element.removeClassName($("meta-show"),"chosenoption");Element.addClassName($("meta-hide"),"chosenoption")}var d=getStyleSheet("fluidr.css");var e=new Array();if(d.cssRules){e=d.cssRules}else{if(d.rules){e=d.rules}}var f=5;for(i=0;i<e.length;i++){if(".meta-mini"==e[i].selectorText.toLowerCase()){if(a){e[i].style.display="none"}else{e[i].style.display="block"}if(0==--f){break}}if(".photo-panel"==e[i].selectorText.toLowerCase()||".photo-panel .photo-panel-img"==e[i].selectorText.toLowerCase()){if(a){e[i].style.cssFloat="right";if(e[i].style.styleFloat){e[i].style.styleFloat="right"}e[i].style.marginLeft="";e[i].style.marginRight=""}else{e[i].style.cssFloat="";if(e[i].style.styleFloat){e[i].style.styleFloat=""}e[i].style.marginLeft="auto";e[i].style.marginRight="auto"}if(0==--f){break}}if(".photo-subpanel-align"==e[i].selectorText.toLowerCase()){if(a){e[i].style.textAlign="right";e[i].style.width="530px"}else{e[i].style.textAlign="center";e[i].style.width=""}if(0==--f){break}}if(".meta-subpanel-align"==e[i].selectorText.toLowerCase()){if(a){e[i].style.position="";e[i].style.left=""}else{e[i].style.position="absolute";e[i].style.left="-500px"}if(0==--f){break}}}if(0!=f){alert("Failed to change all styles!")}if(true==gModeStepping){gActionMetaToggling=true;scrollAndCenterOnElement(c)}if(gMetaVisible){updateAllScrollBars()}}function handleFavReturn(a,b,c){if("ok"==a.stat){var d=$("photo-fav-"+b);if(false==c){d.addClassName("photo-fav-color");d.removeClassName("photo-fav-inprogress");d.title="Remove from your favorites"}else{d.addClassName("photo-fav-grey");d.removeClassName("photo-fav-inprogress");d.title="Add to your favorites"}}}function photoFav(a){if(null==gAuthToken){if(confirm("You need to be logged in to add favorites. Would you like to log in now?")){redirectWithHistory("http://www.fluidr.com/auth/?login")}return false}var b=$("photo-fav-"+a);if(hasClassName(b,"photo-fav-grey")){b.addClassName("photo-fav-inprogress");b.removeClassName("photo-fav-grey");var c=new Object();c["method"]="flickr.favorites.add";c["photo_id"]=a;flickrPost(c,handleFavReturn,a,false)}else{if(hasClassName(b,"photo-fav-color")){b.addClassName("photo-fav-inprogress");b.removeClassName("photo-fav-color");var c=new Object();c["method"]="flickr.favorites.remove";c["photo_id"]=a;flickrPost(c,handleFavReturn,a,true)}else{}}return false}function photoComment(a){if(null==gAuthToken){if(confirm("You need to be logged in to add comments. Would you like to log in now?")){redirectWithHistory("http://www.fluidr.com/auth/?login")}return false}var b=$("photo-actions-"+a);if(null==b){return}if(null!=$("photo-comment-entry-"+a)){$("photo-comment-entry-"+a).remove();return}var c=document.createElement("form");c.className="photo-comment-entry";c.id="photo-comment-entry-"+a;var d=document.createElement("textarea");d.className="photo-comment-input";d.id="photo-comment-input-"+a;d.rows="6";d.tabIndex="1";var e=document.createElement("input");e.type="submit";e.value="POST COMMENT";e.className="button";e.tabIndex="2";e.onclick=function(){photoCommentPost(a);return false};var f=document.createElement("input");f.type="submit";f.value="CANCEL";f.className="button";f.tabIndex="3";f.onclick=function(){$("photo-comment-entry-"+a).remove();return false};c.appendChild(d);c.appendChild(e);c.appendChild(f);b.appendChild(c);setTimeout(function(){$("photo-comment-input-"+a).focus()},10)}function handleCommentPostReturn(a,b,c){if("ok"==a.stat){$("photo-comment-entry-"+b).remove();var d=a.comment.id;var e=$("photo-actions-"+b);var f=document.createElement("div");f.id="photo-comment-confirm-"+d;f.className="photo-comment-confirm";f.innerHTML="Comment posted successfully ";var g=document.createElement("a");g.innerHTML="undo?";g.onclick=function(){photoCommentRemove(d)};f.appendChild(g);e.appendChild(f);gTimeouts[d]=setTimeout(function(){$("photo-comment-confirm-"+d).remove();delete gTimeouts[d]},10000)}else{if(("fail"==a.stat)&&(9==a.code)){alert("You are posting comments too fast!\n\nPlease wait a while before posting any further comments. This is a restriction placed by Flickr to prevent spamming. Apologies for the inconvenience");$("photo-comment-entry-"+b).show()}else{alert("There was an error posting your comment, please try again later.");$("photo-comment-entry-"+b).show()}}$("photo-comment-"+b).addClassName("photo-comment");$("photo-comment-"+b).removeClassName("photo-comment-inprogress")}function photoCommentPost(a){var b=$("photo-comment-input-"+a).value;if(0==b.length){alert("Comment is empty! Please enter some text before attempting to add a comment.");return}var c=window.location.href.split("&")[0];b+='\n\n<em>Via <a href="';b+=c;b+='">';b+=gRefText;if(gMode<gModeGlobalTag){b+=" at &#35;"+$("photo-panel-"+a).getAttribute("data-index")}b+=" on Fluidr";b+="</a></em>";$("photo-comment-entry-"+a).hide();$("photo-comment-"+a).addClassName("photo-comment-inprogress");$("photo-comment-"+a).removeClassName("photo-comment");var d=new Object();d["method"]="flickr.photos.comments.addComment";d["photo_id"]=a;d["comment_text"]=b;flickrPost(d,handleCommentPostReturn,a,false)}function handleCommentRemoveReturn(a,b,c){if("ok"==a.stat){var d=$("photo-comment-confirm-"+b);if(null==d){alert("Couldn't find comment confirm box!")}d.innerHTML="Comment post undone";gTimeouts[b]=setTimeout(function(){$("photo-comment-confirm-"+b).remove();delete gTimeouts[b]},5000)}}function photoCommentRemove(a){clearTimeout(gTimeouts[a]);delete gTimeouts[a];var b=new Object();b["method"]="flickr.photos.comments.deleteComment";b["comment_id"]=a;flickrPost(b,handleCommentRemoveReturn,a,false)}function photoMap(a){if(!GBrowserIsCompatible()){alert("Your browser doesn't support Google Maps!\n\n Please upgrade your browser -- any version of Firefox, Safari, Chrome, Opera or Internet Explorer released in the past few years will do.");return}var b=$("photo-actions-"+a);if(null==b){return}var c=$("photo-map-"+a);if(null==c){return}if(null!=$("photo-map-display-"+a)){$("photo-map-display-"+a).remove();Element.removeClassName(c,"photo-map-selected");Element.addClassName(c,"photo-map-grey");return}var d=document.createElement("div");d.id="photo-map-display-"+a;d.className="photo-map-display";b.appendChild(d);Element.removeClassName(c,"photo-map-grey");Element.addClassName(c,"photo-map-selected");setTimeout(function(){photoMapDraw(d,c.getAttribute("data-lat"),c.getAttribute("data-lon"),c.getAttribute("data-acc"))},20)}function photoMapDraw(a,b,c,d){var e=new GLatLng(b,c);var f=new GMap2(a);var g=f.getDefaultUI();f.setCenter(e,parseInt(d,10));f.setMapType(G_PHYSICAL_MAP);f.setUI(g);f.addOverlay(new GMarker(e))}function showHeaderMap(){if(gHeaderMapCreated){if(gHeaderMapVisible){$("infobar-map").hide();$("infobar-map-toggle").innerHTML="show map";gHeaderMapVisible=false}else{$("infobar-map").show();$("infobar-map-toggle").innerHTML="hide map";gHeaderMapVisible=true}}else{$("infobar-map").show();$("infobar-map-toggle").innerHTML="hide map";gHeaderMapVisible=true;setTimeout(function(){var a=new GLatLng(gPlaceLat,gPlaceLon);var b=new GMap2($("infobar-map"));var c=b.getDefaultUI();b.setCenter(a,parseInt(gPlaceAcc,10));b.setMapType(G_PHYSICAL_MAP);b.setUI(c);b.addOverlay(new GMarker(a));gHeaderMapCreated=true},20)}}function addAsContact(a){if(null==gAuthToken){if(confirm("You need to be logged in to add contacts. Would you like to log in now?")){redirectWithHistory("http://www.fluidr.com/auth/?login")}return false}window.open("http://www.flickr.com/relationship.gne?id="+a);return false}function toggleAllTagsView(){if($("alltags").visible()){$("alltags").hide();$("alltags-link").innerHTML="(show all tags view)"}else{$("alltags").show();$("alltags-link").innerHTML="(hide all tags view)"}return false}function initRandom_1(){var i;var a=gRWindowsUsed[0];gCurrentSearchParams["per_page"]=gRWindowSize;gCurrentSearchParams["page"]=a+1;flickrRequest(gCurrentSearchParams,"ajaj_handleIncomingRandomWindow",("_req-random_window-"+(a+1)))}function initRandom_2(){var i;var a=gRWindowsUsed[0];var b=gRWindows[0];i=0;var c=gRWindowTotal-1;while(0<=c){if(c!=a){gRWindowOrder[i++]=c}c--}shuffle(gRWindowOrder);var d=Math.min(gRWindowTotal,gRWindowBufferCount);for(i=1;i<d;i++){getNewRandomWindow()}gLoaded=true}function initContacts(){flickrRequest(gCurrentSearchParams,"ajaj_handleIncomingContactsWindow","_req-contacts_window")}function initViewOptions(){setTimeout(function(){hs.outlineType=null},2000);var a,b,c=false;var d=window.location.href.split("&");for(var i=1;i<d.length;i++){var e=d[i].split("=");if("opFonts"==e[0]){if("big"==e[1]){a=true;setFontSize(1.3,false)}else{if("small"==e[1]){a=true;setFontSize(1,false)}}continue}if("opMeta"==e[0]){if("show"==e[1]){c=true;setMetaDisplay(true,false)}else{if("hide"==e[1]){c=true;setMetaDisplay(false,false)}}continue}if("opMetaDim"==e[0]){if("on"==e[1]){b=true;setMetaDim(true,false)}else{if("off"==e[1]){b=true;setMetaDim(false,false)}}continue}}var f;if((!a)&&(null!=(f=readCookie("fluidr-font_size")))){setFontSize(f,false)}if((!c)&&(null!=(f=readCookie("fluidr-show_meta")))){setMetaDisplay(("true"==f),false)}if((!b)&&(null!=(f=readCookie("fluidr-dim_meta")))){setMetaDim(("true"==f),true)}if(null!=(f=readCookie("fluidr-img_borders"))){setImgBorders("true"==f)}if(null!=(f=readCookie("fluidr-img_borders_zoom"))){setImgBordersZoom("true"==f)}}function onPageLoaded(){firefoxHack();_initialize();if($("photos")){fixPhotoDescScrollBars($("photos"));fixPhotoDescLinks($("photos"));initViewOptions()}if(gMode==gModeUserContacts){initContacts()}else{if(gSort==sRandom){initRandom_1()}else{gLoaded=true}}var a=document.getElementsByTagName("body")[0];hookEvent(window,"scroll",onScroll);hookEvent(window,"resize",onResize);addEvent(document,"keydown",onKeyEvent);hookEvent(window,"mousewheel",onScroll);hookEvent(document,"mousewheel",onScroll)}