jQuery.fn.pbcards=function(a){return this.each(function(){var e={hoverColor:"#ddd"},d=$(this),c=true,f=null,b=null;a=$.extend(e,a);d.find("a").each(function(){var g=$(this).attr("href");if(b){if(b!=g){c=false}}b=g});if(c&&b){f=b;d.hover(function(){d.css({backgroundColor:a.hoverColor,cursor:"pointer"})},function(){d.removeAttr("style")});d.click(function(){window.location.href=f})}})};jQuery.fn.pbemail=function(a){return this.each(function(){var c=$(this),e={screenBlock:$('<div class="screenBlock"></div>'),floatingDiv:$('<div class="float"></div>')};a=$.extend(e,a);c.click(function(){b();d()});function b(){a.screenBlock.css({height:$(document).height(),opacity:0});$("body").append(a.screenBlock);a.screenBlock.show();a.screenBlock.fadeTo("normal",0.7)}function d(){$("body").append(a.floatingDiv);a.floatingDiv.load("/includes/email.htm")}})};jQuery.fn.pbforms=function(a,b){return this.each(function(){var h=this,d=$(this),c=null,k=null,e=null,l="",p=new Image(),f={ajax:1,referrer:document.referrer.replace("http://",""),action:d.attr("action"),method:d.attr("method"),encType:d.attr("enctype"),submit:d.find('input[type="submit"]'),fields:d.find(":input").not('input[type="submit"]'),success:"Thank you. Your information has been sent.",popup:false,trigger:null,showFormOnLoad:false,popupWidth:"600px",beforeSubmit:null,afterSubmit:null,afterCancel:null,mergeForm:null,closeButtonTracker:null};a=$.extend(f,a);this.showForm=o;this.hideForm=m;d.prepend('<input type="hidden" name="referrer" value="'+a.referrer+'"/>');p.src="http://assets.portlandbolt.com/images/ajax_load.gif";a.submit.parent().css("position","relative");if(a.popup){d.remove();d.removeAttr("class");if(a.closeButtonTracker){l='onclick="pageTracker._trackEvent('+a.closeButtonTracker+');"'}e=$('<a class="closeButton" href="#"><img src="http://assets.portlandbolt.com/images/close_button.jpg" alt="Close" '+l+" /></a>");c=$('<div class="popup"></div>');c.append(e);c.hide().append(d);k=$('<div class="blackOut"></div>');k.hide();$("body").append(k);$("body").append(c);if(a.showFormOnLoad){o()}a.trigger.click(function(){h.showForm();return false});e.click(function(){h.hideForm();return false})}d.submit(function(){var t,w,x,v,u=(a.encType)||"application/x-www-form-urlencoded";if(a.beforeSubmit!==null){v=a.beforeSubmit.apply(h);if(!v){return false}}a.fields.filter(".error").val("");if(a.ajax){t=q();$.ajax({url:a.action,type:a.method,data:(t),contentType:u,beforeSend:function(){a.submit.after('<div class="ajax"><img src="http://assets.portlandbolt.com/images/ajax_load.gif"> Working...</div>')},error:function(){$(".ajax",a.form).remove();alert("There was an error with your submission.")},success:function(y){$(".ajax",a.form).remove();if(y){json=JSON.parse(y);if(json.responseType==="success"){if(a.afterSubmit){a.afterSubmit.apply(h)}else{s()}}else{if(json.responseType==="error"){r(json)}else{if(json.responseType==="internalError"){alert("We're sorry. There seems to be a bug in this form. We have been notified of the problem and and are working to resolve it. \r\n\r\nIn the mean time, please call us at (800) 547-6758 or email us at sales@portlandbolt.com")}else{if(json.responseType==="spamAttempt"){alert("Error: "+json.text)}else{alert("Unknown response")}}}}}}});return false}else{errors=n();if(errors){r(errors)}else{return true}return false}});this.onreset=function(){if(a.afterCancel){a.afterCancel.apply(h)}};function n(){var t={},x=$('input[name="!validation"]',d).val(),v=/^[a-z0-9!#\$%&'\*\+-\/\=\?\^_\`\{\|\}~]{1,64}@[a-z0-9-\.]{1,255}\.([a-z]{2}\.)?[a-z]{2,6}$/i;x=x.split("|");for(i=0;i<x.length;i++){var u=x[i].split(":");x[u[0]]=u[1].split(",")}for(var w in x){switch(w){case"required":break;case"email":for(i=0;i<x[w].length;i++){if(!v.test($('input[name="'+x[w][i]+'"]',d).val())){}try{var y=$('input[name="'+x[w][i]+'"]',d);console.log(y.val());console.log(v.test($('input[name="'+x[w][i]+'"]',d).val()))}catch(z){}}break}}if(t.required||t.email){t.responseType="error";return t}return false}function r(w){var u,x,t=10000,y=$(window);for(var v in w){if(v!="responseType"){for(j=0;j<w[v].length;j++){u=a.fields.filter('[name="'+w[v][j]+'"]');switch(v){case"required":x="This field is required";break;case"email":x="Email is invalid";break;default:x="There was an error";break}u.addClass("error").val(x);u.bind("focus",function(){var z=$(this);z.removeClass("error").val("");z.blur(function(){$(z).unbind("focus")})});if(u.offset().top<t){t=u.offset().top}}}}if(y.scrollTop()>t||y.scrollTop+y.height()<t){$("html, body").animate({scrollTop:t-25},500)}}function q(){var t={},u;a.fields=d.find(":input").not('input[type="submit"]');if(a.mergeForm){a.fields=a.fields.add(a.mergeForm.find(":input").not('input[type="submit"]'))}a.fields.each(function(v){var w=$(this);if(w.is("[type=checkbox]")||w.is("[type=radio]")){if(w.is(":checked")){t[w.attr("name")]=w.val()}else{if(!t.hasOwnProperty(w.attr("name"))){t[w.attr("name")]=""}}}else{t[w.attr("name")]=w.val()}});t.ajax=a.ajax;t.referrer=a.referrer;return t}function g(t){alert(t)}function s(){var u=$('<div class="success"><p>'+a.success+"</p></div>"),t=$('<a href="#">Click to close</a>');a.fields.not(":hidden,[type=radio],[type=checkbox]").each(function(v){$(this).val("")});u.css({display:"none"});if(d.css("position")!="absolute"){d.css("position","relative")}u.append(t);d.append(u);u.slideDown("slow");t.click(function(){u.remove();u=null;t=null;return false})}function o(){var t=($(window).height()/2)-(c.outerHeight()/2);k.css({height:$(document).height()+"px",opacity:"0"}).show();$(k).animate({opacity:".7"});if(t<0){t=50}c.css("width",a.popupWidth);c.css({top:t+"px",marginLeft:"-"+c.outerWidth()/2+"px"});c.show()}function m(){c.hide();$(k).animate({opacity:"0"},"","",function(){$(this).hide()})}})};jQuery.fn.pbgallery=function(a){return this.each(function(){var t=$(this),n,g=null,b=s(),l=[],f=0,h={loadarea:$("div",this),thumbs:$("a",this),folderThumb:"thmb",folderPreview:"prev",folderFull:"full"};a=$.extend(h,a);n=$("img",a.loadarea);function o(u,v){var w=this;this.index=v;this.thmb=u;this.thmb.bind("mouseover",function(){if(!w.imgs){var x=p($(this).attr("src"));w.prev=x[0];w.full=x[1]}a.loadarea.empty().append(w.prev);return false});this.thmb.bind("click",function(){q(w);f=w.index;return false})}a.thumbs.each(function(u){l.push(new o($("img",this),u))});function r(u,v){return u.replace(/\/thmb\/|\/prev\/|\/full\//gi,"/"+v+"/")}function p(v){var w=[r(v,"prev"),r(v,"full")],u,x=[];for(i=0;i<w.length;i++){u=new Image();u.src=w[i];x.push(u)}return x}function c(){var u=$('<div class="whiteOut"></div>');u.hide().appendTo($("body")).css({height:$(document).height()+"px",width:"100%"});return u}function k(){if(g.is(":hidden")){g.fadeTo("fast",".7")}}function s(){var u=$('<div id="popup"></div>'),w=$('<div class="imageContainer"></div>'),x=$('<a class="closeButton" href="#"><img src="http://assets.portlandbolt.com/images/close_button.jpg" alt="Close"></a>'),v=$('<a class="printButton" href="#"><img src="http://assets.portlandbolt.com/images/printer.png" alt="Print"></a>');u.append(w);u.append(v);u.append(x);u.hide().appendTo($("body"));x.click(e);v.click(m);w.click(d);return u}function d(){var u=(f>=l.length-1)?l[0]:l[f+1];if(!u.full){var v=p(u.thmb.attr("src"));u.prev=v[0];u.full=v[1]}q(u);return false}function q(v){var u={},w;if(!g){g=c()}k();if(v.full.complete){$(".imageContainer",b).empty().append(v.full).append($('<img class="next" src="/image/misc/next.gif" alt="Next">'));if(w){clearTimeout(w)}}else{w=setTimeout(function(){q(v)},250)}f=v.index;u.width=(v.full.width>0)?v.full.width+2+"px":"auto";b.css(u);u={marginLeft:b.outerWidth()/-2+"px",marginTop:b.outerHeight()/-2+"px"};b.css(u).show();return false}function e(){b.hide();g.fadeOut("fast");return false}function m(){var u=l[f].full.src.replace(/(.+\/)/,"");win=window.open("http://www.portlandbolt.com/image/products/full/printpage.php?img="+u);return false}})};jQuery.fn.pbtable=function(a){return this.each(function(){var c={clickedClass:"highlighted",hoverClass:"hover"},b=null;a=$.extend(c,a);$(this).find("tbody").delegate("tr","mouseover mouseleave",function(d){if(d.type=="mouseover"){$(this).addClass(a.hoverClass)}else{$(this).removeClass(a.hoverClass)}}).delegate("tr","click",function(){if(b){b.removeClass(a.clickedClass)}b=$(this).addClass(a.clickedClass)})})};jQuery.fn.pbTableImage=function(a){return this.each(function(){var d={clName:"tip",followMouse:true,left:10,vertical:"top",base:$(".imagegallery a[href$=drawing.jpg]").attr("href"),content:false},e=$("<div>"),b;a=$.extend(d,a);if(!a.content){if(!a.base){return false}else{b='<img src="'+a.base.replace(/\/full\//,"/prev/")+'"/>'}}else{b=a.content}e.addClass(a.clName).html(b).appendTo("body");$(this).hover(function(f){e.show();c(f.pageX,f.pageY)},function(){e.hide()});if(a.followMouse){$(this).bind("mousemove",function(f){c(f.pageX,f.pageY)})}function c(f,k){var h,g=a.left;if(a.vertical==="top"){h=0-e.outerHeight()}else{h=0}e.css({top:k+h+"px",left:f+a.left+"px"})}})};jQuery.fn.pbtabs=function(a){return this.each(function(){var g={content:"tabcontainer"},d,b,e,f=0;a=$.extend(g,a);d=$(this);b=d.find("a");e=d.next("."+a.content);$sections=e.children();$sections.each(function(){var k=$(this).outerHeight();if(k>f){f=k}});$sections.css("height",f+"px");function h(){var m=window.location.hash,k=d.find('a[href="'+m+'"]');if(m&&k.length){c(k)}else{c(b.eq(0))}}function c(k){$sections.hide();b.removeClass("selected");e.find(k.attr("href")).show();k.addClass("selected")}b.click(function(){c($(this));return false});h()})};
