(function($) { /* ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ The javascript is left in the footer.php file (rather than in an external file) for ease of maintenance and accessibility within Wordpress' native backend theme editor. ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ */ /* ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ Variables set in Theme Options ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ */ //default template heightSubtract = 190; colWidth = 200; colMargin = 40; menuWidth = 0; menuMargin = 40; menuMarginLeft = 0; menuState = 'absolute'; navOffset = menuWidth + menuMargin + menuMarginLeft - (colMargin*2); lazyLoad = false; dynamicResize = true; hideChildren = true; showPathTo = true; //default: true resizeITo = 'none'; mouseWheel = false; keyNav = true; trackPos = true; //default: true autoAdvance = false; returnScroll = true; prevText = '→'; nextText = '←'; titlePos = false; retinaOn = false; retinaText = '@2x'; retinaScale = 2; //mobile template mobileOn = false; mobileresizeIToWidth = "none"; //default: "none", other options: "max", numerical value mobileresizeIToHeight = "none"; //default: "none", other options: "max", numerical value mobileVertical = 'vertical'; touchWipe = false; //default: false tapAdvance = false; //default: false //fullscreen template clickThrough = false; clickAdvance = 'forward'; showArrows = false; showmb = false; //text template pageWidth = 550; minPageWidth = 400; adaptiveScale = true; diptychMargin = 40; //default: 40, other options: numerical value triptychMargin = 40; //default: 40, other options: numerical value //slideshow template advanceSpeed = 500; slideshowClickThrough = true; //gallery template imgWidth = 225; imgMargin = 40; lightboxheight = 0.8; overviewSlideShow = false; /* ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ Detect Mobile Device ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ Function comes from insertusernamehere ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ http://stackoverflow.com/questions/11165936/how-do-i-add-iphone-ipad-detection-using-javascript ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ */ function UtilityHasTouch(){ var agent = navigator.userAgent; if(agent.match(/(iPhone|iPod|Blackberry|Android)/)){ return true; }else{ return false; } } if(mobileOn && UtilityHasTouch()){ mobile = true; }else{ mobile = false; } /* ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ Theme Templates ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ */ //mobile template if(mobile){ //reset options for mobile heightSubtract = 120; colWidth = 300; colMargin = 30; menuWidth = 60; menuMargin = 30; menuMarginLeft = 30; menuState = 'absolute'; navOffset = menuWidth + menuMargin + menuMarginLeft - (colMargin*2); lazyLoad = false; dynamicResize = true; resizeITo = 'none'; //text template pageWidth = 1000; minPageWidth = 100; //gallery template imgWidth = 150; imgMargin = 30; //slideshow slideshowClickThrough = true; /* ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ On load functions ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ */ $(document).ready(function(){ $(".wp-caption").css("width","auto"); $("#nav").hide(); $("body").attr("class","mobile"); //add menu link $("body").append $("body").append(" "); $("body").append(''); if($("#mobileNav").length > 0){ $("#mobileNav").show().appendTo("#inf"); $("#nav").hide(); }else{ $("#nav").show().appendTo("#inf"); } //setup menu functions $("#nav-toggle").click(function(){ this.classList.toggle("active"); l = $(window).scrollLeft(); if($("#fullMenu").is(":hidden")){ $("#fullMenu").stop().animate({ width: 'toggle'}); }else{ $("#fullMenu").stop().animate({ width: 'toggle'}); } }); }); } //default template if(defaultTheme){ /* ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ On load functions ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ */ $(document).ready(function(){ h = $(window).height() - heightSubtract; if(h < 250){ h = 250; } $("body").attr("id","default"); $(".wp-caption").css("width","auto"); $(".post").each(function(){ //set active $(this).find(".content").addClass(" active"); //wrap unwrapped text nodes var textnodes = getTextNodesIn($(this).find(".content")[0]); for(var i=0; i < textnodes.length; i++){ if($(textnodes[i]).parent().is(".content")){ $(textnodes[i]).wrap("
"); } } //separate images & videos $(this).find("img,iframe,video,object").not(".inColumn").each(function(i){ if($(this).parents(".wp-caption").length > 0){ $("
"); } } }); //retina replace if(retinaOn){ $("img").each(function(){ var t = $(this); var filename = $(this).attr("src"); var ext = "."+filename.substr((Math.max(0, filename.lastIndexOf(".")) || Infinity) + 1); var filesource = filename.split(ext)[0]; var retinaImage = filesource + retinaText + ext; //check if images exists $.ajax({ url:retinaImage, type:'HEAD', error: function(){ }, success: function(){ //file exists t.attr("src",retinaImage); } }); }); } //stylize links $("img").each(function(){ if($(this).parent().is("a")){ $(this).parent().css("border","0"); } }); //hide children if(hideChildren){ $("#nav").find(".children, .sub-menu").each(function(){ if($(this).parents(".current-page-parent").length < 1) $(this).hide(); }); $(".children").each(function(){ $(this).parent().find("a").eq(0).attr("href","javascript:void(0)").click(function(){ $(this).parent().find(".children").eq(0).slideToggle(); }); }); $(".sub-menu").each(function(){ $(this).parent().find("a").eq(0).attr("href","javascript:void(0)").click(function(){ $(this).parent().find(".sub-menu").eq(0).slideToggle(); }); }); $(".current_page_parent, .current_page_item, .current_menu_item").each(function(){ $(this).find("a").eq(0).addClass("selected"); }); if(showPathTo){ $(".current_page_parent, .current_page_item, .current_menu_item, .current_page_ancestor, .current-cat-parent").each(function(){ $(this).find(".children, .sub-menu").eq(0).show(); }); $(".current_page_parent, .current_page_item, .current_menu_item, .current_page_ancestor").show(); } } resizeImagesAndBodyBlog(); $(".diptych, .triptych").append("
"); $(".diptych").each(function(){ $(this).find(".ie").eq(0).css("margin-right",colMargin+"px"); }); $(".triptych").each(function(){ $(this).find(".ie").eq(0).css("margin-right",colMargin+"px"); $(this).find(".ie").eq(1).css("margin-right",colMargin+"px"); }); $("p").each(function(){ if(jQuery.trim($(this).text()) == "") $(this).remove(); }); $("#cover").fadeOut(); $("#container").animate({ "opacity":1 }); }); $(window).resize(function(){ resizeImagesAndBodyBlog(); }); function getTextNodesIn(node, includeWhitespaceNodes) { var textNodes = [], whitespace = /^\s*$/; function getTextNodes(node) { if (node.nodeType == 3) { if (includeWhitespaceNodes || !whitespace.test(node.nodeValue)) { textNodes.push(node); } }else{ for(var i = 0, len = node.childNodes.length; i < len; ++i) { getTextNodes(node.childNodes[i]); } } } getTextNodes(node); return textNodes; } function resizeImagesAndBodyBlog(){ $(".post").find("img,iframe,video,object").each(function(){ $(this).addClass("ie"); iw = $(this).attr("width"); ih = $(this).attr("height"); if(adaptiveScale && ($(window).width() - $(".post").offset().left - colMargin) <= pageWidth){ if(($(window).width() - $(".post").offset().left - colMargin) > minPageWidth){ nw = $(window).width() - $(".post").offset().left - colMargin; }else{ nw = minPageWidth; } }else{ nw = pageWidth; } if(mobileOn && UtilityHasTouch()){ nw = $(window).width() - 130; } if($(this).parents(".diptych").length > 0){ nw = (nw-diptychMargin)/2; } if($(this).parents(".triptych").length > 0){ nw = (nw-(triptychMargin*2))/3; } r = nw/iw; $(this).width(nw).height(r*ih); }); if(adaptiveScale && ($(window).width() - $(".post").offset().left - colMargin) <= pageWidth){ if(($(window).width() - $(".post").offset().left - colMargin) > minPageWidth){ pw = $(window).width() - $(".post").offset().left - colMargin; }else{ pw = minPageWidth; } }else{ pw = pageWidth; } $("#container,.post").width(pw); $("body").width(pw+$(".post").offset().left); } } //slideshow template if(slideshowTemplate){ /* ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ On load functions ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ */ $(document).ready(function(){ h = $(window).height() - heightSubtract; if(mobileOn && UtilityHasTouch()){ $("body").attr("id","default").attr("class","slideshowTemplate mobile"); }else{ $("body").attr("id","default").attr("class","slideshowTemplate"); } $(".wp-caption").css("width","auto"); //set images $(".content").find(".wp-caption").hide(); //move/reset images $(".content").find(".wp-caption").appendTo(".images"); $(".images").find(".wp-caption").eq(0).show(); //clickthrough if(slideshowClickThrough){ $(".images").find(".wp-caption").find("a").attr("href","javascript:void(0)").attr("class","clickable"); $(".images").find(".wp-caption").click(function(){ moveRightsl(); }); } //set info $(".info").width(500); //retina replace if(retinaOn){ $("img").each(function(){ var t = $(this); var filename = $(this).attr("src"); var ext = "."+filename.substr((Math.max(0, filename.lastIndexOf(".")) || Infinity) + 1); var filesource = filename.split(ext)[0]; var retinaImage = filesource + retinaText + ext; //check if images exists $.ajax({ url:retinaImage, type:'HEAD', error: function(){ }, success: function(){ //file exists t.attr("src",retinaImage); } }); }); } //stylize links $("img").each(function(){ if($(this).parent().is("a")){ $(this).parent().css("border","0"); } }); //resize images, columnize, determine width calibrateS("initial"); //hide children if(hideChildren){ $("#nav").find(".children, .sub-menu").each(function(){ if($(this).parents(".current-page-parent").length < 1) $(this).hide(); }); $(".children").each(function(){ $(this).parent().find("a").eq(0).attr("href","javascript:void(0)").click(function(){ $(this).parent().find(".children").eq(0).slideToggle(); }); }); $(".sub-menu").each(function(){ $(this).parent().find("a").eq(0).attr("href","javascript:void(0)").click(function(){ $(this).parent().find(".sub-menu").eq(0).slideToggle(); }); }); $(".current_page_parent, .current_page_item, .current_menu_item").each(function(){ $(this).find("a").eq(0).addClass("selected"); }); if(showPathTo){ $(".current_page_parent, .current_page_item, .current_menu_item, .current_page_ancestor, .current-cat-parent").each(function(){ $(this).find(".children, .sub-menu").eq(0).show(); }); $(".current_page_parent, .current_page_item, .current_menu_item, .current_page_ancestor").show(); } } $("#cover").fadeOut(); $("#container").animate({ "opacity":1 }); }); hasLoaded = 0; $(window).load(function(){ //set width $("#container").width($(".tracer").offset().left-navOffset-colMargin); $("body").width($(".tracer").offset().left); hasLoaded = 1; }); /* ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ On resize functions ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ */ $(window).resize(function(){ if(dynamicResize){ h = $(window).height() - heightSubtract; $("body, #container").width(9999999); calibrateS(); } }); /* ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ Calibrate Function ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ */ function calibrateS(type){ if(typeof(type)==='undefined') a = "secondary"; //resize images and videos $(".post").find("img,video,object,embed,iframe").each(function(){ if(resizeITo == "none"){ newHeight = h; }else if(resizeITo == "max"){ if(h > $(this).attr("height")){ newHeight = $(this).attr("height"); }else{ newHeight = h; } }else{ newHeight = resizeITo; } height = $(this).attr("height"); width = $(this).attr("width"); heightRatio = newHeight/height; $(this).height(newHeight).width(width*heightRatio); }); if(titlePos){ $(".info").css("top",h+100+"px"); } $("#container").width($(".tracer").offset().left-navOffset-colMargin); $("body").width($(".tracer").offset().left); } /* ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ Keypress Navigation ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ */ if(keyNav){ $(document).keydown(function(e){ if (e.keyCode == 37) { //left moveLeftsl(); return false; } if (e.keyCode == 39) { //right moveRightsl(); return false; } }); } /* ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ Move Functions ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ */ //initialize current position curr = 0; function moveLeftsl(){ if(curr > 0){ $(".wp-caption").eq(curr).fadeOut(advanceSpeed); $(".wp-caption").eq(curr-1).fadeIn(advanceSpeed); curr--; }else{ $(".wp-caption").eq(curr).fadeOut(advanceSpeed); $(".wp-caption").eq($(".wp-caption").length-1).fadeIn(advanceSpeed); curr = $(".wp-caption").length-1; } } function moveRightsl(){ if($(".wp-caption").eq(curr+1).length > 0){ $(".wp-caption").eq(curr).fadeOut(advanceSpeed); $(".wp-caption").eq(curr+1).fadeIn(advanceSpeed); curr++; }else{ $(".wp-caption").eq(curr).fadeOut(advanceSpeed); $(".wp-caption").eq(0).fadeIn(advanceSpeed); curr = 0; } } $("#moveLeft").click(function(){ moveLeftsl(); }); $("#moveRight").click(function(){ moveRightsl(); }); } //gallery template if(galleryTemplate){ /* ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ Onload Functions ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ */ $(document).ready(function(){ $("body").attr("id","gallery"); //if password protected if($("#pass").length > 0){ pass = true; }else{ pass = false; } if(!pass){ //move images $(".content").find("img,iframe,video,object").addClass("lbc").appendTo("#thumbs"); //assign number to images $("#thumbs").find(".lbc").each(function(i){ $(this).attr("id","lbc"+i); }); } //retina replace if(retinaOn){ $("img").each(function(){ var t = $(this); var filename = $(this).attr("src"); var ext = "."+filename.substr((Math.max(0, filename.lastIndexOf(".")) || Infinity) + 1); var filesource = filename.split(ext)[0]; var retinaImage = filesource + retinaText + ext; //check if images exists $.ajax({ url:retinaImage, type:'HEAD', error: function(){ }, success: function(){ //file exists t.attr("src",retinaImage); } }); }); } if(!galleryHome){ //lightbox lbi = 0; $(".lbc").click(function(e){ //id tidc = $(this).attr("id"); tidc = tidc.replace("lbc",""); lbi = parseInt(tidc); //reset $("#lightboximage").html(""); $("#arr").hide(); //set wh = $(window).height(); nwh = lightboxheight*wh; th = $(this).attr("height"); hr = nwh/th; tw = $(this).attr("width"); $("#lightboximage").height(nwh).width(hr*tw).css("margin","-"+nwh/2+"px 0 0 -"+(hr*tw)/2+"px"); $(this).clone().height(nwh).width(hr*tw).appendTo("#lightboximage"); //fade-in $("#lightboxbackground, #lightboximage").fadeIn(); }); //lightbox arrow $("#lightboxbackground").mousemove(function(e){ $("#arr").html("✕").css("left",e.pageX+"px").css("top",e.pageY+20+"px").show(); }); $("#lightboximage").mousemove(function(e){ if(e.pageX > $(window).width()/2){ $("#arr").html("→").css("left",e.pageX+"px").css("top",e.pageY+20+"px").show(); }else{ $("#arr").html("←").css("left",e.pageX+"px").css("top",e.pageY+20+"px").show(); } }); //lightbox actions $("#lightboxbackground").click(function(){ $("#arr,#lightboxbackground,#lightboximage").fadeOut(); }); $("#lightboximage").click(function(e){ if(e.pageX > $(window).width()/2){ if((lbi+1) < ($(".lbc").length-1)){ lbi++; setlbImage(lbi); }else{ lbi = 0; setlbImage(lbi); } }else{ if(lbi > 0){ lbi--; setlbImage(lbi); }else{ lbi = $(".lbc").length-2; setlbImage(lbi); } } if(e.pageX > $(window).width()/2){ $("#arr").html("→").css("left",e.pageX+"px").css("top",e.pageY+20+"px").show(); }else{ $("#arr").html("←").css("left",e.pageX+"px").css("top",e.pageY+20+"px").show(); } }); function setlbImage(lbiid){ //reset $("#lightboximage").html(""); $("#arr").hide(); //set wh = $(window).height(); nwh = lightboxheight*wh; th = $(".lbc").eq(lbiid).attr("height"); hr = nwh/th; tw = $(".lbc").eq(lbiid).attr("width"); $("#lightboximage").height(nwh).width(hr*tw).css("margin","-"+nwh/2+"px 0 0 -"+(hr*tw)/2+"px"); $(".lbc").eq(lbiid).clone().height(nwh).width(hr*tw).appendTo("#lightboximage"); } } //stylize links $("img").each(function(){ if($(this).parent().is("a")){ $(this).parent().css("border","0"); } }); //hide children if(hideChildren){ $("#nav").find(".children, .sub-menu").each(function(){ if($(this).parents(".current-page-parent").length < 1) $(this).hide(); }); $(".children").each(function(){ $(this).parent().find("a").eq(0).attr("href","javascript:void(0)").click(function(){ $(this).parent().find(".children").eq(0).slideToggle(); }); }); $(".sub-menu").each(function(){ $(this).parent().find("a").eq(0).attr("href","javascript:void(0)").click(function(){ $(this).parent().find(".sub-menu").eq(0).slideToggle(); }); }); $(".current_page_parent, .current_page_item, .current_menu_item").each(function(){ $(this).find("a").eq(0).addClass("selected"); }); if(showPathTo){ $(".current_page_parent, .current_page_item, .current_menu_item, .current_page_ancestor, .current-cat-parent").each(function(){ $(this).find(".children, .sub-menu").eq(0).show(); }); $(".current_page_parent, .current_page_item, .current_menu_item, .current_page_ancestor").show(); } } if(keyNav && !galleryHome){ $(document).keydown(function(e){ if($("#lightboximage").is(":visible")){ if (e.keyCode == 37) { //left if(lbi > 0){ lbi--; setlbImage(lbi); }else{ lbi = $(".lbc").length-2; setlbImage(lbi); } return false; } if (e.keyCode == 39) { //right if((lbi+1) < ($(".lbc").length-1)){ lbi++; setlbImage(lbi); }else{ lbi = 0; setlbImage(lbi); } return false; } if (e.keyCode == 27) { //esc $("#arr,#lightboxbackground,#lightboximage").fadeOut(); } } }); } galleryResize(); $("#cover").fadeOut(); $("#container").animate({ "opacity":1 }); }); $(window).resize(function(){ galleryResize(); if(!galleryHome){ wh = $(window).height(); nwh = lightboxheight*wh; th = $("#lightboximage").find(".lbc").attr("height"); hr = nwh/th; tw = $("#lightboximage").find(".lbc").attr("width"); $("#lightboximage").height(nwh).width(hr*tw).css("margin","-"+nwh/2+"px 0 0 -"+(hr*tw)/2+"px"); $("#lightboximage").find(".lbc").height(nwh).width(hr*tw); } }); function galleryResize(){ if(!pass){ if(galleryHome){ $(".removeClear").remove(); $(".thumb").width(imgWidth); $("#container").width($(window).width() - $(".thumb").eq(0).offset().left); minHeight = 0; $(".thumb").each(function(){ ti = $(this).find("img").eq(0); iw = ti.attr("width"); ih = ti.attr("height"); nw = imgWidth; r = nw/iw; nh = r*ih; if($(this).find(".info").is(":visible")) nh += $(this).find(".info").height(); nh += imgMargin; if(nh > minHeight) minHeight = nh; }); //$(".thumb").height(minHeight); $("body").width($(window).width() - (imgMargin)); }else{ $(".removeClear").remove(); $("#container").width($(window).width() - $(".post").eq(0).offset().left); perRow = Math.floor($("#container").width()/(imgWidth+imgMargin)); for(i=perRow;i<$("#thumbs img").length;i+=perRow){ $("").insertBefore($("#thumbs img").eq(i)); } $("body").width($(window).width() - (imgMargin)); } } } } //overview slideshow if(overviewSlideShow){ var isCtrl = false; $("body").append("