/*!
* Edd, an easy to use spoke length calculator
* http://lenni.info/edd/
* Revision 
* written by Leonard Ehrenfried <leonard.ehrenfried@web.de>
*//*jslint eqeqeq: true */var EDD={};EDD.selectedHub=undefined,EDD.selectedRim=undefined,EDD.currentConfig={spokes:36,cross:3},EDD.currentWheel=undefined;var manualCross=!1;EDD.ui={},EDD.ui.runRimSearch=function(){var a=$("#rim_search").attr("value");EDD.rimQuery.run(a)},EDD.ui.runHubSearch=function(){var a=$("#hub_search").attr("value");EDD.hubQuery.run(a)},EDD.ui.displayRim=function(a){$("#rim").text(a.fields.name)},EDD.ui.displayHub=function(a){$("#hub").text(a.fields.name+", "+gettext(a.fields.frontrear))},EDD.ui.displayLength=function(a){$("#sll").text(a.sll),$("#slr").text(a.slr),$("#spokes").text(a.config.spokes),$("#cross").text(a.config.cross),EDD.ui.displayHub(a.hub),EDD.ui.displayRim(a.rim),EDD.currentWheel=a},EDD.ui.calculateLength=function(){if(EDD.selectedHub!==undefined&&EDD.selectedRim!==undefined){var a=new EDD.Wheel(EDD.selectedHub,EDD.selectedRim,EDD.currentConfig);EDD.ui.displayLength(a),$("#showCompleteData").slideDown()}},EDD.ui.addMouseover=function(a,b){$(a).mouseover(function(a){var c=$(a.target);c.hasClass(b)&&c.addClass("mouseover")}).mouseout(function(a){var b=$(a.target);b.removeClass("mouseover")})},EDD.ui.fetchPopularHubs=function(){$.get("popularhubs.html",function(a){$("#hub_selection").append(a)})},EDD.ui.fetchPopularRims=function(){$.get("popularrims.html",function(a){$("#rim_selection").append(a)})},EDD.ui.showSubmitDialogue=function(){var a=$("#submitDialog"),b=$("#submitDiv > img.throb");a.modal({containerCss:{width:500,height:500},onOpen:EDD.util.modalOpen}),$.get("submit",function(b){var c=$("#submitDiv > img.throb");c.append(EDD.util.generateThrobber),a.empty(),a.append(b),$("#submitDiv > ul > li").addClass("ui-tabs-selected"),$("#submitDiv > ul").addClass("ui-tabs-nav");var d=$("#submitDiv > ul > li > a");for(i=0;i<d.length;i++){var e=$(d.get(i)).attr("href"),f=$(e);f.addClass("ui-tabs-panel"),i>0&&(f.hide(),$(d.get(i)).addClass("ui-tabs-unselect"))}d.click(function(){d.addClass("ui-tabs-unselect"),$(this).removeClass("ui-tabs-unselect"),d.each(function(a){var b=$(this).attr("href");$(b).hide()});var a=$(this).attr("href");$(a).show()}),$("form.ajax").live("submit",function(){return $dest=$(this).parent(),$dest.find("input[type=submit]").attr({value:gettext("Sending measurements..."),disabled:"disabled"}),$(this).ajaxSubmit({target:$dest,success:function(){c.empty()}}),!1})})},$(document).ready(function(){EDD.rimQuery=new EDD.Query("rim",{erd:gettext("ERD"),osb:gettext("OSB"),size:gettext("Size")}),EDD.hubQuery=new EDD.Query("hub",{rfd:gettext("Right flange ø"),lfd:gettext("Left flange ø"),c2r:gettext("Centre to right flange"),c2l:gettext("Centre to left flange"),shd:gettext("Spoke hole ø")}),$("#manualHubTrigger").click(function(){function a(){frontrear=$("input[name='frontrear']:checked").val()}$("#manualHubEntry").slideToggle(),a(),$("input[name='frontrear']").click(function(){a()})}),$("#manualRimTrigger").click(function(){$("#manualRimEntry").slideToggle("fast")}),EDD.ui.addMouseover($("#rimContainer"),"rim"),EDD.ui.addMouseover($("#hubContainer"),"hub"),EDD.ui.addMouseover($("#crossesContainer"),"cross"),EDD.ui.addMouseover($("#spokesContainer"),"spokes"),$("#default_cross").addClass("selected"),$("#default_spokes").addClass("selected"),EDD.ui.fetchPopularRims(),EDD.ui.fetchPopularHubs(),$("ul.about>li>a.modal").click(function(a){var b=[],c=$($(this).attr("href"));c.attr("data-modal-width")===undefined||c.attr("data-modal-height")===undefined?b=[400,400]:(b[0]=parseInt(c.attr("data-modal-width"),10),b[1]=parseInt(c.attr("data-modal-height"),10));var d=$(this).attr("href");if($(this).hasClass("ajax")){var e=$(this).attr("alt");$.get(e,function(a){$(d).empty(),$(d).append(a)})}return $(d).modal({containerCss:{width:b[0],height:b[1]},onOpen:EDD.util.modalOpen}),!1}),$("#showCompleteData").click(function(){$("#completeDataDialog").empty();var a=EDD.currentWheel.hub.fields,b=EDD.currentWheel.rim.fields,c=EDD.currentWheel.config;$.get("complete.html?r=",function(d){$("#completeDataDialog").append(d),$("#completeHubName").text(a.name),$("#completeFdr").text(a.rfd),$("#completeFdl").text(a.lfd),$("#completeC2r").text(a.c2r),$("#completeC2l").text(a.c2l),$("#completeShd").text(a.shd),$("#completeRimName").text(b.name),$("#completeErd").text(b.erd),$("#completeOsb").text(b.osb),$("#completeSpokes").text(c.spokes);for(var e=0;e<5;e++){c.cross=e,wheel=new EDD.Wheel(EDD.selectedHub,EDD.selectedRim,c);var f="<tr>";f+="<td>"+e+"</td>",f+="<td>"+wheel.slr+"</td>",f+="<td>"+wheel.sll+"</td>",f+="<td>"+wheel.getTension()+"%</td>",f+="</tr>",$("#completeSpokeLengthTable").append(f)}!manualCross,$("#completeDataDialog").modal({containerCss:{width:500,height:500},onOpen:EDD.util.modalOpen})})}),$("#hub_search").keydown(function(a){a.keyCode==13&&EDD.ui.runHubSearch()}),$("#hubSearchButton").click(function(){EDD.ui.runHubSearch()}),$("#rim_search").keydown(function(a){a.keyCode==13&&EDD.ui.runRimSearch()}),$("#rimSearchButton").click(function(){EDD.ui.runRimSearch()}),$("div.cross").click(function(){$("div.cross").removeClass("selected"),$(this).addClass("selected"),$(this).children().show("fast"),$(this).hasClass("manualCross")?(EDD.currentConfig.cross=parseFloat($("#manualCross").attr("value")),manualCross=!0):(EDD.currentConfig.cross=parseFloat($(this).text()),manualCross=!1),EDD.ui.calculateLength()}),$("div.spokes").click(function(){$("div.spokes").removeClass("selected"),$(this).addClass("selected"),$(this).hasClass("manualSpokes")?EDD.currentConfig.spokes=parseFloat($("#manualSpokes").attr("value")):EDD.currentConfig.spokes=parseFloat($(this).text()),EDD.ui.calculateLength()}),$("#useManualRim").submit(function(){var a={};return a.fields=EDD.util.convertFormToObj(this),EDD.selectedRim=a,EDD.ui.calculateLength(),$("#acceptManualRim").show(),$(".rim").removeClass("selected").children().slideUp(),!1}),$("#useManualHub").submit(function(){var a={};return a.fields=EDD.util.convertFormToObj(this),EDD.selectedHub=a,EDD.ui.calculateLength(),$("#acceptManualHub").show(),$(".hub").removeClass("selected").children().slideUp(),!1}),$("#submitMeasurements").click(function(){EDD.ui.showSubmitDialogue()}),$("#setLang").click(function(){$(this).css({position:"absolute","z-index":"5",right:"15px"}).contents().removeClass("hidden")}),$("div.selection_element").live("click",function(a){var b=$(this),c;if(b.hasClass("hub")||b.hasClass("rim"))$(this).hasClass("hub")?c="hub":$(this).hasClass("rim")&&(c="rim"),$("div."+c).removeClass("selected"),b.addClass("selected"),$("div."+c).children().slideUp("fast"),b.children().slideDown("fast"),c==="hub"&&(EDD.selectedHub=b.data("model"),EDD.ui.displayHub(EDD.selectedHub),$("#acceptManualHub").hide()),c==="rim"&&(EDD.selectedRim=b.data("model"),EDD.ui.displayRim(EDD.selectedRim),$("#acceptManualRim").hide()),EDD.ui.calculateLength()}),$("body").click(function(a){var b=$(a.target);b.hasClass("rimPopular")&&($("#rim_search").val(b.text()),EDD.ui.runRimSearch()),b.hasClass("hubPopular")&&($("#hub_search").val(b.text()),EDD.ui.runHubSearch()),b.hasClass("closeElement")&&b.hasClass("rimClose")&&($("#rim_selection").empty(),$.get("popularrims.html",function(a){$("#rim_selection").append(a)})),b.hasClass("closeElement")&&b.hasClass("hubClose")&&($("#hub_selection").empty(),$.get("popularhubs.html",function(a){$("#hub_selection").append(a)}))}),$("body").keyup(function(a){var b=$(a.target);b.hasClass("manualSpokes")&&(EDD.currentConfig.spokes=$("#manualSpokes").attr("value"),EDD.ui.calculateLength()),b.hasClass("manualCross")&&(EDD.currentConfig.cross=$("#manualCross").attr("value"),EDD.ui.calculateLength(),manualCross=!0)})});/*
* Abstract query object
*/EDD.Query=function(a,b){this.TYPE=a,this.FETCH_URL="./"+a+"s",this.FIELDS=b,this.DESTINATION=$("#"+this.TYPE+"_selection"),this.clearDestination=function(){this.DESTINATION.empty()},this.appendDestination=function(a){$("#"+this.TYPE+"_selection").append(a)},this.run=function(a){this.clearDestination(),this.DESTINATION.append(EDD.util.generateThrobber());var b=this;$.ajax({url:this.FETCH_URL,type:"GET",dataType:"json",data:{query:a,format:"json"},complete:function(){},success:function(a){if(a.length===0){var c=$("<div>").text(gettext("Your search terms returned no results"));$("#"+b.TYPE+"_selection").append(c)}else{var d=$("<div>").addClass("closeElement").addClass(b.TYPE+"Close").text(gettext("close list"));$("#"+b.TYPE+"_selection").append(d),b.appendDestination(d);var e=b.processData(a);$.each(e,function(a,c){b.appendDestination(c)})}b.DESTINATION.find(".throbber").addClass("hidden")},error:function(a,b,c){alert(b)}})},this.processData=function(a){var b=this,c=[];return $.each(a,function(a,d){c.push(b.convertModelToDomObj(d))}),c},this.convertModelToDomObj=function(a){var b=$("<div>");b.addClass(this.TYPE),b.addClass("selection_element");var c=a.fields.name;this.TYPE==="hub"&&(c+=", "+gettext(a.fields.frontrear)),b.text(c),b.data("model",a);var d=$("<ul>").addClass("specs").addClass("hidden");b.append(d);for(i in this.FIELDS){var e=$("<li>");e.text(this.FIELDS[i]+": "+gettext(a.fields[i])),d.append(e)}var f="/edd/"+this.TYPE+"/"+a.pk,g=$("<a>").attr("href",f).text("Add your own photos");return g.attr("target","_blank"),e=$("<li>").append(g),e.addClass("detail-page"),d.append(e),b}};/*!
* Wheel.js, calculates spoke length and tension
* Written by Lenni <leonard.ehrenfried@web.de>
* original formula taken from Damon Rinard's spokecalc.xls (http://www.sheldonbrown.com/rinard/spocalc.htm)
* =SQRT((C$15/2*SIN(2*PI()*D16/(C$10/2)))^2+(C$11/2-((C$15/2)*COS(2*PI()*D16/(C$10/2))))^2+D$19^2)-C$17/2
* =SQRT((fdl/2*SIN(2*PI()*cross/(spokes/2)))^2+(erd/2-((fdl/2)*COS(2*PI()*cross/(spokes/2))))^2+c2l+osb^2)-shd/2				  
*/EDD.Wheel=function(a,b,c){this.hub=a,this.rim=b,this.config=c;var d=a.fields.rfd,e=a.fields.lfd,f=a.fields.c2r,g=a.fields.c2l,h=a.fields.shd,i=a.fields.frontrear,j=b.fields.erd,k=b.fields.osb,l=c.cross,m=c.spokes;i=="front"&&(k=-k);var n=EDD.util.roundNumber,o=n(2*Math.PI*l,13),p=Math.sqrt(n(Math.pow(n(e/2*Math.sin(n(2*Math.PI*l,13)/(m/2)),12),2),7)+Math.pow(j/2-e/2*Math.cos(n(2*Math.PI*l,10)/(m/2)),2)+Math.pow(g-k,2))-h/2;this.sll=n(p,1);var q=Math.sqrt(n(Math.pow(n(d/2*Math.sin(n(2*Math.PI*l,13)/(m/2)),12),2),7)+Math.pow(j/2-d/2*Math.cos(n(2*Math.PI*l,10)/(m/2)),2)+Math.pow(f+k,2))-h/2;this.slr=n(q,1),i=="front"&&(k=-k)},EDD.Wheel.prototype.getTension=function(){return this.tension===undefined&&(this.tension=this.calculateTension()),this.tension},EDD.Wheel.prototype.calculateTension=function(){var a=this.hub.fields.c2l,b=this.hub.fields.c2r,c=this.rim.fields.osb,d=[];d[1]=EDD.util.degrees(Math.asin((a+c)/this.slr)),d[0]=EDD.util.degrees(Math.asin((b-c)/this.sll));var e=Math.sin(EDD.util.radians(d[0]))/Math.sin(EDD.util.radians(d[1]));return EDD.util.roundNumber(100*EDD.util.roundNumber(e,3),0)};/**!
* Utility functions
* @author Leonard Ehrenfried <leonard.ehrenfried@web.de>
*/EDD.util={},EDD.util.roundNumber=function(a,b){return Math.round(a*Math.pow(10,b))/Math.pow(10,b)},EDD.util.radians=function(a){return a*(Math.PI/180)},EDD.util.degrees=function(a){return a*(180/Math.PI)},EDD.util.modalOpen=function(a){a.overlay.fadeIn(200),a.container.fadeIn(100),a.data.show()},EDD.util.log=function(a){window.console&&window.console.log(a)},EDD.util.convertFormToObj=function(a){var b={};return $(a).contents().find("input").each(function(){$currentInput=$(this);var a=$currentInput.attr("name"),c;$currentInput.hasClass("float")?c=parseFloat($currentInput.val()):c=$currentInput.val(),EDD.util.log(a+":"+c),b[a]===undefined?b[a]=c:$(this).attr("checked")===!0&&(b[a]=c)}),b},EDD.util.generateThrobber=function(){return $throbber=$("<img>").attr({src:"/edd/static/images/throbber-white.gif","class":"throbber",alt:"throbber"}),$throbber};/*!
 * jQuery Form Plugin
 * version: 2.16 (17-OCT-2008)
 * @requires jQuery v1.2.2 or later
 *
 * Examples and documentation at: http://malsup.com/jquery/form/
 * Dual licensed under the MIT and GPL licenses:
 *   http://www.opensource.org/licenses/mit-license.php
 *   http://www.gnu.org/licenses/gpl.html
 *
 * Revision: $Id$
 */(function(a){function b(){a.fn.ajaxSubmit.debug&&window.console&&window.console.log&&window.console.log("[jquery.form] "+Array.prototype.join.call(arguments,""))}a.fn.ajaxSubmit=function(c){function o(){function q(){if(l++)return;h.detachEvent?h.detachEvent("onload",q):h.removeEventListener("load",q,!1);var b=0,c=!0;try{if(m)throw"timeout";var e,f;f=h.contentWindow?h.contentWindow.document:h.contentDocument?h.contentDocument:h.document;if(f.body==null&&!b&&a.browser.opera){b=1,l--,setTimeout(q,100);return}j.responseText=f.body?f.body.innerHTML:null,j.responseXML=f.XMLDocument?f.XMLDocument:f,j.getResponseHeader=function(a){var b={"content-type":d.dataType};return b[a]};if(d.dataType=="json"||d.dataType=="script"){var i=f.getElementsByTagName("textarea")[0];j.responseText=i?i.value:j.responseText}else d.dataType=="xml"&&!j.responseXML&&j.responseText!=null&&(j.responseXML=s(j.responseText));e=a.httpData(j,d.dataType)}catch(n){c=!1,a.handleError(d,j,"error",n)}c&&(d.success(e,"success"),k&&a.event.trigger("ajaxSuccess",[j,d])),k&&a.event.trigger("ajaxComplete",[j,d]),k&&!--a.active&&a.event.trigger("ajaxStop"),d.complete&&d.complete(j,c?"success":"error"),setTimeout(function(){g.remove(),j.responseXML=null},100)}function s(a,b){return window.ActiveXObject?(b=new ActiveXObject("Microsoft.XMLDOM"),b.async="false",b.loadXML(a)):b=(new DOMParser).parseFromString(a,"text/xml"),b&&b.documentElement&&b.documentElement.tagName!="parsererror"?b:null}var b=i[0];if(a(":input[@name=submit]",b).length){alert('Error: Form elements must not be named "submit".');return}var d=a.extend({},a.ajaxSettings,c),e=jQuery.extend(!0,{},a.extend(!0,{},a.ajaxSettings),d),f="jqFormIO"+(new Date).getTime(),g=a('<iframe id="'+f+'" name="'+f+'" />'),h=g[0];if(a.browser.msie||a.browser.opera)h.src='javascript:false;document.write("");';g.css({position:"absolute",top:"-1000px",left:"-1000px"});var j={aborted:0,responseText:null,responseXML:null,status:0,statusText:"n/a",getAllResponseHeaders:function(){},getResponseHeader:function(){},setRequestHeader:function(){},abort:function(){this.aborted=1,g.attr("src","about:blank")}},k=d.global;k&&!(a.active++)&&a.event.trigger("ajaxStart"),k&&a.event.trigger("ajaxSend",[j,d]);if(e.beforeSend&&e.beforeSend(j,e)===!1){e.global&&jQuery.active--;return}if(j.aborted)return;var l=0,m=0,n=b.clk;if(n){var o=n.name;o&&!n.disabled&&(c.extraData=c.extraData||{},c.extraData[o]=n.value,n.type=="image"&&(c.extraData[name+".x"]=b.clk_x,c.extraData[name+".y"]=b.clk_y))}setTimeout(function(){var e=i.attr("target"),j=i.attr("action");i.attr({target:f,method:"POST",action:d.url}),c.skipEncodingOverride||i.attr({encoding:"multipart/form-data",enctype:"multipart/form-data"}),d.timeout&&setTimeout(function(){m=!0,q()},d.timeout);var k=[];try{if(c.extraData)for(var l in c.extraData)k.push(a('<input type="hidden" name="'+l+'" value="'+c.extraData[l]+'" />').appendTo(b)[0]);g.appendTo("body"),h.attachEvent?h.attachEvent("onload",q):h.addEventListener("load",q,!1),b.submit()}finally{i.attr("action",j),e?i.attr("target",e):i.removeAttr("target"),a(k).remove()}},10)}if(!this.length)return b("ajaxSubmit: skipping submit process - no element selected"),this;typeof c=="function"&&(c={success:c}),c=a.extend({url:this.attr("action")||window.location.toString(),type:this.attr("method")||"GET"},c||{});var d={};this.trigger("form-pre-serialize",[this,c,d]);if(d.veto)return b("ajaxSubmit: submit vetoed via form-pre-serialize trigger"),this;var e=this.formToArray(c.semantic);if(c.data){c.extraData=c.data;for(var f in c.data)if(c.data[f]instanceof Array)for(var g in c.data[f])e.push({name:f,value:c.data[f][g]});else e.push({name:f,value:c.data[f]})}if(c.beforeSubmit&&c.beforeSubmit(e,this,c)===!1)return b("ajaxSubmit: submit aborted via beforeSubmit callback"),this;this.trigger("form-submit-validate",[e,this,c,d]);if(d.veto)return b("ajaxSubmit: submit vetoed via form-submit-validate trigger"),this;var h=a.param(e);c.type.toUpperCase()=="GET"?(c.url+=(c.url.indexOf("?")>=0?"&":"?")+h,c.data=null):c.data=h;var i=this,j=[];c.resetForm&&j.push(function(){i.resetForm()}),c.clearForm&&j.push(function(){i.clearForm()});if(!c.dataType&&c.target){var k=c.success||function(){};j.push(function(b){a(c.target).html(b).each(k,arguments)})}else c.success&&j.push(c.success);c.success=function(a,b){for(var d=0,e=j.length;d<e;d++)j[d].apply(c,[a,b,i])};var l=a("input:file",this).fieldValue(),m=!1;for(var n=0;n<l.length;n++)l[n]&&(m=!0);return c.iframe||m?a.browser.safari&&c.closeKeepAlive?a.get(c.closeKeepAlive,o):o():a.ajax(c),this.trigger("form-submit-notify",[this,c]),this},a.fn.ajaxForm=function(b){return this.ajaxFormUnbind().bind("submit.form-plugin",function(){return a(this).ajaxSubmit(b),!1}).each(function(){a(":submit,input:image",this).bind("click.form-plugin",function(b){var c=this.form;c.clk=this;if(this.type=="image")if(b.offsetX!=undefined)c.clk_x=b.offsetX,c.clk_y=b.offsetY;else if(typeof a.fn.offset=="function"){var d=a(this).offset();c.clk_x=b.pageX-d.left,c.clk_y=b.pageY-d.top}else c.clk_x=b.pageX-this.offsetLeft,c.clk_y=b.pageY-this.offsetTop;setTimeout(function(){c.clk=c.clk_x=c.clk_y=null},10)})})},a.fn.ajaxFormUnbind=function(){return this.unbind("submit.form-plugin"),this.each(function(){a(":submit,input:image",this).unbind("click.form-plugin")})},a.fn.formToArray=function(b){var c=[];if(this.length==0)return c;var d=this[0],e=b?d.getElementsByTagName("*"):d.elements;if(!e)return c;for(var f=0,g=e.length;f<g;f++){var h=e[f],i=h.name;if(!i)continue;if(b&&d.clk&&h.type=="image"){!h.disabled&&d.clk==h&&c.push({name:i+".x",value:d.clk_x},{name:i+".y",value:d.clk_y});continue}var j=a.fieldValue(h,!0);if(j&&j.constructor==Array)for(var k=0,l=j.length;k<l;k++)c.push({name:i,value:j[k]});else j!==null&&typeof j!="undefined"&&c.push({name:i,value:j})}if(!b&&d.clk){var m=d.getElementsByTagName("input");for(var f=0,g=m.length;f<g;f++){var n=m[f],i=n.name;i&&!n.disabled&&n.type=="image"&&d.clk==n&&c.push({name:i+".x",value:d.clk_x},{name:i+".y",value:d.clk_y})}}return c},a.fn.formSerialize=function(b){return a.param(this.formToArray(b))},a.fn.fieldSerialize=function(b){var c=[];return this.each(function(){var e=this.name;if(!e)return;var f=a.fieldValue(this,b);if(f&&f.constructor==Array)for(var g=0,h=f.length;g<h;g++)c.push({name:e,value:f[g]});else f!==null&&typeof f!="undefined"&&c.push({name:this.name,value:f})}),a.param(c)},a.fn.fieldValue=function(b){for(var c=[],d=0,e=this.length;d<e;d++){var f=this[d],g=a.fieldValue(f,b);if(g===null||typeof g=="undefined"||g.constructor==Array&&!g.length)continue;g.constructor==Array?a.merge(c,g):c.push(g)}return c},a.fieldValue=function(b,c){var d=b.name,e=b.type,f=b.tagName.toLowerCase();typeof c=="undefined"&&(c=!0);if(c&&(!d||b.disabled||e=="reset"||e=="button"||(e=="checkbox"||e=="radio")&&!b.checked||(e=="submit"||e=="image")&&b.form&&b.form.clk!=b||f=="select"&&b.selectedIndex==-1))return null;if(f=="select"){var g=b.selectedIndex;if(g<0)return null;var h=[],i=b.options,j=e=="select-one",k=j?g+1:i.length;for(var l=j?g:0;l<k;l++){var m=i[l];if(m.selected){var n=a.browser.msie&&!m.attributes.value.specified?m.text:m.value;if(j)return n;h.push(n)}}return h}return b.value},a.fn.clearForm=function(){return this.each(function(){a("input,select,textarea",this).clearFields()})},a.fn.clearFields=a.fn.clearInputs=function(){return this.each(function(){var a=this.type,b=this.tagName.toLowerCase();a=="text"||a=="password"||b=="textarea"?this.value="":a=="checkbox"||a=="radio"?this.checked=!1:b=="select"&&(this.selectedIndex=-1)})},a.fn.resetForm=function(){return this.each(function(){(typeof this.reset=="function"||typeof this.reset=="object"&&!this.reset.nodeType)&&this.reset()})},a.fn.enable=function(a){return a==undefined&&(a=!0),this.each(function(){this.disabled=!a})},a.fn.selected=function(b){return b==undefined&&(b=!0),this.each(function(){var d=this.type;if(d=="checkbox"||d=="radio")this.checked=b;else if(this.tagName.toLowerCase()=="option"){var e=a(this).parent("select");b&&e[0]&&e[0].type=="select-one"&&e.find("option").selected(!1),this.selected=b}})}})(jQuery);/*!
* Query SimpleModal plugin
*/(function(a){var b=a.browser.msie&&parseInt(a.browser.version)==6&&typeof window.XMLHttpRequest!="object",c=null,d=[];a.modal=function(b,c){return a.modal.impl.init(b,c)},a.modal.close=function(){a.modal.impl.close()},a.fn.modal=function(b){return a.modal.impl.init(this,b)},a.modal.defaults={opacity:50,overlayId:"simplemodal-overlay",overlayCss:{},containerId:"simplemodal-container",containerCss:{},dataCss:{},zIndex:1e3,close:!0,closeHTML:'<a class="modalCloseImg" title="Close"></a>',closeClass:"simplemodal-close",position:null,persist:!1,onOpen:null,onShow:null,onClose:null},a.modal.impl={opts:null,dialog:{},init:function(b,d){if(this.dialog.data)return!1;c=a.browser.msie&&!a.boxModel,this.opts=a.extend({},a.modal.defaults,d),this.zIndex=this.opts.zIndex,this.occb=!1;if(typeof b=="object")b=b instanceof jQuery?b:a(b),b.parent().parent().size()>0&&(this.dialog.parentNode=b.parent(),this.opts.persist||(this.dialog.orig=b.clone(!0)));else if(typeof b=="string"||typeof b=="number")b=a("<div/>").html(b);else return alert("SimpleModal Error: Unsupported data type: "+typeof b),!1;return this.dialog.data=b.addClass("simplemodal-data").css(this.opts.dataCss),b=null,this.create(),this.open(),a.isFunction(this.opts.onShow)&&this.opts.onShow.apply(this,[this.dialog]),this},create:function(){d=this.getDimensions(),b&&(this.dialog.iframe=a('<iframe src="javascript:false;"/>').css(a.extend(this.opts.iframeCss,{display:"none",opacity:0,position:"fixed",height:d[0],width:d[1],zIndex:this.opts.zIndex,top:0,left:0})).appendTo("body")),this.dialog.overlay=a("<div/>").attr("id",this.opts.overlayId).addClass("simplemodal-overlay").css(a.extend(this.opts.overlayCss,{display:"none",opacity:this.opts.opacity/100,height:d[0],width:d[1],position:"fixed",left:0,top:0,zIndex:this.opts.zIndex+1})).appendTo("body"),this.dialog.container=a("<div/>").attr("id",this.opts.containerId).addClass("simplemodal-container").css(a.extend(this.opts.containerCss,{display:"none",position:"fixed",zIndex:this.opts.zIndex+2})).append(this.opts.close?a(this.opts.closeHTML).addClass(this.opts.closeClass):"").appendTo("body"),this.setPosition(),(b||c)&&this.fixIE(),this.dialog.container.append(this.dialog.data.hide())},bindEvents:function(){var e=this;a("."+this.opts.closeClass).bind("click.simplemodal",function(a){a.preventDefault(),e.close()}),a(window).bind("resize.simplemodal",function(){d=e.getDimensions(),e.setPosition(),b||c?e.fixIE():(e.dialog.iframe&&e.dialog.iframe.css({height:d[0],width:d[1]}),e.dialog.overlay.css({height:d[0],width:d[1]}))})},unbindEvents:function(){a("."+this.opts.closeClass).unbind("click.simplemodal"),a(window).unbind("resize.simplemodal")},fixIE:function(){var b=this.opts.position;a.each([this.dialog.iframe||null,this.dialog.overlay,this.dialog.container],function(a,c){if(c){var d="document.body.clientHeight",f="document.body.clientWidth",g="document.body.scrollHeight",h="document.body.scrollLeft",i="document.body.scrollTop",j="document.body.scrollWidth",k="document.documentElement.clientHeight",l="document.documentElement.clientWidth",m="document.documentElement.scrollLeft",n="document.documentElement.scrollTop",o=c[0].style;o.position="absolute";if(a<2)o.removeExpression("height"),o.removeExpression("width"),o.setExpression("height",""+g+" > "+d+" ? "+g+" : "+d+' + "px"'),o.setExpression("width",""+j+" > "+f+" ? "+j+" : "+f+' + "px"');else{var p,q;if(b&&b.constructor==Array){var r=b[0]?typeof b[0]=="number"?b[0].toString():b[0].replace(/px/,""):c.css("top").replace(/px/,"");p=r.indexOf("%")==-1?r+" + (t = "+n+" ? "+n+" : "+i+') + "px"':parseInt(r.replace(/%/,""))+" * (("+k+" || "+d+") / 100) + (t = "+n+" ? "+n+" : "+i+') + "px"';if(b[1]){var s=typeof b[1]=="number"?b[1].toString():b[1].replace(/px/,"");q=s.indexOf("%")==-1?s+" + (t = "+m+" ? "+m+" : "+h+') + "px"':parseInt(s.replace(/%/,""))+" * (("+l+" || "+f+") / 100) + (t = "+m+" ? "+m+" : "+h+') + "px"'}}else p="("+k+" || "+d+") / 2 - (this.offsetHeight / 2) + (t = "+n+" ? "+n+" : "+i+') + "px"',q="("+l+" || "+f+") / 2 - (this.offsetWidth / 2) + (t = "+m+" ? "+m+" : "+h+') + "px"';o.removeExpression("top"),o.removeExpression("left"),o.setExpression("top",p),o.setExpression("left",q)}}})},getDimensions:function(){var b=a(window),c=a.browser.opera&&a.browser.version>"9.5"&&a.fn.jquery<="1.2.6"?document.documentElement.clientHeight:a.browser.opera&&a.browser.version<"9.5"&&a.fn.jquery>"1.2.6"?window.innerHeight:b.height();return[c,b.width()]},setPosition:function(){var a,b,c=d[0]/2-(this.dialog.container.height()||this.dialog.data.height())/2,e=d[1]/2-(this.dialog.container.width()||this.dialog.data.width())/2;this.opts.position&&this.opts.position.constructor==Array?(a=this.opts.position[0]||c,b=this.opts.position[1]||e):(a=c,b=e),this.dialog.container.css({left:b,top:a})},open:function(){this.dialog.iframe&&this.dialog.iframe.show(),a.isFunction(this.opts.onOpen)?this.opts.onOpen.apply(this,[this.dialog]):(this.dialog.overlay.show(),this.dialog.container.show(),this.dialog.data.show()),this.bindEvents()},close:function(){if(!this.dialog.data)return!1;a.isFunction(this.opts.onClose)&&!this.occb?(this.occb=!0,this.opts.onClose.apply(this,[this.dialog])):(this.dialog.parentNode?this.opts.persist?this.dialog.data.hide().appendTo(this.dialog.parentNode):(this.dialog.data.hide().remove(),this.dialog.orig.appendTo(this.dialog.parentNode)):this.dialog.data.hide().remove(),this.dialog.container.hide().remove(),this.dialog.overlay.hide().remove(),this.dialog.iframe&&this.dialog.iframe.hide().remove(),this.dialog={}),this.unbindEvents()}}})(jQuery);//jQuery OpenID Plugin 1.1 Copyright 2009 Jarrett Vance http://jvance.com/pages/jQueryOpenIdPlugin.xhtml
$.fn.openid=function(){var a=$(this),b=a.find("input[name=openid_username]"),c=a.find("input[name=openid_identifier]"),d=a.find("div:has(input[name=openid_username])>span:eq(0)"),e=a.find("div:has(input[name=openid_username])>span:eq(1)"),f=a.find("fieldset:has(input[name=openid_username])"),g=a.find("fieldset:has(input[name=openid_identifier])"),h=function(){return b.val().length<1?(b.focus(),!1):(c.val(d.text()+b.val()+e.text()),!0)},i=function(){return c.val().length<1?(c.focus(),!1):!0},j=function(){var b=$(this);return b.parent().find("li").removeClass("highlight"),b.addClass("highlight"),f.fadeOut(),g.fadeOut(),a.unbind("submit").submit(function(){c.val(a.find("li.highlight span").text())}),a.submit(),!1},k=function(){var b=$(this);return b.parent().find("li").removeClass("highlight"),b.addClass("highlight"),f.hide(),g.show(),c.focus(),a.unbind("submit").submit(i),!1},l=function(){var b=$(this);return b.parent().find("li").removeClass("highlight"),b.addClass("highlight"),g.hide(),f.show(),a.find("label[for=openid_username] span").text(b.attr("title")),d.text(b.find("span").text().split("username")[0]),e.text("").text(b.find("span").text().split("username")[1]),c.focus(),a.unbind("submit").submit(h),!1};return a.find("li.direct").click(j),a.find("li.openid").click(k),a.find("li.username").click(l),c.keypress(function(a){if(a.which&&a.which==13||a.keyCode&&a.keyCode==13)return i()}),b.keypress(function(a){if(a.which&&a.which==13||a.keyCode&&a.keyCode==13)return h()}),a.find("li span").hide(),a.find("li").css("line-height",0).css("cursor","pointer"),a.find("li:eq(0)").click(),this};
