(function(b){var a=1;b.fn.dropShadow=function(c){var d=b.extend({left:4,top:4,blur:2,opacity:0.5,color:"black",swap:false},c);var e=b([]);this.not(".dropShadow").each(function(){var p=b(this);var l=[];var g=(d.blur<=0)?0:d.blur;var o=(g==0)?d.opacity:d.opacity/(g*8);var q=(d.swap)?a:a+1;var f=(d.swap)?a+1:a;var r;if(this.id){r=this.id+"_dropShadow"}else{r="ds"+(1+Math.floor(9999*Math.random()))}b.data(this,"shadowId",r);b.data(this,"shadowOptions",c);p.attr("shadowId",r).css("zIndex",q);if(p.css("position")!="absolute"){p.css({position:"relative",zoom:1})}bgColor=p.css("backgroundColor");if(bgColor=="rgba(0, 0, 0, 0)"){bgColor="transparent"}if(bgColor!="transparent"||p.css("backgroundImage")!="none"||this.nodeName=="SELECT"||this.nodeName=="INPUT"||this.nodeName=="TEXTAREA"){l[0]=b("<div></div>").css("background",d.color)}else{l[0]=p.clone().removeAttr("id").removeAttr("name").removeAttr("shadowId").css("color",d.color)}l[0].addClass("dropShadow").css({height:p.outerHeight(),left:g,opacity:o,position:"absolute",top:g,width:p.outerWidth(),zIndex:f});var n=(8*g)+1;for(m=1;m<n;m++){l[m]=l[0].clone()}var m=1;var k=g;while(k>0){l[m].css({left:k*2,top:0});l[m+1].css({left:k*4,top:k*2});l[m+2].css({left:k*2,top:k*4});l[m+3].css({left:0,top:k*2});l[m+4].css({left:k*3,top:k});l[m+5].css({left:k*3,top:k*3});l[m+6].css({left:k,top:k*3});l[m+7].css({left:k,top:k});m+=8;k--}var h=b("<div></div>").attr("id",r).addClass("dropShadow").css({left:p.position().left+d.left-g,marginTop:p.css("marginTop"),marginRight:p.css("marginRight"),marginBottom:p.css("marginBottom"),marginLeft:p.css("marginLeft"),position:"absolute",top:p.position().top+d.top-g,zIndex:f});for(m=0;m<n;m++){h.append(l[m])}p.after(h);e=e.add(h);b(window).resize(function(){try{h.css({left:p.position().left+d.left-g,top:p.position().top+d.top-g})}catch(i){}});a+=2});return this.pushStack(e)};b.fn.redrawShadow=function(){this.removeShadow();return this.each(function(){var c=b.data(this,"shadowOptions");b(this).dropShadow(c)})};b.fn.removeShadow=function(){return this.each(function(){var c=b(this).shadowId();b("div#"+c).remove()})};b.fn.shadowId=function(){return b.data(this[0],"shadowId")};b(function(){var c="<style type='text/css' media='print'>";c+=".dropShadow{visibility:hidden;}</style>";b("head").append(c)})})(jQuery);this.OJ_=function(){function c(j){j=j||{};msg=j.msg||"";timeout=j.timeout||3000;color=j.color;var k=$('<div id="g_flasher"/>');$("body").append(k);k.text(msg);if(color){k.css("background-color",color)}if(jQuery.browser.msie&&parseInt(jQuery.browser.version)==6){k.css("position","absolute")}window.setTimeout(function(){k.remove()},timeout)}function e(){var j=$('<div id="g_ajaxloader"/>');j.append('<img src="/static/global/ajax_loader.gif">');if(jQuery.browser.msie&&parseInt(jQuery.browser.version)==6){j.css("position","absolute")}this.container=j;$(document).ready(function(){$("body").append(j)})}e.prototype.css=function(j){this.container.css(j)};e.prototype.img=function(j){this.container.children("img").attr("src",j)};var b={};b.start=function(j){if(this.is_open){b.end()}else{this.is_open=true}this.background=$("<div/>").css({background:"#000000",position:"fixed",top:"0px",left:"0px",height:"100%",width:"100%","z-index":"1000"});this.background.css("opacity","0.5");if(jQuery.browser.msie&&parseInt(jQuery.browser.version)==6){var k=this.background;k.css("position","absolute");k.height($("body").height());k.width($("body").width())}$("body").append(this.background);$("body").css("overflow","hidden");this.box=$("<div/>").css({"background-color":"lightblue",border:"1px solid black","-moz-border-radius":".5em","-webkit-border-radius":".5em",padding:"6px",position:"fixed",top:"0px",left:"0px","z-index":"1001"});var n=$("<div/>").css({"background-color":"#FFFFFF","-moz-border-radius":".3em","-webkit-border-radius":".3em",padding:"10px"});this.box.append(n);this.inputwrapper=$("<div/>").append(j);n.append(this.inputwrapper);if(jQuery.browser.msie&&parseInt(jQuery.browser.version)==6){this.box.css("position","absolute")}var l=$("<a>x</a>").css({cursor:"pointer","text-decoration":"none","font-weight":"bold","font-size":"12pt",position:"absolute",top:"7px",right:"12px",color:"lightblue"}).click(function(){b.end()});n.append(l);$("body").append(this.box);var m=this.box;this.center=function(){var p=$(window).height()/2-(m.height()+14)/2;var o=$(window).width()/2-(m.width()+14)/2;if(jQuery.browser.msie&&parseInt(jQuery.browser.version)==6){p+=$(window).scrollTop()}m.css({top:p,left:o})};this.center();$(window).resize(this.center)};b.end=function(){this.box.remove();this.background.remove();$("body").css("overflow","auto");this.is_open=false};var d=function(m){var l=$('<div id="g_guestadd_dialog" class="g_dialog"><h2>Use Guest Account?</h2><p>You are about to save data as a Guest. If you already have an account click here to <a>sign in</a>.</p><div><input type="submit" value="Use Guest Account"><input type="submit" value="Cancel"></div></div>');var j=$('#g_header a:contains("Sign in")').attr("href")||"/auth/signin?continue_to="+escape(window.location.href);var k=j.substring(0,j.indexOf("/auth/"));$('a:contains("sign in")',l).click(function(){f(m)});$('input[value="Cancel"]',l).click(function(){b.end()});$('input[value="Use Guest Account"]',l).click(function(){$.getJSON(k+"/auth/JSONP_create_guest_account?jsoncallback=?",function(n){var o=$("#g_header div.user").html("");o.append('<a class="username">guest</a> | ');o.append('<a href="'+k+"/auth/guest_registration?continue_to="+escape(window.location.href)+'" style="color:red;font-weight:bold;">REGISTER TO SAVE</a> | ');o.append('<a href="'+k+"/auth/logout?continue_to="+escape(window.location.href)+'">Logout</a>');if(m){m()}});b.end()});b.start(l);$('input[value="Use Guest Account"]',l).focus()};var f=function(m){var l=$('<div id="g_login_dialog" class="g_dialog"><h2>Sign in</h2><form class="list"><ul><li class="text"><label>Username / Email</label><input type="text" name="username_or_email"><div class="error" name="username_or_email"></div></li><li class="text"><label>Password</label><input type="password" name="password"><div class="error" name="password"></div></li><li class="checkbox"><input type="checkbox" checked="checked" name="rememberme"><label>Remember me.</label></li><li class="submit"><input type="submit" value="Login"><a class="g_unvisited">forgot password?</a></li></ul></form></div>');var j=$('#g_header a:contains("Sign in")').attr("href")||"/auth/signin?continue_to="+escape(window.location.href);var k=j.substring(0,j.indexOf("/auth/"));$('a:contains("forgot password?")',l).attr("href",k+"/auth/forgot?continue_to="+escape(window.location.href)+"&oncancel="+escape(window.location.href));$('input[value="Login"]',l).click(function(){$.getJSON(k+"/auth/JSONP_login?jsoncallback=?",{username_or_email:$('input[name="username_or_email"]',l).val(),password:$('input[name="password"]',l).val(),rememberme:$('input[name="rememberme"]',l).val()},function(n){if(n.status=="ok"){b.end();var o=$("#g_header div.user").html("");o.append('<a class="username">'+n.result.username+"</a> | ");o.append('<a href="'+k+'/accounts/manage">Settings</a> | ');o.append('<a href="'+k+"/auth/logout?continue_to="+escape(window.location.href)+'">Logout</a>');if(m){m()}}else{$("div.error",l).text("");for(name in n.errors){$('div.error[name="'+name+'"]',l).text(n.errors[name])}}});return false});b.start(l)};var g=new e();$(window).ajaxStart(function(){g.container.show()});$(window).ajaxStop(function(){g.container.hide()});$(window).ajaxError(function(m,l,k,j){if(l.status==401){d(function(){$.ajax(k)});return}msg=l.status.toString()+" "+l.statusText;c({msg:msg,color:"red"})});function a(j,k){k=k||function(){};$(window).ready(function(){var l=document.createElement("script");l.type="text/javascript";l.src=j;l.onload=k;l.onreadystatechange=function(){if(this.readyState=="complete"||this.readyState=="loaded"){k()}};document.getElementsByTagName("head")[0].appendChild(l)})}function h(){var j=window.screen.availWidth*0.5;var l=window.screen.availHeight*0.5;var k="scrollbars=no,toolbar=no,menubar=no,status=yes,locationbar=no,personalbar=no,statusbar=no,resizable=yes,left=0,top=0,height="+l+",width="+j;window.open("/tools/projectmanager/","projectmanaer_popup",k).focus()}function i(){var j=$('div.site a:contains("Tools")').css("margin-right",2);var k=$('<a style="cursor:pointer;margin-right:7px;font-size:8pt;">▼</a>').insertAfter(j);k.click(function(m){if(this.menu_exists){return}this.menu_exists=true;var n=$('<ul id="g_tools_menu"/>');n.append($("<li>Project Manager</li>").click(function(){OJ_.openProjectManager()}));n.append($("<li>Company Tools</li>").click(function(){window.location.href="/tools/companytools"}));n.append($("<li>Search API</li>").click(function(){window.location.href="/api/"}));n.css("position","absolute");n.css("left",j.position().left+"px");n.css("top",(j.position().top+j.height())+"px");n.appendTo($("body"));n.dropShadow({left:1,top:1,blur:1});if($.browser.msie){n.children("li").hover(function(){$(this).css({"background-color":"#003399",color:"white"})},function(){$(this).css({"background-color":"",color:""})})}m.stopPropagation();var l=this;$("body").one("click",function(){n.removeShadow();n.remove();l.menu_exists=false})})}$(document).ready(function(){i();$("#searchform").append('<input type="hidden" name="js" value="on">');var j=$('a:contains("Parts"):first',$("#g_header"));j.attr("href",j.attr("href")+"search?js=on")});return{ajax_loader:g,flash:c,modal_dialog:b,lazy_load:a,openProjectManager:h}}();