var KVD=(function(){var plugin_data={print:{type:"class",filestoget:["css/linkselect-kvd-min.css","js/jquery.linkselect.min.js"],callback:"projectsNav"},blog:{type:"class",filestoget:["css/gorillabox-kvd-min.css","js/jquery.gorillabox-min.js"],callback:"loadGorillabox"},clients:{type:"id",filestoget:["js/jquery.columnize-min.js"],callback:"clients_columnize"},recipes_recipe:{type:"id",filestoget:["js/jquery.columnize-min.js"],callback:"recipes_columnize"}},pagefunctions={home:["randomHomeImage"],print_main:["thumbHover"],logos_main:["projectsNav","thumbHover"],spaces_main:["projectsNav","thumbHover"],web_main:["projectsNav","thumbHover"],"print-project":["showHideDescription","thumbHover","projectImageNav","mainImageNav"],"logos-project":["showHideDescription","thumbHover","mainImageNav","projectImageNav"],"spaces-project":["showHideDescription","thumbHover","mainImageNav","projectImageNav"],"web-project":["showHideDescription","thumbHover","mainImageNav","projectImageNav"],recipes_main:["projectsNav","thumbHover","mainImageNav"],recipes_recipe:["projectsNav","thumbHover","mainImageNav","recipes_columnize"],blog_article:["hideCommentForm"],newsletter:["newsletterLinks"]},globalfunctions=["externalLinks"],pageId="",pageClasses=[],sitepath="",thumbs={},thumbdata={count:0,images:[],incategory:[],incategorycount:0,startshow:0,endshow:0,toshow:20},imgnav={content:[],count:0,startview:0,endview:6,current:0},loadedFiles=[],direction;function preloadHoverImages(url_title,hover_image){thumbs[url_title]=$("<img>").attr({src:hover_image,id:"hover_thumb"})}function setArrowVisibility(){if(imgnav.startview===0){$("#imgnav_previous").addClass("inactive")}else{$("#imgnav_previous").removeClass("inactive")}if(imgnav.endview===imgnav.count-1){$("#imgnav_next").addClass("inactive")}else{$("#imgnav_next").removeClass("inactive")}}function setThumbOpacity(){var arr,title;if(pageId.indexOf("project")!==-1||pageId==="recipes_recipe"){$("#thumbs img").css("opacity",".6");arr=document.title.split(" | ");title=arr[1];$('#thumbs img[alt="'+title+'"]').css({opacity:"1",borderColor:"red"})}}function backMore(){$("#thumbs").slideUp("slow",function(){var i,j;if(direction<0&&thumbdata.startshow!==0){thumbdata.startshow=thumbdata.startshow-thumbdata.toshow;thumbdata.endshow=thumbdata.endshow-thumbdata.toshow;$("#thumbs a").addClass("ishidden");for(j=thumbdata.startshow;j<thumbdata.endshow+1;j++){$(thumbdata.images[j]).parent().removeClass("ishidden")}$("#img_nav_more").addClass("active");if(thumbdata.startshow===0){$("#img_nav_back").removeClass("active")}}else{if(direction>0&&thumbdata.endshow<thumbdata.count-1){thumbdata.startshow=thumbdata.startshow+thumbdata.toshow;thumbdata.endshow=thumbdata.endshow+thumbdata.toshow;$("#thumbs a").addClass("ishidden");for(j=thumbdata.startshow;j<thumbdata.endshow+1;j++){$(thumbdata.images[j]).parent().removeClass("ishidden")}$("#img_nav_back").addClass("active");if(thumbdata.endshow>=thumbdata.count){$("#img_nav_more").removeClass("active")}}}$("#thumbs").slideDown("slow",function(){$("#sidecontent.thumbnav p.img_nav").fadeIn()})})}function changePortfolioImage(el){var href=$(el).attr("href");$("#image_nav li.number a").removeClass("current");$(el).addClass("current");$("#portfolio_image").fadeOut(function(){$("#portfolio_image").attr({src:href});$("#portfolio_image").fadeIn()});return false}function hideExcess(){var i,cat,arr,category=null,page=null,cookiecontent=Cookie.read("KVDesign");if(cookiecontent){arr=cookiecontent.split(":");category=arr[1].indexOf("all_")===-1?arr[1]:null;page=arr[0]}thumbdata.incategory=[];thumbdata.incategorycount=0;$("#thumbs li a").removeClass("hiddencategory").removeClass("ishidden");removePaginationLinks();if(pageId===page&&category){for(i=0;i<thumbdata.count;i+=1){cat=$(thumbdata.images[i]).parent().attr("rel");if(cat.indexOf(category)===-1){$(thumbdata.images[i]).parent().addClass("hiddencategory")}else{thumbdata.incategory.push(thumbdata.images[i]);thumbdata.incategorycount+=1}}if(thumbdata.incategorycount>thumbdata.toshow){for(i=thumbdata.toshow;i<thumbdata.incategorycount;i+=1){$(thumbdata.incategory[i].parent().addClass("ishidden"))}addPaginationLinks()}}else{if(thumbdata.count>thumbdata.toshow){for(i=thumbdata.toshow;i<thumbdata.count;i+=1){$(thumbdata.images[i]).parent().addClass("ishidden")}addPaginationLinks()}}}function addPaginationLinks(){$("#sidecontent.thumbnav p.img_nav").css({display:"block"});$("#img_nav_back").live("click",function(){$("#sidecontent.thumbnav p.img_nav").fadeOut("fast",function(){direction=-1;backMore()});return false});$("#img_nav_more").live("click",function(){$("#sidecontent.thumbnav p.img_nav").fadeOut("fast",function(){direction=1;backMore()});return false})}function removePaginationLinks(){$("#sidecontent.thumbnav p.img_nav").css({display:"none"})}function addCategorySelect(category){$("#sidecontent form p").css({display:"block"});if(category){$("#portfolio_sort").val(category);$("a#portfolio_sort_link").css({color:"#333"})}$("#portfolio_sort").linkselect({change:function(){setTimeout(function(){var text=$("#portfolio_sort_link").html();text=text.toLowerCase().replace(/\s/g,"_");Cookie.create("KVDesign",pageId+":"+text);$("#thumbs").slideUp(function(){hideExcess(text);$("#thumbs").slideDown()})},50)}})}function createCallback(methodName){var that=this;return function(){that[methodName]()}}function preloadImages(src){$("<img>").attr("src",src)}var Cookie={create:function(name,value,days){var expires,date;if(days){date=new Date();date.setTime(date.getTime()+(days*24*60*60*1000));expires="; expires="+date.toGMTString()}else{expires=""}document.cookie=name+"="+value+expires+"; path=/"},read:function(name){var nameEQ=name+"=",ca=document.cookie.split(";"),i,c,max=ca.length;for(i=0;i<max;i++){c=ca[i];while(c.charAt(0)===" "){c=c.substring(1,c.length)}if(c.indexOf(nameEQ)===0){return c.substring(nameEQ.length,c.length)}}return null},erase:function(name){document.cookie=name+"= ; max-age=-1; path=/"},test:function(){this.create("test","testing");if(this.read("test")==="testing"){this.erase("test");return true}else{return false}}};function setSitepath(){if(location.host.indexOf("webserver")!==-1){sitepath="http://webserver/www/kvdesign.net/"}else{sitepath="http://www.kvdesign.net/"}}function hasBeenLoaded(file){var i,max=loadedFiles.length;for(i=0;i<max;i+=1){if(file===loadedFiles[i]){return true}}return false}function create_url_title(title){var url_title=title,replace="_",trans=[[/&\#\d+?;/,""],[/&\S+?;/g,""],[/\s+/g,replace],[/\/+/g,replace],[/[^a-z0-9\-\._]/g,""],[/_+/g,replace],[/_$/g,replace],[/^_/g,replace],[/\.+$/g,""],[/\._/g,replace]],key="",r;url_title=url_title.toLowerCase();while((r=trans.shift())&&(url_title=String.prototype.replace.apply(url_title,r))){}url_title=jQuery.trim(url_title);return url_title}return{init:function(){this.getPageIdentities();this.globalLoadFunctions();this.loadPlugins();this.pageLoadFunctions()},globalLoadFunctions:function(){try{for(var i=0;i<globalfunctions.length;i++){this[globalfunctions[i]]()}}catch(ex){}},loadPlugins:function(){setSitepath();var that=this,files,filecount,filetype,filepath,callback,i,j;for(j=0;j<pageClasses.length;j++){try{files=plugin_data[pageClasses[j]].filestoget;callback=plugin_data[pageClasses[j]].callback;filecount=files.length;for(i=0;i<filecount;i++){filepath=sitepath+files[i];filetype=filepath.substr(filepath.lastIndexOf(".")+1);if(filetype==="css"){if($('link[href="'+filepath+'"]').length>0){continue}$("head").append('<link rel="stylesheet" type="text/css" href="'+filepath+'" />')}else{if(i===filecount-1){$.getScript(filepath,function(){if(callback){that[callback]()}})}else{$.getScript(filepath)}}}}catch(e1){}}try{filecount=plugin_data[pageId].filestoget.length;callback=plugin_data[pageId].callback;for(i=0;i<filecount;i++){filepath=sitepath+plugin_data[pageId].filestoget[i];filetype=filepath.substr(filepath.lastIndexOf(".")+1);if(filetype==="css"){if(hasBeenLoaded(filepath)){continue}$("head").append('<link rel="stylesheet" type="text/css" href="'+filepath+'" />');loadedFiles.push(filepath)}else{if(i===filecount-1){$.getScript(filepath,function(){if(callback){that[callback]()}})}else{$.getScript(filepath)}}}}catch(e2){}},pageLoadFunctions:function(){var f,i,j,count,className;if(pagefunctions[pageId]){try{f=pagefunctions[pageId];if(f.length>1){for(i=0;i<f.length;i++){this[f[i]]()}}else{this[f]()}}catch(e3){}}else{count=pageClasses?pageClasses.length:0;for(i=0;i<count;i++){try{className=pageClasses[i];f=pagefunctions[className];if(f.length>1){for(j=0;j<f.length;j++){this[f[j]]()}}else{this[f]()}}catch(e4){}}}},getPageIdentities:function(){pageId=$(document.body).attr("id");var pageClass=$(document.body).attr("class");pageClasses=pageClass.split(" ")},placeholder:function(){$(":text").each(function(){if($this[0]&&"placeholder" in document.createElement("input")){return}$(this).data("placeholder",$(this).attr("placeholder"))}).live("focusin",function(){if($(this).val()===$(this).data("placeholder")){$(this).val("")}}).live("focusout",function(){if($(this).val()===""){$(this).val($(this).data("placeholder"))}})},dummy:function(){},deleteCookie:function(){if(pageId!=="print-project"&&pageId!=="print_main"){Cookie.erase("KVDesign")}},loadFacebox:function(){$("a[rel=facebox]").facebox({closeImage:KVD.sitepath+"graphics/closelabel.gif"})},loadGorillabox:function(){$("a[rel=gorillabox]").gorillabox()},projectsNav:function(){var cookiecontent=Cookie.read("KVDesign"),category=null;if(cookiecontent){category=cookiecontent.split(":")[1]}thumbdata.images=$("#thumbs img").get();thumbdata.count=thumbdata.images.length;thumbdata.endshow=thumbdata.toshow-1;hideExcess(category);if(pageId==="print_main"){addCategorySelect(category)}},clients_columnize:function(){$("#clientlist").columnize({columns:3,balance:true})},recipes_columnize:function(){$("#maincontent ul").columnize({columns:2,balance:true})},randomHomeImage:function(){jQuery.ajax({url:"random.php",success:function(retval){$("#maincontent h1").css("background","url("+retval+") no-repeat 3px 0")}})},thumbHover:function(){var classname=$(document.body).attr("class");jQuery.ajax({url:sitepath+"index.php/ajaxfunctions/thumbhover",data:"class="+classname+"&entry=all",success:function(retval){retval=jQuery.trim(retval.slice(0,-1));var arr=retval.split(","),max=arr.length,i,arr2;for(i=0;i<max;i++){arr2=arr[i].split("*");arr2[0]=jQuery.trim(arr2[0]);arr2[1]=jQuery.trim(arr2[1]);preloadHoverImages(arr2[0],arr2[1])}}});$("#thumbs a").mouseover(function(){var img=this,title=$(this).attr("title"),url_title=create_url_title(title);$(this).parent().append(thumbs[url_title]);$("#hover_thumb").css("opacity","0");$("#hover_thumb").animate({opacity:1},"slow")});$("#thumbs a").mouseout(function(){$("#hover_thumb").remove()})},showHideDescription:function(){$("#maincontent div.description").css({display:"none"});$("#maincontent img").mouseover(function(){$(this).css("cursor","pointer")});$("#maincontent img").mouseout(function(){$(this).css("cursor","default")});$("#maincontent img").click(function(){$(".description").fadeIn()});$("#close_description").click(function(){$("#maincontent div.description").fadeOut();return false})},projectImageNav:function(){imgnav.content=$("#image_nav").children("li.number").get();var lis=imgnav.content,i,src;imgnav.count=lis.length;if(imgnav.count===1){$("#image_nav").css("display","none");return}if(!(jQuery.browser.msie)){for(i=imgnav.endview+1;i<lis.length;i++){$(lis[i]).css("display","none")}if(lis.length<imgnav.endview+2){$("#imgnav_previous, #imgnav_next").css("display","none")}else{$("#imgnav_previous, #imgnav_next").click(function(){KVD.changeImage(this);return false})}}for(i=1;i<lis.length;i++){src=$(lis[i]).children("a").attr("href");preloadImages(src)}if(jQuery.browser.msie){$("#image_nav a").mouseover(function(){$(this).css("background-color","#39c")});$("#image_nav a").mouseout(function(){$(this).css("background-color","#ccc")});$("#imgnav_previous, #imgnav_next").css("display","none")}},hideCommentForm:function(){$("#comment_form fieldset").css("display","none");$("#make_comment a").click(function(){$("#comment_form fieldset").slideDown();$("#comment_form h3 a:hover").css("text-decoration","none");return false})},nav_dropdown:function(){var about_pages=["bio","clients","capabilities"],portfolio_pages=["print_main","logos_main","spaces_main","print-project","logos-project","spaces-project","web-project"];$("#mainnav > li").hover(function(){$(this).children("ul").slideDown()},function(){var li_id=$(this).attr("id"),killhover=true,i;switch(li_id){case"nav_about":for(i=0;i<about_pages.length;i++){if(pageId===about_pages[i]){killhover=false;break}}break;case"nav_portfolio":for(i=0;i<portfolio_pages.length;i++){if(pageId===portfolio_pages[i]){killhover=false;break}}break}if(killhover){$(this).children("ul").slideUp()}})},externalLinks:function(){$('a[rel="external"]').live("click",function(){$(this).click(function(){var href=$(this).attr("href"),win=window.open(href,"","toolbar,menubar,status,resizable,scrollbars");return false})})},mainImageNav:function(el){if(el){changePortfolioImage(el);return false}else{$("#image_nav li.number a").click(function(){changePortfolioImage(this);return false})}},changeImage:function(el){var direction=($(el).attr("title")==="next")?1:-1;if($(el).hasClass("inactive")){return false}if(direction>0){if(imgnav.endview<imgnav.count-1){$(imgnav.content[imgnav.startview]).css({display:"none"});$(imgnav.content[imgnav.endview+1]).css({display:"inline-block"});imgnav.startview++;imgnav.endview++}}else{if(imgnav.startview>0){$(imgnav.content[imgnav.endview]).css({display:"none"});$(imgnav.content[imgnav.startview-1]).css({display:"inline-block"});imgnav.startview--;imgnav.endview--}}if(imgnav.startview>imgnav.current){}setArrowVisibility();return false},newsletterLinks:function(){$("#newsletter_archives a").click(function(){var href=$(this).attr("href");$("#newsletter_obj").attr("data",href);$("#newsletter_archives li").removeClass("current");$(this).parent().addClass("current");return false});$("#newsletter_archives ul li:first").addClass("current").css("fontWeight","bold")}}}());var timout;(function loadJS(){if(window.jQuery){clearTimeout(timout);$(document).ready(function(){KVD.init()})}else{timout=setTimeout(loadJS,30)}}());
