var TJC=new Renaissance.Application({scriptName:"Application.js",require:[],elements:{logo:"logo",container:"container",tabs:"tabs",blog:"blog",contact:"contact",resume:"resume",content:"content"},images:{photo:"./photo.jpg",rss:"./rss.gif",facebook:"./facebook.png",linkedIn:"./linkedin.png"},content:"content",blogRSSUrl:"/blog/feed/atom/",facebookUrl:"http://www.facebook.com/people/Tim_Coulter/37401216",linkedInUrl:"http://www.linkedin.com/in/timothyjcoulter",homeContent:null,blogContent:null,contactContent:null,main:function(){for(var B in this.images){var D=this.images[B];this.images[B]=new Image();this.images[B].src=D}for(var A in this.elements){this.elements[A]=document.getElementById(this.elements[A])}this.homeContent=this.elements.content.innerHTML;var C=this.createTextTabItem("<a href='#'>Home</a>");C.className="active";this.elements.home=C;this.insertTab(this.elements.home);this.captureTab(this.elements.home,Renaissance.bind(this.loadHome,this));this.captureTab(this.elements.blog,Renaissance.bind(this.loadBlog,this));this.captureTab(this.elements.contact,Renaissance.bind(this.loadContact,this))},captureTab:function(C,B){var A=C.getElementsByTagName("a")[0];A.href="#";A.onclick=B},loadHome:function(){this.loadTab(this.elements.home);this.elements.content.innerHTML=this.homeContent},loadBlog:function(){this.loadTab(this.elements.blog);this.addBlogTabItems();var A=false;if(this.blogContent==null){var B=this.Request.GET({url:this.blogRSSUrl,headers:{"Content-Type":"text/xml"},success:function(G){this.blogContent=[];try{var I=G.responseXML.getElementsByTagName("entry");for(var J=0;J<I.length;J++){var C=document.createElement("div");C.className="post";var P=I[J];var O=P.getElementsByTagName("title")[0].firstChild.nodeValue;var L=P.getElementsByTagName("link")[0].getAttribute("href");var E=P.getElementsByTagName("content")[0].firstChild.nodeValue;var D=P.getElementsByTagName("published")[0].firstChild.nodeValue;var N=this.createExternalLink(L);N.innerHTML=O;var K=document.createElement("h2");K.appendChild(N);var M=this.createToolbarForBlogPost(J,D,J<I.length-1);var H=document.createElement("div");H.innerHTML=this.stripScripts(E);H.className="data";this.alterLinkTargets(H);C.appendChild(K);C.appendChild(M);C.appendChild(H);this.blogContent.push(C)}}catch(F){this.showError("There was an error parsing the blog's rss feed. Please let Tim know.");Renaissance.Logger.log(F);this.blogContent=null;A=true}},callback:function(){this.setNotLoading()},scope:this,async:false});if(B.status<200||B.status>204){this.showError("There was an error requesting the blog's rss feed. Please let Tim know.");A=true}}if(!A){this.showBlogPost(0);this.setNotLoading()}},createToolbarForBlogPost:function(D,C,B){var E=document.createElement("span");E.className="toolbar";var A=document.createElement("a");A.href="#";A.innerHTML="< Newer";A.className="right";if(D>0){A.onclick=Renaissance.bind(function(){this.showBlogPost(D-1)},this)}else{A.disabled=true}var G=document.createElement("a");G.href="#";G.innerHTML="Older >";G.className="right";if(B){G.onclick=Renaissance.bind(function(){this.showBlogPost(D+1)},this)}else{G.disabled=true}var F=document.createElement("div");F.className="right separator";F.innerHTML=" | ";E.appendChild(G);E.appendChild(F);E.appendChild(A);E.appendChild(document.createTextNode(this.createPrettyDateString(C)));return E},showBlogPost:function(A){this.removeContent();this.elements.content.appendChild(this.blogContent[A])},loadContact:function(){this.loadTab(this.elements.contact);this.addContactTabItems();if(this.contactContent==null){this.Request.GET({url:"./contact.html",success:function(A){this.contactContent=A.responseText;this.elements.content.innerHTML=this.contactContent},failure:function(A){this.showError("Could not locate contact page. Please let Tim know.")},callback:function(){this.setNotLoading()},scope:this})}else{this.elements.content.innerHTML=this.contactContent;this.setNotLoading()}},removeCustomTabItems:function(){var B=this.elements.tabs.getElementsByTagName("li");var D=[];for(var A=0;A<B.length;A++){var C=B[A];if(C.className!="active"&&C.className!="static"){D.push(C)}}for(var A=0;A<D.length;A++){D[A].parentNode.removeChild(D[A])}},addBlogTabItems:function(){var A=this.createImageTabItem(this.blogRSSUrl,"./rss.gif");var B=this.createTextTabItem("From <a target='_blank' href='http://www.oneofthewolves.com'>oneofthewolves.com</a>");this.insertTab(B);this.insertTab(A)},addContactTabItems:function(){var C=this.createTextTabItem("Networks: ");var A=this.createImageTabItem(this.facebookUrl,"./facebook.png");var B=this.createImageTabItem(this.linkedInUrl,"./linkedin.png");this.insertTab(C);this.insertTab(A);this.insertTab(B)},removeContent:function(){while(this.elements.content.firstChild!=null){this.elements.content.removeChild(this.elements.content.firstChild)}},setLoading:function(){this.removeContent();this.elements.content.style.background=""},setNotLoading:function(){this.elements.content.style.background="none"},loadTab:function(B){this.removeCustomTabItems();for(var A=0;A<this.elements.tabs.childNodes.length;A++){var C=this.elements.tabs.childNodes[A];C.className="static"}B.className="active";this.setLoading()},insertTab:function(A){this.elements.tabs.insertBefore(A,this.elements.tabs.childNodes[0])},stripScripts:function(A){if(A==undefined){alert("asdf")}return A.replace(/<script[^<]*>.*<\/script[^<]*>/g,"")},alterLinkTargets:function(C){var A=C.getElementsByTagName("a");for(var B=0;B<A.length;B++){var D=A[B];D.target="_blank"}},createImageTabItem:function(D,E){var A=document.createElement("li");A.className="image";var C=new Image();C.src=E;var B=this.createExternalLink(D);B.appendChild(C);A.appendChild(B);return A},createTextTabItem:function(B){var A=document.createElement("li");A.className="syndication";A.innerHTML=B;return A},createExternalLink:function(B){var A=document.createElement("a");A.href=B;A.target="_blank";return A},createPrettyDateString:function(C){var B=new Date(C.replace(/T.*/,"").replace(/-/g,"/"));var D=["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"];var A=["January","February","March","April","May","June","July","August","September","October","November","December"];return D[B.getDay()]+", "+B.getDate()+" "+A[B.getMonth()]},showError:function(A){this.elements.content.innerHTML="<div class='error'>"+A+"</div>"}});TJC.Element=new Renaissance.Namespace({getLocation:function(B){var A=0;var D=0;var C;for(C=B;C;C=C.offsetParent){if(C.offsetLeft){A+=C.offsetLeft}if(C.offsetTop){D+=C.offsetTop}}return{x:A,y:D}},getInnerBounds:function(F){var A=this.getBounds(F);var D=parseInt(this.getRenderedStyle(F,"padding-left"));var C=parseInt(this.getRenderedStyle(F,"padding-right"));var J=parseInt(this.getRenderedStyle(F,"padding-top"));var B=parseInt(this.getRenderedStyle(F,"padding-bottom"));var G=parseInt(this.getRenderedStyle(F,"border-top-width"));var I=parseInt(this.getRenderedStyle(F,"border-right-width"));var E=parseInt(this.getRenderedStyle(F,"border-top-width"));var H=parseInt(this.getRenderedStyle(F,"border-bottom-width"));return{x:A.x,y:A.y,width:A.width-D-C-G-I,height:A.height-J-B-E-H}},getBounds:function(B){var D=this.getLocation(B);var C=B.offsetWidth;var A=B.offsetHeight;return{x:D.x,y:D.y,width:C,height:A}},getRenderedStyle:function(A,B){var C="";if(document.defaultView&&document.defaultView.getComputedStyle){C=document.defaultView.getComputedStyle(A,"").getPropertyValue(B)}else{if(A.currentStyle){B=B.replace(/\-(\w)/g,function(D,E){return E.toUpperCase()});C=A.currentStyle[B]}}return C}});
