var PORTFOLIO_TAG_ALL=0;var PORTFOLIO_LAYOUT_GRID=0;var PORTFOLIO_LAYOUT_LIST=1;var PORTFOLIO_LAYOUT_GRID_NUM_PROJECTS_PER_PAGE=8;var PORTFOLIO_LAYOUT_LIST_NUM_PROJECTS_PER_PAGE=8;var PROJECT_SCREENSHOT_WIDTH=441;var g_MonthName=["","January","February","March","April","May","June","July","August","September","October","November","December"];var GUID_CONTACTS="9755D73C-E6E1-4AB3-AACE-74B779349764";function init(){if(!document.getElementById){return false}try{document.execCommand("BackgroundImageCache",false,true)}catch(d){}var f=["/img/ui/bg.gif","/img/ui/bg_code.gif","/img/ui/bg_fish1.jpg","/img/ui/blank.gif","/img/ui/combobox_arrow.gif","/img/ui/controls.png","/img/ui/footer_bg.gif","/img/ui/headings.png","/img/ui/icon_date.gif","/img/ui/icon_download.gif","/img/ui/icon_quote.gif","/img/ui/icon_tag.gif","/img/ui/icon_tech.gif","/img/ui/icon_url.gif","/img/ui/indicator_bar.gif","/img/ui/logo_ponticstar.png","/img/ui/msg_callout.gif","/img/ui/navbar.png","/img/ui/project_icon_medium_default.gif","/img/ui/project_icon_small_default.gif","/img/ui/round_box_base.png","/img/ui/round_box_frame.png","/img/ui/round_box_hover.png","/img/ui/round_box_odd_row.png","/img/ui/valid_css.gif","/img/ui/valid_xhtml.gif"];var a=new Array();for(b=0;b<f.length;b++){a[b]=new Image();a[b].src=f[b]}var c=$$("a.target-blank");for(var b=0;b<c.length;b++){c[b].addEvent("click",function(){window.open(this.href);return false})}if(document.getElementById("page_home")){PageHomeAddEffects()}else{if(document.getElementById("page_portfolio")){$("portfolio-controls").setStyle("display","none");PagePortfolioRequest()}else{if(document.getElementById("page_portfolio_project")){PageProjectAddEffects()}else{if(document.getElementById("page_contacts")){PageContacts()}}}}}function PageHomeAddEffects(){var a=$$("#what-we-do-best li");for(var b=0;b<a.length;b++){a[b].store("index",b);a[b].set("tween",{duration:250});a[b].addEvent("mouseenter",function(){this.addClass("hover");for(var c=0;c<a.length;c++){if(this.retrieve("index")!=c){a[c].fade("0.3")}}});a[b].addEvent("mouseleave",function(){this.removeClass("hover");for(var c=0;c<a.length;c++){a[c].fade("1")}})}}var g_xmlPortfolio=null;var g_Tags=new Array;var g_ProjectsAll=new Array;var g_Projects=new Array;var g_ProjectTags=new Array;function PagePortfolioRequest(){var a=new Request({method:"get",url:"/portfolio/portfolio.xml"});a.success=function(c,b){g_xmlPortfolio=b;PagePortfolioOnRequestSuccess()};a.failure=function(){$("portfolio").set("html","Request has failed")};a.send()}function PagePortfolioOnRequestSuccess(){var d=g_xmlPortfolio.getElementsByTagName("project");for(var e=0;e<d.length;e++){g_ProjectsAll.push(d[e])}RadioBtn_Enable("portfolio-ctrl-layout",0,PagePortfolioOnLayoutSelect);ComboBox_Enable("portfolio-ctrl-tag");var j=g_xmlPortfolio.getElementsByTagName("tag");var f=new Object;for(var e=0;e<j.length;e++){var g=j[e].firstChild.nodeValue;g=g.trim();if(!f[g]){f[g]=1}else{f[g]=f[g]+1}}var a=new Array;for(var g in f){g_Tags[g_Tags.length]=g;a[a.length]=g+" (<strong>"+f[g]+"</strong>)"}a.sort();a.unshift("All projects (<strong>"+d.length+"</strong>)");g_Tags.sort();g_Tags.unshift("All projects");for(var e=0;e<g_ProjectsAll.length;e++){var h=g_ProjectsAll[e];g_ProjectTags[e]=new Array;var j=h.getElementsByTagName("tag");for(var c=0;c<j.length;c++){var g=j[c].firstChild.nodeValue;g=g.trim();for(var b=0;b<g_Tags.length;b++){if(g==g_Tags[b]){g_ProjectTags[e][b]=true;break}}}}ComboBox_SetItems("portfolio-ctrl-tag",a,0,PagePortfolioOnTagSelect);PagePortfolioSwitchLayout();PagePortfolioFilter();$("portfolio-controls").setStyle("display","block");PagePortfolioDisplay()}function PagePortfolioSwitchLayout(){PagePortfolioCalcNumPages()}function PagePortfolioOnLayoutSelect(){Cookie.write("portfolio-ctrl-page",0);PagePortfolioSwitchLayout();PagePortfolioDisplay()}function PagePortfolioOnPageSelect(){PagePortfolioDisplay()}function PagePortfolioFilter(){var d=Cookie.read("portfolio-ctrl-layout");if(d===null){d==PORTFOLIO_LAYOUT_GRID}else{d=Number(d)}var c=Cookie.read("portfolio-ctrl-tag");if(c===null){c=PORTFOLIO_TAG_ALL}else{c=Number(c)}var b=g_Tags[c];g_Projects=[];if(c!=PORTFOLIO_TAG_ALL){for(var a=0;a<g_ProjectsAll.length;a++){if(g_ProjectTags[a][c]){g_Projects.push(g_ProjectsAll[a])}}}else{g_Projects=g_ProjectsAll}PagePortfolioCalcNumPages()}function PagePortfolioCalcNumPages(){var d=Cookie.read("portfolio-ctrl-layout");if(d===null){d==PORTFOLIO_LAYOUT_GRID}else{d=Number(d)}if(d==PORTFOLIO_LAYOUT_GRID){var c=Math.ceil(g_Projects.length/PORTFOLIO_LAYOUT_GRID_NUM_PROJECTS_PER_PAGE);if(c==1){$("portfolio-ctrl-page").setStyle("display","none")}else{$("portfolio-ctrl-page").setStyle("display","block");var a='<h3 id="portfolio-ctrl-page-heading"><span class="hidden">Page:</span></h3>';a+="<ul>";for(var b=1;b<=c;b++){a+='<li class="page'+b+'"><span><em class="hidden">'+b+"</em></span></li>"}a+="</ul>";$("portfolio-ctrl-page").set("html",a);RadioBtn_Enable("portfolio-ctrl-page",0,PagePortfolioOnPageSelect)}}else{$("portfolio-ctrl-page").setStyle("display","none")}}function PagePortfolioOnTagSelect(){Cookie.write("portfolio-ctrl-page",0);PagePortfolioFilter();PagePortfolioDisplay()}function PagePortfolioDisplay(){if(!g_xmlPortfolio){PagePortfolioRequest()}var c=Cookie.read("portfolio-ctrl-layout");if(c===null){c==PORTFOLIO_LAYOUT_GRID}else{c=Number(c)}var d=Cookie.read("portfolio-ctrl-page");if(d===null){d=0}else{d=Number(d)}var h=(d)*PORTFOLIO_LAYOUT_GRID_NUM_PROJECTS_PER_PAGE;var q=(d+1)*PORTFOLIO_LAYOUT_GRID_NUM_PROJECTS_PER_PAGE;if(q>g_Projects.length){q=g_Projects.length}if(c===PORTFOLIO_LAYOUT_LIST){h=0;q=g_Projects.length}var g;if(c==PORTFOLIO_LAYOUT_GRID){g='<ul class="grid">'}else{g='<ul class="list" start="'+(h+1)+'">'}for(var n=h;n<q;n++){var b=g_Projects[n];var v=b.getAttribute("href");if(!v){continue}if(v.substr(v.length-1,1)!="/"){v+="/"}var a=b.getElementsByTagName("icon")[0];var r="/img/ui/project_icon_medium_default.gif";var e="/img/ui/project_icon_small_default.gif";if(a){var o=a.getAttribute("medium");if(o){r=v+o}o=a.getAttribute("small");if(o){e=v+o}}if(c==PORTFOLIO_LAYOUT_GRID){g+='<li class="index'+(n-h+1)+'">';g+='<a href="'+v+'" style="background-image:url('+r+')">';g+='<span class="hidden">'+b.getAttribute("title")+"</span>";g+="</a></li>"}else{var u=b.getAttribute("completed");if(u){var s=u.match(/^0*(\d+)\-0*(\d+)\-0*(\d+)$/);if(s){if(s[1]<100){s[1]+=2000}u=g_MonthName[Number(s[2])]+", "+s[1]}}var m=b.getElementsByTagName("quick_info")[0];var f=(m)?m.firstChild.nodeValue:null;g+='<li class="'+((n%2)?"even-row corner4":"odd-row corner4")+'">';g+="<div>";g+='<span class="icon" style="background-image:url('+e+')"></span>';if(u){g+='<span class="date_completed">'+u+"</span>"}g+='<span class="title">'+b.getAttribute("title")+"</span>";if(!f){var k=[];for(var j=0;j<g_Tags.length;j++){if(g_ProjectTags[n][j]){k.push(g_Tags[j])}}f=k.join(", ")}g+='<span class="quick_info">'+f+"</span>";g+="</div></li>"}}g+="</ul>";$("portfolio").set("html",g);if(c==PORTFOLIO_LAYOUT_GRID){var l=$$("#portfolio li");for(var n=0;n<l.length;n++){l[n].removeEvents("mouseenter");l[n].removeEvents("mouseleave");l[n].removeEvents("click");l[n].store("index",n);l[n].set("tween",{duration:250});l[n].addEvent("mouseenter",function(){this.addClass("hover");for(var i=0;i<l.length;i++){if(this.retrieve("index")!=i){l[i].fade("0.3")}}});l[n].addEvent("mouseleave",function(){this.removeClass("hover");for(var i=0;i<l.length;i++){l[i].fade("1")}})}}else{var l=$$("#portfolio li");for(var n=0;n<l.length;n++){l[n].removeEvents("mouseenter");l[n].removeEvents("mouseleave");l[n].removeEvents("click");l[n].store("index",n);l[n].addEvent("mouseover",function(){this.addClass("hover")});l[n].addEvent("mouseout",function(){this.removeClass("hover")});l[n].addEvent("click",function(){var i=g_ProjectsAll[this.retrieve("index")].getAttribute("href");window.location.href=i})}var p=$("portfolio");p.removeEvents("mouseleave");p.addEvent("mouseleave",function(){for(var i=0;i<l.length;i++){if(l[i].hasClass("hover")){l[i].removeClass("hover")}}})}}function RadioBtn_Enable(f,c,e){var a=$(f).getElements("li");for(var d=0;d<a.length;d++){a[d].store("index",d);a[d].addEvent("mouseenter",function(){var h=this.getElements("span")[0];if(!h.hasClass("selected")){h.addClass("highlighted")}});a[d].addEvent("mouseleave",function(){var h=this.getElements("span")[0];if(!h.hasClass("selected")){h.removeClass("highlighted")}});a[d].addEvent("click",function(){var i=this.getElements("span")[0];if(!i.hasClass("selected")){var h=$$("#"+f+" span.selected")[0];if(h){h.removeClass("selected")}i.addClass("selected");i.removeClass("highlighted");Cookie.write(f,this.retrieve("index"));e()}})}var b=Cookie.read(f);b=(b!==null)?Number(b):b;if(b!==null&&(b>=0&&b<a.length)){var g=a[b].getElements("span")[0];g.addClass("selected")}else{if(c>=0&&c<a.length){var g=a[c].getElements("span")[0];g.addClass("selected");Cookie.write(f,c)}}}function ComboBox_Enable(f){var e=$(f);if(!e){return}var d='<div class="combobox">';d+='<div class="round-box"><div class="tl"><div class="tr">&nbsp;</div></div><div class="content">';d+='<div class="combobox-item-selected"></div>';d+='<ul class="combobox-list">';d+='</ul></div><div class="bl"><div class="br">&nbsp;</div></div></div></div>';e.set("html",d);var a=$$("#"+f+" .combobox")[0];if(!a){return}var c=$$("#"+f+" .round-box")[0];if(!c){return}var g=$$("#"+f+" .combobox-item-selected")[0];if(!g){return}var b=$$("#"+f+" .combobox-list")[0];if(!b){return}b.setStyle("display","none");g.addEvent("mouseenter",function(){if(!c.hasClass("base")){c.addClass("hover")}});g.addEvent("mouseleave",function(){if(!c.hasClass("base")){c.removeClass("hover")}});a.addEvent("mouseleave",function(){setTimeout(function(){ComboBox_Close(f)},400)});g.addEvent("click",function(){var h=a.retrieve("is_combobox_open");if(h){ComboBox_Close(f);c.addClass("hover")}else{b.setStyle("display","block");a.store("is_combobox_open",true);if(c.hasClass("hover")){c.removeClass("hover")}c.addClass("base")}})}function ComboBox_SetItems(j,f,g,h){var a=$(j);if(!a){return}var e=$$("#"+j+" .combobox-list")[0];if(!e){return}var c="";for(var b=0;b<f.length;b++){c+="<li>"+f[b]+"</li>"}e.set("html",c);f=$$("#"+j+" .combobox-list li");for(var b=0;b<f.length;b++){f[b].store("index",b);f[b].addEvent("mouseenter",function(){this.addClass("hover")});f[b].addEvent("mouseleave",function(){this.removeClass("hover")});f[b].addEvent("click",function(){ComboBox_SetCurSel(j,this.retrieve("index"));ComboBox_Close(j);h()})}var d=Cookie.read(j);if(d!==null&&(d>=0&&d<f.length)){ComboBox_SetCurSel(j,d)}else{ComboBox_SetCurSel(j,g)}}function ComboBox_Close(e){var a=$$("#"+e+" .combobox")[0];if(!a){return}var c=$$("#"+e+" .combobox-list")[0];if(!c){return}var b=$$("#"+e+" .round-box")[0];if(!b){return}var d=a.retrieve("is_combobox_open");if(d){a.store("is_combobox_open",false);c.setStyle("display","none");b.removeClass("base")}}function ComboBox_SetCurSel(c,b){var d=$$("#"+c+" .combobox-item-selected")[0];if(!d){return}var a=$$("#"+c+" .combobox-list li");if(a[b]){d.set("html",a[b].innerHTML);Cookie.write(c,b)}}var g_fx=null;function PageProjectAddEffects(){Cookie.write("project-ctrl-screenshot",0);var a=$$("#project-screenshots img");if(!a){return}var b='<div id="project-ctrl-screenshot-content"><h3 id="project-ctrl-screenshot-heading"><span class="hidden">Screenshot:</span></h3><ul>';for(var d=0;d<a.length;d++){var c=d+1;b+='<li class="page'+c+'"><span><em class="hidden">'+c+"</em></span></li>";a[d].setStyle("left",PROJECT_SCREENSHOT_WIDTH*d);a[d].setStyle("display","inline")}b+="</ul></div>";if(a.length>1){$("project-ctrl-screenshot").set("html",b);RadioBtn_Enable("project-ctrl-screenshot",0,PageProjectOnScreenshotSelect);g_fx=new Fx.Tween("project-screenshots-list",{duration:500,transition:Fx.Transitions.Expo.easeOut});$("project-screenshots-list").setStyle("width",a.length*PROJECT_SCREENSHOT_WIDTH)}}function PageProjectOnScreenshotSelect(){var a=Cookie.read("project-ctrl-screenshot");a=(a!==null)?Number(a):a;if(g_fx){g_fx.cancel();g_fx.start("left",-a*PROJECT_SCREENSHOT_WIDTH)}}function PageContacts(){document.forms[0].name.focus();var b=$("form_inquiry");var a=new Element("input",{id:"ctrl_guid",name:"guid",type:"hidden",value:GUID_CONTACTS});a.inject(b);PageContactsCheckStatus();setInterval(PageContactsCheckStatus,5*60*1000)}function PageContactsCheckStatus(){var a=new Request({method:"get",url:"/cgi-bin/ymstatus.cgi?mpryvkin"});a.success=function(c,b){if(c.indexOf("is ONLINE")!=-1){$("ym-status").set("html",'<a id="ym-status-online" href="ymsgr:sendIM?mpryvkin"></a>');$("ym-status").style.backgroundPosition="0 100%"}else{if(c.indexOf("UNKNOWN")!=-1){$("ym-status").set("html","Status is unknown")}else{$("ym-status").set("html",'<a id="ym-status-offline" href="ymsgr:sendIM?mpryvkin"></a>');$("ym-status").style.backgroundPosition="0 50%"}}};a.failure=function(){$("ym-status").set("html","Status is unknown")};a.send()}function PageContactsSendMessage(){var f=document.forms[0];if(!f){return}var d=f.name.value;d=d.replace(/\t/g," ").replace(/\s+/g," ").replace(/^\s/g,"").replace(/\s$/g,"");if(d===""){ShowMessageBox("Please enter your name.",2000,"ctrlName","content");return}var b=f.phone.value;b=b.replace(/\D/g,"");if(b!==""&&b.length<10){ShowMessageBox("Please enter a valid phone number.",2000,"ctrlPhone","content");return}var c=f.email.value;c=c.replace(/\t/g," ").replace(/\s+/g," ").replace(/^\s/g,"").replace(/\s$/g,"");if(c!==""&&!c.match(/^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,4}$/)){ShowMessageBox("Please enter a valid e-mail address.",2000,"ctrlEmail","content");return}var g=f.message.value;if(g===""){ShowMessageBox("Please type in your message.",2000,"ctrlMessage","content");return}var a=$("inquiry-status").empty();a.set("html","Please wait...");var e=f.get("send");e.success=function(i,h){a.set("html",i);setTimeout(function(){a.set("html","")},2000);f.reset()};e.failure=function(){a.set("html","")};f.send()}function findPos(b,a){var c=curtop=0;if(b.offsetParent){do{if(a&&b==a){break}c+=b.offsetLeft;curtop+=b.offsetTop}while(b=b.offsetParent)}return[c,curtop]}var g_MessageBoxTimeoutId=null;function ShowMessageBox(g,e,f,c){if(!g||g===""){return}var b=document.getElementById("wndMessageContent");b.innerHTML=g;var a=document.getElementById("wndMessage");if(f){var d=document.getElementById(f);var h=findPos(document.getElementById(f),document.getElementById(c));a.style.left=(h[0]+3)+"px";a.style.top=(h[1]-a.offsetHeight+Math.floor(d.offsetHeight/2))+"px"}a.onclick=HideMessageBox;clearTimeout(g_MessageBoxTimeoutId);if(!e){e=2000}if(e>0){g_MessageBoxTimeoutId=setTimeout(HideMessageBox,e)}}function HideMessageBox(){var a=document.getElementById("wndMessage");a.style.left="-1000px";clearTimeout(g_MessageBoxTimeoutId)}window.addEvent("domready",init);
