// jQuery Drop Down Menu

jQuery.cookie=function(name,value,options){if(typeof value!='undefined'){options=options||{};if(value===null){value='';options.expires=-1;}
var expires='';if(options.expires&&(typeof options.expires=='number'||options.expires.toUTCString)){var date;if(typeof options.expires=='number'){date=new Date();date.setTime(date.getTime()+(options.expires*24*60*60*1000));}else{date=options.expires;}
expires='; expires='+date.toUTCString();}
var path=options.path?'; path='+options.path:'';var domain=options.domain?'; domain='+options.domain:'';var secure=options.secure?'; secure':'';document.cookie=[name,'=',encodeURIComponent(value),expires,path,domain,secure].join('');}else{var cookieValue=null;if(document.cookie&&document.cookie!=''){var cookies=document.cookie.split(';');for(var i=0;i<cookies.length;i++){var cookie=jQuery.trim(cookies[i]);if(cookie.substring(0,name.length+1)==(name+'=')){cookieValue=decodeURIComponent(cookie.substring(name.length+1));break;}}}
return cookieValue;}};jQuery(function($){$("ol.bookmarks li.operations").hide();$(".nav > li.sub > a").after('<a href="#" class="dropdown"></a>');$(".nav li.sub").addClass('subMenu');$(".nav li.sub a.dropdown").toggle(function(){$(".nav li.sub.sfHover a.dropdown").click();$(this).parent("li").addClass('sfHover').addClass('clicked');$(this).addClass('clicked');$("html").one('click',function(){$(".nav li.sub.sfHover a.dropdown").click();});},function(){$(this).parent("li").removeClass('sfHover').removeClass('clicked');$(this).removeClass('clicked');});$(".nav li.sub").hover(function(){$(this).addClass('clicked');},function(){var t=this;if($(this).attr('class').indexOf('sfHover')==-1)
setTimeout(function(){$(t).removeClass('clicked')},150);});$("ol.bookmarks li.image img").hover(function(){if($(this).parent().parent().parent().children("li.confirm").length<1)
$(this).parent().parent().prev().show();},function(){$(this).parent().parent().prev().hide();});$("ol.bookmarks li.operations").hover(function(){if($(this).is(":hidden"))$(this).show();},function(){$(this).hide();});$("li.operations a.delete").click(function(){var href=String($(this).attr('href'));href=href.substring(0,href.length-1);href=href.substring(href.lastIndexOf('/')+1,href.length);showConfirmation(this,href,deleteBookmark);return false;});$("li.operations a.block").click(function(){var href=String($(this).attr('href'));href=href.substring(0,href.length-1);href=href.substring(href.lastIndexOf('/')+1,href.length);showConfirmation(this,href,flagBookmark,"Do you think is unsafe?");return false;});$("li.operations a.moderate").click(function(){var href=String($(this).attr('href'));href=href.substring(0,href.lastIndexOf('/'));href=href.substring(href.lastIndexOf('/')+1,href.length);showConfirmation(this,href,moderateBookmark);return false;});$("li.operations a.share").click(function(){if($("ul#shareLinks a#back").length==0)$("ul#shareLinks").append('<a style="float:right;" id="back" href="#">back</a>');$("ul#shareLinks a#back").click(function(){$(this).parents("ul#shareLinks").hide();return false;});$("ul#shareLinks").show();return false;});$("a[@rel~='popup']").click(function(){window.open($(this).attr("href"),'popup','width=1024,height=600');return false;});$("h3.dropdown").hover(function(){$(this).addClass('hover');},function(){$(this).removeClass('hover');});$("h3.dropdown").click(function(){rmb=$(this).hasClass('remember');if(rmb)ckId='VISUALIZE-sidebar-'+this.id;if($(this).hasClass('bulletDown')){$(this).nextAll("ul").hide();$(this).removeClass('bulletDown').addClass('bulletLeft');if(rmb)$.cookie(ckId,'1',{path:'/'});}else{$(this).nextAll("ul").show();$(this).removeClass('bulletLeft').addClass('bulletDown');if(rmb)$.cookie(ckId,'0',{path:'/'});}
return false;});$("h3.dropdown").each(function(){rmb=$(this).hasClass('remember');if(rmb){ckId='VISUALIZE-sidebar-'+this.id;collapsed=$.cookie(ckId);}else collapsed=null;if(collapsed=='1'){$(this).nextAll("ul").hide();$(this).removeClass('bulletDown').addClass('bulletLeft');if(rmb)$.cookie(ckId,'1',{path:'/'});}else if((collapsed=='0')||(!$(this).hasClass('bulletDown')&&!$(this).hasClass('bulletLeft'))){$(this).nextAll("ul").show();$(this).removeClass('bulletLeft').addClass('bulletDown');if(rmb)$.cookie(ckId,'0',{path:'/'});}});labelText=$("#search label[@for=terms]").text();labelText=labelText.substring(0,labelText.length-2);$("#search input#terms").val(labelText);$("input#terms").focus(function(){$(this).val("").unbind("focus");});$("#mainContent > p.success, #mainContent > p.message").append('<span id="closeBtn"><a href="#">(hide)</a></span>');$("#mainContent > p.success > span > a, #mainContent > p.message > span > a").click(function(){var msgBox=$(this).parent().parent();if(msgBox.attr('id')&&msgBox.attr('id').indexOf('msg_')!=-1){$.cookie('VISUALIZE-'+msgBox.attr('id'),'disabled',{expires:1209600,path:'/'});}
msgBox.slideUp();return false;});$("#viewHTMLOptions").toggle(function(){$(this).removeClass('bulletLeft');$(this).addClass('bulletDown');$("#tagTable").slideToggle();return false;},function(){$(this).removeClass('bulletDown');$(this).addClass('bulletLeft');$("#tagTable").slideToggle();return false;});$("#clickMore").toggle(function(){$("#readMore").slideToggle();return false;},function(){$("#readMore").slideToggle();return false;});});$.ajaxSetup({error:function(xhr,status,err){alert("An error happened when processing your request.\nPlease, try refreshing");}});function showConfirmation(ele,item,f,confirmText){var link=$(ele).parents("ul");$("ol.bookmarks li.confirm").remove();if(link.children("li.confirm").length<1){if(!confirmText)confirmText="Are you sure?";var confirmDelete="<li class='confirm'>"+confirmText+" <a id='yesLink' href='#' rel='"+item+"'>Yes</a> - <a href='#' id='noLink'>No</a></li>";link.children("li.operations").hide();link.prepend(confirmDelete);link.children("li.confirm").children("a#yesLink").click(function(){f(link,item);return false;});link.children("li.confirm").children("a#noLink").click(function(){link.children("li.confirm").remove();return false;});}}
function resortThumbs(){var thumbs=$("#bookmarks li.xfolkentry");thumbs.each(function(i){$(this).removeClass('third');if(((i+1)%3)==0)$(this).addClass('third');});}
function deleteBookmark(ele,item){ele.children(".confirm").html("Deleting, please wait...");if(item.constructor.toString().indexOf(Array)==-1){var bId=String(item);var inputs={'ajax':'1','id':bId};}else var inputs={'ajax':'1','bulk':'1','id[]':item};$.ajax({type:'POST',url:"/ajaxDelete.php",data:inputs,timeout:20000,complete:function(obj,response){resortThumbs();},success:function(response){if($("result",response).text()=='true'){$(ele).children(".confirm").html("Done!").animate({opacity:1.0},3000).fadeOut('slow',function(){$(this).parent().parent('li.xfolkentry').remove();});if(inputs['bulk']=='1'){$("input[@type=checkbox].bulkCheckbox:checked").each(function(){this.checked=false;});location.reload();}}else{if(inputs['bulk']=='1')
ele.children(".confirm").html('Something went wrong! Please try refreshing');else{var link='Failed! Try <a href="%s">this link</a> instead';link=link.replace('%s','/delete/'+bId+'/');ele.children(".confirm").html(link);}}}});}
function flagBookmark(ele,item){ele.children("li.confirm").html("Flagging, please wait...");var bId=String(item);$.ajax({type:'GET',url:"/flag/image/"+bId+"/",data:{'ajax':'1'},timeout:20000,complete:function(obj,response){resortThumbs();},success:function(response){if($("result",response).text()=='true'){$(ele).children("li.confirm").css('text-transform','none').html("This image is now flagged as unsafe for you. If enough people also flag it, it will be mark as unsafe for everyone. Thanks!");$(ele).children("li.image").children('a').children("img").fadeOut('fast',function(){this.src="http://vi.sualize.us/css/images/thumbUnsafe.png";}).fadeIn('fast');;}else{var link='Failed! Try <a href="%s">this link</a> instead';link=link.replace('%s','/flag/image/'+bId+'/');ele.children("li.confirm").html(link);}}});}
function moderateBookmark(ele,item){ele.children("li.confirm").html("Moderating, please wait...");var bId=String(item);$.ajax({type:'GET',url:"/flag/image/"+bId+"/",data:{'ajax':'1','moderate':'1'},timeout:20000,complete:function(obj,response){resortThumbs();},success:function(response){if($("result",response).text()=='true'){$(ele).children("li.confirm").html("Done!").animate({opacity:1.0},3000).fadeOut('slow',function(){$(this).parent().parent('li.xfolkentry').remove();});}else{var link='Failed! Try <a href="%s">this link</a> instead';link=link.replace('%s','/flag/image/'+bId+'/?moderate=1');ele.children("li.confirm").html(link);}}});}
function htmlentities(text){text=text.replace(/'/g,'&apos;');text=text.replace(/"/g,'&quot;');return text;}
function addTags(form,successTag,success){var inputs={'ajax':'1'};$(':input',form).not("[@type=checkbox]").each(function(){inputs[this.name]=this.value;});var checkboxes=[];$('input[@type=checkbox].bulkCheckbox:checked',form).each(function(){checkboxes.push(this.value);});if(checkboxes.length>0)inputs['id[]']=checkboxes;$('input#tag',form).css('background','white url("/css/images/loading.gif") top left repeat');$.ajax({type:'POST',data:inputs,url:form.getAttribute('action'),timeout:20000,success:function(response){Array.prototype.trim=function(){var arr=new Array();for(var i=0;i<this.length;i++){arr[i]=$.trim(this[i]);}
return arr;};if($('result',response).text()=='true'){var tags=$('tags',response).text();var tagsArray=tags.split(',').trim();$(tagsArray).each(function(i){var t=String(this).replace(/[\\$*+?()=!|,{}\[\]\.^]/g,'\\$&').toLowerCase();if(t!=''){successTag(t);}});$('input#tag',form).css('background','');if(checkboxes.length>0)$('input#tag',form).val(tags);if(success!=undefined)success(form);}}});}
jQuery(function($){$("input[@type=checkbox].bulkCheckbox").each(function(){this.checked=false;});$("input[@type=checkbox].bulkCheckbox").click(bulkCheckbox).show();});function bulkCheckbox(){var checked=$("input[@type=checkbox].bulkCheckbox:checked");var n=checked.length;if(!n){$(".selected").removeClass('selected');$("#bulkMessage").slideUp('normal',function(){$(this).remove();});return;}
if(n==1)var delLink="Delete the selected image";else{var delLink="Delete the %d selected images";delLink=delLink.replace('%d',n);}
if($("#bulkMessage").length<=0){delLink='<a href="#" id="delLink">'+delLink+'</a>';addTagsLink='<a href="#" id="addTagsLink">Add tags</a>';privacyLink='<a href="#" id="privacyLink" style="color:gray;">change privacy</a>';var text='<span style="float:left;">'+delLink+' or '+addTagsLink+' or '+privacyLink+'</span>';selectAllLink='<a href="#" id="selectAllLink">all</a>';selectNoneLink='<a href="#" id="selectNoneLink">none</a>';selectUntaggedLink='<a href="#" id="selectUntaggedLink">untagged</a>';text+='<span style="float:right">(select '+selectAllLink+' | '+selectNoneLink+' | '+selectUntaggedLink+')</span>';$("#mainContent").prepend('<p style="display:none;" id="bulkMessage" class="message clear">'+text+'</p>');createBulkEvents();createDeleteEvent();createAddTagsEvent();createPrivacyEvent();$("#bulkMessage").slideDown('normal');}else{$("#bulkMessage a#delLink").html(delLink);if($("#bulkMessage span.confirm").length>0){$("#bulkMessage span.confirm").remove();$("#bulkMessage span:first").show();}}
$(this).parents('li.xfolkentry').toggleClass('selected');};function createBulkEvents(){$("#selectAllLink").click(function(){$("input[@type=checkbox].bulkCheckbox").each(function(){this.checked=true;$(this).parents('li.xfolkentry').addClass('selected');});bulkCheckbox();return false;});$("#selectNoneLink").click(function(){$("input[@type=checkbox].bulkCheckbox").each(function(){this.checked=false;$(this).parents('li.xfolkentry').removeClass('selected');});$("#bulkMessage").slideUp('normal',function(){$(this).remove();});return false;});$("#selectUntaggedLink").click(function(){var i=0;$("input[@type=checkbox].bulkCheckbox").each(function(){if($(this).hasClass('untagged')){this.checked=true;$(this).parents('li.xfolkentry').addClass('selected');i+=1;}else{this.checked=false;$(this).parents('li.xfolkentry').removeClass('selected');}});bulkCheckbox();return false;});}
function createDeleteEvent(){$("#delLink").click(function(){$("#bulkMessage span:first").hide();$("#bulkMessage").prepend('<span class="confirm" style="float:left;"></span>');var elem=$(".confirm");$(elem).html("Are you sure? "+"<a id='yesLink' href='#'>Yes</a> - "+"<a href='#' id='noLink'>No</a></li>");$(elem).children("a#yesLink").click(function(){var bIds=getbIds();deleteBookmark($("#bulkMessage"),bIds);return false;});cancelLink($(".confirm"));return false;});}
function createAddTagsEvent(){$("#addTagsLink").click(function(){$("#bulkMessage span:first").hide();var bIds=getbIds();$("#bulkMessage").prepend('<span class="confirm" style="float:left;">'+'<form id="addTag" method="post" action="/taginline/add/">'+'<input type="text" value="" id="tag" name="tag" class="txt"/>'+'<button value="add" name="add" type="submit">Add tags</button>'+' or <a href="#" id="noLink">cancel</a>'+'<p style="margin:0;" class="small">Comma separated for multple tags. E.g: photography, square format, red</p>'+'</form>'+'</span>');cancelLink($(".confirm"));$("#addTag input[@type=text]").attr('autocomplete','off').focus();$("#addTag").submit(function(){var checkboxes=$("input[@type=checkbox].bulkCheckbox:checked").clone();$(checkboxes).hide().appendTo("form#addTag");$('form#addTag input[@type=checkbox].bulkCheckbox').each(function(){this.checked=true;})
addTags(this,function(t){var tags=$("input[@type=checkbox].bulkCheckbox:checked").removeClass('untagged').parents("ul").children("li.tags").show();$("p.tagCloud",tags).prepend($('<a style="background-color:yellow" href="/tag/'+t+'" rel="tag">'+t+'</a><span>,</span>'));},function(form){$('input[@type=text]',form).hide();$('[@type=submit]',form).text("Undo changes");$(form).attr('action','/taginline/delete/').unbind('submit').append('<input type="hidden" value="delete" id="delete" name="delete" />');$('a#noLink',form).html('finish').unbind('click').click(function(){$("#selectNoneLink").click();$('a[@rel=tag]').css('background-color','transparent');return false;});});return false;});return false;});}
function createPrivacyEvent(){$("#privacyLink").click(function(){$("#bulkMessage span:first").hide();var bIds=getbIds();$("#bulkMessage").prepend('<span class="confirm" style="float:left;">'+'<form id="changePrivacy" method="post" action="/ajaxPrivacy/">'+'<select name="status" id="status">'+'<option value="" selected="selected"></option>'+'<option value="0">Public</option>'+'<option value="1">Shared with the people you watch</option>'+'<option value="2">Private</option>'+'</select>'+'<button value="add" name="add" type="submit">Change privacy</button>'+' or <a href="#" id="noLink">cancel</a>'+'<p></p>'+'</form>'+'</span>');cancelLink($(".confirm"));$("#changePrivacy").submit(function(){var checkboxes=$("input[@type=checkbox].bulkCheckbox:checked").clone();$(checkboxes).hide().appendTo("form#changePrivacy");$('form#changePrivacy input[@type=checkbox].bulkCheckbox').each(function(){this.checked=true;})});return false;});}
function cancelLink(elem){$("a#noLink",elem).click(function(){$(elem).remove();$("#bulkMessage span:first").show();return false;});}
function getbIds(){var bIds=[];$("input[@type=checkbox].bulkCheckbox:checked").each(function(){bIds.push(this.value);});return bIds;}
var tb_pathToImage="/images/loadingAnimation.gif";var TIMEOUT=9000;var imgPreloader=new Image();$(document).ready(function(){tb_init('a.thickbox');imgLoader=new Image();imgLoader.src=tb_pathToImage;});function tb_init(domChunk){$(domChunk).click(function(e){if(e.ctrlKey||e.shiftKey||e.metaKey)
return;tb_show(this);this.blur();e.preventDefault();return false;});}
function tb_show(img){try{if(typeof document.body.style.maxHeight==="undefined"){if(document.getElementById("TB_HideSelect")===null){$("body").append("<iframe id='TB_HideSelect'></iframe><div id='TB_overlay'><p>click to close</p></div><div id='TB_window'></div>");$("#TB_overlay").click(tb_remove);}}else{if(document.getElementById("TB_overlay")===null){$("body").append("<div id='TB_overlay'><p>click to close</p></div><div id='TB_window'></div>");$("#TB_overlay").click(tb_remove);}}
$("#TB_overlay").addClass("TB_overlayBG");if(img.title===null){caption="";}
else{caption=img.title;caption=caption.substring(0,caption.lastIndexOf('(fast')-1);}
$("body").append("<div id='TB_load'><img src='"+imgLoader.src+"' /><span>click to cancel loading...</span></div>");$('#TB_load').show();var baseURL;var parents=$(img).parent().parent();var refURL=$("li.title a",parents).attr('href');var url=$("li.image img",parents).attr('src');url=url.replace('m.jpg','h.jpg');if(url.indexOf("?")!==-1){baseURL=url.substr(0,url.indexOf("?"));}else{baseURL=url;}
var urlString=/\.jpg$|\.jpeg$|\.png$|\.gif$|\.bmp$/;var urlType=baseURL.toLowerCase().match(urlString);if(urlType=='.jpg'||urlType=='.jpeg'||urlType=='.png'||urlType=='.gif'||urlType=='.bmp'){var TB_NextThis,TB_PrevThis;var TB_PrevHTML="";var TB_NextHTML="";var TB_imageCount="";var TB_NavHTML="";var nextImage=parents.parent().next("li.xfolkentry");if(nextImage.length>0&&$("li.operations a.thickbox",nextImage).get(0)){TB_NextThis=$("li.operations a.thickbox",nextImage).get(0);TB_NextHTML="<a href='#' id='TB_nextLink' title='Click to go to the next picture &raquo;'></a>";}
var prevImage=parents.parent().prev("li.xfolkentry");if(prevImage.length>0&&$("li.operations a.thickbox",prevImage).get(0)){TB_PrevThis=$("li.operations a.thickbox",prevImage).get(0);TB_PrevHTML="<a href='#' id='TB_prevLink' title='&laquo; Click to go to the previous picture'></a>";}
TB_imageCount="Image %d of %d ";linksThickBox=$("a.thickbox");linksThickBox.each(function(i){if(this==img){TB_imageCount=TB_imageCount.replace('%d',(i+1));return false;}});TB_imageCount=TB_imageCount.replace('%d',linksThickBox.length);TB_NavHTML="<div id='TB_Navigation'>"+TB_PrevHTML+TB_NextHTML+"</div>";var rel='';rel=" rel='nofollow'";imgPreloader=new Image();imgPreloader.onload=function(){imgPreloader.onload=null;var imageWidth=imgPreloader.width;var imageHeight=imgPreloader.height;var pagesize=tb_getPageSize();TB_WIDTH=imageWidth>250&&imageHeight>250?imageWidth+30:500+30;TB_HEIGHT=imageHeight>250&&imageWidth>250?imageHeight+25:375+25;iFrame_WIDTH=imageWidth;iFrame_HEIGHT=$.browser.opera?imageHeight:imageHeight+20;$("#TB_iframeContent").remove();$("#TB_window").append("<img src='"+url+"' id='TB_iframeContent' />");var copyrightNotice='';$("#TB_window").append(TB_NavHTML+copyrightNotice+"<ul id='TB_caption'><li><strong>"+caption+"</strong> <span class='copyright'>&copy; Copyright <a href=\"/help/faq/#copyright\">[?]</a>: see author in the original source of this image.</span></li></ul><div id='TB_closeWindow'><a href='#' id='TB_closeWindowButton'>Close</a> or ESC Key<p>"+TB_imageCount+"</p><p></p></div>");$("#TB_closeWindowButton").click(tb_remove);$("ul#TB_caption").append($(".tags",parents).clone());if(!(TB_PrevHTML==="")){function goPrev(){if($(document).unbind("click",goPrev)){$(document).unbind("click",goPrev);}
$("#TB_window").remove();$("body").append("<div id='TB_window'></div>");tb_show(TB_PrevThis);return false;}
$("#TB_prevLink").click(goPrev);}
if(!(TB_NextHTML==="")){function goNext(){$("#TB_window").remove();$("body").append("<div id='TB_window'></div>");tb_show(TB_NextThis);return false;}
$("#TB_nextLink").click(goNext);}
document.onkeydown=function(e){if(e==null){keycode=event.keyCode;}else{keycode=e.which;}
if(keycode==27){tb_remove();}else if(keycode==190){if(!(TB_NextHTML=="")){document.onkeydown="";goNext();}}else if(keycode==188){if(!(TB_PrevHTML=="")){document.onkeydown="";goPrev();}}};tb_position();$("#TB_overlay > p").show();$("#TB_load").remove();$("#TB_window").css({display:"block"});};imgPreloader.src=url;}
document.onkeyup=function(e){if(e==null){keycode=event.keyCode;}else{keycode=e.which;}
if(keycode==27){tb_remove();}};}catch(e){alert(e);}}
function tb_showIframe(){setTimeout(function(){if(imgPreloader.onload!=null){tb_position();$("#TB_overlay > p").show();$("#TB_load").remove();$("#TB_window").css({display:"block"});}},TIMEOUT);}
function tb_remove(){$("#TB_closeWindowButton").unbind("click");$("#TB_window").fadeOut("fast",function(){$('#TB_window, #TB_overlay, #TB_HideSelect').trigger("unload").unbind().remove();});$("#TB_load").remove();document.onkeydown="";document.onkeyup="";return false;}
function tb_position(){$("#TB_window").css({"width":TB_WIDTH+'px',"height":'auto'});$("#TB_Navigation").css({"width":TB_WIDTH+'px',"height":iFrame_HEIGHT+'px'});var pagesize=tb_getPageSize();var scrollY=typeof window.pageYOffset!='undefined'?window.pageYOffset:document.documentElement.scrollTop;var scrollX=typeof window.pageXOffset!='undefined'?window.pageXOffset:document.documentElement.scrollLeft;$("#TB_window").css('marginLeft','-'+parseInt((TB_WIDTH/2),10)+'px');if(iFrame_WIDTH>=pagesize[0])$("#TB_window").css({"left":20+'px',"margin-left":"0"});var top=parseInt(scrollY+(pagesize[1]/2)-(TB_HEIGHT/2)-30,10);top=top>scrollY?top:scrollY+15;$("#TB_window").css('top',top+'px');$("#TB_overlay > p").css('top',parseInt(pagesize[1]-105)+'px');if(jQuery.browser.msie&&jQuery.browser.version<7){$("#TB_window").css('top',parseInt(top+40)+'px');$("#TB_overlay > p").css('top',parseInt(scrollY-50)+'px');}}
function tb_getPageSize(){var de=document.documentElement;var w=window.innerWidth||self.innerWidth||(de&&de.clientWidth)||document.body.clientWidth;var h=window.innerHeight||self.innerHeight||(de&&de.clientHeight)||document.body.clientHeight;arrayPageSize=[w,h];return arrayPageSize;}
