/*
* Edd, an easy to use spoke length calculator
* http://lenni.info/edd
* Revision 105
* written by Leonard Ehrenfried <leonard.ehrenfried@web.de>
*/
var EDD={};EDD.selectedHub=undefined;EDD.selectedRim=undefined;EDD.currentConfig={spokes:36,cross:3};EDD.currentWheel=undefined;var manualCross=false;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(d){var c=$(d.target);if(c.hasClass(b)){c.addClass("mouseover")}}).mouseout(function(d){var c=$(d.target);c.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 b=$("#submitDialog");var a=$("#submitDiv > img.throb");b.modal({containerCss:{width:500,height:500},onOpen:EDD.util.modalOpen});$.get("submit",function(e){var f=$("#submitDiv > img.throb");f.append(EDD.util.generateThrobber);b.empty();b.append(e);$("#submitDiv > ul > li").addClass("ui-tabs-selected");$("#submitDiv > ul").addClass("ui-tabs-nav");var c=$("#submitDiv > ul > li > a");for(i=0;i<c.length;i++){var d=$(c.get(i)).attr("href");var g=$(d);g.addClass("ui-tabs-panel");if(i>0){g.hide();$(c.get(i)).addClass("ui-tabs-unselect")}}c.click(function(){c.addClass("ui-tabs-unselect");$(this).removeClass("ui-tabs-unselect");c.each(function(j){var k=$(this).attr("href");$(k).hide()});var h=$(this).attr("href");$(h).show()});$("form.ajax").live("submit",function(){$dest=$(this).parent();$(this).ajaxSubmit({target:$dest,success:function(){f.empty()}});return false})})};$(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(){$("#manualHubEntry").slideToggle();function a(){frontrear=$("input[name='frontrear']:checked").val()}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(f){var d=[];var a=$($(this).attr("href"));if(a.attr("data-modal-width")===undefined||a.attr("data-modal-height")===undefined){d=[400,400]}else{d[0]=parseInt(a.attr("data-modal-width"),10);d[1]=parseInt(a.attr("data-modal-height"),10)}var c=$(this).attr("href");if($(this).hasClass("ajax")){var b=$(this).attr("alt");$.get(b,function(e){$(c).empty();$(c).append(e)})}$(c).modal({containerCss:{width:d[0],height:d[1]},onOpen:EDD.util.modalOpen});return false});$("#showCompleteData").click(function(){$("#completeDataDialog").empty();var b=EDD.currentWheel.hub.fields;var c=EDD.currentWheel.rim.fields;var a=EDD.currentWheel.config;$.get("complete.html?r=105",function(f){$("#completeDataDialog").append(f);$("#completeHubName").text(b.name);$("#completeFdr").text(b.rfd);$("#completeFdl").text(b.lfd);$("#completeC2r").text(b.c2r);$("#completeC2l").text(b.c2l);$("#completeShd").text(b.shd);$("#completeRimName").text(c.name);$("#completeErd").text(c.erd);$("#completeOsb").text(c.osb);$("#completeSpokes").text(a.spokes);for(var e=0;e<5;e++){a.cross=e;wheel=new EDD.Wheel(EDD.selectedHub,EDD.selectedRim,a);var d="<tr>";d+="<td>"+e+"</td>";d+="<td>"+wheel.slr+"</td>";d+="<td>"+wheel.sll+"</td>";d+="<td>"+wheel.getTension()+"%</td>";d+="</tr>";$("#completeSpokeLengthTable").append(d)}if(manualCross){}$("#completeDataDialog").modal({containerCss:{width:500,height:500},onOpen:EDD.util.modalOpen})})});$("#hub_search").keydown(function(a){if(a.keyCode==13){EDD.ui.runHubSearch()}});$("#hubSearchButton").click(function(){EDD.ui.runHubSearch()});$("#rim_search").keydown(function(a){if(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");if($(this).hasClass("manualCross")){EDD.currentConfig.cross=parseFloat($("#manualCross").attr("value"));manualCross=true}else{EDD.currentConfig.cross=parseFloat($(this).text());manualCross=false}EDD.ui.calculateLength()});$("div.spokes").click(function(){$("div.spokes").removeClass("selected");$(this).addClass("selected");if($(this).hasClass("manualSpokes")){EDD.currentConfig.spokes=parseFloat($("#manualSpokes").attr("value"))}else{EDD.currentConfig.spokes=parseFloat($(this).text())}EDD.ui.calculateLength()});$("#useManualRim").submit(function(){var a={};a.fields=EDD.util.convertFormToObj(this);EDD.selectedRim=a;EDD.ui.calculateLength();$("#acceptManualRim").show();$(".rim").removeClass("selected").children().slideUp();return false});$("#useManualHub").submit(function(){var a={};a.fields=EDD.util.convertFormToObj(this);EDD.selectedHub=a;EDD.ui.calculateLength();$("#acceptManualHub").show();$(".hub").removeClass("selected").children().slideUp();return false});$("#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(c){var a=$(this);var b;if(a.hasClass("hub")||a.hasClass("rim")){if($(this).hasClass("hub")){b="hub"}else{if($(this).hasClass("rim")){b="rim"}}$("div."+b).removeClass("selected");a.addClass("selected");$("div."+b).children().slideUp("fast");a.children().slideDown("fast");if(b==="hub"){EDD.selectedHub=a.data("model");EDD.ui.displayHub(EDD.selectedHub);$("#acceptManualHub").hide()}if(b==="rim"){EDD.selectedRim=a.data("model");EDD.ui.displayRim(EDD.selectedRim);$("#acceptManualRim").hide()}EDD.ui.calculateLength()}});$("body").click(function(b){var a=$(b.target);if(a.hasClass("rimPopular")){$("#rim_search").val(a.text());EDD.ui.runRimSearch()}if(a.hasClass("hubPopular")){$("#hub_search").val(a.text());EDD.ui.runHubSearch()}if(a.hasClass("closeElement")&&a.hasClass("rimClose")){$("#rim_selection").empty();$.get("popularrims.html",function(c){$("#rim_selection").append(c)})}if(a.hasClass("closeElement")&&a.hasClass("hubClose")){$("#hub_selection").empty();$.get("popularhubs.html",function(c){$("#hub_selection").append(c)})}});$("body").keyup(function(b){var a=$(b.target);if(a.hasClass("manualSpokes")){EDD.currentConfig.spokes=$("#manualSpokes").attr("value");EDD.ui.calculateLength()}if(a.hasClass("manualCross")){EDD.currentConfig.cross=$("#manualCross").attr("value");EDD.ui.calculateLength();manualCross=true}})});

EDD.Query=function(b,a){this.TYPE=b;this.FETCH_URL="./"+b+"s";this.FIELDS=a;this.DESTINATION=$("#"+this.TYPE+"_selection");this.clearDestination=function(){this.DESTINATION.empty()};this.appendDestination=function(c){$("#"+this.TYPE+"_selection").append(c)};this.run=function(d){this.clearDestination();this.DESTINATION.append(EDD.util.generateThrobber());var c=this;$.ajax({url:this.FETCH_URL,type:"GET",dataType:"json",data:{query:d,format:"json"},complete:function(){},success:function(h){if(h.length===0){var g=$("<div>").text(gettext("Your search terms returned no results"));$("#"+c.TYPE+"_selection").append(g)}else{var f=$("<div>").addClass("closeElement").addClass(c.TYPE+"Close").text(gettext("close list"));$("#"+c.TYPE+"_selection").append(f);c.appendDestination(f);var e=c.processData(h);$.each(e,function(j,k){c.appendDestination(k)})}c.DESTINATION.find(".throbber").addClass("hidden")},error:function(g,e,f){alert("hello");alert(e)}})};this.processData=function(e){var d=this;var c=[];$.each(e,function(g,f){c.push(d.convertModelToDomObj(f))});return c};this.convertModelToDomObj=function(d){var g=$("<div>");g.addClass(this.TYPE);g.addClass("selection_element");var f=d.fields.name;if(this.TYPE==="hub"){f+=", "+gettext(d.fields.frontrear)}g.text(f);g.data("model",d);var e=$("<ul>").addClass("specs").addClass("hidden");g.append(e);for(i in this.FIELDS){var c=$("<li>");c.text(this.FIELDS[i]+": "+gettext(d.fields[i]));e.append(c)}return g}};

/*
* 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(k,j,c){this.hub=k;this.rim=j;this.config=c;var e=k.fields.rfd;var m=k.fields.lfd;var b=k.fields.c2r;var f=k.fields.c2l;var i=k.fields.shd;var a=k.fields.frontrear;var q=j.fields.erd;var p=j.fields.osb;var o=c.cross;var l=c.spokes;if(a=="front"){p=-p}var d=EDD.util.roundNumber;var h=d((2*(Math.PI)*o),13);var n=Math.sqrt(d(Math.pow(d((m/2*Math.sin(d((2*(Math.PI)*o),13)/(l/2))),12),2),7)+(Math.pow((q/2)-((m/2)*Math.cos(d(2*Math.PI*o,10)/(l/2))),2))+(Math.pow(f-p,2)))-i/2;this.sll=d(n,1);var g=Math.sqrt(d(Math.pow(d((e/2*Math.sin(d((2*(Math.PI)*o),13)/(l/2))),12),2),7)+(Math.pow((q/2)-((e/2)*Math.cos(d(2*Math.PI*o,10)/(l/2))),2))+(Math.pow(b+p,2)))-i/2;this.slr=d(g,1);if(a=="front"){p=-p}};EDD.Wheel.prototype.getTension=function(){if(this.tension===undefined){this.tension=this.calculateTension()}return this.tension};EDD.Wheel.prototype.calculateTension=function(){var a=this.hub.fields.c2l;var e=this.hub.fields.c2r;var d=this.rim.fields.osb;var c=[];c[1]=EDD.util.degrees(Math.asin((a+d)/this.slr));c[0]=EDD.util.degrees(Math.asin((e-d)/this.sll));var b=((Math.sin(EDD.util.radians(c[0])))/(Math.sin(EDD.util.radians(c[1]))));return EDD.util.roundNumber(100*EDD.util.roundNumber(b,3),0)};

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){if(window.console){window.console.log(a)}};EDD.util.convertFormToObj=function(a){var b={};$(a).contents().find("input").each(function(){$currentInput=$(this);var c=$currentInput.attr("name");var d;if($currentInput.hasClass("float")){d=parseFloat($currentInput.val())}else{d=$currentInput.val()}EDD.util.log(c+":"+d);if(b[c]===undefined){b[c]=d}else{if($(this).attr("checked")===true){b[c]=d}}});return b};EDD.util.generateThrobber=function(){$throbber=$("<img>").attr({src:"/edd/static/images/throbber-white.gif","class":"throbber",alt:"throbber"});return $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(c){c.fn.ajaxSubmit=function(b){if(!this.length){d("ajaxSubmit: skipping submit process - no element selected");return this}if(typeof b=="function"){b={success:b}}b=c.extend({url:this.attr("action")||window.location.toString(),type:this.attr("method")||"GET"},b||{});var z={};this.trigger("form-pre-serialize",[this,b,z]);if(z.veto){d("ajaxSubmit: submit vetoed via form-pre-serialize trigger");return this}var q=this.formToArray(b.semantic);if(b.data){b.extraData=b.data;for(var w in b.data){if(b.data[w] instanceof Array){for(var v in b.data[w]){q.push({name:w,value:b.data[w][v]})}}else{q.push({name:w,value:b.data[w]})}}}if(b.beforeSubmit&&b.beforeSubmit(q,this,b)===false){d("ajaxSubmit: submit aborted via beforeSubmit callback");return this}this.trigger("form-submit-validate",[q,this,b,z]);if(z.veto){d("ajaxSubmit: submit vetoed via form-submit-validate trigger");return this}var x=c.param(q);if(b.type.toUpperCase()=="GET"){b.url+=(b.url.indexOf("?")>=0?"&":"?")+x;b.data=null}else{b.data=x}var a=this,t=[];if(b.resetForm){t.push(function(){a.resetForm()})}if(b.clearForm){t.push(function(){a.clearForm()})}if(!b.dataType&&b.target){var k=b.success||function(){};t.push(function(e){c(b.target).html(e).each(k,arguments)})}else{if(b.success){t.push(b.success)}}b.success=function(g,e){for(var h=0,f=t.length;h<f;h++){t[h].apply(b,[g,e,a])}};var y=c("input:file",this).fieldValue();var j=false;for(var u=0;u<y.length;u++){if(y[u]){j=true}}if(b.iframe||j){if(c.browser.safari&&b.closeKeepAlive){c.get(b.closeKeepAlive,n)}else{n()}}else{c.ajax(b)}this.trigger("form-submit-notify",[this,b]);return this;function n(){var F=a[0];if(c(":input[@name=submit]",F).length){alert('Error: Form elements must not be named "submit".');return}var g=c.extend({},c.ajaxSettings,b);var e=jQuery.extend(true,{},c.extend(true,{},c.ajaxSettings),g);var G="jqFormIO"+(new Date().getTime());var o=c('<iframe id="'+G+'" name="'+G+'" />');var h=o[0];if(c.browser.msie||c.browser.opera){h.src='javascript:false;document.write("");'}o.css({position:"absolute",top:"-1000px",left:"-1000px"});var f={aborted:0,responseText:null,responseXML:null,status:0,statusText:"n/a",getAllResponseHeaders:function(){},getResponseHeader:function(){},setRequestHeader:function(){},abort:function(){this.aborted=1;o.attr("src","about:blank")}};var i=g.global;if(i&&!c.active++){c.event.trigger("ajaxStart")}if(i){c.event.trigger("ajaxSend",[f,g])}if(e.beforeSend&&e.beforeSend(f,e)===false){e.global&&jQuery.active--;return}if(f.aborted){return}var l=0;var s=0;var m=F.clk;if(m){var E=m.name;if(E&&!m.disabled){b.extraData=b.extraData||{};b.extraData[E]=m.value;if(m.type=="image"){b.extraData[name+".x"]=F.clk_x;b.extraData[name+".y"]=F.clk_y}}}setTimeout(function(){var B=a.attr("target"),D=a.attr("action");a.attr({target:G,method:"POST",action:g.url});if(!b.skipEncodingOverride){a.attr({encoding:"multipart/form-data",enctype:"multipart/form-data"})}if(g.timeout){setTimeout(function(){s=true;r()},g.timeout)}var C=[];try{if(b.extraData){for(var A in b.extraData){C.push(c('<input type="hidden" name="'+A+'" value="'+b.extraData[A]+'" />').appendTo(F)[0])}}o.appendTo("body");h.attachEvent?h.attachEvent("onload",r):h.addEventListener("load",r,false);F.submit()}finally{a.attr("action",D);B?a.attr("target",B):a.removeAttr("target");c(C).remove()}},10);function r(){if(l++){return}h.detachEvent?h.detachEvent("onload",r):h.removeEventListener("load",r,false);var J=0;var D=true;try{if(s){throw"timeout"}var C,A;A=h.contentWindow?h.contentWindow.document:h.contentDocument?h.contentDocument:h.document;if(A.body==null&&!J&&c.browser.opera){J=1;l--;setTimeout(r,100);return}f.responseText=A.body?A.body.innerHTML:null;f.responseXML=A.XMLDocument?A.XMLDocument:A;f.getResponseHeader=function(H){var I={"content-type":g.dataType};return I[H]};if(g.dataType=="json"||g.dataType=="script"){var K=A.getElementsByTagName("textarea")[0];f.responseText=K?K.value:f.responseText}else{if(g.dataType=="xml"&&!f.responseXML&&f.responseText!=null){f.responseXML=p(f.responseText)}}C=c.httpData(f,g.dataType)}catch(B){D=false;c.handleError(g,f,"error",B)}if(D){g.success(C,"success");if(i){c.event.trigger("ajaxSuccess",[f,g])}}if(i){c.event.trigger("ajaxComplete",[f,g])}if(i&&!--c.active){c.event.trigger("ajaxStop")}if(g.complete){g.complete(f,D?"success":"error")}setTimeout(function(){o.remove();f.responseXML=null},100)}function p(B,A){if(window.ActiveXObject){A=new ActiveXObject("Microsoft.XMLDOM");A.async="false";A.loadXML(B)}else{A=(new DOMParser()).parseFromString(B,"text/xml")}return(A&&A.documentElement&&A.documentElement.tagName!="parsererror")?A:null}}};c.fn.ajaxForm=function(a){return this.ajaxFormUnbind().bind("submit.form-plugin",function(){c(this).ajaxSubmit(a);return false}).each(function(){c(":submit,input:image",this).bind("click.form-plugin",function(e){var h=this.form;h.clk=this;if(this.type=="image"){if(e.offsetX!=undefined){h.clk_x=e.offsetX;h.clk_y=e.offsetY}else{if(typeof c.fn.offset=="function"){var b=c(this).offset();h.clk_x=e.pageX-b.left;h.clk_y=e.pageY-b.top}else{h.clk_x=e.pageX-this.offsetLeft;h.clk_y=e.pageY-this.offsetTop}}}setTimeout(function(){h.clk=h.clk_x=h.clk_y=null},10)})})};c.fn.ajaxFormUnbind=function(){this.unbind("submit.form-plugin");return this.each(function(){c(":submit,input:image",this).unbind("click.form-plugin")})};c.fn.formToArray=function(b){var i=[];if(this.length==0){return i}var y=this[0];var u=b?y.getElementsByTagName("*"):y.elements;if(!u){return i}for(var t=0,n=u.length;t<n;t++){var x=u[t];var w=x.name;if(!w){continue}if(b&&y.clk&&x.type=="image"){if(!x.disabled&&y.clk==x){i.push({name:w+".x",value:y.clk_x},{name:w+".y",value:y.clk_y})}continue}var a=c.fieldValue(x,true);if(a&&a.constructor==Array){for(var v=0,z=a.length;v<z;v++){i.push({name:w,value:a[v]})}}else{if(a!==null&&typeof a!="undefined"){i.push({name:w,value:a})}}}if(!b&&y.clk){var s=y.getElementsByTagName("input");for(var t=0,n=s.length;t<n;t++){var j=s[t];var w=j.name;if(w&&!j.disabled&&j.type=="image"&&y.clk==j){i.push({name:w+".x",value:y.clk_x},{name:w+".y",value:y.clk_y})}}}return i};c.fn.formSerialize=function(a){return c.param(this.formToArray(a))};c.fn.fieldSerialize=function(a){var b=[];this.each(function(){var i=this.name;if(!i){return}var k=c.fieldValue(this,a);if(k&&k.constructor==Array){for(var j=0,l=k.length;j<l;j++){b.push({name:i,value:k[j]})}}else{if(k!==null&&typeof k!="undefined"){b.push({name:this.name,value:k})}}});return c.param(b)};c.fn.fieldValue=function(a){for(var b=[],j=0,l=this.length;j<l;j++){var i=this[j];var k=c.fieldValue(i,a);if(k===null||typeof k=="undefined"||(k.constructor==Array&&!k.length)){continue}k.constructor==Array?c.merge(b,k):b.push(k)}return b};c.fieldValue=function(z,t){var x=z.name,b=z.type,a=z.tagName.toLowerCase();if(typeof t=="undefined"){t=true}if(t&&(!x||z.disabled||b=="reset"||b=="button"||(b=="checkbox"||b=="radio")&&!z.checked||(b=="submit"||b=="image")&&z.form&&z.form.clk!=z||a=="select"&&z.selectedIndex==-1)){return null}if(a=="select"){var s=z.selectedIndex;if(s<0){return null}var n=[],y=z.options;var v=(b=="select-one");var r=(v?s+1:y.length);for(var w=(v?s:0);w<r;w++){var u=y[w];if(u.selected){var i=c.browser.msie&&!(u.attributes.value.specified)?u.text:u.value;if(v){return i}n.push(i)}}return n}return z.value};c.fn.clearForm=function(){return this.each(function(){c("input,select,textarea",this).clearFields()})};c.fn.clearFields=c.fn.clearInputs=function(){return this.each(function(){var a=this.type,b=this.tagName.toLowerCase();if(a=="text"||a=="password"||b=="textarea"){this.value=""}else{if(a=="checkbox"||a=="radio"){this.checked=false}else{if(b=="select"){this.selectedIndex=-1}}}})};c.fn.resetForm=function(){return this.each(function(){if(typeof this.reset=="function"||(typeof this.reset=="object"&&!this.reset.nodeType)){this.reset()}})};c.fn.enable=function(a){if(a==undefined){a=true}return this.each(function(){this.disabled=!a})};c.fn.selected=function(a){if(a==undefined){a=true}return this.each(function(){var f=this.type;if(f=="checkbox"||f=="radio"){this.checked=a}else{if(this.tagName.toLowerCase()=="option"){var b=c(this).parent("select");if(a&&b[0]&&b[0].type=="select-one"){b.find("option").selected(false)}this.selected=a}}})};function d(){if(c.fn.ajaxSubmit.debug&&window.console&&window.console.log){window.console.log("[jquery.form] "+Array.prototype.join.call(arguments,""))}}})(jQuery);

/*
* Query SimpleModal plugin
*/
(function(h){var e=h.browser.msie&&parseInt(h.browser.version)==6&&typeof window.XMLHttpRequest!="object",g=null,f=[];h.modal=function(a,b){return h.modal.impl.init(a,b)};h.modal.close=function(){h.modal.impl.close()};h.fn.modal=function(a){return h.modal.impl.init(this,a)};h.modal.defaults={opacity:50,overlayId:"simplemodal-overlay",overlayCss:{},containerId:"simplemodal-container",containerCss:{},dataCss:{},zIndex:1000,close:true,closeHTML:'<a class="modalCloseImg" title="Close"></a>',closeClass:"simplemodal-close",position:null,persist:false,onOpen:null,onShow:null,onClose:null};h.modal.impl={opts:null,dialog:{},init:function(a,b){if(this.dialog.data){return false}g=h.browser.msie&&!h.boxModel;this.opts=h.extend({},h.modal.defaults,b);this.zIndex=this.opts.zIndex;this.occb=false;if(typeof a=="object"){a=a instanceof jQuery?a:h(a);if(a.parent().parent().size()>0){this.dialog.parentNode=a.parent();if(!this.opts.persist){this.dialog.orig=a.clone(true)}}}else{if(typeof a=="string"||typeof a=="number"){a=h("<div/>").html(a)}else{alert("SimpleModal Error: Unsupported data type: "+typeof a);return false}}this.dialog.data=a.addClass("simplemodal-data").css(this.opts.dataCss);a=null;this.create();this.open();if(h.isFunction(this.opts.onShow)){this.opts.onShow.apply(this,[this.dialog])}return this},create:function(){f=this.getDimensions();if(e){this.dialog.iframe=h('<iframe src="javascript:false;"/>').css(h.extend(this.opts.iframeCss,{display:"none",opacity:0,position:"fixed",height:f[0],width:f[1],zIndex:this.opts.zIndex,top:0,left:0})).appendTo("body")}this.dialog.overlay=h("<div/>").attr("id",this.opts.overlayId).addClass("simplemodal-overlay").css(h.extend(this.opts.overlayCss,{display:"none",opacity:this.opts.opacity/100,height:f[0],width:f[1],position:"fixed",left:0,top:0,zIndex:this.opts.zIndex+1})).appendTo("body");this.dialog.container=h("<div/>").attr("id",this.opts.containerId).addClass("simplemodal-container").css(h.extend(this.opts.containerCss,{display:"none",position:"fixed",zIndex:this.opts.zIndex+2})).append(this.opts.close?h(this.opts.closeHTML).addClass(this.opts.closeClass):"").appendTo("body");this.setPosition();if(e||g){this.fixIE()}this.dialog.container.append(this.dialog.data.hide())},bindEvents:function(){var a=this;h("."+this.opts.closeClass).bind("click.simplemodal",function(b){b.preventDefault();a.close()});h(window).bind("resize.simplemodal",function(){f=a.getDimensions();a.setPosition();if(e||g){a.fixIE()}else{a.dialog.iframe&&a.dialog.iframe.css({height:f[0],width:f[1]});a.dialog.overlay.css({height:f[0],width:f[1]})}})},unbindEvents:function(){h("."+this.opts.closeClass).unbind("click.simplemodal");h(window).unbind("resize.simplemodal")},fixIE:function(){var a=this.opts.position;h.each([this.dialog.iframe||null,this.dialog.overlay,this.dialog.container],function(c,B){if(B){var i="document.body.clientHeight",J="document.body.clientWidth",H="document.body.scrollHeight",b="document.body.scrollLeft",y="document.body.scrollTop",C="document.body.scrollWidth",D="document.documentElement.clientHeight",d="document.documentElement.clientWidth",s="document.documentElement.scrollLeft",G="document.documentElement.scrollTop",F=B[0].style;F.position="absolute";if(c<2){F.removeExpression("height");F.removeExpression("width");F.setExpression("height",""+H+" > "+i+" ? "+H+" : "+i+' + "px"');F.setExpression("width",""+C+" > "+J+" ? "+C+" : "+J+' + "px"')}else{var z,E;if(a&&a.constructor==Array){var I=a[0]?typeof a[0]=="number"?a[0].toString():a[0].replace(/px/,""):B.css("top").replace(/px/,"");z=I.indexOf("%")==-1?I+" + (t = "+G+" ? "+G+" : "+y+') + "px"':parseInt(I.replace(/%/,""))+" * (("+D+" || "+i+") / 100) + (t = "+G+" ? "+G+" : "+y+') + "px"';if(a[1]){var A=typeof a[1]=="number"?a[1].toString():a[1].replace(/px/,"");E=A.indexOf("%")==-1?A+" + (t = "+s+" ? "+s+" : "+b+') + "px"':parseInt(A.replace(/%/,""))+" * (("+d+" || "+J+") / 100) + (t = "+s+" ? "+s+" : "+b+') + "px"'}}else{z="("+D+" || "+i+") / 2 - (this.offsetHeight / 2) + (t = "+G+" ? "+G+" : "+y+') + "px"';E="("+d+" || "+J+") / 2 - (this.offsetWidth / 2) + (t = "+s+" ? "+s+" : "+b+') + "px"'}F.removeExpression("top");F.removeExpression("left");F.setExpression("top",z);F.setExpression("left",E)}}})},getDimensions:function(){var a=h(window);var b=h.browser.opera&&h.browser.version>"9.5"&&h.fn.jquery<="1.2.6"?document.documentElement.clientHeight:h.browser.opera&&h.browser.version<"9.5"&&h.fn.jquery>"1.2.6"?window.innerHeight:a.height();return[b,a.width()]},setPosition:function(){var a,b,c=(f[0]/2)-((this.dialog.container.height()||this.dialog.data.height())/2),d=(f[1]/2)-((this.dialog.container.width()||this.dialog.data.width())/2);if(this.opts.position&&this.opts.position.constructor==Array){a=this.opts.position[0]||c;b=this.opts.position[1]||d}else{a=c;b=d}this.dialog.container.css({left:b,top:a})},open:function(){this.dialog.iframe&&this.dialog.iframe.show();if(h.isFunction(this.opts.onOpen)){this.opts.onOpen.apply(this,[this.dialog])}else{this.dialog.overlay.show();this.dialog.container.show();this.dialog.data.show()}this.bindEvents()},close:function(){if(!this.dialog.data){return false}if(h.isFunction(this.opts.onClose)&&!this.occb){this.occb=true;this.opts.onClose.apply(this,[this.dialog])}else{if(this.dialog.parentNode){if(this.opts.persist){this.dialog.data.hide().appendTo(this.dialog.parentNode)}else{this.dialog.data.hide().remove();this.dialog.orig.appendTo(this.dialog.parentNode)}}else{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);

