(function($){window.MBP=window.MBP||{};MBP.viewportmeta=document.querySelector&&document.querySelector('meta[name="viewport"]');MBP.ua=navigator.userAgent;MBP.scaleFix=function(){if(MBP.viewportmeta&&/iPhone|iPad/.test(MBP.ua)&&!/Opera Mini/.test(MBP.ua)){MBP.viewportmeta.content="width=device-width, minimum-scale=1.0, maximum-scale=1.0";document.addEventListener("gesturestart",MBP.gestureStart,false)}};MBP.gestureStart=function(){MBP.viewportmeta.content="width=device-width, minimum-scale=0.25, maximum-scale=1.6"};MBP.hideUrlBar=function(){/iPhone/.test(MBP.ua)&&!pageYOffset&&!location.hash&&setTimeout(function(){window.scrollTo(0,1)},1000)};MBP.hideUrlBar();MBP.scaleFix();var el,cur,hash,defaultHash="#intro";function advance(newHash,anim){el=$(newHash);if(el.hasClass("current")){return}cur=$(".current.slide");cur.stop().removeClass("current");el.stop().addClass("current");if($("body").width()<768){anim=false}if(anim){el.css({opacity:0,left:0}).animate({opacity:1},"fast");cur.animate({opacity:0},"fast",function(){$(this).css({left:-9999,opacity:1})})}else{el.css({left:0,opacity:1});cur.css({left:-9999,opacity:1})}$("a.active").removeClass("active");$('nav[role="navigation"] a[href="'+newHash+'"]').addClass("active").parent().parent().closest("li").children("a").addClass("active")}function checkHash(){var href;if(document.location.hash!=hash){hash=document.location.hash;href=hash.length?hash:defaultHash;$('a[href="'+href+'"]').eq(0).trigger("navigate")}}$('a[href*="#"]').click(function(){if($(this).is('a[href="#portfolio"]')){advance("#"+$("#portfolio .slide").eq(1).attr("id"),true)}else{advance($(this).attr("href"),true)}}).bind("navigate",function(){if($(this).is('a[href="#portfolio"]')){advance("#"+$("#portfolio .slide").eq(1).attr("id"),false)}else{advance($(this).attr("href"),false)}});checkHash();window.setInterval(checkHash,100);function validate(el,re,tip){var valid=true;$(".tip",$(el).closest("p")).remove();if(re&&!re.test($(el).val())){valid=false}if(valid){$(el).attr("valid","valid").removeAttr("invalid")}else{$(el).attr("invalid","invalid").removeAttr("valid").after('<span class="tip"><span class="pointer"></span>'+tip+' <span class="close">×</span></span>')}}$("#cf_name").bind("validate",function(){validate(this,/.+/,"Please enter your name.")}).blur(function(){$(this).trigger("validate")});$("#cf_email").bind("validate",function(){validate(this,/(.+)@(.+)/,"This should be a valid email address.")}).blur(function(){$(this).trigger("validate")});$("#cf_message").bind("validate",function(){validate(this,/.+/,"Write your message here.")}).blur(function(){$(this).trigger("validate")});$("#cf_submit").bind("validate",function(){$(".tip",$(this).closest("p")).remove();$("#cf_name").trigger("validate");$("#cf_email").trigger("validate");$("#cf_message").trigger("validate")});$("#cf_form").attr("novalidate","novalidate").submit(function(evt){evt.preventDefault();$(".notice, .error",this).remove();$("#cf_submit").trigger("validate");if($("*[invalid]",this).length){$("#cf_submit").closest("p").append('<span class="tip"><span class="pointer"></span>Check your input. <span class="close">×</span></span>');return}$.post("contact.php",{submit:"true",ajax:"true",name:$("#cf_name").val(),email:$("#cf_email").val(),message:$("#cf_message").val()},function(data){$("#cf_submit").closest("label").after('<span class="'+data.messageType+'">'+data.messageText+' <span class="close">×</span></span>')},"json")});$(".tip .close").live("click",function(){$(this).closest(".tip").remove()})})(jQuery);
